google web font

Показаны сообщения с ярлыком размышления. Показать все сообщения
Показаны сообщения с ярлыком размышления. Показать все сообщения

понедельник, 10 августа 2015 г.

Чем старше становишься, тем сложнее становятся простые вещи

Удивительно, насколько прост и прекрасен мир, который видят дети. И ведь я тоже таким был. С каждым днём любое дело обрастает грузом опыта, который вроде бы и должен помогать в решении простых проблем, на деле обычно отбивает желание вообще чем-либо заниматься. Простой пример: попросите программиста со стажем написать простой список или алгоритм сортировки — он скорее всего откажется, хотя продолжит утверждать, что это слишком просто, чтобы тратить на это время. А уж начать какое-то действительно новое дело ещё сложнее, потому что ты уже знаешь, как много надоедливых граблей услужливо разложено вокруг.

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

воскресенье, 18 марта 2012 г.

Про важность статического анализа

Есть ряд багов, которые нельзя поймать ни тестами, ни тестировщиками. Потому что формально установить наличие ошибки по выхлопу нельзя. Собственно, настоящие, красивые, баги появляются именно так, а не так, как мы уже привыкли: те "баги", которые мы видим каждый день — это либо дефекты выбранного алгоритма, либо его "забытые" тёмные закоулки (необработанные ошибки, нереализованные ветвления, неосвобождённая память и т.п.). А эти ошибки можно найти только анализируя код. И даже если это будет не тот "настоящий, красивый баг", которым можно восхищаться годами, постоянно переоткрывая его в багзилле, но тоже может быть интересно.

Вот простой пример:
sub very_bin_integer($) {
    my $length = int(shift) or die "Illegal length";
    my $ret = '';
    for ( 1 .. $length )
    {
        my $n = 0;
        while ( not $n ) {   
            $n = int(rand(9));
        };
        $ret .= $n;
    }
    return $ret;
}
Даже обработка некорректного ввода есть. Кто напишет корректный юнит-тест на эту ошибку — может рассчитывать на пирожок.

среда, 14 марта 2012 г.

Стратегия

Типичная ситуация: две пенсионерки в автобусе точат лясы. На самом деле, не прав тот, кто никогда их не слушает: очень познавательно бывает. Можно изучать повадки таким незамысловатым способом. Одна пенсионерка села в автобус N24 на остановке "Гостиница Останкино", вторая подсела на следующей, "ул. академика Комарова".

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

пятница, 3 февраля 2012 г.

Однопользовательская система

Вот зачем ему несколько учётных записей?
Я много думал над этим и пришёл к выводу, что многопользовательские системы не нужны. Этот подход должен умереть. Линукс должен эволюционировать до однопользовательской системы, как и Windows, и хз как там у MacOS.

Любой "компьютер" сейчас используется одним человеком. Этот человек настраивает его под себя как хочет и даже отключает запрос пароля при логине в систему, потому что нафиг его каждый раз набирать, если устройством больше никто не пользуется? Я не ввожу пароль на телефоне, когда мне нужно позвонить. И на телевизоре тоже. И даже если мне захочется сделать запрос пароля, мне совершенно не нужно иметь многопользовательскую систему для этого.

Особенно непонятно, для чего нужны многопользовательские ОС на дивайсах типа смартфонов, роутеров, телевизоров и прочих холодильников. Я, конечно, понимаю, что телевизор смотрит больше одного человека, но настраивать несколько профилей на нём всё равно никто не будет.

суббота, 23 июля 2011 г.

Достоверный источник

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

Введение. Центробанк каждый день публикует курсы валют в свободном доступе для того, чтобы другие банки могли своевременно его узнавать. Для того, чтобы автоматизировать импорт, центробанк предоставляет "API" — XML-файл с названием в виде текущей даты, который можно получить по определённому адресу у них на сайте. Поскольку наша система работает с деньгами, у неё в комплекте есть скриптик, который вытаскивает этот XML и засовывает курсы нужных валют в базу данных. Согласно моим наблюдениям (пока я расплачивался с ипотекой, мне приходилось следить за курсом доллара), ЦБ РФ публикует курс на следующий день не раньше часа дня, иногда даже после двух.

четверг, 19 мая 2011 г.

random debugging

Пример дедуктивного способа дебажить логику. На прошлой неделе гугл настоятельно подсовывал мне новости про отмену результатов розыгрыша грин-карт (например). Отменили, потому что, судя по результатам, логика выбора победителей была какой-то сомнительной, а рандом был не очень рандомным. Странным в результатах было то, что 90% выигравших заявок были поданы в первые два дня.

