Archief voor de ‘Werk’ Categorie

Spaghetti-code?

23 februari 2007

Even een opvolging over mijn City-Live-job. Er is nog een extra concept bijgekomen: voor de controle van de IRC-server ga ik Twisted gebruiken, een “event-driven networking engine” in Python. Er zitten een hoop handige zaken in om snel een eigen server of client voor een hoop protocols te schrijven. Om het toch een beetje fatsoenlijk te doen, lees ik nu de documentatie, maar ik heb de indruk dat die toch niet zo geweldig consistent geschreven is. Binnen één hoofdstuk wordt er stevig over en weer gesprongen: ze beginnen één voorbeeld uit te werken, en dan begint het plots over iets heel anders. Voor nu zal het volstaan, maar ik zal het beestjesboek toch maar op mijn leeslijstje zetten (kent er iemand trouwens een gemakkelijk programma om te klasseren welke boeken je al gelezen hebt of nog wilt lezen? Iets met ook een web-component (of volledig web-based), dat ik het hier ook kan integreren)

Het wordt zo trouwens weer interessanter om terug een abonnement te nemen op Safari Books Online, waarmee je boeken van een hoop technische uitgevers on-line kan lezen. Het kost wel genoeg (ik had vroeger een abonnement voor 5 boeken tegelijk, die honderd euro had ik er voor over), maar ja, ik moet nu toch onkosten maken? Of neen, eerst mijn registratie in orde maken, anders tellen die onkosten nog niet. Grrr…

Zelfstandig worden moet na je uren

22 februari 2007

Uiteraard is mijn registratie als zelfstandige nog niet in orde geraakt. Wat dacht je, dat ik zoiets snel ging regelen? Er zijn een hoop stomme kleine spulletjes die ervoor zorgen dat ik het nog niet in orde heb gebracht.

Als zelfstandige heb je natuurlijk best een echte boekhouder om je te helpen met al die vervelende kleine financiële prullen. En ja, een goede boekhouder, waar vind je die? Het moet iemand zijn die toch hopelijk een hele tijd mee kan gaan, en die toch een belangrijke rol gaat spelen. Enfin, voor al die vragen raadde mijn vader mij aan om eens langs Unizo te gaan. En ik ken ondertussen het nu van een overkoepelende vereniging, dus dat kan ook voordelen geven.

Nu, gelukkig ga ik dit niet alleen doen. Hans wilt ook wat gaan bijklussen, en wilt zich ook registreren. We willen dus samen gaan, maar raad eens wanneer zij bij Unizo de deur dicht doen? Om half vijf! En een middagpauze van twaalf tot één. Dus als je nu al een job hebt, en je wilt zelfstandige in bijberoep worden, moet je daar al een dag verlof voor nemen. Dat had misschien toch iets klantvriendelijker gekund…

En nog wat nieuwe technologieën..

14 februari 2007

Ik werk dus niet alleen voor Lithium, maar ook voor City-Live, de NV die het platform ontwikkelt dat binnen i-City getest wordt, maar ook commercieel op de markt wordt gebracht. Op 28 en 29 maart organiseert i-City een internationale brokerage, waar aan de hele wereld wordt getoond wat i-City nu precies inhoudt. Om dat een beetje aanschouwelijk te maken, zijn er rondleidingen door Hasselt gepland, waarbij op verschillende plaatsen demo’s worden gegeven. Om alles een beetje te stroomlijnen, worden die demo’s gegeven voor bevallige hosts en hostessen (ze zoeken er nog, dus als je een beetje proper bent, kan je je hiervoor nog kandidaat stellen). Op het einde van de tour krijgen de deelnemers echter zelf een pda in hun handen, zodat ze ook merken dat het niet allemaal smoke & mirrors is. Het is de bedoeling dat er een soort van stadsspel komt, waarbij de deelnemers merken dat er interactie is tussen hun pda en een groot scherm dat daar staat opgesteld. Op die manier toon je dat het niet enkel om die pda’s gaat, maar dat er ook een hele infrastructuur achter zit.

