Как стать автором
Обновить
-6
1.4

Senior Software Engineer; Software Archaeologist

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

Сказки дiда Панаса. Сказка первая

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

Сидайте у гурток, малятки. Сейчас дiд Панас расскаже вам казочку.

Давно это было, сынки — в те времена, когда по телефонам ещё звонили, а слова "ынтернет вещей" не придумали; в стране далёкой и богатой — за тридевять земель, в тридесятом царстве законности и демократии.

И жили в стране сей мультифункциональные устройства сканер-копир-принтер,

Казалось бы, что могло пойти не так?..
Всего голосов 85: ↑73 и ↓12+61
Комментарии42

Первый

Время на прочтение8 мин
Количество просмотров10K
Томас резко вывернул руль влево, все восемь колёс его «крабика» протестующе заскрипели, впиваясь в грунт.

— Даю тебе пять минут, — раздалось в наушниках. Голос Джулии с трудом пробивался через помехи — он отъехал от станции чересчур далеко.

— Мне достаточно трёх.

— Уверен?..

— Ты издеваешься? — завопил он в микрофон.

Томас поморщился. Он не планировал ответить так резко. Но он знал рельеф, изучил каждый его дюйм. Месяцы подготовки, вычислений, споров, планирования. Фотографии, впившиеся в память. Он не мог ошибаться.
Читать дальше →
Всего голосов 42: ↑33 и ↓9+24
Комментарии20

Забудьте про иностранные языки и музыку — учите детей программированию

Время на прочтение6 мин
Количество просмотров35K
Дж. Пол Гибсон начал преподавать программирование тинейджерам от досады. Преподаватель информатики в Государственном университете Ирландии, к 1998 году он был по горло сыт невежеством своих студентов. «Я наблюдал 18- и 19-летних, с трудом усваивающих элементарные концепции программирования, которые я освоил в 12 лет, — вспоминает Гибсон, самостоятельно научившийся программировать на Sinclair ZX81. — Я осознал, что до сих пор не видел программирования в школьной программе, и подумал, что, может быть, одна из наших проблем состоит в том, что мы подходим к нему слишком поздно.» Когда молва о курсе Гибсона распространилась, начальные школы в окрестностях Дублина тоже заинтересовались его услугами.

К началу 2000-х Гибсон использовал задачки из области разработки игр для обучения восьми- и девятилетних детей основам Java. Его успех в этой возрастной группе вызвал к жизни вопрос: а в каком, собственно, возрасте чересчур рано программировать?
Читать дальше →
Всего голосов 34: ↑23 и ↓11+12
Комментарии76

Восемь способов демотивировать ваших работников

Время на прочтение3 мин
Количество просмотров5.7K
Если Вы твёрдо решили довести Ваших сотрудников до белого каления, но ещё не придумали, как этого лучше добиться, просто следуйте нижеследующим указаниям — и Вы достигнете успеха.

Поощряйте инициативу. Менеджеры любят это слово. Оно означает, что работники должны не просто реагировать, а реагировать наперёд, что примерно означает более простое управление. Не нужно давать сотрудникам никакой документации, спецификаций, да и вообще информации — пусть проявляют инициативу и сами всё ищут.
Читать дальше →
Всего голосов 18: ↑6 и ↓12-6
Комментарии11

«Кандидат имеет право задавать уточняющие вопросы», или Доводим интервьюера до нервного срыва

Время на прочтение4 мин
Количество просмотров127K
Недавно я прочёл запись в блоге одного парня, который жаловался, что на интервью его попросили написать функцию, которая должна скопировать файл. Нет, я понимаю, как можно взъесться на такое задание, но если бы в подобной ситуации оказался я… уж я бы оторвался по полной:

Кандидат: Что конкретно Вы имеете в виду, говоря «скопировать»?
Интервьюер: Ну… создать новый файл, содержимое которого является копией содержимого исходного файла.
Читать дальше →
Всего голосов 168: ↑123 и ↓45+78
Комментарии224

