Dankjewel Proximus!

Met het nieuwe jaar zijn de prijzen van Proximus omhoog gegaan! In beschonken toestand wil je nog een smsje sturen naar iemand om ‘gelukkig nieuwjaar’ te zeggen. Plots stuurt Proximus dat je saldo maar €0.16 bedraagt. Heel vervelend want een paar uur ervoor was het nog €0.14/sms. Dankjewel klootzakken van Proximus. Mijn jaar is goed begonnen :-/.

2011 herzien

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

A New York City subway train holds 1,200 people. This blog was viewed about 5.300 times in 2011. If it were a NYC subway train, it would take about 4 trips to carry that many people.

Click here to see the complete report.

Netlog en IE9

Ik was vandaag nog eens op Netlog maar dat bezoekje duurde maar 5 seconden bij het aanschouwen van de volgende melding.

Netlog, één van de grootste sociale websites van Europa, maakt zijn website blijkbaar browser afhankelijk. Een website waar mensen met jarenlange ervaring, hoge diploma’s, … aan zitten te werken. Die mensen kunnen dus blijkbaar hun JS, CSS of whatever browser afhankelijke code niet compatibel maken met andere browsers. Het grappige is dat er op Netlog met Mac computers gewerkt wordt. Eén woord: afschepen!

Vhosts opzetten

In deze tutorial leer ik jullie op een vlotte manier het opzetten van een vhost maar ook met eigen URL voor de vhost. Eerst een situatieschets. Ik heb al mijn projecten onder een map staan (D:\Projects\EclipsePHP).  Ik gebruik Eclipse PHP editor om mijn projecten te ontwikkelen (dit ter info). Ieder project heeft een naam en een map in mijn project map.

Project: gastenboek
Map: D:\Projects\EclipsePHP\Gastenboek

Nu als ik naar http://localhost surf, zal Apache mijn DocumentRoot nemen en kijken of daar een index.php staat. Omdat http://localhost/gastenboek te lastig is voor mij, maak ik per project ook een hostnaam aan.

Host: http://gastenboek

De software die ik gebruik is:

  • Zend Server Community Edition
  • Eclipse PDT (dit is niet nodig maar ik vermeld graag een goeie PHP editor)

Stap 1: hostnaam maken

Ga naar C:\Windows\System32\drivers\etc. Daar vind je een bestand hosts. Zorg dat je dit kan bewerken. Met Windows Vista/7 moet je hier even zelf toegang geven.

  • Rechtsklik op hosts -> Eigenschappen
  • Klik op tabblad Beveiliging
  • Klik op de knop Bewerken
  • Klik op de knop Toevoegen
  • Type je gebruikersnaam in en op de knop Namen controleren en klik OK
  • Vink Volledig beheer aan (dit is het makkelijkst).

Nu je het bestand kan bewerken, open het en voeg de onderstaande lijn toe aan het bestand.

127.0.0.1        gastenboek

Stap 2: vhost maken

In je Apache folder (bij mij is dit C:\Program Files (x86)\Zend\Apache2) vind je in de map conf/extra het bestand httpd-vhosts.conf. Zorg dat je dit bestand kan bewerken en open het. Er zal al één en ander instaan van voorbeeld code. Je mag die voorbeeld <Vhost> tags wegdoen als dit jou irriteert. Voor het gastenboek kleef je de volgende code erin. De uitleg staat eronder

<VirtualHost *:80>
DocumentRoot “D:\Projects\EclipsePHP\Gastenboek\public”
ServerName gastenboek
ErrorLog “logs/gastenboek-error.log”

<Directory D:\Projects\EclipsePHP\Gastenboek\public>
Allow from all
AllowOverride All
</Directory>
</VirtualHost>

  • De documentroot zegt waar Apache moet kijken
  • De servername is de naam van onze hostnaam
  • De errorlog is handig om per vhost een log file te hebben
  • De directory tag zorgt ervoor dat wij als bezoeker toegang hebben tot die map. Zonder die tag krijg je een HTTP 403 error

update voor nieuwere apache versies:

De allow from all, allowoverride all kan je vervangen door Require local.

http://stackoverflow.com/questions/8413042/client-denied-by-server-configuration

Stap 3: httpd-vhosts.conf

In je httpd.conf moet je nog enkel de httpd-vhosts.conf includen. In de httpd.conf staat die er al maar er staat een # voor. Dus die moet eventjes weggehaald worden.

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Finale

Ziezo, meer is er eigenlijk niet. Je kan altijd meer vinden op Apache website.

Om alles te testen moet je nu Apache herstarten en surfen naar http://gastenboek. Als alles goed is, kan je nu je project zien.

Bronnen

Oh nee! Twee jaar langer werken :(

Eerst een hiep hiep hoera want na 541 dagen is er een regering onder leiding van de sympathieke Di Rupo. Er moet bespaard worden omdat er veel centjes van ons gegeven werden aan mensjes met een gat in hun hand (graag gedaan meneer de bankdirecteur, graag gedaan meneer de financiële adviseur, graag gedaan geldverkwisters). Maar er moet ook langer gewerkt worden. Hierover kunnen veel mensen nogal klagen in mijn ogen. Je moet misschien twee jaar langer werken. Als ze op pensioen zijn, klagen ze dat ze het werk missen maar als ze niet op pensioen kunnen op 58 dan klagen ze ook. Weet wat je wilt en gaat gaan werken. Dit heeft als voordeel dat je twee jaar niet moet rondkomen met een pensioentje en dat je dus twee jaar geld opzij kan plaatsen (misschien is de matras voorlopig de beste belegging).

Enfin, we gaan het zien wat Di Rupo geeft.

PHP Cloud

3 cheers! want Zend heeft ook een PAAS voor PHP gemaakt. PHP Cloud, zo noemt het product, is een PAAS. Het zit allemaal nog in test fase en je geraakt er dus enkel in met een uitnodiging (wie er ééntje wilt, ik heb er nu nog 4). Het is mijn eerste ervaring met een PAAS en tot nu toe valt het goed mee. Ik moet niets van servers configureren, directory’s goed plaatsen of databases gaan configureren. Ik voeg gewoon een nieuwe applicatie toe in mijn container en PHP cloud doet de rest. Ik maak een nieuw project aan in Zend Studio (een product die ik na de trial zeer zekers gaan aanschaffen) en link mijn studio aan de applicatie. Wat ook speciaal is dat je kan kiezen welke PHP applicatie (normaal, ZF, Joomla, WordPress, …) en dan worden die libraries ook toegevoegd. Iedere wijziging wordt doorgevoerd naar PHP cloud. Dat is niets speciaals, dit is gewoon een SSH verbinding die alles upload bij iedere save operatie. Maar het is leuk dat je als ontwikkelaar niet meer bezig hoeft te zijn met servers en configuratie.

Hier heb ik nog een filmpje van PHP Cloud (configuratie):

Visual Dataflex

Sinds 4 juli kwam ik in contact met Visual Dataflex. Dit is de programmeertaal die gebruikt wordt op mijn werk. Bij deze stel ik de taal ook even voor aan nieuwsgierigen maar ook of deze taal de moeite is uit eigen ervaringen. Visual Dataflex (VDF afgekort) is een vierde generatie programmeertaal. Een vierde generatie taal is een programmeertaal op hoog niveau en met een doel ontwikkeld. Visual Dataflex heeft als doel om snel database toepassingen te ontwikkelen. Zo hoef je geen SQL te kennen (maar in de praktijk heb je SQL wel nog veel nodig) en heb je snel een venster gemaakt met veldjes, knoppen, afbeeldingen, … die gekoppeld zijn aan tabellen. VDF leent zich ook goed uit aan multi-user omgevingen. Je kan makkelijk met meerdere gebruikers hetzelfde programma gebruiken.

Visual Dataflex noemt zichzelf ook een OOP taal maar hier gaat het wel serieus in de mist. Het is een taal dat bestaat uit een aantal klasses met properties, functies en procedures en daar stopt. Het kent overerving (zelfs multiple overerving) en als ik mij niet goed vergis ook abstracte methodes. Zaken zoals interfaces, private/public/protected, packages, … kent het taaltje niet echt. Het laat ook niet toe om patronen toe te kennen omdat je geen klasses kan gebruiken als property type. Je kan wel objecten toekennen aan handle’s maar zolang er geen interfaces zijn en geen klasses als type kan gebruiken kan je niet spreken van een volwaardige OOP taal.

Objecten zijn ook wat raar om te zien in het begin. Een object behoord tot een bepaalde klasse. Tot zover niets nieuws. In Java en C# kan je bepaalde methodes overschrijven die enkel voor dat objecten gelden. Dit gebeurt uitzonderlijk. Als je een eventhandler wilt schrijven, ga je een subklasse maken en dan de eventhandling code typen, een object maken van je subklasse en wanneer er een event gebeurt wordt zijn code uitgevoerd. In VDF doe je niets anders dan methodes gaan overschrijven in objecten. Dat maakt het lastig aan de taal. Je weet niet altijd even goed of je code gaat schrijven op klasseniveau of op objectniveau. Je kan een functie maken op klasseniveau maar dan is toegankelijk voor alle objecten, of je schrijft een functie op object niveau maar dan kan enkel dat object die functie gebruiken.

Datadictionaries! VDF is een taal voor databases. Dat is iets wat je vrij snel door hebt. Een database heeft tabellen en per tabel kan je een datadictionairy (DD) maken. Een DD is klasse met allemaal businesscode. Je wilt dat tijdens iedere update van de tabel een bepaald stukje code wordt uitgevoerd (een mail sturen, andere data updaten, …). Daarnaast vormt een DD een laag tussen je interfaces en je tabellen. Als een persoon iets schrijft in een tekstvak en op opslaan drukt, dan gaat de DD zijn werk doen en alles opslaan in de tabel. Maar ook als je data opvraagt in je tekstvak gaat de DD alle data tevoorschijn halen uit de tabel en die in het tekstvak plaatsen.

Beetje zoals Java. De code van VDF wordt gecompiled tot een EXE maar die kan niet draaien zonder VDF. Dus die code draait in een soort van virtuele omgeving zoals Oracle doet met de bytecode van Java.

Omdat VDF niet echt een populaire taal is (er is zelfs geen syntax highligter op pastebin.com :p) wil ik een paar tutorials schrijven om een goed applicatie te maken. Ook is er maar 1 goed forum en dat is van VDF zelf. Dat vind ik wel wat jammer. Van VDF bestaat er een gratis versie maar dan mag je de commerciële toer niet mee opgaan.

Mijn mening

De taal bezorgt mij toch vaak wat frustraties omdat het niet alles van OOP ondersteund. Maar dat zal zijn doel niet zijn. De taal leert zeer vlot (een boek is handig!) en schrijft ook vlot. Ook jammer is dat VDF enkel op Windows systemen draait. Ondersteuning van Mac/Linux/… was handig geweest. De taal bestaat al 30 jaar maar heeft nog geen ondersteuning voor mobiele zaken (tablets, smartphones, scanners, …). Allemaal van die zaken waarvan je denkt dat dit zeer jammer is.

In de volgende blogpost gaan we een eerste kennismaking doen met de taal en de studio. Daarna volgt een eerste project en geleidelijk aan laten we dat project groeien tot een programma.

This stil aan de overkant!

Het is al een tijdje geleden dat ik nog een berichtje geplaatst heb op mijn blog. In de maand zijn er tal van evenementen gebeurd. Hier zijn ze eventjes opgesomd voor jou.

  • Ik ben bezig met Zend Framework te leren om een cloud applicatie te maken voor de agrarische sector.
  • Ik kan mijn peterselie niet oogsten wegens conflicten met mensen die ongeschikt zijn om een zelfstandig beroep uit te oefenen.
  • Ik heb eindelijk een eigen project/klant gekregen op mijn werk.

En zo gaat het leven rustig verder :).

