<TeRanEX/> weblog v2

Avishai Cohen in De Roma

Een paar weken geleden ontdekte ik de site BandsInTown. Op deze website vind je enorm veel optreden van groepen en muzikanten. Niet enkel optreden in de VS, maar ook in Belgë en Nederland. Maar de echte ‘killer’-feature van de website, is dat je hem aan je last.fm profiel kan linken. Op die manier kan je dus door gewoon naar je favoriete muziek te luisteren en te scrobblen helemaal automatisch geregeld een mailtje krijgen met optredens in je buurt. Het duurde dus maar 5 minuten tot ik zag dat Avishai Cohen op 4 februari optrad in De Roma.

Avishai Cohen is een Jazz bassist uit Israël en maakt echt enorm goede en moderne Jazz (dat is natuurlijk mijn persoonlijke mening). Ik heb de muziek van Cohen ook toevallig leren kennen dankzij een foutje van de Media Markt. In hun systeem om CD’s voor te beluisteren stond “Aurora” verwisseld met een andere CD, die ik op dat moment wilde beluisteren. Hoewel ik Aurora toen niet gekocht heb (wegens al een te grote stapel CD’s om mee naar de kassa te lopen), heb ik de naam toen wel opgeschreven. Een tijd later heb ik Cohen op eMusic gevonden en heb er toen “Gently Disturbed” van gedownload. Dit is echt een heel erg goede en meeslepend album.

Toen ik dus op BandsInTown zag dat Avishai Cohen naar De Roma kwam was ik onmiddellijk overtuigd dat ik wilde gaan kijken. Ik was ook nog nooit in De Roma geweest dus dat was nog een extra reden. Als je in de buurt van Antwerpen woont en cultuur weet te appreciëren moet je daar in feite toch wel eens geweest zijn.

Gisteren was het dus de langverwachte avond. Het optreden duurde zo’n anderhalf uur en vloog echt voorbij. Er werden vooral stukken gespeeld vanop de recentste CD “Aurora” en enkele nieuwe stukken. Het was echt ENORM goed. Cohen speelde zelf natuurlijk op de contrabass en zong ook geregeld met zijn vrij speciale stem. Verder speelde Shai Maestro op de piano, Amos Hoffman op de oud, Itamar Doari op percussie (gebruikmakend van enkele speciale instrumenten die ik nog niet gezien had) en Karen Malka (zang) ook geregeld mee. De combinatie gaf geregeld een vrij oosters klinkend geheel waar ik tegenwoordig wel fan van ben. Geregeld ging het er ook wel heftig aan toe, waardoor het moeilijk was om op je stoel te blijven zitten. Het was echt wonderbaarlijk hoe al de muziekanten hun instrument beheersten en er volledig voor gingen. De drummer moest op een bepaald moment zelfs naar een rekje grijpen waar enkel symbalen en belletjes aan hingen omdat hij zo hevig bezig was dat het onderuit ging (hij had het nog net!). Alle muziekanten kregen ook geregeld de tijd en ruimte om volledig op zichzelf te spelen waardoor zeker niet alles enkel en alleen rond Cohen draaide.

Toen Avishai Cohen aankondigde dat het die avond de verjaardag van de pianist was begon de zaal natuurlijk happy-birthday te zingen. Hierop pikte Cohen op zijn eentje in met een heel knappe solo op bass, met het happy-birthday-deuntje mee in verwerkt.

Het optreden was dus een success. Nadat we thuiskomen heb ik meteen ook nog eens op eMusic gekeken en heb “Colors” gedownload. Ook dit is een heel goed album. En vandaag ben ik tussen de middag even snel naar de Media Markt gespurt omdat ik toch ook wel heel graag “Aurora” wilde hebben. Ook dit is een schitterend stukje muziek, hoewel het live inderdaad toch nog wel net dat ietsje beter klinkt. Maar dat is vermoedelijk met alle Jazz wel zo.

Friday, February 5th, 2010 - Posted in Muziek - No Comments

Snarl, Notify-osd en Yip

