Жизнь, веб, XMPP, TAS, электронные самоделки

Зима весной

6–7 марта в Майкопе был эпичный снегопад, каких не было всю зиму. Галерея прилагается. Было весело, когда встала одна из троллейбусных веток и «двойка» поехала не своей дорогой — на одной из остановок все пассажиры вышли и зашли новые.

Для любопытствующих

htop

О багах

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

Об академическом отпуске

Сабж — зло. Во-первых, заново слушать всё то, что уже слушал, невыносимо скучно. Во-вторых, делать задания по PHP, которые я мог делать ещё в старших классах, невыносимо неинтересно. В-третьих, на всём курсе ровно одна красивая девушка, начисто лишённая общительности. В-четвёртых, ни малейшей возможности не ходить на скучное мне PHP. Радует лишь отсутствие прилипал, сдающих IT-дисциплины за мой счёт, но даже это меркнет на фоне всего остального. Увы.

Воспоминания

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

Prolog

Помнится мне, я писал про то, что на платформе UNIX для изучения логического программирования можно использовать пакет SWI-Prolog. Так вот, являясь продуктом с открытым исходным кодом, SWI-Prolog доступен также на платформе Windows, в том числе 64-битной. Более того: для него также существует замечательная среда разработки (IDE) с графическим интерфейсом, которая подсвечивает синтаксис языка, а также позволяет вводить и код, и запросы, в одном окне.

SWI-Prolog Editor

Загрузить SWI-Prolog для Windows можно по следующим ссылкам:

Единственной замеченной проблемой IDE является неработоспособность в случае, если путь к файлу содержит пробелы или символы русского языка (я пробовал открыть файл на рабочем столе и это у меня не получилось). Поэтому создавайте файлы с более простыми путями.

К слову о гордости

Я уже писал, что нисколько не горжусь тем, что держу сайт на WordPress. А есть ли чем гордиться? В WordPress встречаются баги, за которые профессиональные веб-разработчики часто высмеивают новеньких выпускников ВУЗов.

Вот вам, например, классический пример. Отсутствие проверки того, что передано через HTTP-запрос. И результат. Обратите внимание, это правительственный сайт США.

О программном обеспечении

Меня раздражает часто встречающаяся самодеятельность программного обеспечения. Бывает только выйдешь в сеть через подключение с платным трафиком, а уже через пару минут деньги заканчиваются. В чём же дело? И тут внезапно оказывается, что Firefox (или Opera) безо всяких внешних признаков скачали себе обновление (то есть распорядились вашими средствами)! Мне кажется, так делать нельзя.

Менее неприятный пример — WordPress. Разработчикам так нравится их детище, что они уверены, что все думают так же, и смело пишут в подвале: «Proudly powered by WordPress». То есть «с гордостью». Интересно, какое у них право решать, какие чувства испытывает владелец блога к этому продукту? В моём случае это лишь стыд за мою лень, мешающую мне написать что-то своё. Приятно, что в русской версии эта строка заменена нейтральной констатацией использованного продукта.

DNS

На Хабрахабре внезапно появилась замечательная статья о DNS — слабом месте многих начинающих (а порой и опытных) IT-шников. Всем, кто чувствует неуверенность в данной теме, настоятельно рекомендуется к прочтению, наряду со статьёй в Википедии.

Изменения в условиях бесплатного хостинга

С сегодняшнего дня включительно мы обязываем всех пользователей хостинга общаться и взаимодействовать с нами только через Redmine. Для русскоговорящих пользователей сделан отдельный проект. Такое решение связано с потерей SmartCommunity одного из основополагающих принципов своего существования (когда любой произвольно взятый участник может покинуть сообщество и работа служб не будет нарушена). Связано это с тем, что в последнее время чрезвычайно сильно выросла самодеятельность на сервере. К примеру, владелец одного из сайтов недавно возжелал, чтобы его процесс веб-сервера исполнялся от его UNIX-аккаунта, и так было сделано, но сделано втихомолку. В итоге лишь один человек знает, почему один из процессов исполняется от левого имени и с какими целями это было сделано.

Мы надеемся, что эта мера поможет сделать администрирование более прозрачным, а также позволит реагировать на возможные проблемы быстрее.

Также был создан электронный адрес для сообщений о нарушениях авторских прав или других законов — abuse@jsmart.web.id.

IPv6

Внезапно оказалось, что на момент написания этого сообщения я один из всего лишь 85 носителей футболки Hurricane Electric по всей России.

График

Социализация

Выразить своё одобрение этому сайту теперь можно нажав «мне нравится» в правой колонке под списком ссылок. Многие сайты по ссылкам, кстати, тоже интересные :)

Сколково

Вот оно, светлое будущее этой страны… Мозговой центр. И смешно, и грустно. И наверняка эти люди школьные медалисты и кандидаты наук, которыми гордятся их ВУЗы.

Плесень

Хотел установить для заценки свежее FreeBSD. Успешно установил на отдельный НЖМД. И тут внезапно машина перестала работать! Присутствие в системе диска с таблицей слайсов FreeBSD каким-то неведомым образом вешает BIOS так, что не удаётся войти даже в BIOS SETUP — система зависает раньше. Извлечение НЖМД успешно решает проблему. Но что мне, извините, теперь делать с этим диском? Покупать переходник и подключать бедный диск к USB, чтобы хотя бы написать на нём какую-нибудь таблицу разделов DOS?

Опрос

Пришло время нового опроса и подведения итогов предыдущего. Напомню, тема предыдущего опроса была проста — «Википедия или Лурк?». Результат — 5:3 в пользу Луркоморья. На этот раз отданный мной голос совпал с мнением большинства.

Новый опрос будет ещё проще — вам предстоит сделать выбор между двумя погодными крайностями, а именно, жарой и холодом. Выбирайте то, что вам легче терпеть.

Зима

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

Снег

За что я не люблю Windows

В очередной раз разочаровался в Windows. Хотел собрать небольшую самописную программку, выполняющую пакетную обработку изображений, но никакими силами не получилось собрать gd. А аналогов ему я, к сожалению, не знаю, ну разве что работать с изображением самостоятельно, храня его в памяти как массив, а для ввода-вывода в jpeg использовать libjpeg. Но это же, извините, мазохизм.

Эта проблема затрагивает львиную долю библиотек и средств разработки. Всё, что делается тривиально в Linux или FreeBSD, в Windows делается через жопу. И мне кажется, что я даже понимаю, почему. Просто IT-шники в ходе своего развития практически неизбежно уходят в мир UNIX-совместимых операционных систем, таким образом, пишут уже под них, и Windows их более не волнует.

Справедливости ради нужно сказать, что я нашёл прекомпилированную версию gd, с которой мой проект успешно компоновался, но такой вариант меня не устроил по той простой причине, что был скомпилирован в максимальной конфигурации — включал zlib, freetype, libpng. Мне была необходима работа исключительно с jpeg, а также хотелось, чтобы весь код был собран с уровнем оптимизации -Os.

Учимся TASить

Да-да, вы не ослышались, я решился попробовать силы в высокоскоростном прохождении игрушек. На это меня вдохновили бесконечные соревнования пользователей Youtube с никами NaturelLorenzo и LTRP300.

Поскольку слово «Sega» у меня, как и у многих, ассоциируется с играми серии Sonic (что, впрочем, вовсе не означает, что ёж является моим любимым персонажем этой линейки игр), я решил начать с игры Amy Rose in Sonic the Hedgehog. Я решил пройти первый уровень за 24 секунды.

Первая попытка окончилась неудачей — несмотря на то, что я в целом пытался повторить имеющийся у меня 24-секундный забег, я потратил 26 секунд (отставание по меркам TAS огромное). Потом, как и водится, начал обращать внимание на мелочи. Наконец, мне удалось улучшить свой показатель сначала до 25, а потом до 24 секунд. От «эталонного» пробега я, впрочем, всё ещё отстаю на несколько фреймов (1/60 секунды).

Занятие понравилось, поэтому буквально на следующий день я решил поэкспериментировать с другой игрой — Amy Rose in Sonic the Hedgehog 2. Это оказалось труднее, так как мне было не на что равняться. Тем не менее, конечным результатом, достигнутым за 727 циклов перезаписи, я доволен, и выкладываю на всеобщее обозрение.

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

Погода

Казалось, этой зимой холодно уже не будет, но нет — морозы всё-таки наступили… А мне вспоминается некогда заброшенный мной годовой график погоды на rrdtool.

Жильё

Есть одна странная и неприятная особенность, присущая России и другим странам бывшего СССР. Это — способ жилья. Несмотря на огромную доступную площадь, бóльшая часть населения крупных городов проживает в высотках. Квартиры маленькие, а расстояния между домами — часто весьма большие. Имеющаяся площадь расходуется крайне неэффективно.

За рубежом такой способ проживания пользуется гораздо меньшей популярностью. При малейшей возможности все живут в частных домах. Высотные здания используются лишь для офисов, гостиниц и прочих учреждений. Это хорошо прослеживается, к примеру, в городах США (Нью-Йорк, Лос-Анджелес). Даже в Джакарте, несмотря на очень маленькую доступную площадь, огромное число частных домовладений. В России же жители частных домов часто высмеиваются, а южные города, в которых такой способ проживания ещё пока практикуется, часто сравниваются с деревнями.