Ziekte in peterselie

Mijn peterselie staat nu al twee weken te groeien. Weinig problemen maar de groei gaat moeizaam. De grootste oorzaak is dat mijn planten uit de frigo komen van de plantenkweker. Een tip voor wie planten bestelt bij een plantenkweker, laat ze zaaien. Ze stoppen die planten in de frigo omdat ze overschot hebben en zo laten ze de groei wat stoppen om dan later nog te kunnen verkopen. Een smerige truc. Maar goed, de peterselie groeit. Helaas vanmorgen kwam mijn broer mij melden dat er echt meeldauw op de peterselie zit. Er zaten inderdaad zwarte stippen op de stengels maar als ik paar uur later keek naar het ganse veld, zag ik niets meer. Of ik de planten mag afschrijven weet ik niet. Er zit in ieder geval witziekte op. Dit kwam door de droge periode in september. Hierdoor gaat het vocht van de grond dampen en blijft die hangen aan de onderkant van de bladeren. Er kan gesproeid worden maar dit is nu te laat na advies van mijn vader. Er had vliesdoek op moeten liggen (wat ik in het begin al altijd wilde doen maar blijkbaar niet nodig was volgens andere…). Nu gaat er wél vliesdoek over (eerst wat onkruid eruit halen) en hopelijk is de plant eruit gegroeid na drie weken. Als het dan nog niet oogstklaar is, ga ik de takken afplukken zodat enkel het hartje overblijft, koepeltjes erover en dan zou ik ervan kunnen oogsten in januari/februari.

Werktuigdagen

Vorige zaterdag en zondag was het terug werktuigdagen in Oudenaarde. Dit tweejaarlijks evenement gaat over de nieuwste technieken in de landbouw en specifiek over nieuwe machines. Van betere maisrassen tot oogstmachines voor maïs maar vooral veel zwaar tractor geweld. Tractoren onder de 200 PK zie je daar niet, tenzij het over kleine tractoren gaat (die mij wel interesseerde). Ik heb enkele filmpjes en foto’s van het hele gebeuren genomen. De kwaliteit is niet zo goed (soms in landscape mode :p) maar de volgende keer neem ik een deftige camera mee.