All streams
Search
Write a publication
Pull to refresh
48
0
Сергей Бронников @estet

Пользователь

Send message

Довольно вычурные «Начала» Евклида в TeX-е

Reading time7 min
Views18K


«какая-то странная антикварная х██ня, написанная ирландским кулибиным в 1847 ну, хорошо, что и такая бывает, конечно» Миша Вербицкий

В 16-м году мне на глаза попались «Начала» Евклида в интерпретации Оливера Бирна. Фишка этой книги в том, что вместо буквенных обозначений навроде «треугольник ABC» там прямо в текст помещаются миниатюры частей построения, то есть, например, картинка с соответствующим треугольником. Насколько сделать такую книгу, как можно представить, было адовой работой в середине XIX века, настолько же легко, с правильными инструментами, это должно бы быть теперь. И, в общем, решил я в этом убедиться наверняка.
Читать дальше →

Exception Handling: сквозь мультивселенные интероперабельности

Reading time10 min
Views2.8K


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

Меня зовут Максим Кокряшкин, я занимаюсь поддержкой и расширением функциональности форка LuaJIT, интегрированного в Tarantool. В этой статье мы обсудим, как интероперабельность исключений помогает упростить обработку ошибок на стыках разных языковых рантаймов, а также посмотрим, как можно реализовать интероперабельность стандартными механизмами обработки исключений.
Читать дальше →

Зимняя школа по RISC-V — актуальные знания по перспективной открытой архитектуре от экспертов

Level of difficultyMedium
Reading time4 min
Views3.7K

С 2 по 8 февраля пройдет Зимняя школа «Программирование для RISC-V» — недельный интенсив от YADRO и ННГУ им. Н.И. Лобачевского. Программа состоит из двух частей: онлайн-лектория и очной проектной работы.

На бесплатных онлайн-лекциях все желающие познакомятся с основами разработки на основе открытой архитектуры RISC-V — перспективной технологии, предназначенной для создания процессоров, микроконтроллеров и разработки ПО. Лекции позволят вам выстроить полноценное представление об архитектуре и ее особенностях: вы начнете с азов, а закончите изучением векторных расширений RISC-V и ее возможностей для высокопроизводительных вычислений. Информация подойдет и новичкам в теме, и тем, кто знает теорию и хочет делать первые практические шаги в разработке под новую архитектуру. 

А студенты очной формы обучения смогут решить реальную задачу, связанную с RISC-V, под руководством преподавателей Университета Лобачевского и разработчиков YADRO на базе вуза в Нижнем Новгороде. 

Подробнее о лекциях и проектах, а также о том, как стать участником школы, читайте под катом.

Узнать больше →

Libre/OpenPGP vs OpenSSH/age

Level of difficultyMedium
Reading time12 min
Views4.4K
Я использую GnuPG (реализацию OpenPGP и LibrePGP) каждый день на протяжении более чем десяти лет. У меня накопилось почти две сотни публичных ключей разных людей с которыми я общался и общаюсь по почте. Почти три сотни публичных ключей для проверки дистрибутивов операционных систем и архивов исходного кода программ. И это не считая более чем полутора тысяч публичных ключей из ключниц GNU, Linux, Debian, FreeBSD и других проектов. Я был постоянным популяризатором OpenPGP экосистемы и рекомендовал её использовать для массы задач, возникающих даже в банальных домашних условиях. Но за последние пару лет я ощутимо поменял своё мнение насчёт её рекомендации. Перестал всё это использовать почти везде где можно.
Читать дальше →

Zigbee-LAN координатор на EFR32MG21 Silicon Labs

Level of difficultyMedium
Reading time11 min
Views22K

ZigbeeLink это open-source проект координатора Zigbee. В статье вы узнаете, как собрать, прошить и настроить Zigbee-LAN координатор на чипе Silicon Labs EFR32MG21.

Читать далее

SOHO UPS в маленьком корпусе и своими руками. Менее чем за 1500 руб

Reading time6 min
Views66K

Хотите обеспечить бесперебойное питание своим устройствам, но при этом не сильно потратиться? Именно такой своей разработкой я и хотел с вами поделиться.

Все мы переживаем, когда устройства внезапно отключаются «по питанию» и не зря. Большая часть нештатного отключения электроэнергии сопровождается скачками повышенного напряжения, что в свою очередь может привести к поломке оборудования или сбросу настроек. Да, на этот случай различные компании выпускают ИБП, но они достаточно велики и весят как правило не менее нескольких килограмм.

