вторник, 29 мая 2012 г.

Низкое

Я, конечно, слоупок во всем близком к железу и низкоуровнему сетевому. Так что пинать ногами за некомпетентность надо, а еще лучше меня просвещать разговорами на эту тему. Что не мешает первому потоку. Тонкости перехода из режима ядра и режима пользователя мне пока мало подвластны.

Как-то странно там устроено. Правда, все странности вылазят через несколько лет. Вот есть *86 процессор. Сейчас мне уже непонятно, зачем на стеке вместе с локальными переменными держать код возврата (ip aka instruction pointer). Он как-то малоотличим от локальной переменной. Шаг влево, или вправо, и все - ты вирус. Все ошибки "переполнения буфера" / перезаписи кода возврата из-за этого. Любой "безобидный" scanf или вход от внешней среды рассматривается как ящик Эболы.

Сейчас есть методы, которые переставляют параметры на стеке / добавляют пустоты в стеке. Вирусы просто так уже не пройдут, даже есть у вас есть gdb и запас маны. Перестановка при каждом запуске своя, рандомная. Хотя, если перехватить randseed...

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

Атаки на хип... а есть такие? Темный я что-то. Небольшой род многолетних травянистых растений семейств капустных его знает. Как ОС выделит память в хипе, известно даже не ей, и Богу из машины только randseed первоначальный дан. Да и что там ловить, ведь instruction pointer все равно в стеке.

Сейчас-то легко говорить. Можно еще Хоару null-ы припомнить и ничего взамен путного не предложить. Как бы видеть такие вещи лет на 30 вперед, а то Ванга какую "все тот же из семества капустных" нагадала. Не то что косяки, просто могло быть без этих шероховатостей. Хотя обжигаться об сковородку надо как минимум для иммунитета.

четверг, 24 мая 2012 г.

Инструкция после поездки зарубеж

Я вчера закончил ковку, 
Я два плана залудил, 
- И в загранкомандировку 
От завода угодил.
(С) Володя.

Видимо, тем кто будет на Евро-2012 в Польше будет что-то новое.

Так получилось, что наши (местоимение наши не имеет никаго политического подтекста) прошли в финал ACM ICPC. Так как, возможно, это будут читать люди, не знаю что это такое, то стоит объяснить. Это командные студенческие соревнования по программированию. Есть личности, которые поедают гамбургеры за время. Здесь же за время решают алгоритмические задачи. Девизы те же самые - "пришел, увидел, победил", "быстрее, выше, сильнее". Я называю это спортом. 

Так получилось, что визы делал я. И кое-какую (может нечто большее, чем кое-какую) организацию поездки то же. Получение визы - много фана. Стоять 2.5 часа на снегу на улице у посольства (конец марта), где после всего этого тебя "посылают" из-за того что нехватает подписи персон. А 4 из 5 персон находятся в 1200 км от тебя. Вообщем много фана, но я все порешал. Хотя, этот косяк можно повесить только на меня. 

Поляки те еще фашисты. При оплате пошлины за визу некоторых разворачивали, "у вас купюры мятые". Мы как бы по науке, оказалось это бесплатно. 

Еще я допустил два более мелких косяка, мы на всякий случай делали нотариальные доверенности на подачу документов. И я сообщил свои некорректные паспортные данные. Копи-паст = зло. Причем вручную я написал правильно. Косяк распространился только на 1 человека. Еще один косяк был в том, что я неправильно при подаче визы указал свою дату рождения (!!!). Это вообще атас. Свою... Там нерусская дата (месяц-день-год/год-день-месяц) и я накосячил с месяцем. Причем числа внешне похожи. Три косяка за месяц для меня это слишком. Вообще как женщина с телефоном на автомобиле, стыдно.

Это не турагенство, тут все вручную и ощущения те самые.

Сама доставка оказалась более чем скучной, вообще ни одно животное не пострадало. Я проверял. Вокзал - вокзал, прогулка при транзите, аэропорт, самолет. Самолет если покупать заранее в обе стороны, то получается довольно смешная цена в примерно в 13000 в оба конца.

Финал, фигли. Вас встречают в аэропорту. Автобусом от оргов доставка до гостиницы. Регистрация, тут нам дают футболки Г цвета. Г видимо от грин. Нельзя поручать выбор цвета футболок человеку, у которого проблемы со зрением. Не цвет, а Г.

Ездили по городу на автобусах, суммарно я насчитал где-то 11 штук. Причем круто, впереди нас шли (нет, не полицаи) стражи с мигалками. Один раз даже на альфа-ромео.

В первый день был IBM TechTreck. Это АД!!! Я в поезде обычно смотрю лекции с планшета. На второй лекции про квантовые вычисления я заснул на 5-ой минуте, в поезде еще качает туду-туду. На ТехТреке меня вынесло где-то на 3-ей минуте. Я поспал где-то полчаса, потом кое-что послушал, потом начались какие-то непонятки со временем. Вы когда-нидудь видели, чтобы стрелки механических часов шли обратным ходом. В общем, прошло только 6 минут 27 секунд. Весь трек длился 2 часа. Асанов опытный - из 10 финалов на ТехТреке был только на первом. На youtube есть ролик про ТехТрек этого года, там 3 минуты. Полагаю оператор тоже слег после 3-х.

Потом нас отдали в музей Коперника. Не то что бы музей, там очень много прикольных штук/опытов/экпериментов. Очень клево, часа на 2-3. Я там даже купил кубик на 5.

Вечером было открытие в центре культуры и науки. Мим только в концовке разошелся, а сама официальная часть чем-то веселее ТехТрека, но все равно хуже неофициальной. Узнали, что на польском "фига" есть "держать пальцы с скрещенном положении". Между ужином и открытием я гулял, и внизу Пучер здоровался за руку с каким-то ВИП-ом (тоже в пиджаке, а не в той футболке, которая у вас остается на остаток жизни). Это оказался премьер-министр страны. У президента что-то сорвалось... Будет ли так же в Питере?

Пешком в дождь, оказывается все близко и лучше вечернего автобуса.

На следующий день был пробный тур, затем репетиция. Внезапно, репетиция - двухчасовой контест на 12 мини-задач. В обед был Challenge, ну или баттл. Всю предыдущую жизнь я думал, что это онсайт контест, оказывается пишется он дома и условия есть за месяц.

Вечером был ужин в Техническом университете. Кормили какой-то ботвой, реально травы было много. Узнал новое слово - "продолбал" от пока что единственного на тот момент присутствующего абсолютного двукратного чемпиона мира. Они/мы сидели за одним столом.

На улице видели Дена Слейтора. Я бы даже не вспомнил кто это. Дима сказал, что это тот чувак, который с Тарьяном много чего придумал. И в правду, он как тренер от Карнеги-Мелон. И согласно вики еще и автор амортизационного анализа. Кстати, очень прикольно видеть людей, аватарки которых ты только видел на топКодере. Тот же bmerry.

На пробном туре к нашим подходил американец и говорил "this is eclipse". И он засмеялся. Eclipse для плюсов - это какое-то затмение (даже не буду извиняться за каламбур pun). ИТМО - java, все остальные из наших, пишущие на плюсах, перешли на vim || emacs.

На следующий день был главный контест. Съел штук 6 мороженных, послушал задачи по телевидению. ИТМО - чемпион, ФизТех - жжет, а мы по-прежнему ... как в песне ДДТ. Ладно, в принципе сам выход в финал для студентов - это уже очень круто, при условии что вуз вообще нисколько не вложился. Увы, там нам и место. Может чуть ниже чем мат. ожидание. Белоруссы тоже жгут.

Предыдущие лет 7-8 финалы я смотрел/читал по интернету. В жизни тоже прикольно.

Закрытие в библиотеке, потом в том же здании (!) ночной клуб, боулинг, бильярд/пул и прочее. У нас в здании РАН, которое с башенками, в Москве тоже что попало творится. Я и там был.

В продленный день (спасибо спонсорам, http://fastdev.se/en/ как минимум день гостиницы за их счет) пошли гулять. Опять в центр культуры и науки, там обзорная площадка на 30-м этаже. На вопрос внизу "could you tell me. Where is obzornay ploshadka?" меня поняли :) . Старый город, я еще по музеям немного побегал. Позитивно, в общем. Из музеев можно сказать хорошее про уже упомянутого Коперника, а так же Шопена. Есть нейтральная ссылка на Кюри (но он маленький и стоит 100р) и две отрицательных (не ходите туда, просто не ходите по отрицательным ссылкам). Поели в сети "babooska". Чисто по названию выбирали. Там официантки знают русский.

Зачем-то купил Айпад3. Взял 2 черные футболки, тоже не знаю зачем.

Детали о городе/стране. У них златы, никаких евро. Курс примерно 9.1 рублей к одному злату (или злоту?). Те кто хорошо считает, могут умножать на 9. То кто плохо - на 10. Поменять рубли там проблема, лучше ехать с евро. Карточкой почти везде можно, но на мелочевку наличка все равно предпочтительней.

Язык. Отдельные фразы можно понять на польском. Когда они считают деньги, то это выглядит как "сто, двести, триста, четыреста". Волонтеры в автобусе про свободное место говорили "еще две персоны". Все остальное цельно понять сложно. Много шипящих звуков "щшжхч". Я даже не знаю, как они шипят друг на друга. Английский базовый почти везде более-менее понимают. Только не надо спрашивать "do you speak english?" Ответят отрицательно. Если сразу вопрос задашь, то скорее всего поймут. Только раза 3-4 нарвались на уровня охранников с полным непонимаем английского. Чисто русский где-то возможен, но маловероятен.

Транспорт. В Варшаве есть метро, но оно чисто символическое - одна ветка с юга на север. Просто для факта, что у них есть метро. Довольно развит общественный - автобусы и трамваи. Для автобусов отдельная полоса. Пробки есть, но оно движется. Не Москва все таки. Центр относительно маленький, все пешком можно обойти. Легко ориентироваться по высоткам в центре.

Цены и магазины. Цены дешевле московских. Можно даже сказать, что приемлемые. Как тут в городе. Продуктовые после 9 вечера почти все закрыты. Не бухают. В 10 вечера и позже - полумертный город.

Готовятся к Евро-2012. Перекапывают грядки асфальт, кладут/ложат плитку. Рекламы на улицах по сравнению с нами гораздо меньше.

Взрослые люди на внешность малоотличимы от наших, дети какие-то другие. То ли череп иной, то ли прически другие, сразу видны отличия от наших.

Если дочитали до этого места, то круто. Я уже закругляюсь. Как будут фотки, немного разбавлю.

Было очень. Было очень жалко. Было очень жалко, что придется возвращаться. Чего-то у меня в последние 2-3 года это ощущение часто возникает. Может даже это и хорошо?

Update[14.06.2012]. Фоток суммарно 800+. Требовать личного досмотра.

Старшее поколение не знает жест. Дубля с третьего смогли сделать задуманное

Такая карточка должна быть у каждого

Контест закончился, Паша ест

Поляки на втором месте. Мировые идексы падают.

Не знаю, что я там показывал

Взгляд

Я насчитал 6 спящих людей в кадре. IBM TechTreck

Смотреть на пешеходные переходы в виде клавиш

Паша идет *ь

Вот Леха немного кадр не вытянул

Вот так надо было, чтобы сверху здание полностью влезло.