Here are some of the school projects. Licensed under GPL v2 or later.
Program for browsing and searching contents of Ext filesystem. Search can apply filtering to filenames, inode metadata, block type/state, recognize file/data type and search data. Information can be gathered in forensic case file signed wih RSA key using SHA-512 for all hashing operations. Programmed in Python and Cython with GTK+. Personally I am happy with what it does but not very happy whith maintainability (no unit testing), time constraints were a great factor here. Search capabilities and UI surpasses anything I have seen before.
libext2fs
)libmagic
)
SHOUTcast radio with voting and audio/video on demand via RTSP stream. Controlled by SIP application server (connected to OpenIMSCore system) and also includes web page/server and special SIP client (GTK+). RTSP streams supports seeking (vlc
works, mplayer
not). Video database consists of AVI files with MPEG-4 and MP3 streams, song database uses MP3 files with ID3. Programmed in Python.
Source code has patched PJSIP Python binding and fixed (segfault) pyshout
amd64
build. Also includes newer version of GstRTSPServer Python binding.
It was tested only on very small scale but in very rare cases libgstrtspserver
segfaults (I suspect race condition when stream is being removed and still is in use in some library thread).
Since it uses PJSIP, it has to be under the GPL license.
Simple implementation of Bayesian spam recognition.
Download: Python script
Arduino device which sends keypresses. It is powered over USB and tested on Window XP (works anywhere but it is programmed for controlling Windows). You will need V-USB for Arduino library. Components:
Visual Basic script comes from superuser.com answer.
Download: Arduino source
I completely rewrote and cleaned up VLAB backend, implemented evaluation backend (grading), added IPv6 support and other things. Also every part of project installation and building UML kernel for simulated hosts is now documented.
Project runs on https://vlab.fiit.stuba.sk and I created Redmine project http://orwell.fiit.stuba.sk/redmine/projects/vlab.
This essay is in Slovak language, it's title is “Effects of information technology on the decline of western civilisation” (Vplyv informačných technológií na úpadok západnej civilizácie).
It's dealing with ideas enforced by IT and communication technology, how it endorses activity, individuality and creativity. It also mentions problems with software patents and piracy.
Download: PDF file
As one of our assignments we had to write inference engine. I implemented this production system in Ruby. It is capable of asking questions when there are rules with only one unknown variable. Source archive includes short documentation in Slovak. The test rule sets are also in Slovak but sources are commented in English.
Download: source and document
During one of my assignments we did matching of different curves to data. It's all in Slovak but here's only the math part which is quite comprehensible :)
Download: PDF file
I've written about it on my wiki – howto
Pcap-based ethernet multiport switch emulator in Ruby and GTK+ (includes Ruby/Pcap sendpacket patch).
Download: source zip archive, documentation (in Slovak)
Note manager in Ruby. Uses WebKit (includes patch for rbwebkitgtk
) and GTK+. Most interesting is PathButton implementation, really.
Download: source tarball, quick'n'dirty Debian package (amd64)
This is Gtk+ program in Python which allows scanning documents (supports SANE on Unices and TWAIN on Windows), making PDF file and uploading it to web application.
Get tar with latest sources:
git archive --remote=git://orwell.disorder.sk/evidencia-scan.git HEAD > evidencia-scan.tar
Or clone repository:
git clone git://orwell.disorder.sk/evidencia-scan.git
It really is that dumb as it sounds. Anyhow, I had to do it in C because at the time I didn't know how easy it would be in Python (not in Ruby though, py2exe
is wonderful). User interface was the problem, I started with CLI and then tried to do it with ncurses
(I took some code from my older project) – lesson learned, when I found out it is really no-go on Windows I did it in Gtk+. Never ever use ncurses
if it isn't necessary, it's a pain and it won't work on Windows.
Download: source tarball