А что если сделать такой источник бесперебойного питания, который можно поставить прямо рядом с защищаемым устройством – лёгкое, компактное, недорогое?
Читать дальше →

Бесперебойное питание для роутера и GPON-терминала своими руками

Level of difficultyEasy
Reading time7 min
Views28K

GPON технология подключения к интернету — одна из самых удачных инноваций последних лет. Она позволяет полностью избавиться от питания устройств «последней мили», что особенно актуально при длительных перебоях с электроэнергией. Почти все остальные технологии позволяют обеспечить интернет только временно — на час‑два, и время это не зависит от конечного пользователя — только от доброй воли провайдера, обеспечивающего своё оборудование источниками бесперебойного питания «на чердаке».

В случае же GPON, единственное, о чём должен позаботиться конечный потребитель — обеспечение питания терминала на своей стороне. Часть терминалов сразу снабжают встроенным WiFi роутером, но чаще всего этого не происходит и провайдер предоставляет отдельное устройство. Наиболее частая конфигурация — GPON‑терминал, потребляющий 0.5А по 12-ти вольтам, и WiFi‑роутер, потребляющий 0.3А по 9-ти.

Конечно, можно купить дорогостоящую зарядную станцию, с ёмкими аккумуляторами и быстрой зарядкой, подключить блоки питания устройств к инвертору станции на 230в, но это дико неэффективно. В моём случае потребление такой конфигурации составило 16 ватт.

Следующий вариант — купить USB‑DC преобразователи на 9 и 12 вольт, и воткнуть их в мощный пауэрбанк. Потребление сразу становиться более экономичным. В моём случае оно упало до двух ватт, но я использовал достаточно дорогие устройства с поддержкой технологий QC2/QC3. Хотя, простенькие шнурки без этих наворотов и повышайками внутри шнура позволяют достичь примерно тех же параметров. К повышайкам мы ещё вернёмся...

Читать далее

От желания управлять газовым котлом удалённо до полной автоматизации отопления дома

Level of difficultyMedium
Reading time6 min
Views49K

В статье расскажу про свой путь разработки DIY железок для работы с Home Assistant с целью автоматизации отопления в частном доме.

Глава 0: предыстория

Захотелось построить дом. Дом построили, встал вопрос с отоплением и управлением, а так как в доме иногда отсутствовали по несколько месяцев, то переплачивать за газ не очень-то и хотелось. Газа ведь магистрального нет, но «мы скоро проведем». До этого «скоро» закопали газгольдер, а газ там в +-10 раз дороже магистрального. Пытливый ум решил: будем поддерживать в доме температуру 15 градусов, когда там никого нет. Как это сделать? Повесить контроллер/термостат для котла.

Читать далее

Подробно о Coq: зависимое сопоставление с образцом

Reading time30 min
Views1.7K

(картина "лучшего в мире рисовальщика петухов" "Очень одинокий петух" взята с просторов интернета)

Сопоставление с образцом в Coq на первый взгляд выглядит не сложнее, чем в большинстве языков программирования, т.е. довольно просто. Правда, это впечатление остаётся только до тех пор, пока программисту не приходится столкнуться с зависимыми типами. И тут всё становится гораздо интереснее. Тем не менее интуицию вполне можно выработать. У автора было желание получше разобраться с данной темой и выдалось немного свободного времени. Надеемся, что результат окажется полезен и читателю.

Читать далее

История компьютерных стратегий. Часть 8. «Age of Empires»: шедевр геймдева, от которого бомбит у любителей истории

Level of difficultyEasy
Reading time15 min
Views26K

В 1997 году в соревнование между Blizzard и Westwood Studios внезапно для всех ворвался новичок в лице Ensemble Studios. Её «Age of Empires» незамедлительно обозвали смесью «Warcraft» и «Civilization», и не случайно. Впервые в истории жанра RTS-игра претендовала на историчность и даже познавательность. Создатели предлагали игроку пройти путь развития за одну из двенадцати цивилизаций — от неолита до вынесенной в заголовок «эпохи империй», развитого железного века. Как итог, игра не просто зашла со свистом и стала основой для развивающейся по сей день серии, но и потеснила непобедимых, казалось бы, конкурентов. И всё же, при ближайшем рассмотрении, она способна погубить не один диван историка и просто любителя исторической науки путём неудержимого воспламенения штанов.
Читать дальше →

