<?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-29917472</id><updated>2011-11-09T11:25:45.694-03:00</updated><category term='Various'/><category term='Unix'/><category term='Math'/><category term='Programming'/><title type='text'>David's Blog</title><subtitle type='html'>Unix, Math and Programming... But not in that order ;)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>60</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-29917472.post-4674730894866160574</id><published>2011-11-08T22:43:00.003-03:00</published><updated>2011-11-09T11:25:45.756-03:00</updated><title type='text'>Updates for everybody!</title><content type='html'>I'm a disaster to write a blog, sorry for the delay.&lt;br /&gt;There have been lot of news in the past few months. Let's enumerate one by one:&lt;br /&gt;I created a small project called mttools, and this is basically a set of tools to write good technical documentation, with formated code inside and some pretty nice features. The nice thing about this tools is that it forced me to learn Unix flex :-)&lt;br /&gt;You can check out this project at: &lt;a href="http://code.google.com/p/mttools"&gt;http://code.google.com/p/mttools&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As some of you might have noted, Kwort 3.2 got released, this is a pretty clean and nice release that got some really nice features and improvements. If you like Kwort &amp;gt; 3, please, step by &lt;a href="http://www.blogger.com/www.kwort.org"&gt;www.kwort.org&lt;/a&gt;,  read the announcement and try it.&lt;br /&gt;There's also some nice new features and bug fixes in kpkg, that were deployed with Kwort 3.2, if you're not using Kwort but you're using kpkg, you should step by &lt;a href="http://code.google.com/p/kpkg"&gt;http://code.google.com/p/kpkg&lt;/a&gt;&lt;br /&gt;One of the cool stuff that came up with Kwort 3.2 are the ports; we are now supporting the crux ports, that you can bring to your system by:&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-size: 11px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-size: 11px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; kpkg install httpup rsync fakeroot rsync&amp;nbsp;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-color: #ffffcc; background-image: initial; background-origin: initial; color: #222222;"&gt;ports&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I'll blog a little on the CRUX ports latter on.&lt;br /&gt;&lt;br /&gt;Also there's a new release of ktsuss, just baked. This release has some bug fixes in the su backend and guess what... There's a sudo backend now too!&lt;br /&gt;You should get the release at &lt;a href="http://code.google.com/p/ktsuss"&gt;http://code.google.com/p/ktsuss&lt;/a&gt;.&lt;br /&gt;NOTE: 1.4 code has critical bugs and is completely unmaintained, so please update to the latest release. I also removed all extra repositories like the one at berlios, github, etc, so there's now only one at google code avoiding confussions.&lt;br /&gt;&lt;br /&gt;The last few months I worked a little on LimShSQL and there's a full new re-write with a pretty shinny curses interface in limshsql-rewrite-1.0 branch, I think I should merge it soon  and package a release. Check it out here: &lt;a href="http://code.google.com/p/limshsql"&gt;http://code.google.com/p/limshsql&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-4674730894866160574?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/4674730894866160574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=4674730894866160574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/4674730894866160574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/4674730894866160574'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2011/11/updates-for-everybody.html' title='Updates for everybody!'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-725264665545287907</id><published>2011-03-27T22:08:00.004-03:00</published><updated>2011-03-27T22:45:07.614-03:00</updated><title type='text'>Goodbye lout... Hello troff</title><content type='html'>Five years ago I went to a dissertation on LaTeX given by Guido Macci, I left that dissertation telling myself "Yes, that's the way to go" and I liked formatting systems, by then I only knew LaTeX, but after seeing that in Slackware it was like 100mb in packages I said like "Ooook, wait a second... Is it that big?", it turned out it really was, and not only big, but a real mess under the hood, so I was kinda disappointed and desisted on the idea of using LaTex. Those who know me knows that I'm pretty minimalist, and having a formatting system of 100mb that was a mess was pretty much out of the table, but I still though it was the way to go.&lt;br /&gt;&lt;br /&gt;So I spoke to a friend (Emiliano Gavilan) who always liked that stuff and told my "problem" with LaTeX... So Emiliano recommended me to take a look at lout.&lt;br /&gt;&lt;br /&gt;That was in the beginning of 2006, so it's been like 5 years now with lout. Nowadays lout is kinda unmaintained, it has some bugs, the output generated is not as professional as LaTeX, and (I bet this is because I'm too lazy to learn them) there are some things that I never wasn't able to do.&lt;br /&gt;&lt;br /&gt;So last week I gave a chance to troff, and I keep myself reading the whole weekend, and I really liked, it's stable, small, well tested (almost 40 years :-D), and it is on every Unix out there (this is a BIG plus). I had some troubles inserting with code, but after digging I found vgrind (which I heard is unmaintained so we'll have to check in the future how it goes) which does the job pretty good.&lt;br /&gt;&lt;br /&gt;There are tons of books out there written with troff some pretty well known like "Advanced Programming in the UNIX Environment", "The C programming Language" or "The Design and Implementation of the 4.4BSD Operating System", there's a big list &lt;a href="http://troff.org/pubs.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you're interested in learning troff, you can read this book: &lt;a href="http://groff.ffii.org/groff/contrib/documentation/utp/utp-1.0.pdf"&gt;Dale Dougherty &amp; Tim O'Reilly - Unix Text Processing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I hope this turns out good.&lt;br /&gt;&lt;br /&gt;Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-725264665545287907?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/725264665545287907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=725264665545287907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/725264665545287907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/725264665545287907'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2011/03/goodbye-lout-hello-troff.html' title='Goodbye lout... Hello troff'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-8200786379408509188</id><published>2011-02-27T19:43:00.004-03:00</published><updated>2011-02-27T19:53:03.580-03:00</updated><title type='text'>Something that I was waiting for...</title><content type='html'>I want to share something with you guys...&lt;br /&gt;Last week (sorry for the delay) I got an email from Jørgen Thomsen telling me that gnu-pop3d was released:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Hello&lt;br /&gt;&lt;br /&gt;I just released GNU -pop3d 0.9.13 which is a more stable release than 0.9.12&lt;br /&gt;&lt;br /&gt;http://jth.net/virtual.html&lt;br /&gt;&lt;br /&gt;In a short time I will release 0.9.14 which will implement IPv6 support.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;So great, a new gnu-pop3d is available, so I saw the changelog and I saw this:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;        Bugfix: certain login methods did not work (David B. Cortarello)&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Pretty happy about the merging of my patch into mainstream. Thanks Jørgen!.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-8200786379408509188?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/8200786379408509188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=8200786379408509188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/8200786379408509188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/8200786379408509188'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2011/02/something-that-i-was-waiting-for.html' title='Something that I was waiting for...'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-6786792024366183961</id><published>2010-12-17T19:25:00.004-03:00</published><updated>2011-02-27T19:45:19.333-03:00</updated><title type='text'>GNU pop3d fix</title><content type='html'>Wooooo, kinda a lot without saying something here! Well, I took some sabbatical months of blogging ;-) &lt;br /&gt;&lt;br /&gt;Recently I've been working on a mail server, and those who know me, knows that I'm pretty minimalistic. So I started with exim and gnu-pop3d (no imap for this) with stunnel to provide ssl support.&lt;br /&gt;I use Unix users for authentication, but gnu-pop3d had a (pretty small) bug which made it reject any authentication whether it is right or wrong.&lt;br /&gt;So I wrote a patch to provide a fix and sent it to Jørgen Thomsen. He answered me on Wednesday telling me that the patch was accepted.&lt;br /&gt;&lt;br /&gt;Anyways, I leave the patch here: &lt;a href="https://sites.google.com/site/dcortarello/gnu-pop3d-0.9.12-fix_passwd_login.patch"&gt;gnu-pop3d-0.9.12-fix_passwd_login.patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-6786792024366183961?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/6786792024366183961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=6786792024366183961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/6786792024366183961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/6786792024366183961'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2010/12/gnu-pop3d-fix.html' title='GNU pop3d fix'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-8068397852188292549</id><published>2010-02-14T21:03:00.015-03:00</published><updated>2010-12-17T19:59:07.184-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Hidding messages in icmp packets</title><content type='html'>Hello everybody. A new month, a new article (I wish I could do this so periodically).&lt;br /&gt;&lt;br /&gt;Today I'm going to show you something that I've been playing with. As you probably know (if you don't, I'm just telling you now :-)), the ICMP packets provides an arbitrary data space right after the ICMP header. Normally, no one use it, since ICMP is a control protocol that has all its usage right inside of it, leaving this data space useless.&lt;br /&gt;&lt;br /&gt;A few days ago, I saw someone connected on Cinetix (&lt;a href="http://nomius.ath.cx/"&gt;http://nomius.ath.cx&lt;/a&gt;) and he was just connected, but not on the IRC server and I didn't know who he or she was. So an idea started to flow around my head "What about if I could send messages with ICMP packets".&lt;br /&gt;&lt;br /&gt;So actually this is what I did... I wrote a tool to put a message in the data space and send it using the ICMP type 7 which is unassigned (for example, ping is the type 8). The problem is that the kernel just drop type 7 (as we all assume) and the data space is also dropped in any icmp packet. So I wrote a kernel patch that print the message in the output of dmesg or /var/log/message if you have set KERN_NOTICE to be displayed (I think klogd -c 6 does).&lt;br /&gt;&lt;br /&gt;With this, you can send to a friend a message of the kind "Hey. This is David, I'm online on irc (jabber or whatever), jump in!" and it will be displayed in the system logs as a kernel notice.&lt;br /&gt;&lt;br /&gt;Please, take note that this is not a chat system, but an "emergency system", so don't start using it as an everyday conversation protocol. This also isn't a patch that should be in the kernel mainstream, since ICMP packets of type 7 is unassigned, and NOT a communication protocol.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What about security?&lt;/span&gt;&lt;br /&gt;Well, you might start asking yourself this "What if someone from the outside starts flooding my logs with dumb messages?". Right, well, the answer to this is netfilter; use iptables to drop these kind of package. Something like this:&lt;br /&gt;&lt;pre class="prettyprint"&gt;iptables -A INPUT -p icmp --icmp-type 7 -j DROP&lt;/pre&gt;&lt;br /&gt;As you might know or guess, you can also block only one IP address or accept from a certain network like this:&lt;br /&gt;&lt;pre class="prettyprint"&gt;iptables -A INPUT -p icmp --icmp-type 7 \! -s 10.0.0.1/24 -j DROP&lt;/pre&gt;&lt;br /&gt;Use more complex rules creating policies like "if someone exceed the  number of 5 ICMP type 7 packets in a minute, drop any packet from the  IP address".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Enough with the talking... How do I use it?&lt;br /&gt;&lt;/span&gt;Great, right to the point. So the steps:&lt;br /&gt;&lt;br /&gt;1) First of all, patch and compile your kernel.&lt;br /&gt;&lt;pre class="prettyprint"&gt;cd linux-2.6.31 &amp;amp;&amp;amp; patch -p1 &lt; patch_icmp_type_7_messages.diff&lt;/pre&gt;&lt;br /&gt;And compile and install your new kernel using the way you normally do (make config/menuconfig, etc...)&lt;br /&gt;&lt;br /&gt;2) Then compile the icmp_send.c program:&lt;br /&gt;&lt;pre class="prettyprint"&gt;gcc icmp_send.c -o icmp_send&lt;/pre&gt;&lt;br /&gt;3) Send a test message:&lt;br /&gt;&lt;pre class="prettyprint"&gt;./icmp_send 127.0.0.1 "Hello world"&lt;/pre&gt;&lt;br /&gt;3) Check out the dmesg output:&lt;br /&gt;&lt;pre class="prettyprint"&gt;./dmesg | grep "ICMP 7 Message"&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Get it!&lt;/span&gt;&lt;br /&gt;Anyways, this is a really nice thing to play with and I hope people find it useful. You can get the kernel patch and the ICMP message program from the links below.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/dcortarello/patch_icmp_type_7_messages.diff"&gt;patch_icmp_type_7_messages.diff&lt;/a&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/dcortarello/icmp_send.c"&gt;icmp_send.c&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Have fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-8068397852188292549?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/8068397852188292549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=8068397852188292549' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/8068397852188292549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/8068397852188292549'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2010/02/hidding-messages-in-icmp-packets.html' title='Hidding messages in icmp packets'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-4768231271421724894</id><published>2010-01-08T02:18:00.007-03:00</published><updated>2010-08-16T11:57:29.861-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Using the ZTE MF 110 with 3g Movistar (Argentina) on Linux</title><content type='html'>Hello all,&lt;br /&gt;  Today I'm going to explain how to do something really simple. As some of you might already know, I got this year a EEE PC netbook (1000HA). I have to admit that this baby is going great, I'm running the latest Kwort on it and it's really resource saving if you know how to set it up correctly.&lt;br /&gt;  If I add this netbook a 3g connection, I can say that I'm online everywhere almost all of the time. Well, this is what happened... As most of you already know, I've been working for Accenture for over a year now and they provided me (and some of my co-workers) a 3g modem with internet connection, which is pretty nice.&lt;br /&gt;  So, on january 1st after all the people who came my home to celebrate the new year left I sitted on the computer to figure out how to make it work.&lt;br /&gt;  This is a ZTE MF 110, and I found some people who made it work (kinda) or those who plugged it in at ubuntu and said that it works OoTB. Well, this is true kind of, but I hate when you don't really know how things works. Also, I found some people who made it parcially work with wvdial, which is a nice tool also.&lt;br /&gt;  So, my quest was to make it work with plain pppd. And this isn't really hard to do if you know a little how to play with the AT commands.&lt;br /&gt;&lt;br /&gt;  Ok, let's put the hands in the mud, first of all, I'm one of those people who likes to have a latest kernel tuned for my device, so this implies that yeah, I compile my own kernel with almost every release... In this case we are compiling 2.6.32.2.&lt;br /&gt;  So, for this you'll need the usb mass storage system in order to be able to switch from it to the modem mode.&lt;br /&gt;&lt;pre class="prettyprint"&gt;Device Drivers -&gt; USB Support -&gt; (Select your usb version, ehci, uhci or ohci) USB Mass Storage support&lt;/pre&gt;&lt;br /&gt;  Now, this GSM modem (as several others) needs the serial support... Well, actually, this is a serial GSM modem that you want to jack into the USB bus. So you need:&lt;br /&gt;&lt;pre class="prettyprint"&gt;Device Drivers -&gt; USB Support -&gt; USB Serial Converter support&lt;/pre&gt;&lt;br /&gt;This will create the usbserial module. And now, you need the GSM modem support. So for this, you have to select:&lt;br /&gt;&lt;pre class="prettyprint"&gt;Device Drivers -&gt; USB Support -&gt; USB Serial Converter support -&gt; USB driver for GSM and CDMA modems&lt;/pre&gt;&lt;br /&gt;I would recommend you to compile them as modules (M) instead of built in, as this isn't a feature that you will be running all the time, so you can unload modules and free some memory (not too much, but everything counts nowadays).&lt;br /&gt;&lt;br /&gt;I'm assumming that you already have the PPP support, if not, it's in the device drivers and Network Devices. But if you're reading this, you might already know.&lt;br /&gt;&lt;br /&gt;Now, everything is ready for us to set it up.&lt;br /&gt;&lt;br /&gt;We need &lt;a href="http://www.draisberghof.de/usb_modeswitch/"&gt;usb_modeswitch&lt;/a&gt;, this tool will allow us to switch from the "ZeroCD" mode to the modem mode in order to allow us to call our provider. Basically we need this config (/etc/usb_modeswitch.conf):&lt;br /&gt;&lt;pre class="prettyprint"&gt;DefaultVendor=0x19d2&lt;br /&gt;DefaultProduct=0x2000&lt;br /&gt;&lt;br /&gt;TargetVendor=0x19d2&lt;br /&gt;TargetProduct=0x0031&lt;br /&gt;&lt;br /&gt;MessageEndpoint=0x1&lt;br /&gt;MessageContent="55534243b8fe6681000000000000061b000000020000000000000000000000"&lt;/pre&gt;&lt;br /&gt;This config file will make the usb_modeswtich to swtich the device 0x2000, of the vendor 0x19d2, to 0x0031 sending the message pointed by MessageContent. If the usb_storage module is loaded and you run:&lt;br /&gt;&lt;pre class="prettyprint"&gt;usb_modeswtich -c /etc/usb_modeswitch.conf&lt;/pre&gt;&lt;br /&gt;And then you run lsusb you'll see the product id changed from 2000 to 0031.&lt;br /&gt;&lt;br /&gt;If you got here, now it comes to nice part.&lt;br /&gt;In order for us to not use wvdial, we need a call script (also called chat script). I'm going to show you you the script I wrote (/etc/ppp/peers/chats/movistar):&lt;br /&gt;&lt;pre class="prettyprint"&gt;ABORT BUSY ABORT 'NO CARRIER'&lt;br /&gt;ABORT VOICE ABORT 'NO DIALTONE'&lt;br /&gt;ABORT 'NO DIAL TONE' ABORT 'NO ANSWER'&lt;br /&gt;ABORT DELAYED&lt;br /&gt;'' ATZ&lt;br /&gt;OK ATQ0\sV1\sE1\sS0=0\s&amp;C1\s&amp;D2\s+FCLASS=0&lt;br /&gt;OK AT+CGDCONT=1,"IP","internet"&lt;br /&gt;OK-AT-OK ATX3DT*99#&lt;br /&gt;CONNECT \d\c&lt;/pre&gt;&lt;br /&gt;This basically it reads like this: abort in any of the conditions above (no carrier, no dialtone, etc...), then reset the modem waiting for nothing, initialize the modem, find out the CID for an APN GPRS, dial and connect. There's information about Hayes AT commands all over the web, so if you're interested you can google it yourself. :-)&lt;br /&gt;&lt;br /&gt;Well, now we have to set up our user and password:&lt;br /&gt;&lt;pre class="prettyprint"&gt;echo -e "internet\t*\tinternet" &gt;&gt; /etc/ppp/chap-secrets&lt;/pre&gt;&lt;br /&gt;And finally, the ppp configuration itself (/etc/ppp/peers/movistar):&lt;br /&gt;&lt;pre class="prettyprint"&gt;lock&lt;br /&gt;hide-password&lt;br /&gt;noauth&lt;br /&gt;connect "/usr/sbin/chat -v -f /etc/ppp/peers/chats/movistar"&lt;br /&gt;/dev/ttyUSB2&lt;br /&gt;460800&lt;br /&gt;defaultroute&lt;br /&gt;noipdefault&lt;br /&gt;user "internet"&lt;br /&gt;mtu 1492&lt;br /&gt;ipparam movistar&lt;/pre&gt;&lt;br /&gt;Most of this options are self explanatory, but the importants one are the connect line and the "/dev/ttyUSB2" one. The first one tells pppd to use the chat program to connect the other point and the chat script that will be used (/etc/ppp/peers/chats/movistar, that we created before), if, for example, you set up a pptp connection you'll see this line pointing to the pptp client program. The second one tells pppd the modem device, maybe you have to play a little bit with this one trying /dev/ttyUSB2 or /dev/ttyUSB3 (if you don't wan't to try you can use minicom to find out, good luck with that :-P).&lt;br /&gt;&lt;br /&gt;Well, now everything is ready to connect, you just need to run:&lt;br /&gt;&lt;pre class="prettyprint"&gt;pppd call movistar&lt;/pre&gt;&lt;br /&gt;From now one, if you restart your laptop/netbook or normal PC, all you have to do is:&lt;br /&gt;&lt;pre class="prettyprint"&gt;usb_modeswitch&lt;br /&gt;sleep 1  # Let the device sync with the switch&lt;br /&gt;pppd call movistar&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-4768231271421724894?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/4768231271421724894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=4768231271421724894' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/4768231271421724894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/4768231271421724894'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2010/01/hello-all-today-im-going-to-explain-how.html' title='Using the ZTE MF 110 with 3g Movistar (Argentina) on Linux'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-4161791126313667984</id><published>2009-12-14T01:03:00.003-03:00</published><updated>2010-08-16T11:57:17.631-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>New Kpkg hosting</title><content type='html'>Well, the C version of kpkg is now hosted at: &lt;a href="http://code.google.com/p/kpkg"&gt;http://code.google.com/p/kpkg&lt;/a&gt;. It would be cool if people start checking it out.&lt;br /&gt;&lt;br /&gt;Upgrade support is working partially, as only one package at the time can be upgrated, I will try to finish the whole upgrade support soon.&lt;br /&gt;&lt;br /&gt;If any people want to use kpkg in their personal distributions (I don't think ubuntu/suse/etc... users will want to run kpkg on their systems, but who knows), it would be nice to know.&lt;br /&gt;&lt;br /&gt;Also patches to add more functionality, fixes or any kind of power, are always welcome.&lt;br /&gt;&lt;br /&gt;Oh, and btw, the sqlite databases structures (for mirrors and personal systems) are included in datastructs.h. If you have any questions, please ask here or mail me. :-)&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-4161791126313667984?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/4161791126313667984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=4161791126313667984' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/4161791126313667984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/4161791126313667984'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2009/12/new-kpkg-hosting.html' title='New Kpkg hosting'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-1116562003184917188</id><published>2009-12-09T22:51:00.003-03:00</published><updated>2009-12-10T01:08:45.407-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>The kpkg issues</title><content type='html'>Hello everybody... Today I'm going to speak about kpkg.&lt;br /&gt;Well, I  wrote 4 package managers before I started kpkg, there was kwt-get, kum, kget and another one I can't remember.&lt;br /&gt;With every package manager I wrote things where from a very simple start, allowing to install, search and remove packages to a more complex usage allowing several mirrors, dependencies resolution out of the box, and finally the idea of third party packages (this last idea appeared in kpkg), package series, etc.&lt;br /&gt;Let's analyze those 4 functionalities:&lt;br /&gt;1.- More than one mirror was something asked, but once I implemented, there wasn't more than 3 or 4 mirrors out there.&lt;br /&gt;2.- Dependencies resolution is a huge deal, the real thing is that under the hood it sucks, and I see why big distributions with lots of developers has package managers supporting this feature, as they have several developers who everyone takes 10 or 20 packages, build them and fill the databases with the dependency tree. The fact is that this feature is bad implemented in any distribution, it shouldn't be something that the developer has to fill (the database with its dependencies), it should be something auto generated at build time, I don't know, a file listing its dependencies generated by configure (when using autotools) or something similar. I could spend like an hour talking about this feature since I made 3 different implementations of its resolution algorithm.&lt;br /&gt;3.- Well, third party packages (also known as tpp). This actually wasn't a feature it was a way to deal with an inconsistency in kpkg, the fact that packages were registered in mirror databases, if one was repeated, it has to be a "third party package", so kpkg (without any environment variable altering its normal course) treated it as a non identified package (or a package provided by a third party developer not included in any mirror). Of course someone could deal with this using environment variables (MIRROR, STANDALONE and SERIE). So installing a package from the console without having it in a mirror and keeping the database clean without tpp was a huge deal. With tpp, kpkg tried to do, with the same tool, what debian does with a separated tool (dpkg).&lt;br /&gt;4.- Series was kinda one of those features that supposed to help but didn't, in fact, it complicated things. If you start looking at a package system you think "Great, series, this is a way to pre-hash every package", well, it kinda did that job, but complicated all other things, actually this feature was one of those that pushed the "third party packages" "feature".&lt;br /&gt;&lt;br /&gt;Despite with dependency resolution (now, a few years back it was supported), kpkg support all this features. By this time you might be asking "Why god why this package manager is so complex and twisted"... Well, the fact is that even I hate kpkg nowadays.&lt;br /&gt;Also, as most of you might know, kpkg is written in bash, with leave us a lot of issue. Why? Well, kpkg makes use of several console tools included in packages like coreutils (ls, rm, mktemp, md5sum, etc), findutils (find), sed, awk, grep, wget, tar, lzma, etc... Can you imagine what could happen if you try to update for example the coreutils? Well, to understand this question and being able to answer it, you need to know some of the kpkg internals, but summarizing what kpkg does is "Download the new package, remove the old package, install the new package", and almost every package managers do this (there's also some other algorithms to deal with this but you need to save more data of every file included in the package). Now, if you upgrade to a new version of, for example, the coreutils, what kpkg do is: "Download the new coreutils, remove the old coreutils, install the new coreutils", if you remove coreutils kpkg starts failing pathetically leaving your system out of use (sorry, toilet cleaning :-P) and we all have to pull the shades down and go home.&lt;br /&gt;In fact this happened some weeks ago and a user came to me with insults, ranting and all the bad things you can imagine. Well, he was right about my mistake, but I'm human and I can make tons of those (and thank god we all still making mistakes, it's a proof that we still humans) and the fact is that no one is paying me for developing Kwort and all its tools, so take it easy.&lt;br /&gt;Anyways, this leave us to the fact that we can't upgrade some (several) packages and with them, of course, the libc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, I'm dealing with all this problems re-writing kpkg in what we can call "kpkg new generation" (LOL, it even sounds cool eh? :-P). How I dealed with all this problems? Well, some of those original "features" were dropped, "dependencies resolution" was out of the table way before starting, "series" support was removed as with the new database it isn't needed anymore, and third party packages was also dropped since the new approach is more consistent. What about the fact that you can't upgrade several packages? Well, kpkg is now written in C and static compiled (so everything can be upgraded :-)).&lt;br /&gt;&lt;br /&gt;The new kpkg use &lt;a href="http://www.sqlite.org"&gt;sqlite3&lt;/a&gt; as database backend, &lt;a href="http://code.google.com/p/libarchive/"&gt;libarchive&lt;/a&gt; for package decompressing (giving us support for tgz, tbz2, tar, lzma, xz, zip, etc) and &lt;a href="http://curl.haxx.se/"&gt;libcurl&lt;/a&gt; for package retrieving which leave us support for tons of protocols. And every piece of the code is very well documented with doxygen which will help everyone who wants to read the source code. &lt;br /&gt;&lt;br /&gt;So far, the new implementation of kpkg (in C) has support for almost the same options (search, install, remove, provides, update and download) the actual kpkg has, and only the upgrade support is the only one missing (I hope I have time to code it this week). So I will try to upload the source to &lt;a href="http://www.github.org"&gt;github&lt;/a&gt; as soon as I can, so everyone can start to find bugs in it and improve it.&lt;br /&gt;&lt;br /&gt;See you soon guys, and if I don't before Christmas, Merry Christmas :-)&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-1116562003184917188?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/1116562003184917188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=1116562003184917188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1116562003184917188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1116562003184917188'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2009/12/kpkg-issues.html' title='The kpkg issues'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-6773679425130524594</id><published>2009-10-12T23:53:00.004-03:00</published><updated>2010-08-16T12:47:37.566-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Vim bug using tags</title><content type='html'>Well, lot of people know that I'm a vim fan and that I use it everyday, to me is like the killer app that everyone should know how to use in Unix.&lt;br /&gt;Even at work, I'm a programmer (doing C on Unix now), and some of my fellows were using Eclipse and after I show them Vim, they was like "woooo, I can use this editor as an IDE and still can use my machine for do something else while programming" (I was like, blame the one who introduced you to Eclipse :-P).&lt;br /&gt;&lt;br /&gt;Anyways, I like using tags, allows me to browse the code really fast (for those using Eclipse, I think is like if you press F3 over a function name). But I found this weird behavior using ctags+vim. See the above code:&lt;br /&gt;&lt;pre class="prettyprint"&gt;  1 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;  2&lt;br /&gt;  3 int asd(int s,&lt;br /&gt;  4         char a);&lt;br /&gt;  5&lt;br /&gt;  6 int main(int argc, char *argv[])&lt;br /&gt;  7 {&lt;br /&gt;  8     asd(1, 's');&lt;br /&gt;  9     return 0;&lt;br /&gt; 10 }&lt;br /&gt; 11&lt;br /&gt; 12 int asd(int s,&lt;br /&gt; 13         char a)&lt;br /&gt; 14 {&lt;br /&gt; 15     return s;&lt;br /&gt; 16 }&lt;/pre&gt;&lt;br /&gt;When I press ctrl+] over asd in line 8, it takes you to the 3rd line instead to the 12th...&lt;br /&gt;There's a "workaround" to this behavior, using --excmd=number while running ctags put the line numbers in the tags file (without this option ctags puts just an 'f' identifier to tell the editor that it is on that file). But it is just a visualization workaround, because you can't put any new line (or remove) in those files or your tags file will screw the tags file.&lt;br /&gt;&lt;br /&gt;Does anyone knows a solution to this issue?&lt;br /&gt;&lt;br /&gt;Thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-6773679425130524594?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/6773679425130524594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=6773679425130524594' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/6773679425130524594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/6773679425130524594'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2009/10/vim-bug-using-tags.html' title='Vim bug using tags'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-605647509494482197</id><published>2009-09-29T13:16:00.003-03:00</published><updated>2009-12-10T01:08:33.502-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Kwort 3... The big change</title><content type='html'>Hello everybody. This is just a flashlight of what Kwort 3 will be.&lt;br /&gt;Kwort 3 brings a whole new era of Kwort Linux, Kwort public might change now, I'm not focusing anymore in inexperienced users, but on intermediate-advanced users and up.&lt;br /&gt;Why is that?&lt;br /&gt;Well, kinda I'm forced to that. Kwort's most important problem was always the kernel, not because Linux is bad, but because some drivers are.&lt;br /&gt;For example, wireless drivers tend to suck... I mean, WTH is that closed source microcode needed for most drivers? That's just plain wrong. I'm not talking here about making it free software, but open source would help everybody to make better drivers. Also there are tons of wireless cards out there unsupported (or half supported) because companies not releasing specifications, we are not even talking about open source anything here. COME ON!&lt;br /&gt;I'm not going to take this to the free software vs. open source vs. closed software, people who know me, knows that I hate those topics and I leave those to politicians and software philosophers.&lt;br /&gt;&lt;br /&gt;Despite of that, some other things are not easy (as it should be) to support, and inexperienced users tend to not know what they want (first they want a desktop, then they want to be able to configure a web server with a GUI (that I'm not going to write) for some php scripting , then they want to create a RAID or LVM). Kwort was always meant to be for the desktop, and the desktop only, not a web server not a redundant file server, etc.&lt;br /&gt;And the funny part is: If you don't provide packages for what they want, they get pissed off and I've also got insults because of this. People, what is going on here? It's not like you're paying me (and if you would, that doesn't even give you the right to insult me), you can ask for something. I develop Kwort in my free time.&lt;br /&gt;So, advanced users tend to know a lot more, from the work that takes to do something like Kwort, to how to check logs and write or hack some script to do what they want (for example a network configuration script).&lt;br /&gt;&lt;br /&gt;So... Kwort 3 is now based on CRUX which will make it more advanced. I'm not changing it to CRUX because I want it to be hard and for truly advanced users, but because Slackware has become a really multi-purpose distribution, and strip out all the "unneeded" stuff for Kwort would take me a lot of time.&lt;br /&gt;Also the init system has changed and the way it is configured too. Don't worry about all this, it is already well documented in the new website (this new one is really cool, with tons of information as it always should be but never was). There's no more wizards tools like knm (Kwort network manager) and kum (Kwort user manager), but a console and the chosen editor. Despite of that kum and knm will still be maintained and developed.&lt;br /&gt;&lt;br /&gt;Anyways, Kwort 3 is almost ready be released. There's a beta release already that everyone can test (there are some testers already doing a great job that helped me a lot).&lt;br /&gt;&lt;br /&gt;Sorry for not having you all up to date related to Kwort, but I've been working a lot and in my free time I try to develop Kwort. For example, now, I'm in my lunch time, and I passed out lunch in order to write something for you about the new direction of this project.&lt;br /&gt;&lt;br /&gt;Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-605647509494482197?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/605647509494482197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=605647509494482197' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/605647509494482197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/605647509494482197'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2009/09/kwort-3-big-change.html' title='Kwort 3... The big change'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-4835534195006677337</id><published>2009-07-12T14:12:00.006-03:00</published><updated>2009-07-12T15:49:52.603-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Thunar and hard drive partitions</title><content type='html'>Hello everybody, It's been so long since my last post here.&lt;br /&gt;There's so much to talk about, but today I'm going to talk about Thunar. As some of you might know, thunar is the file manager used in Xfce, written by Benedikt Meurer, and nowadays maintained by Jannis Pohlmann.&lt;br /&gt;I really like thunar, but the fact that hard drive partitions are left to the distribution itself when hal can manage them and because of that the file manager also can, isn't really nice, as you can browse your partitions in newer versions of GTK's (with Gvfs) GtkFileChooser.&lt;br /&gt;An ugly workaround would be to mount them and add some gtk bookmarks, but you would like to set an emblem to differentiate them from normal bookmarks, and emblems are not part of the gtk library, so you wouldn't see emblems in a GtkFileChooser. Another issue would be that isn't dynamic, so if someone change partitions that would be a total mess.&lt;br /&gt;So IMHO the best solution to this is: Hard Drive partitions managed by hal (DeviceKit in the future) and let Thunar show them in the left pane. And this is what I actually did.&lt;br /&gt;&lt;br /&gt;So, as everybody loves screenshots and you probably want to see how this looks:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7bn3_3YdSWU/SlohSHN0aCI/AAAAAAAAAPs/uRExbB-PPIk/s1600-h/thunar_hd_partitions.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 325px;" src="http://1.bp.blogspot.com/_7bn3_3YdSWU/SlohSHN0aCI/AAAAAAAAAPs/uRExbB-PPIk/s400/thunar_hd_partitions.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5357631301768996898" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And finally, the patch: &lt;a href="http://dcortarello.googlepages.com/Thunar-1.0.0-hd-partitions.diff"&gt;http://dcortarello.googlepages.com/Thunar-1.0.0-hd-partitions.diff&lt;/a&gt;&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/29917472-4835534195006677337?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/4835534195006677337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=4835534195006677337' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/4835534195006677337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/4835534195006677337'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2009/07/thunar-and-hard-drive-partitions.html' title='Thunar and hard drive partitions'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_7bn3_3YdSWU/SlohSHN0aCI/AAAAAAAAAPs/uRExbB-PPIk/s72-c/thunar_hd_partitions.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-1153681583629062566</id><published>2009-04-09T23:02:00.001-03:00</published><updated>2009-07-12T14:54:40.182-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Kwort Linux 2.4.1 released</title><content type='html'>&lt;p&gt;I’m happy to announce that Kwort 2.4.1 final is here!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This version took a year to develop and provides a lot of changes from 2.4 release, including a new, more cleaned up than usual, base system, whole new tool chain, new configuration tools and lots of new things.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Good things in this new version:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Kwort’s init system: From 2.4, the init system has evolved keeping its simplicity but providing some new features.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Linux 2.6.28.7: A lot of hardware support was included since the kernel included in Kwort 2.4.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Kpkg: The new version of kpkg include several new features as the adoption of multi-mirror support.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Kwort User Manager: Re-written from scratch it Provides a simple way to create and remove users with a new interface.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Kwort Network Manager: Also re-written from scratch, allows you to configure your network (wired and wireless), as manage your dns and hostname system. It also allows you to switch wireless drivers.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Xfce: This new version brings a lot of changes under the hood making the desktop more extensible.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Audacious: This is the default music player since Kwort 2.4.1 allowing you to play your music in a very simple way.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Our new Google group (http://groups.google.com/group/kwort-linux): Ok, this has nothing to do with something included in the release, but it allows the developers behind Kwort to communicate between them and also with the users (who are what Kwort is all about).&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;As in every old version now comes the things that I look forward to improving:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; Thunderbird: It’s kind of sad, but thunderbird isn’t yet full “xulrunnized”, so starting firefox+thundebird brings two copies of xulrunner up to memory, which as we all know, is kinda in the chubby side.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Audacious: Although audacious is pretty good doing its job, I think a jukebox is more needed these days, as people needs more information while playing their music. It is known that using gstreamer would take out some of the features audacious brings, but we have a full-featured media-handling components and using those frameworks would allow the Linux desktop to improve, communicate between applications and to remain simple.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;People who I would like to thank:&lt;br&gt;&lt;br /&gt;Andreas Schipplock as always for making and maintaining the website, mirroring the Kwort iso image, and kind of playing a role of resources manager that allows me to develop easily Kwort.&lt;br&gt;&lt;br /&gt;Sebastian Reisse for writing the kpkg manpage, and for taking a lot of his time testing every release candidate, if it wasn’t for him, this release would come with several bugs.&lt;br&gt;&lt;br /&gt;The Aircable people for their donations as they helped me to buy some hardware I was needing for develop Kwort.&lt;br&gt;&lt;br /&gt;The mirror providers as usual, the people from PGHosting and Ricardo Brisighelli for the package mirror in the UNR.&lt;br&gt;&lt;br /&gt;&lt;br /&gt;Finally, but not less important a very big THANKS to Patrick Volkerding for Slackware Linux, the system Kwort is based on.&lt;br&gt;&lt;br /&gt;The Xfce developers (core and goodies) who made 4.6 a lot more simple to configure for distributions and provided help when needed.&lt;br&gt;&lt;br /&gt;The people who develop every project Kwort includes. I hope I didn’t forget anyone.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;As usual, if you need support, help, or you just feel like talking about Kwort (or anything else), or you just want to meet the people who is behind Kwort, you can join us on IRC or our Google group: &lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;IRC: irc://irc.oftc.net/Kwort&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Google Group: http://groups.google.com/group/kwort-linux&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;–&lt;br&gt;&lt;br /&gt;David B. Cortarello&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-1153681583629062566?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/1153681583629062566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=1153681583629062566' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1153681583629062566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1153681583629062566'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2009/04/kwort-linux-241-released.html' title='Kwort Linux 2.4.1 released'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-2372907305392655628</id><published>2009-02-09T20:19:00.007-02:00</published><updated>2009-02-09T22:23:58.685-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Lots of stuff going on</title><content type='html'>Well, it's been 3 months since my last post, and I've been doing a lot...&lt;br /&gt;&lt;br /&gt;Let's start with Kwort. Well we're just there from the release, lots of new improvements are being done around it, and something really interesting is the new network manager and the new user manager I wrote from scratch with a completely new design using gtkdialog.&lt;br /&gt;&lt;br /&gt;The new network manager allows you to configure your ethernet and wireless network, supporting static and dhcp, for wireless network, support for several encryption mode are available, from wep to wpa2:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.ggpht.com/_7bn3_3YdSWU/SZCvNk3odHI/AAAAAAAAANM/6m-TJD-_8Cw/knm.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 650px; height: 461px;" src="http://lh3.ggpht.com/_7bn3_3YdSWU/SZCvNk3odHI/AAAAAAAAANM/6m-TJD-_8Cw/knm.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The user manager stills very simple but with a very simple and smooth interface:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.ggpht.com/_7bn3_3YdSWU/SZCvNl6KKtI/AAAAAAAAANU/Q7Lh7X_hYTA/kum.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 650px; height: 461px;" src="http://lh5.ggpht.com/_7bn3_3YdSWU/SZCvNl6KKtI/AAAAAAAAANU/Q7Lh7X_hYTA/kum.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, as you can see we have almost everything, since looking at the screenshot the Xfce settings manager is in it, so Xfce is kinda there, so you might be questioning "What are you waiting for a release?" Well, Xfce 4.6 is in release candidate time, so when they release it final we'll see how's the Mozilla people going with Firefox 3.1, since it would be really cool to ship it with Kwort 2.4.1. I wouldn't matter to ship a beta 3 with 2.4.1, but we'll see, since beta 3 should be released already according to &lt;a href="https://wiki.mozilla.org/Firefox3.1/Schedule"&gt;Mozilla's Firefox schedule&lt;/a&gt;, and their delivery meeting is schedule to the end of the month (February 25th), which is just around the corner.&lt;br /&gt;&lt;br /&gt;Resuming, lots of improvements are going on and I'm trying to make it pretty cool and easy for the end user.&lt;br /&gt;&lt;br /&gt;That's just for Kwort, now... Some friends saw I was migrating to git, and yeah, I did, since in the past I used git with &lt;a href="http://www.gitorious.org"&gt;gitorious.org&lt;/a&gt; which didn't convinced me, I came back to darcs. But now, I discovered &lt;a href="https://www.github.com/"&gt;GitHub&lt;/a&gt; which is really cool, fast and easy to use and with lots of guides around, so you can see and follow my work at: &lt;a href="http://github.com/nomius"&gt;http://github.com/nomius&lt;/a&gt;.&lt;br /&gt;I have to admit here that I was influenced at work by warlock, which is the author of the &lt;a href="http://www.warlockshome.com.ar"&gt;wbar&lt;/a&gt;, to move from darcs to git, so I found a darcs2git python script and it was like charm.&lt;br /&gt;&lt;br /&gt;Also, I implemented lots of cool new features for kpkg, and I merged kpkg with the kwort network manager and user manager making a "big" project called &lt;a href="http://github.com/nomius/kwtools/tree/master"&gt;kwtools&lt;/a&gt;. Looking right now at the master tree page, you'll see this: "Implemented kpkg search /all with csv support" and you might be asking "What the hell is this guy making with kpkg implementing stuff like this?", well, I hope this feature is just enough, but basically, it is because a friend, x-ip, and I we are writing a graphical interface for kpkg, at the moment the interface is pretty rough but does show the idea, of course, icons and all that stuff is going to be implemented with also a more eye-candy interface, so you can see a preview of the application here:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.ggpht.com/_7bn3_3YdSWU/SZCvNhGOhsI/AAAAAAAAANc/SV4rvaIufCg/galgo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 648px; height: 508px;" src="http://lh5.ggpht.com/_7bn3_3YdSWU/SZCvNhGOhsI/AAAAAAAAANc/SV4rvaIufCg/galgo.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As I said before and as you can see, the interface looks pretty rough, but give us some time and you'll see how cool it looks. I doubt we get in time to include this new tool in Kwort 2.4.1, we'll try, but I really doubt it since I'm just learning python, which is the language we use to write this, and x-ip is just learning wxPython with me, which is the framework we use for this.&lt;br /&gt;&lt;br /&gt;Please, if you have any ideas for Kwort or any of the tools/applications I write, please write me, it would be nice to hear (read) about you and your ideas, and also, I don't know... help maybe? :-)&lt;br /&gt;&lt;br /&gt;We'll, this post is already becoming large so I'm off to bed now. Have a nice week and see you around guys.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-2372907305392655628?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/2372907305392655628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=2372907305392655628' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/2372907305392655628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/2372907305392655628'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2009/02/lots-of-stuff-going-on.html' title='Lots of stuff going on'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_7bn3_3YdSWU/SZCvNk3odHI/AAAAAAAAANM/6m-TJD-_8Cw/s72-c/knm.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-8845535249251617066</id><published>2008-11-01T19:33:00.004-02:00</published><updated>2009-02-09T22:23:50.098-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Various'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Updates!</title><content type='html'>Well, it's been a long time in the road since my last post here. This weblog isn't over, but I been doing a lot of things and didn't got the time to write something.&lt;br /&gt;&lt;br /&gt;Ok, things I've been doing:&lt;br /&gt;* I wrote a new network manager for Kwort 2.4.2 (I'm already working on a new Kwort version), screenshots are coming&lt;br /&gt;* I also wrote a new user manager for next Kwort also. Screenshots are ON the way. :-D&lt;br /&gt;* A friend of mine (Jp) is working on a new init system which is very cool, so Kwort will use it.&lt;br /&gt;* Bought a pretty cool (4 cores) new computer (Desktop). I would like to thank to the aircable.net people who helped me to buy my new computer with a donation. (A BIG THANKS TO YOU GUYS)&lt;br /&gt;* Working... :-)&lt;br /&gt;&lt;br /&gt;Anyways, I want here to point to two links, the first one if from my good old friend Andreas Schipplock, he made a small list of interesting links to read and/or hear. The second one is to the "Open Unix Society" which is a cool place full of documents and books for learning.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.as.tl/2008/11/01/online-video-lectures/"&gt;Online video lectures&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ous.kleophatra.org/"&gt;Open Unix Society&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Btw, I took a position at iProgrammers and I'm working at Accenture now as a Senior Programmer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-8845535249251617066?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/8845535249251617066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=8845535249251617066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/8845535249251617066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/8845535249251617066'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/11/updates.html' title='Updates!'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-7397502550198398335</id><published>2008-08-11T21:24:00.005-03:00</published><updated>2009-02-09T22:23:14.301-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>NQqueue 0.3b</title><content type='html'>I'm just releasing NQqueue 0.3 beta.&lt;br /&gt;This is just a bug fix release and it is beta because of the new spamassassin plugin; I wrote this one on sunday, but since I don't use spamassassin (I have servers running dspam), I can't test it.&lt;br /&gt;&lt;br /&gt;This is just a release asking for people to flood my inbox with feedback on the spamassassin plugin, the configuration parameters are the same used with the dspam plugin, so only "pass" parameter is allowed, or empty.&lt;br /&gt;&lt;br /&gt;In case you have doubts on how to configure NQqueue, you can read this:&lt;blockquote&gt;&lt;a href="http://nomius.blogspot.com/2008/07/nqqueue-02.html"&gt;NQqueue 0.2 + Configuring NQqueue + Configuration schemes&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;So, get latest NQqueue release here: &lt;a href="http://europa.fapyd.unr.edu.ar/releases/NQqueue-0.3b.tar.gz"&gt;http://europa.fapyd.unr.edu.ar/releases/NQqueue-0.3b.tar.gz&lt;/a&gt;&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/29917472-7397502550198398335?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/7397502550198398335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=7397502550198398335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7397502550198398335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7397502550198398335'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/08/nqqueue-03b.html' title='NQqueue 0.3b'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-5195912516368156350</id><published>2008-07-17T21:21:00.009-03:00</published><updated>2009-02-09T22:23:14.301-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>NQqueue 0.2</title><content type='html'>Well, I just tagged NQqueue as 0.2. Several changes has been done from 0.1. For those who doesn't know, NQqueue is a threaded queue for qmail with support for plugins. Full details of what nqqueue is can be found here: &lt;a href="http://nomius.blogspot.com/2008/06/nqqueue-what-is-that.html"&gt;http://nomius.blogspot.com/2008/06/nqqueue-what-is-that.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Download the latest release version here: &lt;a href="http://europa.fapyd.unr.edu.ar/releases/NQqueue-0.2.tar.gz"&gt;http://europa.fapyd.unr.edu.ar/releases/NQqueue-0.2.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Changelog can be found here: &lt;a href="http://europa.fapyd.unr.edu.ar/darcs/NQqueue/Changelog"&gt;http://europa.fapyd.unr.edu.ar/darcs/NQqueue/Changelog&lt;/a&gt;&lt;br /&gt;If you want to get nightly builds packages. Use this link: &lt;a href="http://europa.fapyd.unr.edu.ar/darcs/NQqueue/NQqueue.tar.gz"&gt;http://europa.fapyd.unr.edu.ar/darcs/NQqueue/NQqueue.tar.gz&lt;/a&gt;&lt;br /&gt;Darcs repository: http://europa.fapyd.unr.edu.ar/darcs/NQqueue&lt;br /&gt;&lt;br /&gt;NQqueue stills in development, it is stable enough, but there are some things that must be fixed before the next release.&lt;br /&gt;&lt;br /&gt;Plugins included:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;General plugins:&lt;/span&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;black - Parameters:&lt;ul&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;user@domain&lt;/span&gt; - email address to put in the blacklist.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;clamav - Parameters:&lt;ul&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;"pass"&lt;/span&gt; -  will make the email pass even if it contains a virus (used to send it to a quarantine).&lt;/li&gt;&lt;li&gt;None parameter given will block a containing virus mail.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;User plugins:&lt;/span&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;dspam - Parameters:&lt;ul&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;"pass"&lt;/span&gt; - will make the email pass even if it considered spam (used to send it to a quarantine).&lt;/li&gt;&lt;li&gt;None parameter given will block a spam considered email.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;quarantine - Parameters:&lt;ul&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;"all"&lt;/span&gt; -  will send to quarantine any email that was considered spam or that contains a virus.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;"dspam"&lt;/span&gt; will send to quarantine any email that was considered spam.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;"clamav"&lt;/span&gt; - will send to quarantine any email that contains a virus.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;"q="&lt;/span&gt; - allow the administrator to set the quarantine type. Allowed types of quarantines are:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;general&lt;/span&gt; - will put the email in /var/qmail/nqqueue/quarantine.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;vquad(VHOME)&lt;/span&gt; - will put the email in your vpopmail home (ex: vquad(.Spam), will put your email in Maildir/.Spam/cur). [vpopmail support must be given in configure script]&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Example of common usage:&lt;br /&gt;This example shown here will block an incoming email from billgates@microsoft.com, put emails containing virus to general quarantine (in /var/qmail/nqqueue/quarantine/domain/user), and deliver spam considered emails in Maildir/.Spam/new (which is the personal user spam directory in his vpopmail home).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;/var/qmail/control/general.cfb&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;:clamav=pass;black=billgates@microsoft.com&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;/var/qmail/control/mydomain.com.cfb&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;dspam=pass;quarantine=clamav,q=general;quarantine=dspam,q=vquad(.Spam)&lt;/blockquote&gt;&lt;br /&gt;I hope people start using nqqueue, since it is fast, secure, flexible and very easy to use.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-5195912516368156350?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/5195912516368156350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=5195912516368156350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/5195912516368156350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/5195912516368156350'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/07/nqqueue-02.html' title='NQqueue 0.2'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-5941321231159359884</id><published>2008-07-02T22:58:00.003-03:00</published><updated>2009-02-09T22:23:14.302-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>ktsuss 1.4 released</title><content type='html'>Well, the people of wicd asked me for some modifications in ktsuss so they could support it as they do with gksu.&lt;br /&gt;These modifications were made in the weekend; also bug fixes has been done, and as it looks very stable I'm writing a post release announce here. :-)&lt;br /&gt;&lt;br /&gt;Changelog can be found &lt;a href="http://developer.berlios.de/project/shownotes.php?group_id=8800&amp;amp;release_id=14839"&gt;here&lt;/a&gt;&lt;br /&gt;Also, you can follow ktsuss development in my darcs server &lt;a href="http://europa.fapyd.unr.edu.ar/cgi-bin/darcsweb.cgi?r=ktsuss;a=summary"&gt;here&lt;/a&gt;&lt;br /&gt;Latest ktsuss download link &lt;a href="http://download.berlios.de/ktsuss/ktsuss-1.4.tar.gz"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bugs and feature requests are always welcome :-)&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-5941321231159359884?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/5941321231159359884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=5941321231159359884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/5941321231159359884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/5941321231159359884'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/07/ktsuss-14-released.html' title='ktsuss 1.4 released'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-560535133171956493</id><published>2008-06-24T22:17:00.013-03:00</published><updated>2010-08-16T12:49:38.402-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>NQqueue? What is that?</title><content type='html'>As some people asked me the last few weeks  what I've been doing I've decided to take some time to write this and explain what NQqueue (aka nqq) is all about.&lt;br /&gt;Well, some of you maybe listened (or read) me telling that queues for qmail are bloated. We don't have several choices, there is just plain qmail-queue which is unfeatured, qmail-scanner (aka give me my CPU back) which is the bloatest one, and simscan which is kind of featured, fast, but not extensible at all, both of the last ones are buggy when getting an email with several Rcpts (they only analyze one. Which is a big bug).&lt;br /&gt;So, because of all this, I've been using simscan, I actually extended it from those 2000 lines to 4000 adding features. But it became so big, that it is hard to maintain and to trace errors in it.&lt;br /&gt;This situation drove me nuts the last year so I decided "Why I don't just write my own qmail queue?". Well, NQqueue is the result of this self asked question.&lt;br /&gt;&lt;br /&gt;Let me show you and tell you some of the features of NQq:&lt;br /&gt;&lt;br /&gt;* &lt;span style="font-weight: bold; font-style: italic;"&gt;Modular&lt;/span&gt; - not like simscan with a big file with all the problem.&lt;br /&gt;* &lt;span style="font-weight: bold; font-style: italic;"&gt;Pluggable&lt;/span&gt; - this is what NQq is all about, it support the addition of plugins. There are some now in the darcs server.&lt;br /&gt;* &lt;span style="font-weight: bold; font-style: italic;"&gt;Threaded&lt;/span&gt; - this is quite a nice feature for mails with several Rcpts, nqqueue triggers a thread for every Rcpt to be analyzed.&lt;br /&gt;* &lt;span style="font-weight: bold; font-style: italic;"&gt;Fast&lt;/span&gt; - This is like simscan. But it improves it when analyzing more than one Rcpt because of the threads.&lt;br /&gt;* &lt;span style="font-weight: bold; font-style: italic;"&gt;Secure and reliable&lt;/span&gt; - I been working quite a lot on this, since simscan has several bugs, and I didn't want this on NQq.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Plugins&lt;/span&gt;: Well, some of you might be asking "Dude, nice, but how do I write a plugin for NQq?". Well, first of all, I have to tell you that there are two types of plugins:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1st.&lt;/span&gt; we have the general plugins. Those plugins are run to an email before to trigger all the threads for every rcpt. Why is this? Well, it would be dumb to call for example a clamav plugin for every user (in every thread). So for example we can write a plugin that should not care about the Rcpts and/or From, like clamav, since it depends on a general database.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2nd.&lt;/span&gt; besides of general plugins, there are also per user plugins. These plugins are run in every thread. This is the example of a spam plugin, since it depends on a special per user database.&lt;br /&gt;&lt;br /&gt;So now I can show you a small general plugin to block a Sender:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;/* vim: set sw=4 sts=4 : */&lt;br /&gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;#include &amp;lt;nqqueue.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#define PLUGIN_VERSION "1.0"&lt;br /&gt;#define PLUGIN_NAME "black"&lt;br /&gt;#define REJECTED_MESSAGE "Message rejected because of black list"&lt;br /&gt;&lt;br /&gt;char *plugin_name()&lt;br /&gt;{&lt;br /&gt;    return strdup(PLUGIN_NAME);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;char *plugin_version()&lt;br /&gt;{&lt;br /&gt;    return strdup(PLUGIN_VERSION);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Parameters:&lt;br /&gt; * params = a char pointer with parameters used to call the module (in this case, the email address to block).&lt;br /&gt; * mail = It's a char pointer to the filename that contains the email.&lt;br /&gt; * From = a char pointer with the From email address. (if it matchs the param, the mail would be blocked)&lt;br /&gt; * Rcpt = an union that contains space for a char pointer (if user pluing) or a pointer to a PUStruct&lt;br /&gt; *        struct (if general plugin).&lt;br /&gt; * general = a pointer to a RSStruct struct, which is structure with all the plugins and its return values&lt;br /&gt; *           already runned by general plugins&lt;br /&gt; * peruser = a pointer to a RSStruct struct, which is structure with all the plugins and its return values&lt;br /&gt; *           already runned by per user plugins&lt;br /&gt; */&lt;br /&gt;struct ModReturn *plugin_init(char *params, const char *mail, const char *From, const union Tos Rcpt, \&lt;br /&gt;                              struct RSStruct *general, struct RSStruct *peruser)&lt;br /&gt;{&lt;br /&gt;    struct ModReturn *ret = malloc(sizeof(struct ModReturn));&lt;br /&gt;&lt;br /&gt;    ret-&gt;NewFile = NULL;&lt;br /&gt;    if (!strcmp(params, From)) {&lt;br /&gt;        ret-&gt;ret = 1;&lt;br /&gt;        ret-&gt;rejected = 1;&lt;br /&gt;        ret-&gt;message = strdup(REJECTED_MESSAGE);&lt;br /&gt;    }&lt;br /&gt;    else {&lt;br /&gt;        ret-&gt;ret = 0;&lt;br /&gt;        ret-&gt;rejected = 0;&lt;br /&gt;        ret-&gt;message = NULL;&lt;br /&gt;    }&lt;br /&gt;    return ret;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Looks easy don't you think? So, how do we make NQqueue to load our plugin? Simple: in /var/qmail/control/general.cfb put a line like this:&lt;br /&gt;&lt;blockquote&gt;:black=billgates@microsoft.com&lt;/blockquote&gt;&lt;br /&gt;That will set the sender billgates@microsoft.com as a blocked server. In fact, this plugin acts just like a black list.&lt;br /&gt;Now your question might be: And how can I block more? Well, you can call the plugin several times, like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;:black=billgates@microsoft.com;black=steveballmer@microsoft.com&lt;/blockquote&gt;&lt;br /&gt;Or you can modify the plugin_init function to allow more than one email (like black=billgates@microsoft.com,steveballmer@microsoft.com) and do some simple parsing with strtok.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As you can see it is very easy to write plugins for NQqueue. I know it stills need a lot of documentation, since at it is now, it's very poor in this aspect. The only documentation in NQqueue so far is a configuration scheme in the NQqueue darcs in case you want to know how to configure it right (it's very easy).&lt;br /&gt;&lt;br /&gt;So, those are some of the features in NQqueue there are more of course, but those are enough to mention.&lt;br /&gt;NQqueue needs a lot of testing, so I'm counting with all of you to run tests. Also documentation is needed, and it will take some time to me to write it, so people wanting to write documentation are welcome. Also people writing plugins, I wrote some which are already in my darcs server (a dspam, clamav, blacklist and quarantine) modules.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can follow NQqueue's development in my darcs server at: &lt;a href="http://europa.fapyd.unr.edu.ar/cgi-bin/darcsweb.cgi"&gt;http://europa.fapyd.unr.edu.ar/cgi-bin/darcsweb.cgi&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-560535133171956493?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/560535133171956493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=560535133171956493' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/560535133171956493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/560535133171956493'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/06/nqqueue-what-is-that.html' title='NQqueue? What is that?'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-2314491641156272805</id><published>2008-05-04T22:17:00.009-03:00</published><updated>2008-08-12T22:08:30.571-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>My darcs repository</title><content type='html'>So, on friday after some times I set up myself to finish the nqqueue. But then I started to see where to version the project.&lt;br /&gt;In the last couple of years I been using berlios, which is great, and I really like it, but there was this issue: "svn/cvs only". So, I started to take a look again at subversion, and found it even more annoying than before (LOL).&lt;br /&gt;I made a request to the berlios team 2 years ago asking for darcs support, but none of the admin team answered. Actually, berlios is kind of abandoned, as nobody takes care of answering to bugs, issues, and features requests... Kind of sad.&lt;br /&gt;&lt;br /&gt;A &lt;a href="http://aircable.blogspot.com/"&gt;friend of mine&lt;/a&gt; gave me this hint about using git so I said "Why not?", let's try it. I spent the whole saturday trying and testing it, and fortunately lots of features absent in subversion existed in git. But stills very complex, specially setting it up was kind of annoying.&lt;br /&gt;&lt;br /&gt;By the end of saturday I was kind of dissapointed because of this, so I asked to the people in irc.freeonde.net/#darcs if there was any  projects repository outhere using darcs... As expected, the answer was a "NO".&lt;br /&gt;&lt;br /&gt;Then I saw the light when "Why don't I create a darcs server?" came to my mind. So, I created a darcs server at europa.fapyd.unr.edu.ar (static IP). But only with ftp access since it was the only thing installed on it. So for example someone could get or pull kpkg like this:&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 102, 0);"&gt;    &lt;span style="color: rgb(51, 102, 255);"&gt;darcs get http://europa.fapyd.unr.edu.ar/darcs/kpkg&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When that worked, I decided that there was something missing, and it was the hability to get from http and the web interface. So finally, I installed a simple and small webserver (shttpd) and brought darcsweb to it. Now, it is working and people can follow the development very easily. I even made a modification to the cgi (a python script) to allow people to get a release from the darcs cgi web inteface.&lt;br /&gt;&lt;br /&gt;You can see my darcs server up and running here: &lt;a href="http://europa.fapyd.unr.edu.ar/cgi-bin/darcsweb.cgi"&gt;http://europa.fapyd.unr.edu.ar/cgi-bin/darcsweb.cgi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One thing to look forward is the upload patch cgi (&lt;a href="http://europa.fapyd.unr.edu.ar/cgi-bin/upload.cgi"&gt;http://europa.fapyd.unr.edu.ar/cgi-bin/upload.cgi&lt;/a&gt;), which is a perl script that accept patches from post in the format message/rfc822 (mail format) and deliver those to a Maildir in the server, so then I can apply those. Fancy, don't you think? :)&lt;br /&gt;&lt;br /&gt;Ohhh, one last thing... If you follow the links, you'll see the NQqueue (You shouldn't even know about this unless I told you. Eventually I'll drop a comment on this) in the repo, please, don't try it unless you feel very adventured, since there is no release so far, and it has some nasty bugs to be fixed, features to be implemented before to schedule for a release, and the modules API is not yet stable. It is only there so you can check it out (and maybe help if you want?). When NQqueue gets stable, I will drop a release with drums and cymbals. But so far, the code is very unstable!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-2314491641156272805?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/2314491641156272805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=2314491641156272805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/2314491641156272805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/2314491641156272805'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/05/my-darcs-repository.html' title='My darcs repository'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-7987021665395469784</id><published>2008-04-09T23:31:00.002-03:00</published><updated>2008-05-04T23:01:38.221-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Hanging up switches and bridges</title><content type='html'>This issue came up today with some people and I did affirmed that you can hang up your switch with some funny code...&lt;br /&gt;How this come? Well, very simple, switches and bridges has a small stack (10 bytes per host connected to it) where they save IP and MAC addresses to know where to send a package once the sender and the receiver are known. So, once the first package is sent, a new entry in the stack was made. So now you know the "theory" I'll leave you to think how could this help you to hang it (Let me give you a hint: OVERFLOW).&lt;br /&gt;&lt;br /&gt;Anyways, get the code you'll need to produce this overflow from here: &lt;a href="http://dcortarello.googlepages.com/pkinject"&gt;http://dcortarello.googlepages.com/pkinject&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Keep in mind that you'll need the pktgen kernel module to run this.&lt;br /&gt;See also that I did this 3 years ago with bash, not even C code, so it shows how easy is to generate network packages to produce this effect, which isn't a big deal when it comes to reproduce it, but to create a security policy to avoid it.&lt;br /&gt;&lt;br /&gt;Have fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-7987021665395469784?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/7987021665395469784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=7987021665395469784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7987021665395469784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7987021665395469784'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/04/hanging-up-switches-and-bridges.html' title='Hanging up switches and bridges'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-7439497556452090664</id><published>2008-03-29T20:14:00.002-03:00</published><updated>2008-05-04T23:03:11.104-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Various'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Kwort 2.4 released</title><content type='html'>I'm proud to announce that Kwort 2.4 final version has been released after a very long time (more than a year). The system is very stable and very usable.&lt;br /&gt;&lt;br /&gt;The core system is based on Slackware and provides a rock solid system, and it's also a great place to start making a full featured and usable desktop environment using Xfce.&lt;br /&gt;This version includes several changes from 2.2 from a new toolchain to a completely new base system. The inclusion of hal provides a great way to communicate the hardware with the desktop making the system a lot more user friendly.&lt;br /&gt;&lt;br /&gt;Good things in this new version:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Hal&lt;/span&gt;: As I said before provides a lot of new features giving the desktop some kind of control of the hardware.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;New init system&lt;/span&gt;: Kwort 2.4 includes a new init system written mostly from scratch. Also it puts all the work together with the new service command.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Linux 2.6.24.3&lt;/span&gt;: The latest stable version of the linux kernel.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Kpkg&lt;/span&gt;: The new version of kpkg was re-written from scratch.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Kwort User Manager&lt;/span&gt;: Provides a simple way to create and remove users with default Kwort templates.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Xfce&lt;/span&gt;: This new version integrate great with hal.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Ristretto&lt;/span&gt;: The image viewer of the Xfce project.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Mplayer&lt;/span&gt;: The most famous video player on Linux is now included in the iso.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Pidgin&lt;/span&gt;: The latest version of the best multiprotocol IM.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Mpd+Gmpc&lt;/span&gt;: This is the new combo to play media files in Kwort. Just put your media files in ~/Music, go to gmpc, give update and play.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;As in every old version now comes the things that I look forward to improving:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;   &lt;span style="font-weight: bold;"&gt;Better support for wireless devices&lt;/span&gt;: This is not part of Kwort itself, but the kernel, but finally affects Kwort users.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Amule&lt;/span&gt;: Once again amule is giving the hebbe-jeebes. There is no stable version of amule that works well enough with Kwort. The latest version is dated from middle of 2006 wich is very old and buggy with newer versions of wxGTK.&lt;/li&gt;&lt;/ul&gt;Screenshots available here: &lt;a href="http://kwort.org/?page=ScreenshotView"&gt;http://kwort.org/?page=ScreenshotView&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;People who I would like to thank:&lt;br /&gt;Andreas Schipplock for making and maintaining the website, mirroring the iso, working in Kwort core (he made most part of the job with Core) and bring lzma support to Kwort.&lt;br /&gt;Stijn Seger for working in some packages like openntpd and the pm support. And writing the Kwort user manager.&lt;br /&gt;I would like to give a special thanks to the users who ran tests specially to David Luskovec and Juan Martin Villanueva, if it wasn't for you guys, this iso would take even longer to come out.&lt;br /&gt;Manuel Naranjo for reporting bugs, submiting patches for the new init system, hosting the iso and run test all along Kwort core.&lt;br /&gt;Also, I would like to thank all the mirror providers: Ricardo Brisighelli for the development mirror in the UNR, Alberto Ferrer for the mirror in Emanon Linux and the AIRcable people for the mirror at aircable.net.&lt;br /&gt;Finally, but not less important a very big THANKS to Patrick Volkerding for Slackware Linux, the system kwort is based on. I hope I didn't forget anyone.&lt;br /&gt;&lt;br /&gt;As usual, if you need support, help, or you just feel like talking about Kwort (or anything else), or you just want to meet the people who is behind Kwort, you can join us on IRC: &lt;span style="font-style: italic;"&gt;irc://irc.oftc.net/Kwort&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-7439497556452090664?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/7439497556452090664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=7439497556452090664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7439497556452090664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7439497556452090664'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/03/kwort-24-released.html' title='Kwort 2.4 released'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-7236205698484477827</id><published>2008-03-04T01:47:00.002-02:00</published><updated>2008-11-13T00:05:43.639-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Various'/><title type='text'>Nice picture</title><content type='html'>Well, not much to say these days...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7bn3_3YdSWU/R8zGzB7Bw2I/AAAAAAAAAIc/8_urwRHbh6A/s1600-h/Einstein.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_7bn3_3YdSWU/R8zGzB7Bw2I/AAAAAAAAAIc/8_urwRHbh6A/s400/Einstein.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5173728651933500258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sometimes we have to find a reason to laugh, even a little bit... I found this picture very funny. :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;nobody:nogroup&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-7236205698484477827?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/7236205698484477827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=7236205698484477827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7236205698484477827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7236205698484477827'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/03/nice-picture.html' title='Nice picture'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_7bn3_3YdSWU/R8zGzB7Bw2I/AAAAAAAAAIc/8_urwRHbh6A/s72-c/Einstein.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-1622876950658874557</id><published>2008-02-25T23:51:00.003-02:00</published><updated>2008-05-04T23:02:10.979-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Various'/><title type='text'>Why ktsuss use setuid?</title><content type='html'>Well, this was the question made by one of the debian packagers. I see a good thing the fact that they ask this, since including a program setuid without asking the reasons would be kind of dumb. They ask why not using pam or su in the way gksu does, so I will try to answer these questions.&lt;br /&gt;&lt;br /&gt;Using pam would requiere setuid too (since pam_unix2 doesn't have it's own wrapper), which doesn't bother me as long as I program in a secure way... What really does, is that not every distribution out there use pam, slackware is the most important it comes to my mind now.&lt;br /&gt;Using su, well, there might be a problem there, gksu does it in a very unportable way waiting for the string " Authentication failure" which is a very bad idea, look this example:&lt;br /&gt;&lt;br /&gt;Fedora "su" command:&lt;br /&gt;-sh-3.1$ su&lt;br /&gt;Password:&lt;br /&gt;su: incorrect password&lt;br /&gt;-sh-3.1$&lt;br /&gt;Slackware (Kwort) "su" command:&lt;br /&gt;nomius@Neptune:~$ su&lt;br /&gt;Password:&lt;br /&gt;Sorry.&lt;br /&gt;nomius@Neptune:~$&lt;br /&gt;&lt;br /&gt;As you can see in gksu, different versions of su would really break things up.&lt;br /&gt;None of above shown implementations gives " Authentication failure". I guess that message is given by pam with strerror(), so once again, it's not portable.&lt;br /&gt;&lt;br /&gt;The actual ktsuss code is very clean and simple (which is the whole idea behind ktsuss), I always gave security with the authentication backend, maybe a feature bug (like the PATH thing in 1.1), but not security issues.&lt;br /&gt;&lt;br /&gt;There might be a way using su better than what gksu does, something like doing "su -c exit" (pepping the password of course) getting the exit status with WEXITSTATUS(), waiting for 0 (password ok and then run su command with the same password) or 1 (wrong password). But would be kind of messy...&lt;br /&gt;I should see that like something in a long distant future... But I think it could be a way to avoid the paranoid.&lt;br /&gt;&lt;br /&gt;So since ktsuss have its own implementation of authentication backend, that's why it needs setuid.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-1622876950658874557?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/1622876950658874557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=1622876950658874557' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1622876950658874557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1622876950658874557'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/02/why-ktsuss-use-setuid.html' title='Why ktsuss use setuid?'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/10668929467705284438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_KMFJg8fYOuM/R3vskeog51I/AAAAAAAAAAM/-v-S36zKgCQ/S220/me.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-6151856466343000064</id><published>2008-02-11T23:48:00.000-02:00</published><updated>2008-05-04T23:02:33.493-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>ktsuss 1.3... Finally</title><content type='html'>Well, today I'm releasing the new ktsuss.&lt;br /&gt;It toke quite some time, not because it was too much work, but because I didn't the enough time to finish it.&lt;br /&gt;This new version includes the new authentication backend, and the new interface, which I have to say it's quite better than the old one. The main setuid program has a better comand line parser, not for the user, but if someone wants to understand it, is quite easy.&lt;br /&gt;&lt;br /&gt;I would like to thank Christian Dywan for putting so much work in the graphical interface, he made an excellent job with it. I would like to thank too to all the people who reported bugs to make this release the best one.&lt;br /&gt;&lt;br /&gt;Summary: &lt;a href="https://developer.berlios.de/projects/ktsuss"&gt;https://developer.berlios.de/projects/ktsuss&lt;/a&gt;&lt;br /&gt;Changelog: &lt;a href="https://developer.berlios.de/project/shownotes.php?group_id=8800&amp;amp;release_id=14175"&gt;here&lt;/a&gt;&lt;br /&gt;Download link: &lt;a href="http://prdownload.berlios.de/ktsuss/ktsuss-1.3.tar.gz"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-6151856466343000064?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/6151856466343000064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=6151856466343000064' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/6151856466343000064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/6151856466343000064'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/02/ktsuss-13-finally.html' title='ktsuss 1.3... Finally'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/10668929467705284438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_KMFJg8fYOuM/R3vskeog51I/AAAAAAAAAAM/-v-S36zKgCQ/S220/me.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-3555824773146203116</id><published>2008-01-02T18:03:00.000-02:00</published><updated>2008-05-04T23:02:33.493-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>MPD: What's missing?</title><content type='html'>I been using mpd+gmpc now for a while, I really like the combination, but what I missed on it was the ability to modify tags, which normally all players can do.&lt;br /&gt;Well, I started working on gmpc to add support for tag editing when I stopped with the following issue: The fact that mpd doesn't support tag editing was the reason for gmpc to not support it (which makes sense), because mpd is run on a different machine so gmpc does not have access to these files.&lt;br /&gt;Some of you will tell me "Dude! Sonata supports tag editing even when mpd doesn't", and I know, but what sonata does is actually a very like a "half done work" with that, as you can only edit tags if mpd runs on the same machine sonata is running, which normally doesn't happen (that's the idea of a client-server structure).&lt;br /&gt;So, now, my approach to resolve the problem was completely different as &lt;span style="font-size:100%;"&gt;I had to include a new command in the mpd protocol so I could add tag editing support.&lt;/span&gt;&lt;br /&gt;Well, I did include the command, I did gave support to tag edition and I even gave a command to check if the file can be edited or not. Finally, I gave support to libmpd and gmpc, so now, gmpc can "full edit" tags. :-)&lt;br /&gt;&lt;br /&gt;So here are the patches (descriptions on how to use the commads can be found in mpd's patch, and descriptions on how to use the new functions libraries can be found in libmpd's patch):&lt;br /&gt;MPD (stable version, by now 0.13.0): &lt;a href="http://dcortarello.googlepages.com/mpd-0.13.0-tag_edit_support.patch"&gt;mpd-0.13.0-tag_edit_support.patch&lt;/a&gt;&lt;br /&gt;LIBMPD (stable version, by now 0.15.0): &lt;a href="http://dcortarello.googlepages.com/libmpd-0.15.0-tag_edit_support.patch"&gt;libmpd-0.15.0-tag_edit_support.patch&lt;/a&gt;&lt;br /&gt;GMPC (stable version, by now 0.15.0): &lt;a href="http://dcortarello.googlepages.com/gmpc-0.15.5.0-tag_edit_support.patch"&gt;gmpc-0.15.5.0-tag_edit_support.patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, the main problem wasn't the code itself, I mean, I had to spend some time investigating the code to finally hint the right keys. But the problem is now in what mpd developers want to do with this patch. Some developers like it (specially client's developers and users, like &lt;span class="ppt" id="_user_qball@qballcow.nl"&gt;Qball Cow&lt;/span&gt; and &lt;span class="ppt" id="_user_stonecrest@gmail.com"&gt;Scott Horowitz), but others disagree. I really understand both sides (I have to admit I like more mine's, that's why I developed this patch).&lt;br /&gt;&lt;/span&gt;&lt;span class="ppt" id="_user_stonecrest@gmail.com"&gt;Some argues that the patch will add more code to maintain, but actually, the mpd's patch is not more than 300 lines (so that excuse looks more like a joke), others say that mpd is just a music player with a client-server architecture, and not a tag editing software, and I really understand this philosophy. But IMHO I think that if mpd wants to take care of the music this is like "a must have".&lt;/span&gt;&lt;br /&gt;&lt;span class="ppt" id="_user_stonecrest@gmail.com"&gt;&lt;br /&gt;Since this made very people a little &lt;/span&gt;&lt;span style="font-size:100%;"&gt;uncomfortably&lt;/span&gt;&lt;span class="ppt" id="_user_stonecrest@gmail.com"&gt;, I see this like something good, not because of the internal fight/war, but because it helps to discuss the development. The fact that is being considered means the project is still alive and defining issues while the time is going on.&lt;br /&gt;People say that if this doesn't get in trunk tag editing is off the table. Well guys, if that happens, bad luck.&lt;br /&gt;&lt;br /&gt;Anyways, Kwort 2.4 will use mpd+libmpd+gmpc with tag editing support. :-)&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/29917472-3555824773146203116?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/3555824773146203116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=3555824773146203116' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/3555824773146203116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/3555824773146203116'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2008/01/mpd-whats-missing.html' title='MPD: What&apos;s missing?'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/10668929467705284438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_KMFJg8fYOuM/R3vskeog51I/AAAAAAAAAAM/-v-S36zKgCQ/S220/me.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-5925694188264645003</id><published>2007-11-21T00:41:00.003-03:00</published><updated>2010-08-16T12:51:41.602-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>The children of my children are my enemies... What about their children</title><content type='html'>I had to deal with this problem related to process sincronization some months ago, and since Kwort 2.4 core edition is waiting for Linux 2.6.24, I will show you what my problem was and how I dealed with it.&lt;br /&gt;&lt;br /&gt;I was trying to run a process, this process forks itself and ran some bash scripts. So far there's nothing bad on it, the problem is that those shell scripts create some childs, and it is more than sure that the parent (the main script) die before the childs, so I'll get some orphans process. And the main C program shouldn't die before all the childs die.&lt;br /&gt;&lt;br /&gt;So, let's take for example the code in the first post in this blog "Checking the network with bash". In this case a wait in the end would fix the problem, but let's just think that we can't modify this script:&lt;br /&gt;&lt;pre class="prettyprint"&gt;#!/usr/bin/env bash&lt;br /&gt;&lt;br /&gt;function pinging(){&lt;br /&gt;    SUBNET=${1}&lt;br /&gt;    LAST=${2}&lt;br /&gt;    PING="$(which ping) -c 1 -W 1"&lt;br /&gt;    ${PING} ${SUBNET}.${LAST} &gt; /dev/null 2&gt;&amp;amp;1&lt;br /&gt;    if [ $? -eq 0 ]; then&lt;br /&gt;        echo -e "${SUBNET}.${LAST} is up"&lt;br /&gt;    fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if [ -z ${2} ]; then&lt;br /&gt;    for((x=1;x&lt;255;x++)); do&lt;br /&gt;        ${0} ${1} ${x} &amp;amp;&lt;br /&gt;    done&lt;br /&gt;else&lt;br /&gt;    pinging ${1} ${2}&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So, this was the first attempt to control this mess but unfortunately didn't work as expected because this process was in another Process Group ID (avoid comments about controlling the return value of fork and such, since this is an example of something that didn't work):&lt;br /&gt;&lt;pre class="prettyprint"&gt;int main(int argc, char *argv[]){&lt;br /&gt;    int status;&lt;br /&gt;    if(fork())&lt;br /&gt;        waitpid(-1*getpgrp(), &amp;amp;status, 0);&lt;br /&gt;    else&lt;br /&gt;        execlp(argv[1], argv[1], argv+1, NULL);&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So, basically, the idea was that the main C program shown above shouldn't die until all the childrens of the scripts die (that's why I was using using getpgrp(), which didn't work as expected for what I explained above).&lt;br /&gt;On Linux, running ps axfj, showed me that the small childrens (those one generated by the script) are in the same group, but I couldn't wait for them, as they are not my childrens, but then child of my child process children's.&lt;br /&gt;&lt;br /&gt;After dealing a little of time I came up whit this program that control all the childrens, grandchildrens and rest of the "family". The code is very simple to understand and explains on itself:&lt;br /&gt;&lt;pre class="prettyprint"&gt;int main(int argc, char *argv[]){&lt;br /&gt;    int status;&lt;br /&gt;    pid_t pid;&lt;br /&gt;    if((pid=fork()) != 0) {&lt;br /&gt;        sleep(2);&lt;br /&gt;        waitpid(pid, &amp;amp;status, 0);&lt;br /&gt;        while(killpg(pid, 0) != -1)&lt;br /&gt;            usleep(0.1);&lt;br /&gt;    }&lt;br /&gt;    else if(pid==0){&lt;br /&gt;        setpgid(getpid(), getpid());&lt;br /&gt;        execv(argv[1], argv+1);&lt;br /&gt;    }&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Thanks to Marcel, who actually helped me a lot with some concepts and ideas to find a workaround to this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-5925694188264645003?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/5925694188264645003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=5925694188264645003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/5925694188264645003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/5925694188264645003'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/11/children-of-my-children-are-my-enemies.html' title='The children of my children are my enemies... What about their children'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-3897182195974132784</id><published>2007-09-02T17:56:00.000-03:00</published><updated>2008-11-13T00:05:43.982-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>ktsuss 1.2 released</title><content type='html'>I just released ktsuss 1.2. There's not much to say about this new version. The most important changes were made to the GUI which now uses a native gtk dialog instead of a custom window. (Thanks to Christian Dywan for the patch).&lt;br /&gt;Ktsuss now allows running applications as any user instead of root only. The code was in the authentication backend, now it is used in the GUI.&lt;br /&gt;Added to the main launcher are options -v, --version, -h, and --help.You can read the full changelog and download the new version here: &lt;a href="http://developer.berlios.de/projects/ktsuss"&gt;http://developer.berlios.de/projects/ktsuss&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Screenshot as usual:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7bn3_3YdSWU/Rtsl1uboVhI/AAAAAAAAAFg/50f1opbNKBI/s1600-h/ktsuss.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_7bn3_3YdSWU/Rtsl1uboVhI/AAAAAAAAAFg/50f1opbNKBI/s400/ktsuss.png" alt="" id="BLOGGER_PHOTO_ID_5105716207481804306" border="0" /&gt;&lt;/a&gt;Finishing... You guys know, report bugs and all that kind of stuff. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-3897182195974132784?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/3897182195974132784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=3897182195974132784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/3897182195974132784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/3897182195974132784'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/09/ktsuss-12-released.html' title='ktsuss 1.2 released'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_7bn3_3YdSWU/Rtsl1uboVhI/AAAAAAAAAFg/50f1opbNKBI/s72-c/ktsuss.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-4120185014295914283</id><published>2007-08-20T01:18:00.000-03:00</published><updated>2008-05-04T23:03:11.105-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Various'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Some flashlights of Kwort 2.4</title><content type='html'>Well, me and the rest of the team are working in Kwort 2.4 (2.2.2? I dunno, but I think 2.4 will be alright).&lt;br /&gt;&lt;br /&gt;Andreas Schipplock (aka Avarus) is working on the core system and as far as I know he is making a remarkable work on it.&lt;br /&gt;One of the most important parts is the lzma compression for the packages, so the final iso will be smaller than the Kwort 2.2 one. He is now working on the installation system, so when he gets done I'll put Kwort desktop on it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://avarus.com.ar/kwort-bootsplash.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://avarus.com.ar/kwort-bootsplash.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Stijn Segers is working on the new interface for the users admin system (as my mockup looked very bad :-P), so once he finishes with it I will make a Xfce plugin of it and include it in the mcs settings manager.&lt;br /&gt;He will also take care of the kernel. So this time, getting kernel source to compile drivers won't be needed and as he told me we will include some drivers by default like those free ralink ones. But kernel work stopped until 2.6.23 come out, as that one will be the one for Kwort 2.4.&lt;br /&gt;&lt;br /&gt;And it's time to tell what I'm doing... Well, until Andreas and Stijn doesn't finish I'm still maintaining 2.2 serie including and upgrading packages (&lt;a href="http://kwort.org/?page=MorePackages"&gt;http://www.kwort.org/?page=MorePackages&lt;/a&gt;).&lt;br /&gt;But until that happens I'm checking projects and taking decisions for the desktop and in core (helping Andreas and Stijn). Today I did some user custom actions for kwort packages:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://dcortarello.googlepages.com/kpkg_install.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://dcortarello.googlepages.com/kpkg_install.png" alt="" border="0" /&gt;&lt;/a&gt;For those paranoids (I know you guys are right about this), ktsuss will be included and all those sudo commands will be removed (sudo will still be included, but not used for anything else but xfsm-shutdown-helper). So this custom action showed above use ktsuss in case you ask.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Oh, another interesting things are the fact that kwort is listed in &lt;a href="http://www.xfce.org/download/distros"&gt;www.xfce.org/download/distros&lt;/a&gt; as a Xfce distribution and Kwort being used in school (COBAEH - Cuautepec de Hinojosa - Hidalgo - México) with old machines (Pentium MMX 200Mhz with 32MB ram).&lt;br /&gt;&lt;br /&gt;Well, that's all for now folks, I will keep bringing Kwort newsflash :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-4120185014295914283?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/4120185014295914283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=4120185014295914283' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/4120185014295914283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/4120185014295914283'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/08/some-flashlights-of-kwort-24.html' title='Some flashlights of Kwort 2.4'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-1734975988494028976</id><published>2007-07-27T00:26:00.004-03:00</published><updated>2010-08-16T12:52:02.911-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Knowing the network speed at a given moment</title><content type='html'>Well, a friend of mine asked me for this, and it was very interesting to understand what was in /proc/net/dev.&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;#!/usr/bin/env bash&lt;br /&gt;&lt;br /&gt;if [ -z "${1}" ]; then&lt;br /&gt;   echo "Give a network interface"&lt;br /&gt;   exit 1&lt;br /&gt;fi&lt;br /&gt;DEV=${1}&lt;br /&gt;/sbin/ifconfig ${DEV} &gt;/dev/null 2&gt;&amp;amp;1&lt;br /&gt;if [ $? -ne 0 ]; then&lt;br /&gt;   echo "Please, do man 8 ifconfig to know what a network interface is"&lt;br /&gt;   exit 1&lt;br /&gt;fi&lt;br /&gt;LINE_OLD=$(cat /proc/net/dev | grep ${DEV})&lt;br /&gt;sleep 1&lt;br /&gt;LINE_NEW=$(cat /proc/net/dev | grep ${DEV})&lt;br /&gt;while [ "${LINE_OLD}" = "${LINE_NEW}" ]; do&lt;br /&gt;   sleep 0.1&lt;br /&gt;   LINE_NEW=$(cat /proc/net/dev | grep ${DEV})&lt;br /&gt;done&lt;br /&gt;OLD_DOWN=$(echo ${LINE_OLD/*:/} | awk -F " " '{ print $1 }')&lt;br /&gt;OLD_UP=$(echo ${LINE_OLD/*:/} | awk -F " " '{ print $9 }')&lt;br /&gt;NEW_DOWN=$(echo ${LINE_NEW/*:/} | awk -F " " '{ print $1 }')&lt;br /&gt;NEW_UP=$(echo ${LINE_NEW/*:/} | awk -F " " '{ print $9 }')&lt;br /&gt;REST_DOWN=$((${NEW_DOWN} - ${OLD_DOWN}))&lt;br /&gt;REST_UP=$((${NEW_UP} - ${OLD_UP}))&lt;br /&gt;if [ ${REST_DOWN} -gt 1024 ]; then&lt;br /&gt;   echo "DOWNLOAD: $(echo "scale=2;${REST_DOWN}/1024" | bc -lq)k/s"&lt;br /&gt;else&lt;br /&gt;   echo "DOWNLOAD: ${REST_DOWN}b/s"&lt;br /&gt;fi&lt;br /&gt;if [ ${REST_UP} -gt 1024 ]; then&lt;br /&gt;   echo "UPLOAD: $(echo "scale=2;${REST_UP}/1024" | bc -lq)k/s"&lt;br /&gt;else&lt;br /&gt;   echo "UPLOAD: ${REST_UP}b/s"&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You can run it this way for example: &lt;pre class="prettyprint"&gt;while true; do ./netspeed eth0; done&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;See you guys in the next few days to tell you something new :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-1734975988494028976?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/1734975988494028976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=1734975988494028976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1734975988494028976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1734975988494028976'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/07/knowing-network-speed-at-given-moment.html' title='Knowing the network speed at a given moment'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-676118698734732562</id><published>2007-07-09T22:39:00.003-03:00</published><updated>2010-08-16T12:53:00.316-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Various'/><title type='text'>The IT Crowd for download</title><content type='html'>The last week I started to see a tv serie called "The IT Crowd" on Sony, it's a funny geek serie about an IT team in a british company. Anyways, a friend of mine (Manu) wanted to download all the chapters from a site, so I wrote this simple script for him:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;#!/usr/bin/env bash&lt;br /&gt;&lt;br /&gt;wget http://stage6.divx.com/The-IT-Crowd---Spanish-Subtitled/videos/&lt;br /&gt;i=1&lt;br /&gt;for x in $(egrep -i "The-IT-Crowd---1x0*" index.html | awk -F '/' '{ print $4}' | sort -m -u); do&lt;br /&gt;   tput setaf 1&lt;br /&gt;   echo "Downloading chapter ${i} (Link: http://divx-226.vo.llnwd.net/stage6vid/${x}.divx)"&lt;br /&gt;   tput sgr0&lt;br /&gt;   wget http://divx-226.vo.llnwd.net/stage6vid/${x}.divx --output-file="${i}.avi"&lt;br /&gt;   i=$((i+1))&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I hope someone find it useful.&lt;br /&gt;&lt;br /&gt;EDIT: Unfortunately, this doesn't work anymore, since stage6 was closed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-676118698734732562?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/676118698734732562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=676118698734732562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/676118698734732562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/676118698734732562'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/07/it-crowd-for-download.html' title='The IT Crowd for download'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-986946241521355536</id><published>2007-06-22T23:53:00.001-03:00</published><updated>2010-08-08T13:32:26.280-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Here we go again with margins in openbox</title><content type='html'>I wrote a &lt;a href="http://nomius.blogspot.com/2007/01/margins-in-openbox.html"&gt;patch for openbox 3.3.1&lt;/a&gt; at the very beginning of the year which was rejected by the openbox leader (to me the reasons wasn't right, but it is his project :-P).&lt;br /&gt;So a new release of openbox was released some weeks ago and yes, as you guess, that patch isn't compatible with the new version (3.4), so I re-wrote the patch to work.&lt;br /&gt;&lt;br /&gt;The configuration is made in the same way as before in the rc.xml:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&amp;lt;margin&amp;gt;&lt;br /&gt;  &amp;lt;top&amp;gt;px&amp;lt;/top&amp;gt;&lt;br /&gt;  &amp;lt;bottom&amp;gt;px&amp;lt;/bottom&amp;gt;&lt;br /&gt;  &amp;lt;left&amp;gt;px&amp;lt;/left&amp;gt;&lt;br /&gt;  &amp;lt;right&amp;gt;px&amp;lt;/right&amp;gt;&lt;br /&gt;&amp;lt;/margin&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So, here it is, patch supporting margins in openbox 3.4: &lt;a href="http://dcortarello.googlepages.com/openbox-3.4.0-margins.patch"&gt;http://dcortarello.googlepages.com/openbox-3.4.0-margins.patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks to all the people asking me for this, as it inspiring.&lt;br /&gt;&lt;br /&gt;This entry is dedicated to someone very important... You read this from time to time, so you know who you are. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-986946241521355536?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/986946241521355536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=986946241521355536' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/986946241521355536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/986946241521355536'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/06/here-we-go-agani-with-margins-in.html' title='Here we go again with margins in openbox'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-7277182126633166756</id><published>2007-06-17T17:32:00.000-03:00</published><updated>2007-09-20T09:19:26.598-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Firefox freshmeat.net search plugin</title><content type='html'>A long time since my last post, looks like that was from the caves times. :-P&lt;br /&gt;Anyways, I was boring in this almost winter afternoon, so I started to see what I could do in a short amount of time. So I wrote a small search plugin for Firefox, so I can search for projects in freshmeat.net, you can get it from here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/freshmeat.xml"&gt;http://dcortarello.googlepages.com/freshmeat.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheers! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-7277182126633166756?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/7277182126633166756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=7277182126633166756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7277182126633166756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7277182126633166756'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/06/firefox-freshmeatnet-search-plugin.html' title='Firefox freshmeat.net search plugin'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-180398209649198107</id><published>2007-04-21T23:01:00.000-03:00</published><updated>2008-11-13T00:05:44.413-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>My new tool: ktsuss... A simple graphic su.</title><content type='html'>I know I had to write something about the wake on lan software I was writing. I think it is done, but couldn't test it yet, so I don't wanna rush me and write about it and show it in case it doesn't work, so please stay tunned and wait a bit longer.&lt;br /&gt;&lt;br /&gt;So, today I will show and talk you about a new thing I was doing these days.&lt;br /&gt;I started working on a replacement for gksu. gksu is like a graphical su. I was trying to understand it and make it work well enough, but I don't know what was in the mind of the gksu's developers, because what they did was a really wrong approach, I don't know why they wrote first a library and then the application (maybe for plugins, I'm just paraphrasing) , but anyways, together they are more than 500k, which is extremely too much.&lt;br /&gt;So I wrote my version of gksu, which is called ktsuss (keep the su simple, stupid). My version is only the setuid wrapper (as GTK doesn't permit setuid programs) and program itself which is less than 3k.&lt;br /&gt;As I know you guys love screenshots, this is how the program looks like:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7bn3_3YdSWU/RirMWAa4iZI/AAAAAAAAAE0/bjUfY8bq2Ek/s1600-h/ktsuss.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_7bn3_3YdSWU/RirMWAa4iZI/AAAAAAAAAE0/bjUfY8bq2Ek/s320/ktsuss.png" alt="" id="BLOGGER_PHOTO_ID_5056078210118748562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Anyways, I would like to get feedback on this, so please, let me know if it fails or anything is or goes wrong on it.&lt;br /&gt;&lt;br /&gt;Get the program from here: &lt;a href="http://dcortarello.googlepages.com/ktsuss-1.0.tar.gz"&gt;http://dcortarello.googlepages.com/ktsuss-1.0.tar.gz&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-180398209649198107?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/180398209649198107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=180398209649198107' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/180398209649198107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/180398209649198107'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/04/my-new-tool.html' title='My new tool: ktsuss... A simple graphic su.'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_7bn3_3YdSWU/RirMWAa4iZI/AAAAAAAAAE0/bjUfY8bq2Ek/s72-c/ktsuss.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-2980819883652663567</id><published>2007-04-08T21:43:00.001-03:00</published><updated>2008-08-12T21:52:35.515-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>As I said, knm 2.3 released</title><content type='html'>After some times, a new version of &lt;a href="https://developer.berlios.de/projects/knm/"&gt;knm&lt;/a&gt; was released. This release is just a bug fix release (thanks for all the feedback I got from everyone).&lt;br /&gt;&lt;br /&gt;Changelog here: &lt;a href="https://developer.berlios.de/project/shownotes.php?group_id=8115&amp;amp;release_id=12612"&gt;Changelog&lt;/a&gt;&lt;br /&gt;Download here: &lt;a href="http://prdownload.berlios.de/knm/knm-2.3.tar.gz"&gt;Download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Package for Kwort 2.2: &lt;a href="ftp://europa.fapyd.unr.edu.ar/pub/kwort/2.2/packages/net/kwort-network-manager-2.3-i486-1.tgz"&gt;Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Kwort users, please upgrade to this version, as it is very important.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-2980819883652663567?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/2980819883652663567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=2980819883652663567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/2980819883652663567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/2980819883652663567'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/04/as-i-said-knm-23-released.html' title='As I said, knm 2.3 released'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-6892860645721016998</id><published>2007-04-01T20:33:00.000-03:00</published><updated>2007-09-20T09:19:26.598-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>A month latter... Finally, patch for wavemon</title><content type='html'>It's been quite a while since my last post here...&lt;br /&gt;&lt;br /&gt;Some things happened like the release of Kwort 2.2 (not as great as I would like, but still good). New knm will be released in the next few days, this will be just a bug fix release (too many thanks to the people from tuxmachines, who thanks to them I saw some bugs).&lt;br /&gt;&lt;br /&gt;I've been developing on clip at work, which is an interesting and exciting thing, since this is my first time working on compilers (I started last year when I wrote some patches for compatibilities and bug fixes).&lt;br /&gt;&lt;br /&gt;Well, now on to businesses and the important stuff. As I said like a month ago I was working on a patch for wavemon, which is a software that I consider very good, with a nice and clean code. I would have released it before, but I was studying and working a lot, so I only have the weekends, and as I been working on Kwort I couldn't work on this before.&lt;br /&gt;&lt;br /&gt;So, as it says in the patch, the following bug fixes and features:&lt;br /&gt;* Fixed errors compilation in gcc 3.x due to default label missing&lt;br /&gt;* Fixed some warnings due to the lvalue casts deprecated on gcc 3.x&lt;br /&gt;* Changed ap list functions, so now it use the new iw api (this is the most important thing).&lt;br /&gt;&lt;br /&gt;The last change is the most important, as it made the code simpler, now it works with all cards because the new wireless tools extensions are up to date.&lt;br /&gt;&lt;br /&gt;Get the patch from here: &lt;a href="http://dcortarello.googlepages.com/wavemon-0.4.0b-comp-fix-new-ap.patch"&gt;http://dcortarello.googlepages.com/wavemon-0.4.0b-comp-fix-new-ap.patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And for those that don't know wavemon, you can get the source code from here: &lt;a href="http://www.janmorgenstern.de/wavemon-current.tar.gz"&gt;http://www.janmorgenstern.de/wavemon-current.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I hope you guys find it useful like I do. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-6892860645721016998?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/6892860645721016998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=6892860645721016998' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/6892860645721016998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/6892860645721016998'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/04/month-latter-finally-patch-for-wavemon.html' title='A month latter... Finally, patch for wavemon'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-2220235724947763100</id><published>2007-03-10T23:55:00.000-03:00</published><updated>2007-09-20T09:19:57.803-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Kwort Linux (to be released) and Kpkg (released)</title><content type='html'>Kpkg 2.4 was released some minutes ago, you can download it from here: &lt;a href="http://prdownload.berlios.de/kpkg/kpkg-2.4.tar.gz"&gt;http://prdownload.berlios.de/kpkg/kpkg-2.4.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This version is a bug fix release, now PKG_GOOD and PKG_FAIL works with upgrade as it should and I fixed a weird issue due to a scope problem in bash functions.&lt;br /&gt;&lt;br /&gt;As usual, release notes and Changelog can be found &lt;a href="https://developer.berlios.de/project/shownotes.php?group_id=7171&amp;release_id=12417"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That's about Kpkg. Now, let's go to the important business. Kwort 2.2 final version will be released in the next couple of hours as some bugs (I hope no more appear) were fixed. The most important upgrades of this final version are kpkg and dialog. Not important upgrades were aaa_base and freedesktop packages that were modified to avoid annoying messages during the install.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-2220235724947763100?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/2220235724947763100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=2220235724947763100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/2220235724947763100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/2220235724947763100'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/03/kwort-linux-to-be-released-and-kpkg.html' title='Kwort Linux (to be released) and Kpkg (released)'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-7269381375567013486</id><published>2007-02-26T22:03:00.000-03:00</published><updated>2007-09-20T09:21:52.000-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Kwort network manager 2.0 released</title><content type='html'>Has been like a lifetime since I wrote something here, sorry folks, I been studying and working a lot.&lt;br /&gt;&lt;br /&gt;I just released knm 2.0, I tried to do this for the last two weeks, but there was some problems with releases at berlios (unless that happened when I tried to release this new version of knm).&lt;br /&gt;No many improvements made, several bug fixes and some information dialogs.&lt;br /&gt;&lt;br /&gt;You can see the release notes with the changelog here: &lt;a href="http://developer.berlios.de/project/shownotes.php?group_id=8115&amp;release_id=12311"&gt;Changelog and release notes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And you can download this new release at here: &lt;a href="http://prdownload.berlios.de/knm/knm-2.0.tar.gz"&gt;Download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In other news, Kwort 2.2rc2 have been released, check Kwort site at my right or &lt;a href="http://www.kwort.org"&gt;here&lt;/a&gt; (Thanks to Josep Subils Rigau who keep both the domains (.com and .org) registered). Please, if you're gonna download the iso, use Andreas's (aka avarus) mirror, as it is faster.&lt;br /&gt;&lt;br /&gt;Finally, I'm working in a patch for wavemon (&lt;a href="http://www.janmorgenstern.de/projects-software.html"&gt;http://www.janmorgenstern.de/projects-software.html&lt;/a&gt;), I already fixed any gcc incompatibilities but I'm still working trying to fix the ap list feature, because as it says in the source code it should be changed to the new 2.6 kernel api.&lt;br /&gt;&lt;br /&gt;That's all for today... Stay tuned. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-7269381375567013486?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/7269381375567013486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=7269381375567013486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7269381375567013486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/7269381375567013486'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/02/kwort-network-manager-20-released.html' title='Kwort network manager 2.0 released'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-1015581498293636805</id><published>2007-02-11T22:31:00.000-03:00</published><updated>2007-09-20T09:22:29.609-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Kwort Linux new logo</title><content type='html'>Not really programming, unix and/or math, this is like *off-topic* for this weblog, but Kwort's related, so for transition, Unix related. :D&lt;br /&gt;&lt;br /&gt;I'm happy to announce that Kwort Linux has now a new logo.&lt;br /&gt;Some weeks ago, Julio Cesar Puigpinos wrote to a mailing list the idea of create a new logo for Kwort.&lt;br /&gt;Only one person sent me some sketches, and this was Fabricio Caiazza. He made two logos and sent those to me, the first one looked like a friendly ghost and the second one (a weird penguin) who was the one who won.&lt;br /&gt;I would have liked to have more logos from which to choose, not because Fabricio's logo isn't nice (it is actually great btw), but the fact of having more logos means that the community wants to help. I'm not making a judgment here, maybe the community doesn't like arts, but it would be nice to get some help sometimes...&lt;br /&gt;&lt;br /&gt;Anyways, no more talking, the logo:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.imageox.com/image/27708-kworty.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px;" src="http://www.imageox.com/image/27708-kworty.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In other news, Andreas Schipplock is making a new site with several languages support (I'm not sure, but I think he finished the languages support code today) for those who instead of help come with criticism and complainings about this issue (you guys know who you are, and I only feel shame for you).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-1015581498293636805?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/1015581498293636805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=1015581498293636805' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1015581498293636805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1015581498293636805'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/02/kwort-linux-new-logo.html' title='Kwort Linux new logo'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-3491005917913331183</id><published>2007-01-15T00:59:00.000-03:00</published><updated>2007-09-20T09:26:08.547-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>What would programmers do when they are bored?</title><content type='html'>Well, nothing much to do these days since I spent all my vacation doing other things.&lt;br /&gt;I actually started to code a C API for kpkg, which will be finished in an unknown future. :P&lt;br /&gt;As I have also fixed some bugs in kpg I released a new version "2.3" which is a bug fix release.&lt;br /&gt;&lt;br /&gt;See the release notes here: &lt;a href="https://developer.berlios.de/project/shownotes.php?group_id=7171&amp;amp;release_id=12012"&gt;Releas notes&lt;/a&gt;&lt;br /&gt;And get the package here: &lt;a href="https://developer.berlios.de/project/showfiles.php?group_id=7171&amp;release_id=12012"&gt;Download kpkg 2.3 at berlios.de&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To come back to the original question... Well, this is very tricky, since we should do things normal people normally do. In this case "no computer related things". But, ok, people know, programmers are very weird, so when we are boring we do the opposite, which in this case would be "computer related things". :P&lt;br /&gt;&lt;br /&gt;So... What have I done? I improved my "IDE", and it is quoted because it's actually vim only. So, how can someone improve vim? Simple! By just reading some of these books: &lt;a href="http://iccf-holland.org/click5.html"&gt;http://iccf-holland.org/click5.html&lt;/a&gt;&lt;br /&gt;Or if you don't want to spend your money on that, you can actually learn vim with :help inside of vim.&lt;br /&gt;So, this is my new vimrc file, there's nothing very weird on it, only a set of templates, some options and options to compile simple projects and full autotools projects.&lt;br /&gt;&lt;br /&gt;I hope you enjoy it and of course, take whatever you need from it:&lt;br /&gt;&lt;br /&gt;I hope you enjoy it and of course, take whatever you need from it:&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/vimrc"&gt;http://dcortarello.googlepages.com/vimrc&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-3491005917913331183?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/3491005917913331183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=3491005917913331183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/3491005917913331183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/3491005917913331183'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/01/what-would-programmers-do-when-bored.html' title='What would programmers do when they are bored?'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-1904505620450690341</id><published>2007-01-06T23:55:00.002-03:00</published><updated>2010-08-16T12:53:10.530-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Margins in Openbox</title><content type='html'>Last month I started using openbox to create an easy to use desktop for programmers. Everything was nice, but I wanted to use yabb with adesklets, and then ipager... Everything was nice when I launched those applications/applets, but when I maximize a window, it was over the applet.&lt;br /&gt;There are some applets where that is ok, like the weather applet, but that wasn't right for a panel (like yabb) or a pager like ipager (this last one should set struts).&lt;br /&gt;The solution was margins, Xfwm4 has it and other several wm (like metacity and sawfish) has it too. So I wrote a small patch to give to openbox margins.&lt;br /&gt;I was very happy with it, and gave it to other users to try it (thanks gregf in irc://irc.oftc.net/slackware who tested it for a while, and who stills using it), so I made the submition in openbox's bugzilla. But guess what... The patch was rejected, and the bugzilla entry closed and deleted.&lt;br /&gt;The answer of the developer was:&lt;br /&gt;&lt;blockquote&gt;It's up to the pager/panel to set properties called struts. Openbox properly&lt;br /&gt;respects those and doesn't maximize over them.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Which is great... I mean... Follow standards, that's good... But applets does not set struts, and sometimes the users just wants margins.&lt;br /&gt;So anyways, the patch is here for everyone who wants to use it. Just has to apply it and set the margins in the configuration file like this:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&amp;lt;margin&amp;gt;&lt;br /&gt;    &amp;lt;top&amp;gt;px&amp;lt;/top&amp;gt;&lt;br /&gt;    &amp;lt;bottom&amp;gt;px&amp;lt;/bottom&amp;gt;&lt;br /&gt;    &amp;lt;left&amp;gt;px&amp;lt;/left&amp;gt;&lt;br /&gt;    &amp;lt;right&amp;gt;px&amp;lt;/right&amp;gt;&lt;br /&gt;&amp;lt;/margin&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So here's the patch: &lt;a href="http://dcortarello.googlepages.com/openbox-3.3.1-margins.patch"&gt;http://dcortarello.googlepages.com/openbox-3.3.1-margins.patch&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-1904505620450690341?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/1904505620450690341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=1904505620450690341' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1904505620450690341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1904505620450690341'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2007/01/margins-in-openbox.html' title='Margins in Openbox'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-163398403482217363</id><published>2006-12-31T10:22:00.000-03:00</published><updated>2007-09-20T09:21:52.000-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Issues in xfce4-mount-plugin</title><content type='html'>I planed to add xfce4-mount-plugin to Kwort's panel, but there was some things to fix and to change.&lt;br /&gt;&lt;br /&gt;The first patch fixes some issues with some file systems which shouldn't be shown, like tmpfs and root partition. I mean, those shouldn't be displayed, since the users should not mount or umount it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/xfce4-mount-plugin-0.4.7-noroot-notmpfs.patch"&gt;http://dcortarello.googlepages.com/xfce4-mount-plugin-0.4.7-noroot-notmpfs.patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This patch is for the same plugin, but is just for behavior. It just make the plugin to not display the device block since the user is not interested on it but where the data will be displayed.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/xfce4-mount-plugin-0.4.7-no-block-device.patch"&gt;http://dcortarello.googlepages.com/xfce4-mount-plugin-0.4.7-no-block-device.patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I mailed Jean Baptiste Dulong to change it, but he's not maintaining the plugin anymore, so who knows who should I send the patch. :P&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Btw... Happy 2k7 to all of you :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-163398403482217363?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/163398403482217363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=163398403482217363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/163398403482217363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/163398403482217363'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/12/issues-in-xfce4-mount-plugin.html' title='Issues in xfce4-mount-plugin'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-3188249637906400089</id><published>2006-12-23T14:26:00.000-03:00</published><updated>2007-09-20T09:21:52.001-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Ttysnoop fixes</title><content type='html'>I started using ttysnoop (it's like a vnc for consoles) at work but there was so troubles while compiling, so this patch fixes errors, warnings and adds things to Makefile to make it more flexible and able to compile the program itself, read the comments in the patch for a more detailed information.&lt;br /&gt;And please, if someone finds Carl Declerck's email (another than carl[@]miskatonic[.]inbe[.]net), send this patch to him or drop a comment here reporting me his real mail, since I couldn't send him the patch because his email address doesn't exists anymore. &lt;br /&gt;&lt;br /&gt;If you want to start using it you'll probably want to apply this patch.&lt;br /&gt;&lt;br /&gt;I leave you the link here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/ttysnoop-0.12c-fixes.patch"&gt;http://dcortarello.googlepages.com/ttysnoop-0.12c-fixes.patch&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-3188249637906400089?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/3188249637906400089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=3188249637906400089' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/3188249637906400089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/3188249637906400089'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/12/ttysnoop-fixes.html' title='Ttysnoop fixes'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-8436681398592469051</id><published>2006-12-17T01:51:00.000-03:00</published><updated>2007-09-20T09:22:48.408-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Various'/><title type='text'>Vista stealing Mac OS X ideas? Nahhh, they are too different</title><content type='html'>I had another thing to post tonight, but I just wanted someone to note this:&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/TaIUkwPybtM"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/TaIUkwPybtM" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-8436681398592469051?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/8436681398592469051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=8436681398592469051' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/8436681398592469051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/8436681398592469051'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/12/vista-stealing-mac-os-x-ideas-nahhh.html' title='Vista stealing Mac OS X ideas? Nahhh, they are too different'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-3837143668360129985</id><published>2006-12-03T22:49:00.000-03:00</published><updated>2007-09-20T09:26:29.529-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Math'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Kpkg and some other things</title><content type='html'>I know I haven't make a post since 2 weeks ago and I'm sorry for those who enjoy reading this things (Who's the crazy one who does it! :P), but for some reasons, people keeps comming here. Cool! :)&lt;br /&gt;&lt;br /&gt;Ok, I just released kpkg 2.2 final version (I think it is stable enough, like always, bug reports are welcome), I've added support for more than one mirror in configuration file and of course in kpkg itself. I've removed some ugly messages (I would like to say thanks to Julio Cesar Puigpinos for pointing me out on this), also fixed some bugs in search functionality and and pkg_parse internal function when using local packages, so now it has the same behavior as installing from mirrors.&lt;br /&gt;For more information you can read the Changelog included in the tarfile.&lt;br /&gt;&lt;br /&gt;Download it from here: &lt;a href="http://dcortarello.googlepages.com/kpkg-2.2.tar.gz"&gt;http://dcortarello.googlepages.com/kpkg-2.2.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've stop using svn from berlios, since I hate svn syntax, so I'm still using berlios, but I've installed darcs in my ~ at that server so I'm using it to record all the kpkg changes to my berlios shell account. So, for now (I hope berlios install darcs as I asked) no more changes in berlios svn.&lt;br /&gt;&lt;br /&gt;And that's all I have to say about that. :P&lt;br /&gt;&lt;br /&gt;After two months Linux 2.6.19 has been released, so Kwort 2.2 will include it as the default kernel if no one report bugs in the package I've done. So far everyone reports it is going very stable, so excellent and good for the kernel developers.&lt;br /&gt;Looks like Xfce 4.4 will be out in December 15th, so maybe we can all see Kwort 2.2 for christmas. See more about this and stay connected &lt;a href="http://www.kwort.org/"&gt;http://www.kwort.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I know there wasn't be too much about math around here (Actually, nothing at all :D). So, for people who speaks spanish I bring a nice weblog with lots of weirds and crazy math demostration (like 0^0=1 or 0!=1 for example) and nice methods: &lt;a href="http://gaussianos.com/"&gt;http://gaussianos.com&lt;/a&gt;. For those who not speaks spanish... Sorry folks, I owe you one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-3837143668360129985?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/3837143668360129985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=3837143668360129985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/3837143668360129985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/3837143668360129985'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/12/kpkg-and-some-other-things.html' title='Kpkg and some other things'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-1459163306464241951</id><published>2006-11-16T22:40:00.000-03:00</published><updated>2008-11-13T00:05:44.839-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Kwort and Slackware Xfce network manager</title><content type='html'>I started this plugin as a standalone network manager for Kwort Linux. But after looking a plugin template I finally ended writing a plugin for Xfce based on Benny Meurer's example. This plugin works as a Xfce mcs plugin or as a standalone program (script).&lt;br /&gt;Thanks to dialog and Xdialog with the extra button patch I wrote before, this works as a simple bash script that anyone can read. Since Kwort is based on Slackware, this plugin is compatible with both distribution as well and with any other slackware compatible distribution.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/kwort-network-plugin-1.0.tar.gz"&gt;http://dcortarello.googlepages.com/kwort-network-plugin-1.0.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I couldn't release it before for three reasons:&lt;br /&gt;1) I couldn't finish it since the Xdialog extra button patch didn't exists until I made it two weeks ago&lt;br /&gt;2) I been very busy working in my job and working in Kwort since dbus and hal is really driving me crazy around Thunar.&lt;br /&gt;3) I had several problems with libxfcegui with icons, since, for some weird reason, it couldn't find the themed network icon... Finally, I fixed it using pure gtk code just with icons.&lt;br /&gt;&lt;br /&gt;Dependencies:&lt;br /&gt;bash&lt;br /&gt;Xdialog (with extra button patch) and/or Dialog&lt;br /&gt;Xfce (to use it as a plugin)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As someone asked in the comments, this is how the application looks like:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7bn3_3YdSWU/RXOMcBrO0HI/AAAAAAAAAAM/61zc4MuKW5Q/s1600-h/kwort-network-manager.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_7bn3_3YdSWU/RXOMcBrO0HI/AAAAAAAAAAM/61zc4MuKW5Q/s320/kwort-network-manager.png" alt="" id="BLOGGER_PHOTO_ID_5004498024052740210" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-1459163306464241951?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/1459163306464241951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=1459163306464241951' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1459163306464241951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/1459163306464241951'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/11/kwort-and-slackware-network-manager.html' title='Kwort and Slackware Xfce network manager'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_7bn3_3YdSWU/RXOMcBrO0HI/AAAAAAAAAAM/61zc4MuKW5Q/s72-c/kwort-network-manager.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-8301626880910385811</id><published>2006-11-03T19:25:00.000-03:00</published><updated>2007-09-20T09:21:52.001-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Has to be the Brazilian Air (GNU bc readline patch)</title><content type='html'>The same day I wrote the patch for Xdialog's extra button feature (when I was in Rio de Janeiro - Brazil) I found a little bug in the GNU bc using readline.&lt;br /&gt;The bug actually is very simple, there was a wrong prototype declaration of the extern function readline. The prompt argument, according to readline(3) from GNU, is a const char *, not a char *.&lt;br /&gt;So bc didn't even compile if you wanted to use readline (which actually is very good). I must think that eveyone uses bc without readline, so nobody saw that error.&lt;br /&gt;Anyways, I wrote the patch and send it to Phil Nelson (author of GNU bc), and he thank me for it.&lt;br /&gt;&lt;br /&gt;I don't know when bc is gonna be updated so I don't know either when the patch will be included. So, for now, you'll have to download it from here and apply it manually.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/bc-1.06-readline-const-char.patch"&gt;http://dcortarello.googlepages.com/bc-1.06-readline-const-char.patch&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-8301626880910385811?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/8301626880910385811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=8301626880910385811' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/8301626880910385811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/8301626880910385811'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/11/has-to-be-brazilian-air-gnu-bc-readline.html' title='Has to be the Brazilian Air (GNU bc readline patch)'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-6141634719938285208</id><published>2006-10-31T23:55:00.003-03:00</published><updated>2010-08-16T12:55:22.766-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Patch for Xdialog (Yes! Made in Brasil)</title><content type='html'>Ok, ok, ok... I know I was in vacations, but the day wasn't very pretty, and I felt like taking a coding time. :D&lt;br /&gt;&lt;br /&gt;Some weeks ago I wrote a small plugin for Xfce to configure the network in Kwort Linux; I was going to use Zenity, but then I saw again Xdialog and surprise... GTK2 based interface!&lt;br /&gt;&lt;br /&gt;Well... Nowadays a program which keeps being maintained using gtk1 is something very weird. So I decided to use Xdialog. The problem was when I needed an extra button... Dialog provides that feature, but Xdialog didn't and I really needed it.&lt;br /&gt;&lt;br /&gt;So I mailed Thierry Godefroy asking him if he didn't had a patch which provides that feature... I guess he was very, very occupied, because he didn't even answered.&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;When I saw the code the first time some weeks ago I said "This will be hard to understand to implement it by myself", and today when I started to look at the code it wasn't that hard. So some hours latter I understanded the code and started to write some things...&lt;br /&gt;&lt;br /&gt;So, this is what this command:&lt;br /&gt;&lt;pre class="prettyprint"&gt;Xdialog --stdout --extra-button --extra-label "Extra Button" --inputbox "Type your input. Hit Extra Button to get 3 as return value" 0 0&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;will show:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger2/288/3652/1600/xdialog-button-extra-patch.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger2/288/3652/400/xdialog-button-extra-patch.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So... Here's the patch, I hope someone finds it useful like me:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/Xdialog-2.3.1-patch-extra-button.patch"&gt;http://dcortarello.googlepages.com/Xdialog-2.3.1-patch-extra-button.patch&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-6141634719938285208?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/6141634719938285208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=6141634719938285208' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/6141634719938285208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/6141634719938285208'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/10/patch-for-xdialog-yes-made-in-brasil.html' title='Patch for Xdialog (Yes! Made in Brasil)'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-116061280252803272</id><published>2006-10-11T20:56:00.000-03:00</published><updated>2007-09-20T09:21:52.002-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Today zenity... Tomorrow who knows... Conquer the world maybe? ;)</title><content type='html'>I was trying to make some visual scripts for Kwort Linux. I tried Xdialog but wasn't very nice. So I give a look at zenity (which  I already did 2 years ago).&lt;br /&gt;So the screenshots and its flexibility was amazing, there was just one thing... It needed gnome-canvas, which requiere half gnome's dependencies.&lt;br /&gt;Then I started to look into the code to see if there's a way to get rid of canvas package. After few minutes I realised that canvas was only needed in about dialog; this is not a post with criticism to the zenity developers, who I think they made an excelent job with it, but add a new dependency just to draw their's about dialog wasn't the smartest thing.&lt;br /&gt;I know they use it to fit the gnome's look &amp;amp; feel, but use canvas just for an about dialog was kind of silly, with it you only get gnome users (which unfortunally is the gnome's development idea, but I know that you guys want to do the right thing in the right way :D).&lt;br /&gt;&lt;br /&gt;So today I wrote a patch to drop the libgnome-canvas package as dependency. Now Xfce users and everyone else not using gnome can install zenity without installing half gnome. :)&lt;br /&gt;&lt;br /&gt;Anyways, I leave you the patch:&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/zenity-no-canvas.patch"&gt;http://dcortarello.googlepages.com/zenity-no-canvas.patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I hope every non-gnome user finds it useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-116061280252803272?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/116061280252803272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=116061280252803272' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/116061280252803272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/116061280252803272'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/10/today-zenity-tomorrow-who-knows.html' title='Today zenity... Tomorrow who knows... Conquer the world maybe? ;)'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115915648748547006</id><published>2006-09-25T00:50:00.000-03:00</published><updated>2007-09-20T09:24:02.272-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Various'/><title type='text'>Something interesting</title><content type='html'>This is kind of "off topic" but I see this interesting:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Start with a cage containing five monkeys. Inside the cage, hang a banana over a set of stairs. Before long, a monkey will go to the stairs and climb toward the banana. As soon as he touches the stairs, spray the other monkeys with cold water.&lt;br /&gt;&lt;br /&gt;After a while, another monkey makes an attempt with the same result--the other monkeys are sprayed with cold water. Pretty soon, when any monkey tries to climb the stairs, the other monkeys will try to prevent it.&lt;br /&gt;&lt;br /&gt;Now, put away the cold water. Remove one monkey from the cage and replace him with a new one. The new monkey sees the banana and wants to climb the stairs. To the monkey's surprise, all the other monkeys attack him. After another attempt and attack, he knows that if he tries to climb the stairs, he'll be assaulted.&lt;br /&gt;&lt;br /&gt;Next, remove another of the original five monkeys and replace him with a new one. The new comer goes to the stairs and is attacked. The previous new comer takes part in the punishment with enthusiasm! Likewise, replace a third original monkey with a new one, then a fourth, then the fifth. Every time the newest monkey takes to the stairs, he is attacked.&lt;br /&gt;Advertisement&lt;br /&gt;&lt;br /&gt;Most of the monkeys that are beating him have no idea why they weren't permitted to climb the stairs or why they're participating in the beating of the newest monkey.&lt;br /&gt;&lt;br /&gt;After replacing all the original monkeys, none of the remaining monkeys have ever been sprayed with cold water. Nevertheless, no monkey ever again approaches the stairs to try for the banana. Why not? Because as far as they know, that's the way it's always been done around here.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115915648748547006?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115915648748547006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115915648748547006' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115915648748547006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115915648748547006'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/09/something-interesting.html' title='Something interesting'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115811771437980087</id><published>2006-09-13T00:15:00.000-03:00</published><updated>2007-09-20T09:21:52.002-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Here we go again with sqwebmail</title><content type='html'>I really hate when this happens. I released a sqwebmail vacations mode patch just two weeks ago... And guess what... Today browsing the net I found a new sqwebmail version.&lt;br /&gt;Fortunally no big changes in the code so I adapted the patch in a few minutes.&lt;br /&gt;I modify the this patch to make it compatible with both versions (5.1.2 and 5.1.3), I don't know if it works in older versions.&lt;br /&gt;&lt;br /&gt;Ok, here I leave you the patch:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/sqwebmail-5.1.3-vacations-mode.patch"&gt;http://dcortarello.googlepages.com/sqwebmail-5.1.3-vacations-mode.patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;See you around.&lt;a href="http://dcortarello.googlepages.com/sqwebmail-5.1.3-vacations-mode.patch"&gt;&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115811771437980087?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115811771437980087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115811771437980087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115811771437980087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115811771437980087'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/09/here-we-go-again-with-sqwebmail.html' title='Here we go again with sqwebmail'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115786228211015200</id><published>2006-09-10T01:16:00.002-03:00</published><updated>2010-08-16T12:55:33.660-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>An easy to do samba scanner</title><content type='html'>If you had read the post I made some months ago called "&lt;a href="http://nomius.blogspot.com/2006/06/checking-network-with-bash.html" rel="bookmark" title="Permanent Link to &amp;quot;Checking the network with bash&amp;quot;"&gt;Checking the network with bash&lt;/a&gt;" and you liked it, you'll probably like this new one. ;)&lt;br /&gt;&lt;br /&gt;I used that same script I wrote to find public samba shared resources, data particulary. Windows by default leave some "open resources" that normally you can  access mounting it or with some samba tools. So, the thing is: How do I find public resources in a network? This is what I did:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;#!/usr/bin/env bash&lt;br /&gt;&lt;br /&gt;function scan(){&lt;br /&gt;   SUBNET=${1}&lt;br /&gt;   LAST=${2}&lt;br /&gt;   PING="$(which ping) -c 1 -W 1"&lt;br /&gt;   ${PING} ${SUBNET}.${LAST} &gt; /dev/null 2&gt;&amp;1&lt;br /&gt;   if [ $? -eq 0 ]; then&lt;br /&gt;       SMBRESOURCES=$(smbclient -N -L ${SUBNET}.${LAST} 2&gt;/dev/null |            grep Disk | grep -v \\$)&lt;br /&gt;       if [ ! -z "${SMBRESOURCES}" ]; then&lt;br /&gt;           tput setaf 2&lt;br /&gt;           echo -e "Public samba resources in ${SUBNET}.${LAST}:"&lt;br /&gt;           tput setaf 1&lt;br /&gt;           echo "${SMBRESOURCES}"&lt;br /&gt;           echo -e "------------------------------------------------------\n"&lt;br /&gt;           tput sgr0&lt;br /&gt;       else&lt;br /&gt;           tput setaf 3&lt;br /&gt;           echo "${SUBNET}.${LAST} is up, but doesn't have public resources"&lt;br /&gt;           echo -e "------------------------------------------------------\n"&lt;br /&gt;           tput sgr0&lt;br /&gt;       fi&lt;br /&gt;   fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if [ -z ${2} ]; then&lt;br /&gt;  for((x=1;x&lt;255;x++)); do&lt;br /&gt;      ${0} ${1} ${x} &amp;amp;&lt;br /&gt;  done&lt;br /&gt;else&lt;br /&gt;  scan ${1} ${2}&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;#EOF&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Again, and like always... I hope some find it useful&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115786228211015200?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115786228211015200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115786228211015200' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115786228211015200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115786228211015200'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/09/easy-to-do-samba-scanner.html' title='An easy to do samba scanner'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115629360697732344</id><published>2006-08-22T21:29:00.000-03:00</published><updated>2007-09-20T09:21:52.002-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Patch to provide features to sqwebmail</title><content type='html'>Recently I've been working with qmail+vpopmail+sqwebmail+courier-imap+...+a lot of things at work.&lt;br /&gt;&lt;span chatdir="1"&gt;&lt;span chatindex="7799644F869D13DC15"&gt;Sqwebmail has a nice code style, &lt;/span&gt;&lt;/span&gt;&lt;span chatdir="1"&gt;&lt;span chatindex="7799644F869D13DC18"&gt;but &lt;/span&gt;&lt;/span&gt;unfortunally &lt;span chatdir="1"&gt;&lt;span chatindex="7799644F869D13DC18"&gt;it isn't docummented at all, so for all of us that don't belong to the project itself is very painful. In addition,&lt;/span&gt;&lt;/span&gt;&lt;span chatdir="1"&gt;&lt;span chatindex="7799644F869D13DC15"&gt; the way they've done some things can really piss off someone. Not to mention that it's extremely un-extensible. So adding a new feature involves understanding and modifying the whole source code.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span chatdir="1"&gt;&lt;span chatindex="7799644F869D13DC15"&gt;Anyway, vacations mode is only implemented through qmailadmin, which is good, but users should use only one web interface, and that interface should be sqwebmail.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span chatdir="1"&gt;&lt;span chatindex="7799644F869D13DC15"&gt;So anyways, let's cut off the story and show you some code:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/sqwebmail-5.1.2-vacations-mode.patch"&gt;http://dcortarello.googlepages.com/sqwebmail-5.1.2-vacations-mode.patch&lt;/a&gt;&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;I hope someone find it useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115629360697732344?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115629360697732344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115629360697732344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115629360697732344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115629360697732344'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/08/patch-to-provide-features-to-sqwebmail.html' title='Patch to provide features to sqwebmail'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115559369444354119</id><published>2006-08-14T18:56:00.000-03:00</published><updated>2007-09-20T09:24:02.272-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Various'/><title type='text'>My new keyboard</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7783/3198/1600/DSC01133.0.jpg"&gt;&lt;img style="margin: 0pt 10px 0px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/7783/3198/320/DSC01133.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Yesterday I got this new "old keyboard". Believe or not, this treasure was going to the trash, and my little brother save it because I told him I was looking for one. He came to me with it at 1:30 in the morning.&lt;br /&gt;I been looking for one of this since 5 years ago. This is a IBM Model M keyboard (latin american) model 1391506. Produced in 1988 is an old school keyboard for people who can appreciate the sound and tact of a real keyboard, this is one of the best (If I don't say the best) keyboard ever made. If IBM knows how to do something is keyboards.&lt;br /&gt;This is real shit, not for those kiddies with multimedia keyboards, this keyboards if for mans, so kids... Stay out, or I'll punch you with it (real, it weight is 2.5kg :D).&lt;br /&gt;&lt;br /&gt;How this keyboards works? See this animation:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://park16.wakwak.com/%7Eex4/kb/tech/bucklingspring_mov.gif"&gt;&lt;img style="cursor: pointer;" src="http://park16.wakwak.com/%7Eex4/kb/tech/bucklingspring_mov.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For those who doesn't know how this keyboard sounds like, you can listen at this: &lt;a href="http://www.clickykeyboard.com/model_m_sound.mp3"&gt;model_m_sound.mp3&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115559369444354119?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115559369444354119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115559369444354119' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115559369444354119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115559369444354119'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/08/my-new-keyboard.html' title='My new keyboard'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115509247388147594</id><published>2006-08-08T23:59:00.001-03:00</published><updated>2010-08-08T13:26:01.998-03:00</updated><title type='text'>Modification to "Beginners Guide To Creating A Live CD With LFS 6.0"</title><content type='html'>Above all I would like to say thanks to Michael Hernandez, who wrote that guide. On may I had to do a job that needed a liveCD, I used Kwort and with that guide it was very easy to do.&lt;br /&gt;My problem was that all the computers that were going to use that CD were very old, and had few ram...&lt;br /&gt;So far so good... But two ramdisks of the same size? There was a ram limitation, so I couldn't use two.&lt;br /&gt;So I had to find a solution. This is what I did to fix it:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;dev_ram="/dev/ram1"&lt;br /&gt;dir_ramdisk="/fake/ramdisk"&lt;br /&gt;dir_needwrite="/fake/needwrite"&lt;br /&gt;echo "Creating ext2fs on $dev_ram..."&lt;br /&gt;/sbin/mke2fs -m 0 -i 1024 -q $dev_ram &gt; /dev/null 2&gt;&amp;1&lt;br /&gt;# MOUNT THE RAM DISK&lt;br /&gt;echo "Mounting ramdisk on $dir_ramdisk..."&lt;br /&gt;mount -n $dev_ram $dir_ramdisk -t ext2&lt;br /&gt;# COPY FILES TO THE RAM DISK&lt;br /&gt;echo "Copying files to ramdisk..."&lt;br /&gt;cp -a $dir_needwrite/* $dir_ramdisk &gt; /dev/null 2&gt;&amp;1&lt;br /&gt;mount -n $dev_ram $dir_needwrite&lt;br /&gt;umount -n $dir_ramdisk&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The trick is this: What I do is to mount the same ramdisk in two places and then umount the old location. And because one is already mounted when you mount it again in the other location you don't have data lost.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115509247388147594?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115509247388147594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115509247388147594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115509247388147594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115509247388147594'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/08/modification-to-beginners-guide-to.html' title='Modification to &quot;Beginners Guide To Creating A Live CD With LFS 6.0&quot;'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115441388727340023</id><published>2006-08-01T03:09:00.000-03:00</published><updated>2007-09-20T09:24:41.860-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Some updates</title><content type='html'>We are in updates periods.&lt;br /&gt;Kwort 2.2 is gonna be released by the end of this month or beginning of the next one. &lt;br /&gt;Lots of people has mailed me with comments about the actual site of Kwort, telling me that is hard to navigate, complex, etc. So a new developer has take control of the site and he's moving the forums from punbb to usebb, which I have to say that are nicier, the site is being redesigned to be more simple to navigate and more understandable.&lt;br /&gt;Today, Ricardo Brisighelli (admin the architecture university, where Kwort's main mirror is set up) told me that the ftp mirror will be moved in this week to a new server, which will be great. The next week, I hope to have some time to upgrade to a new Kwort version that mirror and configure more things to developers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115441388727340023?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115441388727340023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115441388727340023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115441388727340023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115441388727340023'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/08/some-updates.html' title='Some updates'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115181586901134901</id><published>2006-07-02T01:24:00.000-03:00</published><updated>2007-09-20T09:21:52.002-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Ralink usb driver and driver utility patch</title><content type='html'>Who was going to think that I would release two driver patches for two different wireless cards in a week? Not me, that you can be sure of ;)&lt;br /&gt;Anyways, today a friend asked me for help to make his wireless card (A ralink usb) work... He could "compile" the driver, but he commented out some things in the code that he needed. Then the system got slow and the story kept going from bad to worse.&lt;br /&gt;Ok, enough of the story... Let's go to the facts. Things that I changed and fixed with this patch:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; Fixed: _WIN32_WINNT warnings (Let's use WIN32_LEAN_AND_MEAN before) &lt;/li&gt;&lt;br /&gt;&lt;li&gt; Fixed: DBG warning (ok, an ifdef before usage is not a bad idea ;) ) &lt;/li&gt;&lt;br /&gt;&lt;li&gt; Changed verify_area for access_ok (Come on! that's pretty old! The driver doesn't even see that old function) &lt;/li&gt;&lt;br /&gt;&lt;li&gt; Added a compilation time debug system (This is why my friend came to me in the first place, then I realised the verify_area issue. The logs were huge!). To activate or deactivate it see config.h, DEBUG_NOMIUS 0 means no debuging, a number different than 0 will enable it. &lt;/li&gt;&lt;br /&gt;&lt;li&gt; Added stdlib.h to qhexvalidator.h in the driver utility (without it, it doesn't even compile) &lt;/li&gt;&lt;br /&gt;&lt;li&gt; Fix the thread issue like in the ralink pcmcia Utility driver (just like the post below this one ;) ) &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Download the patch from here:&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/RT25USB-SRC-V2.0.7.0-nomius.diff"&gt;http://dcortarello.googlepages.com/RT25USB-SRC-V2.0.7.0-nomius.diff&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Remember to set QTDIR to compile the driver utility.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A version of the driver with the patch applied can be found here:&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/RT25USB-SRC-V2.0.7.1.tar.gz"&gt;http://dcortarello.googlepages.com/RT25USB-SRC-V2.0.7.1.tar.gz&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115181586901134901?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115181586901134901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115181586901134901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115181586901134901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115181586901134901'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/07/ralink-usb-driver-and-driver-utility.html' title='Ralink usb driver and driver utility patch'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115145845211335390</id><published>2006-06-27T22:25:00.003-03:00</published><updated>2010-08-16T13:01:40.074-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Ralink driver utility patch</title><content type='html'>Recently the rt2500 driver has been released. You can download it from here:&lt;br /&gt;&lt;a href="http://prdownloads.sourceforge.net/rt2400/rt2500-1.1.0-b4.tar.gz?download"&gt;Download at sourceforge&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The utility included with the driver will not compile unless you have the QTDIR set (normally most distros does not do it in bash_profile, bashrc or whatever they use ;) ) and that your QT library says it is threaded. This patch that I wrote fix the thread issue:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/ralink-1.1.0-b4.diff"&gt;http://dcortarello.googlepages.com/ralink-1.1.0-b4.diff&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So now. The compilation process will change. To be in this way (In the Utility directory):&lt;br /&gt;&lt;pre class="prettyprint"&gt;patch -p0 &lt; ralink-1.1.0-b4.diff&lt;br /&gt;qmake -o Makefile raconfig2500.pro&lt;br /&gt;QTDIR=/usr/lib/qt  make # Or wherever your qt is installed&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115145845211335390?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115145845211335390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115145845211335390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115145845211335390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115145845211335390'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/06/ralink-driver-utility-patch.html' title='Ralink driver utility patch'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115095469361112013</id><published>2006-06-22T02:33:00.000-03:00</published><updated>2007-09-20T09:24:15.627-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Configuración de 2.6.17</title><content type='html'>Como comenté en la entrada anterior, los cambios en 2.6.17 fueron bastantes, aquí les dejo la configuración de este kernel que creé para mi laptop:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dcortarello.googlepages.com/config-2.6.17.gz"&gt;config-2.6.17.gz&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115095469361112013?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115095469361112013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115095469361112013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115095469361112013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115095469361112013'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/06/configuracin-de-2617.html' title='Configuración de 2.6.17'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115076585099213720</id><published>2006-06-19T22:08:00.001-03:00</published><updated>2010-08-16T13:01:43.174-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Salió Linux 2.6.17</title><content type='html'>Bueno... Ayer a la noche salió Linux 2.6.17. Con una cantidad de cambios impresionantes (Más de 3mb el changelog).&lt;br /&gt;Venía esperando la liberación de este release hace más de 2 meses, porque junto con él se venía la estabilización del nuevo stack 802.11. Pero nunca pensé que tardaría tanto. Navegando ayer a las 2AM le di reload a kernel.org en el firefox y salió el release final. Inmediatamente me puse a bajarla y mientras miraba el changelog.&lt;br /&gt;Pero una vez que empecé no paré, tardé dos horas leyendo el changelog (mejor hubiese sido haber esperado a que saliera el resumen en kernelnewbies :D). A las 4AM me digné a adaptar mi configuración de 2.6.16.1 a el nuevo kernel (make oldconfig en cristiano :D). Cuando terminó , checkeé el make menuconfig para ver cambios y cosas que por ahí me había salteado en la adaptación.&lt;br /&gt;Lo compilé en 15' aproximadamente, y lo agregé a lilo como Kwort-Test (Hoy ya está como kernel único además del openbsd, 2.6.16.1 fue borrado :D).&lt;br /&gt;&lt;br /&gt;Los cambios son verdaderamente impresionantes como dije antes. Desde luego, para muchos el cambio más importante es la inclusión del driver para las placas wireless broadcom, que debo acotar que anda bárbaro. Además se han agregado nuevas llamadas a sistema. Ahhh, una cosa importante que me olvidaba para los usuarios de sistemas x86, se agregó el soporte para la autodetección SMP al momento de booteo, que podríamos decir que era una feature que estaba bastante requerida.&lt;br /&gt;Entre otros cambios hubieron mejoras de performance en ext3 para poder asignar y controlar más de un bloque a la vez.&lt;br /&gt;Otro cambio, si bien no tan importante, pero si para tener en cuenta es que se bajó en softmac la velocidad por defecto de 54Mbps a 11Mbps dado que la primera aun no es del todo confiable (se pierden paquetes de vez en cuando en el camino).&lt;br /&gt;También se modificó la libata, por defecto ahora arranca en ATAPI. Para los desarrolladores también se agregó el miembro max_sectors a la estructura per-devices, con esto ahora podemos saber el máximo de sectores sin tener que hacer más ap-&gt;host-&gt;max_sectors y cambiar ATA_DFLAG_LOCK_SECTORS para que le diga ata_scsi_slave_config que no pase el límite, que no solo era molesto, sino que incorrecto para hosts que tenían más de un dispositivo por puerto. Por defecto per-devices-&gt;max_sectors, por lo que no será necesario modificar módulos existentes.&lt;br /&gt;Entre otros podemos ver mejoras para el framebuffer en placas de video nvidia y nuevo soporte para "algunas" placas ati. También se incluyó soporte para dispositivos braile y la nueva interfaz de leds (para permitir el seteo de leds en userspace (no solo de teclado como antes con setleds), sino para los leds como por ejemplo del disco rígido, de pladas pcmcia, etc) ya es estable. Se mejoraron también las llamadas poll() y select(), para monitorear descriptores de archvios que desde 2.0 no se actualizaban, ahora usan pequeños vectores para sets chicos en vez de kmalloc.&lt;br /&gt;&lt;br /&gt;Cuando empecé a seguir el desarrollo del driver bcm43xx no se tenía decidido que licencia usar, si gpl, bsd, si una licencia doble, etc. Para desgracia para algunos (como yo), podemos corroborar que el driver se licenció bajo GPL solamente:&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;nomius@Neptune:~/Code$ grep MODULE_LICENSE /usr/src/linux-2.6.17/drivers/net/wireless/bcm43xx/bcm43xx_main.c&lt;br /&gt;MODULE_LICENSE("GPL");&lt;br /&gt;nomius@Neptune:~/Code$&lt;/pre&gt;&lt;br /&gt;Bueno, esto es un resumen pequeño de los cambios. Si hay interesados en ver mejor y otros cambios les recomiendo ver el changelog en kernel.org y seguir kernelnewbies.org (formato más liviano :D) , para los que quieran empezar a dar sus primeros pasos en la programación del kernel, kernel-labs.org tiene una buena introducción (No es muy complicado para los que quieran aprender. Y vamos que se necesitan siempre desarrolladores más que charlatanes :D).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115076585099213720?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115076585099213720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115076585099213720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115076585099213720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115076585099213720'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/06/sali-linux-2617.html' title='Salió Linux 2.6.17'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29917472.post-115069128666065498</id><published>2006-06-19T01:25:00.001-03:00</published><updated>2010-08-16T13:01:45.025-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Checking the network with bash</title><content type='html'>Some bash coding&lt;br /&gt;Ok, I posted this somewhere, but I can't remember where :)&lt;br /&gt;I made a bash script for scanning a sub-network to know which computers are up. I know that nping and anothers programs do this, but I wanted to do it by myself using a shell script, and this is how I did it in the first place:&lt;br /&gt;&lt;pre class="prettyprint"&gt;#!/usr/bin/env bash&lt;br /&gt;&lt;br /&gt;PING="$(which ping) -c 1 -W 1"&lt;br /&gt;&lt;br /&gt;for((i=1;i&lt;255;i++)); do&lt;br /&gt;    ${PING} ${1}.${i}&lt;br /&gt;    if [ $? -eq 0 ]; then&lt;br /&gt;        echo -e "${1}.${i} is up"&lt;br /&gt;    fi&lt;br /&gt;done&lt;/pre&gt;&lt;br /&gt;When I ran that script, it worked fine, but very slowly... so I modified it to be this way:&lt;br /&gt;&lt;pre class="prettyprint"&gt;#!/usr/bin/env bash&lt;br /&gt;&lt;br /&gt;function pinging(){&lt;br /&gt;    SUBNET=${1}&lt;br /&gt;    LAST=${2}&lt;br /&gt;    PING="$(which ping) -c 1 -W 1"&lt;br /&gt;    ${PING} ${SUBNET}.${LAST} &gt; /dev/null 2&gt;&amp;1&lt;br /&gt;    if [ $? -eq 0 ]; then&lt;br /&gt;        echo -e "${SUBNET}.${LAST} is up"&lt;br /&gt;    fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if [ -z ${2} ]; then&lt;br /&gt;    for((x=1;x&lt;255;x++)); do&lt;br /&gt;        ${0} ${1} ${x} &amp;&lt;br /&gt;    done&lt;br /&gt;else&lt;br /&gt;    pinging ${1} ${2}&lt;br /&gt;fi&lt;/pre&gt;&lt;br /&gt;I hope this will be useful for someone to use it as learning material (this is not the right thing to do because there are applications availble for this)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29917472-115069128666065498?l=nomius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nomius.blogspot.com/feeds/115069128666065498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29917472&amp;postID=115069128666065498' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115069128666065498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29917472/posts/default/115069128666065498'/><link rel='alternate' type='text/html' href='http://nomius.blogspot.com/2006/06/checking-network-with-bash.html' title='Checking the network with bash'/><author><name>Nomius</name><uri>http://www.blogger.com/profile/06056673110956029837</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://dcortarello.googlepages.com/27-06-07_1024.jpg'/></author><thr:total>3</thr:total></entry></feed>
