Записки реликта [entries|archive|friends|userinfo]
Latimeria chalumnae

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Как в _этом_ люди работают, а? [Apr. 29th, 2010|04:42 pm]
[Tags|, , , , , ]

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

Стопиццот кликов мышкой и полдня времени там, где в Linux достаточно дать одну команду и уйти. НЕНАВИСТЬ.

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

Recoll [Jan. 13th, 2010|01:01 pm]
[Tags|, , , , ]

Кстати, не помню, рекламировал ли я уже прекрасную программу Recoll. Это написанный на Qt интерфейс к Xapian, локальной поисковой машине. И Recoll, и Xapian, естественно — свободное ПО (GPL).

Не могу сказать, что у Recoll есть какие-то неожиданные возможности, о которых стоит рассказывать — но он просто работает. Причём, по ощущениям, существенно лучше, чем, скажем, хвалёный Google Desktop Search. Сейчас вот в очередной раз воспользовался, убедился, что всё, что надо, легко находится (а также вспомнил вчерашние мучительные поиски файла, содержащего заданную строку, на чужой машине), и решил написать — может, пригодится кому-нибудь ещё.

Кстати, многие не вполне понимают, насколько это удобно — локальная поисковая машина. По-моему, только для пользователей Mac OS X это действительно привычный инструмент. Пользователи же PC, неважно под какой ОС, обычно полагаются на "говорящие" имена файлов и иерархическую структуру каталогов. Но не надо забывать, что попытка построить всеобъемлющую классификацию — дело безнадёжное, и, даже если вы честно пытаетесь раскладывать файлы по нужным каталогам, есть немаленькая вероятность, что в какой-то момент искомый файл окажется совсем не там, где нужно.

Мне кажется, что очень сильно исправила бы положение возможность привязать к файловой системе что-то вроде тегов, но и локальный поисковик — сильно лучшее решение, чем попытки понять, где же был нужный файл — в ~/Documents/programs/myProject, в ~/src/myProject/Documentation или вообще в каком-нибудь ~/tmp/toRead/fromWork/myProject?

Для тех, кто всё ещё сомневается — список поддерживаемых Recoll форматов.
Link3 комментария|Оставить комментарий

Игры по вторникам: Cultivation [Jun. 2nd, 2009|02:17 am]
[Tags|, , , , , , ]

Сегодняшняя игра — стратегия реального времени, но очень и очень нестандартная.


Вот так выглядит интерфейс игры

Мир Cultivation очень прост (проще разве что в конвеевской "Жизни"), но при этом предоставляет игроку удивительную свободу, очень далёкую от тупого дуализма в духе "замочи всех врагов", свойственного подавляющему большинству стратегических игр (из исключений навскидку вспоминается разве что "Цивилизация", да и в той упор всё же на соревнование культур, а не на компромисс). На первый взгляд, Cultivation — классическая "казуальная" игра, отрада офисных бездельников (простые правила, динамичный сюжет, полудетская графика…); но очень быстро выясняется, что она совершенно не по-казуальному глубока и безжалостна к "лобовым" решениям.

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


Война в разгаре (чёрные пятна — отравленная почва)

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

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

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

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

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

http://www.youtube.com/watch?v=s_ws1m5aTSA

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

Игра распространяется свободно (как общественное достояние, public domain), но разработчик просит по возможности поддержать его и его семью, переведя небольшое количество денег через PayPal:
http://hcsoftware.sourceforge.net/jason-rohrer/supportMyWork.php

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

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

Сайт игры: http://cultivation.sourceforge.net/
Link3 комментария|Оставить комментарий

Игры по вторникам: Eschalon [May. 26th, 2009|11:46 pm]
[Tags|, , , , , ]

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

