Home
tcsh# ls -Al | more
 
[Most Recent Entries] [Calendar View] [Friends]

Below are the 20 most recent journal entries recorded in Dixx aka CProgrammer's LiveJournal:

    [ << Previous 20 ]
    Wednesday, April 22nd, 2026
    8:53 pm
    Disclaimer
    Таки данный журнал возобновляет свою работу, но уже в контексте чисто программерских заметок. Всё остальное по-прежнему останется в основном ЖЖ [info]dnovikoff.
    Saturday, April 29th, 2006
    3:26 am
    Давеча [info]titov скинул линк с утверждением Торвальдса о том, что copy-on-write при fork()'ах- это плохо. В частности потому, что игры тормозят. Ну мудак, подумал я, и вроде забыл.

    А тут вот какая мысль пришла. Copy-on-write не просто резко облегчает fork() как единственный способ создания нового процесса в UNIX (в особенности с учётом того, что чаще всего после fork'а дочерний процесс выполняет совсем другой код и часть кода/данных родительского процесса оказывается невостребованной), таки его отсутствие категоричестки утяжеляет exec() и, как следствие, например, может сильно замедлять шелл. Так, при вызове /bin/ls из bash придётся скопировать при fork'е весь большой bash вместо небольшого куска кода, отвечающего за запуск маленького ls. Расходы на загрузку и запуск самого ls, понятно, сохраняются в обоих случаях.
    Sunday, April 23rd, 2006
    4:31 pm
    Single UNIX Specification
    Полезная ссылка. Читать и вкуривать до просветления
    The Open Group Base Specification Issue 6 (IEEE Std 1003.1, 2004 Edition) - Single UNIX Specification
    5:33 am
    Вывод ошибок и сопутствующей информации
    Никогда не выводите ошибки в stdout! Для этого есть stderr. Если вам необходимо это сделать в шелле, то проще всего сказать echo "an error occured" 1>&2.

    Причина тому достаточно проста и кроется в группе стандартных утилит, именуемых в Single UNIX Specification фильтрами. К их числу относятся grep, sed, awk, sort и т.п. Если ваша программа вернёт пустой вывод, то последующие фильтры будут работать предсказуемо - они тоже ничего не вернут. А вот если вы захерачите ошибки в stdout - то результат работы фильтров будет произвольным.

    Кроме того, существует добрая традиция информацию об использовании программы (номер версии, список ключей и т.д., т.е. то, что обычно получается по ключам -h/-v) также запихивать в stderr. По тем же причинам (например, если существует несколько вариантов реализации утилиты, то на неправильный ключик в командной строке она вполне может ругнуться кратким списком ключиков).

    Теперь непосредственно о том, как правильно выводить ошибки, не изобретая велосипед.

    Вкурить )
    2:47 am
    PID-файлы
    Актуальность темы подтвердил сегодня [info]titov. Так вот, PID-файлы - очень полезная штука, не только в случае демонов, но и в случае всяких скриптов, запускаемых из cron'а.

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

    Кроме того, pid-файлы крайне удобны в случае, когда процесс надо прибить. Чем делать ps | grep myprocess | grep -v grep, куда проще сделать cat /var/run/myproc.pid. В принципе, есть ещё pidof, но есть он не везде.

    Также существует заблуждение, что работа с PID-файлами - это как два пальца обоссать. Это не так, тут есть тоже куча хитростей. Собственно...

    Вкурить )
    12:23 am
    Эмуляция обработки исключений в C
    Итак, приступим. Я по многим причинам не люблю C++, предпочитая ему обычный C. Почему - вопрос отдельный. Тем не менее, в C++ есть много полезных вещей, и одна из них - обработка исключений. Понятно, что простыни вложенных if'ов с обработкой ошибок очень сильно напрягают. Лечится, на самом деле, просто:

    Вкурить )
    Friday, February 13th, 2004
    8:14 pm
    %)
    Всё ж таки, до чего ебанутый у нас народ. Пятница, вечер, 20:00. Я сижу, таки жду, когда же все к чертям собачьим уйдут с работы, чтобы можно было нормально поработать самому. И тут выясняется, что ни одна сволочь и не думает сваливать. Засада просто. Полная.
    Thursday, February 12th, 2004
    6:27 pm
    Странный день. Даже музыка не помогает прийти в нужное для работы состояние. Или вокруг просто слишком много людей. Пересчитал - вроде пятеро. Слишком много.

    Current Mood: sleepy
    Current Music: Pink Floyd
    Monday, February 9th, 2004
    12:11 am
    О как!
    Со мной очередной раз случился приступ экстремального минимализма, выражающийся в снесении с ноутбука всей графики вообще. Был приятно удивлён, когда выяснил, что при помощи lynx можно вполне адекватным образом шариться в инете (собственно сей пост пишется именно из-под lynx 2.8.5). Поставил себе старый добрый MP3Blaster заместо XMMS, настроил 16 pty на syscons'е и сижу тащусь. ВОТ.
    Причиной же тому, судя по всему, стали тяжёлые роды FreeBSD 5.2.1-RC (никому не пожелаю). Началось с того, что ента сволочь с GENERIC-ядром при первой загрузке рухнула в kernel panic. Немного удивившись, пробутался с FreeBSD 5.1 Live filesystem и пересобрал ядро. Чего глюкало - хз, но после пересборки оно пришло в себя и даже загрузилось. Далее выяснилось, что хруники из BSD за каким-то поменяли номера syscall'ов, в результате чего половина софта (включая тот же mergemaster падала по SIGSEGV с воплями invalid system call number). В итоге угробил день.
    Кстати, на удивление, в 5.2.1 на моём ноуте наконец-то нормально заработало ACPI + APM, хотя, по свидетельствам очевидцев :-) именно ACPI в 5.2.1 более всего нерабочее. Сплошные парадоксы, блин.

    Current Music: Pink Floyd - The division bell - High hopes
    Wednesday, December 31st, 2003
    1:55 pm
    Я спецназовец ГРУ!
    Вы – ужас, летящий на крыльях ночи. Вас втихаря боится вся Европа, а остальным крупно повезло что они про вас не знают. Остальные спецназы мира услышав про вас, нервно курят и поминают вас матерным словом. Для вас нет такого понятия – невыполнимая задача. Единственное что вас может остановить – направленный ядерный взрыв, и то не факт... Вы можете захватить АЭС, убить любого президента, обесточить Брюссель, проехать по Парижу на танке, устроить кошмар в тылу бундесвера и уйти непойманым. Вы – суперсолдат, вы – элита, ваш голубой берет – это круче всех орденов!
    Какой вы спецназовец?
    Tuesday, December 30th, 2003
    6:51 pm
    Коньяк, лимончик, наблюдение за коллегами, режущимися в преферанс... Плюс ремиксы на Delerium из колонок... Что ещё надо для хорошего настроения? :)
    Friday, December 26th, 2003
    8:20 pm
    Merry Christmas, мать его %)
    Странный новый год выходит, очень странный. Пожалуй, по прошествии некоторых событий как на работе, так и в прочих местах, единственное, что остаётся - сходить в магазин, купить бутылку какого-нить Bowen или Courvoiser XO и тихо заснуть в обнимку с оной бутылкой и баальшой плюшевой собакой.

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

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

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

    Current Mood: lonely
    Current Music: Pink Floyd - Meddle - Echoes
    Thursday, December 25th, 2003
    2:05 pm
    Люди, а что по-вашему время? И зачем его считать? :)

    Current Mood: meditative
    Current Music: Pink floyd - Dark side of the moon - Time
    1:03 pm
    %))
    Сегодня всю ночь пытался уснуть мордой в подушку так, чтобы ещё при этом и не задохнуться. Обычно сплю на боку. На спине совсем не получается - не знаю, почему. А тут мешались свежекупленные Beyerdynamic DT990. Музыки, в общем, хотелось. В итоге я-таки умудрился улечься на бок, посредством помещения головы в щель между подушкой и подлокотником дивана - щель как раз примерно с ухо размером.
    Wednesday, December 24th, 2003
    12:56 pm
    Решил, что хочется чего-то позитивного и весёлого. Новый год-таки на дворе. Ну или почти на дворе. Перед работой купил mp3-диск Linkin Park + Papa Roach. И ХДЕ МОЙ ЛЮБИМЫЙ Reanimation? Сволочи, одним словом. А ещё полное собрание называется :(

    P.S. Или я чего-то путаю?
    Monday, December 22nd, 2003
    4:57 pm
    Kill'em all!
    Бля, ну почему из-за какого-то ленивого мудака приходится разгребать кучи говна вместо того, чтобы пить в красивом ресторане на халяву коктейли?! Что за педерастия такая? Почему за две с лишним недели (если не больше) нельзя проставить мониторинг количества inodes через snmp?! даже скрипт уже готов, ток проставить осталось. И в результате такая вот ХУЙНЯ. С большой буквы капсом.
    Sunday, December 21st, 2003
    5:19 pm
    userpic
    А у меня наконец-то появился юзерпик! %)
    Thursday, December 11th, 2003
    2:29 pm
    БЛЯ! Ну что ж за неделя такая ебанутая?! Ещё и пятница обломалась. Пиздец просто какой-то.
    11:26 am
    Час X наступил. Здоровый пофигизм перерос в нездоровый и отныне на неопределённый срок девиз мой - "а ебись оно всё конём". Все недовольные же могут идти лесом. Сие заявление прошу считать официальным %)

    Позавчера [info]morigan вскользь бросила фразу: "Димк, а у тебя руки трясутся". Вчера посмотрел и удивился - реально трясутся. Плюс ко всему ещё и повышение зарплаты оказалось премией. Блин, я могу понять повышение зарплаты на 12,5%, но премия в виде 12,5% от зарплаты - imho, издевательство.

    Тут ишшо начальник выдал "так как тасков будет много всегда, надо делать какие-то шаги для плавного перехода к топу2". Какой в жопу плавный переход?!!! Да это говно выкинуть надо и новое написать. Короче, нет счастья в жизни. Ещё приходить вовремя надо.

    Да и после зарплаты в альфе работать на сии копейки... В общем, ЗАЕБАЛО гробить своё здоровье без всякого оргазма от работы, будь то оргазм финансовый либо творческий.

    Итог прост: сей мессаг можно считать заявлением о начале поиска работы. Так что, кто готов предложить з/п от 1500EUR (именно ОТ без всяких там приколов на испытательный срок и именно EUR) программеру C/C++/Perl/Java/Asm(x86/x51/x48/21xx(x)) с опытом разработки крупных информационных систем (в частности, веб-ориентированных) как на Unix(FreeBSD,Solaris,QNX)/Linux, так и на виндах - обращайтесь за резюме на cprog@rambler.ru.

    P.S. Ибо нехуй.

    Current Mood: похуистическое
    Current Music: Deep Purple - Deep Purple - April
    Thursday, November 27th, 2003
    8:31 pm
    Точно день ебанутый. Написал предыдущий пост. Посмотрел на код. И увидел баг. 2 минуты. Херь какая-то просто...
[ << Previous 20 ]
Dixx.ru   About LiveJournal.com

Advertisement