Правильного "компьютерщика" одним из первых должен заинтересовать вопрос "как такое возможно вообще?" Начать можно с того, что теории вероятности этот результат не противоречит, несмотря на то, что он такой подозрительный. То есть, теоретически, есть вероятность получить такой результат и при правильных алгоритмах. Однако совершенно очевидно, что это не оправдание.

пятница, 13 мая 2011 г.

Белый и пушистый

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

Это не просто гордость рядового лесоруба за то, что свалил лесного великана, который уже давал тень местным жителям тогда, когда предки этого лесоруба ещё не догадывались о существовании континента "Северная Америка". Это не просто "давайте сфоткаемся на фоне этого огромного полена".

вторник, 3 мая 2011 г.

В [...] серии экспериментов испытуемых просили, используя недоминантную руку (левую для правшей), с максимально возможной скоростью написать имена знаменитостей, классифицируя их по категориям (нравится, не нравится, нейтральное отношение). Они должны были делать это: 1) либо нажимая на стол (сверху вниз) ладонью доминантной руки, 2) либо нажимая (снизу вверх) ладонью доминантной руки на обратную сторону столешницы. Люди, чья ладонь была обращена вверх, перечисляли больше имен положительных персонажей, а люди, чья ладонь была обращена вниз, вспомнили больше негативных. Почему? Сама поза человека с раскрытой ладонью подразумевает позитивный подход, в то как время ладонь, обращенная вниз, соответствует позе осторожности. Как показывают данные, такие легкие различия изо дня в день влияют на нашу память и в конечном счете на наши убеждения.
Дочитав этот абзац до конца, я посмотрел на свои руки. Одна на клавиатуре, ладонью вниз, другая на мышке — ладонью вниз. Тут-то я и вспомнил про преобладание оппозиционных настроений в интернете...

среда, 23 марта 2011 г.

varchar hell

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

Давным давно, кажется, в прошлую пятницу (на самом деле, уже пару лет прошло), прилетел к нам баг от крупного заказчика, суть такова. В некоторые поля базы данных, имеющие ограничение по длине, не влезает заявленное количество символов. Например, в некоторой таблице есть поле description, описанное как VARCHAR2(255). Так вот, если вписать туда 255 латинских символов, то всё норм, но если вписать "п. 13 ст.33 распоряжения бла-бла-бла", как это любит делать заказчик, то в интерфейсе будет опаньки.

пятница, 11 февраля 2011 г.

Двойственные чувства и провалы в менеджменте

У меня такое впервые на этой работе. Во мне просыпаются двойственные чувства к этой несчастной Платформе предоставления IPTV услуг. С одной стороны, проект практически готов и оттестирован, несмотря на ужасные провалы в менеджменте. С другой стороны, провалы в менджменте приводят к тому, что каждый раз, как только кто-то из нас тянется к кнопке Resolved, приходит обновлённый вариант ТЗ и приходится всё переделывать. Кто виноват и что делать?

вторник, 21 декабря 2010 г.

Закон сохранения элетроэнергии

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

понедельник, 11 октября 2010 г.

to bydlocode or not to bydlocode

В пятницу наблюдал замечательное явление: душевные терзания. Все знают, что быдлокодить плохо и все однозначно осуждают быдлокод. Но на самом деле не всё так однозначно и быдллокодить бывает необходимо. Это ставит хорошего программиста перед дилеммой.
Обстановка: есть некий словарь в БД. Сторонний процесс постоянно вносит в этот словарь новые данные, наш демон эти данные перечитывает в свой кэш по команде от стороннего процесса. Но перечитывает не полностью, так как словарь слишком огромный, а только те записи, момент создания которых больше момента последнего обновления кэша. Почему он не определяет новые записи по id? Да хоть бы и по id, ничего от этого не изменится.

пятница, 13 августа 2010 г.

На кол еретиков

Вот тут один человек на форуме пишет: "посмотрел по телеку передачу про Цоя и удивился невероятно: народ, я понимаю, вам нравится музыка, я понимаю, тексты цепляют, но зачем же его обожествлять? Зачем приплетать какую-то астральную божественную сущность и в прямом смысле слова молиться на него?" А я вот подумал: а что, разве где-то есть иначе?

понедельник, 12 июля 2010 г.

Экономия электричества: белка в колесе

Ты не скроешься
от безумной лампочки
Да, на самом деле, бегать в колесе, подключенном к генератору — единственный доступный на сегодняшний день способ экономить электричество. Единственное, что радует — это временно. В смысле, скоро и эту лавочку прикроют, я в этом уверен.
Во всех СМИ сегодня идёт активная пропаганда энергосбережения: энергосберегающие лампочки, бытовая техника класса энергосбережения А+ и куча других примочек, таких, как датчики движения в местах общественного пользования. В новостях показывают образцово-показательные ДЕЗы и ТСЖы, которые ставят на крышах ветрогенераторы, ставят в подъездах датчики движения и энергосберегающие лампы и тем самым снижают энергопотребление со ста процентов до трёх. Доблестные чиновники успешно запрещают продажу устаревших ламп накаливания — скоро старую добрую "лампочку ильича" уже негде будет купить. Всё это покрывается толстым слоем идеологического сиропа и сервируется, как забота о непосредственно моём кошельке.

