Top.Mail.Ru
? ?

Entries by tag: python

Hire me!

Looking for a job. I’m planning to move to Istanbul, so I’m looking for a remote job if possible.

LinkedIn profile: ru.linkedin.com/in/timothytsvetkov/en

Contacts:

September 2012 - now. Whatmatters, co-founder.

Technology: python, angularjs, meteor, firebase, PySide, …

Our goal was to develop/calculate effective strategy in PLO (Pot Limit Omaha; http://en.wikipedia.org/wiki/Omaha_hold_'em) against current PLO regular players at Pokerstars. And then to create software to teach our clients to follow this strategy. We succeed in developing such strategy, but failed in the education part.

We used Python to perform our research and server-side.

For the client-side we used meteor for a while, but I didn’t like it in general and in its current implementation, also it depends on mongodb, which I don’t consider as a decent technology, so in the next version of our product we switched to AngularJS.

We chose AngularJS because we couldn’t work with front-end developers because the structure of our application required decent understanding of the server-side. Also nobody in our team at the moment had decent experience in modern front-end technologies. So following an idea of writing AngularJs application structured as components of different types of directives was very appealing to programmers with server-side and desktop applications experience. We were able to write our client code very fast and with a decent quality at same time.

For saving the front-end application state and for reactive sync with server-side and jobs queues we used firebase (https://www.firebase.com). I still like it a lot.

Also we created one of the fastest Omaha expected value calculator. We published it under GNU GPL licence on github: https://github.com/WhatMatters/ray_eval


October 2009 — September 2012: Evil Martians.

https://evilmartians.com

Technology: Ruby on Rails, Erlang.

Evil Martians is one of the most well known and successful Rails firms in Russia. I was one of the first hired developers. It was my best time working as a software developer. I worked on various projects, including building internet tv version of one of the major Russian tv channels (REN-TV).

During my work for Evil Martians I contributed to Ruby on Rails.

Also, with Ivan Evtukhovich we come up with an idea of founding Rails master classes with a goal to convert juniors to seniors rails developers in two days of extensive trainings. We created two days master class teaching: Postgres, Rails internals, advanced testing and front-end techniques. Now under the brand Brainwashing (http://brainwashing.pro) Evil Martians organize lot’s of master classes in different fields including orgignal Ruby on Rails, UI design and internet marketing. I don’t teach there anymore and don’t hold any rights of the brand, but a photo of me talking about Rails internals is still the frirst photo on the main page of the project.


Webnabludatel.

In 2012 I was a co-founder and tech leader of the non-profit project called Webnabludatel.

After witnessing widespread voting fraud during parliamentary elections, many engaged citizens in Russia decided they would only rely on themselves when it came to observing the presidential election on March 4, 2012. One way they could do it was with the “Web Election Observer” app for iPhones and Android. The simple and easy-to-use app lets observers document any irregularities they see and record them on an interactive map. Information and laws regarding elections and observers was provided to the app’s developers by the “Golos” non-governmental organization.

Media about the project:

Новая Газета: http://www.novayagazeta.ru/news/54190.html
РИА Новости: http://www.ria.ru/vybor2012_hod_vyborov/20120214/565765738.html
Digit: http://www.digit.ru/technology/20120214/389252760.html
Financial Times: http://blogs.ft.com/beyond-brics/2012/03/02/russia-apping-the-elections/
“Дождь”: http://tvrain.ru/teleshow/govorite_s_toney_samsonovoy/sozdateli_veb_nablyudatelya_o_svoem_proekte-180292/

Awards:

Projects was added to the short list of the Deutsche Welle The BOBS Award in ‘Best Use of Technology for Social Good’ category and won the nomination: http://thebobs.com/english/category/2012/best-use-of-technology-for-social-good-2012/

Talks:

My last talk was about GC in MRI. I personally love this keynote. While preparing to the talk I read almost all versions of the MRI’s GC source code, also I read some parts of the Python GC source code and some parts of the Linux memory manager source code.

Keynote: http://www.slideshare.net/2kan/gc-in-ruby-rubyc-kiev-2014

Winter madness

Острожно это пост для программистов. В comp.lang.python прочитал замечетельный, как мне кажется, тред: Winter Madness - Passing Python objects as Strings.

Автор поста написал библиотеку для решения специфической задачи для специфической архитектуры. Вряд ли кто-нибудь еще столкнется с подобной задачей и архитектурой. Но видно ему так понравилось его решение, что он решил им поделиться. Зачем? Не очень ясно.

Зато "тред" получился очень нежный. Я так и представляю, как это Hendrik van Rooyen сидит в своей холодной скандинавской стране и программирует какую-то странную систему. Его посещает идея и он упорно, одинокий, реализует ее. И вот теперь рабочая версия готова, решение достаточно стройно, ему хочется хоть с кем-то пообщаться. Конечно, как настоящий аутичный хакер он может говорить только о решениях задачек.

Скандинавские хакеры вообще странные какие-то. Линус вот, или Гвидо.
Вот так мы программируем чат в нашем клиент-серверном приложении:

def sendMess(self, dt, sender, mess):
      '''рассылка сообщений участникам чата'''
     
      curtime = str(datetime(dt[0], dt[1], dt[2], dt[3], dt[4], dt[5]))
      dt = datetime(dt[0], dt[1], dt[2], dt[3], dt[4], dt[5])


* This source code was highlighted with Source Code Highlighter.


Ну, и в конструкторе класса описывающего, если верить комментариями, канал обмена сообщениями с пользователями есть такие прекрасные строчки:

self.out_flags = [False, False, False, False, False, False, False, False, False, False, False, False]
self.tabletabs = [False, False, False, False, False]


* This source code was highlighted with Source Code Highlighter.

Tags:

Profile

_tucan
Image2kan
Timothy N. Tsvetkov
2kan's Page

Latest Month

October 2015
S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728293031

Tags

Syndicate

RSS Atom

Comments

Powered by LiveJournal.com
Designed by Jared MacPherson
Image