gorn.ch

Tobias Ebnöther's personal blog

xchat on OSX / Command as alt

Hi all, long time no see :)

Lately I got more and more unstatisfied with Colloquy so I decided to go back to xchat. Since xchat aqua seems unmaintained I opted for "the real thing" on X11. Unfortunately MacPorts once again failed to build it (I think I never managed to sucessfully build something with it that has some deps) so I had too look for something else.

Bruno pointed me at Homebrew which looks totally awesome. There was no Formula for xchat but it was pretty easy to create one. After only two hours my commit was accepted and it's in the main branch now :)

To be able to nicely switch channels I decided to map the command (⌘) key to alt aka meta. For that purpose I added the following lines to my ~/.Xmodmap:

clear Mod1
clear Mod2
keycode 63 = Meta_L
keycode 66 = Mode_switch
add Mod1 = Meta_L
add Mod2 = Mode_switch
Related Entries:
Setting up relayhost for postfix on OSX (with ssl and authentication)
MacHeist Software Bundle
Leopard native apache with custom (64bit) PHP
Leopard PHP / Apache Package with pecl support
Taming firefox temp files on osx
Comments (4)  Permalink

YUI3 Test and JsTestDriver

As some of you might know I am a big fan of YUI3. Currently I am revamping the JavaScript tests at local.ch which uses YUI3 for all the new stuff we do. I found some code from lazr and modified it a little to match my taste better. So basically all you do is include that snipped:

YUI.add('jstestdriver', function(Y) {
    R = Y.namespace('jstestdriver.Runner');

    R.add = function add(suite) {
            if ((typeof jstestdriver === "undefined")) {
                // If we are not running under JsTestDriver, then
                // register the suite with Y.Test.Runner and run it.
                Y.Test.Runner.add(suite);

            } else {
                // If ``jstestdriver`` is defined, that means we are
                // running under JsTestDriver, so instead register each
                // test case from the suite as a separate TestCase() with
                // JsTestDriver.
                for each(var test_case in suite.items) {
                    TestCase(test_case.name, test_case);
                }
            }
    };

    R.run = function run(suite) {
            if ((typeof jstestdriver === "undefined")) {
                // If we are not running under JsTestDriver, then run all
                // the registered test suites with Y.Test.Runner.
                var yconsole = new Y.Console({
                    newestOnTop: false
                });
                yconsole.render('#log');
                
                Y.Test.Runner.run();
            }
    }
},
'0.1', {
    requires: ['test', 'console']
});

Now you can write your tests as usual you only need to to the assigning a bit different. Instead of the normal YUI3 Test Runner you use this:

Y.jstestdriver.Runner.add(suite);
Y.jstestdriver.Runner.run();

What you have to watch out for: Load _ALL_ Yahoo code with your tests otherwise you will have very funky side effects of tests not running the first time but passing the second one, when yui3 loaded the missing files. I created one big file including everything that I use for that purpose.

Comments (6)  Permalink

No iPhone social self experiment

Lately I get quite annoyed by people taking out their phones everywhere. I mean it's fun to read twitter and stuff but if you sit at lunch and four people around you are playing with their phone it's really sad. Even worse I catch myself doing it more and more often. This is why I'm trading my iPhone for a plain phone with no browser, mp3 player, twitter, facebook and what ever distraction client.

The goal is to figure out how addicted I'm already to the iPhone and I want to figure out is how it is in the public without distractions. I've got a mp3 player since 10 Years now and usually the first thing I do when walking out of the door is to turn it on. As soon as I'm at the bus stop I take out my iPhone and read twitter or something. I'm wondering how I will experience public transport etc. without those distractions. I will report the results here in a few days.

Comments (6)  Permalink

TechTalk about the Pomodoro Technique

Yesterday I had a short TechTalk about the Pomodoro Technique. It's a great tool to timebox your focus and break intervall. I only tried it for a few days and manage to do a very few Pomodoros each day but it still feels very efficient. You can read more about it on http://www.pomodorotechnique.com or view my Slides.
Related Entries:
Neue Visitenkarten
 Permalink

Setting up relayhost for postfix on OSX (with ssl and authentication)

Ok several co workers asked me how to make the command line mail tool use a proper mailserver under osx. The problem is that it sends mails directly which will not be accepted by most of the mailservers.

If you only want to send your mail plaintext over a mailserver and not use any authentication you just have to add this line to your /etc/postfix/main.cf:

relayhost = gorn.ch

If your mailserver allows SSL encryption you should also add the following lines:

smtp_sasl_auth_enable = yes
smtp_sasl_security_options =

Now finally if your mailserver requires a login you need some more steps to do. First add the following line to your main.cf:

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

Now create a file called /etc/postfix/sasl_passwd make sure it's only readable by root because you will have to put in your password there the syntax looks like this:

gorn.ch username:password

Finally run this and you should be good to go. Send a mail over the commandline to make sure it works. :)

sudo postmap hash:/etc/postfix/sasl_passwd
Related Entries:
xchat on OSX / Command as alt
MacHeist Software Bundle
Leopard native apache with custom (64bit) PHP
Leopard PHP / Apache Package with pecl support
Taming firefox temp files on osx
 Permalink

Jackalope presentation and status

