Как стать автором
Обновить
81
0

Программист-фрилансер

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

Сети для самых маленьких. Часть девятая. Мультикаст

Время на прочтение 51 мин
Количество просмотров 641K

Наш умозрительный провайдер linkmeup взрослеет и обрастает по-тихоньку всеми услугами обычных операторов связи. Теперь мы доросли до IPTV.
Отсюда вытекает необходимость настройки мультикастовой маршрутизации и в первую очередь понимание того, что вообще такое мультикаст.
Это первое отклонение от привычных нам принципов работы IP-сетей. Всё-таки парадигма многоадресной рассылки в корне отличается от тёплого лампового юникаста.
Можно даже сказать, это в некоторой степени бросает вызов гибкости вашего разума в понимании новых подходов.

В этой статье сосредоточимся на следующем:




Читать дальше →
Всего голосов 108: ↑106 и ↓2 +104
Комментарии 27

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

Время на прочтение 3 мин
Количество просмотров 11K

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

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

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

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

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

Читать далее
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 45

Шифрование информации в Linux

Время на прочтение 4 мин
Количество просмотров 20K

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

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 27

Пример применения кода Рида-Cоломона

Время на прочтение 9 мин
Количество просмотров 20K

Пример применения кода Рида-Cоломона

О чём это всё?

Всем привет! Наконец дошли руки описать то как я проверял на практике знания, полученные в ходе написания трёх статей об избыточном кодировании по методу Рида-Соломона (раздватри)

Читать далее
Всего голосов 102: ↑102 и ↓0 +102
Комментарии 46

Ретроноутбуки в фильме «Хакеры»

Время на прочтение 10 мин
Количество просмотров 24K
С возрастом появляется новая сложная фича, когда вдруг прикидываешь срок знакомства с каким-либо артефактом собственной жизни и, не веря, переспрашиваешь сам себя: «сколько-сколько?!». Фильму «Хакеры» в сентябре этого года исполнилось двадцать шесть лет. А это в моем понимании новое кино, в смысле не старое, где Луи де Фюнес, Пьер Ришар и Жан-Поль Бельмондо. «Хакеры» — это фильм о технологиях, который за четверть века должен был безнадежно устареть. Но нет, он свеж и бодр, возможно потому, что показывает эти технологии очень условно. Это модемная буффонада, кремниевая сказка, вольная пьеса про транзисторы и интернет.


Впервые я посмотрел «Хакеров» довольно поздно, кажется году в 1999-м. И был сражен наповал богатством техники в фильме: вроде бы такие же старшеклассники как я используют портативные компьютеры, да еще и раскрашенные в разные цвета. Это было невероятно, и совершенно не соответствовало реалиям, что нашим победнее, что западным побогаче — большинство нормальных людей в конце девяностых прекрасно обходились подержанным десктопом на «первом пне». Я во второй раз пересматриваю кино в попытке найти и назвать поименно реальные компьютерные и околокомпьютерные железки. Вот что получилось.
Спойлеры!
Всего голосов 69: ↑69 и ↓0 +69
Комментарии 59

Концепции libp2p. Publish/Subscribe

Время на прочтение 8 мин
Количество просмотров 2.6K

Перевод статьи с портала проекта Libp2p.

Публикация/Подписка (Publish/Subscribe, сокр. pub/sub или PubSub - прим. перев.) - это система, в которой одноранговые узлы (в дальнейшем - просто "узлы" или "пиры" (peers) - прим. перев.) объединяются вокруг интересующих их тем. Говорят, что пиры, заинтересованные в какой-либо теме, подписаны на эту тему:

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Web Components — будущее Web

Время на прочтение 12 мин
Количество просмотров 114K
Спустя какое время стало ясно, что основная идея Prototype вошла в противоречие с миром. Создатели браузеров ответили на возрождение Javascript добавлением новых API, многие из которых конфликтовали с реализацией Prototype.

— Sam Stephenson, создатель Prototype.js, You Are Not Your Code

Создатели браузеров поступают гармонично. Решение о новых API принимают с учётом текущих трендов в opensource сообществах. Так prototype.js способствовал появлению Array.prototype.forEach(), map() и т.д., jquery вдохновил разработчиков на HTMLElement.prototype.querySelector() и querySelectorAll().

Код на стороне клиента становится сложнее и объёмнее. Появляются многочисленные фреймворки, которые помогают держать этот хаос под контролем. Backbone, ember, angular и другие создали, чтобы помочь писать чистый, модульный код. Фреймворки уровня приложения — это тренд. Его дух присутствует в JS среде уже какое-то время. Не удивительно, что создатели браузеров решили обратить на него внимание.
Читать дальше →
Всего голосов 95: ↑89 и ↓6 +83
Комментарии 90

