Рубрика «Блог компании Edison» - 15

Развлекаемся, «распутывая» код на языке Си

Вызов: Прежде чем лезть под кат, скомпилируйте в голове заголовок статьи, что он дает на выходе?

image

Когда я в очередной раз просматривал книгу «Expert C programming», я вдруг наткнулся на раздел «light relief» в международном конкурсе на самый запутанный код на Си (IOCCC). Это соревнование по написанию как можно более нечитабельного кода. То, что такие конкурсы устраиваются для Си, наверное, говорит что-что об этом языке. Мне хотелось увидеть работы участников этого соревнования. Не найдя никакой информации в интернете, я решил поискать их самостоятельно.

IOCCC был придуман Стивеном Борном, когда он решил использовать препроцессор Си и написать Unix shell как бы на языке Си, но больше похожем на язык Algol-68, с его явными окончаниями операторов, например:

if
  ...
fi 

Он добился этого, сделав:

#define IF if(
#define THEN ){
#define ELSE } else {
#define FI ;}

Что позволило ему писать так:

IF *s2++ == 0
THEN return(0);
FI

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

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

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

image

Предположим, вы хотите избавиться от экономического неравенства. Есть два способа сделать это: дать денег бедным или забрать их у богатых. Правда, разница тут небольшая: если хотите дать денег бедным, их надо где-то взять. Ведь не у бедных же их забирать — это их может доконать. Придется забрать их у богатых.

Есть еще вариант сделать бедных богаче без банального отъема средств у богатых. Вы можете помочь бедным стать более продуктивными, например, улучшив доступность образования для них. Вместо того чтобы забирать деньги у инженеров и отдавать их кассирам, вы могли бы помочь кассирам стать инженерами.

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

Спасибо за помощь с переводом Сергею Даньшину и компании Edison (которая делала технический аудит экономической игры и систему централизованного управления видеосъемкой).
Читать полностью »

image

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

Ускорение привыкания (The Acceleration of Addictiveness)

Что объединяет алкоголь, сигареты, героин и крэк? То, что все они являются более концентрированной формой своих предшественников, которые вызывали меньше привыкания. Большинство вещей (если не все), которые мы описываем как вызывающие привыкание, таковыми являются. Самое страшное, что процесс их создания ускоряется.

image

Мы бы не хотели его останавливать. Это тот же процесс, который излечивает от болезней: научно-технический прогресс. Технологические средства прогресса позволяют вещам работать лучше, чем мы хотим. Если какая-то новая техника делает солнечные батареи на х% эффективнее, мы строго убеждены, что эти батареи лучше.

Когда прогресс концентрируется на чем-то, что мы не хотим желать — когда он превращает опиум в героин — нам кажется, что это плохо. Но это тот же самый процесс. [1]

Никто не сомневается в том, что этот процесс ускоряется, а значит, увеличится число вещей, которые превратятся в нечто, что нам не особо понравится. [2]

Насколько я знаю, нет слова, которое бы означало, что что-то нам нравится слишком сильно. Наиболее близким по значению является слово аддиктивный (от англ. addictive – вызывающий привыкание). Его стали довольно часто использовать. И это объяснимо: появилось огромное количество вещей, которые подходят под это определение. На крайнем конце спектра находятся крэк и метамфетамин. С помощью комбинирования сельского хозяйства и инноваций в пищевой промышленности еду преобразовали в нечто гораздо более прибыльное и результат вы можете увидеть в любом американском городе. Шашки и пасьянс были заменены на мир Варкрафта и FarmVille. Телевидение стало гораздо более интересным, но даже, несмотря на это, оно не может конкурировать с Facebook.

Мир стал более аддиктивным, чем 40 лет назад. И если формы технологического прогресса, которые производят эти вещи, не подчинятся иным законам, мир станет еще более зависимым в ближайшие 40 лет.
Читать полностью »

«Любое дело всегда длится дольше, чем ожидается, даже если учесть закон Хофштадтера.»
— закон Хофштадтера

image

Самый просматриваемый ролик на YouTube по теме agile. 744 625 просмотров на момент публикации данной статьи. Легкий стиль изложения, картинки и всего 15 минут — лучшее что я видел. TED отдыхает.
Читать полностью »

«У нас вышла калифорнийская книга о математике. Книга, которая показывала неформальный стиль классов в Стэнфорде наравне с тем, что я считаю личным манифестом пути занятия математикой.»
— Дональд Кнут

Дональд Кнут: про жену, поцелуи, «Конкретную математику» и взгляд на преподавание в университете - 1

«В то время была большая суматоха. Некоторые люди жаловались на то, что математика становится слишком абстрактной, что она слишком оторвана от реальности, так что я мог бы немного пошутить, назвав курс „конкретная математика“. Хотя я сказал, что слово „конкретный“ не является на самом деле антонимом абстрактного, это сочетание слова непрерывный и дискретный (CONtinuous and disCRETE).»
— Дональд Кнут

