MasterMind 2001: wow that's old :)

While browsing through some really old files on my hard disc i found a little game i wrote back in 2001. It is a very simple Mastermind written in VB6. Just in case it could be of any use for somebody I made it available: http://dev.budts.be/releases/old/. I included the sourcecodes and licensed it under the GPL.

Please note that this is very old code and the program has a very bad design. Today my programs have a much nicer architecture ;). Also note that i'm not responsible for any damage ;)

uit de oude doos: MasterMind 2001

Mastermind screenshot

Zonet was ik wat opkuis aan het houden in ??n van de vele mappen op m'n harde schijf. Toevallig kwam ik wat oude spulletjes tegen die ik vroeger eens had geschreven. E?ntje daarvan is een eenvoudige MasterMind, geschreven in VB6. En ja hij werkte zelfs :). Omdat hij toch maar op m'n schijf 'stof stond te vangen' heb ik hem online gezet, met de broncodes erbij (GPL-ed).

Ik wil er overigens wel bijzeggen dat deze code van 2001 dateert en het design van het programmaatje op zo goed als niets trekt. Vandaag de dag programmeer ik wel net iets properder ;) En ook: als het ding uw computer laat crashen, ontploffen of begint op te eten, ik ben NIET verantwoordelijk ;)

Dat gezegd zijnde:
http://dev.budts.be/releases/old/
De zip downloaden, uitpakken en MasterMind.exe starten en je bent vertrokken :)

Idiot proof virusscanner voor GSM's

? Struikgewas | Virusscanner? Gewoon weglopen... ?. Dit is vast en zeker de meest gebruiksvriendelijke en goedkoopste virusscanner die er bestaat :)

Darcs repo on an FTP server

darcs logo Like i explained before, with darcs you can make a repository available on a normal webserver. However darcs cannot update ('push') changes to that repository (it needs SSH to do so). First i used Filezilla to simply upload all the files of my local repo to the repo on the server. However, since patches never change this is a bit stupid ofcourse. On the mailinglist i found the solution: Sitecopy. It's a CLI program which uploads only new/modified files. It does this by keeping the state of files locally so that you do not need to trust timestamps on the server.

The Office - Funnyfox

The Office - Funnyfox :-)

Groovy: Java Scripting

I have been (well, still am) experimenting with Groovy, a scripting language for Java. I wrote about it on my regular blog, and for the first time i choose to write in english on that blog, so everybody can read it :)

Groovy: Java Scripting

See below for an explanation why this is written in English

Groovy logo

A few days ago I stumbled across an article at onjava.com introducing Groovy. Groovy is a scripting language for Java, meaning that Groovy-scripts can be executed without the need of first being compiled. This makes it very easy to write little scripts which can be executed from the command-line or from inside a java application.

Groovy is not the only scripting language for Java. Others include Beanshell, Jython, JRuby and some more. A nice overview can be found here. People that use jEdit will certainly have heard of Beanshell since it is the language used by jEdit to write Macro's.

Both Groovy and Beanshell use a syntax based on Java, but their goals are a bit different. Beanshell tries to interprete normal java files and seems to do this very well. So by using Beanshell it should be possible to run a real Java application by feeding the source files to Beanshell, instead of compiling them into .class-files …

Livre 11, o.a. over weblogs

Zaterdag is nummer 11 van Livre verschenen. Livre is, sinds vorige maand, de nieuwe naam voor OpenMagazine. Voor dit nummer zijn Ben en ik nog eens aan het tokkelen gegaan om de coverstory te verzorgen. In tegenstelling tot Jabber in februari, bespreken we deze keer het fenomeen 'weblogs'.

Andere interessante onderwerpen uit deze editie: een uitleg waarom registratie voor Livre verplicht is; hoe stop ik spam; Linspire Five-O; Netscape 8 beta; overstappen van Windows op Linux; ...

Livre 11 is hier gratis te downloaden (na registratie)

version control with darcs

darcs logo

A few months ago Andreas Gohr started using darcs as his version control tool for Dokuwiki. It was the first time i heard about darcs, but in the past three months i came across the name more and more.

darcs is a distributed system for version control, meaning there is no central server like with other systems, by example CVS. This has some very nice advantages, by examples you do not need to have a connection to a server to be able to 'commit' your changes. With darcs every sandbox is also a repository. Darcs has some other nice features:

  • instead of versioning every file it uses patchsets to bundle changes to sets of files. This makes sharing very easy
  • A repository can be made available online using a normal webserver
  • you can have a local repository with your own modifications and still update to the latest code (thus making it easy to make a personal patched version of the app without having to re-apply your changes everytime you update …

darcs: versiebeheer op een nieuwe manier

darcs logo

Toen Andreas Gohr enkele maanden geleden opzoek ging naar een geschikte source control-tool voor DokuWiki koos hij voor darcs. Het was de eerste keer dat ik van darcs hoorde, maar sindsdien ben ik het meer en meer tegengekomen.

In vergelijking met 'klassieke' SCM-tools, zoals CVS, Subversion en SourceSafe, werkt darcs opmerkelijk anders. Bij deze klassieke systemen heb je meestal enerzijds een centrale server met een 'repository' waar al de code wordt bewaard en anderzijds een sandbox op je lokale computer die alle bestanden bevat waaraan je kan werken. darcs echter is een gedistribueerd systeem. Hierbij is dus iedere 'sandbox' ook meteen een 'repository'. Dat heeft aardig wat voordelen. Zo moet je bijvoorbeeld geen verbinding hebben met een server om bewerkingen op de repository uit te voeren.

In tegenstelling tot CVS werkt darcs niet met versies van bestanden maar met 'patchsets'. Zo'n patchset wordt gemaakt aan de hand van alle wijzigingen die je aanbracht ten opzichte van je lokale repository. Dit is handig want op die manier zitten alle wijzigingen die …