Delta Chat — децентрализованный мессенджер поверх электронной почты

Время на прочтение 4 мин
Количество просмотров 40K
Изжила ли себя электронная почта? Каким мессенджером стоит пользоваться, чтобы не попасть в затруднительную ситуацию и не потерять связь с друзьями? Можно ли использовать старые технологии на новый лад?

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

Представляю вашему вниманию проект DeltaChat




Delta Chat — свободный децентрализованный мессенджер для Android, iOS, Linux, Mac, функционирующий поверх древнейшего стека протоколов E-mail. Версия для Windows находится в разработке.
Читать дальше →
Всего голосов 69: ↑65 и ↓4 +61
Комментарии 65

О специальных макро в ассемблере

Время на прочтение 10 мин
Количество просмотров 7K

Много лет назад американским специалистом Гарри Килдэллом (Gary Kildall) в рамках создания системы программирования для персональных компьютеров был разработан транслятор с языка ассемблера для процессора Intel 8086, который он назвал RASM-86 (Relocating ASseMbler). Этот во многом типичный для своего времени продукт имел особенность: он позволял, не меняя транслятора, добавлять описания новых команд процессора с помощью специальных макросредств.

Автор статьи, используя и развивая этот транслятор, успешно применял данные средства по мере появления новых поколений процессоров. Конечно, иногда и сам транслятор требовал ряда доработок, например, при переходе на архитектуру IA-32, а затем и на x86-64 (IA-32e). Тем не менее, изначально заложенная идея позволила легко продолжать эволюцию транслятора до настоящего времени. Некоторые итоги этой работы рассматриваются далее.

Читать далее
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 12

Реверсим и улучшаем SATA контроллер

Время на прочтение 14 мин
Количество просмотров 40K

Вы когда-нибудь задумывались, как много вокруг умной электроники? Куда ни глянь, натыкаешься на устройство, в котором есть микроконтроллер с собственной прошивкой. Фотоаппарат, микроволновка, фонарик... Да даже некоторые USB Type C кабели имеют прошивку! И всё это в теории можно перепрограммировать, переделать, доработать. Вот только как это сделать без документации и исходников? Конечно же реверс-инжинирингом! А давайте-ка подробно разберём этот самый процесс реверса, от самой идеи до конечного результата, на каком-нибудь небольшом, но интересном примере!

Читать далее
Всего голосов 215: ↑215 и ↓0 +215
Комментарии 92

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

Время на прочтение 3 мин
Количество просмотров 47K

Library Genesis - настоящий бриллиант Интернета. Онлайн-библиотека, предоставляющая свободный доступ более чем к 2.7 миллионам книг, на этой неделе сделала долгожданный шаг. Одно из веб-зеркал библиотеки теперь дает возможность скачать файлы через IPFS - распределенную файловую систему.

Итак, коллекция книг Library Genesis загружена в IPFS, запинена и соединена с поиском. А это значит, что теперь лишить людей доступа к нашему общему культурному и научному наследию стало немного тяжелей.

Подробнее
Всего голосов 89: ↑86 и ↓3 +83
Комментарии 57

Как нарисовать звезду (и не только) в полярных координатах

Время на прочтение 6 мин
Количество просмотров 32K
Вопрос о формуле для многоугольника в полярных координатах регулярно возникает на тематических ресурсах — и так же регулярно остаётся без внятного ответа. В лучшем случае попадается решение через функцию остатка от деления — что не является «чистым» с математической точки зрения, поскольку не позволяет производить над функцией аналитические преобразования. Видимо, настоящие математики слишком заняты решением проблем тысячелетия и поисками простого доказательства теоремы Ферма, чтобы обращать внимание на подобные банальные задачи. К счастью, в этом вопросе воображение важнее знания, и для решения этой задачи не нужно быть профессором топологических наук — достаточно знания школьного уровня.
Дальше больше картинок
Всего голосов 152: ↑150 и ↓2 +148
Комментарии 31

Пишем движок полнотекстового поиска на Go

Время на прочтение 8 мин
Количество просмотров 18K
Полнотекстовый поиск — один из тех инструментов, которые мы используем практически каждый день, когда ищем какую-то информацию в интернете. Full-Text Search (FTS) — это метод поиска текста в коллекции документов. Документ может ссылаться на веб-страницу, газетную статью, сообщение электронной почты или любой структурированный текст.

Сегодня мы собираемся написать собственный движок FTS. К концу этой статьи он сможет выполнять поиск по миллионам документов менее чем за миллисекунду. Начнём с простых поисковых запросов, таких как «Выдать все документы со словом cat», а потом расширим движок для поддержки более сложных логических запросов.

