Pull to refresh
407
189.6
Дмитрий Брайт @Bright_Translate

Переводчик

Send message

Проблемная секунда

Level of difficultyMedium
Reading time8 min
Views21K

Сегодня каждый может легко проверить текущее время множеством способов. У нас есть смартфоны, часы, компьютеры, ТВ, холодильники и так далее. Все знают, какой на дворе год, и что он означает. Мы разбираемся во временны́х зонах и знаем, что такое всемирное координированное время (UTC). Всё кажется таким тривиальным. Однако с точки зрения IT-систем здесь существует множество сюрпризов, вынуждающих нас сталкиваться с проблемами, которые возникают очень редко.

В различных IT-системах можно встретить множество нюансов, касающихся времени. Чаще всего они связаны с точностью его измерения и синхронизации между машинами в распределённых системах. В этой же статье я разберу одну странную ситуацию, которая за всю историю случалась лишь несколько раз.
Читать дальше →
Total votes 49: ↑47 and ↓2+55
Comments51

Разбираем устройство радарного датчика движения стоимостью $1

Level of difficultyMedium
Reading time5 min
Views21K

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

Заставить работать такой оказалось несложно. Я просто подключил контакт VIN к 5 вольтам, GND к земле и добавил блокировочный конденсатор на контакт 3V3. Когда в радиусе 5 метров происходит какое-то движение, контакт OUT на 3 секунды поднимает уровень напряжения до 3 В.

В общем, девайс работает, но как?

Начал я с того, что нашёл спецификацию для большой микросхемы SOIC-16. Оказывается, BISS0001 — это инфракрасный датчик движения? Как же он устроен?
Читать дальше →
Total votes 54: ↑53 and ↓1+80
Comments21

Итоги года соло-разработки поискового движка на средства гранта

Level of difficultyEasy
Reading time5 min
Views5.5K

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

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

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

Работа, спонсируемая грантом, заканчивается, но разработка поискового движка продолжается. Независимое финансирование этого проекта запланировано на гораздо больший срок. Если ничего не изменится, его разработка должна завершиться к концу 2026 года.

В текущей статье я решил поделиться своим опытом, оглянувшись на проделанную работу, а также прикинуть перспективы на будущее.
Читать дальше →
Total votes 31: ↑24 and ↓7+27
Comments15

Как нормализовывать телефонные номера

Reading time5 min
Views8K

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

И это становится реальной проблемой, когда вам нужно сохранить телефонные номера в базе данных и затем извлекать из неё записи по ним.
Читать дальше →
Total votes 28: ↑28 and ↓0+38
Comments61

История переформатирования 100 000+ файлов Google в 2012 году

Level of difficultyMedium
Reading time5 min
Views8.2K

В сентябре далёкого 2012 года я трудился начинающим инженером в Google, занимаясь разработкой Bazel (инструмент сборки, внутри компании также известный под именем Blaze). Однажды мне на почту пришло загадочное приглашение из Google Календаря. Его прислали два инженера из США, пригласив на встречу меня и моего тимлида.

Я сразу узнал имена отправителей — это были Роб Пайк и Расс Кокс. И хотя работать мне с ними не доводилось, я был о них наслышан. Расса Кокса я знал по его блогу, который любил читать, а Роба Пайка просто, потому что он известен. В ходе встречи они поделились с нами своим амбициозным планом: переформатировать каждый BUILD-файл Bazel в кодовой базе Google с помощью автоматизированного скрипта.
Читать дальше →
Total votes 32: ↑26 and ↓6+34
Comments6

Моя первая встраиваемая система под управлением Linux

Level of difficultyMedium
Reading time14 min
Views16K

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

Первая часть статьи может показаться не совсем по теме, но в ходе прочтения вы поймёте, что она также имеет отношение к основному тексту. В общем, рекомендую терпеливо прочесть всю историю.
Читать дальше →
Total votes 44: ↑43 and ↓1+63
Comments23

Как обстоят дела с HTTP/3 в сURL на середину 2024 года

Level of difficultyMedium
Reading time5 min
Views11K

Пора в очередной раз проанализировать, в каком состоянии сейчас находится поддержка HTTP/3 в curl.

Думаю, ситуация с curl отражает положение дел во многих других HTTP-инструментах и библиотеках. HTTP/3 был и продолжает быть более сложным в плане развёртывания по сравнению с HTTP/2.
Читать дальше →
Total votes 40: ↑38 and ↓2+52
Comments32

Как я дерзко превратил свою RTX 4090 в eGPU

Level of difficultyMedium
Reading time6 min
Views21K

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