Расшифровка доклада: О чём я говорю, когда говорю о тестировании корректности работы компиляторов

Level of difficultyMedium
Reading time15 min
Views2.5K

Привет, Хабр! Эта статья о том, как тестируют компиляторы. Она будет интересна разработчикам  и тестировщикам компиляторов, а также всем, кто тестирует сложные технологии. Разберём проблемы тестирования LuaJIT и подходы к решению: неструктурированный фаззинг, синтаксический, семантический, сравнительный фаззинги и тестирование оптимизаций. Статья написана на основе доклада Сергея Бронникова из Tarantool на конференции Highload.

Читать далее

Поднимаем зомби: перехват контроля над мёртвым IoT-производителем

Level of difficultyEasy
Reading time12 min
Views11K

В 2017 году появилась компания NYCTrainSign, которая изготавливала реплики таймеров обратного отсчёта, показывающие, сколько осталось до прибытия следующего поезда Нью-Йоркского метро.


Однако этот таймер не вешался на потолок, а ставился на стол в качестве стильного украшения дома.

Человек, отвечавший за маркетинг, успешно смог привлечь интерес к проекту. Помню множество постов в Facebook* и Instagram*, демонстрирующих потенциальную пользу вывески для кафе и пиццерий, посетители которых могли видеть, когда им нужно выходить, чтобы попасть на поезд.

Однако под флёром Instagram* скрывались посредственные технические решения и недопустимо высокие затраты на производство. [* Запрещены в России.]

В начале 2018 года компания перестала отвечать под постами в соцсетях, а приобретённые таблички получили очень немногие покупатели. Компания порекомендовала покупателям оспорить платёж, чтобы попробовать вернуть свои деньги.
Читать дальше →

Слив исходников Яндекса, как самый большой толчок русского ИТ

Reading time6 min
Views107K

Постараюсь без долгих рассуждений, сразу к делу. Привет, я mobilz, и в своё время я уже "сливал" некоторые исходники Яндекса в том числе. Предварительно, конечно, предупредив их. К текущим событиям я не имею отношения, но у меня есть мысли, которыми я хочу поделиться.

Во-первых, это звиздец. Это не первый слив, но, наверно, самый крупный. Если бы такое произошло с моими проектами, я бы сел в углу, обняв колени, и долго плакал.
Во-вторых, это лучшее, что произойдёт с русским ИТ в этом году. Такого роста, как в этом году, мы не увидим ещё долго.

Читать далее

Как мы в Питерской Вышке учим Software Engineering

Reading time12 min
Views16K

В предыдущих постах мы рассказывали, что наши студенты делают на стажировках: научных (например, в JetBrains Research) и промышленных. В этом посте хотим поделиться, как мы учим промышленному программированию.



Кратко: за четыре курса бывший школьник пробует десяток-другой технологий и языков, постоянно пишет и удаляет много кода, проходит code review от более опытных товарищей (не всегда с первой попытки), углубляется в какую-то тему и в итоге защищает содержательный диплом. Всё это проходит прямо в университете и даёт диплом гособразца. А летом можно либо отдохнуть, либо постажироваться в России в JetBrains, Яндексе и JetBrains Research (если хочется больше науки) или съездить за рубеж (Google, Facebook и другие). Теперь поподробнее.

Читать дальше →

Сам себе сотовый оператор

Reading time14 min
Views103K
… Кроме типовых для журнала статей, там была статья за авторством некоего «DI HALT» про то, как из двух телефонов и микроконтроллера извлечь кучу лулзов. «Прикольный ник» — подумал мальчик Андрей и перелистнул страницу, ибо ниасилил. А за ней была статья того же автора про то, как скрестить флешку с мышкой. «А вот это нам под силу» — подумал мальчик и убил уже знакомую вам флешку банальной переполюсовкой. Но зато он понял, что электроника — это весело и почти безопасно. — с просторов



Приветствую всех!

Многие из вас наверняка слышали про OsmocomBB. Однако каких-то исчерпывающих мануалов по запуску почему-то крайне мало. Итак, в ходе данной статьи постараемся максимально простым образом запустить собственную базовую станцию из доступных комплектующих. Постараемся разобраться, как сделать так, чтобы оно точно заработало.
Читать дальше →

