Archive for the ‘General’ Category

2011-12-28 книжна равносметка

Wednesday, December 28th, 2011

И една отделна книжна равносметка за годината, понеже вероятно ще излезе по-голяма от предишната.
(всички книги по-долу и моите rewiew-та за тях може да се намерят в goodreads)

Една интересна тази година беше психиатрията. От нещата, които наистина ми харесаха ще спомена “The Psychopath Test” на Jon Ronson (наистина забавно четиво и много добре написана), “The Mask of Sanity” на Robert M. Cleckley (също хубаво четиво, но доста разпънато и може да доведе до странни сънища, например как си говорите с психопати), “Destroying the World to Save it: Aum Shinrikyo, Apocalyptic Violence, and the New Global Terrorism” на Robert Jay Lifton (който все още ми е от любимите автори, въпреки че “The Protean Self” беше много разочароваща), и “Inside the Criminal Mind” на Stanton E. Samenow (пак от книгите, дето влияят на съня).

По икономическата тема имаше няколко други интересни книги – “Liar’s Poker”, “The Big Short: Inside the Doomsday Machine” и “Boomerang: Travels in the New Third World” на Michael Lewis, който се оказа един наистина четим автор, който да опише кризата, последствията и причините (“Liar’s Poker” е писана преди 6-7 години с идеята да разкаже какво всъщност се случва на Wall Street и помага доста за разбиране на ситуацията). Внимание заслужава и “Currency Wars” на James Rickard.

От любимите ми автори имаше по една нова книга – “Reamde” на Нийл Стивънсън (трилър, много добър, но не може да настигне Cryptonomicon-а и Бароковия цикъл и всички са нещастни), “Snuff” на Тери Пратчет (много добра, но всички се надяваме да пише още книги), “12/22/63” на Стивън Кинг (пак много хубаво, въпреки елемента на пътуване във времето), “Diary” на Чък Паланюк (очаквах нещо повече), “Лудост” на Калин Терзийски (“Хората стават психиатри, за да си изписват сами халоперидол”), “Rule 34” на Чарли Строс (една от книгите, която четох с голямо удоволствие), “The Wise Man’s Fear” на Патрик Ротфус (ако и трета книга е толкова добра, спокойно може да го пишем за най-велик фентъзи автор) и “The Crippled God” на Стивън Ериксън (последната от “Малазанска книга на мъртвите”, не мисля, че има нужда да казвам повече).
Надявам се поне част от тях да се завърнат догодина с още нещо интересно (с изключение на Стивънсън, на който е ясно, че ще му трябват още 2-3 години за нова книга).

Имаше и разни неща, на които попаднах по разни други причини (препоръки, забелязани някъде и т.н.). Струва се да се отбележат:
“The Geeks Shall Inherit the Earth: Popularity, Quirk Theory and Why Outsiders Thrive After High School” на Alexandra Robbins – много интересни изследвания в/у училищата и груповата психология.
“1491: New Revelations of the Americas Before Columbus” на Charles C. Mann – много подробно разказани последните теории и открития за двете Америки преди пристигането на Колумб, чух я от едно интервю с Нийл Стивънсън (както и следващата, “1493…”) и определено си струва да се прочете.
“Rats Saw God” на Rob Thomas – рядко добра young adult книга, мен ме зариби заглавието.
Две книги на Atul Gawande – “Complications” и “Better” – хирург, пише много интересни неща за медицината и за как може да се подобри като цяло с мерки, приложими и в други области.
“Kingpin: How One Hacker Took Over the Billion-Dollar Cybercrime Underground” на Kevin Poulsen – много добре research-ната книга за хора, занимаващи се с credit card fraud и свързаните неща, попадна ми след като изчетох “Ghost in the Wiers” на Kevin Mitnick.
“The Organization Man” на William H. Whyte – може би една от най-добрите книги по темата за психологията на хората в корпорациите и проблемите там (мисля да я дам да я прочетат всичките ми познати, дето работят в големи фирми).
Отделно трябва да спомена Амели Нотомб, която пише кратки и все пак много добри книги. Успях да издъвча каквото намерих на български, скоро може да почна да търся и преводи на английски.

Препрочетох също така “То” (на Стивън Кинг), целия “Хари Потър” (Джоан Роулинг) и целите Хроники на Амбър (Роджър Зелазни). Има книги, които определено си струва да се четат пак и пак, да видим кои ще са в тоя списък догодина (може би пак Бароковия цикъл).

Най-препоръчаната от мен книга обаче за тая година е “Shooting an Elephant” на Джордж Оруел – събрани негови есета по различни теми, включително това за писането (което всички хора цитират), като цяло “стуктуро-определяща” книга. От там идва цитатът “During times of universal deceit, telling the truth becomes a revolutionary act”.
Втората също така силно препоръчвана книга е “Дзен и изкуството да поддържаш мотоциклет” на Робърт Пърсиг. Трудно ми е я да опиша, само ще отбележа, че ми помогна много да изясня някои мои идеи за преподаването.

И като препоръка за нещо по-скорошно и интересно – “Barefoot into Cyberspace: Adventures in search of techno-Utopia” на Becky Hogge, книгата може да се намери online и е доста добро описание на събитията в последните няколко години, свързани с wikileaks, copyright-а, internet и други такива забавни неща.

