LINUX.ORG.RU

Избранные сообщения uralbash

Включаем шифрование для DNS-запросов

Статьи — Администрирование
Включаем шифрование для DNS-запросов

Рассмотренные ниже приемы будут полезны для пользователей прокси-серверов/VPN и позволяют скрывать запрашиваемые по DNS имена доменов.
Время на чтение: ~5 минут.
Сложность: Middle AnyKey Developer (нужно уметь запустить терминал).

( читать дальше... )

 , , ,

rtxtxtrx
()

Как патчить Nix под Nix.

Форум — Talks

Когда мне это потребовалось, оказалось что это на удивление просто получилось. Моя писанина про это тут. NixOS-очка это прекрасно.

 , , ,

dvetutnev
()

Почему Go это плохо, и он вам, на самом деле, не нужен.

Форум — Development

Давайте я вам поясню про язык Go, откуда у него растут корни, и почему его на самом деле не стоит использовать. То что напишу ниже, это взято как из инсайдерской информации, так и из материалов, доступных в интернетах.

Дело в том, что Go это, на самом деле, «решение» внутренних гугловских проблем. Но отнюдь не проблем горизонтального масштабирования серверного ПО, как многие почему-то думают. Он приспособлен специально для использования в гугле вот в каком контексте.

Гугл нанимает большое количество тупых студентов, только-только после вуза или ПТУ, и заставлять их писать хоть какой-то простой код. И делать минимум ошибок, при этом. Для этого Go сделан таким тупым и упрощенным. И выкинут в паблик он только для того, чтобы вероятность, что у такого студента, только пришедшего в гугл, было хоть какое-то знание Go, была выше нуля.

Но дело вот в чем. В гугле, на самом деле, над каждой командой гошников стоит тимлид, или целая группа, который/которая вот этим взаимозаменяемым роботам-гошникам расписывает всю систему, чуть ли не вплоть до состояния конечного автомата, до if-ов, и показывает куда и что писать. Поэтому же Go на корню режет всю креативность, поэтому там нет практически никаких средств абстракции, и поэтому он не дает делать вообще ничего сложного. Дабы программисты на нем вообще ничего лишнего не думали, а кодировали все чуть ли не побуквенно по указаниям умных людей.

Из гугла же идет маразматическая система управления зависимостями Го, которая заточена на монорепы.

Тут возникает вопрос - а почему этому тимлиду не дать в руки кодогенератор, вместо всей этой accidental complexity, возникающей из-за огромного количества строк кода, и из-за затрат на коммуникацию?

А тут надо понимать, как внутри устроены огромные корпорации типа гугла.

Их давно пожрал рак бюрократии. Там у менеджерских и околоменеджерских должностей один из главных критериев промоушнов, или вообще даже ассесмента(усидения на должности), это количество людей у тебя в подчинении. И количество говнокода в вакууме которая твоя команда написала. И вот все эти люди, сидящие на более-менее средне-высоких должностях, постоянно бодаются за эти промоушны и ассесменты. Это их главная и единственная цель. Поэтому, ни о какой эффективности тут речи не идет вообще от слова совсем. Тут главное - корпоративные игры, количество голов в твоем стаде и количество и размер высеров, которые это твое стадо произвело(причем буквально, важны SLOC).

Естественно, это все отражается на качестве продуктов, и это видно как по полному прекращению инноваций в гугле, так и по постоянно мелькающим и закрывающимся высерам этой компании - hangouts, duo, google plus, google wave, и прочее и прочее, можете еще вспомнить много чего.

Если у вас в компании такой «модели управления» нет, и более того, у вас нет возможности нанимать крайне высококвалифицированных людей за крайне много денег, единственное назначение которых будет расписывать стаду гошников(которые тоже стоят немало денег просто из-за количества) систему до уровня конечного автомата, то вам этот язык и вся его экосистема нахрен не сдалась.

Никакой мифической простоты в отладке и в понимании кода Go не приносит. Да и сложность программных систем растет совершенно не из-за понятности/непонятности какой-то отдельной взятой строчки кода или функции. Потому, что, во-первых, понятность это понятие субъективное, во-вторых потому, что, отдельно взятая фунцкия на 5 строк понятна любому опытному программисту, будь она написана хоть на Rust, хоть на Common Lisp.