Предпочтение я планирую отдавать программам, без особенных плясок с бубном запускающимся под Linux — то есть либо собственно линуксовым, либо работающим в одном из популярных эмуляторов (DOSBox, ScummVM и т.п.). И, разумеется, прежде всего речь пойдёт о свободных играх. И дело даже не столько в идеологии (хотя и в ней тоже), сколько в лени — свободные программы куда проще ставить, поэтому я имею дело преимущественно с ними. А кроме того, для свободных игр больше вероятность, что по мере ухудшения бинарной совместимости новых версий ОС со старыми они продолжат работать (у популярных некогда несвободных игр от Loki Software, например, уже большие проблемы в современных линуксах, в то время как появившийся десятилетиями раньше свободный Nethack живёт и здравствует).

Однако сегодня как раз речь пойдёт о проприетарной игрушке. Это Eschalon: Book I.


Eschalon — классическая фентезийная RPG с изометрической графикой (Diablo все помнят, да?). Если кому интересны детали, то на странице разработчика по ссылке выше есть скриншоты, вот здесь — видео, а информация справочного характера собрана в Педивикии. Я же, как и обещал, поделюсь субъективным впечатлением.

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

Казалось бы, ничего особенного — какие-то принципиальные нововведения относительно хоть того же Diablo в игре отыскать трудно. Но именно "неособенные" RPG под Linux мне почему-то в последнее время и не попадались (за исключением FreedroidRPG, о которой я тоже надеюсь как-нибудь написать), при том, что я их активно искал. И вот, наконец-то: изометрическая проекция, пошаговость, фентезийный мир — как будто по моему заказу. Это, конечно, не рогалики, в которые можно рубиться десятилетиями, сюжет более или менее линеен, но, думаю, пройти эту игру один или два раза интересно будет многим.

Eschalon: Book I работает на Mac OS X, Windows и Linux. Демо-версию можно загрузить с сайта разработчика. Умеющий пользоваться поисковиками человек без труда обнаружит и полную версию, но лично я бы с удовольствием заплатил за неё ребятам из Basilisk Games честно заработанные ими двадцать баксов… если бы у меня была такая возможность. Ссылка на платную Linux-версию с моей машины просто не открывается; кроме того, думаю, что там всяко какой-нибудь PayPal, которого у меня нет и не планируется, а то и оплата кредитками. А жаль.

Более чем достойная штука. Доставляет.
Link4 комментария|Оставить комментарий

Будни быдлокодера: XSLT [Dec. 29th, 2008|02:38 am]
[Tags|, , ]

И всё-таки XSLT — сила! Ничего не могу с собой поделать, этот язык меня реально прёт. Вот сейчас пишу XSL-преобразование, которое порождает из XML-файла код на JavaScript (это не опечатка, всё именно так: XML->JavaScript), и мне это нравится. Я псих, да?

P.S. А я правильно понимаю, что все реальные пацаны давно перешли с XSLT на DSSSL? Я вот прямо даже не знаю — с одной стороны, DSSSL это Scheme, а Scheme я люблю даже больше, чем XSLT. С другой стороны, не очень понятен статус технологии и её перспективы, да и документации даже ещё меньше, чем на XSLT (хотя и XSLT не сказать чтобы прекрасно документирован).
P.P.S. А вот Педивикия как бы говорит нам, что наоборот: "In parallel with the move from SGML to XML, the Extensible Stylesheet Language (XSL) is gradually replacing DSSSL", вроде бы. Ничего не понятно, короче.
UPD Вот [info]orie@lj в комментах разъясняет, как обстоят дела на самом деле.
Link4 комментария|Оставить комментарий

Новый HTAQTSW, или Как _на самом деле_ надо задавать вопросы [Dec. 23rd, 2008|03:27 pm]
[Tags|, , ]

Ггг.

http://bash.org/?152037


I discovered that you'd never get an answer to a problem from Linux Gurus by asking. You have to troll in order for someone to help you with a Linux problem.
For example, I didn't know how to find files by contents and the man pages were way too confusing. What did I do? I knew from experience that if I just asked, I'd be told to read the man pages even though it was too hard for me.
Instead, I did what works. Trolling. By stating that Linux sucked because it was so hard to find a file compared to Windows, I got every self-described Linux Guru around the world coming to my aid. They gave me examples after examples of different ways to do it. All this in order to prove to everyone that Linux was better.
* ion has quit IRC (Ping timeout)
brings a tear to my eye... :') so true..
So if you're starting out Linux, I advise you to use the same method as I did to get help. Start the sentence with "Linux is gay because it can't do XXX like Windows can". You will have PhDs running to tell you how to solve your problems.
this person must be a kindred spirit of mine


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

