2010-03-30
by Vasil KolevДен почивка.
Реших да свърша нещо полезно и се разходих до ФМИ да присъствам на една лекция от курса по Python, която Стефан водеше. Изводи/наблюдения:
– В python могат да се свършат вероятно огромно количество мизерии. Трябва да видя как ще стане, но май има начин да се припокрие object.__getarguments__ и да не може да се заобиколи (ще си поиграя тия дни).
– Рядко съм виждал в два часа описани толкова много средства за прострелване в крака. Изглежда аз съм повреден, но си мислех през цялото време разни програмисти колко жестоко могат да се омажат.
– Цялото ФМИ е в камери и има надписи “Обектът е под видеонаблюдение”. В 325 имаше 4. Усещането е странно.
– “Мусала” изглежда са си купили зала 325 (и са я оправили, има вид на зала от истински университет).
– В почивката м/у двата часа на лекцията едни студенти дойдоха и ме питаха дали могат да се снимат с мен. WTF. (снимката е в Бачийски)
– Видях обява за хора, дето си организират grid от хора, browse-ващи една страница и пускащи flash. Ебати (computing) пауъра.
– Торонто със зор събра хората след лекцията.
– Запознах се с малко студенти.
За малко се замислих не искам ли пак да водя лекции.
In other news, зимния семестър на 2010/2011 ще има “Мрежова сигурност 1”, по твърдения на Мариян.
March 29th, 2010 at 23:31
селебрити :)
March 29th, 2010 at 23:34
Ако в първите две точки са синтезирани впечатленията ти от Python, то очевидно това не е езикът за теб.
March 29th, 2010 at 23:39
@icaci, това са впечатленията ми от лекцията, от езика като цяло са по-различни. Иначе – за мен подходящ език няма, аз по принцип не съм програмист (живея на shell scripting).
March 30th, 2010 at 00:13
Не е леко да си звезда. Чухме, че те готвят за следващия биг брадър :-)
March 30th, 2010 at 00:16
който ще е във фми, за това са и камерите
March 30th, 2010 at 00:16
Хаха! Абе аз се чудех защо Стефан 10 пъти спомена, че някой може да се снима с тебе, ако иска след края на лекцията :D
Относно прострелването в крака… повечето неща, които предполагаш, че ще те прострелят в крака… няма да стане точно така(заключние, базирано на въпросите ти) ;)
March 30th, 2010 at 10:18
Гласят те за рекламно лице на каркаде маниаксе , затова е била снимката.
March 30th, 2010 at 22:00
По въпроса за камерите:
Не на секса в коридорите, тоалетните, учебните зали и лабораториите на СУ!
March 30th, 2010 at 23:39
iCaci…че какво лошо има, баси, жигосват хора за цял живот там, поне малко да се повеселят, завалиите…
March 31st, 2010 at 13:27
@iCaci, спокойно, те ползват презервативи, няма шанс да се размножат :)
(освен това – за тоалетните и коридорите съм съгласен, ама има някои много удобни зали и лаборатории)
@Кирил Владимиров, що да не стане :) Възможността да бърникаш на дълбоко в обекта и да подменяш функцията, която се вика за всяко достъпване на нещо от него дава невероятни възможности за правене на мизерии например.
April 5th, 2010 at 22:08
Снимката: http://nikolay.bg/mess/maniax-and-students.jpg
April 7th, 2010 at 14:20
“Възможността да бърникаш на дълбоко в обекта и да подменяш функцията, която се вика за всяко достъпване на нещо от него дава невероятни възможности за правене на мизерии например.”
Да, ако успееш да го докараш до изпълняване на произволен код, можеш да направиш невероятни мизерии. Което е в сила за почти всички езици :) Трудната част е да накараш въпросното приложение да изпълни твоя произволен код. За щастие, подобни слабости са рядкост в Python-ските скриптове.
April 25th, 2010 at 22:27
@tie – тук дори не би трябвало да става дума за изпълняване на произволен код as in код, зададен от външен агент (от гледна точка на сигурност). Лично за мен дори това *програмистът* да може да замести / допълни “системните” функции, свързани с даден обект (или модул, или функция, или каквото там още има езикът) си *е* възможност за прострелване в крака – много, много хубаво за опитните (и внимателни!) програмисти, но много, много опасно и за опитните, но невнимателни програмисти, и за не-толкова-опитните програмисти, които искат да се изфукат с това колко готини възможности на езика познават, какви са магесници.
Не казвам, че е лошо – напротив дори – в ръцете на опитен и внимателен програмист може да направи чудеса – на C съм виждам какви ли не неща, правени с __init / __fini функции в обектни файлове; на Perl съм виждал много забавни неща, правени в BEGIN / END блокове и с tie(); в Java и .NET с reflection можеш да правиш магии; FORTH като цяло си е писан за това; на много други езици има много хубави неща, които можеш да направиш с бърникане из вътрешностите. Става лошо в три основни случая:
– програмистът не е достатъчно опитен и прави нещо, което на неговата машина работи, но на машината на клиента се държи… странно.
– програмистът е опитен, но невнимателен и прави нещо, което и на неговата машина, и на машината на клиента работи в 100% от тестваните случаи и 99.98% от нетестваните… и клиентът на третия час след подписването на приемо-предавателния протокол стъпва в останалите 0.02%.
– програмистът е опитен и малко по-внимателен, прави нещо, което за конкретния проект работи съвсем както трябва, но той си знае, че в еди-какъв си извратен случай ще направи голяма мизерия. Два месеца по-късно в друг проект се сеща, че това би било полезно, копира кода и, понеже все пак не е съвсем внимателен и не е документирал извратения случай, изобщо не се сеща за него, докато клиентът не вземе, че се натресе право на него.
Аз лично много харесвам възможността да бъркам където ми хрумне, но съвсем не я използвам всеки път, когато ми се отвори.
(да, знам, че вероятността да бъда цитиран извън контекст е… доста голяма ;)