Сложность программных систем возникает из-за их размера. И Go эту проблему значительно ухудшает. Человек не может удерживать в голове слишком много вещей, даже если каждая отдельная вещь - очень простая. Количество RAM в голове ограничено.

В случае если вы не хотите выкидывать кучу денег просто так, и скорее предпочли бы нанять немного, но более-менее опытных программистов, Go будет только вреден, потому что все вменяемые люди от него, на самом деле, плюются. Он реально отталкивает опытных людей, которые способны понять сложные требования и написать, и поддерживать, более-менее сложные системы уровнем хотя бы нескольких сервисов плюс БД и MQ.

 ,

lovesan
()

Как создать локальную копию пакетов?

Форум — Desktop

Сейчас поднимаю систему в виртуалке. Но сижу в сегменте, где пакеты можно скачать только из-под впн. Хочется пакеты, которые есть в виртуалке скачать в какую-то диру, потом перелить из виртуалки в хост машину и при установке из этой диры пакеты поставить в систему. Как это сделать?

 

serg002
()

Посоветуйте книгу по python для «заканчивающих»

Форум — Development

Как-то раз я волею судеб случайно выбрался в молодежную библиотеку и там была прикольная книжка по питону со всякими моментами, которые я не то не видел в документации, не то их там в явном виде и не было. На фотку с обложкой я давным-давно потерял, а щас внезапно осознал что хочется поднять скилл ещё повыше.

Повторять то что и так всем известно для меня смысла уже нет, как и просто «руководство по программированию» для меня тоже бессмысленно, а вот что-нибудь эдакое, например про работу с ast, внутреннее устройство и тд и тп я бы почитал. Есть что-то такое?

В результате:

Anthony Shaw - CPython Internals: Your Guide to the Python 3 Interpreter
Dive into Python
docs.python-guide.org/
Effective Python
Fluent Python, Luciano Ramalho(«Python. К вершинам мастерства»)
oreilly.com/library/view/python-beyond-the/9781771373609/
realpython.com/
Лутц - дотошное скучно чтиво, не советую.
Effective Computation in Physics

 

e7z0x1
()

Собрал IDE для Python на базе Vim

Галерея — Скриншоты

Давно тут не было ничего интересного, все то дефолт, то очередной гном.

Сидел я тут недавно, ленился работать, прокрастинируя в код, и подумал - ну а че бы и нет? И собрал IDE для Python на базе Vim.

Оно умеет полноценный автокомплит для кода, дерево файлов (проекта) слева (скрываемое по хоткею), список переменных справа (также скрываемый по хоткею).

Насколько оно юзабельно в сравнении с тем же PyCharm? Не могу сказать, да и сравнить мне сложно, ибо во всех продуктах JetBrains у меня стоит плагин IdeaVim, привносящий туда привычные хоткеи из вима. Его я не настраивал - там все дефолтное.

OS - Fedora 34.

P.S. Всем, кто не осилил выйти из вима - :q!

 

Zhbert
()

Развивается ли язык Python ?

Форум — Talks

Или все перешли на Go ?

P.S.: Python как чисто Django не интересует

Перемещено leave из development

 

Jopich1
()

Опрос устройства по RS485

Форум — Development

Накидал программку для опроса Proxy-H1000 по RS485. Протокол свой.

Опрос делаю просто(pyserial):

wt = time.time() - self.last_query
if wt < self.minimum_silent_period:
      time.sleep(self.minimum_silent_period - wt)
self.write(data_to_send)
response = self.read(read_size)  
self.last_query = time.time()

Успешный ответ от устройства определяется по размеру принятых данных и ошибка при превышение времени ожидания.

Насколько это правильно?

PS. Этот код работает через USB-RS485 конвертер и на OrangePI (UART).

 ,

isdv
()

NixOS + Plasma 5 + i3

Галерея — Скриншоты

Умудрился таки настроить i3 так, чтобы не попячить панель от плазмы. NixOS работает отлично, девелоперские окружения с python'ом обоих версий и растом крутятся, музяка слушается, радует, что всякие специфичные вещи вроде wireguard и ZFS поддерживаются в конфиге. Обоины нет, ибо собственно root window я вижу чуть реже, чем никогда. Конфигурация Emacs'а взята отсюда и допилена до моих нужд.

 , , ,

Singularity
()

Безоговорочный выбор ЯП для веба.

