Обновить
48
0
Сергей Бронников@estet

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

Отправить сообщение

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

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

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

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

Про трекпоинт и эмуляцию мыши

Время на прочтение4 мин
Охват и читатели44K

Зачем это нужно и как реализовать программно


Много рассуждений


В предыдущей статье про настройку док-станций, я упоминал как тяжко, в свое время, мне было пользоваться лаптопами «потребительского» сегмента. Отсутствие docking-port'a и необходимость каждый раз по приходу домой или на работу подключать кучу кабелей — все это неприятно и раздражало, но что действительно вызывало страдания, так это отсутствие трекпоинта: той самой «красной пимпочки», которую можно встретить на лаптопах от IBM/Lenovo (синяя или серая в случае HP и DELL). Подробней можно почитать на той же Википедии.

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


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

Как я оплачивал в интернете криптовалютой

Время на прочтение7 мин
Охват и читатели85K

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

Дисклеймер: Это не инструкция и не жалоба, а подробная история, как я платил в интернете криптой, написанная по просьбе моей жены, когда она закончила истерически ржать над мамкиным криптотрейдером.

Читать далее

Почему я выбрал DeltaChat для приватного общения

Время на прочтение3 мин
Охват и читатели20K

Нет централизованного сервера. Используется любой email-сервер, который укажете

Надежное e2e-шифрование Autocrypt Level 1. Реализация прошла независмый аудит

Open Source, не преследует коммерческих целей, финансируется НКО и пользователями

Аудитория ~1М. Точно не оценить из-за отсутсвия телеметрии

Недостатки: не такой быстрый и отсутсвуют (пока) редактирование сообщений, реакции и треды

Читать далее

Как отлаживать маленькие программы

Время на прочтение6 мин
Охват и читатели29K
Довольно много плохих вопросов, которые я вижу на StackOverflow, можно описать следующей формулой:
Вот моё решение домашнего задания. Оно не работает.
[20 строк кода]
И… всё.

Прим. пер.: это перевод статьи "How to debug small programs", на которую ссылаются в справочном разделе английского StackOverflow, посвящённом созданию минимальных, самодостаточных и воспроизводимых примеров. Мне кажется, она прекрасно описывает то, что должен знать каждый программист — основы отладки нерабочего кода.

Если вы читаете эту заметку, то, скорее всего, вы перешли по ссылке, которую либо я, либо кто-то ещё оставил под вашим вопросом на StackOverflow незадолго до того, как этот вопрос был закрыт и удалён. (Если вы читаете эту заметку по другому поводу, оставляйте свои любимые советы по отладке маленьких программ в комментариях).
Читать дальше →

Карманная метеостанция

Время на прочтение5 мин
Охват и читатели18K
Да, метеостанция — это про что-то, измеряющее огромное количество параметров от направления и силы ветра до уровня солнечной радиации, но более подходящего термина не нашлось, поэтому приходится вводить в заблуждение. А вот насчет размера, все по-честному.

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

How-to: упаковать вашу экспертность в IT в восхитительный онлайн-курс

Время на прочтение6 мин
Охват и читатели2.8K

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

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

Читать далее

Методы защиты серверов от космического излучения

Время на прочтение6 мин
Охват и читатели6.2K

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

Раньше считалось, что проблема характерна только для авионики и космонавтики. Но эксперименты доказали, что SEU неминуемо происходят даже на уровне океана (то есть под защитой атмосферы) в компьютерных системах с модулями оперативной памяти (RAM). Можно рассчитать вероятность такого повреждения: примерно 1 битфлип на 256 МБ оперативной памяти в месяц (см. также статистику аппаратных сбоев в одном миллионе пользовательских ПК).
Читать дальше →

Экспорт статей Хабра в html, markdown

Время на прочтение2 мин
Охват и читатели15K

image


До меня было написано 4 статьи по экспорту статей с хабра в FB2 и pdf:



Я захотел получить исходники своих статей.

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

А вы знаете, где сейчас используется Лисп?

Время на прочтение5 мин
Охват и читатели37K

Введение


Лисп — второй по старшинству из ныне живых высокоуровневых языков программирования (после Fortran) и первый функциональный язык. Он был разработан в 1958 году и сильно изменился с тех пор, породив множество диалектов и оказав значительное влияние на развитие других языков. На данный момент наиболее известные диалекты: Common Lisp, Scheme, Racket и Clojure.



