Ошибка в миллиард долларов

sir_tony_hoare_img_5125

Сэр Чарльз Энтони Ричард Хоар изобрёл null указатели в программировании. В своей речи на конференции в 2008 году он попросил прощения за это:

— Я назвал это моей ошибкой, ценой в миллиард долларов. Изобретение ссылки null в 1965 году. В то время я разрабатывал первую всеобъемлющую систему типов для ссылок в объектно ориентированном программировании (ALGOL W). Моей целью было — гарантировать, что все ссылки абсолютно безопасны, благодаря проверкам, проводимым компилятором автоматически. Но я не устоял перед соблазном добавить null, просто потому, что это легко реализовать. Это повлекло за собой неисчислимое море ошибок, уязвимостей, системных сбоев, которые наверняка принесли ущерба в миллиарды долларов в последующие сорок лет.

via

Следует отметить, что новейшие языки программирования пытаются лучше защищаться от такого рода проблем:

Objective C: синоним null в нём является nil. Одним из самых замечательных свойств nil в Objective-C является возможность посылать ему совершенно любые сообщения (или «вызывать методы»), ответом на которые неизменно будет всё тот же nil. Можно не писать некоторые проверки:

/* Далеко, далеко за пределами нашей галактики… */
if (foo != nil && [foo testValue: 0x90]) { … }

/* Программисты же из Млечного Пути могут писать просто */
if ([foo testValue: 0x90]) { … }

Swift и Kotlin добавляют к описаниям типов данных «опциональные типы». Применяются в тех случаях, когда значение может отсутствовать. Опциональный тип подразумевает, что возможны два варианта: или значение есть, и его можно извлечь из опционала, либо его вообще нет.

Опубликовано в рубрике Android

Почему не будет мобильного приложения с картой общественного транспорта Томска

%d1%81%d0%bd%d0%b8%d0%bc%d0%be%d0%ba-%d1%8d%d0%ba%d1%80%d0%b0%d0%bd%d0%b0-2017-08-09-%d0%b2-11-41-18
Вчера разговорились с моим замечательным другом предпринимателем. Относительно недавно он стал совладельцем одного из автобусных маршрутов Томска. Для меня стало большим откровением, что оказывается, мобильное приложение для пассажиров с картой маршрутов и с движущимися по ним значками реальных автобусов — ОПАСНО!

Казалось бы, реальная польза для пользователя общественного транспорта: карта, маршруты, через сколько подъедет автобус… Лепота. Но, реальность круче. Подобное приложение, как оказалось было. Но водители маршруток стали его использовать для гонок с конкурентами. И мобильное приложение сочли опасным — убрали из общего доступа.

Наконец-то снег!

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

IMG_20151125_085238

IMG_20151125_090227

Картина «Мир глазами ребёнка»

900-6528

Вышивка:

  • Дмитриенко Мирослава Севировна
  • Дмитриенко Анна Викторовна

Багет:

  • Дмитриенко Виктор Евгеньевич

Картина собрана для благотворительной детской выставки-ярмарки. Вырученные средства пойдут в фонд развития школы. Начальная цена — 300 ₽.

UPD: Продано.

900-6529

Пятый номер «САПР и ГИС автомобильных дорог»

Случилось так, что я давно ничего не писал. Сознаюсь и каюсь — иногда хочется побыть в одиночестве… Хотя кому я лапшу на уши вешаю? И одиночества вокруг меня давненько не бывало :) Вокруг шум, гам, все бегают, множество вопросов и всё в таком духе. Вы спросите: «К чему такая суета?» А всё просто. Наша маленькая, но дружная компания выпустила очередной номер научно-популярного журнала о проектировании и эксплуатации автомобильных дорог «САПР и ГИС автомобильных дорог». Конечно, сторонний наблюдатель спросит: «А в чём же его популярность?» Тут всё просто. Написан он довольно простым языком. Титаны и сильнейшие умы России и не только собрались в один момент, спустились с небес на землю и написали нам с вами, простым труженикам тыла, о своих переживаниях. О том, отчего наши с вами дороги такие, какие есть. О том, как же их улучшить и не стать при этом посмешищем и позорищем. Научный журнал оттого, что все статьи наши сотрудники бережно подготавливают не только к печати на бумаге, но и для индексации в большом количестве каталогов. Один из них — это eLibrary. Там у каждого уважающего учёного есть свой индекс, который не только показывает сколько он статей написал, а ещё и отражает сколько же других авторов на его статьи сослались в своих публикациях.

