#algorithms #mean
Недистрибутивность деления, или Как я считал среднюю величину
Казалось бы: сложно отыскать формулу проще, чем нахождение среднего арифметического. Однако код — не формула, вдобавок, если вы пишете на С++, то разного (и в основном неприятного) рода сюрпризы могут ожидать вас где угодно. Постановка задачи: реализовать функцию uint32t average(uint32t a, uint32t b), не используя типов шире, чем uint32t, и затем обобщить этот подход на произвольное количество аргументов.
⭐️⭐️◽️◽️◽️
📖 Читать
Недистрибутивность деления, или Как я считал среднюю величину
Казалось бы: сложно отыскать формулу проще, чем нахождение среднего арифметического. Однако код — не формула, вдобавок, если вы пишете на С++, то разного (и в основном неприятного) рода сюрпризы могут ожидать вас где угодно. Постановка задачи: реализовать функцию uint32t average(uint32t a, uint32t b), не используя типов шире, чем uint32t, и затем обобщить этот подход на произвольное количество аргументов.
⭐️⭐️◽️◽️◽️
📖 Читать
#информационная_безопасность #платежные_терминалы
Как я «случайно» получил root-доступ к платёжному терминалу
Этот проект я посвятил реверс-инжинирингу платёжных терминалов, так как из-за сопряжённых с их использованием финансовых рисков они представляют особый интерес в плане безопасности. И хотя эта отрасль для меня была не особо знакома, я считал, что в таком устройстве должна быть куча всяких защит. По факту так оно и оказалось, в какой-то степени…
⭐️⭐️◽️◽️◽️
📖 Читать
Как я «случайно» получил root-доступ к платёжному терминалу
Этот проект я посвятил реверс-инжинирингу платёжных терминалов, так как из-за сопряжённых с их использованием финансовых рисков они представляют особый интерес в плане безопасности. И хотя эта отрасль для меня была не особо знакома, я считал, что в таком устройстве должна быть куча всяких защит. По факту так оно и оказалось, в какой-то степени…
⭐️⭐️◽️◽️◽️
📖 Читать
#программирование #c
Апгрейд по реверс-инженерски: хакаем прошивку кнопочного телефона и пишем для него программы
Осторожно: в данной серии статей я рассказываю о реверс-инжиниринге и хакинге простых кнопочных звонилок. Цель простая: расширить скудный функционал телефонов ценой до 1 000 рублей и сделать их привлекательной платформой для самых разных гиков. Если вам интересно узнать, как происходит процесс взлома и изучения прошивок, а также написания новых программ для кнопочников — жду вас под катом!
⭐️⭐️◽️◽️◽️
📖 Читать
Апгрейд по реверс-инженерски: хакаем прошивку кнопочного телефона и пишем для него программы
Осторожно: в данной серии статей я рассказываю о реверс-инжиниринге и хакинге простых кнопочных звонилок. Цель простая: расширить скудный функционал телефонов ценой до 1 000 рублей и сделать их привлекательной платформой для самых разных гиков. Если вам интересно узнать, как происходит процесс взлома и изучения прошивок, а также написания новых программ для кнопочников — жду вас под катом!
⭐️⭐️◽️◽️◽️
📖 Читать
#счетчик #индикаторы
Электронная нагрузка для разряда аккумуляторов на микроконтроллере PIC16F628A
Привет, Хабр! У данного микроконтроллера отсутствует встроенный аналогово-цифровой преобразователь (АЦП), зато есть цифро-аналоговый (ЦАП) и компараторы. Это позволяет использовать PIC16F628A для управления разрядным устройством с довольно продвинутым функционалом.
⭐️⭐️◽️◽️◽️
📖 Читать
Электронная нагрузка для разряда аккумуляторов на микроконтроллере PIC16F628A
Привет, Хабр! У данного микроконтроллера отсутствует встроенный аналогово-цифровой преобразователь (АЦП), зато есть цифро-аналоговый (ЦАП) и компараторы. Это позволяет использовать PIC16F628A для управления разрядным устройством с довольно продвинутым функционалом.
⭐️⭐️◽️◽️◽️
📖 Читать
#json #потоковая_передача_данных
Прогрессивный JSON
Вы знаете, что такое прогрессивный JPEG? Можете почитать хорошее объяснение. Идея заключается в том, что вместо загрузки изображения сверху вниз оно сначала грузится размытым, а потом постепенно становится чётче.Что, если мы применим тот же принцип к передаче JSON?
⭐️⭐️◽️◽️◽️
📖 Читать
Прогрессивный JSON
Вы знаете, что такое прогрессивный JPEG? Можете почитать хорошее объяснение. Идея заключается в том, что вместо загрузки изображения сверху вниз оно сначала грузится размытым, а потом постепенно становится чётче.Что, если мы применим тот же принцип к передаче JSON?
⭐️⭐️◽️◽️◽️
📖 Читать
#дизайн #смартфоны
Почему все смартфоны стали одинаковыми: история потерянного разнообразия
⭐️⭐️◽️◽️◽️
📖 Читать
Почему все смартфоны стали одинаковыми: история потерянного разнообразия
⭐️⭐️◽️◽️◽️
📖 Читать
#настройка #настройка_системы
Огромный гайд по настройке рабочего окружения: Linux, VScode, Python
⭐️⭐️⭐️⭐️⭐️
📖 Читать
Огромный гайд по настройке рабочего окружения: Linux, VScode, Python
⭐️⭐️⭐️⭐️⭐️
📖 Читать
#security #cluster
Как собрать Docker-образ, который можно запускать в проде (а не только у себя на ноуте)
Если ты пишешь Dockerfile, скорее всего, он работает. Но вопрос не в том, работает ли. Вопрос в другом: будет ли он работать через неделю, на другом сервере, в CI/CD, на чужом железе — и будет ли это безопасно?
⭐️⭐️⭐️⭐️◽️
📖 Читать
Как собрать Docker-образ, который можно запускать в проде (а не только у себя на ноуте)
Если ты пишешь Dockerfile, скорее всего, он работает. Но вопрос не в том, работает ли. Вопрос в другом: будет ли он работать через неделю, на другом сервере, в CI/CD, на чужом железе — и будет ли это безопасно?
⭐️⭐️⭐️⭐️◽️
📖 Читать
#безопасность #уязвимости
Дыра в щите Cloudflare: как атака на Jabber.ru вскрыла проблему, о которой молчат c 2023
⭐️⭐️⭐️◽️◽️
📖 Читать
Дыра в щите Cloudflare: как атака на Jabber.ru вскрыла проблему, о которой молчат c 2023
⭐️⭐️⭐️◽️◽️
📖 Читать
#гаджеты #история_it
10 забытых гаджетов, которые были слишком круты для своего времени
⭐️⭐️⭐️◽️◽️
📖 Читать
10 забытых гаджетов, которые были слишком круты для своего времени
⭐️⭐️⭐️◽️◽️
📖 Читать
#bug_bounty #trufflehog
Призраки в коммитах: как я заработал $64 000 на удаленных файлах в Git
Сегодня расскажу, как построил систему, которая клонирует и сканирует тысячи публичных GitHub-репозиториев — и находит в них утекшие секреты. В каждом репозитории я восстанавливал удаленные файлы, находил недостижимые объекты, распаковывал .pack-файлы и находил API-ключи, активные токены и учетки. А когда сообщил компаниям об утечках, заработал более $64 000 на баг-баунти.
⭐️⭐️⭐️◽️◽️
📖 Читать
Призраки в коммитах: как я заработал $64 000 на удаленных файлах в Git
Сегодня расскажу, как построил систему, которая клонирует и сканирует тысячи публичных GitHub-репозиториев — и находит в них утекшие секреты. В каждом репозитории я восстанавливал удаленные файлы, находил недостижимые объекты, распаковывал .pack-файлы и находил API-ключи, активные токены и учетки. А когда сообщил компаниям об утечках, заработал более $64 000 на баг-баунти.
⭐️⭐️⭐️◽️◽️
📖 Читать
#работа
Гайд по совмещению 5 работ: инструкция по самоуничтожению
Недавно наткнулся на гайд по двум работам в IT. Я сразу же подумал, а почему только 2 работы? Это же какое-то раздолбайство. Где гайд по 3–4–5 работам? Совсем не хотят работать блогеры. Поэтому я решил написать свой гайд на Хабр.
⭐️⭐️⭐️◽️◽️
📖 Читать
Гайд по совмещению 5 работ: инструкция по самоуничтожению
Недавно наткнулся на гайд по двум работам в IT. Я сразу же подумал, а почему только 2 работы? Это же какое-то раздолбайство. Где гайд по 3–4–5 работам? Совсем не хотят работать блогеры. Поэтому я решил написать свой гайд на Хабр.
⭐️⭐️⭐️◽️◽️
📖 Читать
#информационная_безопасность #кибербезопасность
Брутфорс телефонного номера любого пользователя Google
Несколько месяцев назад я отключил JavaScript в своем браузере, чтобы проверить, остались ли в современном интернете сервисы Google, которые все еще работают без JS. Как ни странно, форма восстановления имени пользователя все еще работала!
⭐️⭐️⭐️◽️◽️
📖 Читать
Брутфорс телефонного номера любого пользователя Google
Несколько месяцев назад я отключил JavaScript в своем браузере, чтобы проверить, остались ли в современном интернете сервисы Google, которые все еще работают без JS. Как ни странно, форма восстановления имени пользователя все еще работала!
⭐️⭐️⭐️◽️◽️
📖 Читать