Onder Windows gebruik ik al vrij lang Snarl. Dit is een open source programma om meldingen op het scherm te geven, net zoals Growl onder Mac OS X dat kan doen. Ook Ubuntu heeft hier vanzelfsprekend een equivalent voor. Sinds Ubuntu Jaunty is dit ‘notify-osd’. Notify-osd heeft echter als kenmerk dat je niet op de meldingen kan klikken, maar er gewoon doorklikt. Volgens sommigen neemt dit alle functionaliteit weg van meldingen. Ik ben er echter wel fan van omdat ze op die manier enkel hun kerntaak uitvoeren: een melding laten zien. Verder heb je niet het probleem dat de melding soms in de weg staat en je ze moet toeklikken.

Sinds versie 2.2 van Snarl kan je het programma zo instellen dat het vrijwel exact notify-osd nabootst. Hiervoor moet je wel even in de instellingen van het programma prutsen. Zo moet je de positie van de meldingen veranderen, zodat ze rechts bovenaan het scherm komen ipv onderaan. Ook moet je de ‘click-through’ aanzetten. Dit doe je in de tab ‘Apps’. Selecteer de applicatie en notification class waarvoor je de click-through wilt aanzetten, open de tab ‘Advanced’ en zet ‘Show in view-only mode’ op Yes. Dit moet je blijkbaar wel voor iedere application en class doen. Hierbij kan je wel ‘Use the same settings for all notification classes?’ op Yes zodat je het maar eenmaal per applicatie moet aanpassen.


En nu ik toch over meldingen bezig ben: Yip. Als je Firefox gebruikt en vaak web-applicaties gebruikt kan het soms handig zijn als deze ook meldingen kunnen geven. Yip is hiervoor een extensie die perfect samenwerkt met notify-osd op Ubuntu en Snarl onder Windows. De website in kwestie moet deze meldingen wel ondersteunen, of ondersteuning ervoor kan door een userscript toegevoegd worden. Web applicaties die ik geregeld gebruik met ondersteuning voor meldingen zijn Filttr, Meebo en RoundCube (via een userscript).

Friday, October 16th, 2009 - Posted in Software - Comments Off

Nieuwe PGP key

Een paar dagen geleden las ik op Debian Administration een artikel over het uitfaseren van SHA-1 in OpenPGP. Dit is nodig omdat de veiligheid van SHA-1 niet meer volledig gegarandeerd is.

Sinds ik Linux gebruik had ik mij al eens terug op OpenPGP willen toeleggen om het terug te gebruiken, al was het maar om de Ubuntu Code of Conduct te kunnen ondertekenen. Dit leek me dus het perfecte moment om ineens een nieuwe sleutel te genereren die hopelijk toch wel een aantal jaren moet mee kunnen. In het artikel wordt gesuggereerd om een 2048 bits RSA (sign-only) sleutel te maken, maar ik heb ervoor gekozen om maar ineens voor de 4096 bit RSA (sign-only) sleutel te gaan. Daarbij nog een 4096 bit RSA (encryption-only) subkey en een fototje en we zijn gesteld. Mijn nieuwe PGP key heeft als id 610DB834 gekregen.

De gegevens van de oude key:

pub   1024D/8B7B774A 2003-12-03
      Key fingerprint = 97A4 641E AE0A 4068 B78D  F530 1F4E 3017 8B7B 774A
uid                  Jeroen Budts 
uid                  Jeroen Budts 
sub   1024g/20BC0ADF 2003-12-03

De gegevens van de nieuwe key:

pub   4096R/610DB834 2009-05-15
      Key fingerprint = 03E2 547D 5CE5 DEF7 5C85  9280 B990 30C6 610D B834
uid                  Jeroen Budts 
uid                  [jpeg image of size 5067]
sub   4096R/903CE17F 2009-05-15

In het artikel wordt ook beschreven dat je best een ‘transition statement’ schrijft en dit met beide keys ondertekend. Een versie van deze blogpost in pure tekst en ondertekend met beide keys vind je op http://budts.be/jeroen/610DB834-transition.txt.

De publieke sleutel is te vinden op http://budts.be/jeroen/0×610DB834.asc, maar ook op de keyservers van Ubuntu en op mijn Launchpad account.

Wednesday, May 20th, 2009 - Posted in Computer - Comments Off

Kommil Foo

Vorige week donderdag zijn we naar de voorstelling ‘Wolf’ van Kommil Foo in de Arenberg geweest. Het was de eerste keer dat ik Kommil Foo live zag, maar omdat we thuis vrijwel alle CD’s en DVD’s hebben was ik er vrij zeker van dat heel erg goed ging zijn. En dat was het ook!

