Apr 17

Оценив свои последние посты, а точнее комментарии к ним, задался таким вопросом.

  1. “Танцы со звездами” - здесь я комментов и не ждал, просто написал, что на душе было. :)
  2. unGIF и все, что к нему относится - ну тут еще более или менее.
    PS. Сурсы будут, после сдачи 3-й лабы - GIF ↔ BMP.
  3. JavaScript и WSH - как то даже комментировать не хочется. Впрочем эту тему я вряд ли буду продолжать.
  4. Классы C++ - разработчики похоже мой блог особо не жалуют, особенно c++’ные. Или я писать не умею? За все время ни одного исходника не скачано. По крайней мере google analytics так говорит.
  5. Мои музыкальные предпочтения я комментировать не буду - каждому свое.

После этого всего прямо таки напрашивается вопрос из заголовка этого поста. Выбираем :) : PHP, PHP + Zend Framework, CSS, JavaScript, ваши варианты?

PS. А про C++ я все равно писать буду!

written by FX Poster

Apr 15

Знакомый линк дал. Смотрел уже 4 раза. Во-первых песня понравилась, во-вторых видео и субтитры отпад!

written by FX Poster \\ tags: ,

Apr 14

Для начала, для тех, кто не из Украины - есть у нас такой проект на одном из телевизионных каналов, как “Танцы со звездами 2″. Суть следующая - выбирается N пар сначала (не помню я, сколько было сначала, по-моему 10), один из партнеров - обязательно какая-нибудь звезда, второй (вторая) - профессиональный танцор (танцовщица). Так вот - они еженедельно танцуют по танцу (или нескольким танцам), их оценивает сначала жури, а потом телезрители с помощью звонков и смс. Пара, которая наберет наименьшее количество баллов - выбывает.

Как видно из названия - это уже второй такой проект. Ну не суть…

Так вот, с самого начала второго проекта я болел за одну пару - Максима Нелипу и Аню Пелипенко. И сегодня, только что, их выгнали… Причем, ИМХО, незаслуженно. Я просто в шоке, из оставшихся 3-х пар нормальная (т.е. нормально танцующая) только одна - Подкопаева и Костецкий. Женя Кошевой - так себе, сегодня второй танец был нормальный, но… Не более того, ИМХО. А Скрипку надо было еще давно выгнать нахер оттуда, потому что смотреть на его танцы просто невозможно - я вообще не понимаю - почему он так старается - сам себя позорит!

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

Кстати, в первых танцах ситуация была та же, но уже в финале. Остались Могилевская и Зеленский. Жюри сказало, что Могилевская - рулез, а Зеленский все-таки хуже немного, а телезрители решили по другому - Зеленский выиграл. ИМХО, тоже незаслуженно. Вот здесь такая же ситуация, только в первом проекте это было в конце, а тут не дойдя до него.

Я искренне желаю теперь выиграть Подкопаевой, но смотреть это я не буду.

PS. Подробнее об этом проекте можно узнать на их сайте.

written by FX Poster \\ tags:

Apr 13

Еще две лабораторные работы: бинарное дерево поиска и хеш таблица (хеш-таблица еще не документирована).

Исходники и примеры работы с классами - далее по тексту.

Continue reading »

written by FX Poster \\ tags: , , ,

Apr 12

Очередня лабораторная работа по предмету “Архитектура ЕОМ” - работа с файловой системой используя интерпретируемые файлы. Под Windows для таких целей можно использовать либо bat/cmd-файлы, либо WSH. Так как батники мы не учили, а мне больше по душе использовать высокоуровневые языки, для выполнения лабы был выбран JavaScript.

Если кому понадобится - copy.js и readme к нему.

PS. Первая лабораторная была тоже на работу с ФС, только средствами С++.

Добавлено:

Обновил программу и readme.

written by FX Poster \\ tags: ,

Apr 12

После прочтения статьи Дмитрия Штефлюка про скорость работы javascript в разных браузерах я очень удивился - мой любимый Firefox оказался чуть ли не самым медленным браузером (после IE 6.0). Решил проверить самостоятельно на его тестовом примере и заодно сравнить скорость альфа-версии Firefox 3.0 с второй версией. А заодно установил Opera 9.20, которая вот вышла буквально вчера, чтобы удостовериться в ее быстроте.

Что ж - огненный лис меня разочаровал. Мало того, что запускается он в два раза дольше (наверное из-за установленных плагинов), так еще и в тестах показывает меньшие цифры. Тесты, скажем так, не сильно сложные, но средние результаты у оперы все таки поменьше. А еще больше разочаровал Gran Paradiso (официальное название FF3) - как показали тесты - работает он по сравнению с предыдущей версией раза в полтора медленнее.

Обидно за свой любимый браузер. :( Особенно за то, что в следующей версии об оптимизации и ускорении работы не думают совсем. Надежду вселяет только то, что это только альфа-версия…

written by FX Poster \\ tags: , ,

Apr 10

Такая вот у нас третья лаба по “Методам и средствам компьютерных информационных технологий”. :)

Как вы помните декодировщик gif’а уже готов, теперь вот надо это записать в bmp-файл + научиться кодировать в gif-формат (т.е. от кодирования данных пл методу LZW никуда не денешься). У меня вот такой вопрос к читателям - как вы думаете, как это красивее всего сделать? В теории может не только gif будет, вдруг мне что-то в голову взбредет. :) Поэтому напрашивается реализация в следующем виде:

(графический формат)(некоторый несжатый формат)(графический формат)

На практике вижу 2 минуса:

  1. Перекодирование все же будет дольше, чем если его делать напрямую
  2. Перекодируемый файл, а точнее его расжатый аналог будет находится в памяти

С первым смирится можно. А вот со вторым - стоит ли это делать? Не будет ли это слишком накладно в плане расхода памяти?

Вот с этими вопросами я и обращаюсь к вам. :) Жду комментов. И побольше.

written by FX Poster \\ tags: , ,

Apr 09

Как и обещал, сегодня будет рассказ о том, как я сдавал свой ungif.

Началось все просто замечательно - я забыл что и на каком месте находится в хедере gif-файла. В итоге препод меня оставил (сказал - давай, готовься) и ушел к своей дипломнице. Я в это время всё выписал что мне нужно было в тетрадку и… Стал ждать… Причем ждал не я один, кроме меня сдать ему лабы хотело еще как минимум 3 человека. После десяти минут ожидания я все-таки напомнил преподу о себе, на что получил ответ “ну тут диплом… подожди еще 5 минут.”. Сколько эти 5 минут длились я скромно умолчу. Наконец он подсел ко мне и я быстренько ему рассказал, что, как и где в gif-файле находится и показал работоспособность моей проги. Далее я боялся только одного - что он меня спросит, как это всё кодируется. Потому что строить таблицу LZW алгоритма для gif-файла у меня желания не было никакого. Но у него в голове созрел другой коварный план: во время рассказа о структуре gif’ов я ему сказал, что там присутствуют некоторые блоки, которые я игнорировал (т.к. мне они действительно были не нужны). Во время разбора файла я ему показывал, что там должно было находится. И вот он решил потестить мою прогу - удалить кусок файла, который я “пропускал” и посмотреть, как заработает моя программа. После удаления этого куска прога зависла… :( И препод, сказав “трудись дальше”, ушел просматривать лабораторную одногрупника. А я полез в коды… При этом думая - где же я так мог лохануться. В общем, оказалось, что я ему неправильно истолковал один момент при считывании из файла (момент касался считывания таблицы цветов). После удаления из файла куска, который действительно можно было удалить, дело пошло лучше - файл открылся, и к тому же правильно.

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

// ToDo

И прозвучала моя фраза - “ну я это к третьей лабе доделаю, ок?”. После чего в блокноте препода была поставлена дата и моя фамилия, что свидетельствовало о том, что вторая лабораторная по КИТам сдана.

PS. Или это всем влом лабы делать, или это я такой шустрый. Но вторую лабу я тоже сдал первый из потока. :)

written by FX Poster \\ tags: , ,

Apr 06

Сегодня, уже через 3 часа уезжаю к бабушке с дедушкой, которых уже полгода не видел. :(

Так что до понедельника никаких новостей не будет.

PS. Свой декодировщик  gif’а я сегодня все-таки сдал, как и первую лабу - первым из потока. :) Подробности в понедельник.

Ах да, еще одно - всех читателей моего блога поздравляю с Пасхой!

written by FX Poster \\ tags:

Apr 04

Вчера закончилась моя долгая борьба с форматом GIF. Как вы помните, это была вторая лабораторная работа по предмету “Компьютерные Информационные Технологии”.

Первая лабораторная работа (adaptive huffman) у меня делалась примерно 3 дня. На вторую ушло больше 4 недель. Правда две из них лаба спокойно пылилась у меня на винчестере, потому что никаких соображений по поводу того, что именно там было неправильно у меня не было. И вот после моего дня рождения меня пробило - я вьехал, что именно там было не так. Оказалось, что достаточно всего одного блока if-else, чтобы алгоритм стал хотя бы нормально завершаться.

До этого момента работа алгоритма проверялась по схеме пашет-не пашет и коды писались в консольном приложении. Как только он стал “пахать” - все быстро перенеслось на “окошки”. После чего я впал в ступор - алгоритм работал, но выдавал явно не то, что я от него хотел, т.е. на форму выводилось изображение, но не то, которое мне было нужно.

Все это происходило позавчера. Сдать я все хотел на следующий день - потому началась “погоня за ошибками”. В 4 ночи, после жесткого дебага всего алгоритма декодирования изображения в gif-файле (напомню, что в GIFе изображение кодируется с помощью алгоритма LZW), программа приняла относительно рабочий вид - изображение выводилось… Даже понять, что изображено на нем можно было (не на всех файлах, правда)… Но, выводилось оно все-таки немного неправильно. После некоторого момента часть изображения начинала смещаться в непонятном направлении. Обессиленный, я отправился спать, т.к. понять, почему это всё не работает я не мог.

Проснувшись утром, я все-таки решил пойти на практику по КИТам и показать преподу хотя бы то, что есть. Авось у него такие “гении” уже были и он подскажет, где может быть ошибка. Надежды, конечно были маленькие, но… Ну, в общем, им не суждено было сбыться - в универе алгоритм в тот день так и не заработал.

Пришел домой и сел все-таки доделывать этот мой декодировщик gif’а. Началось очень интересное попиксельное сравнение моего изображения с оригиналом. Была найдена точка, с которой начинались глюки. Далее начался дебаг кода. Оказалось, что блок if-else, который мной был добавлен с самого начала работал все-таки немного неправильно. Весь прикол в том, что этот блок к самому декодированию явно не относился. Он относился к чтению данных из файла. Изменил этот блок, запустил программу и… Увидел абсолютно правильное изображение. Ура, товарищи!

Осталось теперь это все сдать преподу. :) Но я уже доволен как слон - 4-х недельные муки закончились!

PS. Я вот сейчас часто ловить себя на мысли - “а если бы я не нашел этот баг…”. Мне страшно даже подумать, что бы со мной было.

Скачать UnGIF

written by FX Poster \\ tags: , ,