Home

Advertisement

Customize

Извините, на вашем счете ноль доллар, досвидания

Oct. 29th, 2009 | 10:02 pm

Originally published at majus.ru. You can comment here or there.

Интересный глюк приключился с SIP от корбины. Мило посылает по грибы при поптыке позвонить, хотя деньги на счете есть. Причем посыл не может не радовать.
Ноль доллар, досвидания (mp3)

Link | Leave a comment | Add to Memories | Tell a Friend

Некорректная работа java.net.CookieManager

Aug. 16th, 2009 | 11:47 pm

Originally published at majus.ru. You can comment here or there.

При работе с классом java.net.CookieManager иногда возникают странные баги. Например, следующий фрагмента кода будет работать с указанным URL, но с некоторыми другими не будет:

String urlString = "http://java.sun.com";
CookieManager manager = new CookieManager();
CookieHandler.setDefault(manager);

URL url = new URL(urlString);
URLConnection connection = url.openConnection();
// force cookie processing
Object content = connection.getContent();

CookieStore cookieJar = manager.getCookieStore();
List HttpCookie> cookies = cookieJar.getCookies();
for (HttpCookie cookie : cookies) {
  System.out.println(cookie);
}

Под катом подробнее.

Read the rest of this entry »

Link | Leave a comment | Add to Memories | Tell a Friend

Список всех Jabber конференций

Aug. 8th, 2009 | 12:34 am

Originally published at majus.ru. You can comment here or there.

В процессе изучения Groovy получился приятный сервис – Список всех Jabber конференций. Класс Analyzer, написанный на Groovy анализирует XML, полученный с jabberes.org со списком серверов, и опрашивает каждый из них, получая список конференций. На выходе получается XML файл, который можно просмотреть здесь.

Интересующиеся могут ознакомиться с исходным кодом анализатора. Использовать класс очень просто:

def cache = new File("conferences.xml")
def writer = new FileWriter(cache)
new Analyzer("jabber.ru", "lena1988", "pass").analyze(writer);
writer.flush()
writer.close()

Link | Leave a comment | Add to Memories | Tell a Friend

Контакт – обновление

Aug. 1st, 2009 | 06:27 pm

Originally published at majus.ru. You can comment here or there.

Тип: основное

  • Восстановление пароля
  • Подсказки для новых пользователей
  • Много новых шрифтов для генерации изображения
  • Изменилась палитра для выбора цвета шрифта и фона
  • В качестве логина теперь принимается только адрес E-mail, который будет первым контактом в списке

Всем пользователям, зарегистрировавшимся ранее, следует пройти процедуру регистрации снова, так как теперь в качестве логина может быть только E-mail адрес.

Как и ранее, страница входа в систему доступна по адресу http://majus.name/contact/login.jsp

Если у вас есть предложения по добавлению каких-то шрифтов в список генерации изображения, свяжитесь со мной или добавьте комментарий здесь.

Желаю всего хорошего.

Link | Leave a comment | Add to Memories | Tell a Friend

Настройка ACORP W422G для Корбины

Aug. 1st, 2009 | 06:18 pm

Originally published at majus.ru. You can comment here or there.

Потратив две недели на настройку модема, обсуждения на форумах Acorp, удалось наконец настроить этот модем для работы с провайдером Корбина.

Мне требовалось поднять VPN соединение Корбина на самом модеме и раздать интернет двум стационарным машинам по Ethernet и КПК по WiFi.

Скриншоты настроек под катом.

Read the rest of this entry »

Link | Leave a comment | Add to Memories | Tell a Friend

Тернарный оператор

Jun. 25th, 2009 | 02:30 am

Originally published at majus.ru. You can comment here or there.

Что выведет этот код?

class Main {
   
    public static void main(String[] args) {
        System.out.println(get(1));
        System.out.println(get(null));       
    }
   
    public static Integer get(Integer in) {
        return true ? in : 0;
    }
}

Link | Leave a comment | Add to Memories | Tell a Friend

Баг во Flash CS4

May. 31st, 2009 | 03:30 am

Originally published at majus.ru. You can comment here or there.

При реализации в AS3 подобия иерархии классов коллекций Java натолкнулся на интересную проблему:

// Set.as
package ru.majus.util
{  
    public interface Set
    {
        function put(o:*):Boolean;     
        function contains(o:*):Boolean;    
        function remove(o:*):void;     
        function size():uint;      
        function isEmpty():Boolean;    
        function clear():void;
    }  
}
// LinkedSet.as
package ru.majus.util
{
    public class LinkedSet implements Set
    {
        // ...

        private var _head:Item;
        private var _tail:Item;
    }  
}

class Item {
    // ...
}

При попытке компиляции выдавало веер ошибок (по одной на каждый реализованный метод):

1044: Interface method size in namespace ru.majus.util:Set not implemented by class ru.majus.util:LinkedSet.

Оказалось, проблема глобальная. Это баг в Flash CS4.
Решается переносом класса Item в отдельный файл. На форумах различных библиотек на AS3 уже появились сообщения о невозможности их использования на CS4.

Link | Leave a comment | Add to Memories | Tell a Friend

Контакт - обновление

May. 4th, 2009 | 11:22 am

Originally published at majus.ru. You can comment here or there.

Контакт

Тип: основное

  • Палитра для выбора цвета шрифта и фона
  • Возможность сглаживания шрифта
  • Возможность выбора конкретного размера шрифта от 10 до 32 пунктов
  • Проверка формата введенного контакта посредством ajax
  • Установка заголовка Content-Type для HTTP-ответа генератора изображения
  • Сброс кэша изображений для пользователя при внесении изменений в список контактов

Как и ранее, страница входа в систему доступна по адресу http://majus.name/contact/login.jsp

Желаю всего хорошего.

Link | Leave a comment | Add to Memories | Tell a Friend

Начало

Apr. 30th, 2009 | 11:08 pm

Originally published at majus.ru. You can comment here or there.

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

Сервис прост в использовании:

  1. Укажите свои контактные данные.
  2. Сохраните у себя ссылку на ваши контакты.
  3. Вставляйте ссылку в ваши сообщения на форуме так, как будто вы вставляете ссылку на изображние.
  4. Ваши контакты будут отображаться на форуме каждому посетителю.

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

  1. Измените ваши контактные данные.
  2. Ваши данные обновлены везде, где вы их использовали.

Еще одно немаловажное преимущество – защита от спама. Ваши контакты отображаются где бы то ни было в виде изображения, поэтому спам-боты не могут получить ваш E-mail адрес или номер ICQ. Как следствие – свободное от спама средство общения.

Пример того, как могут выглядеть ваши контакты:




My contacts
My contacts

Для начала работы с сервисом необходимо зарегистрироваться. Процедура регистрации чрезвычайно проста и не займет много времени.

Link | Leave a comment | Add to Memories | Tell a Friend

Java и $

Apr. 21st, 2009 | 08:47 pm

Originally published at majus.ru. You can comment here or there.

Мало кто знает, что в Java в идентификаторах допускается использование символа $ наряду с латинскими буквами, цифрами и сиволом подчеркивания. Потому следующий код синтаксически верный:

static int total$(int bank$[]) {
    int total$ = 0;
    for (int $ : bank$)
        total$ += $;
    return total$;
}

Интересующиеся могут просмотреть Java Language Specification, Third Edition (§3.8).

Знак доллара используется компилятором Java в именах внутренних и анонимных классов. Использовать этот знак в коде не рекоммендуется ни спецификацией ни мною.

Tags:

Link | Leave a comment | Add to Memories | Tell a Friend

Что выведет этот код?

Feb. 3rd, 2009 | 03:58 am

Originally published at majus.ru. You can comment here or there.

Простой код на знание порядка выбора метода из перегруженных вариантов.

public class VarArgs {
   
    public static void main(String[] args) {
        foo(0, 1);
        foo((int) 0, 1);
        foo((Integer) 0, 1);
    }

    public static void foo(int a, int b) {
        System.out.print("A");
    }

    public static void foo(int... args) {
        System.out.print("B");
    }

    public static void foo(Integer... args) {
        System.out.print("C");
    }

}
Tags:

Link | Leave a comment | Add to Memories | Tell a Friend

Форма регистрации на сайте Philips

Feb. 1st, 2009 | 06:02 am

Originally published at majus.ru. You can comment here or there.

Порадовал официальный сайт Philips. В форму регистрации встроен скрипт проверки ввода для поля “повторите ваш e-mail”. Если данные вставлены в это поле из буфера обмена, а не введены вручную, то поле очищается и выдается предупреждение.

Скрипт смотреть не стал. По всей видимости, следят за количеством символов, на которое увеличилось содержимое поля с момента последнего события onchange.

Link | Leave a comment | Add to Memories | Tell a Friend

Цикл по элементам java.util.Map

Jan. 23rd, 2009 | 12:55 am

Originally published at majus.ru. You can comment here or there.

Бывают случаи, когда нужно пройтись по всем парам ключ=значение в коллекции java.util.Map. Простая реализация этого:

Map<String, String> map = getMap();
for (String key : map.keySet()) {
    String value = map.get(key);
    // ...
}

Существует и другой способ, когда цикл проходит по парам, а не по ключам:

Map<String, String> map = getMap();
for (Map.Entry<String, String> entry: map.entrySet()) {
    String key= entry.getKey();
    String value = entry.getValue();
    // ...
}

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

Среднее время теста №1: 19568284 наносекунд
Среднее время теста №2: 17059243 наносекунд
Для объектов Map<String, String>, состоящих из 100000 элементов, где ключи являются случайной строкой длиной от 1 до 30 латинских символов. Среднее время выполнения полной итерации выбиралось по результатам 1000 тестов.

Tags:

Link | Leave a comment | Add to Memories | Tell a Friend

Разработчики Xenus снова облажались

Oct. 25th, 2008 | 10:06 pm

Originally published at majus.ru. You can comment here or there.

Впервые это произошло при выпуске игры “Xenus: Точка Кипения” в середине 2005 года. Игра, в основе которой лежала очень хорошая задумка, была создана из рук вон плохо. Сейчас конец 2008 года. Вчера, 24 октября, поступила в продажу игра “Xenus 2: Белое Золото”. Разработчики снова облажались.

Read the rest of this entry »

Link | Leave a comment | Add to Memories | Tell a Friend

The Unfinished Swan

Oct. 2nd, 2008 | 12:23 am

Originally published at majus.ru. You can comment here or there.


The Unfinished Swan - Tech Demo 9/2008 from Ian Dallas on Vimeo.

The Unfinished Swan (вольный перевод “Незавершенный лебедь”) это сюрреалистичная игра-лабиринт, начинающаяся в полностью белом мире. К счастью, вы можете разбрызгать краску вокруг, чтобы найти путь из лабиринта.
Игра все еще находится на стадии разработки, и пока не планируется заявлять о релизе. “Наша задача получить почти завершенную версию к Марту 2009 года,” - пишут разработчики. Игра создана при помощи XNA.

Официальный сайт: http://iandallas.com/games/swan/

Link | Leave a comment | Add to Memories | Tell a Friend

Denwer и EVEMon

Sep. 21st, 2008 | 09:44 pm

Originally published at majus.ru. You can comment here or there.

На днях возникли проблемы с использованием Денвера. После запуска сервиса не выдавал никакого контента даже localhost. Как оказалось, через несколько секунд после запуска падал Apache HTTP Server.
Путем несложных манипуляций с контроллером типа “мышь” было выяснено, что Apache конфликтует с EVEMon. Это такая утилитка для игроков EVE-Online, очень полезная.
На форумах Денвера уже появлялись люди с подобной проблемой, правда в их случае виновниками падения Apache являлись Skype и Nod32. Теперь можно добавить в список несовместимых с Денвером программ и EVEMon.
Сейчас решаю проблему “влоб” - выгружая EVEMon перед запуском Денвера. В будущем, надеюсь, найдется решение поэлегантнее.

