Pull to refresh
0
Дмитрий @diffread⁠-⁠only

User

Send message

ФБР просит помощи в расшифровке сообщения 1999 года

Reading time1 min
Views14K
ФБР обратилось за помощью к сообществу гражданских криптоаналитиков за помощью в расшифровке предсмертного послания, которое было найдено 30 июня 1999 года в карманах жертвы преступления Рикки Маккормика (Ricky McCormick) из Сент-Луиса.

Скан записок на сайте ФБР

ФБР сообщает, что «несмотря на тщательную работу отдела криптоанализа (CRRU) и Американской ассоциации криптограмм, значение этих двух зашифрованных записок остаётся загадкой».
Читать дальше →
Total votes 110: ↑106 and ↓4+102
Comments242

Эффективные совещания

Reading time3 min
Views18K


Итак, мы приходим на работу и, вуаля, через 40 минут назначено совещание (митинг). Тема «Обсудить решение текущих проблем», продолжительность 1 час, в списке приглашенных 8 человек. 40 минут томительного ожидания и мы на месте — здороваемся с коллегами, настраиваемся на конструктивный лад. Появляется организатор, бодренько стартует и… уже через пять минут мы понимаем, что в очередной раз теряем время. Вроде бы, и обсуждаемые проблемы вполне реальны, и присутствует достаточно людей, но совещание неуклонно превращается в бесцельную дискуссию.

Уверен, эта ситуация знакома многим и много написано о том, какими совещания быть не должны. И все же, есть проблемы, которые рискованно решать в одиночку и без совещания не обойтись. Эта статья о том, как в этих случаях потратить свое и чужое время эффективно.
Читать дальше →
Total votes 146: ↑139 and ↓7+132
Comments47

Инструменты кросскомпиляции для ARM

Reading time3 min
Views30K
В сети есть достаточно много источников на тему сборки приложений под архитектуру ARM, но когда я впервые столкнулся с такой задачей, то набил не одну шишку. Этот топик будет про самые начала кросскомпиляции и различные подходы к этому вопросу.

Моё устройство принадлежит к архитектуре ARMv5TE и разработка велась на x86 машине с Ubuntu Linux.
Так как это введение, то собирать будем простую программу для высчитывания факториала числа.

Подход 1. Коммерческий.
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments11

Код, который невозможно поддерживать (часть 3, заключительная)

Reading time7 min
Views2.5K
(Окончание этих двух топиков — переводов эссе «Unmaintainable Code». В оставшихся главах автор часто обращается к уже описанным методам, удваивая и утраивая каждый из них; изложение сильно сокращено за счет исключения таких мест.)

Тестирование



Если вы оставите баг-другой в своей программе, то человеку, который придет после вас, будет чем развлечься.

Читать дальше →
Total votes 57: ↑51 and ↓6+45
Comments22

Код, который невозможно поддерживать (часть 2)

Reading time7 min
Views3.4K
Продолжение этого топика — вторая и третья главы эссе «Unmaintainable Code». Несколько перекликается с первой, но описанные методы уже не так очевидны (а некоторые отличаются поистине дьявольской изобретательностью и не меньшей злокозненностью). Ах да, с заявленного в прологе языка Java автор незаметно переключился на C/C++.

Камуфляж



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

Читать дальше →
Total votes 82: ↑62 and ↓20+42
Comments57

Код, который невозможно поддерживать

Reading time7 min
Views11K
Вольный перевод с сокращениями первой части эссе «Unmaintainable Code». Именование переменных — довольно банальная тема (хоть и забавно изложенная), но без этой части эссе было бы неполным.

Пролог



Это самое популярное из моих эссе. Удивительно, сколько людей не понимают, что это насмешка.

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

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

Читать дальше →
Total votes 135: ↑115 and ↓20+95
Comments58

Не забываем о языковых и культурных особенностях

Reading time6 min
Views24K
Рано или поздно все сталкиваются с проблемами связанными с языковым и культурным разнообразием при написании программ. Я был сильно удивлен узнав, что часть моих знакомых, пишущих на C++, решают эти проблемы своими велосипедами. Для тех, кто еще не знает что такое std::locale я хотел бы кратко на примере показать как c ним работать и что бывает, если о нем забыть…
Читать дальше
Total votes 68: ↑66 and ↓2+64
Comments27

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity