Posts Tagged ‘крокодилски’

2023-12-25 равносметъчно

Monday, December 25th, 2023

– Децата са добре. Проведохме даже експеримент – големия ходи с майка си за 2 седмици до Ню Йорк, и ние с малкия си изкарахме много добре, типично по ергенски, с печене на пържоли и други такива;
– Успял съм да напиша 7 blog post-а през годината (без този). Има какво да се желае още, определено;
– FOSDEM 2023 се случи, направихме видео за последна година със стария хардуер, и се получи добре;
– Продължаваме да борим новия setup за FOSDEM 2024, пълно е с “интересни” проблеми;
– OpenFest 2023 се случи без мен. Догодина предавам фондацията, и ще съм приключил;
– Опитите ми за баланс на колко се натоварвам не са от най-успешните, въпреки махането на някакви задачи, трябва да се постарая малко повече за догодина.

Мисля да последвам традицията от миналата година и да не си правя планове за идващата.

2023-09-21

Thursday, September 21st, 2023

Има дни, които започват с намирането, ремонтирането и report-ването на бъг в мобилното приложение на rocketchat, минават през срещи и гасене на 3 пожара паралелно, и завършват с


MariaDB [opennebula]> update vm_pool set short_body=replace(short_body,'80','33') where oid=39;
Query OK, 1 row affected (0.002 sec)
Rows matched: 1 Changed: 1 Warnings: 0

Един ден трябва да направя лекция за opennebula и за кандидатурата им за най-невъзможна за докарване в консистентно състояние база данни на тоя свят. Онова по-горе (редактиране на XML в базата със string операции, което теорията твърди, че е идиотщина, и аз съм съгласен) се налага, понеже има същите данни в 2 различни полета на същата таблица, с малка редакция, и понякога не са синхронизирани.

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

2023-01-01 равносметъчно

Sunday, January 1st, 2023

> Отказвам да имам очаквания за идващата година. Някои хора казват, че поне supply chain проблема може да почне да се пооправя към края ѝ, а дано.

(аз, в началото на годината)

Явно решението да нямам очаквания е било съвсем правилно.

От по-интересните неща, които се случиха:

– Малките зверове растат – весели, здрави и все толкова опасни :)

– Направихме пак online FOSDEM, и ще е последния такъв. Имам билети, подготвили сме се, идващия ще е на живо, в гадния студен и мокър Брюксел, в кривия университет. И съм сигурен, че много ще му се радваме.

– Направихме един хубав OpenFest на живо, на който дори успях да изнеса една лекция (още ми е трудно да повярвам колко хора гласуваха за нея, въпреки малоумното заглавие). Следващия OpenFest ще се случва без мен, както писах, от всички организрани досега не съм бил в организацията само на 4-5…

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

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

– ИББ изглежда се възстановява.

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

2019-07-14 разни

Saturday, July 13th, 2019

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

За рождения ден (някакво време след като излязох от болницата) група хора ми подариха квадратен монитор, да работя на него (след като си смених лаптопа с нещо много странно с 4:3 екран, щото 16:10 ми беше писнало). С няколко фалстарта (видеокартата ми на текущия не обичаше конвертори, прекъсващ кабел и т.н.) в момента съм на него на работа, и тотално не мога да си обясня как може да се работи по друг начин. Виждам си всичкия код, мога паралелно с него да гледам някакви логове, схемите ми се събират на екрана и не трябва да ги сплесквам по вертикала, изобщо радост за душата. Препоръчвам на всеки, дето върши някаква работа.

По темата се зарових да видя какви са опциите, и явно единственият монитор в тоя размер е този – човек може да си купи панел с тоя размер и LVDS (или по-нормален) интерфейс от китайците, но ще трябва да си направи и стойка (или монитор като за авиодиспечер, или медицински цели). Предполагам, че повечето хора се справят с много широки монитори, за да си докарат нужния вертикален момент, или правят както Кънев едно време в initlab (два 16:9 монитора на 90 градуса и още един в нормална позиция, за тестване).

Явно индустрията се е ориентирала към гледането на филми, дано не дойде момента, в който неща като Cinerama (2.59:1) станат модерни, тогава всички, дето трябва да вършим работа, ще трябва да си купуваме медицински монитори.

Хрумна ми също така, че перфектния ми лаптоп би имал подобен монитор, който да може да се сгъва на 4, т.е. да имам квадратен малък, и разгънат квадратен голям такъв (когато имам място), но това отива в научната фантастика (заедно с model M клавиатура в лаптопа, и вероятно екзоскелет, че да мога да го нося без да ми се строши гръбнака).

(in other news, ако някой му хрумва клавиатура с подобен размер и усещане като model M, но по-тиха, да каже, че ще вземат да ме изгонят от офиса)

2018-07-10 “Proofs and refutations” на Имре Лакатош

Tuesday, July 10th, 2018

Тия дни прочетох “Proofs and Refutations” на Имре Лакатош (Imre Lakatos), унгарски математик и математически философ.

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

Като погледна назад към коя математика ми е останала в главата и коя не, разделителят в общи линии изглежда като да съм си отговорил на въпроса “защо” (я има|се ползва), понякога и “защото е тривиална”. Голяма част от останалото е отказало да ми се лепне в главата, и понякога ми се е налагало по-късно да се ровя в него и да се опитвам да разбера, когато ми е трябвало (и когато много често съм се спирал на изцяло приложната му страна, без да задълбавам (полета на Галоа) , или просто да придобия бегла представа (решетки, които още не мога да докарам до някакво интуитивно ниво)).

Остават разни интересни въпроси:

– Грешно ли се преподава математика? Явно не съвсем, при условие, че една прилична част все пак съм я научил (и ако трябва, мога да си изведа формулата за решение на квадратно уравнение, например). Дали може да се подобри по смислен начин?
– Ако хората имат нужда от повествование (narrative, разказ), за да запомнят/схванат нещо, това дали не е бъг в главите ни, който трябва да оправим, или нещо, от което трябва да се възползваме?
– Някой да знае учебници, които обясняват по този начин различни математики? Не говоря за безумно глупавите от типа на “head first statistics”, а някакви, които могат да опишат процесът на извеждане на текущата теория, причините за това и по какво се работи в момента, може би комбинация от математика и история (без премълчаванията, за които Лакатос пише)?

Интересно също кои са наследниците на Лакатош. Карл Попът му е предшественик, но да речем, че неговите идеи достатъчно са се просмукали в каквото друго съм чел, и ми е интересно какво ново (и смислено) има в областта в последните 50-тина години…

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

2018-01-28 чукове

Sunday, January 28th, 2018

“Не го насилвай, вземи по-голям чук”

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

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

Като за пример, тия дни ми се налагаше да подменя едно парче софтуер в 50-тина клъстера, като всеки от тях имаше м/у 3 и 50 машини. Понеже инструментите, които имам са pssh и pscp, се оказа най-лесно на един пас да копирам нужните файлове по всички сървъри, и на втори пас да се логне pssh и ако трябва, да копира където трябва, иначе просто да изтрие това, което бях копирал. Някакъв по-подреден начин би било да извадя списък на всички машини, на които има нужда да се направи действието и да го направя само там, но щях да го напиша и направя по-бавно, отколкото по грубия и бърз начин.

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

Принципът изглежда да може да се приложи към любимите ми начини за дебъгване – това, което ползвай най-често е strace, което спокойно може да се опише като един от най-тежките чукове за дебъгване. Почти без значение какво дебъгвам – компилиран C код, php, python, perl, java – успявам да видя симптомите и да се ориентирам какво става, въпреки че като цяло за всеки от тия езици има специализиран и вероятно доста по-нежен вариант да се гледа какво става.
(искам да отбележа, че има и други тежки случаи – имам колега, който за да смята някакви математически изрази от време на време вместо да си пусне някакъв калкулатор като bc, пуска gdb и прави в него нещо като “p 1024*1024*231/1.1”)

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

(да не говорим, че хората искат да пишат умно, и колкото по-умно пишат, толкова по-трудно се дебъгва това, което са сътворили)

2018-01-20 Сървърни социални служби

Saturday, January 20th, 2018

Разни случки от последните година-две:

– седя си аз на един хакатон, и всичко ми се отваря бавно. Поглеждам защо – раздадени са ми ipv6 мрежа и gw, пингва се, но няма ipv6 свързаност, и всичко се опитва в началото да ползва v6, отказва се и минава на v4. Издирват някакси админа, той отговаря “ами аз не съм пускал такова нещо” и т.н., поглеждам – mac адреса на default gw по v4 и тоя, от който ми идват router advertisement-ите е същия.

– “Хора, гръмна ви диск.” “Хора, гръмна ви друг диск.” “Хора, гърмят ви дискове с гигантска скорост, скоро няма да има де да си държите данните.” “Няма де да си държите данните, къде са ви replacement дисковете”…

– Предават се някакви сървъри на нови админи. Логва се стария да покаже нещо, и на конзолата се вижда “Last login преди 8 години”, машините не са update-вани (Debian 4-5).

– “Някой ви е влязъл в сървъра през ipmi-то, направил си е root account и е пуснал minerd. Моля сменете си паролите на IPMI-тата и ги филтрирайте от internet-а, даже производителя им (supermicro) казва, че тия неща не са толкова сигурни.”. Повторение на това – още два пъти в следващите 7-8 месеца, при същите хора.

Има много други такива случаи, но мозъкът ми вече отказва да ги приеме. Ще ми се да направим сървърни социални служби, дето като някой не си се грижи за нещата, да им назначава със съд адмиини, дето да ги поддържат, и на които да плаща собственика на сървърите/мрежата. Безхаберието трябва да е наказуемо, особено в размерите, в които го виждам от време на време…

2017-12-25 равносметка

Monday, December 25th, 2017

Седя и си мисля за писането равносметка за годината…

В някакъв ред, какво се случи тая година:

– Роди се Ба’ал (официално известен като Игнат);
– Направихме OpenFest 2017, който въпреки новото място мина доста по-лесно;
(write-up-а за мрежата му се надявам да го изкарам тая година)
– Основа се “Да, България” (на която съм член);
– Избута се и FOSDEM 2017 (и следва 2018, където даже ще водя звяра);
Ожених се;
– Омъжихме и Яна, и разни други хора (май се събраха три сватби тая година);
– Почнах работа в StorPool (и сега интервюирам повече за админи, отколкото за developer-и, и всеки ден откривам как нещо от света около мен не работи);
– Свършихме някакви неща с лаба, като последното е да си имаме podcast студио (в което може да запишем тая година един лабов такъв);
– С Мариян си взехме половин rack в 3DC и си събрахме техниката на едно място, с наш ASN и връзки. Някой ден трябва да го разпиша по-подробно;
– Организирах/правих/помагах в stream-ването и видеото на поне 10 събития;
– Почина най-малката ми братовчедка.

Имам един файл, който е в git и в който си пиша какво имам да правя (нещо като календар, ама допотопен), и май не съм имал много време да си почивам тая година. Може да се опитам догодина…

2017-07-01 пренасяне

Saturday, July 1st, 2017

Мисля да направя лекция по темата на какви неща ни учи организирането на OpenFest…

Преди 3 седмици получих mail, с който ми прекратиха договора за наем където бях. За 2 седмици си намерихме ново място, за още една си организирахме нещата и вчера се пренесох (с помощта на професионалисти, дето с два камиона ми пренесоха всичките дивотии, които включваха около половин тон книги и един rack). Имаше разни уморени моменти, и се налагаше да паузираме, че да се занимаваме с малкия звяр (известен в тоя блог като Ба’ал), но като цяло си се справихме.
(това е и една от основните причини през юни да не съм писал нищо)

Спокойно мога да кажа, че преживяването на кофа OpenFest-и направи преживяването (да се пренесеш с малко предизвестие и малко бебе в най-голямата жега) да изглежда като нещо управляемо, и даже го направи такова. Мисля си от това да направя един малък lightning talk за привличане на доброволци:)

И като завършек, ето една снимка, която прави цялото семейство щастливи.

Update: Дневна снимка на библиотеката и уред за приспиване на Ба’ал.

2017-05-09 bias-и и дебъгване

Tuesday, May 9th, 2017

Нещо странично.

Тия дни в офиса около някакви занимания обсъждахме следната задача:

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

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

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

Какво следва, ако са трима? Казах – добре, тогава даваш на единия 1, на другия 2, и останалото за капитана, понеже ако останат само двама, последния няма да вземе нищо, капитанът гласува за себе си и втория и да е за и против, няма значение. Само че няма нужда да даваме нищо на средния, щото не ни пука за мнението му, така всъщност правилното разпределение идва 1, 0, 99. Тук пак си пролича bias-а, пак очаквах да има някаква пропорция.

Long story short, следващата итерация е 0, 1, 0, 99, понеже така ако не се съгласят, на следващия ход предпоследния ако не се съгласи няма да вземе нищо, и на другите двама мнението няма значение. Pattern-а мисля, че си личи :)

Лошото е колко много влияеше bias-а, който съм натрупал от четене за разпределения в реалния живот – какво са пиратите, как няма перфектни логици (и реално никой няма да смята по тоя начин, а ще се стремят към нещо, което им се вижда честно), как това тотално изключва политическата възможност N/2+1 от долната част да гласуват винаги против, докато не дойде всичкото до тях и после да си го разделят по равно и всякакви подобни варианти от реалния живот. Ако примерът беше с каквото и да е друго (например не включваше хора), вероятно щеше да е доста по-лесно да гледам абстрактно.

Което е още един довод в подкрепа на идеята ми, че много по-лесно се дебъгва нещо чуждо (често и което никога не си виждал), отколкото нещо, с което почти постоянно се занимаваш. Над 90% от проблемите (това не се базира на никаква статистика, а на усещане) са достатъчно прости, че да могат да се решат със стандартни методи и да не изискват много задълбочено познаване на системата (половината ми живот е минал в дебъгване на неща, които не разбирам, доста по-често успешно, отколкото не) и вероятно като/ако правя debug workshop-а (за който много хора ми натякват), ще е с проблеми, с които и аз не съм запознат, да е наистина забавно …

2017-05-08 раждане 3

Monday, May 8th, 2017

И толкова с post-овете за днес, май досега не бях пускал 3 в един ден.

Точни данни: роден в 07:11, 3450 г., 50 cm. Игнат(-Ба’ал) Василев Колев(-Дяволов). Родил се е с бая коса (като мен и Елена). Обича да спи – докато бях там за малко отвори очи, погледна ме, прозя се три пъти и пак заспа.
(ще излъжа, ако кажа, че не му завидях)

Сега следват няколко дни възстановяване за Елена и после прибиране вкъщи.

2017-05-08 раждане 2

Monday, May 8th, 2017

(смених и заглавието)

В 7:10 се е родил Игнат Василев Колев, 3.200 кг.
(въпреки голямото желание на Велин, не е Ба’ал Василев Колев, и въпреки моето не е Игнат Василев Колев-Дяволов (т.е. да звучи да коли дяволи), ама няма значение)

Освестявам се (пия кафе и т.н.) и отивам да го видя и занеса шоколад и други.

2017-05-08 раждане 1

Monday, May 8th, 2017

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

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

Което смятам и да направя :)