По ссылке из http://friendfeed.com/ati
Link1 комментарий|Оставить комментарий

Mind maps [Dec. 14th, 2008|03:37 pm]
[Tags|, , ]

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

Интересно, увидим ли мы компьютерный интерфейс, с помощью которого так же удобно думать, как с помощью листка бумаги/доски с фломастерами (или ещё удобнее, чего хотелось бы, конечно)? Или следующее поколение, для которого печатать и возить мышь будет привычнее, чем писать и рисовать, уже перестанет в таком интерфейсе нуждаться?
Link1 комментарий|Оставить комментарий

Странности со списками в Python [Nov. 30th, 2008|12:25 pm]
[Tags|, , ]

Тем временем то ли нашёл ещё одну крупную кривизну то ли в Питоне, то ли в собственных руках.

Был мне нужен список списков одинаковых значений. И я его, недолго думая, организовал строчкой:
L = [[1] * 30] * 30]

Но после этого, попытавшись с этим списком работать, я обнаружил, что присваивание 0 какому-то из элементов в строке обнуляет всю строку. Немножко потупив, я догадался, что, скорее всего, дело в питоновском implicit sharing (кстати, что-то я с утра туплю — есть устоявшийся русский термин?), и написал вместо вышеупомянутой строки цикл:
L = []
for i in range(30):
    М = []
    for j in range(30):
        М += [1]
    L += [М]

Всё немедленно заработало, конечно. "Но осадочек остался". Как-то, по-моему, это "неаккуратненько"©. А вы как думаете?
Link4 комментария|Оставить комментарий

Qt Creator [Nov. 6th, 2008|10:16 pm]
[Tags|, , , , , ]

Наконец-то!

Trolltech (с недавних пор — подразделение Nokia) выпустила-таки IDE для Qt4. Я, естественно, уже скачал и поставил. Это великолепно! По набору возможностей, конечно, оно куда беднее Eclipse, но, как всякий узкоспециализированный инструмент, свою конкретную задачу решает куда лучше.

А главное, главное, теперь можно с чистой совестью пересаживать на Qt леммингов, органически не способных освоить Emacs и gdb. Все довольны: они получают гламурную среду с умным автодополнением, похожую на их любимый Visual Studio (только быструю и безглючную), мы — избавляемся от необходимости иметь дело с говнодельфи и говноMFC.

Сейчас среда распространяется под ознакомительной проприетарной лицензией, но к моменту выхода первой версии код обещают открыть под свободной лицензией, совместимой с GPL.
Link7 комментариев|Оставить комментарий

Inkscape из SVN, кривые Спиро [Oct. 23rd, 2008|01:41 pm]
[Tags|, , , , , , ]

Кривые Спиро (спасибо [info]prokoudine@lj за наводку), недавно добавленные в Inkscape — это просто фантастика! Вот какую лошад я нарисовал буквально за полторы минуты почти случайного тыкания стилусом в планшет:
Смотреть лошад )
Картинка (да ещё нарисованная мной, н-да), понятно, вряд ли может дать представление. Видео по ссылке более информативно, но я рекомендую всем, кто рисует в каком-нибудь векторном редакторе, попробовать использовать кривые Спиро самостоятельно.

Потому что главное достоинство этого инструмента — существенно более естественные движения руки, чем при рисовании кривых Безье. За счёт этого процесс создания рисунка гораздо ближе к нормальному рисованию на бумаге.
LinkОставить комментарий

Будни быдлокодера: // FIXME: WTF?!! [Oct. 21st, 2008|03:29 am]
[Tags|, , , , , , ]

Широко известно, что в каждом достаточно сложном проекте есть комментарий типа "Я не знаю, что это, но без него не работает". Сегодня подумалось, что квалификацию программиста, помимо всего прочего, можно оценивать по тому, какой код становится для него достаточно сложным в этом смысле.

