programming

Легкое обновление ядра Drupal 7

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

Под катом несколько наработок, которые могут оказаться полезными другим друпаловодам-любителям вроде меня.

Когда микросхемы были большими...

В последнее время я использую ноутбук почти исключительно как терминал с набором из трех коммуникационных программ: Chrome, PuTTY, Skype (да и то, последняя потихоньку отмирает, замещаемая Google Talk'ом). Есть, правда еще несколько десктопных приложений, таких как FastStone, WinAmp и FAR, но даже они работают преимущественно с файлами, расположенными за пределами ноутбука. Но, что показательно, даже этот с виду минималистичный набор программ с трудом ворочается на ноутбуке, управляемом Windows 7 и имеющим четыре гигабайта памяти на борту. Больше всего, конечно, отъедает хром, особенно с моим подходом к работе, при котором количество вкладок ограничивается лишь шириной экрана :) Но, тем не менее, когда компьютер начинает на ровном месте отчаянно тормозить и судорожно дергать винчестером, не откликаясь на действия пользователя - это, мягко говоря, раздражает.

А некоторое время назад меня пробило поставить Eclipse и поэкспериментировать с программированием под Андроид, благо язык Java я еще не совсем забыл. И, понимая, что по прожорливости Eclipse как минимум не уступает хрому, я задумался об апгрейде оперативной памяти.

О том, что из этого получилось - под катом.

HTML-скрипт для автоматической транспозиции аккордов

Пока я занимался подбором и публикацией аккордов к песням из "Последнего испытания", меня смутно терзала мысль сделать так, чтобы можно было прямо на страничке взять и перейти в другую тональность. В итоге мысль вылилась в некий скрипт на jquery, который я представляю уважаемой общественности.

Идея проста. В исходнике аккорды записываются прямо в тексте песни:

Белый сн{Am}ег, серый лед
На растр{C}ескавшейся земле

На выходе получаются красиво оформленные надстрочные аккорды:

        Am
Белый снег, серый лед
        C
На растрескавшейся земле

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

P.S. Если кто из коллег по цеху это читает - потестируйте, пожалуйста! :)

Язык программирования для домашнего использования

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

Обычно всякие вычислительно-рисовательные задачи легко решает Эксель и его бесплатные аналоги; для большинства процедурно-скриптовых задач обычно за глаза хватает джаваскрипта в ближайшем браузере. Но ни тот, ни другой, к примеру, не могут напрямую работать с файловой системой. Мне как раз недавно потребовалось распарсить текстовый файлик и разобрать его на кучку других маленьких текстовых файликов. Так что я сделал: я вспомнил, что у меня на домашнем сервере крутится Апач, а его веб-каталог расшарен по локальной сети - поэтому, недолго думая, я написал скриптик на PHP, тут же рядом положил оперируемый файлик и запустил скрипт через браузер. Знаю, что это извращение :) Поэтому и прошу совета.

Под катом - список желательных характеристик, которыми должен обладать искомый язык.

Локальные ужасы айтишного офиса

Наша Анечка - очень хороший программист. Я говорю это без тени иронии: можно сколько угодно говорить про морских свинок, сравнивая с ними женщин-программистов, но к ней это никоим образом не относится - она действительно классный специалист. Мне несколько раз доводилось наблюдать следующую сцену: Аня смотрит в чей-то код и хохочет. Причем я, когда вижу это, чувствую себя примерно как Джен из "IT Crowd" в тот момент, когда Мосс разглядывает печатную плату, ржет над ней и, вытирая слезы, объясняет Джен: "Ты только посмотри: какой-то идиот провел шину данных через цепь питания!" (ссылка на видео). Но только вот недавно Аня меня напугала.

Ситуация была следующая. Близится релиз, а у нас, как обычно, ничего толком не работает. Плюс еще пятница вечер, поэтому настроение у народа полуистеричное. И тут мой взгляд падает на Анин монитор, где я вижу примерно следущий код:

void f()
{
  - - - - -   - - - - -
  - - - - -   - - - - -
  - - - - -   - - - - -

}

И Анечка аккуратным, неторопливым копи-пастом добавляет все новые и новые строчки...

Представили, да? Лично у меня в голове тут же всплыла сцена из фильма "Сияние" с Джеком Николсоном. Фильм старый, но на всякий случай спойлер с описанием спрячу.

Как мы ломали систему учета времени

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

Околопрограммерское

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

Кстати, читал один JavaDoc - и очень уж мне понравился один фрагмент:



Разумеется, в полном описании к функциям объясняется, в чем их различие, но все равно поначалу выглядит смешно :-)

Current Mood: weird
Current Music: Blind Guardian - Ashes To Ashes
Tags: testing, job