К тому же, RTX 4090 настолько толстая, что занимает на стандартной материнке 3 слота PCIe — а ещё ведь нужно пространство для полноценного обдува. В 2020 году я использовал эту же машину, которая достигала скорости в 11 миллионов IOPS и 66 ГБ/с на базе одного процессора AMD ThreadRipper. Однако, чтобы установить в неё RTX 4090, пришлось извлечь большинство SSD и (тоже горячую) сетевую карту Mellanox 200Gbe. В итоге значительная часть полезного оборудования оказалась не задействована… Долго терпеть я такое не смог и решил перейти к активным действиям.
Читать дальше →
Total votes 59: ↑43 and ↓16+51
Comments62

Возможно, микросервисы вам не нужны

Level of difficultyEasy
Reading time7 min
Views20K

Писать эту статью было весело. Многие наверняка её захейтят, но …

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

Сегодня микросервисы очень популярны. Это прекрасный архитектурный стиль, который помогает масштабировать систему и саму организацию. Их используют многие успешные компании (Netflix, Spotify и прочие). Поэтому вполне нормально, что большинство организаций уже применяют или планируют начать применять этот стиль. Однако не все учитывают сопутствующие затраты.
Читать дальше →
Total votes 45: ↑41 and ↓4+53
Comments35

Лорд Кельвин и его аналоговый компьютер

Level of difficultyEasy
Reading time7 min
Views6.7K
Изобретённая Уильямом Томсоном гениальная машина для прогнозирования приливов позволяла всего за четыре часа простроить график приливов и отливов на год вперёд

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

Мореплаватели всегда старались учитывать приливы и отливы, чтобы не оказаться внезапно выброшенными на мель, а адмиралы хранили графики приливов как сверхсекретную информацию. Различные цивилизации издревле осознавали связь между приливами и лунными циклами, но только в 1687 году Исаак Ньютон объяснил, как конкретно на приливную активность влияют гравитационные силы Солнца и Луны. Спустя девяносто лет, французский астроном и математик Пьер-Симон Лаплас предположил, что приливы можно выразить как гармонические колебания. А ещё через столетие Томсон на основе этой идеи разработал первое устройство для их прогнозирования.
Читать дальше →
Total votes 53: ↑52 and ↓1+74
Comments2

Непроизвольная тирания пользовательских интерфейсов

Level of difficultyEasy
Reading time9 min
Views15K

Посыл этой статьи заключается в том, что одержимость лёгкими, «интуитивными» и, возможно, даже эффективными пользовательскими интерфейсами формирует слой мягкой тирании. Такой слой я бы создал, будучи диктатором, стремящимся усладить общественность в подготовке к лишению её свобод в будущем. Я бы так сильно привязал людей к нелепым ограничениям при использовании разных вещей, что подобное издевательство стало бы нормой.
Читать дальше →
Total votes 72: ↑65 and ↓7+80
Comments114

Реверс-инжиниринг прошивки Samsung WB850F

Level of difficultyMedium
Reading time11 min
Views5.1K

Samsung WB850F стала первой камерой, объединившей в себе DRIMeIII SoC и WiFi. В ней, как и в модели EX2F, используется прошивка, в которую инженеры Samsung любезно включили файл partialImage.o.map с полным дампом компоновщика и именами всех символов из ZIP-архива. Этот их «подарок» мы используем для реверс-инжиниринга основной прошивки SoC, чтобы обеспечить прохождение проверки при обнаружении точек доступа WiFi и возможность использовать для загрузки изображений samsung-nx-emailservice.

Эта публикация продолжает тему статьи, посвящённой камерам Samsung с поддержкой WiFi, и является частью серии, освещающей линейку Samsung NX.
Читать дальше →
Total votes 38: ↑38 and ↓0+54
Comments4

Повышение живучести SSD за счёт его превращения из QLC в SLC

Level of difficultyMedium
Reading time14 min
Views39K

В этой статье мы займёмся беспрецедентным экспериментом! Я шаг за шагом проведу вас через процесс преобразования SSD на базе QLC NAND в SLC SSD, что позволит значительно повысить его ресурс и общую производительность.

▍ Спецификация испытуемого SSD



На роль испытуемого я выбрал Crucial BX500, который мы уже много раз тестировали, освещая этот процесс как на нашем сайте, так и на YouTube-канале.
Читать дальше →
Total votes 101: ↑99 and ↓2+126
Comments85

Как я запрограммировала собственный рукописный шрифт

Level of difficultyMedium
Reading time5 min
Views24K

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