Voor deze applicatie staat in de planning dat er dertig dagen werk is voor één senior .NET developer. En dat ben ik dus. Ik heb nu welgeteld twee applicaties gemaakt (een GPS-tracker en een halve Pictionary), maar ja, .NET is een library, dus daar bestaan naslagwerken voor, en C#, dat bouwt verder op C++ en Java, dus daar merk je ook niet echt verschil.

Het programmeren is dus niet het moeilijke punt, wel het ontwerpen van heel dat spul. Je moet je inbeelden dat er een tiental pda’s zijn, negen laptops die elk een scherm aansturen (ja, het wordt zo’n videowall van plasma-schermen), en één laptop die alles een beetje aanstuurt. Dat allemaal via een Telenet hotspot, die zo ingesteld is dat je niet peer-to-peer kan werken. En ik, die wel het vak Gedistribueerde Systemen heb gevolgd, maar toch liever in de theoretische informatica blijf. Netwerken, dat geeft alleen maar prul met hosts die uitvallen en zo, waardoor sockets niet goed afgesloten, en alles in een vlammende vuurzee neerkomt. Zie ook ons programmeerweekend.

Heb ik gezegd dat de clients voor de pda op 5 maart af moeten zijn? Dan is er nog een kleine week voorzien om te testen, en wordt de code naar alle demotoestellen verspreid. Dat vraagt belachelijk veel tijd (het zijn niet echt gemakkelijke platformen), dus moet dat voldoende op voorhand gebeuren). Dat geeft mij nog een dikke twee weken om die dingen rond te krijgen.

En wat moeten die applicatie allemaal kunnen? Wel, het geheel bestaat uit verschillende spelletjes, dus moet ik ook verschillende dingen kunnen. Een kleine greep uit het aanbod: genetwerkt tekenen (daar kan ik gelukkig verderbouwen op code uit het weekend), een foto maken en uploaden naar “ergens”, geluid opnemen en uploaden, een soort van barcode inlezen (daar kunnen we hopelijk een bestaande toepassing gebruiken), een video opnemen en uploaden, en een bestaand simpel spelletje ook genetwerkt maken. Dat zijn een tweetal eenvoudige zaken, en voor de rest heb ik nog maar half een idee of het gaat lukken. Gelukkig is het idee wel dat als er bijvoorbeeld één spel niet af geraakt, we een ander hergebruiken. Ik hoop persoonlijk dat dat niet nodig zal zijn, mijn trots zou toch een beetje geraakt zijn :p

Voor de communicatie probeer ik het warm water niet opnieuw uit te vinden, en gewoon een bestaand en betrouwbaar protocol voor vlotte multicast-communicatie in een dynamisch netwerk te gebruiken: IRC. Het idee is dat we een eigen IRC-server ergens opzetten, waar alle pda’s, schermen en de contoller op laten connecteren. Er is één algemeen kanaal dat alles aanstuurt, en dan aparte kanalen voor de verschillende spelletjes. Van de server moet ik mij dan niet veel aantrekken, daar zorgt i-City voor, en voor de pda’s heb ik ook al een goede library gevonden, die LGPL is (zodat we hem in een gesloten toepassing mogen gebruiken), en mits een paar kleine aanpassingen ook draait op het .NET Compact Framework, het voor mobiele toestellen geoptimaliseerde .NET Framework. Gisteren heb ik toch zelf wat berichtjes kunnen sturen naar een IRC-kanaal, en ik moet zeggen: het doet wat als je dat daar ziet aankomen. Echt wel tof.

Deze communicatielaag zal voor de rest van de toepassing abstract worden gemaakt, zodat we in een noodsituatie nog altijd kunnen overschakelen van IRC naar iets anders. De data zal waarschijnlijk simpelweg geserialiseerd worden naar binaire data (al zit dat niet in het Compact Framework, maar ook daar zijn er LGPL alternatieven), en dan over IRC gestuurd. Je moet dan wel natuurlijk de gevoelige bytes escapen, maar daar bestaan ook standaard oplossingen voor.