Форум — Web-development

Некоторое время выпал из веб разработки, но хотелось бы вернуться и немного завис на выборе технологий.

Разбор.

-Статические языки. Это производительность и экономия ресурсов сервера, а значит денег на сервер. Плюс очень сильно помогает от мелких ошибок, особенно когда долго за кодом и начинаешь путаться (тут IDE или компилятор умело даст по рукам, сказав что ты запутался - очень помогает). Ну а так имеется нормальное (настоящее) многопоточное программирование (и чаще все в одном процессе).

-Java - язык очень нравится (честно, считаю наилучшим для бизнеса), но ужасно не нравится энтерпразные решения и библиотеки (один ужас... всякие ЕЕ и даже Spring для простого или среднего пет-проекта, смотрятся ужасно). Оверхед на оверхеде, читать исходники очень сложно, порой обычное решение обернуто в избыточное число объектов. Про сервлеты (и ЕЕ) я уже говорить не буду, рассматривал постройку приложения на embedded-серверах (Jetty, Undertow, Netty). Очень нравится то, что можно реализовать все что нужно через maven (гредле), хотя конечно nginx придется ставить, но вот эта вся мощь - что юзаешь один язык, очень круто. Крайне бесят XML.

-Kotlin - не понял фишку языка, вероятно для андроида, так как представляет собой тупо обертку над джавой (даже над либами, причем не всегда совместимую). Конечно, много решений болезней джавы и в тоже время, некоторые решения довольно странные (таких для меня не мало, например фишка с open или отказ от статики, в общем, какое-то баловство имхо).

-Go - наверно самый неоднозначный язык (и холиварить не нужно), но позволяет построить веб-приложение, причем без всяких монолитных фреймворков (что как плюс и минус), но в целом для написания простого и среднего веб-проекта пригоден.

-С++ и Раст - слишком хардкорен для меня и думаю для веба в целом тоже.

-Динамические языки. быстрее скорость разработки, значительно меньше кода. Порой для веба типы толком и не нужны (чаще работаешь со строками и мапами, да регексами).

-PHP и node.js - пропущу в обзоре.

-Python - не совсем идеальный язык, как фанатеют люди которые пишут на нем, но на мой взгляд лучший выбор из скриптовых языков на сегодня (не идеальный язык, но идеальный выбор). Правда я особо не люблю FULL фреймворки, такие как джанго, так как в вебе, чаще проще что-то написать по-быстрому самому, чем потратить дни на решение проблем или изучения мануалов того или иного монолита (туда же Spring MVC). По этой же причине посматривал на фласк или что-то типа фалкона (пока еще не решил).

И так, предлагаю дискусс - что выбрать «N», или «Y» и почему вы так решили?

PS пропустил (и не знаю о них) - руби, свифт, шапр и т.д.

 

wist512
()

Как sqlite работает с параллельными транзакциями через QSql?

Форум — Development

Представим ситуацию: приложение послало запрос-транзакцию на запись, после чего началось выполнение. В это время, пока не закончилась первая транзакция, на выполнение приходит вторая из параллельного потока. Что будет? Вернется ошибка блокировки или вторая транзакция будет ожидать первую и потом выполнится? Подскажите пожалуйста, не хочется проводить эксперимент, а гугл пока ответа не дал.

 ,

Silerus
()

Go 2 быть

Форум — Talks

 

dotcoder
()

GPD Pocket

Галерея — Рабочие места

Всем привет!

И после моего первого участия краудфандинге, сегодня доставили Его!
Значительно быстрее чем я думал.

Итак начну с сухих характеристик,

Дисплей: 1920х1200, Мультитач, 7"
ОЗУ: 8ГБ
Вместо процессора: Intel Atom x7-Z8750
ССД: от самсунга на 120ГБ

На борту из коробки ВыньДесять Хомячок Эдишн.

По поводу производительности, всё очень шустро.

Из текущих минусов можно разве что назвать кривой ефи, сходу поставить онтопик не получилось, так как даже для самого себя экран не определяется корректно (смотрим видео по ссылке), по сути все загружаются но видео нет, есть предположение что основным считается выход hdmi, но на выходных я попробую вкорячить то что хочу.

Что характерно инсталятор дэбиана в графическом режиме показывает картинку, но также как и в настройках ефи изображение повёрнуто на 90 градусов.

