The Diary
Дневникът на Георги
<- Петък, 5 Март 2004 | Начална страница | Неделя, 7 Март 2004 ->
Събота, 6 Март 2004
WebDev ден първи. Конференцията започна в горе-долу нормално време, а регистрацията, която уж беше задължителна, хич не се оказа задължителна. Разположението на девойките, който даваха name tag-овете, предполагаше следният hack: отиваш при едната и си взимаш табелка (табелките не са с имена). След това спокойно отиваш при другата и си взимаш втора. Дори и да имаха списък, по който да дават таблеките, на разстоянието на което бяха една от друга, нямаше как да нямат два списъка и да не съм и в двата.
Естествено най-посетена беше първата лекция, която се оказа едно голямо
blah, blah, но пък беше изпълнена с умни заключения от сорта на:
<quote>Двайсет и седем, това са два бита - две и седем!<quote>
Къде ги тези битове дето могат да изразяват до две бре? За седем да не говоря, това е някакво цяло ново измерение.
За щастие втората лекция беше страхотна (Андрей, respect!) и от нея човек можеше да научи интересни неща, без върху главата му да се изливат buzzwords и сметки с битове.
Малка почивка преди презентацията на Глен. На самата презентация хората изглежда се забавляваха но на мен не ми беше особено интересно, защото вече я бях гледал и слушал.
Последната презентация, която гледах за деня беше за оптимизациите в приложенията. Не чух нищо за което да не се бях сетил и сам ;)
След това с Валяка и Пенчев се изнесахме към кафето за да похапнем. Нямахме никакво намерение да гледаме как се клика по бутони на Visual Studio и да ни се показва "видяхте ли сега к`во стана, като цъкнахме бутончето" (sorry IronCode).
В кафето отново се върнахме на една стара тема, която обсъждахме на NetSec курса, а именно race free tmp cleaner. Идеята на Пенчев за open() последван от fchdir() е опасна. Не е добра идея да викаш open() на всеки обект във файловата система, който ти попадне. Трябваше да се измисли нещо друго. Големият проблем е подменянето на директории със symlinks. Няма да е приятно cron-а да пусне tmp cleaner-а, някой да подмени поддиректория със symlink към /etc или / и да ти изчезне диска.
Точно това ще се получи ако го напишеш по глупавият начин със stat(), последван от chdir() и триене на всичко в директорията. Race condition-а е точно между stat(), проверката и последващият chdir().
Решението, което ми хрумна е от първият stat() да се помни inode-то, което е било върнато и след chdir да се извика отнова stat(), но този път stat('.'). След това сравнявайки запазеният inode number със върнатият от stat('.'), можем да установим дали сме там където искаме.
Последва преместване на друга маса, защото дойдоха колегите от УС на ССС. Проведохме заседание на управителният съвет с бири в ръка (доста по приятно отколкото в irc). Уговорихме се за среща в О'Шипка в осем вечера и аз си тръгнах, защото ме чакаха в офиса.
Срещата в офиса беше необходима и полезна но пък се проточи доста (до 0 и 30) и изпуснах О'Шипка :(
[ Коментари: 3 ]Коментари
И все пак... Жоро, говори за себе си :P Аз лично всъщност *имах* намерение да слушам лекцията, само че просто бях много гладен и не успях да се върна навреме :)
Както каза Калоян, добре че бяха Майкрософт за да не умрат от глад хората :-))
Disclaimer: Except where otherwise noted all opinions expressed here are personal
opinions of the author and do not reflect official opinions of my employer or
any other person, company or organization associated with the author.
Copyright: Except where otherwise noted the content of this site is licensed under a
Creative Commons Attribution License. Текстът на договора за ползване на български
Copyright (cc) 2003-2011 Georgi Chorbadzhiyski. Some rights reserved.
Comments, texts and pictures not signed by me are property of their respective owners.
Страницата е генерирана от Glog v3.99-test
No offense. Естествено, че няма смисъл да седиш, като не ти е интересно ;-)
Написа ironcode на 08-Mar-2004 14:28