Als dat geen boeiend werk is, dan weet ik het ook niet meer :p

We leven om te leren…

11 februari 2007

Een aantal zaken waar ik mij binnenkort op ga werpen, om ze misschien te gebruiken binnen Lithium:

  • Smarty, een veelgebruikte template engine voor PHP
  • gettext, een library om gemakkelijk vertaalbare software te maken (en dan vooral de implementatie in PHP en Smarty hiervan)
  • jQuery, om gemakkelijker met JavaScript te werken. Eerder heb ik al MochiKit gebruikt, en ik ben slecht in zulke keuzes, maar het lijkt dat je met jQuery toch minder code schrijft, en dat die ook eenvoudiger te gebruiken is voor mensen die minder in de code bezig zijn (ik denk hierbij aan eerder grafische mensen).
  • De Drupal Forms API. In die nieuwe manier van met forms omgaan zitten een hoop goeie ideeën. Het is niet de bedoeling naar Drupal over te stappen, maar de interessante technieken die in de Forms API gebruikt worden, zou ik zeker willen kunnen uitbuiten. Ondertussen is versie 3.0 in de ontwerpfase (1.0 zat in Drupal 4.7, 2.0 in Drupal 5.0), en die zou over veel meer dan enkel formulieren gaan, maar een allesomvattend data-beschrijvings-ding moeten worden. Ik weet niet of we zo ver moeten gaan. Nu, ik moet dan wel opletten met auteursrechten en zo: Drupal valt onder de GPL, maar als ik mij enkel op de API (dus de externe beschrijving) baseer om ideeën op te pikken, moet ik dan ook aan die licentie voldoen? Ik vermoed van niet (net zoals WINE ook aan de Windows API voldoet, zonder in legale problemen te komen), maar misschien is het toch goed dit eens uit te zoeken.

Enfin, voldoende interessante zaken om mij de komende tijd mee bezig te houden. En dat naast mijn werk voor City-Live, mijn schoolwerk, en mijn achterstallige beloftes aan iedereen.

Nog wat meer over dat werk

30 januari 2007

Zoals gezegd ga ik dus zo snel mogelijk beginnen werken voor Lithium BVBA. Dat bedrijf is ontstaan uit het samengaan van web@rt.development (wad) van Bart Gysens en P.plus van Christophe Van Durme. Bart en Christophe ken ik beiden via i-City, Christophe is daarnaast nog altijd student Handelsingenieur in de Beleidsinformatica (en ook van plan zijn studies ooit af te maken…). Wad is groot geworden met werk voor lokale overheden, zo zijn onder andere de site van de stad Hasselt en de stad Genk van hun hand. Ook een hoop gerelateerde sites zijn van hun hand. Interessant is dat ze ook erg actief bezig zijn met CultuurNet Vlaanderen, en meer specifiek de CultuurDatabank, waar alle culturele gebeurtenissen van heel Vlaanderen in verzameld worden, om dan op een hoop andere plaatsen opnieuw gebruikt te worden. Integratie van verschillende databases dus, da’s wel iets dat mij interesseert. Het is ook een open systeem, iedereen mag deze data gebruiken, wat natuurlijk ook in mijn genre zit. Om af te ronden ook nog zeggen dat ze hevig XML-gebaseerd zijn, met strikte XML schema’s en alles wat daar bij hoort, dus ook hier kan ik mij in uit gaan leven.

Nog een belangrijk punt aan het bedrijfje dat ze hebben opgericht, is dat het een heel open structuur is. Er zijn eigenlijk geen werknemers. De mensen die diensten leveren aan het bedrijf, doen dit als freelancer. Ze zijn dus zelfstandige, en leveren op het einde van elke maand een factuur in voor het aantal uren dat ze gewerkt hebben. Voor mij zou dit het grote voordeel geven dat ik zelf kan bepalen hoeveel tijd ik er in wil steken. Nu heb ik in mijn hoofd dat ik er drie dagen per maand mee ga bezig zijn, maar dat kan dus variëren naargelang de tijd die ik aan andere zaken moet of wil besteden. Met een bediendencontract zou dit niet direct mogelijk zijn.