Soms was de rode draad nogal moeilijk om te volgen, maar dat neemt niet weg dat we ons geregeld krom hebben gelachen. Nu we de voorstelling hebben gezien kunnen we de nieuwe CD/DVD die we thuis al sinds kerstmis hadden liggen eindelijk ook bekijken en beluisteren. We vonden het allebei nogal dom om al naar de show te kijken op DVD of de muziek te beluisteren op CD als je weet dat je enkele maanden live gaat kijken. Het heeft soms wat moeite gekost om hem toch stiekem niet op te zetten, maar gelukkig is het toch gelukt.

Thursday, April 9th, 2009 - Posted in Vrije Tijd - Comments Off

Implicit conversions in C#

Yesterday I came across an interesting article: What’s the opposite of Nullable. While the solution for Non-Nullability is interesting, the reason i’m blogging this is because the article also used a C# feature which i didn’t know of: implicit conversions.

And guess what? Today I had a situation where I could use these implicit conversions. My app reads data from a CSV-file, so all the input are just strings. Until now that was just fine. However, at one part of my code I had to process one of the fields which has a fixed format. Say a field is a phonenumber and i need the country-prefix. So I created a PhoneNumber-class like this:

?View Code CSHARP
public class PhoneNumber
{
  private readonly string _number;
 
  public PhoneNumber(string number)
  {
      if (!new Regex(PHONE_NUMBER_REGEX).IsMatch(number))
      {
          throw new ArgumentException("Invalid phone number", "number");
      }
      _number = number;
  }
 
  public string Prefix
  {
    get { return GetPrefixFromNumber(...); }
  }
}

Now it is possible to create a (helper-)method in another class to get the prefix like this (this is just a simple example):

?View Code CSHARP
public string GetPrefix(PhoneNumber phoneNumber)
{
  return phoneNumber.Prefix;
}

But when you only have the phonenumber as a string, you’ll still have to create an instance of PhoneNumber to be able to call the GetPrefix method:

?View Code CSHARP
var prefix = GetPrefix(new PhoneNumber("+32485123456"));

That is, until we add a method for implicit conversion to the PhoneNumber-class:

?View Code CSHARP
public class PhoneNumber
{
  private string _number;
 
