SYStem EXclusive

Я тут пешу - чего же боле…

Архив за месяц November, 2008

Говнокод

Tuesday, November 11, 2008

Вводная - во флеш-ролике в какой-то момент времени компонент оказывается недоступным для родительского контейнера. Проявляется баг непредсказуемо настолько, что за полчаса кликаний не удалось выяснить причину. Причём происходит это в момент инициализации-переинициализации нескольких мувиклипов, флешевого компонента, параллельно твинается анимация.

Как результат - выбрасывается ошибка ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller. и приложение встаёт раком.

Что-то подсказало мне, что затронуты настолько тонкие материи, что в исправлении бага я могу провести остаток дня.
Как вариант изобрёл говнокод. Это - AS3, но тут это - неважно, главное - сам принцип.

Actionscript:
  1. // method that break down the application
  2. public function hide():void
  3. {
  4. try
  5. {
  6. removeMenu();
  7. TextField(txtTitle).text = '';
  8. // WTF place - this setter raise error
  9. TextArea(txt).htmlText = '';
  10. } catch (e:Error) {
  11. // russians are not surrender!
  12. // catch error and call them recursively
  13. trace(e);
  14. hide();
  15. }
  16. }

Вкратце - если случается ошибка (примерно 2% вызовов) - рекурсивно вызываем себя снова, на этот раз уже всё ок.
Я бы лично вот за такой код закидывал тухлыми яйцами.
При плохом раскладе его может просто зациклить (в моём случае, правда, это работает на 100%, ну может на 99.и много девяток).
Вот так вот и рождаются байки об индусах.
А зачем я это написал? Так, в порядке самокритики и чиста поржать. А, ну да, раскрашивалку кода потестить.

Ubuntu server

Saturday, November 8, 2008

Сбылась мечта идиота. После того, как выяснил у провайдера, что у меня статический айпишник, так и началось думаться, что неплохо было бы поставить в квартире (а конкретнее - в отхожем месте) сервер. Пусть себе жужжит вентиляторами на радость мне и интернет-детям. Да и свербит уже давно начать играться с линуксом по-взрослому. Долго искал системный блок нахаляву, ибо сверхзадача была - поднять это дело бесплатно, на общественных началах. Потом системный блок был найден, и долго не было свободного времени, чтобы этим заняться с толком, с расстановкой.

И вот настал тот день.

Ubuntu server deployment

  1. Системный блок нахаляву.
  2. Карманная книга про команды линукса, коя уже полгода лежит в отхожем месте. Помогает :)
  3. Дистрибутив Ubuntu server 7.10 (тема выбора дистрибутива не раскрыта).
  4. Инструкция по настройке (по установке - не нужна в принципе).
  5. Пиво - палюбому.

По результатам сего действа буду краток - панравелось. Ну, консоль, по роду своих занятий, я увидел далеко не в первый раз, поэтому всё было ожидаемо и узнаваемо, можно начинать играться, теперь я сам себе здатый рут. Интернет-детям тоже, видимо, панравелось, потому что через некоторое время они тоже начали играться - пошли брутфорс-атаки на ssh и ftp порты. Ну что же, а теперь давайте просто посидим и понаблюдаем за ними(С)Дроздов

UPD: Понаблюдал.Поставил Denyhosts.  За 15 минут заблокировал несколько хостов. Ну чисто, как дети малые.

ubuntu cola

Вот такую странную колу купил в Стокгольме. На вкус - обычное говно обычная ***-кола.