Это я к чему. Я напрочь потерялся в собственном проекте в 470 (прописью: четыреста семьдесят) строк на C++. Что самое обидное — оно почти работает. По крайней мере, работающих кусков там больше, чем тех, про которые я понимаю, что они делают.

NB: если программа начинает работать после изменений, смысл которых ты не понимаешь до конца (в моём случае это break и continue с довольно замысловатыми условиями; не спрашивайте меня, как такое появилось без моего сознательного участия), отмени их и забудь как страшный сон. Чтобы не уподобиться автору этих строк, ага.
Link9 комментариев|Оставить комментарий

BenQ MID S6 [Oct. 2nd, 2008|08:06 pm]
[Tags|, , , , ]

Теперь на рынке есть ещё один MID (переналадонник/недоноутбук) под Linux, помимо серии Nokia N8x0 — BenQ MID S6. Толще и тяжелее N810 и уж подавно N800; время работы от батареи неизвестно. Зато ещё больший экран, и акселерометр. Управление вроде в основном пальцами, хотя есть и стилус (в N8x0 управление пальцами тоже есть, но на мой взгляд традиционный способ всё же удобнее).

Занятно, что оно поставляется с предустановленным FBReader'ом, судя по рекламному ролику.

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

А вообще увеличение количества устройств в этом классе можно только приветствовать. Я использую N800 уже где-то с полгода и потихоньку начинаю задумываться, а не удобнее для меня такая вот полноценная *nix-машина, с большим экраном, настоящей консолью и X-ами, чем традиционный наладонник. Хотя как органайзер Palm был несравненно удобнее, конечно.

Зато для N8x0 есть DOSBox, ЕВПоЧЯ. Эмулятор Palm'а, кстати, тоже есть.

В общем, ждём возможности покрутить S6 в руках…

По ссылке из [info]ru_maemo
LinkОставить комментарий

http://www.filesavr.com [Sep. 14th, 2008|03:29 am]
[Tags|]

Subj (я так понимаю, это типа рапидшары без секундомеров и прочего говна) вроде раздаёт премиум-аккаунты, оплаченные до 2038 года, бесплатно. До 15 сентября.

Зарегестрировался на всякий случай, вдруг не обманывают, просто типа рекламируются так. Если кто знает, в чём подлянка, расскажите.

По ссылке из гостевой алкобиологов.

UPD Кстати, в комменты кинули полезное — скрипт на баше, позволяющий качать файлы с рапидшары автоматом. Спасибо, неизвестный хороший человек!
Link1 комментарий|Оставить комментарий

Очень верное [Sep. 12th, 2008|12:24 am]
[Tags|, , , ]

Я давно заметил, что русские вообще отличаются иррациональной любовью к странным вещам, типа среды Borland Delphi, операционной системы FreeBSD, браузера Opera, протокола ICQ, поисковой машины Rambler и сайта bash.org.ru

Больно И Стыдно™, соотечественники.

Всё, кроме поисковой машины Rambler (о которой я просто ничего не знаю — крайний раз использовал её, кажется, ещё в прошлом тысячелетии) и bash.org.ru (который я очень люблю) в топе личного hate list'а.

По ссылке из подзамочного поста, так что, наверное, неэтично указывать источник
Link4 комментария|Оставить комментарий

Ещё нетбук с Linux [Sep. 5th, 2008|06:14 pm]
[Tags|, , ]

Вот не знаю прям, не пожалуются ли на меня в [info]ljr_zhaloby за такой оголтелый консумеризм, однако хочется отметить ещё один нетбук с Linux: Dell Inspiron Mini 9. По сравнению с Acer's Aspire One, о котором я уже писал, он чуть меньше, чуть тяжелее и чуть дешевле, и флеша в нём 4 Гб против 8 у Асера.

Зато. Зато! Четыре часа работы от стандартной батареи против асеровских трёх; впрочем, к Асеру есть дополнительная шестичасовая.