UPD: Проблема решается просто. EVEMon при запуске начинает слушать 80 порт. Это функционирует IGB (in-game browser) Mini-server. Для разрешения конфликта с Apache HTTP Server достаточно изменить порт на любой другой (например, 8080) или вовсе отключить эту функциональность. Найти эти настройки можно в главном меню програмы, выбрав Tools->Options, и в появившемся окне на закладке Network в разделе IGB Mini-server поменять значение порта или отключить опцию “Run IGB Mini-server on http://localhost/”.

В истории учавствовали:
1) Денвер 3 от 2008-01-13 - джентельменский набор разработчика. http://denwer.ru
2) Apache HTTP Server 2.2.4 в составе Денвера.
3) EveMon 1.2.5.1170. http://evemon.battleclinic.com
4) WindowsXP Pro SP2.

Link | Leave a comment | Add to Memories | Tell a Friend

Футбол по-русски

Sep. 7th, 2008 | 09:29 am

Originally published at majus.ru. You can comment here or there.

Закончил работу над игрой на Flash. Незатейливая игрушка про сборную России по футболу. На поле тренируются 6 наших футболистов и постоянно норовят забросить тренировку и раслабиться. Задача игрока как можно быстрее заставить футболиста вернуться к тренировке (кликом мыши). Для “критичных” ситуаций предусмотрены 3 супер-удара заставляющих всех футболистов на поле возобновить тренировку: показать футболистам деньги, позвать на поле хорвата с наставлениями или пронзительно свистнуть в свисток. Игра написана на ActionScript 2. Позже я изучил и использовал AS 3.0 и вспоминаю AS 2 как страшный сон.

С разработкой связана интересная история. Первоначально идея возникла до начала чемпионата Европы. Поэтому слоганом к игре была фраза: “Натренируй наших к чемпионату”. По срокам выход игры был назначен на конец чемпионата, поэтому слоган поменялся на: “В этот раз не повезло. Натренируй наших к следующей игре!”. Тогда, по чести, только заядлые фанаты верили в победу нашей сборной. После того, как подопечные Гуса Хиддинга с триумфом вышли в полуфинал, слоган принял свой конечный облик: “Нашим не хватило совсем чуть-чуть! Натренируем команду мечты вместе!”.

Чтобы перейти на страницу с игрой, нажмите на изображение.

Игра разрабатывалась в качестве промо для сайта Неинтернет.ру. Советую посмотреть, портал креативный.

Link | Leave a comment | Add to Memories | Tell a Friend

КРИ 2008, день третий..

Apr. 21st, 2008 | 01:42 am

Originally published at majus.ru. You can comment here or there.

Сегодня прошел последний день конференции. Мало чем он отличался от второго, как, наверняка, и от первого, но были пару проектов, которые я просто не успел посмотреть ранее. Итак, конференция снова принимала толпы народу и радовала оных чем могла.

Read the rest of this entry »

Link | Leave a comment | Add to Memories | Tell a Friend

о5 25..

Apr. 20th, 2008 | 12:00 am

Originally published at majus.ru. You can comment here or there.

Заметил только под вечер:

Ошибка в фамилии

Перов моя фамилия. Когда-же это закончится…

Link | Leave a comment | Add to Memories | Tell a Friend

КРИ 2008, день второй

Apr. 19th, 2008 | 11:12 pm

Originally published at majus.ru. You can comment here or there.

Сегодняшнее мое раннее пробуждение было посвящено именно этому мероприятию. КРИ 2008, конференция разработчиков игр, что проходит сегодня, проходила вчера и будет продолжаться еще и завтра в Москве, в просторных помещениях гостинцы Космос.

КРИ 2008КРИ 2008КРИ 2008

Впечатления немного смазаны, ибо мне повезло повстречать разработчиков из компании N, и мы с ними прошлись по всем доступным простому смертному стендам и выпили все, что можно было выпить. Рэээ…

Что запомнилось? Думаю, каждый, кто посещал мероприятие, помнит этих девочек, что гуляли по выставочным залам топ-лесс, рекламируя некую игру Mass Effect. Не знаю, не играл, но девочки на 5+, стойко выдерживали напор неотстающих фотографов, потому достойны украсить собой этот обзорчик:

КРИ 2008КРИ 2008КРИ 2008КРИ 2008

Порадовали ребята из Creat Studios, отличный стенд с несколькими различными консолями, приветливые сотрудники, интересные игры. Рядышком с их большим павильоном был сооружен павильон поменьше, где сидели 3 привлекательных девочки, и показывали всем желающим хз_как_называется игру. Суть игры, прыгать по напольному коврику со стрелками, нажимая на те, которые в данный момент высвечиваются на экране. Жанр довольно древний в стране восходящего солнца, но в России я такое вижу впервые. Может поэтому сама игра сделана некачественно. Но девочки там сидели милые. (прим.: обязательно завтра запечатлею ^_^)

Собственно, почему я завел разговор о Creat Studios.. Ах да. Игра хз_как_называется_про_самолеты в их большом павильоне заинтересовала свой инновационностью. Картинка в игре генерится со стерео-эффектом, поэтому без специальных очков на экране все расплывчато и неприятно глазу. Но как только надеваешь очки, чувствуешь себя как в IMAX. Действительно, впечатляет. Только, как мне объяснили, для генерации такой картинки нужен специальный монитор, который показывает 2 изображения. Довольно странно, я о таком не знал. Плюс они что-то сделали с приставкой, уж не знаю, для работоспособности их инновационного эффекта в игре или по какой-то другой причине.

КРИ 2008КРИ 2008

Поразил своим размахом стенд небольшой провинциальной компании Elephant Games, сотрудником которой я не так давно являлся. Просторный стенд с огромным макетом приставки Nintendo DS посередине, двумя внушительныими ЖК телевизорами снаружи, думаю влетел в копеечку. Но, как бы красиво это не было снаружи, внутри ничего примечательного я не заметил. Ну нечего показать ребятам. 2 недоделанные игры для приставки Nintendo DS, одна недоделанная игра для PC. Да и на телевизорах крутились рекламные ролики от Nintendo.

КРИ 2008КРИ 2008

Последние фото с “Ярмарки проектов” - отдельное помещение выставки, где в углу кучно согнаны молодые разработчики, у которых перимущественно нет издателей. Смотреть на эти разработки подчас жутко. Жуткая концетрация беспорядочных идей и плохих реализаций взрывает мозг. Зачем мексиканец в самбреро на, простите если ошибаюсь, грибе мчится на огромной скорости по отсеченной сверху трубе и собирает знаки бакса?.. Надо будет спросить у ребят, сегодня они были заняты. Думаю, завтра я займусь этими ребятами вплотную и расскажу об их мега-разработках подробнее.

Странно, что на Ярмарке в уголке делали Saber Interactive и Vogster Entertainment со своими достаточно серьезными разработками. Первая компания представляла Time Shift, вторая хз_как_называется стратегию для Nintendo DS. Очень красиво, качественно. Ребятам даже ничего не надо говорить, рассказывать. Увидев такие игры сразу видно, сколько труда было в них вложено. Ведь одно дело собрать болванку своей мега идеи, что вылетает каждые 5 минут, пожирая последние мегабайты оперативной памяти и безбожно тормозит на любой системе, хотя там всего тыща полигонов.. И другое дело довести игру до конца, или хотя бы до альфа, бета, пре-релиз версии. Молодцы ребята, я тоже так хочу.

Завтрашнее мое раннее пробуждение снова будет посвящено КРИ 2008, уверен, там есть что еще увидеть, посетить и .. выпить.

Link | Leave a comment | Add to Memories | Tell a Friend

Advertisement

Customize