суббота, 19 ноября 2011 г.

Настройка терминала под StumpWM (FreeBSD)

То, как выглядит терминал (xterm) при использовании StumpWM - форменное издевательство. Для себя я его немного подстроил - создал файл ~/XTerm со следующим содержимым:


XTerm*rightScrollBar: True
XTerm*scrollBar: True
XTerm*saveLines: 1000
XTerm*foreground: grey
XTerm*cursorColor: grey
XTerm*background: black
XTerm*faceName: terminus
XTerm*faceSize: 12 
 
Получилось вполне себе неплохо.
 

понедельник, 7 ноября 2011 г.

Обновление данных из другой таблицы

UPDATE tb_dest
   SET code = s.code
FROM tb_dest d
INNER JOIN tb_source s
ON d.sid = s.sid
WHERE d.did = 100
 
Все время забываю, как это делается :) 

среда, 21 сентября 2011 г.


Потрясающая работа на барабанах!

вторник, 13 сентября 2011 г.

При попытке загрузить подсистему с помощью QuickLisp в SBCL получил ошибку следующего вида:
* (ql:quickload "chillax")

debugger invoked on a LOAD-SYSTEM-DEFINITION-ERROR in thread #
"initial thread" RUNNING
{1002928DA1}>:
Error while trying to load definition for system chillax from pathname
/home/user/quicklisp/dists/quicklisp/software/chillax-20110522-git/chillax.asd:

decoding error on stream
#
for "file /home/user/quicklisp/dists/quicklisp/software/chillax-20110522-git/chillax.asd"
{100386B081}>
(:EXTERNAL-FORMAT :ASCII):
the octet sequence (195) cannot be decoded.

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [ATTEMPT-RESYNC ] Attempt to resync the stream at a character boundary
and continue.
1: [FORCE-END-OF-FILE] Force an end of file.
2: [INPUT-REPLACEMENT] Use string as replacement input, attempt to resync at
a character boundary and continue.
3: [ABORT ] Abort loading file "/home/user/quicklisp/dists/quicklisp/software/chillax-20110522-git/chillax.asd".
4: Give up on "chillax"
5: Exit debugger, returning to top level.

((FLET #:LAMBDA1713) #)
0] 5

Решение, быть может, не очень красивое, зато надежное:


помещаем в .sbclrc строку

(setf sb-impl::*default-external-format* :utf-8)

воскресенье, 11 сентября 2011 г.

С удовольствием слушаю записи групп Nickelback и 3 Doors Down. Оказалось, что в работе над альбомами Nickelback — Dark Horse, Nickeback — All the Right Reasons и Three Doors Down — Seventeen Days принимал участие один и тот же ударник — Daniel Adair. Вот почему мне исполнение показалось очень похожим!

суббота, 3 сентября 2011 г.

Кто на свете всех быстрее?

http://shootout.alioth.debian.org/
Известный сайт, на котором проводятся бенчмарки разных языков программирования.
Можно использовать, чтобы понять, почему не стоить делать сайты на PHP и почему это можно нужно делать на Лиспе.

пятница, 2 сентября 2011 г.

Если бы языки программирования были религиозными учениями

Идея почерпнута из известного текста «Если бы языки программирования были автомобилями».

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

Java — ортодоксальное христианство. Теоретически, Java основана на C, однако она отменяет такое количество старых правил, что совершенно непохожа на оригинал. Вместо них появляются новые правила, которые последователи этой веры искренне считают много лучшими, чем старые. При этом они не только убеждены, что их язык — лучший в мире, но готовы сжигать на костре тех, кто с ними не согласен.

PHP — неформальное христианство (в оригинале Cafeteria Christianity — не нашёл перевода). Оно борется с Java за рынок веб-приложений. Заимствует некоторые концепции из C и Java, но только те, которые ему нравятся. Возможно, оно не настолько последовательно, как другие языки, но по крайней мере даёт много свободы и, ВРОДЕ КАК, сохраняет основную идею. Да, и ещё: понятие «goto hell» там отброшено.

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

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

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

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

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

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

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

Ruby — неоязычество. Смесь разнородных представлений и верований, собранных в кучу, отдалённо напоминающую язык программирования. Число его адептов быстро растёт, и, хотя многие относятся к ним с подозрением, они, как правило, не хотят ничего дурного.

Python — атеизм. Прост, нетребователен, не нуждается в чём-либо кроме здравого смысла. Многие последователи утверждают, что освободились от давления других языков и снова открыли для себя удовольствие от программирования. Есть также мнение, что Python — что-то вроде псевдокода.

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

APL — сайентология. Хотя куча народу утвержают, что следуют этой вере, вам постоянно кажется, что это какой-то большой и сложный прикол, вышедший из-под контроля.

LOLCODE — пастафарианизм (примечание переводчика: вера в Летающего Макаронного Монстра). Искусственное образование, появившееся в Интернете, которое никто не принимает всерьёз, несмотря на попытки его развивать и пропагандировать.

Visual Basic — сатанизм. Единственное отличие в том, что быть сатанистом, не продавая свою душу, всё-таки можно.