(но най-вече препоръчвам да четете. По-интересно е от почти всички филми (ок, според мен от всички, но пък не съм ги гледал всичките възможни, за да преценя), може да се чете по-бързо или по-бавно (с темпо, което ви харесва) и определено има много повече информация, отколкото в разните смлени бози, които може да се гледат)

2011-12-26 равносметка

Monday, December 26th, 2011

И малко равносметка, преди да седнем да гледаме 28c3.

Като за начало, в началото на тая година съм забравил да напиша някакви планове. Замислям се какво съм правил и голяма част ми се губи, та ще се ползват външни памети.

Като за начало, станах на 30 и ми се размина стандартното проклятие да се оженя, да имам деца и т.н.. Е, не се е разминало съвсем, има още два-три месеца, но съм близо.

Отказах се да се занимавам повече с водене на курсове във ФМИ (като мрежовата сигурност). Направихме един хубав курс, записахме го по възможно най-добрия начин (няма пропуснати лекции) и на мен тотално ми писна от студентите (най-вече тези, които идват само за оценката), бюрокрацията и изобщо идиотията във факултета.
Понеже нямам намерение да се отказвам от идеята с преподаването, мисля да правя един не-курс по системна администрация, за който още си чакам хардуера.

Отказах се да се занимавам с OpenFest. Още не съм събрал желание да напиша защо в подробности (понеже основно псувни ми идват в главата), а и не е толкова важно, в крайна сметка хората могат да се справят и без мен. Може и да успея догодина да направя лекция там, вероятно ще имам време (за разлика от тая година).

Прочел съм горе-долу същия обем книги като миналата година (според статистиката в goodreads миналата година са 138 книги и 44388 страници, тая са 124 книги и 44122 страници), въпреки една голяма дупка в последните няколко месеца. Май рядко пиша в блога за това, което чета, трябва да се стегна и да пусна малко такива постове.

Започнах да ходя в initLab и да се забавлявам с всякакви странни неща там (тагнати са ми в блога).

Със свиренето напредвам бавно, но не особено мъчително. Взех си и китара (за която не съм блогвал), най-вече около слушането на Kyuss и от време на време сменям инструментите, но определено басът ми е по-приятен.

Прекарах месец-два в изпитване на програмисти за един проект и открих как около 90% от тези, които идват от обяви за работа за нищо не стават. Усещането беше сравнимо с това да изпитвам студенти (малко като вица за приликата между студента и кучето).

Като цяло – не умрях, не се ожених, не се пропих. Мога да броя 2011 за прилична година :)

2011-12-23 прожектиране на 28c3

Friday, December 23rd, 2011

Организираме прожектиране на лекциите от 28c3 в initLab, от 27ми до 30ти декември. Имаме предварителен списък какво мислим да гледаме и поне две стаи, в които да прожектираме (може да ползваме и третата).

(почти са ни одобрили регистрацията за гарантиран bandwidth, така че не трябва да има проблеми)

2011-12-11 панаир на книгата

Sunday, December 11th, 2011

Нищо особено ново нямаше. Панаирът изглежда добре, имаше доста хора, може би малко по-малко издателства от миналата година.

Взех си 5 книги:
“Минало несвършващо”, съставител Евгения Иванова (исторически публикации);
“Лицето на водата”, Робърт Силвърбърг (фантастика);
“Министерство на болката”, Дубравка Угрешич (втора нейна книга, първата, която си взех нещо не ми хареса, да видим);
“Пространства на другостта”, издадена от БАН по темата за етносите и религиите в България;
“Окупаторът съюзник”, Бисер Петров (за колаборационизма в Албания, Сърбия и Гърция по време на втората световна).

В общи линии е добро място за откриване на странни книги, които трудно се намират по нормалните книжарници (като тези от БАН или от военното издателство).

Работи до неделя до 22:00, ако някой още не е успял да иде.

2011-12-09 fizzbuzz

Friday, December 9th, 2011

Странен сезон е. Сутринта валя, два дни подред пия, едвам намирам време да си свърша работата (не щото е много, а щото нещата се припокриват и има чакане) и съм пил вечерта, че да блогна.

Всички вероятно са чували какво е fizzbuzz, но пак да го кажа, накратко – задачка да се отпечатат числата от 1 до 100, като ако числото се дели на 3, вместо него се печата “Fizz”, ако се дели на 5 вместо него се печата “Buzz”, а ако се дели на 15 вместо него се печата “FizzBuzz”.
(това се дава на интервюта да се види дали човека изобщо може да програмира)

Оригиналното решение, което всеки може да напише на листче (говорим само за C) изглежда така:

for (i=1;i< =100;i++) {
	if (i%3==0) printf("Fizz");
	if (i%5==0) printf("Buzz");
	if (i%3!=0 && i%5!=0) printf("%d",i);
	printf("\n");
}

(което е почти същото на повечето езици за програмиране)

Оптимизираният вариант, който ми хрумна изглеждаше по следния начин:

int i,p;
char *s[4]= {"%d\n", "Fizz\n", "Buzz\n", "FizzBuzz\n"};
int s3[3]={1,0,0},s5[5]={2,0,0,0,0};

for (i=1;i<=100;i++) {
	p= s3[i%3] | s5[i%5]; 
	printf(s[p],i);
}

(накратко си избира максимално бързо format string-а, като се прави индекса му от два бита – единия за дали се дели на 3, другия на 5, след което се вика printf() с него и аргумента, а ако във format string-а няма “%”, то вторият аргумент изобщо не се гледа)

Методът с lookup таблиците е известен от зората на програмирането и е един от най-хубавите примери за time-memory trade-off.

Това решение няма branch-ове (т.е. if() и компания) в основния си код, но пък разчита на printf(), който не е особено бърз. На пиенето на Титов му хрумна, че може да се направи масив от функции, които да правят различните неща, но па на мен идеята за call и ret не ми хареса особено, за това се замислих и открих, че в C всъщност има масив от label-и. Съответно, ето извратено и максимално бързо решение:


int i,p;
static void *pos[4]= {&&digit, &&fizz, &&buzz, &&fizzbuzz};
int s3[3]={1,0,0},s5[5]={2,0,0,0,0};
char buff[2048];
char dgts[16]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
int buffpos=0;

for (i=1;i<=100;i++) {
	p= s3[i%3] | s5[i%5]; 
	goto *pos[p];

fizz:
	memcpy(&buff[buffpos],"Fizz", 4);
	buffpos+=4;
	goto end;
buzz:
	memcpy(&buff[buffpos],"Buzz", 4);
	buffpos+=4;
	goto end;
fizzbuzz:
	memcpy(&buff[buffpos],"FizzBuzz", 8);
	buffpos+=8;
	goto end;
digit:
	buff[buffpos++]=dgts[i/16];
	buff[buffpos++]=dgts[i%16];
end:
	buff[buffpos++]='\n';
}
write(1,buff, buffpos);

(т.е. както в предния пример имаме масив от format string-ове, тук имаме масив от позиции, на които директно можем да скочим. Също така не викаме никакви външни функции (memcpy се inline-ва и е от едни по-бързи инструкции) и единствения branch, който имаме е за for() (който също може да се избегне с една lookup таблица и едни goto-та, ама това вече ще е гадно)

Човек, способен да напише подобен код на интервю вероятно трябва да го пратят в Карлуково.

Ако на някой му хрумне нещо по-забавно, да пише :)

Update: Оптимизация – да се изместят p3, p5 и dgts като глобални променливи, понеже ако са във функцията, компилатора ги прави на много mov-ове.

2011-12-08 бас 2

Thursday, December 8th, 2011

Днес на ИББ изскочи една интересна тема, за която май пак е време да пиша.
(темата беше провокирана от това клипче и най-вече от музикалните инструменти в него)

Преди около 3 години си взех бас. В началото бях адски зле, после много зле, сега може би стигнах до нивото на адски много зле (има кило записи някъде, мислех си да направя един текущ на нещата, които горе-долу докарвам, но звуковата ми карта за записи е в initLab в момента, а аз съм достатъчно пиян да пропускам струни и прагчета). Двете оправдания защо го направих са “криза на средната възраст” (не минава, щото май не съм стигнал дотам) или че съм си взел голям инструмент да компенсирам за други неща (това успява да мине пред незапознатите :) ).

Всъщност, основната причина да си го взема беше звукът. Китарата (въпреки, че имам и такава) си остава за мен някакъв лек, детски инструмент – близки, тънки струни, никакво задържане на тона (колкото и да е добра) и липса на усещането, което баса докарва – като го държиш, вибрацията на струните се усеща в тялото, като цяло обратната връзка е пряка и доста силна.
За това имам и колебания дали някой искам да си взема контрабас или upright bass, да видя какво е.

Също така музиката, писана да звучи добре на бас просто звучи по-добре и усещането от това най-накрая да успееш да я изсвириш е невероятно. Два страхотни примера са “Orion” и “Anesthesia” на Metallica (второто съм го слушал и като малък, но май чак сега успявам донякъде да разбера колко е красиво). Други примери могат да се намерят в Tool (“Schism”, който още не мога да свиря, “46&2”, от което докарвам части), или в много простите неща на Offspring, например “Gotta get away” или “Change the world”. А ако на някой му се прииска нещо по-злобно, може да пробва “Killing in the name of” на Rage against the machine.

Изобщо, правенето на нещо със собствените ти ръце, особено нещо толкова лесно усещаемо като музика е нещо, което всеки трябва да пробва поне веднъж. Не е задължително да кара хората да го слушат, може просто да му се радва.

2011-12-04 SpyFiles

Sunday, December 4th, 2011

Чета “Spy Files”, последния release от WikiLeaks и се чудя как да се чувствам.

В началото си мислех да напиша нещо по темата за това каква отговорност трябва да се носи при правенето на тези неща, продаването им (особено като се погледне офертата на Amesys за Либия) и прилагането им. Никак не вървеше, та се зачетох в документите по-подробно и попаднах на набор каталози на Elaman (които mirror-нах при мен, че са 124MB).

Четенето им е почти като да четеш ужаси. От една страна те хваща параноята, че тия неща може да ти ги приложат на теб, от друга страна обаче има такива невероятни играчки, че чак ти потичат лигите. Комплекти за отваряне на ключалки и сейфове, детектори за радиоизлъчване, лазер и инфрачервени лъчи, заглушители за същите, дребни ръчки осцилоскопи и спектрални анализатори, системи за гледане през стени (да се проследят кабели и т.н.), подслушващи системи за сателити, разпознаване на глас, кой говори, на какъв език говори и т.н., и т.н.. Ако вярвах в Дядо Коледа, щях да му пратя тоя каталог…
Не съм фен на разните генерални подслушващи неща, анализирането на трафика и връзките между хората и ги намирам за гадни, но останалото всъщност е … готино.

Пиша това, за да отбележа, че всъщност съм ужасен човек и такива като мен ще унищожим света. Забавлявайки се.

2011-12-04 SSL

Sunday, December 4th, 2011

Обичам CaCert.

Хората си дават сертификати просто ако domain-а си е твой, работят съвсем правилно, има ги в достатъчно дистрибуции (може би ги няма в IE, ама това си остава проблем на хората, които го ползват). Тия дни подкарах сертификати на cassie, най-вече за базата данни, която правихме вчера на hackaton-а, днес слагам на marla за няколко vhost-а и може някой хубав ден да мина всичко само на https.

Всичко трябва да се криптира. Защо – вижте “Spy Files” в wikileaks.

Update: Понеже съм забравил да го напиша – тези сертификати са само за УДОБСТВО, да не свети на повечето хора на browser-ите, че има проблем (или поне на тези, които признават cacert). Напълно осъзнявам, че целия модел на сертификатите в момента не струва и не може да се разчита на него и ползвам cacert защото 1) са удобни за ползване (вместо сам да си правя CA) и 2) защото поне на ubuntu-вските browser-и това си работи (т.е. има го root-а им в ca-certificates пакета).

Важната част е SSL-а, който също си има своите много проблеми, но е поне някакъв вариант за сигурност и за криптиране, т.е. стъпка в някаква хубава посока.

2011-11-20 разни + курс

Sunday, November 20th, 2011

Нищо особено интересно не се случва в последно време, та ще взема да блогна за малко дреболии.

От последните неща, които съм чел май най-добре ми дойде “11/22/66” на Стивън Кинг. Дядката определено си е припомнил как да пише. Имаше и други приятни неща, който иска може да ги погледне в goodreads.
(специално трябва да обърна внимание на “Hackers – heroes of the computer revolution”, че не струва и че мижавите опити на журналиста да разбере хората са чак жалки)
(също така “Snuff” на Пратчет беше супер и надеждата е това да не е последната му книга)

Около initlab има разни дребни забавления, например централизиран начин всеки да може да пуска музика от cassie (с малко patch-нат MOC), както и възможност вече да се stream-ват/записват лекциите – днес подредихме микрофона и звуковата карта, може да се ползват директно за конференция (правихме си тест с VarnaLab), или да се stream-ва (преди малко инсталирах icecast на sandbox.initlab.org, url-то ще е http://sandbox.initlab.org:8000/lab.ogg ). Тестовете ги правихме и с Бацов и Цветомила, докато водеха днес началната лекция на курса по Java.
(окабеляването беше забавно)
(пак около lab-а, Мартин след един тежък запой най-накрая реши да блогва)

Обмислям не-курс по системна администрация. Вече надух главата на повечето хора около мен с идеята, така че я пускам за генерална консумация тук – има си вече сайт, ако ви звучи добре – пуснете един коментар там, да видя дали съм прав, че се намират желаещи. Ако има достатъчно и ако скоро си осигуря нужния хардуер, може следващия месец да направя входния тест, да си харесам малко хора и да го проведа.

2011-11-11 Amorphis

Friday, November 11th, 2011

Накратко за концерта на Amorphis.

Беше в новата зала на 4ти километър. Мястото е наистина добре направено, чисто, с всичката нужна инфраструктура (въпреки лекото претоварване на тоалетните, но това беше основно заради продаваната бира). Може би гардеробът трябваше да е включен в цената на събитието, но и така беше поносимо.

Започнаха едни испанци, “Naheman”, които основно показаха, че звукът в залата става, но те самите – не.

После бяха “Leprous”. Много странна група, със странни ритми и идеи, стигнах до извода, че пак трябва да ги слушам (и ще взема да им изровя какво са издали). Те бяха подгрявали и на Therion, май и тогава ми направиха впечатление.

Самите Amorphis направиха направо кратък концерт – час и половина (или поне на повечето хора им се видя кратък), който беше наистина добър, само може би звукът трябваше да е малко по-силен. Свириха си с кеф, изсвириха повечето си наистина хубави неща (за съжаление, нищо от “Far from the sun”), но не беше достатъчно съвсем да прегракна и всичко да ме боли :)

2011-11-08 интервюта

Tuesday, November 8th, 2011

Уважаеми програмисти.

Около интервютата, които поглеждам тия дни откривам, че или аз имам твърде високи очаквания, или повечето хора, дето си търсят работа в областта би било много важно да не си намерят. По случая имам няколко съвета към вас, които не знам доколко ще са ви глобално полезни, но поне ще намалят моите нерви и шансът някой от вас да падне случайно през някой близък прозорец.
(почти толкова лошо е, колкото изпитването на студенти на септемврийска сесия)

Имайте какво да покажете. Код, нещо работещо някъде, каквото и да е, просто да може да се прецени как пишете. Даже няма чак такова значение точният език, на който ще го покажете.

Имайте идея какво показвате, да не ви се случва да попадна на следната конструкция в кода ви (оригиналът беше на objc, това е приближение):

if (a!=NULL && b) {
	do_something();
	do_another_thing();
	if (b) {
		do_crap();
	}
}

и да не можете да ми обясните защо трябва пак да се проверява b.
(напълно е възможно да има причина. Проблемът е с неспособността да се отговори на такъв прост въпрос)

Ако сте учили в (и даже завършили) някой университет по специалността, имайте базова идея от алгоритми и сложност. Това да ми обясните двоично търсене и да не ми кажете каква му е сложността и до колко е сравнимо с различни други такива търсения не е хубаво.
(също така, оценяването на сложността на алгоритъм, алгоритмите за търсене и сортиране и т.н. хубави неща не може да казвате, че не ги знаете, защото “аз предпочитам програмирането пред математиката”)

Ако работите с някаква технология, познавайте я поне отчасти. Много е лошо да задам въпроса “защо ползваш mysql вместо текстов файл”, и да не може да ми се даде смислен отговор. Също така, не бъдете от хората, които правят “SELECT * FROM table” и после си взимат каквото им харесва от резултата.
(ако все пак сте от последните, моля, купете си литър белина и го изпийте)

Намерете малко увереност в себе си. Казвайте си какво знаете и какво не знаете. “Момент да помисля” също е приемлив отговор на разни въпроси.

Ако смятате, че сте програмист, понеже сте направили нещо тривиално и то сработва – грешите. Пример – ако сте направили мобилно приложение, което показва конституцията на Армения, това не ви прави програмист на мобилни устройства. Придобийте поне бегла представа какво значи “тривиално”.

Не бъдете коне с капаци. “Аз искам да пиша за MobileOS версия 9.жм.жд.жбр и друго не искам” е тъпо изказване, почти като “аз пиша на php4 и не искам да се занимавам с php5”. Ако нямате желание да се учите и развивате, моля послушайте изказванията на текущия ни идиот^Wпремиер и ходете да гледате овце, доколкото разбрах, има недостиг на работна ръка.

OpenFest 2011

Sunday, November 6th, 2011

Мина OpenFest 2011. Половин ден setup, два дни ставане в 8 (с много мъка, не го бях правил в последните поне 6 месеца). Това го пиша в силно скапано състояние и може би ще го довършвам на сутринта.

Мисля, че поставихме рекорд в сглабянето на целия setup (около 4 часа) и в разглабянето (около 30 минути). Този път на по-малката зала (реално галерията на Интерпред) си правехме сами почти цялото озвучаване. Благодарение на Олег имахме и хубави камери, така че трябва да имаме нещо-като-HD видео записи, като се сетим да ги encode-нем, нарежем и качим.
(тая година записите са безотговорност на Стефан Леков, ругайте него)
Оказа се, че един-два клипа на Вика Ермолева са добрия начин да се тества звука в голямата зала.

Ползвахме забавен хардуер. Щеряна в багажника си носеше един switch, който ползвахме за отвън, който освен дизайн като за армейски приложения и прилично количество портове имаше прекрасното свойство, че като го изключехме и ставаше приятно тихо. Мишо па беше направил един router с малко patch-ване на една кутия, в която освен дъно с atom процесор беше набил един малък switch заедно с кутията.
(има някъде снимка как ядем втория ден в/у тая кутия от баницата, която па Владо от ФМИ беше направил през нощта. Много хубава баница, спаси ни от гладна смърт)

Докато правехме мрежата, успях да строша едни клещи. Може да се види снимка на самите клещи и на останалото парче от ножа им, забито в кабела. Държа да отбележа, че аз ги стиснах съвсем нормално, те просто казаха “прас”.
(те не можеха и един жак да кримпнат както трябва, та поради липса на други клещи Владо от ФМИ трябваше да прави единия жак използвайки малка отвертка и тия клещи като чук)
Друг весел гаф беше как в неделя на баптистите, които имаха някаква служба точно под нас единия им микрофон се оказа точно на честотата на един от нашите и слушахме малко неща на английски за Господ, докато намерим какво точно да изключим от наша страна. Хората в залата бая се смяха, а аз се радвам, че се падна в почивката основно.

Владо също така получи титлата “Рицаря на поялника”, защото освен, че в петък прави единия кабел за озвучаването на място, в събота оправяше на Нейчо connector-а на захранването на лаптопа – бяха се скрили в единия джоб (малката стая до залата) и пояха в/у един стар хард диск.

Лекторите бяха… трудни за описване.

Червото беше насмукан прилично двата дни (за което бях обвинен напълно несправедливо аз и малиновата ракия, дето си носех за подкрепа – той пие само бира), като първия ден мисля, че успя да уплаши всички в залата, като зададе въпрос на английски с такава сила, че го чуха извън Интерпред.

Пейо си направи лекцията за електронните пари, като времето в общи линии не му стигна, въпреки че бързаше и прескачаше разни забавни подробности (които е разказвал на бира, например за задачата за византийските генерали). Обеща да блогне нещо по темата, с многото link-ове, от които е чел, чакам го с нетърпение.

В lightning talk-овете имаше весели моменти.
Сашо Шопов говори за преводите на gnome и започна по следния начин:
– Кой в залата мрази Gnome3?
(гора от ръце)
– Имаме останали малко балони от партито, ще ви дам после да духате.

Боян Кроснов разказа за тяхната проста хеш функция, базирана на AES инструкциите в новите процесори (подходящо кръстена aesaes). Полезна е за всички, които трябва бързо да пълнят хеш таблици.

Получи се един забавен момент с лекциите на Наков и Кънев. Почна се с това, че Кънев представяше Наков с изрази от типа “ако имаше бог на програмистите, той (Наков) щеше да е неговия пророк”, “ако хората си кръщаваха децата на програмисти, то повечето момченца щяха да са му съименници” и т.н. (препоръчвам на всички да гледат тоя запис, като ги изкараме). Преди това аз бях навил Наков да сложи тая снимка (която може да бъде описана само като “Владо Василев опъва Стефан Кънев”) в презентацията си (той така и така говореше за курсове), което доведе до бурен смях в залата и въпрос от Кънев дали аз съм организирал тоя момент (за което си признах).
(Наков беше най-гръмогласния лектор от всички, като изключим някои моменти на червото)

Очакваше се империята да отвърне на удара, което и се случи в лекцията на Кънев. Първо се започна с един заговор (в който и аз участвах), той реши да си води лекцията в костюма, в който си беше на сватбата на iffi, с папионката и т.н.. Съответно подредихме нещата така, че да се пусне theme от James Bond, и той да влезе някъде по средата. Крайният ефект беше, че той беше единственият лектор, на който ръкопляскаха преди да си започне лекцията :)
Съответно той започна лекцията си с обяснение, че преди е слагал картинки с нарисувани мустаци на Мариян, ама тая година вместо това просто е решил да се облече по-добре. Също така показа една снимка от сватбата, включваща мен, него и приятелката му, обяснявайки със стрелки/балони как човек като види тази снимка си мисли за него “какъв добре облечен човек”, а за мен “кой е тоя просяк и какво прави там”…
(определено ще си струва да се види и този запис)

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

Мартин Райков направи лекция за RFID research-а и технологията като цяло, които беше правил с малко мое участие в initLab. За перипетите преди да направим лекцията май трябва да пиша отделно, но имаше всякакви хора, които се чудеха колко добра идея е да се говори за тия неща, колко нещастни хора и фирми ще има, как някой може да брои разказването на тая информация за престъпление и т.н..

За лекцията на червото се носеха разкази и слухове, как щял да падне докато говорел и т.н., но аз поне не видях нищо такова няколкото пъти като минах от там. Определено си беше пийнал (2л бира преди да дойде още) и говореше на английски (пак признак за насмуканост при него), ама си беше разказал всичките технически неща, не беше паднал (въпреки очакванията) и не всички хора избягаха от залата, докато говореше. И това ще е запис, който трябва да се гледа.

Организацията дойде тежко на някои хора. Пазя си сметката от близкия магазин, щото се смяхме като излезе – беше точно за 10.24 (касиерката определено ни изгледа странно като обяснихме, че е хубаво кръгло число). Не мисля, че много други хора и на феста ни разбраха…

В антрето през двата дни reprap хората печатаха разни странни неща от пластмаса и разказваха на всички заинтересувани какво точно представлява цялото нещо. В неделя Радо седна и от логото на openfest направи един модел, който към края на вечерта вече бяха успели да отпечатат, беше се получил доста добре :)
(заради reprap хората също така оправях wireless мрежата на един windows-ки лаптоп, гадна работа)

И двата дни напълнихме Кривото, пихме веселихме се, а на втория ден аз включително си демонстрирах закуската на Мишо (който я намира за ужасно гнусна) – поръчах си едно сурово яйце, счупих го, изсипах жълтъка в една чаша, посолих го леко и си го изпих. Вкусно си беше (така и така последните две сутрини не бях успял да закуся).

Щандът с книги беше доста приятен, тая година си напазарувах две книги – Network Warrior, която е доста добра за начинаещи да си допълнят знанията по мрежи (въпреки че е доста cisco ориентирана) и една “hackers – heroes of the computer revolution”, леко историческа.

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

(също така – Сашо Станев, забравеният ти калъф за очила е в мен, измисли кога да ти го дам)

2011-11-01

Tuesday, November 1st, 2011

Убедиха ме да ида на един концерт в “The Box”, на Center и Talbot.
(някой няма ли да направи свестен сайт за групите да си правят страници, myspace е ужасяваща боза)

Center бяха доста интересни (за концерта ми каза единия им китарист, Дидо, който помня още преди 15 години като свиреше с разни странни групи в Младежкия дом в Добрич). Свирят инструментали (т.е. нямат вокал), водят се нещо като stoner metal, но са и доста весели. Свириха сравнително кратко, но приятно, казаха, че тия дни ще почват да записват и може да издадат нещо догодина.

Talbot бяха в общи линии скучни като музика, но забавни да се погледат. Групата представлява двама естонци, единия на барабани и вокал, другия на бас, купчина ефекти и вокал. Любопитно беше какво може да се постигне с баса и шумът от него, както и как човека свиреше с едната ръка на баса, а с другата си играеше с ефектите.
(само дето са doom metal, който си е скучен по принцип…)

2011-10-31 сватба

Monday, October 31st, 2011

Омъжихме iffi за Канев. Кратки бележки, щото не ми се пише разказ (ще оставя на нея това забавление)…

Церемонията се проведе в траурния (или май беше обреден) дом в Хиподрума. Церемонията беше сравнително кратка (въпреки че в един момент се зачудих няма ли един scroll-bar да прескочим част от нещата). Имаше процедура по настъпване м/у булката и младоженеца, в която тя имаше сериозно предимство, понеже от роклята не и се виждаха обувките.

Стефан Кънев се беше облякъл в костюм с папионка, което доведе до новия му прякор (“Джеймс”, щото мязаше на Джеймс Бонд), и до това в един момент (без да искам) да го сбъркам със сервитьора и да му поръчам още уиски.

По стандартна българска традиция се изпи много. Аз може да съм го докарал до около половин литър уиски.
Имаше прилично количество танцуване и куфеене. Още ме болят врата и гърба.
Главата пък изобщо не ме боля.

Около стандартната традиция с разчупването на питката имаше десет големи трохи на пода, което в общи линии се тълкува като да имат десет деца. Аз нямам нищо против, ще подпомогне размножителната ми програма. На булката, от друга страна май не и хареса особено идеята…

Най-добре облечен па беше Илфа, с един килт. Щеше да е голяма картинка, ако се беше включил в хорото.
(всъщност, според мен по сватби се танцуват хора основно за да се показват женски крака. Късите поли/рокли определено помагат)

Поканата за сватбата (която получих на самата сватба :) ) беше доста интересна, и с един комикс от xkcd на гърба (преведен). Имаше също така неща от xkcd по тортата (на които в момента нямам снимки).
(бях отбелязан на поканата и в списъка с гостите като “крокодила”. На персонала им беше малко странно)

Аз издържах до около 12 (пиенето беше почнало в около 6:30), май по това време и младоженците се канеха да ходят да си легнат.

2011-10-22 избори

Friday, October 21st, 2011

Много хора пишат за гласуването, Ясен е писал защо не е толкова страно да не се гласува (и си е прав), та може би остана някой да каже какъв е смисъла от наказателният вот.
(както обикновено, това е моя теория в неясно-колко-пияно-състояние)

Смисълът на наказателният вот за текущите избори е прост – внушаване на страх в настоящата власт. Тези избори (особено президентските) винаги са били използвани, за да се оцени колко добре са се справили хората на власт в последните две години и доколко народът е щастлив с тях. Съответно в едни граници резултатът би трябвало да се тълкува, че не се справят достатъчно добре и трябва да се стараят повече.
В този тип разсъждение има няколко бъга и corner-case-ове:
– ако подкрепата им е твърде ниска, може да се откажат да заработват каквото и да е и да приложат scorched earth стратегията, т.е. да измъкнат колкото им е възможно и да избягат;
– ако се смятат за достатъчно велики и че могат до следващите парламентарни избори да убедят/излъжат хората или да hack-нат закона по темата;
(под-случай на това е обявяването на диктатура)
– ако използват тези избори и резултатът им за договорка с други партии и пак да си осигурят подкрепа.
(и вероятно още няколко, които пропускам)

Накратко, не хората трябва да ги е страх от властта, а властта от хората. Някой вероятно би спорил, че страхът не е продуктивно чувство, но останалите биха отвърнали, че друго май не действа в нашата обстановка.

(изглежда (поне по новините, които чета и оплакванията на разни неприятни хора), че тези избори ще успеят да намалят ефектът от старите секционни hack-ове, като автобусите с гласуващи и купуването на цигански гласове. Това ще е доста по-интересен ефект и резултат от генералният кой точно за какво са избрали)

(а за кого ще гласувам, дали ще гласувам и дали ще огранизирам преврат също не е интересно. Най-малкото всеки трябва да го решава сам за себе си.)

2011-10-11 скъпи програмисти

Tuesday, October 11th, 2011

Скъпи програмисти,

Днес, дебъгвайки поредният проблем, причинен от вас, реших, че е крайно време да обясня нещо животоспасяващо. Животоспасяващо, защото ако го следвате, шансът да ви издебна в тъмна нощ и да ви заколя намалява сериозно.

В общи линии са две неща.

Едното е болестното ползване на framework-ове и други подобни нива на абстракция без реален смисъл. Примерни такива бози има на много места, на мен едно от най-омразните ми е cakephp (вероятно понеже с него съм се борил най-много). В повечето случаи нещо, което спестява 10% от вашето писане за сметка на едно огромно мазно средно-рядко лайно, което 1) стои във version control-а, 2) прави проследяването на действието на кода един порядък по-трудно и 3) е нещо, което не може да се update-не лесно (което ще обясня след малко) не си струва. Нито за вас (щото ще ви е по-трудно да намерите проблемите, които сами сте си създали), нито за мен, докато се опитвам да го подкарам или мигрирам, нито за който плаща. Just say no, и пишете кода колкото се може по-близо до естествената му среда – системни библиотеки, стандартни драйвери и т.н..
(друг пример е начинът, по който request-tracker ползва база данни и заявките от типа на “SELECT main.* FROM table1 main, table2 b …” и невероятната плетеница от callbacks, които са направили).

Второто нещо е, че външните библиотеки не са ваш проблем, ваша работа, ваша отговорност и по НИКАКЪВ начин не са от нещата, които трябва да се набият във version контрола, освен ако не поемете пълна отговорност да ги поддържате. В противен случай оставете работата на хората, които разбират от upgrade-и, миграции, системата на която работи софтуера ви и т.н. и не им създавайте допълнителни главоболия. Не ви е възможно да следите всички security update-и, всичките несъвместимости на стария lib с новите среди, а авторите на тия неща се справят доста добре с правенето на нещо, което да е backwards compatible (т.е. да работи с ужасът, който сте накодили) и същевременно със средата, в която оперирате.

Благодаря за вниманието.

(за тези, които ще ми обясняват колко са прекрасни тия framework-ове – аз мигрирах един магазин от cake на чисто php (дето не ставам за програмист) и излезе доста по-кратко и по-изчистено)

OpenFest 2011 – предварителна програма

Thursday, October 6th, 2011

И така, имаме предварителна програма на OpenFest 2011. Това са по три-четири лекции от поток, които най-вероятно ще влязат в програмата, избрани като достатъчно забавни и сигурни.

Все още приемаме желаещи да говорят :) Намират се още няколко свободни слота в програмата, има и достатъчно за lightning talks, а и винаги можем да измислим начин да ви вместим някъде.

(също така, ако случайно е останал някой, на който не съм отговорил на заявката за лекция, да ми пише – по принцип не виждам някой изпуснат mail, но се случва)

OpenFest 2011 – зов за лектори

Monday, September 19th, 2011

И така, ще има OpenFest – 5-6 ноември, в Interpred, както миналата година.

По случая се търсят лектори – желаещите може да се запишат на http://openfest.org/call-for-papers/. Програмният комитет (аз и още няколко идиота) обещава внимателно да прегледаме всички предложения :)

2011-08-28 “Blindsight”

Sunday, August 28th, 2011

Рядко ми се случва да попадна на книга, която да ми направи наистина сериозно впечатление с идеите си…

Наскоро Чарли Строс пусна в блога си въпрос “Коя fiction книга от последните 10 години смятате за важна” (без дефиниция на важна, за по-интересно) и в отговорите видях “Blindsight” на Peter Watts (има я за download в goodreads, вече е под CC лиценз).

В общи линии основата на историята е стандартна – появяват се едни извънземни и екип от няколко човека (и вампир) биват изпратени в космоса да ги видят какво са.
Личи си от далече доколко твърда фантастика е книгата – вампирът не е някакво измислено магическо същество, а съвсем реален под-вид на homo sapiens, хищник със специфичен начин на мислене и способности (единият пример е как ако човек гледа куб на Некер, може да си го представя или изпъкнал, или вдлъбнат, докато мозъкът на вампира може да възприема и двете едновременно). Влиянието на кръстовете е обняснено като бъг в зрителната им система – ако се задействат едновременно вертикалните и хоризонталните “сензори” в окото, вампирите получавали нещо като епилептичен припадък от претоварването (което не е било проблем преди хората да започнат да строят къщи).

В книгата има и много други интересни елементи (10тината страници обяснения и бележки накрая са страхотно четиво), но едно нещо прави наистина голямо впечатление – въпросът за съзнанието, има ли смисъл от него, възможно ли е да съществува интелигентен живот без него (включително такъв, който пътува между звездите) и много други неща, свързани с него. Има и доста интересна дискусия по темата за изкуствения интелект и разликата между човека и машината

Няма да издавам повече от книгата – като цяло удоволствието от четенето и е такова, че си давах почивки от време на време :)

2011-08-22

Monday, August 22nd, 2011

Днес беше ден за първи проблем около подкарването на ipv6 в лаба. Проявяваше се в забавяне на зареждането на сайтове за първи път. Оказа се комбинация от странни локални конфигурации и dns…

По принцип при http request към сайт, за който не се знае какво му е IP-то, стандартно се прави AAAA request, ако той върне грешка, се прави А request. Така забавянето е горе-долу едно RTT (м/у клиента и dns сървъра), което не се забелязва. Обаче, ако имате конфигуриран локален domain (който се казва само ‘local’) и в /etc/resolv.conf имате ‘search’ за него, или (като в нашия случай) hostname, което е ‘hostname.local’, то между предните две стъпки има и още една, да се опита да намери AAAA запис за www.site.com.local. Това пак не би трябвало да е такъв проблем, ако имаше някакъв nameserver, който бързо да отговори, че няма такова нещо, но в случая такъв няма и за всяко такова нещо се ходи до root server-ите, което от своя страна води до няколко-секундни забавяния.

Решението беше просто – махане на ‘search local’ от resolv.conf и оправяне на hostname (което по принцип не би трябвало да съдържа ‘.’, на теория има domainname с тая цел).

Подкарах още нещо забавно, да се tweet-ва, когато някой отвори вратата и да пише кой, ако човекът е казал, че може (т.е. ако има mapping м/у номера му и twitter username. Дразнещо лесно се оказа – подаване на номера, нормализация (s/^0*//;s/^1359//;s/^359//), един grep в текстов файл и едно викане на twidge.

(днес имаше проблем с jabber-а на ludost.net с invalid dialback key, който се оправи при рестартиране на ejabberd-тата на двете машини. Обмислям инструментариум за debug-ване на тия проблеми за в бъдеще…)