Я знал, как валидировать email-адрес. Пока не прочитал RFC

Время на прочтение5 мин
Количество просмотров129K
От переводчика: прочитав статью, начал было отвечать в комментариях, но решил, что текст, на которую я собирался ссылаться, достоин отдельной публикации. Встречайте!
Если вы знаете, как валидировать email-адрес, поднимите руку. Те из вас, кто поднял руку — опустите её немедленно, пока вас кто-нибудь не увидел: это достаточно глупо — сидеть в одиночестве за клавиатурой с поднятой рукой; я говорил в переносном смысле.

До вчерашнего дня я бы тоже поднял руку (в переносном смысле). Мне нужно было проверить валидность email-адреса на сервере. Я это уже делал несколько сот тысяч раз (не шучу — я считал) при помощи классного регулярного выражения из моей личной библиотеки.

В этот раз меня почему-то потянуло ещё раз осмыслить мои предположения. Я никогда не читал (и даже не пролистывал) RFC по email-адресам. Я попросту основывал мою реализацию на основе того, что я подразумевал под корректным email-адресом. Ну, вы в курсе, что обычно говорят о том, кто подразумевает. [прим. перев. Автор имеет в виду игру слов: «when you assume, you make an ass out of you and me» — «когда вы (что-то) подразумеваете, вы делаете /./удака из себя и из меня»]

И обнаружил кое-что занимательное: почти все регулярные выражения, представлены в интернете как «проверяющие корректность email-адреса», излишне строги.
Читать дальше →
Всего голосов 80: ↑66 и ↓14+52
Комментарии99

Восход разработчикономики (окончание)

Время на прочтение9 мин
Количество просмотров22K
(начало статьи здесь)

Управление рисками при инвестировании в программистские таланты


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

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

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

Восход разработчикономики

Время на прочтение10 мин
Количество просмотров61K
От переводчика
Почитывая несколько лет назад журнал "Форбс", я наткнулся на статью, которую нашёл крайне интересной. Ну, знаете как бывает — читаешь, читаешь, и на каждом абзаце воскликаешь: «О! Це ж про меня!». Не мог поверить, что я один такой, и никто не сподобится уж если не перевести, то хотя бы сослаться на неё в русскоязычной прессе. Однако за четыре года этого так и не произошло. Ну что ж, «хочешь сделать что-то правильно — сделай это сам», посему предоставляю вниманию почтенной публики первую половину статьи. (Стараюсь переводить художественно, поэтому работа двигается небыстро; размер оригинала — больше 30 килобайт, и, «земную жизнь пройдя до половины», я понял, что держаться нету больше сил.)

P.S. Так и не смог разобраться, как поставить в заголовке тег «перевод».

Восход разработчикономики


Статья Венкатеша Рао опубликована в декабре 2011 года в журнале «Форбс».

В эволюционной биологии существует теория, согласно которой взаимный альтруизм и сотрудничество возникли как решение проблемы хранения еды. Если вам, раннему гоминиду, посчастливилось завалить крупного мамонта, у вас не было ни малейшего шанса умять его целиком до того, как он протухнет. Тогда вы делились едой: лучшим вложением для избыточного капитала было вложение в желудок вашего приятеля. В этом случае вы могли потребовать возврата вклада в тот раз, когда мамонта завалит уже этот самый приятель.
Читать дальше →
Всего голосов 37: ↑31 и ↓6+25
Комментарии76

Почему я перепроверяю записанные данные, или История одного расследования

Время на прочтение3 мин
Количество просмотров37K
Недавняя хабрастатья о различиях в побайтово идентичных файлах вызвала из глубин памяти (и почтового ящика) небольшой кусочек моей переписки с одним из инженеров, отвечавших в то время за линию дисков MPG в компании Fujitsu. Для удобства англонеговорящих читателей, привожу перевод с английского под катом.

Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии74

Информация

В рейтинге
1 200-й
Откуда
Illinois, США
Зарегистрирован
Активность