Hun kantoor (dat vlak bij het centrum van Hasselt ligt, op fietsafstand van thuis) is ook als een open werkplek bedoeld: als je wilt kan je daar gaan zitten, als je liever thuis werkt doe je het zo. Het is de bedoeling daar vooral een leuke en creatieve sfeer te krijgen, zodat je elkaar kan “bestuiven” bij het zoeken naar goede oplossingen voor de klanten.

Een probleem is wel dat ik dan zelfstandige moet worden. Dus BTW-nummer aanvragen, boekhouding voeren (weliswaar een redelijk eenvoudige), onkosten maken… Volgens wat ik van Christophe gehoord heb, en via de Jobdienst van de KULeuven heb geleerd, is het mogelijk om als student onder het regime van een zelfstandige in bijberoep te vallen. Dan ligt je sociale bijdrage lager dan als je “voltijds” zelfstandige zou zijn. Zo zelfstandige worden is niet moeilijk (en steeds eenvoudiger, volgens Staatssecretaris Q), maar blijkbaar is er wel nog een belangrijke voorwaarde eer je ingeschreven kan worden in de Kruispuntbank Ondernemingen, je moet namelijk over de “basiskennis bedrijfsbeheer” beschikken. Wie vroeger economie gevolgd heeft (toch zeker in ‘t ASO, de rest weet ik niet), heeft zo’n attest gekregen. Ik heb dat maar twee jaar gedaan, omdat ik geen Latijn meer wou doen, en Wetenschappen pas in de derde graad werd gegeven. Dus neen, zo’n attest heb ik niet. Het is ook goed als je een diploma hoger onderwijs hebt, maar dat is pas voor deze zomer. Mijn vriendin heeft wel zo’n diploma, en haar vader geeft zelfs economie, maar dat helpt mij natuurlijk niet meteen vooruit (tenzij ik vragen heb over de boekhouding en zo, want daar ben ik niet direct een held in).

Enfin, ik ga morgen eens naar een sociaal kantoor (waar ze trouwens handige gidsen hebben), om te zien wat er mogelijk is. Ik heb nu ook een indicatie gekregen van hoeveel ik zou gaan verdienen, dus dan kan ik een simulatie opmaken wat ik daar uiteindelijk van overhou om de hagelslag op mijn bokes mee te kopen. Een andere oplossing is dat ik voorlopig met interim-contractjes ga werken, maar dat is natuurlijk een beetje een gedoe om het allemaal in orde te krijgen (omdat ik dus niet in het begin van de maand weet hoeveel tijd ga hebben). Of ik zou moeten betaald worden in natura, maar dan moet ik ook voldoende prul bedenken die ik wil hebben :)

Een nieuwe start

29 januari 2007

Lekker duffe titel is me dat zeg. Enfin, we zijn dan toch echt (opnieuw) gestart. Een eigen blog. Op aanraden van Peter, die precies ook wou weten waar ik zo allemaal mee bezig ben. Wel, ‘t is hier een goed moment om daar eens een overzicht van te maken, want ik weet het zelf allemaal niet meer zo goed.

Om te beginnen: mijn studies. Wat doe ik nog allemaal? Wel, om afgestudeerd te raken moet ik nog 20 studiepunten in mijn bachelor behalen, en 40 in mijn (gelukkig éénjarige) master.

Die bachelor-punten vul ik op met een eindwerk (12 studiepunten), Wetenschapsfilosofie (3), Creativiteit (3) en Ondernemerschap (3). Samen 21 studiepunten, dus ééntje op overschot, maar dat schenken we aan het goede doel.

Die master zou ik moeten halen met een thesis (20), een stage (5), Informatievisualisatie (5), Databasesystemen (5), en Web-informatiesystemen (5). Dat ik nog zoveel punten in mijn bachelor-traject heb staan, is omdat ik Datamining (5), dat ik twee jaar geleden als bachelor-student heb gedaan, mocht doorschuiven naar mijn master. Hoera voor de flexibilisering!