Есть ещё минус. Вместо радиомодуля броадком....

До этого я пользовался только ХР, когда она была флагманом, далее наши дороги разошлись, я очень много пропустил в их мирке и вот появилась возможность посмотреть как у них дела. И вот «десятка».
А так десятка очень хороша, когда Картана заговорила со мной во вовремя первичной настройки я немного смутился... но ответил ей, и действительно, вся первичная настройка настроилась голосом.

Что качается самого девайса.

Крышка, анодированный алюминий. Корпус пластик, тоже алюминий.

Закрывается очень плотно с характерным хлопком, открывается туго, но видимо это так и задумано.

Камеры нет.

Индикации почти нет, есть только два диода на кнопке включения, один горит белым когда он включается, другой красным когда идёт заряд. И всё, понять включен он или нет очень сложно.
Кстати сама кнопка очень тугая и срабатывает не сразу по нажатии, необходимо её зажать.

Вертушка есть, если нагрузить систему, то довольно шумная.
Греется, но дискомфорта нет.

Сложилось впечатление что девайс был сделан очень талантливой командой, но с отсутствующим опытом. Если они немного руку набьют, то начнут делать действительно хорошо.

 

itn
()

Android 7.1.2 с -O2 оптимизацией на устройстве 2012 года

Галерея — Скриншоты

По факту, с прошлого скриншота ничего не изменилось. Брикнулась моя Xperia L и купил Nexus 4. Сабж, прошивка Pixeldust(Которую пилим с ребятами из германии) и мое недо-кастом-ядро.

Как всегда юзаю свой тулчейн для сборки ядра UBER 6.x заточеный под Cortex-A15 и neon-vfpv4 с поддержкой OpenMP

Шланг для сборки прошивки тоже самый апстримный, флаги для сборки по линку на гите

  • Говернор: Bioshock
  • CPU hotplug: DYN_Hotplug
  • I/O Sched: zen
  • Частота: 1525 MHz
  • Частота GPU: 487 MHz(Под разгоном)

По поводу разгона, старый нехус гнать бессмысленно, т.к греется этот APQ как скотина, так что не гнал его особо.

Кому надо линки на сорцы(и собраное тоже могу линкануть) обращайтесь

 , ,

Deleted
()

Весеннее обострение

Галерея — Скриншоты

Итак, только-только взялся за написание курсового проекта и, ВНЕЗАПНО, узнал про такую годноту как pythontex, который позволяет использовать процессинг вычислений внутри документа. Результат можно увидеть на скриншоте. Заметил интересную особенность: чем больше интересных и полезных вещей я узнаю, тем острее чувство сожаления о том, что я не узнал про них раньше.

 , ,

pikwik
()

Zyxel usg-50 + strongswan psk

Форум — Admin

Доброй ночи уважаемые эксперты. Прошу помощи в настройке vpn до Zyxel usg-50.

С домашнего компьютера (Linux Mint 18 KDE) который находится за NAT, пытаюсь подключиться к Zyxel usg-50 с помощью пакета strongswan 5.3.5. Перелопатил кучу форумов но так и не получилось разобраться.

( Настройки Zyxel usg-50 )

Настройки клиента

cat /etc/ipsec.conf
config setup
        # strictcrlpolicy=yes
        # uniqueids = no

# Add connections here.

# Sample VPN connections

conn %default
        ikelifetime=60m
        keylife=20m
        rekeymargin=3m
        keyingtries=1
        dpdaction=restart
        dpdtimeout=180s

conn stroymedservice
        left=94.137.244.163
        leftsubnet=192.168.66.0/24
        leftauth=psk
        leftfirewall=yes
        right=92.54.100.4
        rightsubnet=192.168.1.0/24
        ike=3des-sha1-modp1024
        esp=3des-sha1-modp1024
        authby=secret
        keyexchange=ikev2
        type=tunnel
        auto=start

cat /etc/ipsec.secrets
94.137.244.163 92.54.100.4 : PSK "12345678"
cat /etc/strongswan.conf
# strongswan.conf - strongSwan configuration file
#
# Refer to the strongswan.conf(5) manpage for details
#
# Configuration changes should be made in the included files

