Thursday, June 19, 2008

Alien Numbers

Вчера сделал одно из тестовых заданий из прошлых соревнований GJC. Называется Alien Numbers. Суть задания заключается в переводе чисел из одной системы исчисления в другую. Задаётся число в первой системе, первая система, вторая и надо найти тоже число во второй системе. Система задаётся в виде символов, которые используются в ней.

Ну на пример в десятичной системе это выглядит как 0123456789, в двоичной 01 в 16-иричной 0123456789ABCDEF и т.д. Но никто не запрещает использовать сколько угодно знаков (даже символы типа №%:?*)

Вот и получается, что 9 из десятичной системы в системе oF8 выглядит как Foo =)
А как уже потом показал небольшой Fun, можно закодировать фразу типа HELLO_WORLD, которая представляет из себя на самом деле число в системе ABCDEFGHIJKLMNOPQRSTUVWXYZ_. И если это всё перевести в десятичную систему, то получиться число 1474967912327400 =)
Или наоборот число в десятичной системе 1539883028604641423645393490470186061541638512686 в той же буквенной будет ... ? =) А это если кто захочет, может попробовать сам, ибо свои разработки я прилагаю.

GJC_AlienNumbers.rar - тут лежит сам файл .py, несколько пробных тестовых файлов с заданиями, а так же в папочке dist можно найти .exe файл.
Использовать .py можно тем, у кого стоит python.
python AlienNumbers.py -i input.txt -o output.txt
или, если кто-то мне доверяет =), то может запустить .exe
AlienNumbers.exe -i input.txt -o output.txt
На этом я пока отлажу, пожалуй, игры с GJC. Надо заняться Tallinn 360 + один проект, о котором я расскажу, когда об этом будет иметь смысл говорить =)

Кстати, .exe делается такой штукой как py2exe

п.с.
Чё-то мне сутра сегодня вот такое примерещилось =)))
Read more...

Wednesday, June 18, 2008

Google Code Jam 2008

Прочитал вчера новость на Google Blog, о начале регистрации на конкурс Google Code Jam 2008. Я уже который год хочу принять в чём-то подобном участие. Сначала хотел быть одним из студентов-трудоголиков и писать Open Source Code в рамках программы Google Summer of Code, но т.к. до сих пор официальным студентом не стал, GCJ для меня единственный шанс. Как раз недавно поучаствовал в небольшом соревновании Google Treasure Hunt 2008, в котором было всего 4 небольших задания, по заданию на неделю. Я все, в принципе, с удовольствием решил на Python, но не в рамках выигрышного времени (хотя результаты ещё не объявили. Вот жду =))
Кстати, вопросы ещё активны, и если кто хочет, может попробовать и свои силы тоже =)
А если кому-то ну просто не понятно зачем нужно посмотреть на мои решения, то прошу:
В общем 8 тестовых заданий по GCJ уже есть, и можно приступать к их решению. Но это всё надо делать так, что бы не отвлекаться от Таллинн 360, а то будет опять как всегда ... появиться новая идея, а старую я заброшу. Благо, на данный момент, у меня есть люди, которые меня подстегнут в нужный момент (Dima, Hello!), а также есть люди, выразившие желание поучаствовать со мной в GCJ (Alex, Hello! =)
Read more...

Saturday, June 14, 2008

Что мы имеем

Итак, на данный момент у меня есть:

pySerial - Python либа, с помощью которой можно читать COM порты.
Вот такого кода достаточно:
import serial

ser = serial.Serial(0)
line = ser.readline()
ser.close()

print line
Это мне поможет читать информацию с GPS reciever'а, от куда по портам будет литься инфа в формате NMEA. Строка получается в виде:
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
Разбираться с форматом буду сам, наверное. По крайней мере особых либ для парсинга этого формата я не нашёл.

VideoCapture - Python библиотека для чтения данных с таких девайсов как web camera. Достаточно написать вот так:
from VideoCapture import Device

cam = Device(0)
cam.setResolution(1024,768)
cam.saveSnapshot('images.jpg', quality = 100)
, что бы сохранить то, что сейчас на вебкамере в файл.
Правда, неизвестно как оно всё будет себя вести при больших количествах камер.

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

Далее надо разобраться по части склейки панорам.
Read more...

Thursday, June 12, 2008

Введение

Если вы зашли сюда случайно и вы со мной не знакомы и\или не знаете что это за блог, то этот абзац для вас. Меня зовут Александр. Мне часто в голову приходят разные идеи проектов, интересных и не очень. И почти всегда эти проекты заканчиваются тем, умирают под натиском других идей и мыслей, которые потихоничку заполаняют мой мозг.
Так вот одним из таких проектов, которым у меня болит голова последние недели 2 является идея о создании эквивалента Google Street View своими руками в пределах города в котором я живу, а именно Таллинна. Идею мне подали ребята, которые точно так же на коленке сделали подобие Google Street View, только для Москвы. Всю программную часть собираюсь писать по возможности сам на Python.
Сегодня мой друг и напарник Дмитрий посоветовал мне вести блог, что бы другие участники сети могли при желание перенять мой опыт. Я решил таки попробовать, хотя знаю, что вести журналы это не для меня. И что блоги и ЖЖ у меня в руках обычно мучительно умирают. Но я всё же попробую, тем более я собирался всё написанное выставлять в качестве Open Source.
На данный момент имеются масса вопросов, ответы на которые я потихоничку собираю. Например есть такие вопросы:
  • Как сделать установку с камерами?
    • Какие камеры использовать?
      • 6-8х Web Camera
      • 3-4x SLR Camera c FishEye объективами
    • Максимальное разрешение.
    • Угол обзора
    • Количество камер
    • Надо ли делать 1800 по вертикали, или хватит горизонтального 360, а по вертикали достаточно и градусов 57
    • Где их купить?
      • Мне нужны только линзы, схемы с матрицами. Корпуса и провода мне не нужны, по этому есть ли возможность купить только комплектующие
    • Возможные проблемы с синхронизацией съёмки.
  • Вопросы связанные с GPS и движения
    • Какой и где GPS Receiver купить?
    • Как лучше расчитать маршрут движения таким образом, что бы количество повторных проездов было минимально.
  • Вопросы касательно ПО
    • Склейка панорам
      • Делать склейку апосля или сразу?
    • Запись картинок с координатами GPS
      • В каком виде сохранять инфу. В базу или файлики на диске
О некоторых решениях и ответах, которые у меня уже имеются я расскажу попозже.
Read more...