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
Таки данный журнал возобновляет свою работу, но уже в контексте чисто программерских заметок. Всё остальное по-прежнему останется в основном ЖЖ dnovikoff. | | Saturday, April 29th, 2006 | | 3:26 am |
Давеча 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 |
| | 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-файлы
Актуальность темы подтвердил сегодня 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: sleepyCurrent 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: lonelyCurrent Music: Pink Floyd - Meddle - Echoes | | Thursday, December 25th, 2003 | | 2:05 pm |
Люди, а что по-вашему время? И зачем его считать? :) Current Mood: meditativeCurrent 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 наступил. Здоровый пофигизм перерос в нездоровый и отныне на неопределённый срок девиз мой - "а ебись оно всё конём". Все недовольные же могут идти лесом. Сие заявление прошу считать официальным %) Позавчера 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 ]
|