В общем, когда (если) обе железки привезут в Россию, надо будет смотреть, за какие деньги и в какой комплектации они идут здесь, пока определиться тяжеловато.
Link6 комментариев|Оставить комментарий

mex3-course [Aug. 5th, 2008|12:29 am]
[Tags|, , , ]

Я, в общем, побаиваюсь детей и не очень умею с ними общаться. Но читая [info]mex3-course@lj, неожиданно для себя обнаружил, что завидую людям, проводящим этот курс. Ну, типа, это с моей т.з. одна из тех вещей, которыми действительно стоит заниматься.

По ссылке от [info]aen_@lj
LinkОставить комментарий

Снеси ICQ [Jul. 3rd, 2008|01:30 am]
[Tags|, ]

Я прошу прощения у тех моих читателей, кто видит аналогичную телегу не в первый раз

Хехехе, они опять. Не торопитесь патчить свой IM клиент — лучше подумайте, а нужна ли вам эта "аська" вообще? Может быть, перейти на Jabber — систему мгновенных сообщений без спама, вирусов, без охоты за "шестизнаками", с человекочитаемыми адресами, аналогичными адресам электронной почты (типа login@myserver.org)? Jabber, в отличие от "аськи", неподконтролен какой-либо корпорации, и не может быть подконтролен — это децентрализованная система, сервер который может поднять каждый, при этом пользователи любого сервера без всяких проблем могут общаться с пользователями остальных. С протоколом Jabber никогда не случится ужасов вроде описанного по ссылке — это открытый международный стандарт, основанный на XML (кстати, этот протокол — XMPP — используется не только для мгновенных сообщений, но и для кучи других вещей, от голосового чата до совместного рисования в векторном редакторе).

Джаббером уже пользуется огромное количество людей — ведь именно на этой технологии построены такие популярные сервисы, как Google Talk и LJ Talk. У Яндекса тоже есть свой Jabber-сервер. Кстати, это означает, что если у вас есть почта на GMail, почта на yandex.ru или дневник в ЖЖ — у вас уже есть Jabber-аккаунт. В случае GMail и яндекса не обязательно даже ставить клиент — эти сервисы предоставляют веб-интерфейс для своих Jabber-систем.

Кстати, о клиентах. Вы, конечно, знаете, что QIP Infium (активно разрабатываемая и уже доступная в виде предварительных сборок следующая версия QIP), Miranda и Adium поддерживают Jabber? Существуют также Jabber-клиенты для телефонов, позволяющие общаться гораздо комфортнее (и дешевле!), чем с помощью SMS.

В контакт-листе ICQ у вас остаются важные контакты? Во-первых, скорее всего, у них уже есть Jabber-аккаунт (см. выше). Если нет — тоже не беда: уговорите их перейти на Jabber. Только не надо говорить, что это нереально: мне, например, это удалось. Если вам самим лень объяснять, зачем использовать именно Jabber, можете дать им ссылку на этот пост.
LinkОставить комментарий

Язык программирования --- это на 90% его библиотеки [Jul. 1st, 2008|10:11 pm]
[Tags|, ]

И это, на самом деле, ужасно.

Вот, например, очень хочется написать что-нибудь на Scheme, чтобы получше узнать этот замечательный язык — но, например, приличной библиотеки для создания GUI к этому языку нет ни одной, работа с сетью и тредами, а также интеграция в C-шный код нормально сделана, afaik, только в Guile, который знатоки и ценители ругают последними словами, со средствами веб-программирования тоже беда... и это сильно усугубляется несовместимостью библиотек для различных интерпретаторов, конечно. В итоге для решения любой реальной задачи куда проще схватиться за "индустриальные стандарты": C++/Qt4, JavaScript, Python или Erlang.

Единственная, кажется, нужная на практике софтина, которая не требует почти никаких внешних библиотек и при этом просто создана для Scheme, уже написана. На Scheme, что интересно. И написана настолько хорошо, что человек моей квалификации вряд ли способен что-то хорошее и действительно полезное в неё добавить: это LilyPond.

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

