LINUX.ORG.RU

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

Рабочее место шифропанка

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

Привет всем! Хочу показать своё домашнее рабочее место, а также место, где хостится бОльшая часть ресурсов http://www.cypherpunks.ru

Главная часть — два компактных сервера от ETegro Technologies. Xeon процессор (чтобы поддерживать ECC память), 16 GB ECC RAM. В каждом из них корзина для 4-х hot-swap SATA дисков, но в серверах только по два диска (2-3 TB) в ZFS зеркале. В одном сервере ещё и 100 GB Kingston SSD для L2ARC кэша. Всё это соединено гигабитной сетью не связанной с Интернетом. Один из серверов выступает в качестве шлюза к Интернету — для него отдельный 100 Mbps коммутатор стоит. Есть ещё какой-то дешёвый WiFi мост, но он не включался уже много месяцев, так как вся связь между компьютерами только по Ethernet. Серверы запитаны от ИБП. К одному из серверов подключён монитор, выводящий кой какой мониторинг.

К этом подключается рабочий ноутбук — Dell Latitude 3470: довольно дешёвый, с вполне сносными характеристиками (Intel i5 на архитектуре SkyLake, 8 GB RAM, 120 GB Kingston SSD). Так как работа за самим ноутбуком (его монитором и клавиатурой) довольно редка, то претензий к качеству экрана, клавиатуры и тачпада нет никаких (любое дерьмо сгодится). Обклеен наклейками: Bradi Cerebri Ectomia, GNU, FSF, EFF, FSFE тематика — с ними работает субъективно получше. К нему подключён USB хаб на четыре порта, но, к сожалению, его не видно за монитором. Full HD 27" Монитор подключается по HDMI (в ноутбуке нет DisplayPort) и крепится на кронштейне с газпатроном — легко сделать повыше/пониже, если хочется работать стоя. Обязательно наличие Beastie — BSD системы без него... я даже не пробовал как они без него работают, ибо сомнения.

Основной элемент без которого я бы вообще не рискнул работать — тактильная механическая клавиатура. Можно поменять серверы и взять какую-нибудь лажу, можно ноутбук 10 летней давности, можно много чего — но без тактильной клавиатуры жизни нет, в принципе, вообще. Так как всё программирование проходит в редакторе, вся почта проходит в редакторе, даже набор формочек в броузере проходит в редакторе... то интерфейс между мной и редактором должен быть первостепенной важности. В данном случае это Filco Majestouch 2 с MX Blue переключателями. Абсолютно никаких к ней нареканий. Справа от неё трэкбол Kensington Expert — 4 больших полноценных кнопки, большой с хорошей инерцией шарик и колесо прокрутки вокруг него.

Работа немыслима без хорошей музыки в ушах. Asus Essence One MkII USB звуковая карта, Beyerdynamic A1 усилитель и Beyerdynamic DT990 Pro наушники — идеально под это подходят. В данный момент ноутбук ещё и заряжает сотовый телефон: OpenPhoenux (GTA4), служащий на ура уже много лет. Всё это размещается на столе Ergostol Duo — его высота может регулироваться электрическим приводом, пуль управления которого рядом с сотовым телефоном. Можно буквально все выходные провести в стоячем положении за ним. Но пришлось приобрести кронштейн для монитора — в сидячем и стоячем положении у него должна быть разная высота.

Что касается ПО, то на всех серверах и ноутбуке или HardenedBSD (в том числе в виртуалках) или FreeBSD. Все файловые системы это только ZFS (ну кроме флешек которые нужно сувать в чуждые ОС). Самое важное и ценное с точки зрения конфиденциальности расположено на зашифрованных GELI разделах: AES-XTS режим, но без явной аутентификации, ибо, так как внутри раздела ZFS, то изменить данные не получится, не нарушив целостности ФС. Трафик между серверами шифруется IPsec-ом, между ноутбуком GoVPN-ом. На шлюзе в качестве firewall: ipfw и ядерный встроенный в него NAT (к сожалению приходится иметь дело с IPv4). Касательно серверного ПО не буду вдаваться в подробности.

