PyRegs: The Python Regex Debugger

Posted on Wed 22 May 2013 in articles • Tagged with programming, Python

Long ago, I learned the regular expressions in order to write a simple syntax highlighting engine. Regular expressions are not hard to master, but take time to practice. Kodos was the regex debugger of my choice, as it was written in Python. All these years Kodos was a "must have" tool on my development machines. Suddenly with the new version of Debian operating system, Kodos was not in the repositories anymore! Why? Kodos is based on QT3 widgets toolkit, which is a bit outdated nowadays (QT5 has been released recently) and was removed from Debian 7.0 ("Wheezy"). That is how I decided to write a small Python regex debugger in Python 3 and its de-facto standard Tkinter bindings to the Tk GUI toolkit.


Continue reading

Thoughts about XML structure: elements vs. attributes

Posted on Sat 18 May 2013 in articles • Tagged with programming, XML

Exploring XML elements versus attributes.


Continue reading

Kaylee

Posted on Tue 28 August 2012 in articles • Tagged with programming, projects, Python, CoffeeScript, Kaylee

I just returned from my summer vacation and can finally state: another summer is over. But wonderful summer it was! I finally graduated and got a Master's degree in computer science. I cycled a lot and upgraded my MTB skills. I read lot of fiction. And somewhere between work, sports reading and sleeping was Kaylee, a distributed and volunteer in-browser computing framework.


Continue reading

I have graduated

Posted on Sun 08 July 2012 in articles • Tagged with projects, life, science

I have graduated!


Continue reading

C's heritage: bitwise and equality operators

Posted on Thu 29 December 2011 in articles • Tagged with programming, C, JavaScript

The design of C made by Brian Kernighan and Dennis Ritchie has influenced the whole software and hardware industry. Sometimes you can feel the heritage of C even in modern high-level dynamic languages like Javascript.


Continue reading

Python: comparing to None

Posted on Mon 01 August 2011 in articles • Tagged with programming, Python

Python's documentation states that one has to use the is operator to compare a variable to None. What happens when you avoid that advice?


Continue reading

Inside Python: understanding os.listdir()

Posted on Sun 08 May 2011 in articles • Tagged with programming, Linux, Python, C

If you've been using python for a long time, then you surely know that os.listdir() function returns an unsorted list of file names. I didn't care much until facing a situation, in which the sorted-sequential processing of files was crucial, and I could not remember whether the previous file processing were done in sorted order. Well, luckily they were. But hey, this is a little bit annoying, isn't it? Why os.listdir() returns an unsorted list of files? Would you like to find out?


Continue reading

Opera extensions: YouTube suite

Posted on Fri 31 December 2010 in articles • Tagged with Opera

Ah, Opera! My favourite browser has been recently update to version 11. There are lots of new beautiful features, like Presto 2.7 engine, improved HTML5 support, tab stacking, mouse gestures visualisation, smart address field, Extensions and much more. Opera 11 has been officially out for just two weeks, and there are already 300 Extensions (also known as "Add-ons" in Firefox and (surprise!) "Extensions" in Chrome) available!


Continue reading

Assembler for beginners

Posted on Sun 08 August 2010 in articles • Tagged with programming, Assembler

About introductory book to programming using assembly language.


Continue reading

Linux, it's time to wake up!

Posted on Sat 22 May 2010 in articles • Tagged with Linux, ACPI

Back in my "Windows" times, I was a fan of Foobar2000 music player. One of my favourite plug-ins was "Alarm", which could turn user's computer on during "suspend" state. So, I could switch my laptop to "sleep" mode, and be awaken in the morning by music from Foobar's playlist :) Is it possible to reproduce a similar trick in Linux? It depends on your hardware. Let's give it a try!


Continue reading