понедельник, 26 ноября 2012 г.

Simplicity of XML/JSON RPC is very convenient for performing quick experiments and prototyping.

As I said before, we are working on several artificial intelligence agents. Experiments are being performed on amazon AWS server (http://korobov-labs.com), and now we need to make some features available via web services. It is convenient way to integrate some parts of our code into a smart system. We wanted to avoid complex solutions like SOAP or separate REST server launched via Apache or something similar...
So, what about xml-rpc or json-rpc web service? This kind of services is not always a good choice for real production, but good enough for quick experiments or internal communication. Old thing, but works good today. Open your python and just try this client code (at the time server is running):

from xmlrpclib import ServerProxy
connect = ServerProxy("http://korobov-labs.com:8001")
print connect.classify_text('Put your English text here...')

In three lines we have very convenient call to remote xml-rpc service. Cool thing.

пятница, 23 ноября 2012 г.

Learn how to solve problems: Rubik Hackathon part 2.


previous part of this article was about the Rubik hackathon arranged for my friends. Guys who were expected to take a part in this hackathon are not as experienced in programming and problem solving techniques as probably some readers, so if you are really familiar with Rubik’s solvers you might not be interested in reading further.
I would say that this hackathon is oriented for beginners, for students who like mathematics, algorithm development and analysis, and for guys who have already got an engineering education and now are concentrated on learning how to solve complex discrete problems with programming.





We have special github repo with a simple for use Rubik’s model and solver template.


понедельник, 19 ноября 2012 г.

Учимся problem solving: Rubik Hackathon.


О целях хакатона.

У меня в окружении есть несколько человек, которые любят математику и имеют развитое аналитическое и алгоритмическое мышление. Они хотели бы участвовать в создании интересных программных решений, но при этом имеют достаточно ограниченные навыки программрования. А как известно - лучший способ улучшить свои навыки прогаммирования - программировать. Так же участвующие имеют возможность поразвивать свои problem solving skills.



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

четверг, 15 ноября 2012 г.

Вспоминая дискретную математику...

Любить математику "платонически" нельзя, её периодически нужно касаться и решать проблемы несколько более сложные и увлекательные чем базовые операции с которыми сталкивается обычно программист в рабочих буднях. Даже те, чья работа сильно зваисит от математики, обычно используют знания из небольшого количества разделов.

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

суббота, 3 ноября 2012 г.

Прощай BizSpark...

Вот и нет у меня больше доступа к множеству бесплатных лицензий от Майкрософт, так как подписка по программе BizSpark для меня больше недоступна (ее нельзя получить повторно). Не то чтобы я сильно расстроен, но все же, было так удобно... 

Сегодня запусился korobov-labs.com

Для дальнейших эксперементов вместо сервера запущенного на старом ноутбуке с выделенным IP нам требуется нормальная веб площадка. Как это водится, теперь все мы "ветаем в облаках".. а именно вместо обычного хостинга используем облачный instance от Amazon AWS. Итак, все эксперементальные сервисы буду располагать на ресурсе
http://korobov-labs.com ну и его поддоменах.