Слева: Лисп-машина в музее MIT.
Справа: Лисп-машина Symbolics 3640, фото Michael L. Umbricht и Carl R. Friend (Retro-Computing Society of RI)


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


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


Мы в Typeable любим и применяем функциональное программирование, а влияние Лиспа на функциональные языки всё ещё сильно, поэтому нам стало интересно разобраться в этом вопросе.

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

Мини-игра на Rust + macroquad

Время на прочтение11 мин
Охват и читатели8.6K

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

Читать далее

Интернет проект security.txt — знакомство с еще одним .well-known файлом

Время на прочтение1 мин
Охват и читатели16K
Основная идея проекта — формализация взаимодействия между внутренней ИБ и внешними исследователями, давая четкое указание как и куда направлять информацию об уязвимостях или проблемах безопасности. Формализация взаимодействия — серьезная проблема, не все сайты имеют программы bug bounty, или даже просто указывают контакты специалистов по безопасности. А попытки достучаться через службу поддержки и твиттер зачастую заканчиваются уверениями что «Все так и должно быть», и последующим игнорированием.

Конечно, это будет работать только если компания, размещающая информацию в security.txt, готова проверять и своевременно реагировать на информацию, полученную через этот канал.


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

Как правильно делать уборку в доме, если кого-то стошнило

Время на прочтение13 мин
Охват и читатели46K

Ультрафиолет с длиной волны 365 нм показывает следы органики в вашей квартире

Убираться надо, чтобы не было пыли. Но всю пыль дома всё равно не убрать. Во-первых, она останется за холодильником, на шкафах и за шкафами, в радиаторе отопления и в других местах. Во-вторых, даже если вы каким-то чудом полностью уберёте пыль, через час в квартире уже начнёт скапливаться новая. То есть в среднем у нас в домах всегда пыльно.

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

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

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

WordClock — от вдохновения до воплощения

Время на прочтение3 мин
Охват и читатели31K

Однажды увидел картинку необычных часов, которые пишут время. Это были QlockTwo.

Поиск в интернет по производителю предоставил информацию, которой я был огорчен.

Стоимость часов в форм-факторе 450 x 450 мм. начиналась от 1500$ за версию с пластиковой лицевой панелью. Версия со стальной сатинированной панелью стоила 2000$, именно ее я изначально увидел и она мне понравилась.

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

Как же оно получилось?

Тестирование СУБД: 10 лет опыта

Время на прочтение17 мин
Охват и читатели11K

Меня зовут Сергей Бронников, я работаю в команде Tarantool. Когда я присоединился к ней, то не нашёл общего описания того, как устроено тестирование в проекте. Поэтому я вёл для себя заметки по мере погружения в разработку. Я решил переработать их в статью. Она может быть интересна тестировщикам в проектах на C/C++ или пользователям Tarantool, которые хотят узнать, сколько мы усилий прикладываем к тому, чтобы снизить вероятность появления проблем в новых версиях. 

Популярной статьей такого рода является описание тестирования библиотеки SQLite за авторством Ричарда Хиппа. Но у SQLite есть специфика: их инструменты тяжело переиспользовать в других проектах. Это следствие того, что у команды разработчиков SQLite есть обязательства поддерживать библиотеку как минимум до 2050 года, и для сокращения внешних зависимостей они все инструменты пишут сами с нуля (например, тест-раннер, инструмент для мутационного тестирования, Fossil SCM). У нас таких требований нет, поэтому в выборе инструментов мы не ограничены и пользуемся всем, что приносит пользу. И если вас что-то заинтересует, то вы достаточно легко сможете это принести в свой проект на C/C++. Если я вас заинтересовал — велкам под кат.

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

OpenRPNCalc: делаем бескомпромиссный калькулятор

Время на прочтение12 мин
Охват и читатели26K

Вообще-то в блогах я обычно выступаю в роли фриковатого научного сотрудника, занудным голосом вещающего про какое-нибудь измерение параметров Стандартной Модели. Но сейчас я попробую совсем другой жанр. Короче говоря, в один прекрасный день я понял, что мне не хватает «железного» научного калькулятора. Пришлось делать самому. 

Но зачем?

Как мы верифицированный полетный контроллер для квадрокоптера написали. На Ada

Время на прочтение10 мин
Охват и читатели23K