Например, участие в большом проекте на Scheme, скорее всего, избавило бы меня от иллюзий. Я не мог нарадоваться на Питон, пока не пропробовал написать на нём действительно большую программу и не уткнулся носом в ряд уродливых неочевидностей и нелогичностей. Я думал, что знаю C++, пока не вынужден был влезть в разработку проекта на C++ в несколько десятков тысяч строк кода (с короткой, но бурной историей, н-да), после чего мне пришлось, по сути, заново учить этот язык. И, кстати, на собственной шкуре убеждаться в истинности утверждений, которые умные люди твердят не первый десяток лет: "явное управление памятью — для красноглазых подростков, человек, которому нужна программа, а не процесс её написания, с самого начала будет использовать язык с автоматической сборкой мусора", "объектный язык без развитой метаобъектной системы можно сразу выбрасывать в помойку", "шаблоны проектирования (design patterns) — маразм и бюрократия, но в ООП без них нельзя", "шаблоны (templates) рулят", "юзайте средства автодокументирования", "юзайте системы контроля версий", "убивайте тех, кто не использует средства автодокументирования и системы контроля версий", "C годится только для написания операционных систем, C++ не годится вообще ни для чего"… о десятом правиле Гринспуна я уже не говорю (наблюдательный человек уже заметил, что перечисленный мной набор мудростей состоит из следствий десятого правила Гринспуна чуть более, чем наполовину). Так что вполне возможно, что более плотное взаимодействие со Scheme тоже уравновесило бы восхищение должной долей раздражения.

А пока остаётся только кусать локти: почти любой код на Scheme кажется мне чудом логичности, изящества и читабельности; программирование небольших задач на Scheme это действительно удовольствие. Совсем обидно будет, если на самом деле больших — тоже.
Link14 комментариев|Оставить комментарий

Бложь: IT-шное [Jun. 30th, 2008|07:26 pm]
[Tags|, , ]

Из журнала [info]gaperton@lj:

результаты исследований карнеги-меллон (в рамках работ по psp/tsp) показывают, что при увеличении чистого времени работы более 4 часов в день приводит к понижению продуктивности, и выработка выходит на константу, а потом падает. Чистое время работы - это за вычетом перерывов совещаний чтения почты новостей и перекуров. Эти результаты научно точны - они железобетонно доказывают бессмысленность регулярных переработок.
(мой небогатый опыт полностью подтверждает, да; кстати, как раз примерно четыре часа в сутки тратили на обеспечение себя всем необходимым наши предки в эпоху палеолита, и столько же тратят сейчас охотники-собиратели).

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

Из журнала [info]pzz@lj:

Пишем програмку, состояющую из 2-х потоков. Один пишет в TCP-сокет, другой читает. Сокеты соединены между собой через 127.1

Запускаем на Линухе - получаем 363 мб/сек. На Винде - 54. Уже забавно.

Теперь увеличиваем буфер, которым пользуется програма, с 1 до 32 килобайт.

Линух разгоняется до 700 мегабайт. Винда - до 78.

Я фигею.

В блоге по ссылке ещё много шокирующих подробностей из жизни различных операционных систем, например, такие.
Link5 комментариев|Оставить комментарий

Опыт написания индусского кода [May. 17th, 2008|02:42 am]
[Tags|, , , , , ]

Сегодня собственоручно сделал в корпоративный SVN коммит, содержащий примерно следующее:

...
_currentView->setWorkDir(_currentView->getWorkDir());
...

Это, увы, небессмысленный шаг, просто у класса, экземпляром которого является _currentView, такое вот зашибенное внутреннее устройство (тоже моего авторства, понятно).

Стыдно ужасно. Груз гуманитарного образования сегодня тяжёл как никогда, ощущаю позывы к заползанию в биореактор.

[много оправдательных слов skipped]

Остаётся надеяться только на то, что у меня будет время на рефакторинг и этот код не уйдёт в production.
Link2 комментария|Оставить комментарий

navigation
[ viewing | most recent entries ]
[ go | earlier ]