На ноутбуке в качестве оконного менеджера — DWM. Терминал — st. Шрифты — Inconsolata LGC. Почти всё автоматически запускается под Tmux — несколько буферов обмена, scrollback буфер с большой историей и возможностью поиска, табы, скриптование. БОльшую часть времени провожу в Vim редакторе. Почта читается в Mutt. В качестве IRC клиента — irssi, Jabber/XMPP — Bitlbee, Tox — Toxic. RSS/Atom новости сыпятся в почту через rss2email Python программу, хотя когда-то очень любит Newsbeuter. Музыка слушается Cmus-ом. На одном из серверов мультимедиа библиотека, доступ к которой идёт через NFS. На одном из серверов запущен почтовый — почта сыпется не в mailbox, а в NNCP который сохраняется в своём буфере исходящих сообщений письма для ноутбука. Когда он подключается к серверам, то забирает/отправляет всё что накопилось. Если нужно сбросить на серверы бэкапы или какие-то данные для хранения, то, опять же, все они отправляются в NNCP набор утилит чтобы fire-and-forget-ом пересылать большие объёмы данных когда появляется связанность машин.

>>> Просмотр (1296x774, 144 Kb)

 ,

stargrave ()

Я познаю мир

Форум — Science & Engineering

В этом треде мы помогаем лоровцам получше понять и разобраться во всяких интересных математических концепциях. Кто-то до сих пор не понимает почему на ноль делить таки нельзя; кому-то нравятся аналогии «на пальцах» вида детерминант — ориентированный объём, ковектор — (n-1)-мерная плоскость; кому-то будет интересно узнать, что из алгебраической топологии, интеграл это всего-навсего произведение цепи на коцепь. А кто-то до сих пор не знает что такое тензор; возможно, не всем известно, что механику, электродинамику, теорию относительности и квантовую теорию поля можно локально вывести из наикрасивейшего лагранжева формализма; зачем нужны алгебры Ли; что такое ковариантная производная; в чём отличии гомологий от гомотопий, ну и так далее.

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

 , ,

mix_mix ()

Распознавание автомобильных номеров

Форум — Talks

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

Брать тут https://bitbucket.org/neird/alpr.git. Автор ответственности не несет и все такое.

Система была написана для целей логирования номерных знаков на пропусных пунктах парковок. Код стоит рассматривать как тестовый прототип заслуживающий переписывания. Тем не менее он рабочий и давал точность расспознавания на тестовом датасете (нет не поделюсь) порядка 90-95% (по схеме правильно/неправильно).

 ,

neird ()

Велосипед: системный монитор с веб-интерфейсом

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

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

В бэкенде - python + flask, в фронтенде - uikit, jQuery и morris.js.

При маленьком экране переключается в mobile mode - меняется надпись и значок. все выстраивается в одну колонку. Ни одной картинки нет, все - иконочные шрифты либо канвас, зумить можно бесконечно и без потери качества, и на разных DPI должно выглядеть одинаково прилично.

Какой-то практической ценности проект не несет, многого недостает в нем, да и вообще таких штук наверняка навалом. Зато у меня есть класс LineChart, от которого наследуются MemChart и CoresChart и прочая объектно-ориентированная ерунда.

До окончания PyCharm Evaluation осталось 3 дня.

>>> Просмотр (1920x976, 308 Kb)

 ,

horonitel ()

F*, кодогенерация

Форум — Development

Поставил себе последний релиз F*, запускаю компилятор как

fstar --codegen $backend $filename
из предложенных трех вариантов $lang (OCaml, F#, JavaScript) могу сгенерировать только код на OCaml. Как сгенерировать F#?

Конфигурация: Арч 2015.02, mono 3.12.0, компилятор F# стоит и находится в PATH (однако он, я думаю, не нужен для кодогенерации)

cast ymn

 ,

buddhist ()

Erlang и ловля траффика

Форум — Development

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

 ,

Demacr ()

[λ] Инструменты для описания семантики.

Форум — Development

Как люди разрабатывают семантику для языков программирования? Пишут на бумажке, затем прототип и смотрят получилось ли?

Наткнулся, к примеру, на библиотеку для Racket: Redex что есть ещё на эту тему?

vladimir-vg ()

Понедельник начинается в пятницу

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

Говорят, чтобы выучить язык программирования — следует сесть и написать на нём что-нибудь полезное и в меру сложное. Например, понятный и аккуратный обработчик экспериментальных данных вместо той python-солянки-с-лапшой, коей приходится пользоваться ныне.

А работается легче и охотней всего, конечно же, дома в свободное время. В уютном и привычном окружении. С одной стороны — код в емаксе, с другой — туториал, в скрэтчпаде — приятная музыка.

Так и живём.

>>> Просмотр (1920x1080, 1271 Kb)

 , ,

k336184 ()

Изучаем Common-Lisp

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

Все банально - емакс с набираемым кодом и результат исполнения этого кода. Пишем CAD по мере изучения.

>>> Просмотр (1680x1050, 545 Kb)

bioreactor ()

Операционная система GNU Emacs завоевывает десктоп! :)

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

