Как стать автором
Обновить
-3
0.1

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

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

Фантастический OpenRISC и где он обитает, или недетский разбор детской камеры

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров17K

После запуска Doom на кнопочном телефоне, я искал устройства на которых можно это повторить. К ним есть требования: цветной экран и несколько мегабайт памяти (идеально 4, но можно запустить и на двух). Видел счётчик электричества и USB тестер, то и другое есть с цветными экранами. Но покупать не стал, потому что скорее всего такие устройства имеют лишь десятки килобайт памяти, как и мощный чип им не нужен. Наконец на распродаже на известном китайском маркетплейсе увидел детский фотоаппарат, его и заказал для своего извращённого развлечения реверс-инжинирингом.

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

Да простят меня подписчики хаба фототехники.

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

Точечная маршрутизация на Mikrotik: BGP и Address lists + Mangle. Реализация через домены

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров88K

Как загрузить список из 500 доменов на mikrotik, чтоб он их преобразовал в IP-адреса?

Как заставить Mikrotik резолвить домены по wildcard?

Как поднять Shadowsocks\VLESS на ROS?

Никак

Я задался этими вопросами, достал hAP ac lite из шкафа и посмотрел, на что способна ROS 7 в конце 2023 года. Потестил всем известные способы, а также попробовал запихать много доменов в address-lists.

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

nocc — распределённый компилятор для гигантских проектов на С++

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

У нас есть задача постоянно компилировать тонны плюсового кода. Наш проект — почти 200 000 cpp- и h-файлов, множество Git-веток, сотни разработчиков, десятки билд-агентов: его нельзя единожды скомпилировать, приходится перекомпилировать постоянно, параллельно, разные версии.

Наш проект необычный. Потому что эти 200 000 файлов — это результат автогенерации. Потому что пишем мы на PHP, а потом через KPHP все PHP-исходники превращаются в плюсы. Именно так разрабатывается бэкенд ВКонтакте.

Компилировать тысячи объектников долго. Локально это занимает много часов. Мы использовали distcc — но всё равно медленно. Мы даже пропатчили distcc для поддержки precompiled headers — но даже тогда медленно. И решили написать своё — чтоб стало, наконец, быстро.

В итоге мы написали замену distcc — компилятор nocc. Он не имеет никакого отношения к PHP и даже к KPHP, а просто предназначен для компиляции .cpp.o в промышленных масштабах.

Это техническая статья про параллелизацию, демоны и специфику С++. Ссылки на GitHub и видео приложу в конце статьи.

Читать далее
Всего голосов 83: ↑81 и ↓2+106
Комментарии69

Геоанализ этажности Санкт-Петербурга алгоритмом KDE, или Как меняется облик города

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

Всем привет, меня зовут Максим Шаланкин, в Ситимобил я занимаюсь машинным обучением. Мы используем множество крутых алгоритмов для оптимизации наших сервисов и улучшения бизнес-процессов. В этой публикации я расскажу, как использовать в геоаналитике алгоритм ядерной оценки плотности (Kernel Density Estimation) и строить полигоны на карте, основываясь на распределении географических данных.

Врууум
Всего голосов 23: ↑21 и ↓2+26
Комментарии3

Чемпионаты по программированию: развлечение для студентов или способ устроиться на работу мечты?

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

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


Действительно, бывают чемпионаты чисто спортивные, куда люди приходят себя показать. А бывают другие — коммерческие, где на кону действительно крупные суммы денег, офферы в известные IT-компании и возможность релокейта в другую страну.


Расскажем, как отличить такие коммерческие чемпионаты от спортивных, кто и зачем вообще проводит такие чемпионаты, и почему стоит в них поучаствовать. Даже если вы пока не планируете менять место работы.



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

Книги с необычными вымышленными эпидемиями

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

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

Фантасты тоже любят рассказывать про всемирные эпидемии. Или не всемирные, но разнообразные вирусы и болезни изобретать любят точно, причем временами абсолютно невероятные. И вот несколько ярких тому примеров.

Читать далее
Всего голосов 15: ↑14 и ↓1+22
Комментарии44

Ахтунг: «бесплатный» антивирус от RU-CENTER (NIC.RU)

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

Астрологи объявили очередной сезон развода на деньги клиентов RU-CENTER (nic.ru). Схема развода примитивна, неоднократно описана (в том числе здесь же на Хабре!), но может сработать при вашей невнимательности:

Читать дальше →
Всего голосов 66: ↑64 и ↓2+81
Комментарии80

Сетевая подсистема в ОС

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

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

Disclamer: Статья описывает данные, которые с точки зрения автора помогут понять, как работают операционные системы с моделью TCP/IP, и не претендует на полноту.

Читать далее
Всего голосов 16: ↑9 и ↓7+5
Комментарии3

Интеграция пользователей сайта и форума на phpbb 3

Время на прочтение4 мин
Количество просмотров14K
Совсем недавно возникла необходимость быстрой интеграции сайта и форума phpbb3. Погуглив, нормального примера не нашел. Пришлось писать самому. Возможно, кому-то пригодится.

Итак, пусть есть сайт, с собственной системой авторизации. Необходимо добавить форум phpbb с быстрым (и возможно даже правильным) решением проблем с интеграцией существующей пользовательской базы. Авторизация и регистрация новых пользователей по-прежнему будет происходить на сайте, в форум будут попадать уже зарегистрированные пользователи. Регистрация и авторизация на форуме будет закрыта.

Для начала отключим возможность регистрации новых пользователей:
Для этого в администраторском аккаунте перейдите на вкладку “Общие”, и в левом меню выберите “Регистрация пользователей”. Далее отключаем регистрацию:
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии1

