<?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-2908220561038929868</id><updated>2012-02-17T04:07:36.611+01:00</updated><category term='Internal'/><category term='c#'/><category term='loneseek'/><category term='openbsd'/><category term='pc-bsd'/><category term='ms'/><category term='mysql'/><category term='perl'/><category term='bsd'/><category term='freebsd'/><category term='xss'/><category term='daily hack'/><category term='misc'/><title type='text'>when code meets insanity</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2908220561038929868.post-1282381883136863015</id><published>2007-06-14T15:31:00.000+01:00</published><updated>2007-06-14T21:46:22.568+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internal'/><category scheme='http://www.blogger.com/atom/ns#' term='bsd'/><title type='text'>Saladrex is bored</title><content type='html'>My server and network machine Saladrex is really bored. It barely reaches a CPU workload of 1%. Therefore I decided to help him out: I downloaded and installed &lt;a href="http://boinc.berkeley.edu/" target="_blank"&gt;BOINC&lt;/a&gt; via ports and it is now constantly calculating things for the &lt;a href="http://www.worldcommunitygrid.org/projects_showcase/viewFaahResearch.do" target="_blank"&gt;FightAIDS@home project&lt;/a&gt;. It is really depressing though... I use BOINCView to monitor it's working and it tells me that Saladrex is able to make 538 &lt;a href="http://en.wikipedia.org/wiki/FLOPS" target="_blank"&gt;MFLOPS&lt;/a&gt;. My Core 2 Duo machine Scylandara makes 766 &lt;a href="http://en.wikipedia.org/wiki/FLOPS" target="_blank"&gt;MFLOPS&lt;/a&gt; but is &lt;b&gt;only&lt;/b&gt; running on half work load. Here are some statistics:&lt;table topmargin="0" border="0"&gt;&lt;thead align="center"&gt;&lt;td&gt;&lt;b&gt;Box&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;CPU(s)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Memory&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;MFLOPS (at 50%)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;MFLOPS (at 100%)&lt;/b&gt;&lt;/td&gt;&lt;/thead&gt;&lt;br /&gt;&lt;tr align="center"&gt;&lt;td&gt;Scylandara&lt;/td&gt;&lt;td&gt;Core 2 Duo @ 2,3 GHz&lt;/td&gt;&lt;td&gt;1GB DDR2&lt;/td&gt;&lt;td&gt;766&lt;/td&gt;&lt;td&gt;1632&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr align="center"&gt;&lt;td&gt;Saladrex&lt;/td&gt;&lt;td&gt;Intel Pentium 4 @ 1,8GHZ&lt;/td&gt;&lt;td&gt;512MB DDR-SDR&lt;/td&gt;&lt;td&gt;N/A&lt;/td&gt;&lt;td&gt;538&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;And here we go:&lt;br /&gt;&lt;a href="http://www.boincstats.com/stats/boinc_user_graph.php?id=04bb7165a3e28fb16614ff1c57a870a5" target="_blank"&gt;&lt;img src="http://www.boincstats.com/signature/user_1147056.gif"/&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-1282381883136863015?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/1282381883136863015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=1282381883136863015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/1282381883136863015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/1282381883136863015'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/06/saladrex-is-bored.html' title='Saladrex is bored'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-3436293294183801705</id><published>2007-06-11T12:27:00.000+01:00</published><updated>2007-06-11T12:32:56.965+01:00</updated><title type='text'>TODO tags in Qt 3.8.x</title><content type='html'>I recently tried to rescale a QPixmap containing a PNG with alpha values via resize(). Do you think it worked? No it didn't:&lt;br /&gt;&lt;pre&gt;QPixmap::resize: TODO: resize alpha data&lt;/pre&gt;I tried to overlay a battery icon with a fully transparent image just containing a blue bar which I tried to resize according to the percent of battery power left. Ha! Now I have to crop the image to the bar and place it directly in the image... damn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-3436293294183801705?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/3436293294183801705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=3436293294183801705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/3436293294183801705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/3436293294183801705'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/06/todo-tags-in-qt-38x.html' title='TODO tags in Qt 3.8.x'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-970729487278135493</id><published>2007-06-01T17:45:00.000+01:00</published><updated>2007-06-01T17:56:32.082+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>I screwed with my MySQL</title><content type='html'>I have some problems with my MySQL client on my workstation though. Everytime I wish to connect to my MySQL server it wrongly assumes the IP of my workstation instead of the remote peer and connects to the wrong one. Though when I ping the server manually and through the error dialog of the MySQL Administrator the IP is correct. Is this normal?&lt;br /&gt;&lt;br /&gt;&lt;img src="http://nohero.uttx.de/blog/mysql.png"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-970729487278135493?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/970729487278135493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=970729487278135493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/970729487278135493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/970729487278135493'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/06/i-screwed-with-my-mysql.html' title='I screwed with my MySQL'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-3065686408421304814</id><published>2007-05-26T10:11:00.000+01:00</published><updated>2007-05-26T10:31:34.233+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internal'/><category scheme='http://www.blogger.com/atom/ns#' term='ms'/><title type='text'>Remains CD</title><content type='html'>I got my hard copy of Muddasheeps Remains today. It was packed with some nice artwork, which I am going to show off in a few days: My sister took our camera to &lt;a href="http://www.pullmancity.de/" target="_blank"&gt;Pullman City&lt;/a&gt;, therefore I was  not able to take a picture of it, yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-3065686408421304814?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/3065686408421304814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=3065686408421304814' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/3065686408421304814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/3065686408421304814'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/05/remains-cd.html' title='Remains CD'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-1521959287491418318</id><published>2007-05-15T07:31:00.000+01:00</published><updated>2007-05-15T07:44:48.436+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><title type='text'>Turning off the bell in FreeBSD</title><content type='html'>It's that simple:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ echo hw.syscons.bell=0 &gt;&gt; /etc/sysctl.conf&lt;br /&gt;$ sysctl hw.syscons.bell=0&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-1521959287491418318?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/1521959287491418318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=1521959287491418318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/1521959287491418318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/1521959287491418318'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/05/turning-off-bell-in-freebsd.html' title='Turning off the bell in FreeBSD'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-4092678072968603303</id><published>2007-05-07T23:55:00.000+01:00</published><updated>2007-05-08T00:21:25.430+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pc-bsd'/><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><category scheme='http://www.blogger.com/atom/ns#' term='daily hack'/><title type='text'>HuaWeiClient under FreeBSD</title><content type='html'>I recently got mailed up by an Chinese student who wished to run the &lt;a href="http://sourceforge.net/projects/huaweiclient/" target="_blank"&gt;HuaWeiClient&lt;/a&gt; under FreeBSD. Though he could not compile it for two reasons:&lt;br /&gt;&lt;br /&gt;A wrong pragma pack in the global.h header file. GCC 3.4.6 did not like it:&lt;br /&gt;&lt;blockquote&gt;#pragma pack(push)&lt;br /&gt;#pragma pack(1)&lt;/blockquote&gt;&lt;br /&gt;As GCC suggested:&lt;br /&gt;&lt;pre&gt;warning: malformed '#pragma pack(push[, id], &lt;n&gt;)' - ignored&lt;/pre&gt;&lt;br /&gt;I corrected it:&lt;br /&gt;&lt;pre&gt;#pragma pack(push, 1)&lt;/pre&gt;&lt;br /&gt;And the code used some Linux specific ioctl() code named SIOCGIFHWADDR to get the mac address of the interfaces.&lt;br /&gt;&lt;pre&gt;if (!(ioctl (fd, SIOCGIFHWADDR, (char *) &amp;buf[i])))&lt;/pre&gt;&lt;br /&gt;I replaced it with the proper sysctl() calls:&lt;br /&gt;&lt;pre&gt;if ( sysctl(mib, 6, 0, &amp;len, 0, 0) == 0 )&lt;br /&gt;{&lt;br /&gt;  buf = new char[len];&lt;br /&gt;  if ( sysctl(mib, 6, buf, &amp;len, 0, 0) == 0 )&lt;br /&gt;  {&lt;br /&gt;    ifm = reinterpret_cast&lt;struct if_msghdr*&gt;(buf);&lt;br /&gt;    sdl = reinterpret_cast&lt;struct sockaddr_dl*&gt;(ifm+1);&lt;br /&gt;    ptr = reinterpret_cast&lt;unsigned char*&gt;(LLADDR(sdl));&lt;br /&gt;    // Now copy it into our destination buffer&lt;br /&gt;    for ( int j = 0; j &lt; 6; ++j )&lt;br /&gt;    {&lt;br /&gt;      infoarray[i].macaddr[j] = (int)ptr[j];&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I know... the struct keyword is not necessary or may be even not pure C++... but it is my style; go with it.&lt;br /&gt;The patches are available for download &lt;a href="http://members.a1.net/nohero/blognew/hcpatches.tar.gz" target="_blank"&gt;here&lt;/a&gt;. Just download the original software from the &lt;a href="http://sourceforge.net/projects/huaweiclient/" target="_blank"&gt;SorceForge project site&lt;/a&gt; and extract it. Then download my patches and extract them into the directory where your HuaWeiClient sources are located and type the following into a shell:&lt;br /&gt;&lt;pre&gt;$ patch global.h &lt; global.h.patch&lt;br /&gt;$ patch networkoperation.cpp &lt; networkoperation.cpp.patch&lt;/pre&gt;&lt;br /&gt;After you have finished patching the source files, compile it as usual. By typing:&lt;br /&gt;&lt;pre&gt;$ qmake&lt;br /&gt;$ make&lt;/pre&gt;&lt;br /&gt;If the patches do not work for you, please feel free to contact me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-4092678072968603303?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/4092678072968603303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=4092678072968603303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/4092678072968603303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/4092678072968603303'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/05/huaweiclient-under-freebsd.html' title='HuaWeiClient under FreeBSD'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-4422222896140471256</id><published>2007-05-06T18:28:00.000+01:00</published><updated>2007-05-06T18:32:06.651+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>HQ:Amen Kitty</title><content type='html'>Ha, Ha, Ha, staying alive, staying alive; Ha, Ha, Ha, staying alive, staying alive... &amp;gt;)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh6.google.com/image/fstinglmayr/Rj4QrfeWOxI/AAAAAAAAAB0/Fj1KXmHjjEU/19212931_750d5.png" alt="Sadistic Kitty"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-4422222896140471256?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/4422222896140471256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=4422222896140471256' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/4422222896140471256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/4422222896140471256'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/05/hqamen-kitty.html' title='HQ:Amen Kitty'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-822524263733704741</id><published>2007-05-05T19:54:00.000+01:00</published><updated>2007-05-05T20:10:10.304+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Last.fm</title><content type='html'>&lt;img src="http://lh3.google.com/image/fstinglmayr/RjzWcPeWOwI/AAAAAAAAABs/jGe0gWXwht8/lastfm.png" alt="Thank you last.fm..."/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-822524263733704741?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/822524263733704741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=822524263733704741' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/822524263733704741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/822524263733704741'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/05/lastfm.html' title='Last.fm'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-7130454533273778319</id><published>2007-04-18T15:07:00.000+01:00</published><updated>2007-04-18T15:14:40.790+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='daily hack'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>Tetrinetstats (former tnet2html) rewritten</title><content type='html'>I have completely rewritten the tnet2html perl script and renamed the project to "tetrinetstats". It is now capable of showing more than one winlist file and even to sum them up. Neat, isn't it? For an example of it's output take a look &lt;a href="http://nohero.dyndns.org/tetrinet/" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://members.a1.net/nohero/blognew/tetrinetstat.1.0.zip" target="_blank"&gt;Download&lt;/a&gt; (sample templates and CSS included).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-7130454533273778319?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/7130454533273778319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=7130454533273778319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/7130454533273778319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/7130454533273778319'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/04/tetrinetstats-former-tnet2html.html' title='Tetrinetstats (former tnet2html) rewritten'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-6709088194944363501</id><published>2007-03-29T20:20:00.000+01:00</published><updated>2007-03-29T20:39:54.941+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='daily hack'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>Tetrinet-X scores on a webpage</title><content type='html'>My home server (saladrex, FreeBSD machine) is now running a TetriNET server (tetrinet-x). Today I have written a small script which parses the game.winlist file the TetriNET server produces and displays it as HTML &lt;strong&gt;you&lt;/strong&gt; design. Generally it does the following:&lt;ol&gt;&lt;li&gt;Blindly sending a 'header.htm' to the client.&lt;/li&gt;&lt;li&gt;Reading and parsing the score file.&lt;/li&gt;&lt;li&gt;Sending out the content of a 'bit.htm' for each score field, and replacing $name with the name of the score holder and $score with the score value.&lt;/li&gt;&lt;li&gt;Blindly sending a 'footer.html' to the client.&lt;/li&gt;&lt;/ol&gt;So far it can only cover one winlist file. Though I am working on it! Tested on IIS and Apache 2; and sorry for the missing help file: Too lazy!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://members.a1.net/nohero/blognew/tnet2html.zip" target="_blank"&gt;Download&lt;/a&gt; (Sample HTML/CSS included)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-6709088194944363501?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/6709088194944363501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=6709088194944363501' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/6709088194944363501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/6709088194944363501'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/03/tetrinet-x-scores-on-webpage.html' title='Tetrinet-X scores on a webpage'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-4176137172398616378</id><published>2007-03-20T21:01:00.000+01:00</published><updated>2007-03-20T21:08:53.979+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='daily hack'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>flv2mpg utility</title><content type='html'>I have written a small but useful utility today: flv2mpg.pl. A perl script which tries to convert flash video files (.flv) specified via the command line to mpg files. The script uses ffmpeg do accomplish its task. I tested it both with the ffmpeg which is in the FreeBSD ports, and with a 'ffmpeg.exe' (win32 obviously) I downloaded somewhere. It is really useful when it comes to convert YouTube videos:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://members.a1.net/nohero/blognew/flv2mpg.zip" target="_blank"&gt;flv2mpg&lt;/a&gt;&lt;br /&gt;&lt;a href="http://members.a1.net/nohero/blognew/flv2mpg.ffmpeg.zip" target="_blank"&gt;flv2mpg - with ffmpeg.exe (Win32)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-4176137172398616378?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/4176137172398616378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=4176137172398616378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/4176137172398616378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/4176137172398616378'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/03/flv2mpg-utility.html' title='flv2mpg utility'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-38626373336107382</id><published>2007-03-19T15:25:00.000+01:00</published><updated>2007-03-19T15:38:33.052+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openbsd'/><category scheme='http://www.blogger.com/atom/ns#' term='bsd'/><title type='text'>OpenBSD T-Shirt</title><content type='html'>Wow, it's finally here. And it looks awesome! Here are some pictures:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_S0iNh-Wfgb0/Rf6dqFdghBI/AAAAAAAAAA4/oMBMNEsRuWY/s1600-h/shirt.jpg" target="_blank"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_S0iNh-Wfgb0/Rf6dqFdghBI/AAAAAAAAAA4/oMBMNEsRuWY/s320/shirt.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5043641979047543826" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_S0iNh-Wfgb0/Rf6dqldghCI/AAAAAAAAABA/MSScTsKE1Us/s1600-h/closeup.jpg" target="_blank"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_S0iNh-Wfgb0/Rf6dqldghCI/AAAAAAAAABA/MSScTsKE1Us/s320/closeup.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5043641987637478434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And I got the following:&lt;ul&gt;&lt;li&gt;Puffy transparent sticker.&lt;/li&gt;&lt;li&gt;A flyer for the OpenCON 2007 on 30th of November.&lt;/li&gt;&lt;li&gt;Flyer for the Chaos Communication Camp 2007&lt;/li&gt;&lt;li&gt;... and a flyer for the EuroBSDCon 2007&lt;/li&gt;&lt;/ul&gt;I definitely try to come the latter two.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-38626373336107382?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/38626373336107382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=38626373336107382' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/38626373336107382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/38626373336107382'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/03/openbsd-t-shirt.html' title='OpenBSD T-Shirt'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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://bp0.blogger.com/_S0iNh-Wfgb0/Rf6dqFdghBI/AAAAAAAAAA4/oMBMNEsRuWY/s72-c/shirt.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2908220561038929868.post-2756967614793413323</id><published>2007-03-13T23:09:00.000+01:00</published><updated>2007-03-13T23:20:48.774+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internal'/><category scheme='http://www.blogger.com/atom/ns#' term='xss'/><title type='text'>XSS on Aon.At</title><content type='html'>I recently discovered an XSS security hole on my ISPs website: &lt;a href="http://www.aon.at" target="_blank"&gt;aon.at&lt;/a&gt;. It can be used to create a "type 1" XSS attack against their search engine: &lt;a href="http://jawe.aon.at/search/aonGerman.sp?query=%3Cscript%3Ealert%2823%29%3B%3C%2Fscript%3E" target="_blank"&gt;POC&lt;/a&gt;. My email explaining my exposure has been accepted friendly by their support:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Thank you for informing us directly. After we have checked your link and/or input data ourselfs, we totally agree with the existence of this issue. We have redirected this issue it to our local administration. We will try to react to it as fast as possible.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Good work guys, and good luck.&lt;br /&gt;P.S: @Aon Support: Please stop writing HTML emails. My spine shivers to the thought that YOU guys send out HTML emails. ;-) Just kidding!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-2756967614793413323?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/2756967614793413323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=2756967614793413323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/2756967614793413323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/2756967614793413323'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/03/xss-on-aonat.html' title='XSS on Aon.At'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-7180034830284209061</id><published>2007-03-07T15:05:00.000+01:00</published><updated>2007-03-07T15:11:47.333+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internal'/><title type='text'>CISCO CCNA Final</title><content type='html'>Hey, final tests today. I made it up 70% without learning anything. Cool ey? The others haven't learned anything either, though they have cheated and were thus possible to reach the 90% percent (and above). I did not cheat at all and reached 70% without learning anything. Yeah, I am proud of it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-7180034830284209061?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/7180034830284209061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=7180034830284209061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/7180034830284209061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/7180034830284209061'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/03/cisci-ccna-final.html' title='CISCO CCNA Final'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-2363092939699954491</id><published>2007-03-04T14:29:00.000+01:00</published><updated>2007-03-04T14:33:45.419+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='loneseek'/><title type='text'>Chat functionality almost complete.</title><content type='html'>I have written public methods for leaving a room and for sending a room message today. The receiving of room messages also works now, and the LoneSeekGUI project (my test application) shows how to use it! The only things which are missing missing by now, are:&lt;ul&gt;&lt;li&gt;Room tickers (not really important though)&lt;/li&gt;&lt;li&gt;Private messages (they are important)&lt;/li&gt;&lt;li&gt;And the notifications when someone leaves/joines a room where you are in (important too, since I have to keep the user list in sync).&lt;/li&gt;&lt;/ul&gt;Good new stuff, isn't it? :). I also made some improvements on LoneChat (the IRC alike SoulSeek chat client), though it is not yet usable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-2363092939699954491?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/2363092939699954491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=2363092939699954491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/2363092939699954491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/2363092939699954491'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/03/chat-functionality-almost-complete.html' title='Chat functionality almost complete.'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-5569864309001245451</id><published>2007-03-02T17:14:00.000+01:00</published><updated>2007-03-02T17:21:17.505+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='loneseek'/><title type='text'>Even more LoneSeek improvements.</title><content type='html'>While our teacher explained the inner workings of Oracle 10g today, I made some improvements. And I introduced so many new features! Like joining a chatroom (it now works), and storing all users of the chatroom in a list. There is also code for sending/retrieving chat messages and leaving a chatroom behind the scenes, though they lack a public method. By the way, I also found out how to read the tickers of a room; I have updated my protocol documentation with a section explaining how to get the tickers for a room. Last but not least: My source code is in the &lt;a href="http://developer.berlios.de/projects/loneseek" target="_blank"&gt;BerliOS&lt;/a&gt; SVN repository.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-5569864309001245451?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/5569864309001245451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=5569864309001245451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/5569864309001245451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/5569864309001245451'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/03/even-more-loneseek-improvements.html' title='Even more LoneSeek improvements.'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-149865476675285461</id><published>2007-02-28T18:45:00.000+01:00</published><updated>2007-02-28T19:06:39.148+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='loneseek'/><title type='text'>LoneSeek improvements</title><content type='html'>Although I should have learned for my Cisco skill based test tomorrow I have improved LoneSeek. I am now working the chat functionality, and I have implemented the following things today:&lt;ul&gt;&lt;li&gt;Support for listing all available chat rooms.&lt;/li&gt;&lt;li&gt;Code for joining a chat room is there but not tested, I suppose there are still some bugs in it.&lt;/li&gt;&lt;/ul&gt;And I have fixed some bugs:&lt;ul&gt;&lt;li&gt;Removed a bug in the code which reads String arrays off a SoulSeek packet which caused the LoneSeek framework to hang up.&lt;/li&gt;&lt;li&gt;Using ReadBytes() now instead of Read() since Read() might not read ALL data as requested but just what it can. Read() was causing huge packets to be splitted up when the data were received with a little delay.&lt;/li&gt;&lt;li&gt;Fixed a bug where an event is being invoked without being checked if it is null.&lt;/li&gt;&lt;/ul&gt;There is still one issue I cannot resolve though: I am using a seperated thread to handle the incoming data and another one to process the packets. The first thread is reading the data, assembling the packet ships it to a queue. The second thread then dequeues the packets and dispatches them. The dispatching progress also requires the call of the events, so the event listeners get notified. But the use of threads require the event listener to use Invoke() everytime it is updating GUI controls. Has anyone a fix for that?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-149865476675285461?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/149865476675285461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=149865476675285461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/149865476675285461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/149865476675285461'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/02/loneseek-improvements_28.html' title='LoneSeek improvements'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-4659964844787189919</id><published>2007-02-27T20:34:00.000+01:00</published><updated>2007-02-27T21:01:00.461+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='loneseek'/><title type='text'>LoneSeek goes BerliOS and CodePlex</title><content type='html'>I guess I will move LoneSeek to BerliOS for normal developing (their SVN is pretty stable), publishing releases and for the website hosting. But I will also put in on CodePlex. I guess I will port major releases to CodePlex. Well &lt;a href="http://www.codeplex.com/loneseek" targer="_blank"&gt;here we go&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-4659964844787189919?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/4659964844787189919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=4659964844787189919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/4659964844787189919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/4659964844787189919'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/02/loneseek-goes-berlios-and-codeplex.html' title='LoneSeek goes BerliOS and CodePlex'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-4619766007654658087</id><published>2007-02-26T20:25:00.000+01:00</published><updated>2007-02-26T20:47:55.720+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internal'/><title type='text'>My new notebook.</title><content type='html'>After the monitor of my old Fujitsu-Siemens M1425 broke again (it is pretty dark and seems to have a defective contact - the third time something broke) I decided to buy a new one and plug the Fujitsu-Siemens on my KVM switch. I wanted something around 15" but it does not have to have the newest hardware though. I am just using it for working and for programming. Therefore my voted down for a Lenovo Thinkpad R60E. Yeah, E, I guess what you are thinking, but I hadn't enough money for anything above "R60E". And all above are using a Core 2 Duo Mobile; power I would never really use the advantage of though. It might not be the fastest high end machine but it does its work! I pretty sure I will install a FreeBSD 6.2 with KDE on it, but I am unsure if I should keep the Windows 5.1 Home it came with or reinstall by using a Windows 5.1 Professional.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-4619766007654658087?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/4619766007654658087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=4619766007654658087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/4619766007654658087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/4619766007654658087'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/02/my-new-notebook.html' title='My new notebook.'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-5682689270923533896</id><published>2007-02-25T22:20:00.000+01:00</published><updated>2007-02-25T22:51:30.166+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='loneseek'/><title type='text'>LoneSeek improvements.</title><content type='html'>&lt;p&gt;Just a quick summary on what I have done today on LoneSeek: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Improvement on the algorithm which reads the packets: I have completly rewritten the code which parses the packets: It is now centralized as "class PacketStream".&lt;/li&gt;&lt;li&gt;I have added some events to the LoneSeekClient class: OnConnect, OnDisconnect and OnLogin. I guess you can figure out when they are called. ;-)&lt;/li&gt;&lt;li&gt;File indexing service, which is used for sharing. You can now specify directories, which will be searched for files with file extension you specify. Ha! A functionality the official SoulSeek client doesn't have! &lt;/li&gt;&lt;li&gt;Tell the server the number of files and directories we share.&lt;/li&gt;&lt;li&gt;Tell the server which port we use.&lt;/li&gt;&lt;li&gt;Improved the network code: The last two points above are only invoked when we are successfully logged in.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Well... more code will follow soon. I am aiming for implementing the chat functionality.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-5682689270923533896?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/5682689270923533896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=5682689270923533896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/5682689270923533896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/5682689270923533896'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/02/loneseek-improvements.html' title='LoneSeek improvements.'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-3102776976035521656</id><published>2007-02-24T22:10:00.000+01:00</published><updated>2007-02-24T23:52:27.912+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='daily hack'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>HashCalc: A hash calculation utility.</title><content type='html'>Oh my was I bored today. After being feed up with programming on &lt;a href="http://http://mindcompletion.blogspot.com/2007/02/loneseek-soulseek-client.html"&gt;LoneSeek&lt;/a&gt; and noticing that my laptop's TFT screen is broken (it's hard to program on PC-BSD when you can hardly see what you write) I didn't know what to do. Therefore I picked out my "tools-I-ever-wanted-to-have" list and picked the first item: "Get some utility which can calculate hashes/checksums (md5, sha1) and compare them with existing values".&lt;br /&gt;&lt;br /&gt;So here we are: HashCalc, a hash/checksum calculation utility supporting various hash algorithms and forms of input data. Supported hash/checksum algorithms are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;MD5&lt;/li&gt;&lt;li&gt;SHA1&lt;/li&gt;&lt;li&gt;SHA256&lt;/li&gt;&lt;li&gt;SHA384&lt;/li&gt;&lt;li&gt;SHA512&lt;/li&gt;&lt;li&gt;CRC32&lt;/li&gt;&lt;li&gt;RIPEMD160&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Supported forms of input data are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Raw binary in hex notation (e.g. the output of hexdump)&lt;/li&gt;&lt;li&gt;Raw binary in decimal notation (for those who can't read hex)&lt;/li&gt;&lt;li&gt;Text in different encodings: ASCII, UTF7, UTF8, UTF16 Big Endian, UTF16 Little Endian, UTF32&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Screenshot:&lt;/p&gt;&lt;p&gt;&lt;a href="http://bp0.blogger.com/_S0iNh-Wfgb0/ReCsu4t7GjI/AAAAAAAAAAk/w5UsvOu_1Qk/s1600-h/hashcalc.png" target="_blank"&gt;&lt;img id="BLOGGER_PHOTO_ID_5035214304899177010" src="http://bp0.blogger.com/_S0iNh-Wfgb0/ReCsu4t7GjI/AAAAAAAAAAk/w5UsvOu_1Qk/s320/hashcalc.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Download links:&lt;/p&gt;&lt;p&gt;&lt;a href="http://members.a1.net/nohero/blognew/hashcalc.v100.zip" target="_blank"&gt;HashCalc v100&lt;/a&gt;&lt;br /&gt;&lt;a href="http://members.a1.net/nohero/blognew/hashcalc.v100.src.zip" target="_blank"&gt;HashCalc v100 Source Code&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-3102776976035521656?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/3102776976035521656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=3102776976035521656' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/3102776976035521656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/3102776976035521656'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/02/hashcalc-hash-calculation-utility.html' title='HashCalc: A hash calculation utility.'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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://bp0.blogger.com/_S0iNh-Wfgb0/ReCsu4t7GjI/AAAAAAAAAAk/w5UsvOu_1Qk/s72-c/hashcalc.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2908220561038929868.post-2888713457508209646</id><published>2007-02-24T19:37:00.000+01:00</published><updated>2007-02-24T19:49:34.976+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='loneseek'/><title type='text'>LoneSeek: A SoulSeek client</title><content type='html'>&lt;p&gt;I am currently writing on "LoneSeek" a (hopefuly) fully featured SoulSeek client. But it's a hard work to do, since there is only one document out there describing the protocol of SoulSeek, and this document is pretty outdated. I am on it though to implement the features and try to figure out what has changed since the document was written and the newest version of the SoulSeek (version 156) came out. A very interesting work, and I am sure I will release LoneSeek as soon as the features are useable. Current implementation details are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Library/Frontend implementation to keep the network code abstract.&lt;/li&gt;&lt;li&gt;Design is open for a SoulSeek server.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;And now what is currently working? Not much though:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Connection to official SoulSeek server.&lt;/li&gt;&lt;li&gt;Login via username/password.&lt;/li&gt;&lt;li&gt;Retrieving the welcoming message.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;What am I aiming for?&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A good threading model that keeps the speed accurate.&lt;/li&gt;&lt;li&gt;Full support for chatting, including rooms.&lt;/li&gt;&lt;li&gt;Full "privileged user" support.&lt;/li&gt;&lt;li&gt;File sharing support, including queueing and browsing.&lt;/li&gt;&lt;li&gt;A user friendly GUI.&lt;/li&gt;&lt;li&gt;Ports to other platforms than Windows.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-2888713457508209646?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/2888713457508209646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=2888713457508209646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/2888713457508209646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/2888713457508209646'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/02/loneseek-soulseek-client.html' title='LoneSeek: A SoulSeek client'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-2447709690913307909</id><published>2007-02-21T14:58:00.000+01:00</published><updated>2007-02-21T15:34:25.530+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='daily hack'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>A nice perl script</title><content type='html'>I wrote a neat perl script today. Quite helpful, in case someone is interested. The script 'createm3u' creates a M3U playlist with the files of a directory and its subdirectories matching a certain pattern you specify. Really neat to update an existing playlist or to quickly create a playlist:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;flo@nolaloth$ ./createm3u.pl mymedia.m3u ~/music/ .mp3 .ogg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This creates a playlist called 'mymedia.m3u' out of all files of the directory '~/music/' which have either .mp3 or .ogg as file ending.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://members.a1.net/nohero/blognew/createm3u.zip" target="_blank"&gt;Download the script.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-2447709690913307909?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/2447709690913307909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=2447709690913307909' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/2447709690913307909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/2447709690913307909'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/02/two-perl-scripts.html' title='A nice perl script'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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-2908220561038929868.post-7140529821900914992</id><published>2007-02-20T20:47:00.000+01:00</published><updated>2007-02-21T15:34:53.090+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internal'/><title type='text'>Without a voice</title><content type='html'>It seems like I cannot live without some way of airing my voice, hu? Although I believe no one will actually read it I will go on posting. At least for a moment. I definitely headed into the wrong direction with my first blog; full of broken thoughts never really sanitized to reflect my person. I wrote something, and after it got posted I edited it heavily to feel comfortable with what I wrote. I hope that becomes better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2908220561038929868-7140529821900914992?l=mindcompletion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mindcompletion.blogspot.com/feeds/7140529821900914992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2908220561038929868&amp;postID=7140529821900914992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/7140529821900914992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2908220561038929868/posts/default/7140529821900914992'/><link rel='alternate' type='text/html' href='http://mindcompletion.blogspot.com/2007/02/without-voice.html' title='Without a voice'/><author><name>flo</name><uri>http://www.blogger.com/profile/00298551866231251731</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>