Операционная система GNU Emacs получила новые возможности! Собрал волю в кулак и написал библиотеку, которая практически полностью реализует протокол X11. Библиотека незамысловато называется x11 и написана на чистом Emacs Lisp, но пока имеет статус technical preview, хотя в принципе уже можно писать что-то реальное. За основу пока взяты описания протокола на XML из проекта XCB, которые разворачиваются в реализацию. В результате имеем практически все расширения. Работа с протоколом осуществляется в асинхронном стиле подобно XCB. Чего пока нет:

  • MIT-SHM. Запросы реализованы, но работать через разделяемую память из операционной системы Emacs мы пока не можем, поэтому Будем через сокет закидывать. Тем более, что разница в скорости, говорят (видел где-то в инете замеры), не такая сумасшедшая.
  • XKB. Просто забыл реализовать пару конструкций XML, используемых для описания этого расширения. Это я скоро реализую, поэтому расширение будет работать в полном объеме.
  • Big-requests. Тоже будет реализовано. Расширение содержит всего один запрос. Он реализован. Но именно для этого расширения надо несколько перелопатить процедуры формирования запросов к серверу X, так как подсчет размеров запросов изменяется с этим расширением.
  • GLX. Огромнейший пласт. За него возьмусь сильно позже. Тут же еще надо полностью сгенерировать протокол GL, а он очень обширный.

Остальные расширения вроде бы должны работать, если их описания правильные и если я что-то не упустил принципиального. Я работу всех расширений даже не проверил, так как очень спешу радостью поделиться. :)

(размер экрана уменьшил до 1024x768, чтобы скриншот поменьше был)

На скриншоте сверху робкая демонстрашка в стиле LSD основного протокола X11 (Core protocol). Ну с arcs, rectangles и core fonts все и так понятно. А вот как выведены фотографии? Я пока не настолько крут, чтобы писать растеризацию jpg и png на Emacs Lisp. Пораскинув мозгами, пошел смотреть, чем может помочь ImageMagick. Оказалось, есть там возможность получить дамп картинки в нужном формате. Так и сделал: надо отобразить картинку - дергаем stream, она нам отдает дамп в буфер, мы его отсылаем в сервер X. «Привет, Isden» написана мышкой. Демка отслеживает событие motion-notify и рисует маленький квадратик под указателем. По кнопке «q» - выход (отслеживается событие key-press)

На скриншоте снизу робкая и неумелая демонстрашка расширения XRender. Тоже в стиле LSD. На ней мы видим linear gradient, radial gradient, треугольник и отрисовку сглаженных окружностей. Окружности состоят из трапезоидов. Алгоритм рассечения (tessellation) я применил первый, какой мне пришел в голову - горизонтальными трапециями. Какая есть проблема? Сглаженный текст! Что-то мне писать растеризацию TrueType или Type1 на Emacs Lisp не улыбается. Есть идея написать программку на Си с помощью Xft, которую я буду что-то просить растеризовать, а она результат будет отдавать в Emacs. То есть примерно как и с ImageMagick поступить.

Надо хорошенько переобдумать API библиотеки, чтобы его заморозить. При этом надо учесть потенциальные и вероятные будущие новшества в Emacs и в библиотеке, чтобы людям не пришлось переписывать то, что написано ранее. Есть недостатки в Emacs, которые реально мешают и раздражают. Преодолимы, конечно, но это будут костыли. Если интересно, то потом поясню, а то уже и так много воды налил.

Так что есть потенциальная возможность воплотить мечту atoku в жизнь. :)

Традиционная ссылка на обоину: #888888. Старую удалил, так как она надоела, а новую еще не искал. Этот серый цвет реально бесит. :)

>>> Просмотр (1024x1536, 254 Kb)

 , ,

Zubok ()