  public PhoneNumber(string number)
  {
      if (!new Regex(PHONE_NUMBER_REGEX).IsMatch(number)
      {
          throw new ArgumentException("Invalid phone number", "number");
      }
      _number = number;
  }
 
  public string Prefix
  {
    get { return GetPrefixFromNumber(...); }
  }
 
  public static implicit operator PhoneNumber(string number)
  {
    return new PhoneNumber(number);
  }
}

Now it is possible to call the GetPrefix method with just a string. The string will be automagically converted to a PhoneNumber, unless it is invalid, in which case the ArgumentException will be thrown:

?View Code CSHARP
var prefix = GetPrefix("+32485123456");

Wednesday, March 25th, 2009 - Posted in Programmeren - Comments Off

Techdays

Gisteren mocht ik voor het werk een dagje van de Microsoft Techdays bijwonen. Het was de eerste keer dat ik naar een Microsoft-event ging en had me eerlijk gezegd aan veel show en weinig inhoud verwacht. In sterk contrast tot JavaPolis Devoxx, waar er veel inhoud en weinig show is. Achteraf bekeken viel dit eigenlijk enorm goed mee. Enkel de keynote ging er wat over. Een Developer Evangelist of Regional Director moet echt niet als één of andere superster worden aangekondigd met loeiharde muziek en lichtshow, maar dat is mijn mening natuurlijk.

Na de keynote heb ik de sessie over C# 4.0 gevolgd en dat was erg interessant. C# 4.0 belooft weer een versie te worden om naar uit te kijken. Eén van de nieuwe features is het dynamic keyword. Dit zorgt ervoor dat je methodes op het object kan oproepen waarbij de compiler niet checked of deze effectief bestaan. De check wordt pas ‘at runtime’ gedaan. Dit is erg handig om te integreren met andere talen zoals Javascript en Ruby.

Een andere interessante feature is ‘Generic co- and contra- variance’. Hiermee kan je in speciale gevallen casts uitvoeren zoals:

?View Code CSHARP
var list = new List<string>();
(List<object>)list;
</object></string>

Ook optional en named parameters behoren tot de nieuwe features. Dit is ook erg interessant. Bekijk dit voorbeeldje:

?View Code CSHARP
public void Order(string name, int amount = 2, int discount = 0)
{ ... }
 
Order("jeroen", dicount: 5);
// the first param - name - is not optional so a value must be supplied.
// the second param - amount - has default value of 2 which we want to use
// the third param - discount - has a default value of 0 but we supply 5

Enkele belangrijke punten bij het gebruikt van deze feature zijn wel dat je parameters absoluut als constante moet beschouwen. Je kan na verloop van tijd in veel gevallen immers niet zomaar de standaard waarde van een parameter aanpassen. Als je in voorgaand voorbeeld de default value van amount zou wijzigen in 3 zouden er plots veel klanten 3 items bestellen in plaats van 2. Ook is het wijzigen van de naam van een parameter niet meer zo vanzelfsprekend omdat deze naam nu ook buiten de methode wordt gebruikt.

Read the rest of this entry »

Thursday, March 12th, 2009 - Posted in Programmeren - 2 Comments

ASP.NET MVC 1.0 Quickly

Today I was pretty surprised when going through my feeds to read that a friend of mine, Maarten Balliauw, has a written a book. The title of the book is ASP.NET MVC 1.0 Quickly:

It’s been quite a job, but there it is: Packt just announced my very first book on their site. It is titled “ASP.NET MVC 1.0 Quickly”, covering all aspects ASP.NET MVC offers in a to-the-point manner with hands-on examples. The book walks through the main concepts of the MVC framework to help existing ASP.NET developers to move on to a higher level. It includes clear instructions and lots of code examples. It takes a simple approach, thereby allowing you to work with all facets of web application development. Some keywords: Model-view-controller, ASP.NET MVC architecture and components, unit testing, mocking, AJAX using MS Ajax and jQuery, reference application and resources.

I always thought, and still think, that writing a book is a massive amount of work. Therefore i really have a lot of respect for people that have the courage to actually write a real book.

In his blogpost Maarten explains why and how he wrote the book. According to his time tracking software, it took him 100 hours to write the book, which is far less than i would expect. On the other side, if you can only use spare time to do the work, it is a lot of time. Maarten also explains that he used Subversion to keep his work versioned and that some people laughed at him for doing so. I don’t think this is such a strange idea. If I ever would write a book (consider the chances small…), I certainly would use Subversion, or a similar tool, to store my work. In fact, when my girlfriend wrote her paper for her last schoolyear I also made her use Subversion to store her word-documents. But i do find it strange that you write a complete book in Word (which is a word processor btw, not a text editor ;) ).

I’m very curious to see and read the book. Btw Maarten, is that your own pair of glasses on the cover? Anyway, Congrats Maarten!

Wednesday, February 18th, 2009 - Posted in Computer - 1 Comment

Weekendje Praag

Dit weekend hebben we nog eens een bezoekje gebracht aan Praag. Met een kortingsbon van bij de maaltijdcheques hadden we een goedkoop vliegtuig ticket gekocht en we konden logeren bij een Tsjechische vriendin van Tine. Toen we op de luchthaven aankwamen zagen we dat ons vliegtuig met 45 minuten vertraging zou vertrekken. De geruchten gingen dat de vliegtuigmaatschappij waar we mee vlogen op de rand van het faillisement staat en dat ze 9 vliegtuigen tekort hebben. Uiteindelijk hebben ze dan toch een Bulgaars vliegtuig gevonden waarmee we veilig en wel in Praag zijn geraakt.

Hoewel ik 8 jaar geleden al wel eens in Praag was geweest op eindejaarsreis, herinnerde ik mij toch niet veel meer van de stad. Met onze Praagse vriendin hebben we vooral veel door de stad gewandeld om het globale stadsbeeld te bekijken. Aangevuld met aardig wat pub-bezoekjes om af en toe terug op te warmen. Vrijdagavond zijn we ook nog eens goed in het nachtleven gedoken om al de vrienden en vriendinnen te leren kennen de Tsjechische bieren en sterkere dranken te proeven. Becherovka is best te drinken.

