Прикупил себе недавно новый смартфон. Предыдущий, Nokia N97, в последнее время стал сильно глючить. Например, он начал самопроизвольно закрывать программы во время работы с ними. Впрочем, если учесть, сколько раз я ронял телефон, удивительно, что он вообще еще жив. После непродолжительных поисков по Яндекс.Маркету и ближайшим салонам связи, была найдена достойная замена в лице Samsung Galaxy R.
Со временем взгляды на некоторые вещи меняются. Лет шесть назад я писал на C++ (а фактически — на чистом Си) с использованием Windows API и для меня это было «наше все». Да-да, я уже тогда был редкостным ботаником :) А потом я попробовал Perl и вся эта возня с указателями и ручным управлением памятью стала казаться мне странной и ненужной. Еще недавно я плевался от Flash, а теперь спокойно пользуюсь им. Самое интересное, что я все еще понимаю, чем плох Flash. Просто мне намного удобнее поставить его и спокойно смотреть видео на Ютубе, чем делать это через самопальный скрипт.
Есть такой модуль на CPAN’е, называется Modern::Perl. В настоящее время его подключение эквивалентно написанию строк «use strict» и «use warnings», а также приводит к активации еще нескольких полезных фич перла. Мне стало интересно, а можно ли пойти дальше и написать модуль, подгружающий, к примеру, Try::Tiny и Moose? Оказалось, что написать такой модуль довольно просто.
Как вы можете помнить, я тут недавно обмолвился о своей новой работе. А поскольку новой работе обычно предшествует составление резюме и прохождение собеседований, мне как бы положено написать заметку с соответствующими советами и напутствиями. Вот эта заметка. Правда, некоторые советы получились довольно очевидными, так что побуду сегодня в роли кэпа.
Некоторое время назад я занимался одной любопытной задачкой. Нужно было написать скрипт, который по доменному имени определяет, продаются на сайте ссылки в биржах типа SAPE и TrustLink или не продаются.
Сегодня «Запискам программиста» исполнилось два года. Ровно два года назад в этом блоге был опубликован первый пост. Как и год назад, в честь этого события я не буду «подводить итоги», «ставить цели» на будущий год и заниматься прочей ерундой, а просто сделаю пару-тройку скриншотов на память.
Вот не могу я, как все нормальные люди, держать на десктопе Windows, MacOS или Linux. Раскошелится на Мак жаба душит, под Виндой категорически не хватает менеджера пакетов и нормальной консоли, в Линуксе убивает необходимость обновлять ядро раз в пару месяцев (решето!). И хотя Ksplice в какой-то мере решает эту проблему, похоже, в настоящее время оптимальным вариантом для меня по-прежнему остается FreeBSD.
Последний выпуск подкаста Radio-T (номер 253) получился на редкость интересным. Речь зашла о Scala, рефакторинге, TDD, багтрекерах, и даже (наконец-то!) о моем любимом Haskell. К сожалению, тема «чем же так хорош этот ваш Haskell» не была в должной мере раскрыта. Такое чувство, что большинство айтишников действительно не понимают плюсов функционального программирования. В этой заметке я постарался развернуто описать, за что лично мне нравится Haskell.
Одна из проблем интерпретируемых языков заключается в зависимости скриптов от наличия у пользователя соответствующего интерпретатора и модулей, используемых в коде скрипта. В мире UNIX эти проблемы никого не беспокоят благодаря менеджерам пакетов. К сожалению, 90% наших потенциальных пользователей сидят не под UNIX.
В рамках серии экспериментов с прокачкой мозгов, я решил принять участие в небольшом программистском конкурсе от Романа Душкина. И я не без удовольствия воспринял новость о том, что вошел в пятерку победителей, полностью решивших задачу (места не пронумерованы, но если бы были, то я бы точно занял не первое и не второе место).