to post messages and comments.

Думаете что это какой-то AI противник из онлайн-ММО про космос, высокого уровня раз восклицательный знак стоит?

А вот и не угадали, это я алгоритм сглаживания 3D-моделей пишу, и что-то с этими двумя частично пересекающимися кубами пошло не так.

*dev

смешной мультик про крутое программирование =)
youtube.com
как за 3 секунды запрогать на смолтоке фетчилку фоток с пикасы
тот же самый метод можно юзать для любого другого быстрого запрограммливания чего угодно

В общем собрал ядро, поставил (просьба лишний тред не писать, поставил правильно), уходит в постоянный ребут при загрузке ставилю назад родное, все ок. Вопрос: Как, чем, и вообще можно ли отловить/увидеть лог ядра? Труба Fly IQ451 (но не суть важно в общем-то).

К сожалению проект временно покинул автор некоторых плагинов и Украинской локализации, в связи с чем требуется человек, знающий Украинский язык и желающий хотя бы раз в месяц обновлять локализацию. Желающие приглашаются в [email protected]

как можно решить такую задачу? имеется картинка в canvas, ее надо запостить на сервер и перейти на следующую страницу для обработки (то есть по сути отсабмитить картинку а в ответе вывести ее обратно). Проблема такая: если перевести картинку в datauri, создать форму и передать этот ури в input элементе то при больших размерах картинки post запрос урезается и картинка ломается при попытки вставить то что пришло в src для img. Как вариант можно постить raw данные аяксом но тогда придется лишний раз их где то сохранять и потом снова вызывать переход на страницу для редактирования (ответ то мы получили в тот же самый аякс)

За что я люблю Java.

Обёрточные типы
О, как это прекрасно, что в языке, в котором всё суть объект, примитивные типы объектами не являются, но зато у них есть обёртки! И у вас даже есть способ объявить интовый счётчик двумя способами! А ещё, у этих обёрток есть классные методы parseЧтоТо, которые названы совершенно очевидно Integer.parseInt, Float.parseFloat, чтобы программист не написал случайно Integer.parseFloat!

Нет делегатов
В C# есть такая непонятная Java-разработчикам вещь, как делегаты. Совершенно непонятно, как это в одну строчку вот так: f(x => 2 * x) можно в f передать другую функцию. Ведь гораздо проще написать интерфейс,
реализовать его, создать объект реализации и передать его в f! Чем больше классов — тем более великий вы Java-программист!

Поддержка Юникода в веб
Юникод работает из коробки в Asp.Net, фреймворках под Python, PHP. Это неинтересно! Гораздо лучше каждый раз иметь секс с настройкой длиной в 5 экранов! stackoverflow.com
working-in-java-webapps/138950#138950

Байт-код
Я на всю жизнь запомнил, как однажды (чуть позже это повторилось) я банально в сорсе забыл поставить ; (точку с запятой). На моё удивление, код скомпилировался (.class появился) и при его запуске я увидел (о
чудо) Exception о том, что в таком-то месте нету точки с запятой! Ололо. Байт-код Java, оказывается, знает так много! Ай какое полезное изобретение!

Resource bundles
Java видит бандлы ресурсов только когда ей захочется и улыбнётся. Так веселит, когда три часа ищешь, где же оно должно лежать!

Пустые интерфейсы
А ещё у нас есть классные интерфейсы типа Serializable, которые не содержат методов вообще! Не знаю, кто это придумал, но ведь это гениально не позаимствовать из других языков атрибуты и помечать интерфейсами (аннотации используются редко, не говорите).

Тормоза
Java не тормозит, она лишь вовремя вызывает Garbage Collector.

Внешний вид
Это УБОГО! Java претерпела уже 6 версий, хвалится своей кроссплатформенностью и ни под одну не умеет выглядеть нативно! Шрифты гениальны.

Исключения
try { Я try { очень рад try { оборачивать все } catch (НевозможныеИсключения) { / Do nothing. / } } catch
(ИлиТеКоторыеЯНеХочуОбрабатывать) { logger.warning(e); ) } catch (Блин) { в эти 100500 блоков!!! }

Мегасовместимость
Я написал код, откомпилил его и запускаю на другой машине, где версия JVM чуть-чуть отличается... IncompatibleClassChangeError!!! Я рад!!!

to be continued ...

*? какой штукой можно нарисовать окно со всеми бяками? шоп нормальный конструктор визуальный был. если с компилятором и нормальным редактором кода, то ваще ништяк. и желательно размером до 1гб, шоп на флешку влезло. и да, сиплюсплюс приоритетный языг. под венду.

Прикольно получается, когда недооценивают время на таску... "Паша, как у тебя с этой таской? Час остался." — "За час точно закончу..." ...А ещё через десять минут говорят, что оказывается кое что не учли и рисуют бородатую схему... И вместо планируемого часа и нескольких строчек — ещё не один час секса, реализации нарисованной диаграммы, правки запросов, писанины юнит-тестов... Ух...

Жуец, а есть зактытые хостинги проектов, типа анальноогороженного от всех гитхабчика? Чтобы доступ имел только я ну и может быть еще пара человек (с соответствующими настройками, есессно). Как-то влом для этого VDS-ку покупать.

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

Помнится была инфа в инете, что KDEшники собирались создать на основе kdelibs пиздатую-распиздатую платформу для разработки, в треде на ЛОРе еще было море аналогий с дельфи и тд. Никто не знает, в каком у них там все состоянии?

Стартанул вот такую вещь:
ololo-chat.com
Вкратце — цель была сделать доступные групповые чаты без регистрации. Всё это ещё на стадии разработки, не факт, что выживет, но во всяком случае — хоть что-то доведённое до конца в одиночку. <шутка>Можете пинать ногами.</шутка>

Столкнулся с забавным глюком, проявляющимся в Midory (такой WebKit-based браузер). Поддержки вебсокетов в нём нет, потому для него подгружаю web-socket-js. Есть у меня iframe, в котором юзер вводит текст. Есть кнопочка "Отправить". Отправить можно либо по ентеру, либо по этой кнопочке. Суть одна — где-то глубоко на нижнем уровне вызывается sendObject, которая делает ни что иное, как ws.send(JSON.stringify(object));, ws — object класса WebSocket. И вот что... если юзер нажимает кнопочку, то мессага посылается этим ws.send, если жмёт ентер и даже приходит тот же объект, то ws.send кидает exception 'Error #1063'. /me не может объяснить аномалию...

Итак... заработала обёртка над WebSocket, заработал протокол чата веб-сокетах с прикруткой к фреймворку, киданием друг в друга json'ами. Заработала авторизация, которую было сделать не очень просто... Неприятно, что кода получилось многовато... Хм. Надо прикрутить гуй к тому, что реализовано в протоколе, и потом заняться расширением и/или оптимизацией...

Итак... подвожу итоги дня. Я добился работы вебсокетов и pylons в связке, написав утку на 40-50 строчек, которую скормил как websockets request handler модулю mod_pywebsocket, заюзав два класса из standalone.py, которые адаптируют этот хандлер к интерфейсу mod_pywebsocket, иии... дописыванием одной строчки в код Paste, о чем отписался у разрабов. Хандлеры грузятся, имеют доступ к окружению фреймворка и автоматически грузятся при старте приложения. Коннект по https и wss держится на self-signed сертификате. Теперь это нужно будет допилить и можно двигаться дальше.

На свежую голову удалось подключиться по wss:// к standalone websockets серверу, провожу день в гуглении, дабы прикрутить поддержку вебсокетов к проекту на pylons... mod_pywebsocket предназначен для апача, в standalone.py сделали хитрую фишку — подняли руками CGI-сервер и симитировали запросы расширения mod_python. Непосредственный обмен происходит через объект запроса подкласса BaseHTTPRequestHandler, который есть в жизненном цикле пайлонов... Если бы до него добраться, то, думаю, смогу прикрутить уже и вебсокеты. Ой, скока написал...

Пользуясь своей когда-то написанной статьёй на хабре и методом научного тыка, написал небольшой обработчик для pywebsocket, работающий как standalone без апача. Обработчик умеет играть роль простейшего чата, клиентов имитировал из консоли хрома, ни на какую законченность, конечно, не претендует. Из нерешённых проблем — не могу подключиться по безопасному подключению, standalone.py кидает странную вещь: "[WARNING] root: localhost — code 400, message Bad request syntax ('\x16\x03\x01\x00\xa3\x01\x00\x00\x9f\x03\x01LP\xd4\x14\x95?\xf0\x99]\xbe?\x1a1\x1d\xe5F-g\[email protected]\xdf\x12\x1fJ\xd0g\xe8\xb1\xc7\x83q\x98\x00\x00H\xc0')
". Что сие значит и как подкрутить ещё всё это к сконфигурированному pylons-проекту гляну утром. А пока — мне спокойной ночи...