OpenJDK vs. Oracle JDK
Апр. 3, 2012 | 08:17 pm
Собрались переводить сервер аллодов на Java 7 и возник вопрос о том что выбрать - openjdk или oracle jdk.
Во-первых, для openjdk oracle не предоставляет коммерческую поддержку (правда мы ей и не пользуемся).
Во-вторых, лицензия на oracle jdk не позволяет еë распространять (в нашем случае - международным операторам).
В-третьих, openjdk не распространяет бинарники, предлагая использовать репозиторий вашего любимого дистрибутива. Но поскольку в винде отсутствует репозиторий, бинарников под винду нет нигде, зато есть совершенно безумные инструкции по сборке, с использованием бубна, принесением в жертву девственницы и воскуриванием благовоний.
Такие дела.
Во-первых, для openjdk oracle не предоставляет коммерческую поддержку (правда мы ей и не пользуемся).
Во-вторых, лицензия на oracle jdk не позволяет еë распространять (в нашем случае - международным операторам).
В-третьих, openjdk не распространяет бинарники, предлагая использовать репозиторий вашего любимого дистрибутива. Но поскольку в винде отсутствует репозиторий, бинарников под винду нет нигде, зато есть совершенно безумные инструкции по сборке, с использованием бубна, принесением в жертву девственницы и воскуриванием благовоний.
Такие дела.
Ссылка | Оставить комментарий | В избранное | Поделиться
(без темы)
Мар. 21, 2012 | 10:00 am
Реакции игроков на новые фичи бывают двух видов:
Если фича платная: ну вот, опять, мэйлру отжимает бабло. Баланса в игре нет, кто больше задонатил, тот и нагибает.
Если фича бесплатная: сраны аллоды. Я задонатил на XXX, а теперь всем нищебродам раздали YYY. Кто теперь компенсирует мои деньги за XXX?
Если фича платная: ну вот, опять, мэйлру отжимает бабло. Баланса в игре нет, кто больше задонатил, тот и нагибает.
Если фича бесплатная: сраны аллоды. Я задонатил на XXX, а теперь всем нищебродам раздали YYY. Кто теперь компенсирует мои деньги за XXX?
Ссылка | Оставить комментарий | В избранное | Поделиться
(без темы)
Мар. 1, 2012 | 09:13 pm
Отличное объяснение теоремы Байеса: http://commonsenseatheism.com/?p=13156
Ссылка | Оставить комментарий {1} | В избранное | Поделиться
Бытовое
Фев. 15, 2012 | 09:04 am
С утра дома нет воды. Ответ из ЖЭКа: "В подвале прорвало кран. Если новый кран подойдëт, починим в течение часа."
Ссылка | Оставить комментарий | В избранное | Поделиться
25
Фев. 3, 2012 | 11:40 am
Time flies by...
Ссылка | Оставить комментарий {4} | В избранное | Поделиться
PyQt4
Фев. 2, 2012 | 11:39 pm
Понадобилось сделать простую гуëвину, конвертирующую видео. Выбор пал на Qt (ибо KDE) и Python (ибо разрабатывалось на N900 и жрать батарейку на компиляцию плюсов не хотелось), итого PyQt4. Предыдущего опыта с Qt не было.
Сразу скажу что местами оно не доделано, а именно:
Конструкция целиком: http://codepad.org/yElA0cFT
А теперь список граблей:
Чтоб им там икалось неделю. Добрый вечер.
Сразу скажу что местами оно не доделано, а именно:
- Нет удаления файла в случае отмены.
- Нет сообщений об ошибках
- Создается лишний поток (Worker), без которого можно было бы обойтись, переведя работу с QProcess на сигналы.
Конструкция целиком: http://codepad.org/yElA0cFT
А теперь список граблей:
- Нельзя инлайнить строчки 184 и 185 ибо придет питоновый сборщик мусора и нахер сколлектит окно.
- На строчке 156 из QProcess нельзя делать readLine без предварительного waitForReadyRead (хотя в документации об этом ни слова), он просто будет возвращать пустую строку.
- На строчке 120 нельзя не сохранить ссылку на worker, ибо иначе опять же сборщик мусора, сегфолты, кровь и кишки.
- На строчке 106 нельзя коннектить worker.cancel ибо обработка событий worker'ом производится в его потоке, а я там использую блокирующие операции.
- С другой стороны, если сказать worker'у обрабатывать события в главном потоке (стерев moveToThread), то тогда он не сможет создавать дочерние объекты, ибо дочерние объекты обязаны быть подсоединены к тому же потоку что и родитель.
- В добавок, нельзя сделать dialog родителем worker'а ибо они прибиндены к разным потокам
- QString, торчащий изо всех мест, приходится в явном виде конвертировать с помощью unicode(), ибо в нем нет половины питоньих строковых методов из-за чего стандартные функции из питоньей библиотеки его не переваривают
- Layout'ы имеют совершенно уродский api, заставляющий держать в скоупе функции две переменные - сам виджет и его layout
- Внезапно, QWidget() - это окно.
- В QStandardModel не создается событие dataChanged при добавлении/удалении строк. На строчках 44-45 Можно только отдельно подписаться на rowsInserted и rowsRemoved.
- Переделывать worker чтобы события от порожденного процесса обрабатывались в главном потоке - ад и израиль ибо из документации совершенно непонятно в каком порядке и какие события из него будут происходить.
Чтоб им там икалось неделю. Добрый вечер.
Ссылка | Оставить комментарий {1} | В избранное | Поделиться
SOFD (spam of the day)
Янв. 25, 2012 | 09:20 pm
Выделение жирным моë:
Здравствуйте :) Приглашаем вас почитать статьи по психологии у нас на форуме... Депрессивность, суицид, тоска, шизофрения – «родные» слова звукового вектора. В мире властвует бездуховность, а попытки увидеть знаки надвигающегося «конца света» значительно увеличились. Непроходящая тоска по чему-то бОльшему и безумное желание перемен . Застой . Таким образом ощущают современный окружающий мир многие люди со звуковым психотипом... При желании ближе познакомиться с новым направлением в психологии вы можете послушать бесплатно лекции через ИНТЕРНЕТ, зарегистрировавшись у нас на сайте . Будем рады вашему участию :)
Ссылка | Оставить комментарий | В избранное | Поделиться
(без темы)
Янв. 11, 2012 | 09:46 pm
Звуковик с работы насколько суров, что меняет настройки эквалайзера в зависимости от того, что звучит по радио в его смартфоне.
Ссылка | Оставить комментарий | В избранное | Поделиться
(без темы)
Дек. 27, 2011 | 10:44 am
Наткнулся случайно на интересное: The Development of the C Language