IMG_6385-600

Вот в примерно таких условиях этот журнал готовился. Много дней и ночей десятки людей по всей стране мало спали, много печатали по клавиатурам своих компьютеров только для того, чтоб мир стал чуточку лучше, а вы, дорогие мои — узнали о сокровенном. Желаю вам чтения интересного и полезного. Берегите лес — читайте PDF прямо с нашего сайта www.cadgis.ru

Лекция Людвига Быстроновского

Вчера с большим удовольствием послушал лекцию Людвига Быстроновского «Хьюстон, у нас все хорошо (на самом деле нет)». Он рассказал кратко о своём превращении в арт-директора, о шишках, которые довольно часто встречаются на пути метаморфозы хорошего специалиста в менеджера. О том, как учиться доверять. Особенность и умение правильно критиковать, не разрушая людей и процесс. И так далее. Обо всём по-порядку ниже.

Трудоголизм. Вроде и я через это проходил. Когда «приеду на работу на часик раньше, а уеду на два-три попозже… ведь надо успеть сделать всё». Да, много успевал, но даром это не прошло. Именно тогда я превратился в толстого, научился обманывать организм, превращая «устал» и «страшно» в «голоден». А ещё можно взвалить на себя побольше адской работы, никому ничего не доверяя и превратиться в узкое бутылочное горлышко. Ну, ведь очень приятно ощущать себя кому-то нужным.

В этом мире нет ничего такого, что мешало бы вам спать. Спать — это священное право каждого :)

Недоверие. Хороший выход из проблемы — научиться делегировать. Если есть кому. Одна из ошибок делегирования — доделывать самому то, что не получилось у другого. Другая беда — нежелание и неумение общаться. Как научиться делегировать: «доверить ребёнку вскипятить чайник». Вроде несложная задача, начинать с малого. Собирать вокруг себя людей, заинтересованных «самоусложняться». Доверять им интересные и развивающие их задачи, постепенно повышая уровень сложности и драйв от достигнутых результатов.

Вы не можете утверждать, что знаете кого-либо. Вы ведь даже себя-то толком не знаете.

Если человек рядом с вами не желает учиться (самосовершенствоваться) — это повод с ним расстаться.

Число раздражителей. Мы сами придумываем себе проблемы, разрешая окружающему миру выдёргивать себя из полезной работы (потока, если выражаться терминами Михай Чиксентмихайи). На телефоне постоянные «бздынь» от имайлов, фейсбуков, вконтактов, твиттеров и хрен знает ещё чего… На компьютере тоже миллионы мессенджеров… Вывод очевиден. Предложить окружающим тебя людям использовать одно средство вместо десятка. Например, по электронной почте. И тоже, специально всех (в том числе и себя) убедить, что мгновенно отвечать не буду. Проверять и читать почту только в удобное для себя время, не копить в инбоксе миллионы писем. Вроде как это же тоже ваши раздражители: письма валятся, копятся, всем что-то от тебя надо… Эта гора писем тоже бывает источником расстройства.

Контрол-фрики. Микроменеджмент. Тут есть два аспекта. Если ты сам такой, то надо учиться доверять. Надо вспомнить чудесную книгу Найджела Латты «Прежде чем ваш ребенок сведет вас с ума». Я читал, мне понравилось. Воспитание детей имеет много общего и с взаимоотношениями во взрослом мире. Взрослые тоже порой «такие дети». Быть невозмутимой скалой, если говорить идеями этой книги.