2017-02-22 FizzBuzz 2

Wednesday, February 22nd, 2017

Понеже идеята ми се мотае в главата от месец-два и тая нощ ми хрумна финалната оптимизация, ето продължението на post-а за fizzbuzz:

int i=0,p;
static void *pos[4]= {&&digit, &&fizz, &&buzz, &&fizzbuzz};
static void *loop[2] = { &&loopst, &&loopend};
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;

loopst:
	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';
	goto *loop[i/100];
loopend:
write(1, buff, buffpos);

Известно време се чудех как може цялото нещо да стане без никакъв branch, т.е. и без проверката за край на цикъла. Първоначалната ми идея беше да я карам на асемблер и да използвам като в exploit-ите NOP sled, нещо от типа (извинете ме за калпавия асемблер):

	JMP loopst
	JMP loopend
loopst:
	NOP
	NOP
...
	NOP
	; fizzbuzz implementation
	; i is in RAX
...
	MOV RBX, 0
	SUB RBX, RAX
	SUB RBX, $LENGTH
	SUB EIP, RBX
loopend:

Или, накратко, колкото повече се увеличава i, толкова повече скачам назад с релативния JMP (който съм написал като вадене на нещо от EIP, което най-вероятно изобщо не е валидно), докато не ударя JMP, който ме изхвърля. Като оптимизация бях решил, че мога да shift-вам стойността с 4, така че sled-а да е само 25 броя.

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

Иначе, важно е да се отбележи, че на какъвто и да е модерен процесор по-горния код е далеч по-неефективен от простото решение с if-ове, най-вече защото branch prediction и всички други екстри се справят много добре с всякаквите if-ове, но доста по-трудно могат да се сетят тия jmp-ове към таблици базирани на някакви стойности къде точно ще идат, за да се прави спекулативното изпълнение. Не съм си играл да benchmark-вам (въпреки, че имам желание), но като цяло горния код има шанс да се справя по-добре само на неща като 8086 и компания.

И като идея за следващата подобна мизерия, може би може да се оптимизира истински чрез ползване на някое от разширенията за работа с вектори/големи стойности и се unroll-не цикъла, например да се прави на стъпки от по 4 с някаква инструкция, която смята делители (кой-знае какви странни неща има вкарани вече в x86 instruction set-а).

2017-02-13 сватба

Monday, February 13th, 2017

Ожених се.
(сега погледнете датата в title, че не е първи април, и продължете нататъка)

В петък (10.02, отбелязвам да не забравя в бъдеще) в 13:00 се ожених за (вече госпожа) Елена Дяволова. Понеже ни мързи да си сменяме личните карти, не сме си сменяли имената (иначе се чудех как малкия можем да го кръстим Колев-Дяволов, щото звучи точно като да коли дяволи…). Решихме да не правим голямо тържество, понеже {работа, мързел, бременна Елена, умора}, най-много да избягаме от всички за едно пътешествие.

Снимка с кумовете (и някаква растителност).

2016-12-31 равносметка

Saturday, December 31st, 2016

И време за стандартната годишна равносметка…

– Ще ставам баща. Това мисля, че за всички е доста изненадващо, даже малко и за Елена :)
– Избутахме OpenFest 2016 – много работа, много неща, като цяло изяде сериозна част от времето ми за годината;
– Имах количество занимания около initLab, който още оцелява;
– Направих няколко BGP workshop-а (и може би скоро трябва да направя още един, докато мога);
– Занимавах се с видеото на FOSDEM 2016, и догодина пак (направили сме бая интересен setup, който се интересува може да види в github);
– В общи линии за да тестваме нещата за FOSDEM ходихме да правим видео/аудио записване и streaming на State of the Map 2016;
– Направих една лекция (на PlovdivConf) и планирах и една на тема теоретична политика, която не можах да довърша (като цяло имам вече поне 5 висящи написани до средата лекции);
– Умря Pieter Hintjens;
– Да не повярва човек, не писах повече тая година…

И да стои и да се вижда, ето списъкът висящи ми лекции:
– “Теоретична политика” (системи за гласуване/взимане на решения, компромиси и т.н.);
– Debug workshop;
– VoIP/asterisk workshop (или цял курс);
– Приложение на принципи от системната администрация в реалния живот;
– Представяне на initLab с много картинки;
– Криптография за журналисти;
– Подкарване и поддръжка на собствен mail server;

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

2016-06-24 радио-link

Friday, June 24th, 2016

(blog post за разсейване)

Пешо (който организира uzana.io) си взе няколко ubiquiti airmax-а, с които да си пусне net (като разстоянието, което има да покрие е около 12км). За да им направим истински тест, решихме да ги вържем от у нас (Лозенец, близо до водната кула) до у тях (Костинброд), което е около 18км.

Лъчът се оказа достатъчно широк, че да не трябва ултра-точно насочване, и резултатът може да се види в един smokeping, който пуснах да дебне. Има едно прекъсване при донастройване първия ден на вертикалата от Костинбродската страна. Като цяло нощно време загубите са малко, през деня обаче има бая зашумяване по пътя – например НДК е точно по правата линия и техния wifi се чува бая добре с тия антени…
(тия антени чуват наистина много добре, май мога да слушам wifi-та на няколко километра с тях)

Може да се види снимка на гледката от моя покрив. Да, знаем, че сме го закачили на гръмоотвода.

След упражнението се оказа, че аз имам root на router-а на Пешо, та първо най-накрая си подкарах bgp за моя ipv6 вкъщи, после подкарах при него, и накрая ги interconnect-нах през радиовръзката. Сега ако ми спре net-a вкъщи, ще имам поне ipv6 през Костинброд. Наливам пълна таблица и на двете места, сложил съм local preference на пътищата от него да е по-малък (и по същия начин на двата router-а от другата страна моя prefix през неговия link е с по-малък localpref), като цяло съвсем стандартен setup :)

Мога спокойно да кажа, че вкъщи свързаността ми вече е географски подсигурена.

2016-05-15

Saturday, May 14th, 2016

Една от лъжите, които казвам е “от утре почвам да пиша редовно”.

В последните две седмици се случиха куп неща, които в общи линии май трябва да си припомням по логове:
– Довършихме редакцията на видеата от OpenFest 2015, всички са качени в архива и youtube. Най-накрая може да се каже, че имаме събран екип да се занимава с редакцията (което не успя да стане около самия фест);
– Видеата от ТърновоConf 2016 са в pipeline, просто около празниците и наваксването с работа след тях никой няма време;
– В лаба вече има първата co-locate-ната машина (кръстена по някакви извратени причини “pinkiepie”);
– Към автоматизациите в лаба беше добавена поредната тривиална такава, ако някой остави външната врата отворена над 5 минути, Стивън Хокинг звъни на всички телефони да каже да бъде затворена (наложи се поради някои лоши навици на пушачите);
– Пак около това, има приличен шанс да опънем хубава оптика до лаба в следващия месец и да намерим приложение на част от оптичната техника;
– Мина лекцията/workshop за ICS security в лаба, очаквайте записи;
– Силно си изоставам с четенето на книги;
– Взех си rack за вкъщи, за да успея да набутам в него малко техника и да си освободя бюрата. Обмислям да взема и за лаба още един-два с подобна цел (понеже имаме много техника, натрупана на купища);
– Успях да си сменя (почти) навсякъде сертификатите с такива от letsencrypt. Имаше доста гафове, и си мисля, че можех просто да издавам по един сертификат на сървър с всичките имена в него, вместо за всеки vhost неговите си, ще видим дали ще променя метода за в бъдеще. За заинтересуваните – ползвам acme-tiny;
– Човек и добре да живее, debug-ва erlang. Продължавам да не го понасям тоя език.

В плановете за петилетката има да напиша нещо за всичките дребни интересни хакове и неща около лаба и като цяло проектите, с които си играем (какво може да се прави със SDR, странностите с релета и телефонни централи, routing и тунели), да намеря време да си почина, да ида на концерта на Tuber (21.05, в mixtape), да подаря още някакво количество книги (дарих малко на една библиотека, та сега сравнително малко книги стоят по бюрото и масите наоколо). Мисля, че ми трябва и план да не си правя много планове, ама там ще видим:)

2016-04-26 смърт

Tuesday, April 26th, 2016

(това го пиша, щото темата ми е интересна, нямам планове да умирам скоро)

Около един post на Meredith Patterson (който също си заслужава да се прочете) попаднах на “A Protocol for Dying на Pieter Hintjens (за чието име съм сигурен, че не мога да произнеса правилно). Това ми припомни малко моите преживявания около невралгията и болницата и най-вече завещанието, и учудването на разни хора, че изобщо съм обмислял ситуацията и всичките варианти.

Смъртта е донякъде интересна тема, най-вече понеже е едно от нещата, за които се говори най-трудно – по най-различни причини хората сме направени така, че темата да ни блокира по най-различни начини, от простото споменаване, през държанието около болни и умиращи, до трудностите при убиването на хора. Това от своя страна води до това да ни свари тотално неподготвени. Протоколът, описан от Hintjens и идеите на Meredith са в общи линии една стъпка в правилната посока, още един факт от живота, с който трябва да свикнем. Интересно ми е дали следващата голяма кампания из медиите ще бъде на подобна тема (както сега се забелязва с най-накрая сериозното включване на хомосексуалността в повечето сериали/филми/книги, което не може да се забележи в тези от преди 30-40 години).

Може би ни трябва годишен Think/talk about death day?:)

2016-04-22

Friday, April 22nd, 2016

Трябва да пиша по-редовно, да не се получава миш-маш като тоя по-долу.

Както обикновено, ми върви на дебъгване. В последната седмица от по-странните неща се сещам за:
– build на android image (за нещо, правено и писано от (некадърни) китайци);
– Java/groovy;
– Python;
– И нормалното количество VoIP бози.
За да завърша картинката, обмислям да седна да подкарам VAX-а, който виси в initLab.

Тая вечер ходих на концерт на “band H.”, хора, които свирят Tool. Прилично се справиха, въпреки че им куцаше ритъма на моменти (което не е учудващо, Tool са учудващо гадни за свирене).
(по някаква причина в същия ден имаше 3 концерта – band H., Smallman и Irfan, не беше лесен избора)
(random човек ме разпозна на концерта и каза колко се радва на разните проекти като initLab, дето правим)

Седнах да подкарвам най-накрая сертификати от letsencrypt за нещата по marla, и успях да наслагам на половината, преди да ме удари resource limit-а при тях. Следващата седмица ще ги довърша. Разписах нещата с acme-tiny, базирано на нещо, което Петко беше драснал за лаба, оказва се сравнително просто (ако config-а е подреден както трябва) да се parse-ва apache config-а и да се смята какви точно сертификати да се генерират за кого.
(открих кофа неща, които вече не се host-ват при мен и ги почистих)

Събрал съм резултатите от теста на FOSDEM-ската техника (сравнение на запис на stream-а и encode-нат резултат, от нашия и от FOSDEM-ския setup), и като цяло с още малко пипване това може да се окаже достатъчно лесно за по-малки конференции (на които не си влачим 6-7-8 човека от екипа).

На opendata.government.bg тия дни пак качиха нещо интересно (тоя път – целия търговски регистър от 2008ма досега) и пак претовариха нещастната виртуалка (която е един debian в/у microsoft hyper-v). Обмислям някаква магия да може да преживява такива неща по-лесно, щото не се очаква да намалеят интересните данни.

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

И не си спомням нещо друго да ми се е случвало.