<?xml version="1.0"?>
<!-- name="generator" content="blosxom/2.0" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
  <channel>
    <title>techblog @ razal.de   </title>
    <link>http://razal.de/~ibn/techblog</link>
    <description>stuff that proved useful</description>
    <language>en</language>

  <item>
    <title>and now... something completely useless</title>
    <link>http://razal.de/~ibn/techblog/2009/03/11#leetnuks</link>
    <description>
i invented a new word... leetnuks. &lt;br/&gt;
you want proof? go ask &lt;a href=&quot;http://www.google.com/search?q=leetnuks&quot;&gt;google&lt;/a&gt;. or look &lt;a href=&quot;http://razal.de/~ibn/bxImages/Leetnuks.png&quot;&gt;here&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;
google finds it only on my xing profile ;)
</description>
  </item>
  <item>
    <title>iphone development #1 - first steps</title>
    <link>http://razal.de/~ibn/techblog/2008/06/11#iphone_dev#1</link>
    <description>
i really like my ipod touch, especially all these music apps out there. but in my opinion there's one thing missing though. a program that let's you control any application on your mac that understands midi through the iphone/touch.&lt;br/&gt;
luckily the hardest part for this is already done. there is a program for mac/win/linux called &lt;a href=&quot;http://dsmidiwifi.tobw.net/&quot;&gt;dsmidiwifi server&lt;/a&gt; which enables you to use your nintendo ds as midi controller. i never got it to run though because the server and ds communicate with broadcasts so you don't have to configure client and server ip addresses in the programm, but the server doesn't seem to get any of the packets broadcasted from the ds. but if you send the packets directly to the machine running the dsmidiwifi server it works. so all i have to do is to write an iphone program with a cool interface ;) that sends midi data via wifi to the dsmidiwifi server. should be easy, shouldn't it?&lt;br/&gt;
&lt;br/&gt;
so the last two days i finally got the time to play around a bit with the iphone sdk. it's really a different experience using xcode and interface builder when you're coming from the delphi/windows side of development. like the consequent usage of the model-view-controller design pattern when developing gui applications with interface builder.&lt;br/&gt;
sure... implementing the mvc-pattern with delphi is possible but it's usually so much &quot;easier&quot; doing it the quick and dirty way, creating a form and just start coding (don't get me wrong. this is bad and shouldn't be done). and with the time constraints these days you just haven't got the time to do it the right way anyways.&lt;br/&gt;
with iphone/mac development you have no other choice than to use the mvc-pattern if you want to use interface builder to click'n'drag your gui together, which is a good thing. but it takes time to get your head around these concepts. &lt;br/&gt;
&lt;br/&gt;
well so i printed out a few guides like the &lt;a href=&quot;http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhone101/index.html&quot;&gt;iPhone Application Tutorial&lt;/a&gt; and &lt;a href=&quot;http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/index.html&quot;&gt;The Objective-C 2.0 Programming Language&lt;/a&gt;. the first guide is useful to get the grasps on the concepts needed to understand and develop iphone applications and the second one is a very good introduction (not for beginners though) to objective-c 2.0. &lt;br/&gt;
&lt;br/&gt;
so after reading these guides and writing my first hello world iphone app i started with something small. a program that sends, after pressing a button, a noteon message with the note C4 and velocity 127 on midi channel 1 to the dsmidiwifi server. should be simple enough. should be... but isn't due to the fact that sending datagram packets via cfsocket api is not very well documented and not that easy to understand for a beginner in objective-c. and apparently only a few people do use cfsocket api directly because i found only bits and peaces of not very well documented source code on the internet. sure i could have used plain old native bsd sockets but it's harder to integrate them in your application run loop (and to admit... i have no clue how to use them either). but after much copy and pasting and try and error i got it to run. click the button and hear a C4.&lt;br/&gt;
&lt;br/&gt;
so after getting the network part (crudely) to run i tried something different yesterday. plaster a view with slider controls, set the min/max values to 0 and 127, hook them up to a value change method and send the data as control change messages over midi channel 1 to dsmidiwifi. and behold... it works. it's still very buggy due to the fact that i open and close a socket for every value change (lazy me) instead of opening one globally, but that's left as an exercise for the programmer. i had one problem though. the program kept crashing when i tried to change the value of any slider. i found out that it's not a good idea to send a dealloc message to a NSString object instead of a release message. i guess i have to remember that.&lt;br/&gt;
&lt;br/&gt;
the next thing to do is to tidy up the network code and encapsulate it in a nice class. &lt;br/&gt;
&lt;br/&gt;
if i find a free screencasting program i even may show some of the progress i make.  
</description>
  </item>
  <item>
    <title>qmail error - 451 unable to exec qq (#4.3.0)</title>
    <link>http://razal.de/~ibn/techblog/2008/01/31#qmail-error#1</link>
    <description>
this is more a note to myself but if you're running qmail with qmail-scanner and get this error
&lt;pre&gt;
451 unable to exec qq (#4.3.0)
&lt;/pre&gt;
then you need to check if your perl has the suid flag. &lt;br/&gt;
i had this problem after updating perl and it took me a while to figure it out again.
</description>
  </item>
  <item>
    <title>sgd - active directory integration</title>
    <link>http://razal.de/~ibn/techblog/2008/01/28#sgd#2</link>
    <description>
this is another little reminder for myself so that i'll not waste another 4 hours trying to find out what's going on.  &lt;br/&gt;
i needed to use active directory authentication with sgd so i could login with ad users and access certain windows servers. &lt;br/&gt;&lt;br/&gt;
first thing you need to do is to write a little krb5.conf file for sgd so that kerberos authentication will work with your active directory. it needs to be located someplace like that:
&lt;pre&gt;
/opt/tarantella/bin/jdk.i3li_1.5.0_10/jre/lib/security/
&lt;/pre&gt;
just create a krb5.conf file and add something like this:
&lt;pre&gt;
[libdefaults]
default_realm = AD.MYDOMAIN.COM
default_checksum = rsa-md5
default_tkt_enctypes = des-cbc-md5 des-cbc-crc
default_tgs_enctypes = des-cbc-md5 des-cbc-crc
permitted_enctypes = des-cbc-md5 des-cbc-crc

[realms]
AD.MYDOMAIN.COM = {
  kdc = ad.mydomain.com
  }

[domain_realm]
  ad.mydomain.com = AD.MYDOMAIN.COM
&lt;/pre&gt;
after this you need to restart sgd.&lt;br/&gt;&lt;br/&gt;
then you need to create a user in your active directory that is allowed to search the ad. lets call him &quot;sgd&quot;.&lt;br/&gt;&lt;br/&gt;
then open the array manager and select &quot;secure global desktop login&quot;. check &quot;search ldap and use closest ens match&quot;, &quot;search ldap and use ldap profile&quot; and &quot;active directory login authority&quot;. then insert into the fields ldap server - url: &quot;ad://ad.mydomain.com&quot;, username: &quot;sgd@ad.mydomain.com&quot;, password: &quot;your password for sgd user&quot;, base domain and default domain: &quot;ad.mydomain.com&quot;. then hit &quot;apply&quot;. &lt;br/&gt;&lt;br/&gt;
now you should be able to login with any user from the active directory. &lt;br/&gt;&lt;br/&gt;
if you encounter an error like this &quot;pre-authentication information was invalid&quot; then check if your ad and sgd servers have the same time and if not then synchronize them. if this error still remains then try to reset the password of your sgd user. windows sometimes screws something up with kerberos when you delete and recreate a user (this happened to me). 
</description>
  </item>
  <item>
    <title>sgd - self-signing certificate for testing purpose</title>
    <link>http://razal.de/~ibn/techblog/2007/10/11#sgd#1</link>
    <description>
this is a little reminder for myself. i needed a signed root certificate for sgd to test secure connections via ssl. luckily sgd brings with it all you need to get a signed certificate.&lt;br/&gt;
just follow these two steps:
&lt;pre&gt;
# /opt/tarantella/bin/tarantella security certrequest --country DE --state BY --orgname &quot;Some Firm Ltd.&quot;
# /opt/tarantella/bin/tarantella security selfsign
&lt;/pre&gt;
now you're done and can enjoy secure sgding. 
</description>
  </item>
  <item>
    <title>mac os x and pkgsrc - good and bad news</title>
    <link>http://razal.de/~ibn/techblog/2007/08/20#mac_n_pkgsrc#1</link>
    <description>
i recently found out, that &lt;a href=&quot;http://www.netbsd.org/docs/software/packages.html&quot;&gt;pkgsrc&lt;/a&gt; is now usable on non case-sensitive partitions. this is good news because now many more people can enjoy &lt;a href=&quot;http://www.netbsd.org/docs/software/packages.html&quot;&gt;pkgsrc&lt;/a&gt; on their macs. so people... throw away your fink and darwinports and use &lt;a href=&quot;http://www.netbsd.org/docs/software/packages.html&quot;&gt;pkgsrc&lt;/a&gt; instead. ;)&lt;br/&gt;
the bad news for me is that if had known this i wouldn't have installed osx on my &quot;new&quot; powerbook on a case-sensitive filesystem in the first place. would have spared me much annoyance.
</description>
  </item>
  <item>
    <title>thunderbird and spotlight</title>
    <link>http://razal.de/~ibn/techblog/2007/07/10#thunderbird_n_spotlight</link>
    <description>
a friend of mine told me that thunderbird 2 supposedly supports os x spotlight feature. so i did a google search and found a few instructions &lt;a href=&quot;http://www.insomniaonline.de/donnervogel-im-rampenlicht/&quot;&gt;here (german)&lt;/a&gt; on how to get it up and running. &lt;br/&gt;
&lt;br/&gt;

first: you need to get the spotlight importer from this &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=290057#c110&quot;&gt;bugreport&lt;/a&gt; (download attachment from comment #109) and put it in &lt;i&gt;~/Library/Spotlight/&lt;/i&gt; or &lt;i&gt;/Library/Spotlight/&lt;/i&gt; (create if necessary).&lt;br/&gt;&lt;br/&gt;

second: in thunderbird preferences go to config editor (tab advanced) and set &lt;i&gt;mail.spotlight.enable&lt;/i&gt; to &lt;i&gt;true&lt;/i&gt;. thunderbird needs to be restarted after this. then it begins to index all mails (this &lt;b&gt;will&lt;/b&gt; take a while), which effectively means that it generates a &lt;i&gt;.mozeml&lt;/i&gt; file for spotlight for each mail in your mailbox. this is because thunderbird saves it's mails internally as mbox files which are unsuitable for spotlight.&lt;br/&gt;&lt;br/&gt;

third: check with &lt;i&gt;/usr/bin/mdimport -L&lt;/i&gt; if the thunderbird importer was found and reindex your spotlight database with &lt;i&gt;sudo /usr/bin/mdutil -E /&lt;/i&gt;. (i don't know if a reboot is necessary)
&lt;br/&gt;
&lt;br/&gt;
&lt;b&gt;[update]&lt;/b&gt;&lt;br/&gt;
there was one little drawback with the importer as noted &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=290057#c77&quot;&gt;here&lt;/a&gt;. messages showed in category &lt;i&gt;Documents&lt;/i&gt; rather then &lt;i&gt;Mail messages&lt;/i&gt;. but with help from the spotlight-dev mailing list i found a solution.&lt;br/&gt; 
you need to edit &lt;i&gt;Info.plist&lt;/i&gt; located in &lt;i&gt;Thunderbird.mdimporter&lt;/i&gt; (ctrl-click -&gt; &lt;i&gt;Show Package Contents&lt;/i&gt;). you can use any editor you like but the safest bet is to use the &lt;i&gt;Property List Editor&lt;/i&gt; (i killed my &lt;i&gt;Info.plist&lt;/i&gt; with &lt;i&gt;TextEdit&lt;/i&gt;!). 

&lt;pre&gt;
  &amp;lt;key&gt;UTTypeConformsTo&amp;lt;/key&gt;
  &amp;lt;array&gt;
    &amp;lt;string&gt;public.data&amp;lt;/string&gt;
    &amp;lt;string&gt;public.content&amp;lt;/string&gt;
    &lt;b&gt;&amp;lt;string&gt;public.email-message&amp;lt;/string&gt;&lt;/b&gt; &amp;lt;-- add this line
  &amp;lt;/array&gt;
&lt;/pre&gt;

i don't know how to convince spotlight to reload its plugins so reboot please. reindex your spotlight now.&lt;br/&gt;&lt;br/&gt;

to check if everything went alright locate a &lt;i&gt;.mozeml&lt;/i&gt; file (usually under ~/Library/Thunderbird/Profiles/...) and call &lt;i&gt;mdls&lt;/i&gt; with it. you are good to go if anything like this shows up.
&lt;pre&gt;
kMDItemContentType             = &quot;com.mozilla.thunderbird.mozeml&quot;
kMDItemContentTypeTree         = (
    &quot;com.mozilla.thunderbird.mozeml&quot;, 
    &quot;public.data&quot;, 
    &quot;public.item&quot;, 
    &quot;public.content&quot;, 
    &quot;public.email-message&quot;, 
    &quot;public.message&quot;
)
&lt;/pre&gt;

&lt;a target=&quot;_blank&quot; href=&quot;http://razal.de/~ibn/techblog/images/mac/ThunderbirdSpotlight.jpg&quot;&gt;screenshot&lt;/a&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;[update 2]&lt;/b&gt;&lt;br/&gt;
KAMiKAZOW has build a new version (universal binary) of &lt;i&gt;Thunderbird.mdimporter&lt;/i&gt; incorporating the &lt;i&gt;Info.plist&lt;/i&gt; change and attached it to the &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=290057#c110&quot;&gt;bugreport&lt;/a&gt;. so no more &lt;i&gt;Info.plist&lt;/i&gt; editing. 
&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;[update 3]&lt;/b&gt;&lt;br/&gt;
from the amount of 19k mails 10k have been converted. 9k to go. took a day so far...
</description>
  </item>
  <item>
    <title>discard double bounces in qmail</title>
    <link>http://razal.de/~ibn/techblog/2007/05/30#qmail_drop_double_bounces</link>
    <description>
i got a lot double bounces lately... and frankly... i'm quite annoyed by them. but i found a way to get rid of them without the need to recompile qmail to incorporate the doublebounce-trim patch.
&lt;pre&gt;
# echo discard &gt;/var/qmail/control/doublebounceto
# echo # &gt;~alias/.qmail-discard
&lt;/pre&gt;
qmail needs to be restarted after this.
</description>
  </item>
  <item>
    <title>plan 9: first problems</title>
    <link>http://razal.de/~ibn/techblog/2007/05/24#plan9_first_problems</link>
    <description>
i successfully installed plan 9... again. well this time i went to #plan9 on freenode and asked. got this answer:

&lt;pre&gt;
10:36 &lt; Ibn_&gt; i have a question.
10:36 &lt; Ibn_&gt; i installed plan9 in a virtual pc on my mac
10:37 &lt; Ibn_&gt; but after i boot and use user glenda i get
10:37 &lt; Ibn_&gt; init: starting /bin/rc
10:37 &lt; Ibn_&gt; rc: null list in concatenation
10:37 &lt; Ibn_&gt; init: rc exit status: rc 23: error
10:37 &lt; Ibn_&gt; init: starting /bin/rc
10:37 &lt; fgb&gt; yes, known issue
10:37 &lt; fgb&gt; pay attention:
10:37 &lt; fgb&gt; % echo crap &gt; /dev/sysname
10:37 &lt; fgb&gt; % . /rc/bin/termrc
10:38 &lt; fgb&gt; then add a line to your /lib/ndb/local like this:
10:38 &lt; fgb&gt; sys=mymachine ether=$macaddrs
10:39 &lt; fgb&gt; you can find what $macaddr with cat /net/ether0/addr
10:39 &lt; fgb&gt; there
10:40 &lt; fgb&gt; any other question?
10:41 &lt; Ibn_&gt; not for now
10:42 &lt; fgb&gt; good
10:45 &lt; Ibn_&gt; ok. worked fine! thanks a lot
10:46 &lt; fgb&gt; np
&lt;/pre&gt;

problem solved and now a nice &lt;a href=&quot;http://razal.de/~ibn/bxImages/plan9gui.png&quot;&gt;plan 9 gui&lt;/a&gt; shows itself.
</description>
  </item>
  <item>
    <title>first steps into plan 9</title>
    <link>http://razal.de/~ibn/techblog/2007/05/23#plan9_first_steps</link>
    <description>
my first few steps into &lt;a href=&quot;http://cm.bell-labs.com/plan9/&quot;&gt;plan 9&lt;/a&gt; have been a disaster. i just killed the whole plan9 fossil partition by mistake. it took the whole night to install it in virtual pc on my g4 500mhz powerbook ti. and why? because i'm not versed in using the ed editor who is the only thing there is to edit the plan9.ini to change graphic settings so rio would run. but instead of getting it right... i killed the whole file with ed and ended up with an unbootable installation. i tried to use the live cd... but i couldn't even get the fossil partition on the harddisk to mount. and then i formated it by mistake. well done.&lt;br/&gt;&lt;br/&gt;

well... i guess i have to try it again. but first... here a few links for the next time.&lt;br/&gt;
&lt;a href=&quot;http://plan9.bell-labs.com/wiki/plan9/Installation_instructions/index.html&quot;&gt;installation instructions&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://plan9.bell-labs.com/wiki/plan9/installation_troubleshooting/index.html&quot;&gt;installation troubleshooting&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://9fans.net/archive/2000/10/206&quot;&gt;in search of plan9.ini&lt;/a&gt; &lt;- was exactly my problem&lt;br/&gt;
&lt;a href=&quot;http://plan9.bell-labs.com/wiki/plan9/Setting_the_right_monitor_size/index.html&quot;&gt;setting the right monitor size&lt;/a&gt; &lt;- never even got to that part&lt;br/&gt;
&lt;a href=&quot;http://plan9.bell-labs.com/wiki/plan9/UNIX_to_Plan_9_command_translation/index.html&quot;&gt;unix to plan 9 command translation&lt;/a&gt; &lt;- very very very usefull!&lt;br/&gt;
&lt;a href=&quot;http://www.netzmafia.de/skripten/unix/unix5.html&quot;&gt;der editor ed (german)&lt;/a&gt; &lt;- next time i will be prepared!
</description>
  </item>
  </channel>
</rss>