<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4569535597652759630</id><updated>2011-07-30T16:36:12.564+03:00</updated><category term='whatever'/><category term='blog'/><title type='text'>/dev/code</title><subtitle type='html'>A blog about open source software development</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-6858136492784644289</id><published>2011-03-12T18:55:00.005+02:00</published><updated>2011-03-13T14:14:17.982+02:00</updated><title type='text'>Nokia Qt-Developers Contest</title><content type='html'>On a boring Friday afternoon I was just boarding the bus, coming home from the university when a friend of mine called me and told me about the &lt;a href="http://www.nokia.ro/platforma-dezvoltatorilor/qt-developers"&gt; Nokia Qt-Developers Contest &lt;/a&gt; organized by Nokia Romania.&lt;br /&gt;&lt;br /&gt;We immediately established a team and went to the most silent pub we could find in Cluj for brainstorming.&lt;br /&gt;&lt;br /&gt;The idea we ended up deciding on was my idea, inspired by looking at the ncmpc source code which I studied for building the 2d spectrum analyzer.&lt;br /&gt;&lt;br /&gt;Basically the idea is to write a mobile &lt;a href="http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki"&gt;MPD&lt;/a&gt; (Music Player Daemon) client. This is not special, there are many MPD Clients (MPC for simplicity) for every platform known to man. But MPD has http streaming and can basically stream your music back at you like a Shoutcast/Icecast radio station.&lt;br /&gt;&lt;br /&gt;So our idea is to write a music player which lets you remotely control playback on your server and connect to the radio-stream and play it back, thus eliminating the need to store your huge N GB collection on a small memory card and leaving space for other stuff.&lt;br /&gt;There are many technical problems with this idea, one is the data traffic cost, so you have to be on unlimited 3G data-plan or on a wireless connection (but these things are not as rare nowadays). The other is network latency (we need to carefully plan buffering) and also the effect on battery life.&lt;br /&gt;&lt;br /&gt;So yeah, there are many challenges but if &lt;a href="http://www.vradio.org/"&gt;other projects&lt;/a&gt; could do similar things, it probably means it's possible and I have seen many great things happen under Qt.&lt;br /&gt;&lt;br /&gt;I have already coded a working prototype , I am still battling Phonon because it doesn't really want to do what I tell it to, maybe I will rewrite the player part in QtMultimedia, we shall see.&lt;br /&gt;&lt;br /&gt;I like this idea and I find it fun to code, mainly because I think it's relatively original (point me to a working implementation on a mobile platform if you think otherwise).&lt;br /&gt;&lt;br /&gt;The other reason why I chose this idea is that it fits the spirit of Symbian and Nokia phones in general, since it targets as it's main audience the geeks, the power users, &lt;a href="http://www.thebestpageintheuniverse.net/c.cgi?u=iphone"&gt;people who buy Symbian phones to connect through ssh to their server&lt;/a&gt;.&lt;br /&gt;This is even more so in our days when Symbian is basically dead, Nokia abandoned it for Windows Mobile, so mainly the people who buy/have Symbian ^3 phones are developers/power users/geeks/business guys.&lt;br /&gt;&lt;br /&gt;Even though this app doesn't seem very marketable for average users I believe there is a need for such a thing in the Symbian/Maemo/Meego/Android/Qt crowd.&lt;br /&gt;&lt;br /&gt;Oh yeah, and now if we write it in Qt, the &lt;a href="http://www.youtube.com/watch?v=suPeZ7XC1xk"&gt;Android guys can use it too&lt;/a&gt;, thanks to a Romanian hacker named Bogdan Vatra.&lt;br /&gt;&lt;br /&gt;I'm not sure that this is the most competitive idea on the list but feel free to vote for anything you like &lt;a href="http://translate.google.com/translate?u=http%3A%2F%2Fwww.nwradu.ro%2F2011%2F03%2Fincepe-votarea-la-concursul-nokia%2F&amp;sl=ro&amp;tl=en&amp;hl=&amp;ie=UTF-8"&gt;on this link.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Also this app would enable friends to connect to the same server and listen to the same song at the same time and also control playback.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So yeah, wish us luck! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-6858136492784644289?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/6858136492784644289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=6858136492784644289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6858136492784644289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6858136492784644289'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2011/03/nokia-qt-developers-contest.html' title='Nokia Qt-Developers Contest'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-1563677194855907270</id><published>2011-03-08T18:15:00.004+02:00</published><updated>2011-03-08T18:27:49.118+02:00</updated><title type='text'>Visualizing Music - Part 2</title><content type='html'>I've finally managed to fix the crash.It was quite an ugly race condition, the rendering thread wanted access to the same scene node as the music playback thread, it's not exactly clear where and why, it's hidden in the internals of Ogre, I guess.&lt;br /&gt;Anyway, I've managed to fix it by locking on the same semaphore as used in the callback function in frameStarted() and unlocking it in frameEnded(). So it's finally working, thanks to my friend for pointing it out. Release comming soon.&lt;br /&gt;&lt;br /&gt;Meanwhile, I've been experimenting a bit with perl, I rewrote the SDL Music Visualizer example to render a frequency spectrum (aka bars).&lt;br /&gt;I found a nice module for doing the Fourier Transform, Math::FFT.&lt;br /&gt;&lt;br /&gt;You can find the code here: &lt;a href="https://github.com/balazsbela/Visualizer/blob/master/frequency.pl"&gt;https://github.com/balazsbela/Visualizer/blob/master/frequency.pl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And here's a screenshot: &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-g631I5VCpQ8/TXZYkUGyaPI/AAAAAAAAAMI/g1sdVDAiVCk/s1600/scrviz.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 218px;" src="http://4.bp.blogspot.com/-g631I5VCpQ8/TXZYkUGyaPI/AAAAAAAAAMI/g1sdVDAiVCk/s400/scrviz.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5581746169068022002" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All this in 210 lines of Perl. Perl is indeed awesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-1563677194855907270?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/1563677194855907270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=1563677194855907270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/1563677194855907270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/1563677194855907270'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2011/03/visualizing-music-part-2.html' title='Visualizing Music - Part 2'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-g631I5VCpQ8/TXZYkUGyaPI/AAAAAAAAAMI/g1sdVDAiVCk/s72-c/scrviz.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-1155322427504319608</id><published>2011-03-04T20:27:00.010+02:00</published><updated>2011-03-04T21:12:56.643+02:00</updated><title type='text'>Visualizing music</title><content type='html'>Not long ago I came across this article: &lt;a href="http://www.perl.com/pub/2011/01/visualizing-music-with-sdl-and-perl.html"&gt;http://www.perl.com/pub/2011/01/visualizing-music-with-sdl-and-perl.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, I'm no stranger to perl, I have used it before, mainly for socket programming and http requests, I knew it had various bindings for various libraries, but still this solution seemed elegant.&lt;br /&gt;&lt;br /&gt;This gave me the idea to recreate &lt;a href="http://www.youtube.com/watch?v=_6NKBiwYN24"&gt;this&lt;/a&gt; old xmms spectrum analyzer OpenGL plugin with Ogre3d.&lt;br /&gt;&lt;br /&gt;I had two weeks vacation between semester 2 and 3 so I had time to study a bit of OpenGL to help me draw things in my (optional) Computational Geometry class.&lt;br /&gt;&lt;br /&gt;So I read about the fast fourier transform and how to extract the frequencies out of the stream. I decided to use FFTW because it's fast and I came up with a solution to normalize the values (not sure if it's the best, but it works, if you have tips on how to do this more correctly I'm very eager to hear them).&lt;br /&gt;&lt;br /&gt;I came up with this code:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://github.com/balazsbela/OgreVisualizer"&gt;https://github.com/balazsbela/OgreVisualizer&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It works, it plays ogg files and visualizes them in 3d pretty well. The framerate is pretty good too.&lt;br /&gt;&lt;br /&gt;There is one problem though, it crashes after a while,seemingly randomly, sometimes it&lt;br /&gt;plays through the whole song without problems, sometimes it crashes at the half of the song.&lt;br /&gt;&lt;br /&gt;I posted questions on &lt;a href="http://www.ogre3d.org/forums/viewtopic.php?f=2&amp;amp;t=63207"&gt;Ogre3d forum&lt;/a&gt;, &lt;a href="http://gamedev.stackexchange.com/questions/9210/how-to-fix-ogre3d-segfault-with-std-rb-tree-insert-and-rebalance/9227#9227"&gt;StackExchange&lt;/a&gt; GameDev section, &lt;a href="http://stackoverflow.com/questions/5050147/how-to-fix-ogre3d-segfault-with-std-rb-tree-insert-and-rebalance"&gt;Stackoverflow&lt;/a&gt;, but I have yet to read a good response.&lt;br /&gt;&lt;br /&gt;Here's the main class: &lt;a href="https://github.com/balazsbela/OgreVisualizer/blob/master/src/VisualizerApplication.cpp"&gt;https://github.com/balazsbela/OgreVisualizer/blob/master/src/VisualizerApplication.cpp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's the backtrace:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;balazsbela@darknet:~/workspace/OgreVisualizer/Release$ gdb OgreVisualizer core&lt;br /&gt;GNU gdb (GDB) 7.2-debian&lt;br /&gt;Copyright (C) 2010 Free Software Foundation, Inc.&lt;br /&gt;License GPLv3+: GNU GPL version 3 or later &lt;http: org="" licenses="" html=""&gt;&lt;br /&gt;This is free software: you are free to change and redistribute it.&lt;br /&gt;There is NO WARRANTY, to the extent permitted by law.  Type "show copying"&lt;br /&gt;and "show warranty" for details.&lt;br /&gt;This GDB was configured as "i486-linux-gnu".&lt;br /&gt;For bug reporting instructions, please see:&lt;br /&gt;&lt;http: org="" software="" gdb="" bugs=""&gt;...&lt;br /&gt;Reading symbols from /home/balazsbela/workspace/OgreVisualizer/Release/OgreVisualizer...done.&lt;br /&gt;[New Thread 17705]&lt;br /&gt;[New Thread 17702]&lt;br /&gt;[New Thread 17703]&lt;br /&gt;[New Thread 17700]&lt;br /&gt;Reading symbols from /usr/lib/libv4l/v4l1compat.so...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libv4l/v4l1compat.so&lt;br /&gt;Reading symbols from /usr/local/lib/libOgreMain.so.1.7.1...done.&lt;br /&gt;Loaded symbols for /usr/local/lib/libOgreMain.so.1.7.1&lt;br /&gt;Reading symbols from /usr/lib/libfftw3.so.3...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libfftw3.so.3&lt;br /&gt;Reading symbols from /usr/lib/libSDL_sound-1.0.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libSDL_sound-1.0.so.1&lt;br /&gt;Reading symbols from /usr/lib/libSDL-1.2.so.0...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libSDL-1.2.so.0&lt;br /&gt;Reading symbols from /usr/lib/libSDL_mixer-1.2.so.0...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libSDL_mixer-1.2.so.0&lt;br /&gt;Reading symbols from /usr/lib/libOIS-1.2.0.so...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libOIS-1.2.0.so&lt;br /&gt;Reading symbols from /usr/lib/libstdc++.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libstdc++.so.6&lt;br /&gt;Reading symbols from /lib/i686/cmov/libm.so.6...Reading symbols from /usr/lib/debug/lib/i686/cmov/libm-2.11.2.so...done.&lt;br /&gt;done.&lt;br /&gt;Loaded symbols for /lib/i686/cmov/libm.so.6&lt;br /&gt;Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /lib/libgcc_s.so.1&lt;br /&gt;Reading symbols from /lib/i686/cmov/libc.so.6...Reading symbols from /usr/lib/debug/lib/i686/cmov/libc-2.11.2.so...done.&lt;br /&gt;done.&lt;br /&gt;Loaded symbols for /lib/i686/cmov/libc.so.6&lt;br /&gt;Reading symbols from /lib/i686/cmov/libpthread.so.0...Reading symbols from /usr/lib/debug/lib/i686/cmov/libpthread-2.11.2.so...done.&lt;br /&gt;done.&lt;br /&gt;Loaded symbols for /lib/i686/cmov/libpthread.so.0&lt;br /&gt;Reading symbols from /usr/local/lib/libv4l1.so.0...done.&lt;br /&gt;Loaded symbols for /usr/local/lib/libv4l1.so.0&lt;br /&gt;Reading symbols from /usr/lib/libfreetype.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libfreetype.so.6&lt;br /&gt;Reading symbols from /usr/lib/libSM.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libSM.so.6&lt;br /&gt;Reading symbols from /usr/lib/libICE.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libICE.so.6&lt;br /&gt;Reading symbols from /usr/lib/libX11.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libX11.so.6&lt;br /&gt;Reading symbols from /usr/lib/libXext.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libXext.so.6&lt;br /&gt;Reading symbols from /usr/lib/libXt.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libXt.so.6&lt;br /&gt;Reading symbols from /usr/lib/libXaw.so.7...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libXaw.so.7&lt;br /&gt;Reading symbols from /lib/i686/cmov/libdl.so.2...Reading symbols from /usr/lib/debug/lib/i686/cmov/libdl-2.11.2.so...done.&lt;br /&gt;done.&lt;br /&gt;Loaded symbols for /lib/i686/cmov/libdl.so.2&lt;br /&gt;Reading symbols from /usr/lib/libboost_thread.so.1.42.0...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libboost_thread.so.1.42.0&lt;br /&gt;Reading symbols from /usr/lib/libboost_date_time.so.1.42.0...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libboost_date_time.so.1.42.0&lt;br /&gt;Reading symbols from /usr/lib/libfreeimage.so.3...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libfreeimage.so.3&lt;br /&gt;Reading symbols from /usr/lib/libzzip-0.so.13...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libzzip-0.so.13&lt;br /&gt;Reading symbols from /usr/lib/libz.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libz.so.1&lt;br /&gt;Reading symbols from /usr/lib/libsmpeg-0.4.so.0...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libsmpeg-0.4.so.0&lt;br /&gt;Reading symbols from /usr/lib/libmikmod.so.2...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libmikmod.so.2&lt;br /&gt;Reading symbols from /usr/lib/libvorbis.so.0...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libvorbis.so.0&lt;br /&gt;Reading symbols from /usr/lib/libvorbisfile.so.3...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libvorbisfile.so.3&lt;br /&gt;Reading symbols from /usr/lib/libFLAC.so.8...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libFLAC.so.8&lt;br /&gt;Reading symbols from /usr/lib/libogg.so.0...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libogg.so.0&lt;br /&gt;Reading symbols from /usr/lib/sse2/libspeex.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/sse2/libspeex.so.1&lt;br /&gt;Reading symbols from /usr/lib/libasound.so.2...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libasound.so.2&lt;br /&gt;Reading symbols from /lib/i686/cmov/librt.so.1...Reading symbols from /usr/lib/debug/lib/i686/cmov/librt-2.11.2.so...done.&lt;br /&gt;done.&lt;br /&gt;Loaded symbols for /lib/i686/cmov/librt.so.1&lt;br /&gt;Reading symbols from /usr/lib/libdirectfb-1.2.so.9...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libdirectfb-1.2.so.9&lt;br /&gt;Reading symbols from /usr/lib/libfusion-1.2.so.9...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libfusion-1.2.so.9&lt;br /&gt;Reading symbols from /usr/lib/libdirect-1.2.so.9...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libdirect-1.2.so.9&lt;br /&gt;Reading symbols from /usr/lib/libvga.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libvga.so.1&lt;br /&gt;Reading symbols from /lib/ld-linux.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.11.2.so...done.&lt;br /&gt;done.&lt;br /&gt;Loaded symbols for /lib/ld-linux.so.2&lt;br /&gt;Reading symbols from /usr/local/lib/libv4l2.so.0...done.&lt;br /&gt;Loaded symbols for /usr/local/lib/libv4l2.so.0&lt;br /&gt;Reading symbols from /lib/libuuid.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /lib/libuuid.so.1&lt;br /&gt;Reading symbols from /usr/lib/libxcb.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libxcb.so.1&lt;br /&gt;Reading symbols from /usr/lib/libXmu.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libXmu.so.6&lt;br /&gt;Reading symbols from /usr/lib/libXpm.so.4...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libXpm.so.4&lt;br /&gt;Reading symbols from /usr/lib/libjpeg.so.62...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libjpeg.so.62&lt;br /&gt;Reading symbols from /usr/lib/libmng.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libmng.so.1&lt;br /&gt;Reading symbols from /usr/lib/libopenjpeg.so.2...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libopenjpeg.so.2&lt;br /&gt;Reading symbols from /lib/libpng12.so.0...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /lib/libpng12.so.0&lt;br /&gt;Reading symbols from /usr/lib/libIlmImf.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libIlmImf.so.6&lt;br /&gt;Reading symbols from /usr/lib/libImath.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libImath.so.6&lt;br /&gt;Reading symbols from /usr/lib/libHalf.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libHalf.so.6&lt;br /&gt;Reading symbols from /usr/lib/libIex.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libIex.so.6&lt;br /&gt;Reading symbols from /usr/lib/libIlmThread.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libIlmThread.so.6&lt;br /&gt;Reading symbols from /lib/libx86.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /lib/libx86.so.1&lt;br /&gt;Reading symbols from /usr/local/lib/libv4lconvert.so.0...done.&lt;br /&gt;Loaded symbols for /usr/local/lib/libv4lconvert.so.0&lt;br /&gt;Reading symbols from /usr/lib/libXau.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libXau.so.6&lt;br /&gt;Reading symbols from /usr/lib/libXdmcp.so.6...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libXdmcp.so.6&lt;br /&gt;Reading symbols from /usr/lib/liblcms.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/liblcms.so.1&lt;br /&gt;Reading symbols from /usr/local/lib/OGRE/RenderSystem_GL.so...done.&lt;br /&gt;Loaded symbols for /usr/local/lib/OGRE/RenderSystem_GL.so&lt;br /&gt;Reading symbols from /usr/lib/libGLU.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libGLU.so.1&lt;br /&gt;Reading symbols from /usr/lib/libGL.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libGL.so.1&lt;br /&gt;Reading symbols from /usr/lib/libXrandr.so.2...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libXrandr.so.2&lt;br /&gt;Reading symbols from /usr/lib/libGLcore.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libGLcore.so.1&lt;br /&gt;Reading symbols from /usr/lib/tls/libnvidia-tls.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/tls/libnvidia-tls.so.1&lt;br /&gt;Reading symbols from /usr/lib/libXrender.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libXrender.so.1&lt;br /&gt;Reading symbols from /usr/lib/libXcursor.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libXcursor.so.1&lt;br /&gt;Reading symbols from /usr/lib/libXfixes.so.3...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/libXfixes.so.3&lt;br /&gt;Reading symbols from /lib/i686/cmov/libnss_compat.so.2...Reading symbols from /usr/lib/debug/lib/i686/cmov/libnss_compat-2.11.2.so...done.&lt;br /&gt;done.&lt;br /&gt;Loaded symbols for /lib/i686/cmov/libnss_compat.so.2&lt;br /&gt;Reading symbols from /lib/i686/cmov/libnsl.so.1...Reading symbols from /usr/lib/debug/lib/i686/cmov/libnsl-2.11.2.so...done.&lt;br /&gt;done.&lt;br /&gt;Loaded symbols for /lib/i686/cmov/libnsl.so.1&lt;br /&gt;Reading symbols from /lib/i686/cmov/libnss_nis.so.2...Reading symbols from /usr/lib/debug/lib/i686/cmov/libnss_nis-2.11.2.so...done.&lt;br /&gt;done.&lt;br /&gt;Loaded symbols for /lib/i686/cmov/libnss_nis.so.2&lt;br /&gt;Reading symbols from /lib/i686/cmov/libnss_files.so.2...Reading symbols from /usr/lib/debug/lib/i686/cmov/libnss_files-2.11.2.so...done.&lt;br /&gt;done.&lt;br /&gt;Loaded symbols for /lib/i686/cmov/libnss_files.so.2&lt;br /&gt;Reading symbols from /usr/lib/alsa-lib/libasound_module_rate_speexrate.so...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/alsa-lib/libasound_module_rate_speexrate.so&lt;br /&gt;Reading symbols from /usr/lib/sse2/libspeexdsp.so.1...(no debugging symbols found)...done.&lt;br /&gt;Loaded symbols for /usr/lib/sse2/libspeexdsp.so.1&lt;br /&gt;Core was generated by `./OgreVisualizer'.&lt;br /&gt;Program terminated with signal 11, Segmentation fault.&lt;br /&gt;#0  0xb6dc563d in std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&amp;amp;) ()&lt;br /&gt;  from /usr/lib/libstdc++.so.6&lt;br /&gt;(gdb) bt&lt;br /&gt;#0  0xb6dc563d in std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&amp;amp;) ()&lt;br /&gt;  from /usr/lib/libstdc++.so.6&lt;br /&gt;#1  0xb73bb3c2 in std::_Rb_tree&lt;ogre::node*,&gt;, std::less&lt;ogre::node*&gt;, Ogre::STLAllocator&lt;ogre::node*, 0=""&gt; &gt; &gt;::_M_insert_(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, Ogre::Node* const&amp;amp;) ()&lt;br /&gt;  from /usr/local/lib/libOgreMain.so.1.7.1&lt;br /&gt;#2  0xb73b5a52 in _M_insert_unique (this=0xb6157ea0, child=0xb616aff8, forceParentUpdate=false) at /usr/include/c++/4.4/bits/stl_tree.h:1182&lt;br /&gt;#3  insert (this=0xb6157ea0, child=0xb616aff8, forceParentUpdate=false) at /usr/include/c++/4.4/bits/stl_set.h:411&lt;br /&gt;#4  Ogre::Node::requestUpdate (this=0xb6157ea0, child=0xb616aff8, forceParentUpdate=false)&lt;br /&gt;   at /home/balazsbela/Downloads/ogre_src_v1-7-1/OgreMain/src/OgreNode.cpp:805&lt;br /&gt;#5  0xb73b6a40 in Ogre::Node::needUpdate (this=0xb616aff8, forceParentUpdate=92)&lt;br /&gt;   at /home/balazsbela/Downloads/ogre_src_v1-7-1/OgreMain/src/OgreNode.cpp:789&lt;br /&gt;#6  0xb73b5038 in Ogre::Node::setScale (this=0x1825c, scale=...) at /home/balazsbela/Downloads/ogre_src_v1-7-1/OgreMain/src/OgreNode.cpp:638&lt;br /&gt;#7  0x0805d306 in VisualizerApplication::adjustNodes (this=0x9cd4808) at ../src/VisualizerApplication.cpp:236&lt;br /&gt;#8  0xb6e867f0 in ?? () from /usr/lib/libSDL_mixer-1.2.so.0&lt;br /&gt;#9  0xb6e8719a in ?? () from /usr/lib/libSDL_mixer-1.2.so.0&lt;br /&gt;#10 0xb6ed9b0d in ?? () from /usr/lib/libSDL-1.2.so.0&lt;br /&gt;#11 0xb6ee185e in ?? () from /usr/lib/libSDL-1.2.so.0&lt;br /&gt;#12 0xb6f2e0bd in ?? () from /usr/lib/libSDL-1.2.so.0&lt;br /&gt;#13 0xb6bc7955 in start_thread (arg=0xb198ab70) at pthread_create.c:300&lt;br /&gt;#14 0xb6ca6e7e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130&lt;br /&gt;(gdb) &lt;/ogre::node*,&gt;&lt;/ogre::node*&gt;&lt;/ogre::node*,&gt;&lt;/http:&gt;&lt;/http:&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I've had this bug for weeks, it's very frustrating.&lt;br /&gt;It seems like Ogre keeps an std::set with the Nodes which need updating, this std::set is a Red Black Tree.&lt;br /&gt;&lt;br /&gt;It instantly crashes once the node gets into the set at one point.&lt;br /&gt;I used the sdl semaphores to make sure that the callback function does not call visualize multiple times, before the previous call finished.&lt;br /&gt;&lt;br /&gt;I don't know what causes this crash. Maybe the std::set fills up from the frequent updating ? Maybe I should limit the framerate ?&lt;br /&gt;&lt;br /&gt;I tried using a &lt;a href="http://www.ogre3d.org/docs/api/html/classOgre_1_1Node_1_1Listener.html"&gt;NodeListener&lt;/a&gt; to only update a node if the previously queued update operation finished, but since it crashes when it's placed in the update queue, not when it gets updated, it didn't help.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Relevant methods for the crash, snippets from Ogre3d 1.7.1 source code:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;   void Node::setScale(const Vector3&amp;amp; scale)&lt;br /&gt;   {&lt;br /&gt;  assert(!scale.isNaN() &amp;amp;&amp;amp; "Invalid vector supplied as parameter");&lt;br /&gt;       mScale = scale;&lt;br /&gt;       needUpdate();&lt;br /&gt;   }&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; &lt;br /&gt;   void Node::requestUpdate(Node* child, bool forceParentUpdate)&lt;br /&gt;   {&lt;br /&gt;       // If we're already going to update everything this doesn't matter&lt;br /&gt;       if (mNeedChildUpdate)&lt;br /&gt;       {&lt;br /&gt;           return;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       mChildrenToUpdate.insert(child);&lt;br /&gt;       // Request selective update of me, if we didn't do it before&lt;br /&gt;       if (mParent &amp;amp;&amp;amp; (!mParentNotified || forceParentUpdate))&lt;br /&gt;  {&lt;br /&gt;           mParent-&gt;requestUpdate(this, forceParentUpdate);&lt;br /&gt;   mParentNotified = true ;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;   }&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;  typedef set&lt;node*&gt;::type ChildUpdateSet;&lt;br /&gt;&lt;br /&gt;/// List of children which need updating, used if self is not out of date but children are&lt;br /&gt;       mutable ChildUpdateSet mChildrenToUpdate;&lt;br /&gt;&lt;br /&gt;&lt;/node*&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;STL Set:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;   // insert/erase&lt;br /&gt;     /**&lt;br /&gt;      *  @brief Attempts to insert an element into the %set.&lt;br /&gt;      *  @param  x  Element to be inserted.&lt;br /&gt;      *  @return  A pair, of which the first element is an iterator that points&lt;br /&gt;      *           to the possibly inserted element, and the second is a bool&lt;br /&gt;      *           that is true if the element was actually inserted.&lt;br /&gt;      *&lt;br /&gt;      *  This function attempts to insert an element into the %set.  A %set&lt;br /&gt;      *  relies on unique keys and thus an element is only inserted if it is&lt;br /&gt;      *  not already present in the %set.&lt;br /&gt;      *&lt;br /&gt;      *  Insertion requires logarithmic time.&lt;br /&gt;      */&lt;br /&gt;     std::pair&lt;iterator, bool=""&gt;&lt;br /&gt;     insert(const value_type&amp;amp; __x)&lt;br /&gt;     {&lt;br /&gt; std::pair&lt;typename bool=""&gt; __p =&lt;br /&gt;   _M_t._M_insert_unique(__x);&lt;br /&gt; return std::pair&lt;iterator, bool=""&gt;(__p.first, __p.second);&lt;br /&gt;     }&lt;br /&gt;&lt;/iterator,&gt;&lt;/typename&gt;&lt;/iterator,&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;STL Tree:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; template&lt;typename typename="" _alloc=""&gt;&lt;br /&gt;   pair&lt;typename _alloc=""&gt;::iterator, bool&gt;&lt;br /&gt;   _Rb_tree&lt;_key,&gt;::&lt;br /&gt;   _M_insert_unique(const _Val&amp;amp; __v)&lt;br /&gt;   {&lt;br /&gt;     _Link_type __x = _M_begin();&lt;br /&gt;     _Link_type __y = _M_end();&lt;br /&gt;     bool __comp = true;&lt;br /&gt;     while (__x != 0)&lt;br /&gt; {&lt;br /&gt;   __y = __x;&lt;br /&gt;   __comp = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x));&lt;br /&gt;   __x = __comp ? _S_left(__x) : _S_right(__x);&lt;br /&gt; }&lt;br /&gt;     iterator __j = iterator(__y);&lt;br /&gt;     if (__comp)&lt;br /&gt; {&lt;br /&gt;   if (__j == begin())&lt;br /&gt;     return pair&lt;iterator, bool=""&gt;(_M_insert_(__x, __y, __v), true);&lt;br /&gt;   else&lt;br /&gt;     --__j;&lt;br /&gt; }&lt;br /&gt;     if (_M_impl._M_key_compare(_S_key(__j._M_node), _KeyOfValue()(__v)))&lt;br /&gt;&lt;span style="font-weight:bold;"&gt; return pair&lt;iterator, bool=""&gt;(_M_insert_(__x, __y, __v), true);&lt;br /&gt;&lt;/iterator,&gt;&lt;/span&gt;      return pair&lt;iterator, bool=""&gt;(__j, false);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt; template&lt;typename typename="" _alloc=""&gt;&lt;br /&gt;   typename _Rb_tree&lt;_key,&gt;::iterator&lt;br /&gt;   _Rb_tree&lt;_key,&gt;::&lt;br /&gt;   _M_insert_equal(const _Val&amp;amp; __v)&lt;br /&gt;   {&lt;br /&gt;     _Link_type __x = _M_begin();&lt;br /&gt;     _Link_type __y = _M_end();&lt;br /&gt;     while (__x != 0)&lt;br /&gt; {&lt;br /&gt;   __y = __x;&lt;br /&gt;   __x = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x)) ?&lt;br /&gt;         _S_left(__x) : _S_right(__x);&lt;br /&gt; }&lt;br /&gt;     return _M_insert_(__x, __y, __v);&lt;br /&gt;   }&lt;/typename&gt;&lt;/iterator,&gt;&lt;/iterator,&gt;&lt;/typename&gt;&lt;/typename&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So yeah, this bug is a stubborn one.&lt;br /&gt;If you would like to build the source code I will provide the instructions to do so, I also compiled it under windows, I have a build if you need it. If anyone has any idea how to fix the crash, I would be willing to donate beer :)).&lt;br /&gt;&lt;br /&gt;For now, here's a screenshot:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-yPEVTCwzq_w/TXE32p_QtWI/AAAAAAAAAMA/-Vohd_xIW8g/s1600/scr28.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://2.bp.blogspot.com/-yPEVTCwzq_w/TXE32p_QtWI/AAAAAAAAAMA/-Vohd_xIW8g/s400/scr28.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5580302825412408674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oh yeah, and you have full control of the camera, like in OgrePathfinder.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-1155322427504319608?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/1155322427504319608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=1155322427504319608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/1155322427504319608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/1155322427504319608'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2011/03/visualizing-music.html' title='Visualizing music'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-yPEVTCwzq_w/TXE32p_QtWI/AAAAAAAAAMA/-Vohd_xIW8g/s72-c/scr28.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-8286210199012081047</id><published>2010-07-23T23:10:00.019+03:00</published><updated>2010-07-25T09:31:12.242+03:00</updated><title type='text'>OgrePathFinder</title><content type='html'>I was always interested in graphics/game programming, so after an XNA/Blender workshop held at the faculty I've started to look into OpenGL programming. &lt;br /&gt;I had a few adventures with OpenGL and SDL, GLUT and other tools meant to make life with OpenGL easier. I have studied a few mesh loaders (obj and md2), but I soon realized the limitations of this form of development. &lt;br /&gt;Then I heard about Ogre3d, the Object-Oriented Graphics Rendering Engine.&lt;br /&gt;So I've looked into their tutorials and started studying it. After a few Hello World- like applications I have decided to go more in-depth. I studied the topics of Scene Managers, Scene Graphs, Lights, Cameras, Animations and whatnot. &lt;br /&gt;&lt;br /&gt;To put things in practice I've decided to write a simulation for my own implementation of the A* algorithm, written as an assignment at the university (from a list of problems, and we could choose the complexity of our solution).&lt;br /&gt;&lt;br /&gt;Therefore, OgrePathFinder was born.&lt;br /&gt;You can find the sourcecode and binaries (for Windows and Linux, since Ogre3d is cross-platform) at the Google code page:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;font-size:17pt"&gt;&lt;a href="http://code.google.com/p/ogrepathfinder/"&gt;http://code.google.com/p/ogrepathfinder/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Here is a youtube video demonstrating the application, complete with victory dance :&lt;br /&gt;&lt;br /&gt;&lt;object width="600" height="440"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xEyYBVxPtRQ&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="false"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/xEyYBVxPtRQ&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="false" width="600" height="440"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have ported the Ogre Character sample from the Samples SDK to the Ogre3D wiki tutorial framework. Most of the resources (meshes, textures whatnot) are part of the Character sample. The only thing that I modeled in blender was the obstacle cube. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The movements are based on calculating the traveled distance with vectors and with checking their bounds at every frame, so the movement is framerate dependent. I also wanted to learn collision detection so I've added raycasting too.&lt;br /&gt;You can see that the bounding boxes of obstacles in front of the character appear when touched by the ray. Raycasting is used to avoid walking in the front of an obstacle.&lt;br /&gt;I've also included a smaller labyrinth. Just copy labyrinth.in.2 into labyrinth.in.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The motion is framerate dependent, all bound checks take place in the main render loop, so the character could take a wrong turn at some point, and think it arrived to the goal, but Ogre is only a graphics engine and I didn't use a physics engine like PhysX or Bullet.&lt;br /&gt;The application seems to work well, but this is my first Ogre project, bugs may happen.&lt;br /&gt;&lt;br /&gt;It could help beginners in learning Ogre.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-8286210199012081047?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/8286210199012081047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=8286210199012081047' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/8286210199012081047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/8286210199012081047'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2010/07/ogrepathfinder.html' title='OgrePathFinder'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-6641321630646391016</id><published>2010-05-03T22:40:00.009+03:00</published><updated>2010-05-03T23:11:11.450+03:00</updated><title type='text'>Introduction to Android</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Now that the accepted GSoC projects were announced, I was informed that my proposal was not accepted.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Maemo project got 87 proposals this year. Here you can find the list of accepted projects:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://socghop.appspot.com/gsoc/org/home/google/gsoc2010/maemo"&gt;http://socghop.appspot.com/gsoc/org/home/google/gsoc2010/maemo&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I asked my potential mentor (he commented on my proposal) about the reason my proposal was refused.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Valério Valério to me&lt;/div&gt;&lt;div&gt;show details Apr 26 (8 days ago)&lt;/div&gt;&lt;div&gt;Hello,&lt;/div&gt;&lt;div&gt;- Hide quoted text -&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bela Balazs wrote:&lt;/div&gt;&lt;div&gt;Hello.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am sorry to waste your time. But I would like to ask why my GSoC proposal (http://socghop.appspot.com/document/show/user/balazsbela/maemotodo) was rejected.&lt;/div&gt;&lt;div&gt;I just want to know so that I can improve in the future. Please be very honest with me, I won't take it personally. I just want to know the reasons.&lt;/div&gt;&lt;div&gt;I understand that you got a lot a proposals and the places are very limited.&lt;/div&gt;&lt;div&gt;Just a few comments would satisfy my curiosity. What do you recommend for my next gsoc proposal.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Your proposal ranked 1/8 among the to-do application proposals, the simple reason was that we did not picked that project, otherwise your application would be chosen. I can't tell you what is in the private reviews, but is very positive.&lt;/div&gt;&lt;div&gt;From my side I can't point anything and would like to have you as student, due to your OSS background, but we can't pick all the projects :(.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Best regards,&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Valério&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thank you very much.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So yeah, that's that. So many ideas in the idea list and only 10 projects get accepted. &lt;/div&gt;&lt;div&gt;I wish them good luck and may Maemo become competitive as soon as possible.&lt;/div&gt;&lt;div&gt;In the mean time I will spend my summer with learning new technologies.&lt;/div&gt;&lt;div&gt;One of these new technologies is Google's shiny new operating system: Android.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I went ahead, installed the sdk, set up Eclipse and I've dived into Android development.&lt;/div&gt;&lt;div&gt;I wrote my own traditional Hello world type applications, the BMI Calculator.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are the images:&lt;/div&gt;&lt;a href="http://i.imgur.com/EA226.png" target="_blank"&gt;&lt;img src="http://3.bp.blogspot.com/_HOPPfj1Fmlk/S98pT1YmHHI/AAAAAAAAAH8/apSs5OQNwc8/s400/android.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 225px;" alt="" id="BLOGGER_PHOTO_ID_5467133893375564914" border="0" /&gt;&lt;div style="text-align: center;"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The message and the android image is changed according to the result, when Calculate is pressed.&lt;/div&gt;&lt;div&gt;&lt;a href="http://i.imgur.com/Sko1T.png" target="_blank"&gt;&lt;img src="http://1.bp.blogspot.com/_HOPPfj1Fmlk/S98p4dvqDwI/AAAAAAAAAIE/DHZ1flExQ4E/s400/bmicalc.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 198px;" alt="" id="BLOGGER_PHOTO_ID_5467134522685001474" border="0" /&gt; &lt;/a&gt;I really like the development environment and the APIs seem cool. The designer is very limited though and I spent too much time searching trough the properties to get a design I'm satisfied with.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I hope they start supporting Qt soon, that would be awesome (since it would work on Maemo and other Qt supported platforms too). Still I don't know if this will be happening any time soon.&lt;/div&gt;&lt;div&gt;I miss signals and slots.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll continue to study Android development and if I get the hang of it, maybe I'll implement my GSoC proposal for the Android platform and publish it in the market.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-6641321630646391016?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/6641321630646391016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=6641321630646391016' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6641321630646391016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6641321630646391016'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2010/05/introduction-to-android.html' title='Introduction to Android'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_HOPPfj1Fmlk/S98pT1YmHHI/AAAAAAAAAH8/apSs5OQNwc8/s72-c/android.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-7842705275953388381</id><published>2010-04-03T13:20:00.000+03:00</published><updated>2010-04-03T14:02:58.001+03:00</updated><title type='text'>Playing around with Maemo</title><content type='html'>Since Nokia acquired Trolltech we all knew that something awesome would come out of it. The days of Symbian and other slow and unstable mobile operating systems are coming to an end.&lt;div&gt;The best showcase of the Maemo operating system is the &lt;a href="http://www.youtube.com/watch?v=GhTtsZATwBQ"&gt;Nokia N900&lt;/a&gt;. Shiiiiiiny. &lt;/div&gt;&lt;div&gt;Now every time a good phone comes out people can't help compare it to the so called iPhone.&lt;/div&gt;&lt;div&gt;I deeply despise that device, and don't get me started on it because you'll get a post which you won't have the time to read.&lt;/div&gt;&lt;div&gt;I really think that we shouldn't trade our freedoms for sparkling, dumbed down interfaces under the banner of usability.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have often been praised for the Keep Things Simple and Clean approach I took when designing the interface of qOrganizer, now I don't believe it's the best I could come up with, but even my 55 year old father can use it and that must mean something.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So back to Maemo, as you can see , despite having a touch screen, the N900 has a real keyboard which is something I can respect after being frustrated by writing sms-es on a touch screen (even with vibration and noise as feedback, it's just not the same).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't know enough about Android to compare Maemo to it, but my friend has an Android phone and it's pretty cool.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I went ahead and installed the Maemo SDK. This is fairly easy on Debian, you can find some instructions &lt;a href="http://wiki.maemo.org/Documentation/Maemo5_Final_Installation"&gt;here&lt;/a&gt;. The Maemo SDK was brought to my attention in an e-mail by a user who suggested that I should port qOrganizer to it, so I went ahead and installed Qt in Scratchbox and tried to compile qOrganizer but some classes are missing(like QSystray and Printing related classes).&lt;/div&gt;&lt;div&gt;The Maemo operating system is simply a debian based linux, installed from scratch. &lt;/div&gt;&lt;div&gt;The package manager is fully integrated in the phone and it handles debian packages, which you can install from the shiny App manager interface of the phone or from the Scratchbox command line using apt-get, like on any Debian based system.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HOPPfj1Fmlk/S7cdYeedopI/AAAAAAAAAG0/ODnbkuZleDQ/s1600/appmanager.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 253px;" src="http://4.bp.blogspot.com/_HOPPfj1Fmlk/S7cdYeedopI/AAAAAAAAAG0/ODnbkuZleDQ/s400/appmanager.png" alt="" id="BLOGGER_PHOTO_ID_5455861779917546130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It can run any Qt application, and it has a great interface for them called Hildon.&lt;br /&gt;Here you can see my classic BMI calculator (it's like a hello world for me) running in the SDK (with no modification to the code at all).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HOPPfj1Fmlk/S7cedXOhPOI/AAAAAAAAAG8/6s-lQclP55o/s1600/bmi.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 255px;" src="http://4.bp.blogspot.com/_HOPPfj1Fmlk/S7cedXOhPOI/AAAAAAAAAG8/6s-lQclP55o/s400/bmi.png" alt="" id="BLOGGER_PHOTO_ID_5455862963382598882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So Maemo has the full awesomeness of Debian package management combined with the best tools used to write Desktop Linux applications on the embedded mobile platform. It already has many free applications and it's basically community maintained and open source (take that Apple!). Freedom and ease of use. Now we only have to wait for the price to drop.&lt;br /&gt;&lt;br /&gt;On a related note I have been thinking about participating in Google Summer of Code and I checked the idea list of the Maemo project and I've found this:&lt;br /&gt;&lt;br /&gt;&lt;table class="wikitable"&gt;&lt;tbody&gt;&lt;tr style="background: none repeat scroll 0% 0% LightGreen;"&gt;&lt;td&gt;&lt;i&gt;Advanced To-do list&lt;/i&gt; &lt;/td&gt;&lt;td&gt; Creating an advanced To-do  list, with the ability to attach files, including audio recording,  messages, emails, etc., linking multiple tasks and updating the priority  of a task based on the time left &lt;/td&gt;&lt;td&gt; maemo SDK, Qt &lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt; The current To-do lists in most Nokia mobiles are  disappointing. These added functionalities could make one's phone their  own 24 hr assistant &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;It's listed under easy, but hey I'm in my first year, and that doesn't mean that I can't expand on the idea and make it powerful and easy to use. I think this would suit me well and I'll be working on my idea description this week. We'll see how it goes.&lt;br /&gt;&lt;br /&gt;Wish me luck!&lt;br /&gt;&lt;br /&gt;PS: Happy Easter y'all!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-7842705275953388381?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/7842705275953388381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=7842705275953388381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/7842705275953388381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/7842705275953388381'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2010/04/playing-around-with-maemo.html' title='Playing around with Maemo'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_HOPPfj1Fmlk/S7cdYeedopI/AAAAAAAAAG0/ODnbkuZleDQ/s72-c/appmanager.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-6366840064362693604</id><published>2010-04-03T13:05:00.000+03:00</published><updated>2010-04-03T13:20:16.452+03:00</updated><title type='text'>University Experiences</title><content type='html'>For those of you who have just tuned in: I am currently a student in the second semester of the first year at the English section of &lt;a href="http://cs.ubbcluj.ro/www/index.php?module=language&amp;amp;lng_usr_op=setUserLanguage&amp;amp;user_language=en"&gt;Computer Science at Babeş-Bolyai University&lt;/a&gt; in Cluj Napoca.&lt;div&gt;I have found the second semester a lot more interesting than the first, we currently learn Object Oriented Programming (in C++) and programming under Unix (fork(),exec() that stuff), pretty basic stuff, but essential.&lt;/div&gt;&lt;div&gt;I had the illusion that I would have time for development in my free time this semester. Boy was I wrong. Although we learn basic stuff, there is always a lot of work to do. I have laboratory projects that have to be properly documented (some documentations reach 20 pages) every week. That basically keeps me pretty busy, but as an extra feature my timetable is pretty intense and keeps sleep deprivation at a constant level. But other than that, I like it and it keeps me interested, I only wish I had more time for my own ideas. I have detailed in my last post some ideas I would like to implement in qOrganizer, but it needs serious work. I recently turned 20 and I'm not the 10th grader who wrote that application in 2006 without having any real ideas about good coding practices and software design decisions anymore, so I guess waiting for some technologies to mature and make it into Qt doesn't hurt (I'm looking at you MySQL embedded).&lt;/div&gt;&lt;div&gt;Anyway, qOrganizer is usable in it's current form and I can always work on smaller projects just for the fun of it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Qt is great, and it's not a secret that I'm a great fan of it, but sometimes it makes the most basic things like capturing right clicks in a QCalendarWidget unnecessarily difficult.&lt;/div&gt;&lt;div&gt;Read &lt;a href="http://www.qtcentre.org/threads/28056-How-to-capture-right-clicked-dates-in-a-QCalendarWidget?p=133570&amp;amp;highlight=#post133570"&gt;this&lt;/a&gt; to get and idea what I'm talking about.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-6366840064362693604?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/6366840064362693604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=6366840064362693604' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6366840064362693604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6366840064362693604'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2010/04/university-experiences.html' title='University Experiences'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-9121647419981754004</id><published>2009-12-21T23:19:00.000+02:00</published><updated>2009-12-21T23:32:49.065+02:00</updated><title type='text'>A small update</title><content type='html'>&lt;div&gt;Now that I have gained entry into my desired University, and I have found that it's just as time-consuming like the last year of high school. Anyway, the second semester seems easier and maybe then I will have the time and energy to concentrate on my projects and plans. I have many ideas regarding qOrganizer, but first of all I need to rewrite the whole codebase, because the current design lacks the flexibility needed to implement these features. If all goes well the new qOrganizer will provide a full API for an extension system to third party developers (anyone interested in writing a plugin for qOrganizer). I hope I can turn it into a platform, since ideas are many and developers are few (err one).&lt;/div&gt;&lt;div&gt;Anyway, a small thing that I could work on is the MySQL feature of qOrganizer under windows.&lt;/div&gt;&lt;div&gt;It has been brought to my attention that Qt for windows has no prebuilt MySQL plugin.&lt;br /&gt;The truth is I've never noticed this, since it worked under linux (on which I do most of my development work), and SQLite worked under windows I just assumed it works by default.&lt;/div&gt;&lt;div&gt;Soon I learned this is not the case, so I went ahead and compiled my own QMySQL driver (after recompiling qt with mysql support and various tricks to compile qmysql with mingw). This was not an easy task and I hope that the developers from Nokia will find a way to make it just work in the future releases of Qt. But the point is that now it works.&lt;/div&gt;&lt;div&gt;If you need to use qOrganizer with mysql, go ahead and download the mysql enabled version.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Merry Christmas to everyone and a happy new year!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-9121647419981754004?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/9121647419981754004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=9121647419981754004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/9121647419981754004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/9121647419981754004'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2009/12/small-update.html' title='A small update'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-6899210171807286782</id><published>2008-12-10T21:12:00.001+02:00</published><updated>2008-12-10T21:13:11.807+02:00</updated><title type='text'>Net in KDE4 works finally</title><content type='html'>After a total recompile of Qt4, KDE4 apps can finally access the internet.&lt;br /&gt;Too bad the weather plasmoid can't find my city :))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-6899210171807286782?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/6899210171807286782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=6899210171807286782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6899210171807286782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6899210171807286782'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2008/12/net-in-kde4-works-finally.html' title='Net in KDE4 works finally'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-5953677429192727874</id><published>2008-12-08T17:31:00.000+02:00</published><updated>2008-12-08T18:54:31.336+02:00</updated><title type='text'>KDE4 got a lot better</title><content type='html'>After I installed Debian, I wanted a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;KDE&lt;/span&gt;4 desktop, just to play with it.&lt;br /&gt;My first option would have been installing the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;kde&lt;/span&gt; 4.1.3 packages from the experimental repository. This would remove my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;kde&lt;/span&gt;3, which I wanted to avoid.&lt;br /&gt;My other option would have been to use &lt;a href="http://wiki.debian.org/Kde4schroot"&gt;this&lt;/a&gt; tutorial to make a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;chroot&lt;/span&gt; environment in which I could install these packages without removing &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;kde&lt;/span&gt;3.&lt;br /&gt;I did this, it worked, but &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;chroots&lt;/span&gt; aren't notorious about their comfort, besides &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;KDE&lt;/span&gt; 4.2 beta was out. So I decided that I'll build the current &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;S&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;VN&lt;/span&gt; snapshot.&lt;br /&gt;I followed this &lt;a href="http://techbase.kde.org/Getting_Started/Build/KDE4"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;techbase&lt;/span&gt;&lt;/a&gt; article. But, you can use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;kdesvn&lt;/span&gt;. My friend, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;DjDarkman&lt;/span&gt;, has written a nice &lt;a href="http://djdarkmanx.blogspot.com/2008/11/compiling-kde4-from-svn-under-kubuntu.html"&gt;tutorial&lt;/a&gt; for Intrepid, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;although&lt;/span&gt; this one is &lt;a href="http://techbase.kde.org/Getting_Started/Build/kdesvn-build"&gt;good too&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;After resolving many dependencies, getting optional packages, checking out from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;svn&lt;/span&gt;, stuff like that, I was ready to compile a subset of my choice of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;kde&lt;/span&gt;4 modules. Again, I have to give credit to Debian, most of the dependencies can be easily installed from apt and if you need something very new (like the last version of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;cmake&lt;/span&gt;), you can install it from the experimental repository.&lt;br /&gt;&lt;br /&gt;After a few hours of compiling &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;KDE&lt;/span&gt;4 was ready to use, it still needed some configuring and fine tuning though. Now it's up and running as my default desktop environment.&lt;br /&gt;My desktop:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_HOPPfj1Fmlk/ST1Dg6cPMsI/AAAAAAAAAEY/6HKXNMidz2s/s1600-h/desktop.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_HOPPfj1Fmlk/ST1Dg6cPMsI/AAAAAAAAAEY/6HKXNMidz2s/s400/desktop.png" alt="" id="BLOGGER_PHOTO_ID_5277448571070657218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Dolphin is looking nice too:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HOPPfj1Fmlk/ST1DvQoKRbI/AAAAAAAAAEg/ue9a5dn13TM/s1600-h/dolphin.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_HOPPfj1Fmlk/ST1DvQoKRbI/AAAAAAAAAEg/ue9a5dn13TM/s400/dolphin.png" alt="" id="BLOGGER_PHOTO_ID_5277448817544414642" border="0" /&gt;&lt;/a&gt;As you can see, the look and feel of the desktop is very nice and professional, a bit mac like, but still original.&lt;br /&gt;Mostly everything runs fast and smooth. The desktop effects are light years faster than &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;compiz&lt;/span&gt;. They are very subtle, they don't attract my attention, but I'm sure I'd miss them if I would turn them off.&lt;br /&gt;Amarok 2 looks very promising too.&lt;br /&gt;&lt;br /&gt;I have some problems with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;kopete&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;kde&lt;/span&gt;4, but it's better than the last time I tried it. It's too buggy for me. I did report some of those &lt;a href="https://bugs.kde.org/show_bug.cgi?id=176821"&gt;bugs&lt;/a&gt;. So ,for the time being, I'm using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;kopete&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;kde&lt;/span&gt;3. I installed a nice &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;kde&lt;/span&gt;4 like theme for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;kde&lt;/span&gt;3, so the apps blend in. Also, there is a nice &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/7574"&gt;theme&lt;/a&gt; for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;firef&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;ox&lt;/span&gt;. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;gtk&lt;/span&gt;-qt engine takes care of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;gtk&lt;/span&gt; apps. So the desktop is pretty much uniform.&lt;br /&gt;&lt;br /&gt;My biggest problem is that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;kde&lt;/span&gt;4 apps except &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;kopete&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;kde&lt;/span&gt;4, can't access the net.&lt;br /&gt;I can ping google.com from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;konsole&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;kde&lt;/span&gt;4, but &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;amarok&lt;/span&gt; can't retrieve lyrics, the weather &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;plasmoid&lt;/span&gt; can't get data from it's servers, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;gethotnewstuff&lt;/span&gt; can't access it's serverlist and krusader kde4 can't connect to my favorite ftp servers.&lt;br /&gt;I tried asking everywhere on irc and it seems that only I have this problem.&lt;br /&gt;I tried recompiling kdebase with the networkmanager backend, but no results.&lt;br /&gt;I simply don't have net in kde4 apps (except a few of them). Not even in konqueror.&lt;br /&gt;&lt;blockquote&gt;kde-devel@debian:~$ solid-network query status&lt;br /&gt;solid-network(8683)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from  "/var/tmp/kdecache-kde-devel/ksycoca4"&lt;br /&gt;solid-network(8683)/Solid (NetworkManager) NMNetworkManagerPrivate::fillNetworkInterfacesList: Got device list&lt;br /&gt;solid-network(8683)/Solid (NetworkManager) NMNetworkManagerPrivate::fillNetworkInterfacesList:   adding: "/org/freedesktop/NetworkManager/Devices/eth0"&lt;br /&gt;solid-network(8683) Solid::Control::ManagerBasePrivate::loadBackend: Backend loaded:  "NetworkManager"&lt;br /&gt;solid-network(8683)/Solid (NetworkManager) NMNetworkManager::isNetworkingEnabled:&lt;br /&gt;solid-network(8683)/Solid (NetworkManager) NMNetworkManager::isNetworkingEnabled:   got state:  3&lt;br /&gt;networking: is enabled&lt;br /&gt;solid-network(8683)/Solid (NetworkManager) NMNetworkManager::isNetworkingEnabled:&lt;/blockquote&gt;&lt;br /&gt;As I saw in many cases, the net should work regardless of the network management backend in solid, so I guess that's not the problem.&lt;br /&gt;I'm sure that I set kde to connect directly, without proxies.&lt;br /&gt;I use pppoe, and the internet works in every non kde app, in konsole kde4 and in kopete kde4, so I have no idea what causes this problem.&lt;br /&gt;Anyway, I'm sure it will be fixed till the release. But if anyone has any idea please leave me comments.&lt;br /&gt;&lt;br /&gt;Yesterday, I decided that it's time I tried writing software with the KDE api.&lt;br /&gt;So I headed to the kde &lt;a href="http://techbase.kde.org/Development/Tutorials"&gt;techbase programming tutorials&lt;/a&gt;. After doing a few variations of the Hello World! application, I decided to write the application that I write every time I learn a new language/toolkit/api, the BMI calculator application. I used Qt-designer for the ui. I quickly familiarized myself with cmake and the guys from freenode #kde-devel helped me when I got stuck.&lt;br /&gt;So here it is, along with the other BMI calculators, the KBMICalc application:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HOPPfj1Fmlk/ST1LE8tazSI/AAAAAAAAAEo/xzGdWbzWinw/s1600-h/kbmicalc1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_HOPPfj1Fmlk/ST1LE8tazSI/AAAAAAAAAEo/xzGdWbzWinw/s400/kbmicalc1.png" alt="" id="BLOGGER_PHOTO_ID_5277456886736276770" border="0" /&gt;&lt;/a&gt;Top-left : Qt, top-right: Java (Eclipse RCP, SWT) , bottom-left: Java (Swing), bottom-right: KDE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It is pretty nice for a first app, the KDE api is a great complement of the Qt toolkit.&lt;br /&gt;The last year of high school is pretty rough on me, so I doubt I'll have time for any serious kde app. Also I would like to see how KDE4 works on Windows, it will be a very nice cross platform development framework.&lt;br /&gt;So in conclusion, my faith in KDE4 is restored, I'm excited again about this project and I can't wait till January for a truly stable and functional release, aimed at the masses.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;P.S. : Tomorrow I'll have an exam to obtain the Cambridge University Certificate in Advanced English (CAE), so wish me luck :).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-5953677429192727874?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/5953677429192727874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=5953677429192727874' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/5953677429192727874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/5953677429192727874'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2008/12/kde4-got-lot-better.html' title='KDE4 got a lot better'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_HOPPfj1Fmlk/ST1Dg6cPMsI/AAAAAAAAAEY/6HKXNMidz2s/s72-c/desktop.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-1244638202338120705</id><published>2008-11-23T13:39:00.000+02:00</published><updated>2008-11-23T14:30:25.634+02:00</updated><title type='text'>Shifting to Debian</title><content type='html'>Well, it has been a long time and no post. So I reckon it's time for an update.&lt;br /&gt;Since I need a stable and usable system, I wasn't willing to upgrade to Kubuntu Intrepid. I heard a lot about Debian from friends and I knew that it's a great distribution, so I thought I'd give it a try.&lt;br /&gt;I went to the &lt;a href="http://cdimage.debian.org/cdimage/lenny_di_rc1/i386/bt-dvd/"&gt;site&lt;/a&gt; and downloaded the latest torrent for the testing DVD.&lt;br /&gt;The installer was very friendly; I chose the expert gui mode.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HOPPfj1Fmlk/SSlIKEfJnxI/AAAAAAAAADs/yq3gsZBapn8/s1600-h/800px-Debian_Installer_graphical_etch.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_HOPPfj1Fmlk/SSlIKEfJnxI/AAAAAAAAADs/yq3gsZBapn8/s400/800px-Debian_Installer_graphical_etch.png" alt="" id="BLOGGER_PHOTO_ID_5271824176654163730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It was simple and straightforward, it even allowed me to choose what modules to load. As an example, I could load a pppoe module to set up my networking.&lt;br /&gt;It simply asked me if I wanted to install non-free software, I answered yes and it  installed all the codecs and drivers I needed. No questions asked. No need to google forums to find out which packages to install to get my mp3 working.&lt;br /&gt;It automatically detected my video card, installed the open source radeon driver and set up the optimal video mode. I was impressed.&lt;br /&gt;It installed Gnome by default, but I downloaded the kde packages with one command from the Romanian Debian mirrors. In 4 minutes I had kde. Great.&lt;br /&gt;&lt;br /&gt;I disabled the services I don't need and now it boots really fast.&lt;br /&gt;KDE works better. I can see everyone's avatars in kopete (I couldn't under kubuntu), and even amarok works great (even with crossfading).&lt;br /&gt;I was really happy with it.&lt;br /&gt;&lt;br /&gt;I enabled the unstable (sid) repositories and installed qOrganizer with one command. Yes, there is a &lt;a href="http://packages.debian.org/sid/qorganizer"&gt;qOrganizer package&lt;/a&gt; in the Debian repository, and now Ubuntu has &lt;a href="http://packages.ubuntu.com/jaunty/qorganizer"&gt;one&lt;/a&gt; too.&lt;br /&gt;&lt;br /&gt;This is what my desktop looks like:&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HOPPfj1Fmlk/SSlHB_5FXrI/AAAAAAAAADk/0p36yIU5M1o/s1600-h/snapshot3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_HOPPfj1Fmlk/SSlHB_5FXrI/AAAAAAAAADk/0p36yIU5M1o/s400/snapshot3.png" alt="" id="BLOGGER_PHOTO_ID_5271822938470178482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After I configured my system, I went on and compiled kde4 by hand from the SVN repositories. It wasn't hard and SVN is a lot better than the release.&lt;br /&gt;But it's still not good enough for me (I'm too picky).&lt;br /&gt;&lt;br /&gt;So, in conclusion, Debian rulz! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-1244638202338120705?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/1244638202338120705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=1244638202338120705' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/1244638202338120705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/1244638202338120705'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2008/11/shifting-to-debian.html' title='Shifting to Debian'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_HOPPfj1Fmlk/SSlIKEfJnxI/AAAAAAAAADs/yq3gsZBapn8/s72-c/800px-Debian_Installer_graphical_etch.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-5075367537650387361</id><published>2008-10-26T18:31:00.000+02:00</published><updated>2008-10-26T18:48:20.242+02:00</updated><title type='text'>KDE4 Mixed feelings</title><content type='html'>I've been keeping my eye on KDE4 for a long time and now that I heard that Kubuntu was adopting it as the default in Intrepid I was very curious.So I went on and downloaded the Kubuntu Intrepid RC live cd just to see if KDE4 was better on a fresh install.&lt;br /&gt;&lt;br /&gt;I had the kde4 packages installed on my Kubuntu hardy since the first release and after every update I tried it to see if I would be able to use it daily.&lt;br /&gt;I would like to point that this post is by no way a rant, I love KDE4 and I wish it was ready and everyone would be able to use it.I am also a long-time fan of KDE3, which I have been using from the first day I was introduced to Linux.&lt;br /&gt;&lt;br /&gt;That said, I ran into some serious usability problems.I like the new kopete-kde4 interface and I can see from the shell that it has new long awaited features like the ability to block messages from outside the contact list (for which I wrote a patch once, because I needed it badly in 0.12).&lt;br /&gt;But the kde4 version has serious bugs handling the Yahoo protocol.&lt;br /&gt;Don't get me wrong, I don't like yahoo, but everyone I know uses it.If I could , I would make everyone use Jabber with SSL, but it's not my choice.&lt;br /&gt;I need instant messaging really bad. The kde4 kopete is unable to retrieve avatars, sometimes status message and it takes and awful lot of time for it to recognize which of my contacts are online and even after it does, it shows it only partially.I didn't test the file sending, which is really important for me (it didn't work in kopete-kde3 either).&lt;br /&gt;&lt;br /&gt;Just to make things worse the kde3 version of kopete has the exact same problems using the kde4 libs.I don't know what workaround kubuntu will provide for this, but I sure hope they fix it.Maybe it will get fixed when telepathy/decibel will be ready.&lt;br /&gt;I'm afraid that issues like this will leave a bad first impresion about kde4 in the new users of Kubuntu Intrepid.Of course, I could just use pidgin, but thats not the point.&lt;br /&gt;&lt;br /&gt;The new folderview plasmoid bothers me too.Of course it's innovative but it really misses any form of configurability.What bothers me most is that it doesn't preview image files on the desktop.I know, it's a minor issue, but I miss that feature.&lt;br /&gt;&lt;br /&gt;On the positive side the new KDE4 has stunning animations and they all work seamlessly by default on my 5 year old ATI Radeon 9200SE.&lt;br /&gt;I also like the look and feel of kde4, it's really friendly and everything is in the right place, it's really elegant and all but it the default theme reminds me too much of Mac OS X, with that aluminium-like look, so that will get changed (I don't like Mac or anything Apple, don't even get me started on it).&lt;br /&gt;&lt;br /&gt;Overall, things have improved and maybe making it the default in Kubuntu 8.10 is just the radical action it needs to push kde4 in the right direction and make it as great (or hopefully a lot better) as it's legendary predecessor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-5075367537650387361?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/5075367537650387361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=5075367537650387361' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/5075367537650387361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/5075367537650387361'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2008/10/kde4-mixed-feelings.html' title='KDE4 Mixed feelings'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-4895186454016206609</id><published>2008-09-27T21:48:00.000+03:00</published><updated>2008-09-27T21:52:45.969+03:00</updated><title type='text'>qSslChat v1.1 Released</title><content type='html'>New qSslChat version :)&lt;br /&gt;&lt;br /&gt;Changelog:&lt;br /&gt;&lt;br /&gt;-Integrated link recognizing patch by Sydney Troz.Now it automatically recognizes links&lt;br /&gt;&lt;h3 style="font-weight: normal;" class="contenttext"&gt;&lt;span style="font-size:100%;"&gt; and opens them (when clicked) in the default browser.&lt;br /&gt;&lt;br /&gt;-Improved OpenSSL handshake options.Certificate errors are reported but ignored.&lt;br /&gt;&lt;br /&gt;-Fixed a bug in the anticipating mechanism.&lt;br /&gt;&lt;br /&gt;-Now the file-send dialog closes when the file is successfully sent. &lt;/span&gt;&lt;/h3&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-4895186454016206609?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/4895186454016206609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=4895186454016206609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/4895186454016206609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/4895186454016206609'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2008/09/qsslchat-v11-released.html' title='qSslChat v1.1 Released'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-7906638753641421446</id><published>2008-09-13T01:37:00.000+03:00</published><updated>2008-09-13T02:18:47.028+03:00</updated><title type='text'>Eclipse RCP - First impressions</title><content type='html'>So here I am again :).&lt;br /&gt;I have finished rewriting qOrganizer's database handling function.I cleaned up most of the saving/loading mechanism.It still needs some optimizations though, but it works and it is a lot faster.But don't get your hopes up.I didn't even dare to commit it to CVS yet.It's still really far from release.&lt;br /&gt;&lt;br /&gt;I got a nice qSslChat patch from Sydney Troz, a user.Now qSslChat automatically recognizes and opens links.&lt;br /&gt;I also received a Polish translation for qOrganizer.I fixed a huge bug that caused memory consumption to go wild when running qOrganizer on 64 bit systems.&lt;br /&gt;I silently updated the release not long ago.The current version is 3.1-4.&lt;br /&gt;qOrganizer is now on the verge of getting into Debian Lenny unstable.&lt;br /&gt;&lt;br /&gt;During the last two days I decided to give Eclipse a try.I heard about it's famous Rich Client Platform and since it was constantly praised I thought I should seriously look into it.&lt;br /&gt;The main atraction towards Eclipse RCP consists of the fact that it has a bussiness friendly license.Many small businesses use it to develop their own applications.Businesses which otherwise couldn't afford a .NET or a Qt license.&lt;br /&gt;Eclipse was originally developed by IBM after which it was handed over to the Eclipse organization.I really like everything IBM :).&lt;a href="http://en.wikipedia.org/wiki/Lotus_Notes"&gt;Lotus Notes&lt;/a&gt; uses Eclipse RCP too.&lt;br /&gt;It's good enough for &lt;a href="http://eclipsercp.org/book/chapters/RCP_Foreward2.pdf"&gt;NASA&lt;/a&gt; too.They used it in an application that processed data sent by the Spirit Mars rover.&lt;br /&gt;&lt;br /&gt;About a year ago I already started to learn Eclipse RCP but I wasn't really motivated (since that was when I learned Qt too and I found it a lot more interesting) and the tutorial I found wasn't the best so I kind of gave up on it.But now I decided to look into it again.&lt;br /&gt;I do like it very much.Every application is based on plugins.It's a very extensible and flexible framework.It gives code reusability paramount importance.Another big advantage is that it uses SWT, so everything looks native everywhere in sharp contrast with other UI toolkits like Swing.&lt;br /&gt;Last time I programmed in Java I remembered it being slow and very memory intensive.&lt;br /&gt;Too my surprise Eclipse is really fast and responsive.The Eclipse IDE makes it a joy to develop plugins.Code almost writes itself.It supports autocompletion and reference documentation is easily accessible within it.&lt;br /&gt;So it left me with a very good first impression although it has a really slow learning curve and it takes some time to familiarize yourself with eclipse specific concepts I think it has huge potential.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_HOPPfj1Fmlk/SMr2aBDZ2EI/AAAAAAAAAC8/j_NyOi08qyU/s1600-h/bmi.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_HOPPfj1Fmlk/SMr2aBDZ2EI/AAAAAAAAAC8/j_NyOi08qyU/s320/bmi.png" alt="" id="BLOGGER_PHOTO_ID_5245275642846107714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So here is a screenshot comparing a BMI (Body Mass Index) calculator application written in Qt (the one on the bottom), Swing (the one on the right, you can't miss it) and Eclipse RCP (the one on the left).&lt;br /&gt;The one thing I really miss is the signal-slot mechanism from Qt.Event listeners are a lot more painful.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Since the LHC went online I read a lot about it and about spa&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HOPPfj1Fmlk/SMr3wzH_nAI/AAAAAAAAADE/vt1leYfy4TI/s1600-h/milkyway2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_HOPPfj1Fmlk/SMr3wzH_nAI/AAAAAAAAADE/vt1leYfy4TI/s320/milkyway2.jpg" alt="" id="BLOGGER_PHOTO_ID_5245277133755882498" border="0" /&gt;&lt;/a&gt;ce in general.&lt;br /&gt;I found this really cool wallpaper featuring our galaxy, The Milky Way.&lt;br /&gt;&lt;br /&gt;It's a really fascinating sight :)&lt;br /&gt;&lt;br /&gt;Anyway, school starts Monday so I'll be really busy, but I'll try to free up some time to keep up with my projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-7906638753641421446?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/7906638753641421446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=7906638753641421446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/7906638753641421446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/7906638753641421446'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2008/09/eclipse-rcp-first-impressions.html' title='Eclipse RCP - First impressions'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_HOPPfj1Fmlk/SMr2aBDZ2EI/AAAAAAAAAC8/j_NyOi08qyU/s72-c/bmi.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-6006112146180572805</id><published>2008-09-04T18:53:00.000+03:00</published><updated>2008-09-04T18:58:08.266+03:00</updated><title type='text'>qSslChat v1.0 Beta released</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://qsslchat.sourceforge.net/qSslChat128.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 128px; height: 128px;" src="http://qsslchat.sourceforge.net/qSslChat128.png" alt="" border="0" /&gt;&lt;/a&gt; So today I released qSslChat v1.0 Beta.&lt;br /&gt;It's still a little buggy but I guess it's usable.&lt;br /&gt;The project got accepted on SourceForge and I made a webpage for it.&lt;br /&gt;Here it is:&lt;br /&gt; &lt;br /&gt;    &lt;a href="http://qsslchat.sourceforge.net/"&gt;http://qsslchat.sourceforge.net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Give it a try.If you bump into bugs please report them.Enjoy everyone. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-6006112146180572805?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/6006112146180572805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=6006112146180572805' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6006112146180572805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6006112146180572805'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2008/09/qsslchat-v10-beta-released.html' title='qSslChat v1.0 Beta released'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-7998621872384540294</id><published>2008-08-31T01:50:00.000+03:00</published><updated>2008-08-31T03:22:46.079+03:00</updated><title type='text'>Summary of summer 2008</title><content type='html'>So here we are, two weeks left out of the vacation.This summer was really short.I had big plans but it didn't quite work out the way I planned.Still, many things happened and I reckon that it's about time I wrote a blog post.&lt;br /&gt;When summer began I had plans for qOrganizer.These involved optimizing the database handling and removing the option of storing all data in text files.The database needed optimization because qOrganizer was my first project and I was quite a noob.I made many mistakes and if I want to continue this project I have to clean up that mess.But people can't use data so I have to write an importer tool to convert data into the new database format.&lt;br /&gt;I did write that.It uses threads and it's quite a  nice piece of code.I call it DBConvert module.&lt;br /&gt;It makes efficient use of inheritence.But database optimization is one of those things that don't require too much creativity.Frankly it's quite boring and I would have someone else do it if I could.So I left it half incorporated, and haven't touched the code ever since.&lt;br /&gt;I still have my plans though, like implementing a nice plugin system to enable third parties to write extensions for it.Among other things I would have liked to do a nice statistics module.&lt;br /&gt;Lets face it, people are lazy.I'm lazy too.I'm too lazy to write every event on every day and keep my stuff organized.It's too much for me.So I want qOrganizer to count recurring events, to search for a pattern and present me with a list of the most frequent events so I can just click them and focus on writing only new events.This is one of the small things that separate something good from something great.But none of this is implemented yet, these are still plans.&lt;br /&gt;&lt;br /&gt;My summer was very busy.My main aim, which I did acomplish, was to get my drivers license.&lt;br /&gt;I'm 18 now.And this summer was the only time where I had the time to learn how to drive and learn the legislation and everything else.I was right, it took me a while.I started it on June 17, on the first day of vacation, and got my license in august.I'm still glad to be over it, some of my friends still couldn't pass the exams.It's really not easy that easy to get a driver's license in Romania.It's mostly because of the new examination system.Now we have touchscreens and cameras staring at us.The new questions are harder and they do differ from a lot from the things we learned.Anyway, this is done.Thank God.&lt;br /&gt;&lt;br /&gt;Among other things I did, I spent a wonderfull week at the shores of the Balaton in Hungary.&lt;br /&gt;Lasting friendships have developed there.The only one I missed was my girlfriend.&lt;br /&gt;Yes, I'm defying a stereotype.Open source developers do have girlfriends.I'm in this relationship for 2 and a half years now.And it's ok.Altough she does have a hard time understanding how important coding is to me.&lt;br /&gt;&lt;br /&gt;I titled this blog "The place where I coredump when my brain segfaults", yet all I did was write articles about coding, so I reckon it's about time I get a bit more personal.This won't change the main topic of this blog though.&lt;br /&gt;I know a lot of open source developers and many people ask us why we do what we do,why write code for free and make it accessible to everyone, why bother, we don't get paid for it.&lt;br /&gt;I had a donate link on my site for almost a year now but I didn't even get 1 Euro from it.&lt;br /&gt;I did win a contest in Hungary with qOrganizer and I got a 400GB sata hard drive out of it, but other than that it's not a really profitable bussiness.Of course I'm not disapointed by this fact, it was never ment to be that way.I wouldn't have it any other way and neighter would my friends.&lt;br /&gt;But in this cutthroat capitalist world we live in outsiders find it hard to understand why anyone would ever do anything for free.That's the reason why many people attributed Linux with communism, although this is very far stretched.&lt;br /&gt;I had the rare opportunity to meet someone with poetic inclinations, someone who writes poems and makes them available for other poets and literature lovers to see, on the Internet.&lt;br /&gt;So I was curious.Me, an outsider to poetry, asked this person about the reason for writing, just like outsiders ask us why we code for free.&lt;br /&gt;I was told that writing poems is something that comes from the hearth, it is an uncontrolable urge to express one's feelings in this form of art, to exploit one's creativity.&lt;br /&gt;I was also told that this person wants to print a book someday and the reason for that was not making profit out of it, it was to reach a bigger audience.&lt;br /&gt;So, I feel like poetry is a lot like writing code.My friends and all the developers I know have this curiosity about how things work, how ideas can be implemented.It's something that also comes from the hearth, it's a natural consequence of ones personality.And in my opinion it is an art form, just like poetry,scultpure and painting.&lt;br /&gt;At first this seems like a bit of an absurd affirmation, code seems to have the same logic, the same structure, no matter who writes it.Every ftp client has a method of connecting to the server.Every word processor has a function to save files.It seems like writing code leaves no space for self expression and creativity.Well nothing could be further from the truth.&lt;br /&gt;Every developer has an unique style of coding.Everyone thinks differently.Every code is different, even if it does the same.It contains the fingerprint of it's author.It's like there are many surrealistic paintings but every painter has his own style.&lt;br /&gt;Altough, many problems follow a pattern.I recently looked into implementing design patterns.&lt;br /&gt;I'm not really good at following the rules.I like to have the freedom of making my own rules, I like to think outside the box, but if an existing solution has obvious benefits when comparred to my own idea, I'm happily willing to compromise.It's the only way to learn.&lt;br /&gt;&lt;br /&gt;Another important event of this summer was that I started a new project.&lt;br /&gt;I was talking to a friend one day, and I had a nice little story to tell, one that happened to me when I'm was 16, but it just wasn't the same when I wrote it down, I had to tell it in person, and I knew that.So here I was messing with my friend, his curiosity grew bigger by every minute, he was wandering what secret I had, that I wasn't willing to let it pass the yahoo servers.Of course it wasn't a secret or anything big in fact, it was just one of those nice stories one tells to make time pass faster.But it raised an interesting point.Secure chat.We started talking about security.&lt;br /&gt;What can one trust to be sure of his privacy?Well the answer was obvious for me.Encryption.&lt;br /&gt;Banks use it, companies use it.What better option do we have? Oh, of course.Direct connection, we don't want our messages to pass one centralized server where who knows what happens to them.One centralized server owned by big company.We joked about the guys at yahoo having good laughs at our stories.So I started searching the net for a little utility.Something that lets you connect directly and uses SSL to encrypt all data.To my surprise I couldn't find one I was happy with.I don't like java, I don't like .net.I want it to work under linux too.I couldn't find one written in Qt.So I decided to write one, I figured it would be nice and I eagerly awaited seeing what kind of code I would write, having all the experience I had with qOrganizer.So I looked into the use of QSslSocket and QTcpServer.And started writing my new program, cleverly and creatively entitled qSslChat :)).At least I gave it a name that would give a great hint to what the program does.And yes.Here I am.It works.It also has smileys, file sending everything to cover our chatting needs.I would call it beta quality.Today I filled the form at SourceForge to host it.&lt;br /&gt;So maybe tomorrow the code will reach the CVS repository.&lt;br /&gt;Anyway it's a nice project.I'm really enjoying it.I learned a lot.And the code is pretty readable too.&lt;br /&gt;&lt;br /&gt;So now the summer is on it's last legs.I guess it was ok, but I do regret not doing more.&lt;br /&gt;The biggest cause of this regret is that now school will start.This is my last year of highschool so it will be even worse than the other ones.And by worse I mean that it will require even more dedication.My school is pretty Spartan and takes things really seriously.I'm not familiar with the notion of free time during school.The Romanian education system is harsh enough but my school takes it to whole new levels.And since coding is art, I require it to be the only thing on my mind to do it right, so I can't really do a lot of coding during school.Anyway, I'll try my best in making things work out.&lt;br /&gt;&lt;br /&gt;I think this concludes this long and boring blogpost no one will ever read.I figure that at this point I could write anything, because no one ever reads this far.&lt;br /&gt;Take care everyone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-7998621872384540294?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/7998621872384540294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=7998621872384540294' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/7998621872384540294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/7998621872384540294'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2008/08/summary-of-summer-2008.html' title='Summary of summer 2008'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-2183484932938345626</id><published>2007-10-24T16:14:00.000+03:00</published><updated>2007-10-24T16:17:32.522+03:00</updated><title type='text'></title><content type='html'>Just to let you guys know why I don't write new posts.&lt;br /&gt;I'm really busy at school, learning and stuff sucks up all my time.&lt;br /&gt;I'm currently trying to learn (besides doing homework for every day) some algorithms and methods for some competitions. I'm trying to polish up my knowledge of Dynamic programming and stuff like that, so I'm quite busy ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-2183484932938345626?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/2183484932938345626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=2183484932938345626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/2183484932938345626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/2183484932938345626'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2007/10/just-to-let-you-guys-know-why-i-dont.html' title=''/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-916526031748222180</id><published>2007-10-06T01:29:00.000+03:00</published><updated>2007-10-06T01:31:43.692+03:00</updated><title type='text'>New website for qOrganizer is now available!</title><content type='html'>I just finished qOrganizers new website. It contains information about how to use the program, and answers to some important questions.&lt;br /&gt;Hope you like it:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://qorganizer.sf.net"&gt;http://qorganizer.sf.net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-916526031748222180?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/916526031748222180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=916526031748222180' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/916526031748222180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/916526031748222180'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2007/10/new-website-for-qorganizer-is-now.html' title='New website for qOrganizer is now available!'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-886585229934960507</id><published>2007-09-07T23:23:00.001+03:00</published><updated>2008-12-12T09:08:21.684+02:00</updated><title type='text'>Added two new icons for the toolbar.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HOPPfj1Fmlk/RuGzcT_H4_I/AAAAAAAAACU/JAe5jVS92PM/s1600-h/scr24.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_HOPPfj1Fmlk/RuGzcT_H4_I/AAAAAAAAACU/JAe5jVS92PM/s320/scr24.png" alt="" id="BLOGGER_PHOTO_ID_5107560751397594098" border="0" /&gt;&lt;/a&gt;I added two new, modded nuvoX icons to the toolbar, now the toolbar is officially full.&lt;br /&gt;One saves the current tables into the SQLite database, the other to MySQL, and there is also one for text files but the one for the current storring mode is not displayed.&lt;br /&gt;Also added an option to the setting dialog, so these can be turned off.&lt;br /&gt;&lt;br /&gt;Also I had my time with QMap, and added the ability to assign dates to marks, the date is updated when the current cell changes in the table with marks, it's in a QDateEdit next to the averages.&lt;br /&gt;This is a new sweet feature too.&lt;br /&gt;&lt;br /&gt;After long hot days now it's really cold, and I'm kind of sick.&lt;br /&gt;School is almost here, but I feel that I can release before school starts (here on September 17).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-886585229934960507?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/886585229934960507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=886585229934960507' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/886585229934960507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/886585229934960507'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2007/09/added-two-new-icons-for-toolbar.html' title='Added two new icons for the toolbar.'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_HOPPfj1Fmlk/RuGzcT_H4_I/AAAAAAAAACU/JAe5jVS92PM/s72-c/scr24.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-8542253935293880507</id><published>2007-09-06T23:54:00.001+03:00</published><updated>2008-12-12T09:08:22.016+02:00</updated><title type='text'>On the way to 3.0</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HOPPfj1Fmlk/RuBpIT_H49I/AAAAAAAAACE/GEHVntbTybo/s1600-h/scr22.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_HOPPfj1Fmlk/RuBpIT_H49I/AAAAAAAAACE/GEHVntbTybo/s320/scr22.png" alt="" id="BLOGGER_PHOTO_ID_5107197568963044306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="text-decoration: none;"&gt;qOrganizer got a new iconset today, I replaced my modified nuvoX 0.6 icons with original nuvoX 0.7&lt;br /&gt;icons, now it looks more nice.I'm not happy with the booklet icon though, but I couldn't find a better one in nuvoX.&lt;br /&gt;Here you can download nuvoX: &lt;a href="http://kde-look.org/content/show.php/nuvoX?content=38467"&gt;http://kde-look.org/content/show.php/nuvoX?content=38467&lt;/a&gt;&lt;br /&gt;All icons are png now, now more xpm.&lt;br /&gt;&lt;br /&gt;You can see a screenshot of the new tabbed settings dialog too.&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_HOPPfj1Fmlk/RuBpOD_H4-I/AAAAAAAAACM/5b7LaUWD6Zc/s1600-h/scr23.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_HOPPfj1Fmlk/RuBpOD_H4-I/AAAAAAAAACM/5b7LaUWD6Zc/s320/scr23.png" alt="" id="BLOGGER_PHOTO_ID_5107197667747292130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="text-decoration: none;"&gt;Now all settings are stored in QSettings using ini files in the folder ~/.qOrganizer (except one which is stored in the registry, this is the path to the .qOrganizer folder), the user can now change between folder paths, without restarting the application, the content will just load.&lt;br /&gt;So this was cleaned up too.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-8542253935293880507?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/8542253935293880507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=8542253935293880507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/8542253935293880507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/8542253935293880507'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2007/09/on-way-to-30.html' title='On the way to 3.0'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_HOPPfj1Fmlk/RuBpIT_H49I/AAAAAAAAACE/GEHVntbTybo/s72-c/scr22.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-8162649668077096545</id><published>2007-09-04T15:23:00.000+03:00</published><updated>2008-12-12T09:08:22.194+02:00</updated><title type='text'>Now we can drag and drop images to the journal.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HOPPfj1Fmlk/Rt1O7j_H47I/AAAAAAAAAB0/OoUh1lwPc_E/s1600-h/scr18.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_HOPPfj1Fmlk/Rt1O7j_H47I/AAAAAAAAAB0/OoUh1lwPc_E/s320/scr18.png" alt="" id="BLOGGER_PHOTO_ID_5106324337687258034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;qOrganizer got another nice feature, now we can just open konqueror (explorer) or any other program that deals with local files and just drag an image to the QTextEdit, it will get displayed and stored.&lt;br /&gt;&lt;br /&gt;Drag and drop looks pretty nice and here's the code to do it:&lt;br /&gt;&lt;br /&gt;void CQTextEdit::insertFromMimeData( const QMimeData *source )&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt;     if (source-&gt;hasFormat("text/uri-list"))&lt;br /&gt;     {&lt;br /&gt;         QTextCursor cursor = this-&gt;textCursor();&lt;br /&gt;         QTextDocument *document = this-&gt;document();&lt;br /&gt;         QString origin = source-&gt;urls()[0].toString();&lt;br /&gt;         #ifdef Q_OS_LINUX  //toLocalFile() doesn't work&lt;br /&gt;          origin.remove("file://");&lt;br /&gt;         #endif&lt;br /&gt;         #ifdef Q_OS_WIN32&lt;br /&gt;          origin.remove("file:///");&lt;br /&gt;         #endif&lt;br /&gt;         QImage *image = new QImage(origin);&lt;br /&gt;         if(!image-&gt;isNull())&lt;br /&gt;          {&lt;br /&gt;           document-&gt;addResource(QTextDocument::ImageResource,origin,image);&lt;br /&gt;           cursor.insertImage(origin);&lt;br /&gt;          }&lt;br /&gt;         delete image;&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;We have to subclass QTextEdit and reimplement insertFromMimeData()&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-8162649668077096545?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/8162649668077096545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=8162649668077096545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/8162649668077096545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/8162649668077096545'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2007/09/now-we-can-drag-and-drop-images-to.html' title='Now we can drag and drop images to the journal.'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_HOPPfj1Fmlk/Rt1O7j_H47I/AAAAAAAAAB0/OoUh1lwPc_E/s72-c/scr18.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-2602059553292428073</id><published>2007-09-01T00:25:00.000+03:00</published><updated>2008-12-12T09:08:22.404+02:00</updated><title type='text'>SQLite storing and search capabilityes finished.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HOPPfj1Fmlk/RtiKyj_H46I/AAAAAAAAABs/eL6pW-ZQx1s/s1600-h/scr15.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_HOPPfj1Fmlk/RtiKyj_H46I/AAAAAAAAABs/eL6pW-ZQx1s/s320/scr15.png" alt="" id="BLOGGER_PHOTO_ID_5104982778882548642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I finally finished the SQLite database managing functions, now the user can freely choose what storing mode he/she wants.Other than that, it decreases the overall lameness factor of the program (text files are primitive, but nevertheless fast :) ).&lt;br /&gt;I also implemented the ability to search through events and words in the journal so now the user can easily find which event occurred when.&lt;br /&gt;That looks pretty nice, I'm satisfied with it. I thought I would spare the translators from some work and just use &lt; &gt; for previous and next, well if it's pretty obvious.&lt;br /&gt;Also added some functions to save between storing modes. Example: when you are using text files as a storing mode and you have all your data in text files, you click File/Save to/Database and it saves your to-do list,timetable,booklet, and the schedule and journal for the current day into the SQLite database,&lt;br /&gt;so if you stored all your schedules in text files, you just click through them and press Ctrl+D (the equivalent of File/Save to/Database for each and you got your stuff stored in the DB.&lt;br /&gt;It's not the best mode but it should be ok, since you only have 2 months of stuff (if you were using the program from when it got stable).&lt;br /&gt;&lt;br /&gt;Also thought about making a config file with XML and moving every setting from the registry and from the current (lame) config file to it.But I realized that XML was an overkill for this kind of task so I think I'll move every setting (the ones from config.txt) to the registry (~/.config under linux, using QSettings), since every user has a different registry.Of course a config file would be better since several people could store separate data using a single system user, but why not create a new one for this kind of stuff.&lt;br /&gt;That will be decided.&lt;br /&gt;Just glad that SQLite and searching works nicely.&lt;br /&gt;Now I need to figure out how to achieve compatibility with MySQL :)&lt;br /&gt;&lt;br /&gt;The bigger problem is that I'm writing these on September 1, I'm drastically running out of time.&lt;br /&gt;I want to finish everything important until school starts, and when there is school I want to do easy stuff like webpage for the project, and documentation (yes I have 0 of it :D ), along with fixing bugs and adding minor features.&lt;br /&gt;Because when school is on I just don't have time for anything, not that it's that hard (mentally) it's just a lot of things to do. So I virtually have no free time, only on weekends.&lt;br /&gt;Yeah I know, that sucks :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-2602059553292428073?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/2602059553292428073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=2602059553292428073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/2602059553292428073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/2602059553292428073'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2007/08/sqlite-storing-and-search-capabilityes.html' title='SQLite storing and search capabilityes finished.'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_HOPPfj1Fmlk/RtiKyj_H46I/AAAAAAAAABs/eL6pW-ZQx1s/s72-c/scr15.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-6828139800572370088</id><published>2007-08-25T00:36:00.001+03:00</published><updated>2007-08-25T00:48:14.659+03:00</updated><title type='text'>Way too hot to work</title><content type='html'>One would think that in August the summer is coming to an end, but this is not the case :)&lt;br /&gt;It's been hot all day, I drank at least 3 L of fluid but I'm still thirsty.&lt;br /&gt;It's been at least 40 C today. I started working on SQLite support for qOrganizer but it has been way to hot to do anything, still got some things working :). So it was worth it.&lt;br /&gt;SQLite is kind of tricky, at least for what I want to do with it, but I'll figure it out.&lt;br /&gt;qOrganizer is starting to be a pretty neat project, more developers will join after October, I'm receiving many translations.&lt;br /&gt;&lt;br /&gt;I plan to integrate SQLite based data storing for version 3.0 and I would also like to clean up the settings dialog a bit, because it's getting crowded, I want to do it with nice little tabs, therefore translations also need to be updated.&lt;br /&gt;I also want to be able to search through events in the calendar , a search box would be nice under the journal but I currently don't really have an idea on how to do this.&lt;br /&gt;&lt;br /&gt;So if I finish these till the end of the summer vacation, well that would be neat :)&lt;br /&gt;I could then work on other easier stuff while in school, like documentation and project web page.&lt;br /&gt;&lt;br /&gt;I started this in June and it's pretty exciting to see how it developed and how it got where it is now.&lt;br /&gt;Open source is the best way too develop software, and now I can understand why.&lt;br /&gt;&lt;br /&gt;Anyway, take care :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-6828139800572370088?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/6828139800572370088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=6828139800572370088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6828139800572370088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/6828139800572370088'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2007/08/way-too-hot-to-work.html' title='Way too hot to work'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-7798078481554661004</id><published>2007-08-24T22:00:00.000+03:00</published><updated>2008-12-12T09:08:23.024+02:00</updated><title type='text'>qOrganizer v2.1 record downloads.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_HOPPfj1Fmlk/Rs9OFT_H44I/AAAAAAAAABc/SZwawygoEjU/s1600-h/scr5.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_HOPPfj1Fmlk/Rs9OFT_H44I/AAAAAAAAABc/SZwawygoEjU/s320/scr5.png" alt="" id="BLOGGER_PHOTO_ID_5102382756005405570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Since qOrganizer's release new is on sourceforge.net (on the main page) there are a lot of downloads today&lt;br /&gt;457 downloads at the time of writing. This is a new record.&lt;br /&gt;&lt;br /&gt;You can see qOrganizer on sourceforge front page&lt;br /&gt;&lt;br /&gt;Let's hope it keeps up ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-7798078481554661004?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/7798078481554661004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=7798078481554661004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/7798078481554661004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/7798078481554661004'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2007/08/qorganizer-v21-record-downloads.html' title='qOrganizer v2.1 record downloads.'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_HOPPfj1Fmlk/Rs9OFT_H44I/AAAAAAAAABc/SZwawygoEjU/s72-c/scr5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-3615162638129905071</id><published>2007-08-24T00:52:00.000+03:00</published><updated>2007-08-24T00:53:21.896+03:00</updated><title type='text'>qOrganizer v2.1 released.</title><content type='html'>2.1 is a bugfix release.&lt;br /&gt;I am planning to make pretty radical changes to the code (like adding SQLite support to store data), school is close, the vacation is comming to an end, I don't know when I'll get those implemented so I thought I'll make a bugfix release for 2.0 to get rid of the most annoying bugs.&lt;br /&gt;&lt;br /&gt;Changes in 2.1:&lt;br /&gt;&lt;br /&gt;-Fixed that ugly bug that occures the first time when you run qOrganizer, the bug that causes the main window to not appear until you quit (this was Windows only)&lt;br /&gt;-Enforced UTF8 on the config file too, so now if you have an UTF8 character in your path, it won't cause problems.&lt;br /&gt;-Updated Portuguese translation.&lt;br /&gt;-Made the to-do list and the timetable a lot bigger in size, so now the progress bar in the Completed column is more detailed even on Windows.&lt;br /&gt;-Added saving, and jumping to the current date even when the window is hidden by clicking the systray icon.&lt;br /&gt;&lt;br /&gt;That's all folks.&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;----------------------------------------------------&lt;br /&gt;The new release of qOrganizer comes loaded with many sweet features and is more polished than the previous releases. &lt;br /&gt;The version number 2.0 is well deserved considering all improvements compared to 1.0. &lt;br /&gt; &lt;br /&gt;Changes: &lt;br /&gt; &lt;br /&gt;-Average calculation implemented to deal with subjects separately and recalculate average for the subject when the row changes in the &lt;br /&gt;mark table. Also added a textfield containing the total average (all averages are rounded and their average is calculated) &lt;br /&gt; &lt;br /&gt;-Added the ability to change the date format displayed (thanks for the patch to Evgeniy Ivanov (powerfox)) &lt;br /&gt; &lt;br /&gt;-Added a feature for uploading and downloading all data files stored by the program to a remote ftp server. &lt;br /&gt;So when you go on holyday (I know it's late know :D) you just provide the details to access the ftp server hit the download button and you have immediate access to all data stored by qOrganizer. &lt;br /&gt; &lt;br /&gt;BIG FAT NOTE: Do not use an important ftp server for this feature, also don't use untrusted ftp servers to upload sensitive data (because all data is stored unencrypted on the server). &lt;br /&gt;If you are not sure that your computer is secure do not use this feature because the password to the ftp server is stored on the local machine. &lt;br /&gt;I can not be hold responsible for any damage caused by this software.This program is provided WITHOUT WARRANTY, read the file COPYING for details. &lt;br /&gt;But normally you should be okay.  &lt;br /&gt; &lt;br /&gt;-Added support for non Latin charsets :) &lt;br /&gt;(again thanks to Evgeniy Ivanov for figuring this out and submitting a patch) &lt;br /&gt; &lt;br /&gt;-Corrected some memory leaks. &lt;br /&gt; &lt;br /&gt;-Added custom delegates in the tables to improve usability and the intuitively of the interface. &lt;br /&gt; &lt;br /&gt;-Added extra menus, and made everything accessible from the menu (or with keyboard shortcuts) &lt;br /&gt; &lt;br /&gt;-Added an option to reload data when the view changes. &lt;br /&gt;This feature was suggested by Blaz Kure, it improves using multiple computers with one folder of settings stored on a network drive. &lt;br /&gt; &lt;br /&gt;-Added a column labeled Start to represent the date when a task was started. &lt;br /&gt; &lt;br /&gt;-Made the timetable headers translatable. &lt;br /&gt; &lt;br /&gt;-Added sound to reminders, when a reminder hits a sound is played. &lt;br /&gt;I used a sound from k3b, since it's under GPL, the file named:k3b_success1.wav. &lt;br /&gt;Of course this setting can be turned off in the settings dialog. &lt;br /&gt; &lt;br /&gt;-A lot of bug fixes! &lt;br /&gt; &lt;br /&gt;-Added translations: Portuguese (thanks to Luis Bastos (&lt;a href="http://programaslivres.net/" target="_new"&gt;http://programaslivres.net/&lt;/a&gt;)), Slovenian (thanks to Blaz Kure), Russian (thanks to Evgeniy Ivanov). &lt;br /&gt; &lt;br /&gt;BIG THANKS TO ALL TRANSLATORS :) &lt;br /&gt;AND A SPECIAL THANKS TO Evgeniy Ivanov for his contributions.  &lt;br /&gt; &lt;br /&gt;Please back up the .qOrganizer folder before upgrading, the to-do list will be broken because of the new Start column, everything else should be fine.Of course adjust all settings. &lt;br /&gt; &lt;br /&gt;If you encounter any bugs please report them on the projects SourceForge.net (btw: thanks to SourceForge.net for hosting the project and for excellent services) page: &lt;br /&gt; &lt;br /&gt;&lt;a href="http://sourceforge.net/projects/qOrganizer" target="_new"&gt;http://sourceforge.net/projects/qOrganizer&lt;/a&gt; &lt;br /&gt; &lt;br /&gt;Or just write me an e-mail: balazsbela ( a t ) gmail.com &lt;br /&gt;If you would like to translate qOrganizer, or request a feature, or just tell me your opinion you can contact me at the e-mail address above. &lt;br /&gt;All feedback is welcomed and appreciated! &lt;br /&gt; &lt;br /&gt;And as always, enjoy! &lt;br /&gt; ---------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;Note: Under linux, the source package is the official release, the deb and the rpm are just binaries. &lt;br /&gt;The file qOrganizer-2.1.tar.gz contains a binary file too which can be installed with the script install.sh which must be run as root. &lt;br /&gt; &lt;br /&gt;You can also compile the source if you have qt4 installed, &lt;br /&gt;with the commands: &lt;br /&gt;qmake-qt4 &lt;br /&gt;make &lt;br /&gt;or under windows: &lt;br /&gt;qmake  &lt;br /&gt;make release&lt;br /&gt; &lt;br /&gt;Under windows the package qOrganizer-2.1-win-full.zip is for  &lt;br /&gt;users without qt4 installed, and the file qOrganizer-2.1-win-light.zip is for users with qt4 installed (it doesn't contain the necessary dlls to run). &lt;br /&gt;If you are not sure download: qOrganizer-2.1-win-full.zip&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-3615162638129905071?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/3615162638129905071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=3615162638129905071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/3615162638129905071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/3615162638129905071'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2007/08/qorganizer-v21-released.html' title='qOrganizer v2.1 released.'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-7361850694785134029</id><published>2007-08-24T00:39:00.000+03:00</published><updated>2007-08-24T00:51:33.874+03:00</updated><title type='text'>A little bit about qOrganizer</title><content type='html'>So this is my summer project, yeah yeah I know, summer is mostly over, well the project is mostly completed so feel free to check it out and give it a try, you will be pleased :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sourceforge.net/projects/qorganizer"&gt;qOrganizer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After you checked it out you might be asking yourself why is this project needed and why write just another organizer, why would you download it, and why is it good.&lt;br /&gt;I will try to answer these questions.&lt;br /&gt;&lt;br /&gt;Days are relatively long, with many tasks to be done, if you can sum up what you need to do and when then you can become more productive.&lt;br /&gt;This is the goal of all organizers,calendars,to-do lists,pims etc.&lt;br /&gt;&lt;br /&gt;But the most of them (at least the ones I tried) get carried away, and achieve the opposite of what has been planed.&lt;br /&gt;&lt;br /&gt;The main desire is clarity, when you look at the qOrganizer interface you see information that is important to you.&lt;br /&gt;All in one place, clearly and simply, focusing on the present.&lt;br /&gt;&lt;br /&gt;I saw many similar programs that used so called schedules which enumerated all the 24 hours in one day &lt;br /&gt;and fitted your tasks in a tiny area between all that irrelevant information.&lt;br /&gt;Clearly if you enumerate every hour in a day it will not be easily readable and there is a big risk you will miss something important.&lt;br /&gt;The goal is for you to know what you need to do just by taking a look at it, and not having to search.&lt;br /&gt;&lt;br /&gt;This is where qOrganizer comes in with it's new approach to scheduling.&lt;br /&gt;It just simply lists what needs to be done, when and optionally sets a reminder for you to not forget about it.&lt;br /&gt;Also plays a sound(this can be turned off or on in the settings dialog) when the reminder is launched.&lt;br /&gt;Clear, simple, and straight to the point, just the information you need, minimizing the risk of missing anything.&lt;br /&gt;&lt;br /&gt;It avoids adding categories to events because it recognizes that not every event can be categorized, and forcing the user to do so can be time consuming, and pointless.&lt;br /&gt;&lt;br /&gt;Also it recognizes that days can not be described using schedules, more is needed, therefore it provides a space where you can put additional notes, maybe a journal, but doesn't force you to do so.&lt;br /&gt;The text can be nicely formated to increase clarity.&lt;br /&gt;&lt;br /&gt;The to-do list is needed because there are general tasks, things that need to be done, deadlines that need to be met, without knowing when it will be finished.&lt;br /&gt;This offers , once again, clarity.Only important information is stored, and shown, all in one page, nothing can be missed accidentally.&lt;br /&gt;It provides the option to specify the deadline of the task (if it has one), the priority, and the amount in which it is completed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The priority can be from 1 to 10 (or from 1 to 100 because it's an editable combo box), or low,medium,high or whatever the user chooses or thinks that it should be, no system is enforced&lt;br /&gt;The completed parameter shows the percent that is, well completed, in a nice progress bar.&lt;br /&gt;&lt;br /&gt;The user can also sort the to-do list based on these parameters or just alphabetically.&lt;br /&gt;It's better to use a scale from 1 to 10  in the priority column since it can be sorted.&lt;br /&gt;The user interface is rich, allowing users to pick dates with a nice popup calendar.&lt;br /&gt;&lt;br /&gt;The timetable is included because if you are a student, it really influences how you plan things and it is good to always have in sight.&lt;br /&gt;Also your marks and your absences may influence your schedule so it's good to keep track of them in one place.It also calculates averages.&lt;br /&gt;&lt;br /&gt;I think that managing contacts is not a task for an organizer, it should be done by the e-mail client,&lt;br /&gt;or by the IM client or whatever is used to get connected with the contacts.&lt;br /&gt;&lt;br /&gt;The question that was raised in me when looking for a good organizer was:&lt;br /&gt;How could I assign the task of organizing my data to a program that is not organized itself?&lt;br /&gt;So this is the main goal of this project, creating an organizer software that is well organized, and contains only necessary information to provide clarity.&lt;br /&gt;&lt;br /&gt;The other goal is usability, the interface should be intuitive, an average user should be able to figure out how the software is used in maximum 5 minutes of use.&lt;br /&gt;&lt;br /&gt;With this innovative, new approach to organizing information, qOrganizer seeks to do it's job as well as possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-7361850694785134029?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/7361850694785134029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=7361850694785134029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/7361850694785134029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/7361850694785134029'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2007/08/little-bit-about-qorganizer.html' title='A little bit about qOrganizer'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4569535597652759630.post-1929924683069269666</id><published>2007-08-24T00:25:00.001+03:00</published><updated>2007-08-24T00:26:33.333+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='whatever'/><title type='text'>Ok so blog created</title><content type='html'>The blog was created.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4569535597652759630-1929924683069269666?l=balazsbela.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://balazsbela.blogspot.com/feeds/1929924683069269666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4569535597652759630&amp;postID=1929924683069269666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/1929924683069269666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4569535597652759630/posts/default/1929924683069269666'/><link rel='alternate' type='text/html' href='http://balazsbela.blogspot.com/2007/08/ok-so-blog-created.html' title='Ok so blog created'/><author><name>Balázs Béla</name><uri>http://www.blogger.com/profile/05474261253329324313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