Домашняя приточная вентиляция малыми средствами

Reading time14 min
Views90K

Последнюю пару лет я живу с приточной вентиляцией в городской квартире — и очень рад этому факту.

В принципе, где-то в моменте её сооружения у меня проскальзывала мысль написать об этом, подкреплённая просьбами к фотке в фейсбуке, но в силу моей лени она быстро заглохла. Однако на днях при виде поста о приточке и дискуссии в комментах к нему — кажется, это моя судьба последней недели — она воскресла из пепла снова.

Коротко о главном:
• наружное расположение компонентов ради минимального уровня шума;
• минимум ручного труда в изготовлении и монтаже;
• общий ценник существенно ниже 50 тысяч рублей (ниже 30 тысяч — на момент изготовления два года назад).

И важное. Если вы — адепт систем рекуперации, долгих инженерных расчётов и полугода проектирования, эта статья не для вас. Я — адепт золотой середины между «я сделяль» и «я задолбался».

Читать далее

Модульный компьютер и игровая консоль uConsole от Clockwork: обзор возможностей необычного девайса

Reading time3 min
Views23K

Мы в Selectel — поклонники модульных девайсов, и время от времени пишем обзоры о самых разных устройствах такого типа. Сейчас появился очередной девайс, причем очень необычный. Он называется uConsole, а выпустила его компания Clockwork. Разработчики называют устройство карманным ПК для разработчиков и игровой станцией для ретро-геймеров.

Выглядит оно действительно необычно — как гибрид КПК из прежних времен и современных технологий. Давайте посмотрим, что девайс из себя представляет.
Читать дальше →

Mein Konfig: экскурсия по dotfiles

Reading time76 min
Views16K
Приветствую! Я люблю рассматривать чужие dotfiles и рассказы об устройстве рабочего места и окружения. Во-первых, любопытно как работают другие люди. Во-вторых, нередко находишь какой-нибудь полезный трюк или идею. А повышение продуктивности разработчика ПО часто идёт за счёт, казалось бы, мелочей (много кто помнит, что Ctrl-T посылает SIGINFO сигнал, показывающий прогресс копирования cp или dd?). Вот и решил рассказать про своё рабочее окружение, в том числе dotfiles. Перечислю список секций этой статьи, чтобы было примерное представление о чём пойдёт речь: Ввод, ОС, ФС, X11, MRA и MDA, Сеть, Jail, Демоны, MTA, MUA, WWW, PGP, IRC, st, tmux, cd, git, zsh, zsh completion, zsh history, ZLE, zsh prompt, zsh misc, less, grep, .zshenv, autoenv, .zprofile, t, Музыка, mpv, Картинки, Архивы, Feeds, Hjson, *tex*, File transfer, Games, БД, ЯП, Python, Go, C, redo, TAI64, Vim, tags, .vimrc, ~/.vim/pack, ~/.vim/plugin, ~/.vim/ftplugin. Безусловно будут спорные holywar высказывания, так что везде иметь в виду и добавлять фразу «по моему личному мнению».


Читать дальше →

Продуктивная работа в vim с использованием snipMate

Reading time4 min
Views11K
В этой статье я хочу рассказать об одном замечательном плагине для vim, который значительно ускоряет написание кода, вёрстку и редактирование текстов.

snipMate — позволяет быстро вставить в документ текстовый шаблон с помощью ключевого слова + <tаb> и предоставляет удобную навигацию по вставленному шаблону.
Читать дальше →

Network diagram as code / Схема сети как код

Reading time6 min
Views15K
В последние пару лет стал больше заниматься документацией. Написать поясняющий текст о том, как работает та или иная система — в целом, это достаточно просто. Нарисовать схему, на которой будут отображены все ключевые объекты, связи между этими объектами, тоже вполне легко.

Но самый проблемный момент — это поддерживать эту документацию в актуальном состоянии. И ладно бы текст, но схемы… Т.к. вся документация онлайн, т.е. в формате html, то к тексту прилагаются картинки gif/jpeg/png, на которых собственно изображены схемы. А схемы рисуются в различных программах типа Visio или онлайн-сервисах а-ля draw.io. Затем экспортируешь схему в графический формат и прилагаешь к html. Все просто.

В чем проблема?
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity