Очень давно хотелось попробовать написать iframe приложение для "ВКонтакте" - всё руки не доходили. А тут недавно добавили API для геолокации - теперь можно ставить в статус отметку о местоположении. Я просто не могу упустить шанса что-нибудь попробовать написать, тем более, что на момент написания таких приложений я не нашёл.
Event: NevaCamp #2
28 - 30 мая 2010 года в Санкт-Петербурге в стенах выставочного центра у м. Кировский завод состоялась во второй раз не_конференция NevaCamp
Это конференция такого формата(barcamp), когда любой может предложить свою тему рассказа или обсуждения по ходу мероприятия. Всё нацеленно на то - чтоб быть в постоянном контакте с людьми. Создавать и участвовать в дискуссиях.
Ивент проходил в 3 дня:
- 28 мая - StartFormers. Выезд на природу(заброшенная военная база в Сертолово), активный отдых.
- 29 мая - будущее интернета: версия Opera, IdeaSpace, AR, Opera: HTML5, CSS3, SVG.
- 30 мая - технологии MS, директора стратегического развития МТС, Wikinomics, openNotebook, Ingria
/ перечислил только то, что сам захватил и запомнил /
Linux: простой web сервер на asm
Спятил, да? А ещё если напишу, что планировал сделать многопоточность и нечто CGI-интерфейса? Вполне может быть, в рамках just for fun
Но остановился на том, чтоб отдавать статические страницы - время не дало допилить, да и энтузиазм уменьшился. Идея мне пришла из за курсовой работа по "Системному программированию" В СПбГУ ИТМО. Всех заставили писать резидент под DOS, на 8086 архитектуре. Не торт.
Основные фитчи, которые я успел реализовать:
- Форк, при необходимости
- Чтение конфига(ini-like)
- Создание слушающего сокета, установка параметров
- Парсер заголовков и запроса
- Обработчик запросов статического контента(не в /cgi-bin/)
- В некоторых местах совершенно корявую работу со стеком
Реализовано на NetwideASM, c частичным использованием функций glibc. Работать сервер будет только на 32-битном процессоре i686+, из за того, что дёргается прерывание ядра Linux - а номера функций отличаются в зависимости от процессора.
Startup Crash Test Piter #5
Снова состоялось ежемесячное мероприятие для стартапов - крэш тест. И даже не в Ингрии, а в гостинице "Ольгино"(за городом, примерно между м. Старая деревня и г. Сестрорецк), причём в рамках СПИК(Санкт-Петербургская Интернет - Конференция). На SCT отвели всего полтора часа, из за этого, видимо не было докладов - только тест стартапов
Ивент прошёл 22 мая 2010, в субботу, в среднем зале отеля
j2me: пример с падающим мячиком
Хочу поделиться одним своим примером приложения для мобильной java. Основная задача - понять как пишутся такие приложения под телефоны. Вроде задачу выполнил :). В программке можно передвигать мяч, падающий в "гравитационном" поле по законам физики(надеюсь), задавать его скорость и направление движения, как водя по сенсорному экрану телефона(если есть) так и кнопками
В эмуляторе выглядит всё не так красиво, как в живую, поэтому продемонстрирую на телефоне(SE P1i)
Понравилось? Для начала работы с j2me - самое то.
Используется MIDP-2.0, CLDC-1.1.
Kohana: AJAX контроллер с ловлей ошибок
Продолжая тему написания custom контроллеров не для html вывода предлагаю мой вариант обработчика AJAX-запросов. Напомню, в предыдущий раз я описывал контроллер для консольного демона
Помимо удобной для меня выдаче данных(я предпочитаю в 99% случаев выдвать JSON) есть ещё ряд фитч:
- Код контроллера многократно используется наследниками класса, которые при необходимости могут перегрузить необходимые методы. В них написать простой ответ клиенту с помощью не сложных функций можно в пару строк - не нужно отвлекаться на создание json ответа, а писать логику.
- Дефолтные ответы об успешном выполнении запроса, предупреждения или ошибки
- Ловятся ошибки фреймворка и формируется адекватный отчёт об ошибке, а не километровый HTML от Kohana - просто идеально при использовании fireBug или аналогичных средств отладки.
- Если вызываемый метод не реализован в наследнике, то будет выдан user-friendly ответ(опять же если использовать регламент возвращаемых структур json)
J2ME: Touch screen in WTK emulator
If you use WTK 3.0 or higher touch screen support already enabled.
To enable pointer in emulator in WTK 2.5.x you should edit properties file, which located at WTK_HOME/wtklib/devices/PHONE_MODEL/PHONE_MODEL.properties and edit line with "touch_screen=false" in "touch_screen=true".
Linux: count of lines and symbols in file
Цель: подсчитать количество строк и/или символов в файле.
Для этого нужно воспользоваться утилитой wc. Для подсчёта количества строк нужно воспользоваться флажком -l (lines), для символов: -c (chars)
Java: создание Jar руками
Бывают и такие ситуации, когда требуется скомпилить небольшое количество файлов в jar, например после небольшой правки кода, в консоли, и без IDE.
Всё довольно просто, достаточно разбить по шагам.
- Скормить javac все исходники, прямо одной командой кучу файлов
- Необходимо создать текстовый файл manifest в корне проекта(на уровне с src), в котором указать класс, который будет загружен(такого вида строчка Main-Class: practice.Main). Если не указать этот класс, то появится ошибка, навроде Failed to load Main-Class manifest attribute from
- Запаковать все с помощью jar
- По необходимости запустить командой java -jar file.jar
Startup Crash Test Piter #4

30 апреля, чуть меньше чем через месяц после третьего SCTPiter прошёл 4ый, как обычно в Ингрии - и снова на Обуховской обороны(ст. м. Елизаровская). Провели несколько раньше из за майских праздников - первые раз ивент проводился в пятницу, а не в субботу. Не обычное время проведения сильно отразилось на полноте аудитории - примерно половина мест(из 70) была свободна.
Тема для дискуссии - дополненная реальность (augmented reality), я считаю это как нельзя лучше вяжется с предыдущей - location-based services - логичное продолжение