Praag is best een mooie stad om eens een weekendje in rond te lopen. Het communistische museum vonden we wat minder en het joodse kerkhof is ronduit schandalig duur. De foto’s vind je in het foto-album.

Tuesday, February 17th, 2009 - Posted in Reizen - Comments Off

Talenfestival & FOSDEM

Talenfestival

Zaterdag hebben we het Talenfestival in Leuven bezocht. Hierop kon je met verschillende talen kennismaken in voorstellingen van telkens een uurtje. We hebben Oekraïens, Vlaamse Gebarentaal, Tshiluba en Esperanto gevolgd.

Het Oekraïens was best leuk om te volgen gezien onze geringe basiskennis van het Russisch. Het geschrift is voor het grootste deel hetzelfde en ook een groot stuk van de grammatica komt overeen. Wat mij als grootste verschil opviel is de andere uitspraak van verschillende letters.

De Vlaamse Gebarentaal werd gepresenteerd door twee mensen, een dove en een tolk. Ook dit was erg interessant omdat je onmiddellijk ook twee mensen in het echt in gebarentaal kon zien communiceren. Ik heb er ook van bijgeleerd dat de grammatica van gebarentaal helemaal niet overeenkomt met die van het Nederlands. Zo begint men in een zin bijvoorbeeld met het woord dat het grootste object beschrijft.

Tshiluba is een taal uit de Bantu-familie die in Congo wordt gesproken. Ik dacht dat Russisch moeilijk was, maar tegenover Tshiluba (en vermoedelijk dus ook andere Bantu-talen), is het niets. In Tshiluba kunnen woorden in 7, 12 of 18 klassen worden verbogen (niet iedereen telt de klassen op dezelfde manier blijkbaar). Als een woord, ik denk het onderwerp, in een bepaalde klasse moet verbogen worden moet meteen heel de zin in die klasse verbogen worden. Opmerkelijk is ook dat woorden aan het begin worden verbogen en niet aan het einde zoals wij gewend zijn. Verder kunnen woorden samengevoegd worden, waardoor je iets in de stijl van ‘dat is de plaats waar hij het aan hen gegeven heeft’ als één woord kan zeggen. Zoek dat maar eens op in het woordenboek!

Het talenfestival werd georganiseerd door Esperanto3000, waardoor je hier en daar ook mensen onderling in het Esperanto kon horen spreken. Zelf heb ik al wel een langere tijd het idee om het eens te leren en was dus ook erg geïnteresseerd om de voorstelling van het Esperanto te volgen. Aan het begin van de voorstelling vertelde de presentator het verhaal over de Rattenvanger van Hamelen in het Esperanto met behulp van een beamer zodat we de prentjes en tekst ook konden zien. Vervolgens kregen we vrijwel alle grammatica die het Esperanto rijk (of arm) is uitgelegd, en werd er afgesloten door het verhaaltje nog eens voor te lezen, waardoor echt wel duidelijk werd hoe relatief eenvoudig deze taal in elkaar zit. Je kan Esperanto trouwens ook online leren op Lernu!.

FOSDEM

Dit weekend was het ook weer FOSDEM, de Free and Open Source Developers’ European Meeting. Op dit twee dagen durende evenement in de VUB worden enorm veel presentaties, workshops,… gegeven over allerlei zaken die met Open Source te maken hebben. Eigenlijk is het de JavaPolis Javoxx van de Open Source, maar dan volledig gratis. De presentatie die me het meeste interesseerde ging over IronRuby. Toen ik echter om 9u (op een zondag!) op FOSDEM aankwam bleek dat deze voorstelling was afgelast omdat de spreker ziek was. Kan gebeuren natuurlijk… Voorstellingen die ik wel heb kunnen volgen waren: de inleiding in de Ruby-room, Prawn, Wine, OpenSUSE on netbooks, Ext4 en een basis inleiding tot objecten, classes en modules in Ruby. Thunderbird3 had ik ook graag gevolgd maar de zaal zat al snel volledig vol.

Natuurlijk zijn er nog tal van bij-activiteiten op FOSDEM, zoals een PGP Keysigning-party. Ook staan er tal van standjes van verschillende Linux distributies en andere Open Source projecten zoals PHP, MySQL, Haiku etc. Zo ben ik even langs de stand van Ubuntu-be geweest en met de hulp die ik daar heb gekregen werkt wi-fi op m’n laptop nu ook als ACPI niet aanstaat! Het was dus een druk maar leuk en leerrijk weekend.

