Ugolnik's Family blog

Различные заметки обо всем.

Заказал себе на день рождения оригинальный венгерский куб 3×3x3 от Rubik Studio. Если повезет, то недели через две он будет у меня. Жаль, конечно, что посылка не поспеет к моему дню рождения, но я все равно доволен.

UPD:
После нескольких сотен сборок куба, центральная наклейка с логотипом стала облазить. Оказалось, что это просто ламинированная бумага.
Пришлось сильно ослабить винты (так, что иногда выскакивают кубики), но куб все еще крутится туго.
Торцы пружин были подпиленными, но не отшлифованными. Вместо саморезов стоят винты с мелкой резьбой. Не понимаю, какой идиот придумал вкручивать винты с мелкой резьбой в пластмассу? Качество винтов плохое.

Вывод:
Этот куб не для speedcubing’а – только ради коллекции. Его красная цена 3-5 баксов.

На LORе добрый человек sdio дал ссылку на аккумулятор, который в том числе подходит и для моего лэптопа. Продавец называет этот аккумулятор Toshiba 3399 Compatible 4400mAh Replacement Battery for Toshiba. Кто производитель я не знаю. Стоимость аккумулятора $43 USD, доставка по всему миру бесплатна (так обещают). Ёмкость аккумулятора стандартная – 4400 mAh.
Пишу эту заметку в основном для себя, если все же не решусь на покупку нового лэптопа.

Master Pyramorphinx Flat Недавно вышла новая модификация головоломки Master Pyramorphinx с плоскими гранями. НО лично мне больше нравится оригинальный Master Pyramorphinx – эдакий обмылок.

Года два назад я писал про физический движок Chipmunk, который является наследником физического движка Box2D. Движок написан на C++ Erin Catto, использовался MS Visual C++ под Windows. Собирается (и, вероятно, работает) и под Linux, и под Mac OS X. Лицензия MIT.

Недавно вышла версия 2.1.2 движка.

Box2D v2.0.2 Руководство – перевод на русский язык оригинальной документации.

Для тех, кто жаждет разработки под PSP без ощутимых вложений зеленых бумажек есть Minimalist PSPSDK. А для особых “ценителей” есть и эмулятор самого устройства – jpcsp.
Что SDK, что эмулятор работают и под Linux в том числе.

Подумалось, может потратить пару выходных на портирование какой-нибудь своей игры?..

Не предполагал, что Cubic Player все еще жив. Ведь времена DOS’а давно прошли. Ан нет, есть версия и для Windows, и для UNIX-подобных систем. По скришотам на сайте это все тот же Cubic Player.

UNIX-версия Open Cubic Player – все еще имеет баги и нереализованные возможности. На сайте шаги по сборке плеера под разные дистрибутивы.

Форматы, которые поддерживает Open Cubic Player:

* 669 – 669 Composer module;
* AMS – Velvet Studio module;
* BPA – Death Ralley archive;
* CDA – compact disk CD audio track;
* DMF – X Tracker module;
* IT – Impulse Tracker module;
* MDL – Digi Tracker module;
* MID – standard midi file;
* MOD – amiga ProTracker 1.1b module and variants;
* MP3 – MPEG audio format level 1-3;
* MTM – Multi Tracker module;
* MXM – Mxmplay module;
* OKT – Oktalyzer module;
* PLS – playlist, works also with M3U and PLT playlist files;
* PTM – Poly Tracker module;
* S3M – Sream Tracker 3 module;
* SID – PSID sid file;
* UMX – Unreal module file;
* ULT – Ultra Tracker module;
* WAV – Microsoft RIFF wave file;
* WOW – WOW Tracker module;
* XM – Fast Tracker 2 module;

Сегодня ночью сделал поддержку формата PSD (растровый формат Adobe Photoshop) в Simple Viewer GL. На данный момент реализовал не все возможности, но тем не менее я доволен ;)
Реализовывал формат PSD по спецификации Adobe Photoshop File Format Summary. Поддержку слоев и цветовых режимов (Bitmap (monochrome), Gray-scale, Indexed color (palette color), Multichannel color, Duotone (halftone), Lab color) пока не реализовал. Но у меня нет ни Adobe Photoshop, ни файлов в этих форматах. Попрошу на работе сделать примеры таких файлов, тогда займусь доработкой.

Не знал, что максимальный размер изображения в PSD формате всего 30000 х 30000 пикселей.

Simple Viewer GL Сегодня ночью взялся за доработку вьювера изображений – Simple Viewer. Давно хотелось отказаться от использования Gfl SDK. Эта библиотека является частью проекта XnView. Библиотека хорошая и удобная, хорошо документированная. Поддерживает более 100 графических форматов. Но она проприетарная.
Перейти от непосредственной работы с Xlib к OpenGL, что повысило бы скорость работы вьювера за счет аппаратного ускорения. Так же добавил возможность скроллинга и изменения масштаба с помощью мышки.
На данный момент использую Imlib2 для загрузки и декодирования изображений. Но т.к. Imlib2 не смог загрузить тестовый jpeg, созданный в GIMP, то мой выбор остановился на libjpeg. Для анимированных gif использую giflib.

Итак, что получилось в итоге, плюсы:

  • создание списка файлов и поиск позиции, с которой начался просмотр;
  • отказ от Gfl SDK в пользу Imlib2, libjpeg, giflib, libpng;
  • поддержка JPEG через libjpeg;
  • поддержка PNG через libjpng;
  • поддержка GIF через giflib;
  • поддержка PSD (еще не все фичи формата реализовал);
  • использование OpenGL;
  • определение максимального размера текстуры;
  • разбиение больших изображений по нескольким текстурам;
  • быстрое скролирование изображения с помощью клавиатуры или мышки;
  • произвольное масштабирование изображения с помощью клавиатуры или колеса мышки;
  • корректное автоматическое масштабирование изображений, не вмещающихся в окно вьювера;
  • отображение прогресса загрузки больших изображений;

 
К сожалению есть и минусы:

  • библиотека Imlib2 поддерживает существенно меньшее кол-во форматов (архитектура вьювера позволяет достаточно просто добавлять поддержку новые форматов);
  • анимированные GIF все еще не поддерживаются (планирую сделать);
  • нет поддержки многостраничных изображений (планирую сделать);
  • нет никакой поддержки PSD; есть, сегодня ночью написал первую реализацию;
  • нельзя посмотреть EXIF (планирую сделать);
  • нет возможности переназначить “горячие” клавиши (планирую сделать);
  • нет информации о количестве бит на канал изображения (это ограничение Imlib2);
  • нет возможности повернуть изображение (планирую сделать);
  • у меня есть изображение в формате jpeg (созданное для теста в GIMP), которое Imlib2 не может загрузить, хотя libjpeg спокойно его грузил; перешел на libjpeg – теперь проблем с JPEG нет;

 


В данный момент исходные коды Simple Viewer GL доступны на SourceForge.net в SVN. Забрать последнюю версию исходных кодов можно следующей командой:

svn co https://simpleviewer.svn.sourceforge.net/svnroot/simpleviewer simpleviewer

Предыдущая версия Simple Viewer.

  • Жизнь несправедлива, привыкай к этому.
  • Миру наплевать на твою самооценку. Люди ждут что ты сначала что-то сделаешь, а уже потом будешь гордиться этим.
  • Ты не будешь зарабатывать $40,000 сразу после школы. Чтобы стать вице-президентом и заиметь телефон в машине придется попотеть.
  • Если ты думаешь твой учитель слишком требователен, посмотрим что ты скажешь о своем боссе.
  • Переворачивать бургеры в McDonald не ниже твоего достоинства. У твоих дедов было другое слово для такой работы: шанс.
  • Если ты облажался, в этом нет вины твоих родителей. Если ты ошибся, не ной, а учись на ошибках.
  • До того как ты родился, твои родители не были такими нудными как сейчас. Они стали такими оплачивая твое образование, стирая твои штаны и слушая твои россказни о том, какой ты клевый чувак. Поэтому перед тем как спасать джунгли от врагов в виде старшего поколения, приберись в своей комнате.
  • Возможно в твоей школе учеников не делили на победителей и лузеров. В некоторых школах тебе дадут возможность переделать домашку до тех пор, пока ты не сделаешь все правильно. Это не имеет ни малейшего отношения к тому что происходит в реальной жизни.
  • Жизнь не делится на семестры. В ней не бывает летних каникул и очень немногие работодатели заинтересованы помочь тебе найти себя. Тебе придется заниматься этим в свободное от работы время.
  • Картинка в телевизоре не имеет отношения жизни. В жизни люди идут на работу, а не просиживают штаны в кофейнях.
  • Дружи с ботанами. Не исключено, что в итоге один из них станет твоим боссом.

Украдено с LOR.

UPD:
14 правил Чарльза Сайкса, более известные как 11 Правил Билла Гейтса.

Вот так “работает у меня Chromium. Сборка бинарная. Некоторые сайты он отображает, большинство нет.
В динамике это выглядит так – вводим адрес, грузится страница, рендерится, через секунду-пол она перекрывается этой фигней. Если нажать Ctrl + T (открыть новую закладку), то сразу получаем эту страницу.
Раньше Хром “радовал” меня падениями при попытке открыть локально картинку в формате JPEG. В консоль и лог ничего не писал. Просто тихо падал. С другими форматами у него проблем я не замечал.
За приличное время использования Chromium (тогда он еще работал, хотя периодически и доставал сообщениями о недоступности страницы) я не нашел ничего сильно выдающегося относительно других браузеров.

Так что теперь я снова пересел на “тормозной” Firefox + Vimperator + NoScript + Flashblock.