On the Liip Techday 2009 I had a slot together with chregu and we talked about jackalope. We were introducing the Java Content Repository to the crowd and talked about the current state of jackalope - which is our native PHP jackrabbit client implementation. It was a great day with great talks and a lot of beers in the evening. You can check out most of the presentations including ours at http://slides.liip.ch

We're making a great progress writing tests and implementing the jr_cr (aka java-bridge prototype) version. Currently we're switching from JCR 1 to JCR 2.0 using and sharing the interfaces with flow3. This is a great collaboration :) At the moment we switched our plans a little. In the beginning we aimed to achieve full test coverage before we start with our native PHP version which will become the main jackalope component. Currently it seems like we're going to finish most of the level1 tests and then beginn with the native client.

If I got you interested get in touch with us on #jackalope or on the mailing list contributors are of course very welcome.

Related Entries:
TextMate Presentation
Leopard native apache with custom (64bit) PHP
Leopard PHP / Apache Package with pecl support
Nabaztag Widget
 Permalink

Photoseries from places I like

I bought a Lumix FS20 as my first digital camera which means I'm absolutely clueless when it comes to photography. As a little tryout I'm shooting photos of my favourite places and post it here. :) There is also a photoset on Flickr.

If you got hints for me how to improve my photos I'm very open for any tipps :) I will post the photos from flickr on this blog since I believe that's the best way to do it if you got better ideas again I'm open minded.

Comments (2)  Permalink

Bye bye last.fm

This is my current Top 100 chart before I finally delete my account. Bye bye last.fm.

  1. Dynamite Deluxe
  2. D12
  3. Samy Deluxe
  4. Lady Sovereign
  5. Xzibit
  6. Jan Delay
  7. Deichkind
  8. Abs
  9. Amy Winehouse
  10. Ferris MC
  11. Audio Bullys
  12. Absolute Beginner
  13. Immortal Technique
  14. Creutzfeld & Jakob
  15. Crystal Castles
  16. Die Ärzte
  17. The Courteeners
  18. Afrob
  19. Dizzee Rascal
  20. Busta Rhymes
  21. Gentleman
  22. Curse
  23. Access Immortal
  24. Babyshambles
  25. Cypress Hill
  26. Rage Against the Machine
  27. The Streets
  28. CunninLynguists
  29. Richie Hawtin
  30. Delinquent Habits
  31. Redman
  32. Jedi Mind Tricks
  33. Public Enemy
  34. Snoop Dogg
  35. Looptroop
  36. Saïan Supa Crew
  37. Fettes Brot
  38. Mobb Deep
  39. Marilyn Manson
  40. Guru
  41. IAM
  42. Masta Ace
  43. Ramones
  44. Masta Killa
  45. Nas
  46. Die Firma
  47. Jurassic 5
  48. Buddha Monk
  49. Method Man
  50. Van Halen
  51. House of Pain
  52. The Beatnuts
  53. Dynamic Duo
  54. The Knife
  55. Beginner
  56. EPMD
  57. Raekwon
  58. Freundeskreis
  59. Eins Zwo
  60. Aphrodite
  61. Nico Suave
  62. Raekwon and Ghostface
  63. DJ Desue
  64. Afu-Ra
  65. Dilated Peoples
  66. Skinnyman
  67. bluekilla
  68. Method Man & Redman
  69. Missy Elliott
  70. Ice Cube
  71. Hieroglyphics
  72. Roni Size
  73. Bob Marley
  74. Koяn
  75. Die Toten Hosen
  76. Ol' Dirty Bastard
  77. Die Fantastischen Vier
  78. dead prez
  79. Ghostface
  80. Gang Starr
  81. Black Star
  82. Tha Alkaholiks
  83. Swollen Members
  84. Kosheen
  85. Wu-Tang Clan
  86. The Chemical Brothers
  87. Beastie Boys
  88. The Roots
  89. Stic.Man
  90. Jeru the Damaja
  91. KRS-One
  92. Benny Benassi
  93. Carlos Libedinsky
  94. M.O.P.
  95. Elijah
  96. Cappadonna
  97. Burial
  98. Bone Thugs-N-Harmony
  99. Freeman
  100. Eminem
  101. La Coka Nostra
Related Entries:
Epic songs
Comments (1)  Permalink

Timestimator updated

As some of you already know I'm working on timestimator in my spare time and on hackdays. It's a small tool that lets your team guess the time that will be necessary to accomplish a task. As I'm currently participating at the local.ch hackdays (thanks Liip and local to make this possible I'm really enjoying it :)) I implemented a few new features and deployed a working version again.

The main new features are related to groups. It's now possible to create your group and your team members can join it. Then outsiders won't see your tasks anymore which gives you some security (the code is not bug free so don't trust it too much, patches are welcome the project is on github). As I still have half a day left I will dig into python unit testing which I didn't take a look at so far and I really hate to work on untested projects.

Try it out, but you will need a google account since it's on AppEngine. For any bugs ideas and feature requests please drop me a note I'm happy to hear from you.

If You don't have a google account there is a small demo for you:

Related Entries:
Still alive :)
 Permalink

Wrote my first blogpost on blog.liip.ch

Check it out it's about a new project we're kicking off and there will be some follow up posts soon :) I will always post a link to them here. http://blog.liip.ch/archive/2009/05/11/jackalope-started.html
 Permalink
Next1-10/99
Powered by Flux CMS