Недавно я создала на JavaScript собственный блочный шрифт, решив, что запрограммировать слитное рукописное письмо будет слишком сложно. Но не прошло и двух месяцев, как вот я здесь и готова рассказать о созданном мной механизме слитного письма. Пожалуй, в этом есть свой урок, но мы в его смысл углубляться не станем.
Читать дальше →
Total votes 102: ↑100 and ↓2+127
Comments59

Почему для меня так важен алгоритм CORDIC

Level of difficultyMedium
Reading time8 min
Views16K

CORDIC — это алгоритм для вычисления тригонометрических функций вроде
sin, cos, tan и тому подобных на маломощных устройствах без использования модуля обработки операций с плавающей запятой или затратных таблиц поиска. По факту он сводит эти сложные функции до простых операций сложения и битового сдвига.

Перейду сразу к делу и скажу, почему я так сильно люблю этот алгоритм, а затем займёмся изучением принципов его работы. По сути, фактические операции CORDIC весьма просты — как я уже сказал, это сдвиги и сложение — но выполняет он их путём комбинирования векторной арифметики, тригонометрии, доказательств сходимости и продуманных техник компьютерных наук. Лично я считаю, что именно это имеют ввиду, описывая его природу, как «элегантную».
Читать дальше →
Total votes 87: ↑87 and ↓0+113
Comments27

Как я вёл двойную жизнь в роли 11-летнего сисопа электронной доски объявлений

Level of difficultyEasy
Reading time12 min
Views8.5K
The Cave BBS на компьютере Бенджи Эдвардса, 1994 год

Прошло уже более 30 лет с момента запуска моей BBS (bulletin board system, электронная доска объявлений), который состоялся 25 ноября 1992 года. Мне тогда было всего 11 лет, и я работал на отцовском ноутбуке Tandy 1800HD, используя модем со скоростью 2 400 бодов. Вскоре The Cave BBS переросла в популярную круглосуточную площадку с 1000+ пользователей. В дальнейшем был семилетний перерыв с 1998 по 2005 годы, после которого я снова её запустил. В этой же статье я поделюсь историей о том, как всё начиналось, и с какими трудностями мне пришлось столкнуться.
Читать дальше →
Total votes 45: ↑44 and ↓1+62
Comments23

Сложности перевода: баг, который говорил по-русски и ломал моё приложение

Level of difficultyMedium
Reading time7 min
Views11K

Шпион всматривается в экраны

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

Со всеми этими задачами я справился за день и, проведя несколько тестов, выпустил новую версию…
Читать дальше →
Total votes 51: ↑50 and ↓1+70
Comments19

Как случайно баллотироваться на пост президента Исландии?

Reading time4 min
Views12K

Чтобы баллотироваться на должность президента Исландии, нужно быть гражданином этой страны в возрасте от 35 лет и собрать от 1 500 до 3 000 подписей избирателей.

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

Это изменение также впервые за всю историю страны позволило обеспечить полную прозрачность относительно того, кто конкретно баллотируется на пост президента. Получилось очень много желающих — на сегодня подписи собирают 82 кандидата, включая комика, модель, мою тётю Хельгу и первого в мире человека, пережившего пересадку двух рук.

Многие из этих людей действительно конкурируют за пост президента (да, среди них моя тётя Хельга), некоторые явно подали заявку в качестве шутки (нет, не упомянутый выше комик), и не менее 11 из них зарегистрировались случайно, понятия не имея о том, что начали сбор подписей в поддержку своего выдвижения.
Читать дальше →
Total votes 67: ↑64 and ↓3+82
Comments49

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

Level of difficultyEasy
Reading time5 min
Views28K

До появления смартфонов под пристальным вниманием наших родителей, школ и законодателей были пейджеры.

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

В течение 1980-х эти устройства активно набирали популярность среди подростков, а также… драг-дилеров. В те годы США переживали общественную панику, связанную с активным употреблением наркотиков молодёжью, и этот факт значительно её усилил, поскольку пейджеры начали считать одним из главных подспорьев наркобизнеса.
Читать дальше →
Total votes 89: ↑87 and ↓2+118
Comments171

Как дальнобойщик в 38 лет стал разработчиком на Ruby on Rails

Level of difficultyEasy
Reading time8 min
Views8.2K

Недавно мне представилась возможность взять интервью у Педро Давида Гарсии Лопеса, разработчика на Ruby on Rails из Великобритании, который до этого работал дальнобойщиком. Интересно то, что он решил стать программистом в 38 лет. В этой статье я расскажу его историю, которая, надеюсь, покажется вам такой же вдохновляющей, какой она показалась мне.
Читать дальше →
Total votes 33: ↑30 and ↓3+52
Comments23
1
23 ...

Information

Rating
16-th
Location
Россия
Works in
Date of birth
Registered
Activity