Однажды на новогодних каникулах, лениво листая интернет, бракоделы в нашем* R&D офисе заметили видео с испытаний прототипа роботакси. Комментатор отзывался восторженным тоном – революция, как-никак. Но тренированное ухо расслышало в шуме с испытательной площадки еще кое-что. Контроллер скорости (штука для управления тягой винтов) сыграл мелодию при старте, как это любят делать пилоты дронов, которые часто используют полётный контроллер Betaflight. Неужели там бета-флайт? Ну, или какая-то из ее немногих разновидностей.

Перед глазами побежали флешбеки, где-то из глубин подсознания всплыла забытая уже информация о прошивках для Тойоты на миллионы тысяч строк Си и 2 тысячи глобальных переменных (Toyota: 81564 ошибки в коде).

После просмотра исходного кода Betaflight на гитхабе стало еще страшнее, и чем дальше, тем хуже. Это – управляющая программа для тяжелого устройства с острыми винтами, которое летает высоко, быстро. Становится страшно: игрушки это одно, но я бы не хотел летать, на таком такси. Но ведь можно иначе? Можно, решили мы! И решили это доказать. На Avito был куплен акробатический FPV-“квадрик” на базе STM32F405, для отладки – Discovery-платы для этого же контроллера, а дальше все как в тумане..

Читать далее

Что делать, если украли смартфон

Время на прочтение10 мин
Охват и читатели177K
image


Евгений (MalDeckard) Черешнев поделился личным опытом и написал исчерпывающий гайд, который может помочь многим людям и предостеречь от последствий:

У меня на днях украли смартфон — профессиональный вор-велосипедист на скорости выхватил из рук прямо в центре города и был таков. Это может случиться с кем угодно и в любой стране мира. Я, в силу профессиональной деформации вокруг IT, данных, приватности и безопасности, к ситуации был морально готов и знал, что делать. Друзья, с которым поделился историей посоветовали написать памятку, которую может использовать каждый человек, даже далекий от айти. Этот текст — эта самая памятка. Смартфон она вам не вернет. Но, если кому-то поможет снизить ущерб и сэкономит седых волос — значит, не зря потратил время на написание, а вы — на прочтение.

Справедливости ради, большинство воров уже в курсе того, что каждый смартфон — это, по сути, радиомаяк, по которому всегда можно укравшего отследить. Поэтому они редко оставляют его включенным — практически сразу достают и выбрасывают SIM-карту, сам телефон вырубают и сдают на запчасти за копейки. Что крайне обидно — ибо шансы того, что, например, мой iPhone 12 Pro Max 512 банально разберут на экран, аккумулятор и несколько особо востребованных микросхем — стремятся к 100%. То есть, вор украл крайне дорогой девайс, а получит за него или хрен или (если он идиот) — срок. Но это не всегда так. Иногда можно получить реально грузовичок и тележку проблем. Во-первых, в ряде типов краж (как в моем случае) телефон попадает в руки плохого парня в разлоченном состоянии и есть риск, что злоумышленник девайс специально не залочит — будет держать его активированным и извлекать из него максимальную пользу, на что у него будет в теории до 24ч (после чего сработает система защиты в заводских настройках и снова попросит ввести пин-код, даже, если телефон до сих пор разлочен).
Читать дальше →

Сам себе пейджинговый оператор

Время на прочтение2 мин
Охват и читатели95K

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

В ноябре 2020 на Авито я наткнулся на объявление о продаже пейджера Motorolla Advisor всего за 100 рублей и рядом со мной. По гуглив подобные объявления, я понял что этот раритет отдается даром. Спустя всего час в руках у меня было чудо техники из 90х. И волна ностальгии, по школьным годам нахлынула на меня, с таким прибором я ходил еще в 1-3 классе. Пейджер был в идеальном состоянии почти ни царапинки. И тут в моей голове забегали тараканы, и я захотел отправить на него сообщение любым способом .

Читать далее

Про ScalaCheck

Время на прочтение8 мин
Охват и читатели9.3K

Про ScalaCheck


Часть 1. Введение.


ScalaCheck — это комбинáторная библиотека, значительно облегчающая написание модульных тестов на Scala. В ней используется подход property-based тестирования, впервые реализованный в библиотеке QuickCheck для языка Haskell. Существует множество реализаций QuickCheck: как для Java, C, а так же других языков и платформ. Использование данного подхода позволяет значительно сократить время на разработку тестов.


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

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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность