Архив за 13 апреля 2014 - 3

в 2:57, , рубрики: Без рубрики

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

1) Закон Линуса

«При достаточном количестве глаз баги выплывают на поверхность», — Эрик Рэймонд.

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

Книга «Факты и заблуждения профессионального программирования» ссылается на это как на восьмое заблуждение. В книге цитируется исследование, утверждающее, что частота, с которой находятся новые баги, не увеличивается линейно с количеством проверяющих. Я считаю, что факт того, что люди плохо справляются с поиском багов в программном обеспечении, должен быть очевиден любому разработчику. В то время, как очевидные баги типа синтаксических проблем или использования антипаттернов можно легко выловить на этапе проверки кода, многие другие баги могут быть раскрыты только при использовании программы.
Читать полностью »

В процессе работы над хеш-таблицей возник обычный вопрос: какую из известных хеш-функций использовать. Образцов таких функций в сети множество, есть и «любимчики», использовавшиеся ранее и показавшие неплохой результат, в основном оценивавшийся «на глаз» — длины цепочек в хеш-таблице на боевых данных «примерно равны», значит, все работает так, как нужно; отдельные выбросы… ну что ж, ну выбросы, бывает.
Читать полностью »

Совсем недавно познакомился с Ардуино, поэтому многим мои примеры покажутся простыми.

Однако таким же новичкам, как я, данная информация будет полезна и сэкономит массу времени.

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

Это в двух словах.

Начал я все с того, что купил 16х2 символьный LCD дисплей на Ибее. Подключив стандартно — понял что это не то, что нужно. Масса проводов — занимает кучу ножек, хаос и беспорядок.

image

Погуглил, понял что есть дисплеи с интерфейсами, упрощающие подключение. погуглил еще, нашел переходник на I2C для моего LCD. Месяц ожидания, ура-ура, подключил.

image

Выглядит гораздо интереснее!

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js