Recently I’ve found out that my alma mater had created a volunteer computing project called Comcute. It’s first distributed computing project in Poland. It has been made as an real alternative for BOINC system. The project got a financial grant from polish Ministry of Science and Higher Education.
Genetic Positioning of Fire Stations
Image Processing Techniques
Mersenne Number Finding
Distributed Detection of Selected Features in Data Streams
There is also a Wikipedia article about the system. It can be found here.
Recently, together with my friends, we’ve finished our engineering degree work entitled “Controlling Windows OS using trained gestures with Microsoft Kinect.” at Gdansk University of Technology. I’ve prepared simple not-so-technical presentation of our solution on the YouTube
I’ve finally found some time to realize my concept written here. In the meantime I’ve also managed to connect external hard drive to my Raspberry Pi. I have a lot of problems with it and tried lots of approaches but finally it’s working (I will describe it in the next post).
Now my music library is available in Raspberry Pi 🙂 It’s quite a lot of mp3s so I decided to write a quick little script in Python that will fetch basic data about file name, location, size, song duration, bitrate and data from ID3 tags. I’m also computing checksum of file to discover duplicates. All this data is later stored in MySQL database.
At first I prepared a SQL script with table creation:
CREATETABLEIFNOTEXISTS`music`(`id`INT(11)NOTNULLAUTO_INCREMENT,`file_name` text COLLATE utf8_unicode_ci NOTNULL,`file_format` text COLLATE utf8_unicode_ci NOTNULL,`file_location` text COLLATE utf8_unicode_ci NOTNULL,`file_checksum` text COLLATE utf8_unicode_ci NOTNULL,`file_size`INT(11)NOTNULL,`tag_title` text COLLATE utf8_unicode_ci NOTNULL,`tag_artist` text COLLATE utf8_unicode_ci NOTNULL,`tag_album` text COLLATE utf8_unicode_ci NOTNULL,`tag_year` text COLLATE utf8_unicode_ci NOTNULL,`tag_comment` text COLLATE utf8_unicode_ci NOTNULL,`tag_genre` text COLLATE utf8_unicode_ci NOTNULL,`tag_tracknumber`INT(11)NOTNULL,`song_length`INT(11)NOTNULL,`song_bitrate`INT(11)NOTNULL,`date_added` datetime NOTNULL,`health`INT(11)NOTNULL,PRIMARYKEY(`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS `music` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`file_name` text COLLATE utf8_unicode_ci NOT NULL,
`file_format` text COLLATE utf8_unicode_ci NOT NULL,
`file_location` text COLLATE utf8_unicode_ci NOT NULL,
`file_checksum` text COLLATE utf8_unicode_ci NOT NULL,
`file_size` int(11) NOT NULL,
`tag_title` text COLLATE utf8_unicode_ci NOT NULL,
`tag_artist` text COLLATE utf8_unicode_ci NOT NULL,
`tag_album` text COLLATE utf8_unicode_ci NOT NULL,
`tag_year` text COLLATE utf8_unicode_ci NOT NULL,
`tag_comment` text COLLATE utf8_unicode_ci NOT NULL,
`tag_genre` text COLLATE utf8_unicode_ci NOT NULL,
`tag_tracknumber` int(11) NOT NULL,
`song_length` int(11) NOT NULL,
`song_bitrate` int(11) NOT NULL,
`date_added` datetime NOT NULL,
`health` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;
Python hasn’t got any official IDE (besides IDLE which we cannot call complete Integrated Development Environment, it’s rather Python graphical shell). The most popular environment for Python is probably PyCharm. It’s very complex in functionality but quite simple to use IDE, I use it in Intel and I can say that it’s very enjoyable. It’s biggest disadvantage is price and that excludes PyCharm from the private use on my laptop.
I must’ve find some replacement to develop applications in Python. My colleague helped me with this problem and proposed me extension for Visual Studio called Python Tools for Visual Studio. I was very surprised by a level of support for this language. It gives a full handling of autocompletion with IntelliSense and provides us debugging mechanism known from Visual Studio – the basic and most fundamental functionalities for programmers 😉 There are lots of other minor features that help coding in python with Visual Studio but I give you a free hand to discover them 🙂
I can definitely recommend you Visual Studio with the extension mentioned above as a primary IDE for Python for private use.
Recently I faced a problem that directories created by transmission daemon had insufficient permissions to write in them by Samba users. I needed this feature because I wrote a bot (soon I will post it) that monitors RSS feed of private torrent tracker and downloads .torrent files with my favorite TV series. Then transmission starts downloading it. When it finishes I go there though Samba on my laptop with Windows and I need to download subtitles there. Here comes the problem with lack of permissions for user that I connect though samba.
My transmission daemon runs on user debian-transmission and on group with the same name. I connect though Samba using pi user. So I’ve added user pi to debian-transmission group:
# usermod -a-G debian-transmission pi
# usermod -a -G debian-transmission pi
I needed to change also transmission settings (usually located in /etc/transmission-daemon/settings.json) and change line with:
Umask is usually represented in octal, but json does not support that, so we need to convert it to decimal. We can use simple bash command as quick calculator:
# echo $(( 8#022 ))18
# echo $(( 8#022 ))
After modification of settings.json file save it and make command:
# service transmission-daemon reload
# service transmission-daemon reload
Now you can make files in directories created in transmission daemon though Samba 🙂
I would like to recommend you VPS server that I use for more than year and I’m very pleased using it. The company hosting it is ViHost.pl. From variety of option i use the one called VPS 1. Parameters are:
~ 1 Ghz CPU
1GB RAM + 1 GB SWAP
1 IP address
The greatest advantage is price – 24PLN for a month. You probably won’t find better VPS with lower price on polish market. They keep their servers in Gdańsk’ datacenter (recently moved from Germany). Also the communication with helpdesk and their availability is great. Some time ago I’ve got a DDoS attack on my server, it was on on saturday about 10 PM and I got a reply in 15 minutes.
So, if you are looking for good and cheap VPS in Poland I can recommend you ViHost.pl 🙂
I’ve recently came up with an idea of writing small python crawler that would go through my music library, retrieve information about name, all ID3 tags from my mp3s and CRC32 checksum of them and store them into MySQL database. It would allow me to detect duplicated songs on my disc and maybe more usages in the future.
I haven’t done any research about similar applications but if there are ones, I will write my own anyway 😉