Второй аспект: если рядом с вами такой контрол-фрик. Тут Людвиг предложил почитать Джима Кемпа «Сначала скажите Нет». Научиться отстаивать свою точку зрения и свои интересы. Плюс к тому, научиться определять пользу и вред от происходящего.

Менеджер-истеричка попусту тратит свои силы и силы окружающих, сжигая калории на крики и нервы. Лучший менеджер — это спокойный менеджер. Даже во время падения самолёта он просит кофе с молоком спокойным голосом. Про таких говорят — вот это человек с «железными яйцами».

Как контролировать процесс? Лучше, чтоб процесс мог без лишних накладных расходов рассказать о себе сам. Например, появляются файлы в нужными именами… На худой конец — десяти минутные встречи раз в два дня. Если собираются отчёты, то обязательно нужна обратная связь.

Время работоспособности. Наблюдение за собой — это довольно увлекательное занятие. Я вот веду маленький ежедневник, где ну очень кратко пишу результаты дня. Точно знаю, что мне лучше всего удаётся сворачивать горы утром. Изучать матёрые мануалы, программировать и так далее. Это время лучше всегда помечать в календаре «Занят». И быть продуктивным. А если календарь корпоративный — не обязательно расписывать детали. Миру вредно знать много, например, что ты будешь бегать или пойдёшь на йогу.

«Не доёбывайся». Это термин Людвига, но я бы сформулировал «Не ломай людей». Это когда критика переходит границы дозволенного и критикуется человек, а не его производная — результат его труда. Причём результат надо критиковать конкретный и объяснять почему именно такой результат не годится. Как бы подсказать человеку, направление его следующих шагов и попыток. А не в слёзы и сопли, и чтоб потом ещё неделю его надо отпаивать касторкой.

Это верно не только на работе. Принцип универсален. И дома в семье, и с друзьями.

Проф-развитие за счёт рабочего времени — это нормально. Отрубил телефон, закрыл ноут, читаю книгу — умнею. Ведь я нужен этой компании умный. Очевидно, что надо соблюдать границы разумного и не вываливаться из процесса на месяц. Час-два в день, возможно.

Самый крутой проект — это ты сам. Этот проект будет с тобой всю жизнь и никуда от него не деться.

Время и дедлайны. Все ошибаются в оценках необходимого времени. Это аксиома. Менеджер может и должен учитывать это и назначать промежуточные дедлайны, управлять приоритетами так, что даже на промежуточных стадиях будет уже почти готовый результат. Артемий Лебедев, кажется называл это правилом прогрессивного джипега. Когда картинка ещё полностью не скачалась, но уже понятны общие очертания и то, что на картинке голая баба. Тут часто ссылаются ещё на методику ФФФ. В оригинале: Fix time, Fix budget, Flex Scope (Getting things done). Для этого нужен, конечно, подготовленный клиент, но…

Привычки и правила. Правила нужны простые. Людвиг привёл пример с носками, я приведу пример с моей процедурой включения машины. Сажусь, запускаю двигатель, включаю фары, пристёгиваю ремень. Всегда. Без условий и исключений. Организм это делает сам и участие мозга тут отсутствует.

Если решили учить английский, то хреново ставить план «три раза в неделю по одному часу буду…» Что если вдруг, на третий день не получится? Это же стресс будет. Надо стараться быть проще. Сегодня проснулся, спросил себя: «Вчера я учил? Нет? Ок, садимся и учим.»

Про перебор. Мы все очень разные. Кому-то удобно худеть, считая калории. Кто-то занимается спортом. Если вам какой-то совет или идея не подходит — надо искать и пробовать другие варианты. Интересный аспект: даже удачно подобранная методика со временем может вам перестать подходить. Это нормально. Надо просто дальше искать.

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

Другая интерпретация лекции: http://d8pusher.com/lifeflow/houston/