Monday, February 9th, 2009 - Posted in Vrije Tijd - Comments Off

Bestanden synchroniseren met Unison

Nu ik mijn laptop weer aan de praat heb gekregen en zowel m’n desktop PC als m’n laptop Linux draaien heb ik de manier waarop ik deze synchroniseer nog eens herbeken en aangepast. Toen mijn beide PC’s windows draaiden maakte ik gebruik van Subversion, om de bestanden op de Desktop en Laptop te synchroniseren. Dit werkte vrijwel perfect om op beide PC’s alle betanden te hebben en had als extra voordelen dat er een geschiedenis van wijzigingen werd bijgehouden (zo werkt SVN nu eenmaal) en, omdat de repository bij Dreamhost stond, dat ik ineens een off-site backup had. Er waren ook wel een paar nadelen aan verbonden. Om te synchroniseren moet je op beide PC’s een svn commit doen en een svn update, soms meerdere keren als er op de beide pc’s wijzigingen waren. Bovendien duurde het even omdat de wijzigingen moesten geuploaded worden naar Dreamhost en gebruikte ik het niet voor echt persoonlijke bestanden (bankafschriften etc) omdat de gegevens bij Dreamhost niet geëncrypteerd waren.

Nu gebruik ik twee aparte tooltjes voor enerzijds de synchronisatie tussen de twee pc’s en anderzijds de off-site backup. Voor de backup gebruik ik Duplicity, waar ik niet verder op in ga. Voor de synchronisatie gebruik ik Unison. Unison werkt zowel onder Linux als onder Windows. Onder Ubuntu kan je het installeren (met GUI) door in de terminal sudo apt-get install unison-gtk uit te voeren.

Als je de GUI van Unison voor de eerste keer start wordt je gevraagd welke twee mappen je wil synchroniseren. Deze manier om Unison in te stellen is echter nogal weinig flexibel. Zelf bewerk ik altijd rechtstreeks de .prf bestanden van Unison. Deze zijn te vinden in /home/your-username/.unison/. Deze bestanden kan je in een text-editor zoals Gedit openen en bijmaken, op de pc vanwaaruit je de synchronisatie wil uitvoeren. In mijn geval start ik de synchronisatie altijd vanop de laptop dus het prf bestand staat op de laptop. Een voorbeeld van zo’n bestand ziet er als volgt uit:

# Unison preferences file
root = /media/cryptdata
root = ssh://192.168.1.112//media/DATA/
perms = 0

ignore = Path data
ignore = Path _ARCHIVE
ignore = Path music

ignore = Path lost+found
ignore = Path .Trash-*
ignore = Path dev/repos

Zoals je kan zien wordt de locatie /media/cryptdata (op de laptop) gesynchroniseerd met de locatie ssh://192.168.1.112//media/DATA/. Dit is een NTFS partitie die gemount is op /media/DATA op mijn desktop PC, die via OpenSSH bereikbaar is op ons lokale netwerk. Omdat de bestandsrechten op de NTFS partitie anders worden ingesteld dan op de laptop (Ext3) gebruik ik de optie perms = 0 zodat bestandspermissies worden genegeerd. Met de ignore-optie kan je bestanden en paden laten negeren, zoals je in mijn configuratie kan zien. Er zijn nog tal van andere opties die in de manual kan terugvinden.

Monday, February 2nd, 2009 - Posted in Software - Comments Off

Activity Stream

Categories

Latest Comments

teranex: @Vincent: Gek genoeg heeft microsoft voor de volgende versie van Visual Studio...

Vincent Ceulemans: Tsja, consequent zijn is voor MS waarschijnlijk wat te moeilijk,...

teranex: @krzychu yes it works without the Nucleus files and database, because it uses...

krzychu: Your tips about importing/migration from Nuclues to WP works very well. Thank...

teranex: @seb: dat rechtsonder tappen voor een rechtermuisklik werkt blijkbaar ook :)...

Archives

2010 2009 2008 2007 2006 2005 2004 2003

Links

Info

This blog is powered by WordPress and is hosted by Dreamhost

Get Mozilla Firefox and rediscover the web.