charon {
        load_modular = yes
        plugins {
                include strongswan.d/charon/*.conf
        }
}

include strongswan.d/*.conf

eel-N56VZ feel # ipsec restart
Stopping strongSwan IPsec...
Starting strongSwan 5.3.5 IPsec [starter]...
feel-N56VZ feel # ipsec statusall
Status of IKE charon daemon (strongSwan 5.3.5, Linux 4.4.0-21-generic, x86_64):
  uptime: 4 seconds, since Jan 24 02:37:38 2017
  malloc: sbrk 1880064, mmap 0, used 481408, free 1398656
  worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 1
  loaded plugins: charon test-vectors aes rc2 sha1 sha2 md4 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem fips-prf gmp xcbc hmac attr kernel-netlink resolve socket-default farp stroke updown eap-identity eap-sim eap-sim-pcsc eap-aka eap-aka-3gpp2 eap-simaka-pseudonym eap-simaka-reauth eap-md5 eap-gtc eap-dynamic eap-radius eap-tls eap-ttls eap-peap eap-tnc xauth-generic xauth-eap xauth-pam xauth-noauth tnc-tnccs tnccs-20 tnccs-11 tnccs-dynamic dhcp lookip error-notify certexpire led addrblock unity
Listening IP addresses:
  192.168.66.1
Connections:
stroymedservice:  94.137.244.163...92.54.100.4  IKEv2, dpddelay=30s
stroymedservice:   local:  [94.137.244.163] uses pre-shared key authentication
stroymedservice:   remote: [92.54.100.4] uses pre-shared key authentication
stroymedservice:   child:  192.168.66.0/24 === 192.168.1.0/24 TUNNEL, dpdaction=restart
Security Associations (0 up, 1 connecting):
stroymedservice[1]: CONNECTING, 94.137.244.163[%any]...92.54.100.4[%any]
stroymedservice[1]: IKEv2 SPIs: 290cfb76200b2149_i* 0000000000000000_r
stroymedservice[1]: Tasks active: IKE_VENDOR IKE_INIT IKE_NATD IKE_CERT_PRE IKE_AUTH IKE_CERT_POST IKE_CONFIG CHILD_CREATE IKE_AUTH_LIFETIME IKE_MOBIKE
 syslog
24.01.17 2:27	feel-N56VZ	charon	12[IKE] retransmit 3 of request with message ID 0
24.01.17 2:27	feel-N56VZ	charon	12[NET] sending packet: from 94.137.244.163[500] to 92.54.100.4[500] (528 bytes)
24.01.17 2:27	feel-N56VZ	charon	16[NET] error writing to socket: Invalid argument
 authlog
24.01.17 2:26	feel-N56VZ	ipsec_starter[16078]	charon stopped after 200 ms
24.01.17 2:26	feel-N56VZ	ipsec_starter[16078]	ipsec starter stopped
24.01.17 2:26	feel-N56VZ	ipsec_starter[17358]	Starting strongSwan 5.3.5 IPsec [starter]...
24.01.17 2:26	feel-N56VZ	ipsec_starter[17381]	charon (17382) started after 20 ms
24.01.17 2:26	feel-N56VZ	charon	07[IKE] initiating IKE_SA stroymedservice[1] to 92.54.100.4

Пробовал так же подключиться через NM-stronfswan, выдет ошибку «Пароли, необходимые для VPN подключения не были указаны». Нахожусь в полном тупике.

 , ,

SerGoArg
()

Цвета firefox для awesome

Галерея — Скриншоты

Темная тема для awesome из цветов веб-страниц в firefox, которые в настройках можно менять - самые спокойные выбрал. Vimperator все-таки получился компактнее, чем dwb и удобнее, хоть и жрет побольше памяти - панель вкладок автоматически скрываются и показываются при нажатии Ctrl или при наведении курсора - расширение Tree Style Tab это делает, а без расширения Classic Theme Restored строку поиска вообще не скрыть и вкладки были бы неклассическими так сказать.

Tile Tab перестал работать, а Менеджер сессий каждый раз при запуске выдает окно восстановления сессии и через раз восстанавливает ее.

Из виджетов awesome пока осилил только календарь, выпадающий при наведении курсора на часы, ну и коньки не перекрываемые окнами сделал.

Обоину срисовал у кого-то - рисовал-то сам, а идея отсюда

Иконку awesome перекрасил в kiconedit.

 , , ,

votafak
()