Third article of the FICS bot writing tutorial. In this chapter, I am to discuss the proper way of issuing FICS commands and analyzing the replies obtained from FICS. I will also introduce my preferred framework.
Continue reading "How to write a FICS bot - part III" »Twisted inlineCallbacks and deferredGenerator
I needed to link some page explaining what inlineCallbacks
and
deferredGenerator
are, and ... failed to find one. So here is a
short explanation and the example code (working scripts).
Code size comparison: raw deferreds - 29 lines,
deferredGenerator - 26 lines, inlineCallbacks - 17 lines (non-empty lines, lookup
function measured).
How to make a screenshot with visible mouse cursor
It turns out amazingly uneasy to make a screenshot on which the mouse cursor (pointer) is visible. No one of the typical Linux/Ubuntu screen capture programs does that. I even saw suggestions to run the application inside vmware or virtualbox to make such a screenshot!
There is a better alternative.
Continue reading "How to make a screenshot with visible mouse cursor" »Moving images from F-Spot to digiKam
I have been using F-Spot for some time, but decided to try digiKam (I am starting to feel, that albums are not that bad idea, after all, and I like autodetection of new/changed images). As it turned out, digiKam failed to import F-Spot tags (in spite of the fact I was working in Write metadata to file mode), so I had to do some scripting to copy the F-Spot tags to the digiKam database.
Below the crucial script and some extra comments.
Continue reading "Moving images from F-Spot to digiKam" »Importing to Redmine with SQLAlchemy
I am somewhat unlucky. Being Python and Perl devotee, I just had to install PHP-based blog (all Python blogs seems to be pre-alpha, Perlish Movable Type is solid, but unclearly licensed and rumoured to be difficult to maintain). Now I wanted some reasonably looking issue-tracker, and it turned out that Trac is as far from multi-project handling, as it was two years ago, so I picked Redmine. Ruby on Rails application.
Yes, Redmine is what many people wanted Trac to be. Issues, wiki, timelines, roadmaps - but also file distribution, forums, categorization, and more. And very good, natural, support for multiple projects (including cross-project reports and moving issues between projects).
I had to write small custom issue importer. Maybe it will be of some use for somebody as a basis for another custom importer.... And yes, I wrote it in Python.
Continue reading "Importing to Redmine with SQLAlchemy" »How to write a FICS bot - part II
Second article of the FICS bot writing tutorial. After initial introduction now there is a time to write some code.
We will write very simple (even primitive) bot, aimed to perform a
kind of a player registration - it will allow players to join
something, and it will save not only their names, but also their
current standard rating.
Perl will be used in this example, due to the presence of Net::Telnet library and good regexp support it is fairly suitable for the task.
Continue reading "How to write a FICS bot - part II" »