Примечание: самым известным движком полнотекстового поиска является Lucene (а также Elasticsearch и Solr, построенные на его основе).
Читать дальше →
Всего голосов 47: ↑46 и ↓1 +45
Комментарии 23

Просимся в поиск к пользователю с помощью OpenSearch

Время на прочтение 2 мин
Количество просмотров 11K
Хабрапоиск
На картинке есть одна деталь, которую не все замечают. Подсветка стрелки выпадающего меню. Значит сайт, на котором вы находитесь, предлагает добавление поискового плагина. Работает в Firefox и IE.

Как это сделать на примере Хабрапоиска
Всего голосов 88: ↑80 и ↓8 +72
Комментарии 30

IPFS на сервере. Хостим сайты с ноутбука

Время на прочтение 4 мин
Количество просмотров 12K


Мне часто нужно опубликовать статическую страницу или сайт, демо с веб-формой или версткой. Заливать каждый раз куда-то вроде Jsfiddle не всегда удобно, да и редактировать статику в локалхосте куда быстрее и приятнее. Проблемы начинаются, когда мне нужно кому-то показать мою работу, или просто открыть ту же страницу с телефона. Приходится хостить все эти бесконечные рабочие варианты и зарисовки, для каждой заново заливать файлы, прикручивать vhost-ы.

С помощью IPFS можно хостить сайты в интернете прямо с ноутбука, все обновления локальных файлов будут сразу применяться в интернете, и их не нужно куда-то заливать. Когда ноутбук отключен от сети, сайт все равно будет доступен. IPFS это как Bittorrent, только для веба.

В статье мы развернем IPFS ноду на сервере и попробуем эту технологию на практике.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Комментарии 10

Весь Хабр в одной базе

Время на прочтение 7 мин
Количество просмотров 16K

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


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

Читать дальше →
Всего голосов 42: ↑39 и ↓3 +36
Комментарии 51

Старый и новый CSS. История веб-дизайна

Время на прочтение 53 мин
Количество просмотров 30K
Я увлеклась веб-дизайном и разработкой в конце 90-х. Чёрт побери, как это было давно. И как это было ужасно. Я имею в виду, что сделать сайт и опубликовать его представляло хитрое дело, а заказчиков можно было пересчитать по пальцам.

Мне казалось, что большинство разработчиков помнят те дни или хотя бы следующее десятилетие, но нет. Недавно мне попался на глаза твит, автор которого удивлялся технике простановки закруглённых углов до появления border-radius (сделать отдельную картинку для каждого закруглённого угла и точно её позиционировать). Я до сих пор помню, как мы затаив дыхание ждали, когда border-radius станет стандартом и с него уберут префикс в браузерах.

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

Эта статья для всех. История CSS и веб-дизайна, как я её помню.
Читать дальше →
Всего голосов 43: ↑43 и ↓0 +43
Комментарии 33

Особенности установления соединения между участниками сетевой игры типа «равный к равному»

Время на прочтение 10 мин
Количество просмотров 10K
Это сборник информации, которая мне понадобилась, чтобы реализовать этап установления соединения между участниками сетевой игры типа «равный к равному» (peer-to-peer) с использованием протокола UDP.

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

Опытные геймдевелоперы вряд ли найдут тут для себя что-то новое. Но буду благодарен за замечания и комментарии.


Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 10

Application Cache API — новые возможности и проблемы

Время на прочтение 15 мин
Количество просмотров 43K
Голая баба. ШуткаПостепенно концепция стандарта HTML5 становиться реальностью. Браузеры начинают поддерживать новые возможности, которых так не хватало. Но с новыми возможностями появляются и новые проблемы.
В данной статье рассматривается Application Cache API — совокупность функций, обеспечивающих продвинутое кэширование ресурсов web-приложения, и с помощью которых можно просматривать загруженные ранее сайты без подключения к сети Интернет. Особое внимание я уделил практическому использованию и проблемам Application Cache.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 23

Распределенная природа мессенджера Tox

Время на прочтение 7 мин
Количество просмотров 27K
Пока правообладатели собираются заблокировать централизованный Telegram, сообщество пользователей распределенного мессенджера Tox растет. Сегодня, согласно статистике сайта www.toxstats.com, Россия занимает второе место после США по количеству пользователей отставая всего на какие-то 30-50 узлов.

В данной публикации я бы хотел рассказать про распределенную природу данного мессенджера, общие принципы работы DHT-сети Tox, а так же как "догнать и перегнать Америку" по количеству нод.

tox logo


Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 43

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность