2011-11-11 Amorphis

November 11th, 2011 by Vasil Kolev

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

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

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

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

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

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

November 8th, 2011 by Vasil Kolev

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

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

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

Имайте идея какво показвате, да не ви се случва да попадна на следната конструкция в кода ви (оригиналът беше на 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

November 6th, 2011 by Vasil Kolev

Мина 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

November 1st, 2011 by Vasil Kolev

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

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

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

2011-10-31 сватба

October 31st, 2011 by Vasil Kolev

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

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

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

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

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

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

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

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

2011-10-22 избори

October 21st, 2011 by Vasil Kolev

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

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

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

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

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

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

October 11th, 2011 by Vasil Kolev

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

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

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

Едното е болестното ползване на 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 – предварителна програма

October 6th, 2011 by Vasil Kolev

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

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

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

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

September 19th, 2011 by Vasil Kolev

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

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

2011-08-28 “Blindsight”

August 28th, 2011 by Vasil Kolev

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

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

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

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

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

2011-08-22

August 22nd, 2011 by Vasil Kolev

Днес беше ден за първи проблем около подкарването на 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-ване на тия проблеми за в бъдеще…)

2011-08-21

August 21st, 2011 by Vasil Kolev

И малко технически неща.

Вчера подкарахме ipv6 в initlab с тунел през Hurricane electric. Имат приятна функционалност, например делегиране на reverse DNS за адресите. Вече може да се стига до cassie по v6, има AAAA запис.
Целта на упражнението беше в общи линии да се пробва как работи. Следва да се види колко security и други проблема ще бъдат открити. Доколкото разбрах, преди е имало такова нещо, но след като са сменили малко хардуер, не е било пуснато пак. На нас ни се наложи за малко да ритнем router-а там (един неприятен airport extreme), защото никой не му помнеше паролата, но иначе подкарването се оказа сравнително лесно. Един ден ще го сменим…
(reverse DNS зоните на v6 са творение на сатаната – 8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.7.a.c.1.5.1.f.1.0.7.4.0.1.0.0.2.ip6.arpa. )

Вкарах и втората си машина в pool.ntp.org и пуснах малко статистика за ползването им (marla и tyler). Гледам, че evolink announce-ват някакви v6 адреси, може да добавя marla с такъв адрес в pool-а по някое време (предпочитам да не го правя с тунел, ntp-то е доста чувствително към латентност).

Един приятел днес ми прати следния линк с DoS в apache2 – накратко, ако се направи един request към вас с range request, който да е достатъчно голям (в случая – списък от парчета 5-9,5-13,5-17 и т.н.) и имате mod_deflate, то apache ще се опита да го сглоби и компресира, съответно ще изяде невероятно количество памет и може да срине машината. Оказа се, че на 64bit-ов debian дори махането на модула не помогна особено и в момента ползвам един крив workaround, LimitRequestFieldSize с ниска стойност, за да не могат да минават подобни заявки. При другите две неща, при които тествах (32bit debian и 64bit gentoo) проблемът си заминава с махването на модула.
(понякога се налага да се пипне заявката в примерния exploit да сочи към статичен файл, с динамични не става)
Писах на разни хора, които би трябвало да имат интерес от тия проблеми, те би трябвало да открият аз какво съм пропуснал и защо точно тоя debian-ски apache2 продължава да се чупи.
Update: Получих следното като друго временно решение (което основно бори конкретния PoC exploit, не решава генерално проблема. Може обаче па да се ban-нат генерално range request-ите…):

iptables -N KILLAPACHE
iptables -F KILLAPACHE
iptables -A KILLAPACHE -m limit --limit 1/min -j LOG --log-prefix "killapache: " --log-level 7
iptables -A KILLAPACHE -j DROP
iptables -I INPUT -p tcp --dport 80 -m string --algo kmp --from 58 --string "Range:bytes=0-" -j KILLAPACHE

Update:Официална информация по въпроса.

(и за тези, на които гадостите от по-горе не стигат – 20110819, 20110820 и 20110821)

2011-08-16 CCC Camp лекции

August 16th, 2011 by Vasil Kolev

Мина Chaos computer club camp 2011. Няколко човека бяха там (и са се прибрали преди няколко часа), а други си висяхме тук в initLab и гледахме живите предавания (понеже ни домързя да отидем и т.н.). Ето малко впечатления от нещата, които гледахме:
(информация за записите)

Уводната лекция призова за космическа програма – да можем да си качваме спътници и хора в орбита, за да не се налага например постоянно да разчитаме на наземните жични и безжични мрежови връзки, както и като цяло че това е следващата стъпка. Повече информация за програмата има тук.

Лекцията за OpenLeaks описа текущия прогрес и събираше хора да им помогнат да прегледат системата, как работи и т.н.. Не беше особено интересна, но имаше много забавно развитие след края на camp-а – CCC са изключили/изгонили Daniel Domscheit-Berg, има малко информация по въпроса в Spiegel online.

Introdution to satellite communications не успях да гледам както трябва, понеже лекторката никак не се чуваше, може да пробвам пак на записа, но не изглеждаше достатъчно интересно, поне в първите 20 минути.

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

Пропуснах Transition telecom на Rop Gonggrijp, а още няма излязъл запис. мъка.

GPRS Intercept беше поредната демонстрация от GSM-базираните неща – демонстрираха (евтино) подслушване и декриптиране на GPRS трафик. Демонстрацията проработи :)

Започнахме втория ден с What’s brewing in Brussels, едно описание на случващото се в Брюксел и влиянието му върху европейския съюз (особено в частта за data retention директивата). Имаше малко информация за действията на разни групи (като AK-Vorat) и че все пак може да имаме шанс да преборим тая директива.

Solid rocket engines беше много информативна и добра лекция за дизайна на ракетни двигатели. Описаха структурата, едно прилично количество много добре обяснени формули и различните твърди горива. Перфектен увод в темата:)

Steal everything, kill everything беше лекция по темата social engineering и физическа сигурност – как един човек, който се занимава с това е прониквал в различни места, какво е успявал да направи и т.н.. Като цяло доста забавна лекция, но и доста тъжна, понеже се оказва, че някакви ужасно стари и класически методи продължават да работят и да са толкова лесни за прилагане.

От Hacking DNA хванах горе-долу половината, но беше доста интересна (и на края може даже да се чуе въпрос от червото). Накратко става въпрос как в един hackerspace хората могат да си правят различни ДНК експерименти.

Imagine the future of money ми беше силно неразбираема лекция, може би тия дни ще седна и ще прочета теорията им, понеже определено нищо не успях да разбера от презентацията им, освен че имат някакъв странен банков инструмент.

Не успях да гледам Who’s snitching my milk, но препоръчвам на всички да си свалят презентацията и да я прегледат :)

Третият ден изглеждаше да е най-силен. Аз пропуснах Runtime reconfigurable processors (нещо по темата FPGA).

Продължихме с Decentralized clustering, което се оказа лекция на хората от Telecomix за постигнатото около отрязването на internet-а в Египет и подпомагането на комуникацията на хората в подобни ситуации, както и за бъдещите им планове (да се угасят за известно време, преди да продължат нататъка, и да решат какво точно ще правят).

Open-source 4G radio беше описание основно на WiMaX технологията, как работи и показване на малко записан от ефира трафик. Още няма разработки по темата за чупене на криптирането, но основните неща, като сваляне от ефира и пакетния формат са ясни.

Reviving smart-card analysis беше страхотна лекция по темата как точно се вади информация от смарт карти, как се reverse-engineer-ват чрез различни средства и малко съвети как производителите биха могли да ги направят по-добре.

Лекцията на деня (и може би на целия camp) обаче беше Black OPs of TCP/IP на Дан Камински. Комбинира няколко забавни неща, като bitcoin (как може да се пробие анонимността), един вариант за генериране на двойка ключове от парола и накрая – n00ter, софтуер, чрез който може да се разпознае дали ISP-то ви ви забавя трафика към определени сайтове (т.е. дали прави някакви мизерии по темата net neutrality), като използва няколко много забавни hack-а, например пакети с грешни tcp checksum-и и spoof-ване на трафик по забавни начини.

Завършихме деня с Applied research on security of TETRA radio – поредният проект на Харалд Велте. Този път беше се хванал да заслуша различните TETRA мрежи, да опише стандарта и многото проблеми – например как по-голяма част от мрежите не ползват никакво криптиране, въпреки много добрите възможности, които има в стандарта (например end-to-end).

Четвъртия ден започнахме с Poker bots – опитът на няколко човека да направят bot-ове, които играят покер – като се тръгне от мрежовата част и се стигне до теория на игрите и стратегиите за игра.

Open-source photovoltaics беше лекция как в общи линии да си навържем слънчеви панели, батерии, лампи и малко електроника.

A short history of IPv4 беше лекция на Alex от RIPE за историята на IPv4 от гледна точка на RIR-овете – от създаването на протокола, през различните методи за alloc-ване на ресурси до днешни дни и идеята, че май трябва да ползваме IPv6. Имаше и един интересен отговор (поне за мен) – като питах какво мислят по темата за продаването на блокове от адреси, Alex каза, че RIPE няма нищо против цялото нещо, понеже така или иначе не биха могли да го спрат.

Последния ден започнахме с Introduction to multicast security – накратко как стандартните методи като SSL/TLS не работят, трябва да се ползват RTSP и като цяло различни методи за дистрибутиране на ключа и т.н..

The Arguna rocket family беше една от най-добрите лекции по темата за космическата програма. Показаха няколко различни версии на една ракета, тестове с тях и възможностите им, а може скоро и да успеят да стигнат ниска орбита.

Data mining your city беше също интересна лекция, но ние вече сме слушали подобно нещо на workshop-а на OKFN, който се случи в initLab преди няколко месеца.

Та – събитието като цяло беше с добро излъчване (като изключим проблемите от първия ден) и на всички лекции можеше да се задават въпроси през irc каналите за различните зали (като поне от мен са задали десетина въпроса). Не беше същото като да отида там и в добрия, и в лошия смисъл – от една страна го нямаше контакта с интересните хора и възможността да обиколя workshop-ите, от друга – не спах на палатка в дъжд и не слушах червото как ми хърка…

2011-08-08 гледане на лекциите от CCC Camp – 2011

August 8th, 2011 by Vasil Kolev

От сряда до неделя (10-14ти август) организирам гледане на живите предавания от CCC Camp 2011 в initLab. Програмата е доста интересна, в страницата на самия lab има страничка с какво ще гледаме първия ден, за следващите ще се публикува на сайта какво ще гледаме (и се приемат предложения).

2011-07-30 sysadminday

July 30th, 2011 by Vasil Kolev

Отпразнувахме деня на системния администратор.

Напълнихме (“изправихме”) Кривото, пийнахме добре (даже имало един заспал пак), и изговорихме огромно количество глупости.
Измерихме колко е дълъг един бит във въздуха около нас (при 12.5cm дължина на вълната на 802.11 и QAM модулация, около 37.5cm, т.е. 3 пика), което па тръгна въпроса – ако погледнем колко wifi, wimax и HSDPA трафик тече около нас, и като сметнем, че половината от него (горе-долу) е порно, дали не трябва да се притесняват всякаквите там вярващи хора, че през църквите и джамиите им текат ужасяващи неща почти постоянно (и вероятно ги замърсяват)?
(друг момент беше, че ако админите знаеха точно какво тече през switch-овете, щяха да ходят всяка сутрин да ги мият, да не лепнат пакетите…)

А аз май ще си поиграя с glusterfs, че това може да реши въпроса с дистрибутираната поща. Повече по темата – тия дни.

2011-07-25 разсейване

July 25th, 2011 by Vasil Kolev

В последните дни на два пъти попаднах на хора, които казваха неща от типа “трябва да си махна X от компютъра, за да не се разсейвам и да върша работа”. Смятам това за лоша/глупава идея, по следните причини:

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

Също така, ако човек има желание да си отвлича вниманието, това в общи линии значи, че нещото, което върши не му е интересно. Насилването да се върши скучна работа по принцип не води до особено добри резултати. По-добре да се отклоним малко, да направим нещо друго и после да се върнем към задачката, като другото ни писне. Аз лично в такива случаи гледам да правя по няколко неща и просто да сменям едната работа с другата, за да си почивам.
Има задачи, които не се поддават на този вариант – дадоха ми пример с писането на документация за завършен проект. Нямам добра идея за тях, освен да се измисли някакъв hack (например за документацията – да се пише по време на проекта, като почивка от самото подкарване).

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

Имам и едно много хубаво сравнение за тая практика, да се самоограничаваш насила, за да се подобриш – в “Архипелага ГУЛАГ” на Солженицин има в една глава описание как като преминеш през лагера, характерът ти се закалява и се получават други различни подобрения на човека (ако оцелее, и като не броим съсипаното здраве). Така по същия начин човек няма проблем да се научи на дисциплина, като иде я до Северна Корея, я някоя друга държава с подобен режим (или може да ходи в казармата, може би още имат подходящо обучение). Накратко, прекрасна идея за мазохисти.

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

Sysadmin day 2011

July 20th, 2011 by Vasil Kolev

Стандартно като всяка година, ще празнуваме деня на системния администратор (29 юли) в “Кривото” на ъгъла на Дондуков и Будапеща, долу в мазето, след 19:00 – запазили сме две-три маси.
(желаещите да дойдат може да пуснат някой коментар, ако трябва да запазим още)

2011-07-18 jabber сървър на ludost.net

July 18th, 2011 by Vasil Kolev

След много мърморене от разни хора и борба със собствения ми мързел, вече има jabber сървър на ludost.net.

Броя го за момента за beta версия, т.е. очкавам да се каже какви проблеми се появяват, за да мога да ги оправя.

В момента има SSL сертификат, подписан от cacert, и е сложен на две машини – едната в evolink (marla), другата в telepoint (tyler), т.е. трябва да се справя сравнително добре с отпадания на някакви части от българския net и да не е чак толкова лесно за подслушване.
(аз обещавам да не чета какво си пишат потребителите, то така или иначе е скучно)

Регистрацията е отворена за момента, ако намеря причина за в бъдеще може да я огранича. Планирам бавно да преместя всичките си контакти от другия jabber сървър, който ползвам (minus273) при мен, т.е. ако сте ми контакт по jabber, очаквайте request от vasil@ludost.net.

Малко отговори на предполагаеми въпроси:
1) Защо jabber и за какво ни е изобщо?
XMPP (jabber) е в общи линии единственият отворен протокол за instant messaging и свързаните с него неща (като изключим SIP, ама там е един тих ужас). Поддържа криптография както трябва, и се поддържа от много различни услуги – например gtalk на google реално е xmpp, с което човек може да си говори и от други сървъри (някой ако иска може да погледне на jabber като една гигантска irc мрежа, в която всеки може да си пусне сървър, но не може да влияе на потребителите на останалите, само да си говори с тях). За разлика от нещата като MSN, ICQ и skype всеки може да вярва само на хора, на които реши (т.е. на мен или на някой оператор на друг jabber сървър), а не на едно-единствено entity.

2) Защо при мен?
Близо по мрежата (добре сложено в българския peering). Дистрибутирано (и да умре едната машина, другата ще продължи да работи и няма да се усети толкова сериозно проблемът). Стабилно (щото и аз самия го ползвам усилено и се старая :) ).

3) Какъв софтуер се ползва?
ejabberd в/у debian.

2011-06-15 всенародна неадекватност

July 15th, 2011 by Vasil Kolev

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

Всичко започна с новината за убитата млада жена в Борисовата градина (на 28 години не може да се каже, че е момиче). Първата ми мисъл беше, че ще ми е проблем да се разхождам там по нощите вече, щото ще се вдигне шум и т.н..

Първите неадекватни реакции бяха на различните медии, които започнаха да си измислят какво ли не – била клошарка, била изнасилена (последното после СДВР го отрекоха). Част от измислиците плъзнаха и по други места, та се наложи в различни сайтове да се обясняват подробности за жертвата.
От полицията и т.н. органи последва втората неадекватна реакция. Не се чу абсолютно нищо, а на журналистите, които са се опитвали да разберат някаква информация, не са казали каквото и да е (пример с Капитал (които явно са имали проблем да намерят кого да попитат)). При условие, че това е убийство, в центъра на София (град с над милион човека, в който са около 20% от населението на България), на място, където голяма част от града води децата си (или те ходят сами), по време на концерт, когато там има много хора и би трябвало да има засилени мерки за сигурност, мълчанието не е злато, а малоумие.

След като се вдигна вой във facebook и т.н., се появи следващата неадекватна реакция – народната, част от която гледах из форумите на Дневник. Призиви от типа “да сложат камери”, “да се освети цялата градина”, “да се затваря след 23:00”, които освен, че са практически неизпълними и гонят идеята на полицейска държава, пак няма да помогнат (има кило изследвания за това колко НЕ помагат камерите, например в Лондон, където са навсякъде, осветяването на цялата гора е практически неизпълнимо, а затварянето е мярка, по-подходяща за щрауси). Предотвратяването на такива престъпления е ужасно сложна задача (и практически неизпълнима даже в изцяло полицейска държава) и подобни мерки ще бъдат ненужни разходи (и тормоз) на наш гръб.

СДВР довършиха списъка с неадекватности, като дадоха пресконференция днес и обясниха как ще са двойно повече патрулиращите екипи – преди са били по един дневен и един нощен от по двама полицаи, сега ще са по два. В държава с едно от най-големите количества полицаи на глава от населението, ще се отделят още 8 човека (смени и т.н.), за да се патрулира цялата Борисова градина. Както казаха доста хора, вероятно ще патрулират кебапчийниците – аз лично от многото си разходки из градината съм виждал полицаи само няколко пъти…

Не мога да си обясня, толкова ли беше трудно СДВР да направят пресконференцията още на следващия ден (или дори в понеделник), да кажат – да, работим по въпроса, разпитваме, ще го хванем и т.н., вместо да се мотаят до петък (цяла седмица!) и да показват една тотална неебателност по темата. Не виждам с какво точно могат да се оправдаят.

Ето една от причините, поради които пия.
(май има и още примери за неадекватни реакции, но на мен тези ми идват твърде много и ще се спра)

2011-07-13 корпоративна психопатия

July 12th, 2011 by Vasil Kolev

Събират ми се интересни мисли в главата около последните книги които чета… Като почнем от Лифтън, минем през учебника по психиатрия, “The psychopath test” на Jon Ronson, “Snakes in Suits” на Robert D. Hare и Paul Babiak и стигнем до разни разговори на маса за правилното мотивиране на хора (т.е. че не се наема търговец, който не му се плаща и някаква комисионна от сделките, например).

Катализаторът на това писание беше цитат от “Rule 34” на Чарлз Строс:
“The European Parliament responded by focusing on corporate governance. If corporations wanted to be legal citizens they could damned well shoulder the responsibilities of good citizenship as well as the benefits. Social as well as financial audits were the order of the day. Directives outlining standards for corporate citizenship were drafted and a lucrative niche for a new generation of management consultants emerged – those who could look at an organization and sound a warning if its structure rewarded pathological behaviour.”

Първата ми мисъл беше, че това звучи силно оптимистично, после реших да си структурирам малко мислите по въпроса.

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

Ако тръгнем да преценяваме поведението на дадена корпорация (голяма фирма и т.н.), ще открием как поведението им много зависи от това какво точно представляват и какво ги движи. Нека за начало да вземем предвид някоя достатъчно голяма мултинационална корпорация, в която вече не са останали хората, които са я създали, търгува се публично и целта и е буквално “Maximizing shareholder value” и с това е пряко обвързано възнаграждението на управляващите субекта.
Т.нар. “shareholder value” е странен термин, който в общи линии се измерва с цената на акциите на пазара (стабилността и т.н. са неизчислими фактори). Това може да се постигне по различни начини, но основно е важно доверието на пазара в момента, което се манипулира чрез различни средства, част от които са етични, друга част не, трета – тотално незаконни.
(тук си струва да се отдели малко време и да се прочете за Enron, Worldcom и разни други случаи на максимизиране)

Съответно, ако имаме един субект с такава единствена цел, той би правил всичко възможно, за да я постигне и би се борил и срещу всичко, което го ограничава. Понеже не може субектът да бъде окачествен като психопат или че има анти-социално разстройство на личността (понеже в DSM специално си пише “не може да се смята, че се страда от такова разстройство, ако това е нормалното поведение за културната и обществена среда, в която се намира субектът”), просто ще цитирам една от групите признаци на личностни разстройства – тази за антагонизма.
(по едно такова съвпадение, много от тези признаци се водят за основни в психопатичното личностно разстройство, описано от Cleckley в “The Mask of Sanity”, една от първите книги по темата)

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

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

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

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

“In discussing the first wife’s accusations of such conduct as this, Stanley usually brushed them aside as a typically feminine and somewhat ridiculous exaggeration of some minor disagreement. When confronted with undeniable evidence to the contrary, he admitted having taken mild physical measures to influence her, saying that he “just couldn’t stand her screaming and bawling,” This habit of hers, he said, made him lose his temper. When it was emphasized to him that her weeping and outcries did not precede the beatings but occurred only after the beatings began, he showed very little response. Apparently he felt that this crucial point was not sufficiently important to argue about and seemed to dismiss it without further thought as something virtually irrelevant, or at most a trifle.”

Ето и цялото описание на пациента.
)

(ако някой иска, може да си направи паралел и с държавната администрация)
(съответно, допълнително може да се погледне аргументът на Чарли Строс против силния изкуствен интелект).

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

Не знам за вас, но на мен ми е писнало 99% от това, което чувам от различни юридически и държавни субекти да е шум, изкривяване на истината, сплашване и откровена манипулация. Решенията са или да се ядосваш през повечето време, или съвсем да не ти пука, и не знам кое от двете е по-лошо – първото съкращава живота, второто съкращава свободите и щастието му.