— Thomas Filius

Het reservering verliep niet zoals je van Duitsers zou verwachten maar het appartement is fantastisch. Net buiten het centrum, in een rustige buurt met de metro op loopafstand. Een aanrader voor iedereen die een weekend Berlijn wilt doen:

http://www.visage-galerie.de/apart.htm

Read More

image Wat eigenlijk een weekendje weg naar Berlijn zou zijn, begint nu een beetje te voelen als vakantie. Niet door de duur (slechts 5 dagen) maar meer door het ontbreken van een noodzaak om terug te gaan.

Op de kop af, heb ik de afgelopen 5,5 jaar zo goed als elk weekend gewerkt in de Groene Pulk. Met veel plezier en altijd met gezonde tegenzin. Voor zover ik daar nu over kan oordelen was het de leukste tijd van m’n leven. Gezien de reacties van vorige woensdag (de laatste avond) is het niet alleen voor mij een leuke tijd geweest. Na een middag inventariseren, inpakken en verhuizen zag de Pulk er maar kaal uit. Alsof er een verbouwing gaande was. Toch kon ik er niet verdrietig om worden, eerder voldaan. Voldaan om de leuke mensen die kwamen, de goeie sfeer en mijn rol daarin.

Nu zit ik in Berlijn. Geen enkel idee wat ik volgende maand doe of ben. En stom genoeg, ik maak me er niet druk om ook.

Read More

Kohana Framework heeft veel pluspunten maar zijn grootste minpunt is toch wel de handleiding. Die is, op z’n zachts gezegd, beknopt. Hierdoor blijft veel functionaliteit ongezien. Bij het doorspitten van de API en broncode kwam ik wat moois tegen: transacties binnen de database.

In deze post een kleine opzet voor het gebruik hiervan.

Probleem

Je wilt meerdere bewerkingen uitvoeren op verschillende tabellen middels één formulier. Wanneer één van de bewerkingen mislukt, moeten alle andere bewerkingen komen te vervallen.

Oplossing

Door het gebruik van een try-catch blok kun je bij fouten alle gedane mutaties makkelijk ongedaan maken.

$db = Database::instance();
$db->begin();

try
{
// insert, update, delete mutaties hier plaatsen
// gebruik van ORM models is ook mogelijk

$db->commit();
}
catch(Database_Exception $e)
{
$db->rollback();
}

Geef voor de try aan dat je wilt beginnen met de transactie

$db->begin();

Na het opgeven van de mutaties ga je ze uitvoeren

$db->commit();

Mocht de catch een fout oppakken, dan maak je alle wijzigingen ongedaan

$db->rollback();

In Kohana 2.x zijn deze functies niet ingebakken dus zul je ze handmatig moeten aanroepen.

$this->db->query("START TRANSACTION");
$this->db->query("COMMIT");
$this->db->query("ROLLBACK");

Succes en veel plezier ;-)

Read More

Bij het configureren van een aantal pakketten in Ubuntu server wordt er gebruik gemaakt van de standaard ingestelde editor. Mijn voorkeur gaat uit naar Nano, maar de heren bij Canonical denken daar anders over. Gelukkig is dit makkelijk aan te passen met het volgende commando:

Read More

Met de komst van de smartphone en het feit dat bedrijven zich steeds meer met social media willen profileren is de QR code populair aan het worden. De laatste tijd krijg ik steeds vaker de vraag of ik voor iemand een QR code wil “aanvragen”. Wanneer ik antwoord dat ze het ook zelf kunnen aanmaken, zie ik meestal de moed bij de mensen in de schoenen zakken. Vandaar een kleine uitleg over de mogenlijkheden en gebruik van de QR code.

Read More