пятница, 2 июля 2010 г.

Как у нас тут всё плохо

У меня такое чувство, я живу в какой-то другой Москве. Или я так много зарабатываю, но даже не знаю об этом?
http://realty.lenta.ru/news/2010/06/30/analitika/
Минимальный доход, обеспечивающий способность приобрести жилье в Москве, составляет в настоящее время 230 тысяч рублей в месяц на семью.
Согласно исследованию компании, таким доходом располагают лишь 3,5 процента российских семей и 12 процентов семей, проживающих в Москве.

среда, 16 июня 2010 г.

no_smoking

Вчера философ признался, что бросил курить. Правда, теперь у него есть метан, но тем не менее. Я тоже хочу признаться.
Уже три месяца не курю. Не бросил — перестал. Сначала было в лом идти за сигаретами (я покупал блок раз в квартал, когда последняя пачка кончалась, я растянул её на две недели), потом стало пофиг.
Ещё когда я «курил», однажды я влез в разговор коллег. Они обсуждали ремонты в своих новых квартирах и расстраивались, что холодильник можно ставить только в самый дальний угол, потому что он пахнет. Я прокомментировал в духе «мой не воняет, ЧЯДНТ», и получил совет: «Брось курить — и у тебя запахнет». Холодильник у меня так и не запах, но вот на улице запахов прибавилось. Причём, это оказались не приятные запахи, вроде запаха свежескошенной травы на солнце, палатки с цветами возле остановки или листьев деревьев после дождя — эти запахи я и раньше чувствовал. Добавились запахи неприятные.

пятница, 11 июня 2010 г.

Привет, суббота, отдохни. Уроки филологии.

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

среда, 2 июня 2010 г.

Велопробег для опочецкого интерната

Вчера прошёл очередной День Защиты Детей, в честь которого детишек сирот наконец-то сводили в цирк. Хоть какая-то радость, хоть раз в год за пределы забора выпустят и то хорошо. Повезло ещё, что никого из детишек, вроде бы, не защитили под шумок. Вспомнилось мне событие прошлой недели, которое я опишу по случаю. Событие состояло в велосипедном марафоне для сбора средств на ремонт детского дома.
Новость об этом велопробеге показали по центральному каналу и лейтмотивом сюжета была гордость за тех, кто, посмотрев на состояние Опочецкого дома-интерната воскликнул "Боже мой, это ужас! Надо что-то делать!" и сделал.Хирург из Ирландии взял отпуск за свой счёт и поехал через всю Европу на велосипеде собирать средства на ремонт российского интерната. Потому что сердце его обливалось кровью при виде нищеты и разрухи, в которой жили детишки.

вторник, 27 апреля 2010 г.

Ветеранские страсти по бюрократии

С предстоящими праздниками мой нынешний пост никак не связан. Просто так исторически сложилось, что напомнили мне про выдачу ветеранам современного жилья. В некоторых регионах это просто сделали. Кое-где ветеранов пригласили, поставили в очередь, помогли собрать и заполнить бумажки, раздали памятные открытки и отпустили по домам ждать дальнейших указаний. В таких регионах ветераны уже переселились в новые квартиры и сейчас более или менее достойно проводят старость. Во всяком случае, им не нужно замарачиваться на заготовке дров, это уже недурно.

понедельник, 12 апреля 2010 г.

Немного о грустном. Траур по космонавтике.

Произошли известные трагические события под Смоленском. Я бы, на самом деле, даже не подумал про это заикаться в своём бложике, но эта трагедия привела к такому неожиданному обстоятельству, что придётся высказаться и мне.
Итак, в субботу почти вся правящая верхушка Польши отправилась в Катынь, чтобы почтить память репрессированных поляков. Эти репрессии - это то, что поляки никогда не простят России и лично Сталину. Президент Польши спешил на мероприятие так сильно, что не позволил экипажу пойти на запасной аэродром, несмотря на сильный туман. Собственно, так они и погибли. Все сторонние наблюдатели и интернетовские аналитики хором сказали "прах к праху" и "недобрала Катынь польской кровушки". Руководство России тоже почувствовало butthurt на тему "цвета нации" и в порядке признания своей косвенной вины за оставление Польши без правительства объявила 12-е апреля днём общероссийского траура.