В книге содержится более 500 различных упражнений различного уровня сложности. Прообразом книги послужил раздел «Математическое введение» из «Искусство программирования». Изложение ведётся в неформальном стиле и сопровождается «заметками на полях» от первых редакторов книги — студентов Стэнфорда.
Читать полностью »

Кто-то ради шутки, кто-то чтобы доказать существование или опровергнуть гипотезу, кто-то для разминки мозгов (путешествуя по поверхности бутылки Клейна или в четырехмерном пространстве), но сотни людей создали «эзотерические» языки программирования. Я пролистал около 150 таких языков и больше никогда не смогу быть прежним.

Примеры кода на 39 эзотерических языках программирования - 1

«Argh!», «Oof!», «2-ill», «Nhohnhehr», «Noit o' mnain gelb», «DZZZZ», «Ypsilax», «YABALL», fuckfuck — это заклинания, поэзия только названия… под катом — примеры кода на самых вырвиглазных языках программирования.

Кроличья нора глубока.
Читать полностью »

Социальная Архитектура: стратагемы для успеха open source проектов - 1Питер Хинченс (Pieter Hintjens) — бельгийский разработчик, писатель. Занимал должность CEO и chief software designer для iMatix, компании, производящей free software, такие как библиотека ZeroMQ (библиотека берет на себя часть забот по буферизации данных, обслуживанию очередей, установлению и восстановлению соединений, и прочие вещи), OpenAMQ, Libero, GSL code generator, и веб-сервиса Xitami.

  • Автор более 30 протоколов и распределённых систем.
  • Основатель проекта Edgenet по созданию полностью безопасной, анонимной глобальной P2P-сети.
  • Президент ассоциации Foundation for a Free Information Infrastructure (FFII), которая воевала с патентным правом.
  • CEO сервиса по созданию собственных вики-проектов Wikidot.
  • Он был активистом open standards, и основателем Digital Standards Organization.
  • Питер в 2007 был назван одним из «50 самых влиятельных людей в области Интеллектуальная собственность».

Когда Питер Хинченс узнал, что жить ему осталось несколько лет, он решил подвести итог своим трудам и систематизировать свое наследие. 3 октября 2016 Питер Хинченс решился на эвтаназию.

Один из его предсмертных трудов — книга «Социальная Архитектура», про построение онлайн-сообществ по разработке open source проектов. Хочу представить вам переводы некоторых глав.

Шаблоны для успеха

Это глава с серией шаблонов поведения для достижения успеха в разработке программного обеспечения. Они стремятся включить всё, что отделяет успех от славной трагической неудачи. Они были написаны за один день как “религиозно-маниакальные догматы” руководителем и “всё остальное безумное” — коллегой. Для меня они являются наукой. Но относитесь к Ленивым перфекционистам и другим инструментам так, как вы относитесь к обычным инструментам — заточите их, используйте и выбросите, если подвернется что-то получше.

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

«Я должен был закончить книгу, прежде чем родится мой сын. Теперь ему 40 лет, и я до сих пор не закончил её.»

Дональд Кнут: Как создавалось «Искусство программирования» (33,38,39-97) - 1

На третий год моего пребывания в университете меня попросили провести пару занятий о компьютерах. Группка людей сказала, что в Caltech (Калифорнийском технологическом институте) не учат ничему, что связанно с компьютерами.В это время я консультировал Burroughs. «Так почему бы тебе не провести пару занятий в университете?» — спросили меня. Так я провел занятие всего один раз, и прежде чем закончить университет, они решили нанять меня в качестве доцента, сразу после его окончания учебы.

Обычно в университет не берут на работу собственных выпускников, за исключением MIT. Но как вы знаете, считается нехорошо делать инбридинг (кровосмешение), потому что отделение может увязнуть в одной философии, а они хотят «свежей крови». Но Caltech счел меня достаточно странным и чуждым «по крови», и это было положительным доводом, чтобы нанять меня.

Как зародилась идея книги

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

Джоанна Хоффман — «ангел-хранитель» Стива Джобса - 1
Я очень уважаю Стива Джобса. Особенно лохматого и молодого, бунтаря тех времен, когда яблоко было цветным и радужным Джоанна Хоффман — «ангел-хранитель» Стива Джобса - 2, а не серым.

Недавно посмотрел очередной фильм про Стива и был очарован главным героем героиней — Джоанной Хоффман, которую шикарно сыграла Кейт Уинслет. Я решил покопать и узнать подробнее про роль этой девушки в жизни Apple и Macintosh. Нашел пару видеозаписей, предлагаю вам самые интересные материалы из них.
Читать полностью »


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