Программистское везение

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

Более двух десятков лет назад мы разрабатывали устройство, передающее и принимающее данные, используя телевизионный сигнал. Это сейчас все избалованы гигагерцами и гигабайтами, а тогда, имея компьютер типа IBM/PC-AT, на таких скоростях можно было работать только с помощью встроенного контроллера прямого доступа к памяти (ПДП), реализованного в виде микросхем 8237А-5. Это устройство позволяло писать или читать данные, не привлекая центральный процессор.

Отработка ПО заняла несколько недель, и когда все, наконец, заработало, я решил привести исходные тексты на ассемблере в окончательный и красивый вид. С одной стороны, в этот момент, поскольку все уже работает, существенных исправлений в тексте не предвидится, с другой стороны – в памяти еще удерживается множество деталей, которые лучше увековечить понятными комментариями, так как очень скоро все эти детали забудутся. Заодно, можно глобально заменить все неудачные названия переменных на более внятные, исправить орфографические ошибки, красиво подвинуть строки и т.п.

И вот, при заключительном просмотре текста, я вдруг увидел глупую описку в программировании ПДП. Адрес в 16-разрядной 8237А-5 приходилось задавать по частям и при задании номера «станицы» (т.е. номера куска памяти в 128 Кбайт) вместо команды

Читать далее
Всего голосов 33: ↑29 и ↓4+36
Комментарии21

Прадедушка ноутбука

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


Если семидесятые годы считаются эпохой сексуальной революции, то восьмидесятые ознаменовались революцией технологической. Компьютеры перешли из категории диковинных игрушек для ученых в разряд привычной домашней техники. На рынке появились персоналки Atari, Commodore 64, первые ПК от Apple. Тогда же разработчики озаботились не только увеличением производительности ПК, но и уменьшением их габаритных размеров, чтобы компьютер мог взять с собой в самолет любой банковский клерк. Одного из пионеров в области портативного компьютеростроения звали Адам Осборн.
Всего голосов 34: ↑30 и ↓4+44
Комментарии19

Тестирование это просто. Или история одного велосипеда

Время на прочтение2 мин
Количество просмотров3.7K
Однажды мне нужно было протестировать ответ сервера и я решил что использовать для этого тяжеловесные швейцарские ножи вроде PhpUnit — обременительно. Осложнялось все тем — что инфраструктура была разбита на множество веб-микросервисов, которые в свою очередь работали на разных бэкендах(PHP, NodeJS, Python, GO). Посему я решил набросать простой класс, который на удивление оказался очень удобным инструментом для приемочного тестирования системы.
— Нам нужно быть уверенными что при каждом пуше у нас не сломается вся инфраструктура, сможешь сделать? -Легко!
Читать дальше →
Всего голосов 8: ↑7 и ↓1+10
Комментарии4

Законы программирования

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

Законы, теории, принципы и закономерности, полезные для разработчиков


Введение


Перевод репозитория github.com/dwmkerr/hacker-laws

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

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

Законы


Закон Амдала


Закон Амдала — это формула, демонстрирующая потенциал ускорения вычислительной задачи, которого можно достичь при увеличении количества ресурсов системы. Обычно он используется в параллельных вычислениях, и может предсказать наличие реальных преимуществ от увеличения количества процессоров с учётом ограничений параллелизуемости программы.
Читать дальше →
Всего голосов 67: ↑65 и ↓2+80
Комментарии21

В самом популярном фрагменте кода за всю историю StackOverflow ошибка! 

Время на прочтение7 мин
Количество просмотров70K
Недавнее исследование «Использование и атрибуция сниппетов кода Stack Overflow в проектах GitHub» внезапно обнаружило, что чаще всего в опенсорсных проектах встречается мой ответ, написанный почти десять лет назад. По иронии судьбы, там баг.

Давным-давно…


Еще в 2010 году я сидел в своём офисе и занимался ерундой: развлекался код-гольфингом и накручивал рейтинг на Stack Overflow.

Моё внимание привлёк следующий вопрос: как вывести количество байт в удобочитаемом формате? То есть как преобразовать что-то вроде 123456789 байт в «123,5 МБ».


Старый добрый интерфейс 2010 года, спасибо The Wayback Machine
Читать дальше →
Всего голосов 119: ↑117 и ↓2+160
Комментарии79

«Люди думают, что бесплатное — значит бесполезное. Мне казалось, я смогу их переубедить» — Юрий Ярцев о школе Russol

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

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

О своем опыте создания онлайн-школы мне рассказал Юрий Ярцев. Он создал школу стартапов Russol. Она особенная, потому что бесплатная. И конечно, это приводит к недоверию всех видов: и «бесплатное равно бесполезное», и «бесплатный сыр только в мышеловке».
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии3

Подборка полезных слайдов от Джулии Эванс

Время на прочтение1 мин
Количество просмотров53K
Перевели новую порцию слайдов. Права доступа в Unix, файловые дескрипторы, потоки, магия proc. И на закуску пара советов о том, как общаться, когда ты не согласен. А вдруг пригодятся =)



Читать дальше →
Всего голосов 115: ↑111 и ↓4+107
Комментарии42

Moral Machine: беспощадный или бессмысленный?

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

Данную статью я решил написать по следам вот этого поста.




Напомню краткую суть: в журнале Nature были опубликованы результаты исследования, проводившегося при помощи вот этого теста.

О чем же хочу написать я?


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


Во-вторых, как стоило бы расставить приоритеты в подобном исследовании.


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

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

Информация

В рейтинге
3 412-й
Зарегистрирован
Активность