En hoe gaat dat allemaal lukken? Wel, ik hoop zo snel mogelijk van alle examen-vakken af te zijn. Wetenschapsfilosofie was enkel een paper, en dat ging goed (lijkt mij). Infovis was een paper en een mondeling examen, en hoewel ik ervoor vreesde, denk ik dat ik daar ook van af moet zijn. Idem voor Databasesystemen. Creativiteit is het vreemdste vak dat ik ooit gevolgd heb, daar heb ik overmorgen nog een examen van, maar ook dat zou geen probleem mogen geven. Van al die zaken krijg ik binnenkort mijn uitslag, en dan weten we meer.

In het tweede semester heb ik dan nog Web-informatiesystemen. Dat is in seminarie-vorm, dus verplichte aanwezigheid, iets wat vorig jaar niet lukte. Mijn schuld, dat zou dit jaar moeten lukken. Ondernemerschap is volgens Jelle iets wat op één weekje wordt gegeven, dus dan maak ik daar ook even tijd voor. ‘t Is samen met de biomedici, dus dat kan nog leuk worden (mijn ervaring met de economen in Creativiteit was alvast positief). Bij Wetenschapsfilosofie zaten we met de biologen en de wis-, natuur- en scheikundigen samen, dus zou ik nog met die van geneeskunde moeten samenzitten om de cirkel rond te maken.

Voorlopig genoeg gezeverd over mijn studies, op naar het volgende onderwerp.

Dat is eerst i-City, en meerbepaald de programmeermarathon die we dit weekend houden. Z33 stelt tijdens het cultuurweekend Hasselt Shots haar lokalen open voor iedereen die er iets leuks wilt gaan doen. Ik dacht meteen terug aan de programmeernachten die we een aantal keren met de werkgroep Location Based Services hebben gedaan, en lanceerde het idee om er een programmeermarathon te houden. Op vrijdagavond krijgen we een opdracht, op zondagavond moet het af zijn. Het leuke is dat er bijna niets vast ligt. Ik moest een groep samenstellen zonder te kunnen zeggen wat de technische vereisten waren. We hebben dan gewoon de grootste gemene deler genomen, en uiteindelijk gaan we iets met PHP (server-side) en .NET (client-side) ineen proberen te boksen. Ik ken zelf nog niet zoveel .NET, maar ten tijde van Dwars Door Hasselt heb ik ook nog een GPS-tracker bij elkaar kunnen schrijven, dus dan moet dit ook maar lukken.

Voor die marathon moet ik nog een hoop doen, dat hoop ik vandaag rond te krijgen. Ach, project management (management in het algemeen), dat is nog een werkpuntje :)

Over twee weken sta ik ook op de planken: Students on Stage is dit jaar in overdrive gegaan, en brengt twee volledige stukken. Op 12 en 13 februari spelen we Het jaar van de Rat, waarin ik één van de hoofdrollen voor mijn rekening neem. Allemaal geweldig, al zal ik nog moeten zien hoe ik mijn rollende spierbollen zal faken. Enfin, toneel is nep, dat weet toch iedereen?

En dan om af te sluiten (tenzij er mij seffens weer iets binnenvalt): ik ga werken! Lijk de grote mensen! Christophe en Bart, die ik beiden ken van i-City, hebben hun bestaande bedrijfjes samengeklutst, en Lithium is daaruit ontsproten. Het werk groeit hun boven het hoofd, dus ga ik een drietal dagen in de week mijn diensten aanbieden. Ik moet nog uitzoeken hoe dat praktisch (juridisch en fiscaal) allemaal in zijn werk moet gaan, maar waarschijnlijk word ik gewoon zelfstandige in bijberoep, waarbij mijn hoofdberoep dus mijn studie is. Om maar te zeggen: dat diploma, dat komt er nog wel aan.

Goh Peter, ik heb honger jongen. Ik stop nu, maar zal hopelijk van hieruit verder gaan!