Webtoolkit: IDE

Wat is een vakman zonder zijn gereedschap? Als developer mag ik me gelukkig prijzen dat er voldoende tools zijn die doen wat ze moeten doen en bovendien gratis zijn.

Om te beginnen een kijk op integrated development environments of IDEs.

Het nut van een IDE

Als developer zou je in ideale omstandigheden ’s morgens je IDE opstarten en ’s avonds afsluiten

Eerder vroeg ik welke source code editors ik dringend eens moest uitproberen. Toen zei ik ook dat een complete IDE overdreven was voor wat ik nodig had. Voor het eenvoudige web design en web development volstaat immers het werken met een editor.

Maar de situatie is veranderd. De tijd die ik nu spendeer aan het ontwerpen en ontwikkelen van websites is cash-time. Ieder voordeel dat een IDE me kan leveren ten opzichte van een eenvoudige editor is tijd gewonnen. Zoals de naam laat vermoeden is het voornaamste doel van een integrated development environment om de ontwikkeling van applicaties te versnellen door alles in 1 omgeving te verzamelen. Je moet dus niet terugvallen op de commandline om je C++ code te compileren; daarvoor staat er een knopje in je IDE. Een nieuwe file toevoegen aan een project? Via de IDE.

Screenshot van EasyEclipse for LAMP

Als developer zou je in ideale omstandigheden ’s morgens je IDE opstarten en ’s avonds afsluiten, zonder andere programma’s nodig te hebben. Als je vooral werkt in een LAMP-setup — typisch een Apache server met MySQL database en PHP, Python  of  Perl  als scripttaal — zijn er weinig andere opties dan betalen voor zo’n programma, of tevreden zijn met de betere editors. Weinig, maar gelukkig is er EasyEclipse for LAMP.

Eclipse met plugins

Eigenlijk is het een distributie van Eclipse, dat begon als een IDE voor Java, maar uitgroeide tot een platform dat geschikt is voor zowat iedere programmeertaal en omgeving. De belangrijkste reden hiervoor: de mogelijkheid om de standaard functionaliteit van het Eclipse platform uit te breiden met behulp van plugins. Plugins die PHP broncode verwerken, of het mogelijk maken om een database te beheren. Voordat je als LAMP-developer alle nodige plugins hebt geïnstalleerd ben je echter al een eind verder.

De meisjes bij nexB (het moeten niet altijd jongens zijn) lossen dit probleem op door verschillende distributies van Eclipse ter beschikking te stellen, gebundeld met de juiste plugins afhankelijk van het type development. Bij die distributies vind je dus ook EasyEclipse for LAMP terug.

Binnenin

Code completion zit er ook in
Code completion in actie

Wat je onder andere terugvindt binnen de LAMP-distributie:

  • Eclipse platform
  • Java JRE
  • Java development tools
  • QuantumDB om je database te beheren
  • PHP Eclipse om ontwikkeling in PHP gemakkelijker te maken
  • PyDev voor Python & Jython
  • RadRails voor het ontwikkelen met Ruby on Rails
  • Subclipse want versioning will save your ass

Natuurlijk zijn er ook de gebruikelijke snufjes zoals syntax highlighting, die ervoor zorgt dat je alle kleuren van de regenboog kan zien, en, waar mogelijk, code completion. Als je na het typen van list in een CSS bestand even twijfelt of het list-style-type of list-type-style moet zijn, is de Ctrl+Space-combinatie genoeg om alle mogelijke opties tevoorschijn te toveren.

De downloads variëren in grootte: 134 MB voor Mac OS, 147 MB voor Windows en 157 MB voor Linux. Gezien de features en de grootte van het Eclipse platform alleen (zo’n 120 MB) zeker de moeite waard. Stel je liever zelf een Eclipse distributie samen? Bekijk dan de Eclipse distros downloads pagina.

Dit artikel werd opgenomen in ontwikkeling, software, webdesign.


Delurking day - ook 35+

Tijs vraagt zich terecht af hoe het komt dat 35-plussers het grootste deel uitmaken van de social networking sites, zoals B.V.L.G. openbaarde. Ik ben zelf net in de groep van 25-jarigen terecht gekomen en ik stel me dezelfde vraag.

Tijs gaat verder.

Heb je zelf een blog? Ga op zoek naar de 35 plussers onder je lezers en reken even uit in welke mate zij zich verhouden tot het totale aantal bezoekers. Op die manier geven we B.V.L.G. meteen ook wat Belgische cijfers. Ik ben benieuwd!

Laten we er dan ineens een complete delurking day van maken: volg je deze site, maar heb je nog nooit geroepen gevoeld om een reactie te plaatsen? Doe het dan nu maar. En vergeet je leeftijd niet te vermelden. ;)

Dit artikel werd opgenomen in varia.


We have lift-off

Mijn excuses voor de cliché-titel. Mandro heeft vandaag alle features gekregen die ik nodig achtte om te kunnen zeggen dat versie 1.0 van Mandro klaar is.

Bij deze: versie 1.0 van Mandro is klaar.

Er zijn weinig verschillen met de versie die al enkele weken online te vinden is. Het voornaamste verschil is dat de foto’s van een woning nu ook in detail kunnen worden bekeken. In de loop van de komende weken ga ik hier en daar nog verbeteringen aanbrengen, zoals het wegstappen van de Yahoo! UI Library - die ik eerder bejubelde. Ik denk dat libraries als JQuery of Mootools beter passen bij mijn noden.

Bovenop de huidige functionaliteit komt er dan een Ajax laagje zodat alles nog wat vlotter kan verlopen. Ik ben ook aan het nadenken over een eenvoudige API die het hergebruiken van de data makkelijker moet maken. Dit alles zal echter slechts met mondjes maat worden toegevoegd. Mijn todo lijstje voor de nabije toekomst (van nu tot april-mei) zit namelijk redelijk vol.

  • Een examen OO (klanten houden van certificaten).
  • Een leuk project dat al in ontwikkeling is.
  • Een ander leuk project dat momenteel nog in scope-fase zit, maar er zeker gaat komen en waarvoor ik me voor het eerst echt in de wereld van .Net kan verdiepen.
  • En hopelijk komt daar nog een project bij
  • De el73.be todo’tjes (eat that, Wendy)

Ik steun dan ook volkomen Michael’s vraag om het aantal uren per dag op te schroeven naar 48.

Dit artikel werd opgenomen in varia.


Ergernissen van de week

De titel spreekt boekdelen.

PHP versus Ruby On Rails

PHP is een taal. Ruby is ook een taal. Ruby On Rails (RoR) is een framework dat geschreven is in Ruby. Hoewel dat een duidelijk verschil is, duiken er regelmatig claims op dat RoR beter is dan PHP, want de code is overzichtelijker. En dat PHP beter is dan RoR, want RoR is traag. Sommigen weten niet beter, anderen beseffen dat het neerkomt op het vergelijken van appelen met citroenen. En dan nog…

Ondanks dat verschil kan je ze toch vergelijken.

Ja, dat kan je. Ik ben erg benieuwd naar je vergelijking van PHP met Notepad.

Ik heb geen virussen

Om de zoveel tijd komt er een bericht in de media dat er een nieuw gevaarlijk computervirus is opgedoken. Op verschillende fora lees ik dan vaak reacties die me met mijn hoofd doen schudden uit medelijden.

Ach ja, dat krijg je nu eenmaal met die onervaren gebruikers die zomaar alles openen dat ze met hun e-mail binnenkrijgen. Als ik de afzender niet ken zal ik nooit een bijlage openen. Ik heb dan ook geen nood aan een virusscanner.

Aan personen met deze gedachtengang zou ik graag toegang geven tot de niet zo exclusieve club van botnet-computers. Hoewel het jouw computer is, wordt het al snel mijn belang. Ik wil geen 10 MB aan spam ontvangen omdat jij, volgens jouw bescheiden mening, de perfecte administrator bent.

Botnet lidkaart

Er zijn voldoende goedkope en zelfs gratis alternatieven voor de wat duurdere beveiligingspakketten. Onder andere Avast! en AVG Anti-virus Free. En Windows Defender. En Ad-Aware. Ik wil geen excuses meer horen van “ervaren” Windows-gebruikers zonder virusscanner.

For the record: gratis firewalls zijn er ook.

Leuk he, kinderen

Geldzieke idioten klagen MySpace aan, omdat hun kinderen via MySpace in contact zijn gekomen met verkrachters. Nu ja, niet omdat ze ermee in contact waren gekomen, maar omdat de kinderen afgesproken hadden om die verkrachters werkelijk te ontmoeten en daarop volgend werden verkracht.

Geef die ouders een boete wegens onverantwoordelijk gedrag. Dank u.

Duitsland wil als voorzitter van de EU dan weer een verbod op gewelddadige spellen afdwingen. Zoals meermaals werd opgemerkt: wordt het dan niet tijd om de Bijbel ook te verbieden?

Ouders zijn er om kinderen op te voeden. En dat gaat verder dan zorgen voor voedsel en kleren.

Spammers natuurlijk

Kijk, als je een mop in je commentspam stopt, dan lees ik de mop. Maar daar stopt het dan ook. Als ik op een gemakkelijke manier jou kan kloten, dan doe ik dat. Of dat nu moet gebeuren door je website te rapporteren bij Google, of door contact op te nemen met de wat ingedommelde administrator (zie bovenstaande) wiens infrastructuur jij misbruikt… I don’t care. Oog om oog en zo. Of mijn persoonlijke motto in dit type toestanden.

Kloot en gij zult gekloot worden.

— Kevin Wetzels

Dit artikel werd opgenomen in varia.


Eindejaarsvragen 2006

Omdat Erlend erom vraagt, mijn antwoorden op Humo’s eindejaarsvragen.

Wat vindt u de belangrijkste gebeurtenis, evolutie of trend van het voorbije jaar?

YouTube.

Wat vindt u het beste en wat het slechtste radio- en/of tv-programma van 2006?

Het beste op de radio: De Grote Peter Van de Veire Ochtendshow. Een Franstalige madame wijsmaken dat ze een auto heeft gewonnen omdat ze het “juiste getal” naar het Stubru-nummer stuurde, zorgde voor een tijdelijke maar dramatische verlaging van de verkeersveiligheid.

Het beste op TV: Prison Break.

Wat vindt u het beste boek / toneelstuk / concert en wat de beste film en de beste cd van 2006?

Het beste boek dat ik gelezen heb zal wel van Dean Koontz zijn geweest. De beste film en cd gaan naar Miami Vice en de soundtrack ervan.

Wie wenst u wat toe voor 2007 (ten goede of ten kwade)?

Voor iedereen een flinke portie gezond verstand. Voor mezelf… Dat zal ik wel regelen.

Ik zou dit stokje doorgooien als ik nog wist wie er al op had geantwoord en wie niet. Wie kan en wil, mag het opvangen.

Dit artikel werd opgenomen in varia.


NowNow beta

Amazon is op de proppen gekomen met iets nieuws: NowNow. De bedoeling van de site is dat een gebruiker een vraag stuurt – via e-mail of de site – en dat je wat later een antwoord op je vraag krijgt. Het antwoord wordt je geleverd door mensen en niet, zoals bijvoorbeeld met Google, via een applicatie. Een logische uitbreiding van Amazon’s Mechanical Turk, waarbij mensen het werk uitvoeren waarvoor je computers nog niet kan vertrouwen.

NaN: de NowNow site is duidelijk in beta
NaN: not a number.

Sommigen vragen zich af waarom iedere nieuwe site die opduikt een beta-label krijgt. Wel, kijk even naar het screenshot: de meest recente vragen aan NowNow zijn NaN seconden geleden gesteld. NaN is een afkorting voor not a number.

“A” is bijvoorbeeld NaN, net zoals eender welk getal gedeeld door nul. Er zit met andere woorden nog minstens één redelijk duidelijke fout in het systeem, en beta-labels zijn er om aan te duiden dat bugs kunnen voorkomen aangezien het nog niet om een afgewerkt product gaat.

Het Belgische initiatief zowerkthet.be lijkt me momenteel nuttiger. Vooral omdat het er niet op lijkt dat de antwoorden door Amazon zullen worden gepubliceerd zodat iedereen ze kan bekijken.

Dit artikel werd opgenomen in elders, ontwikkeling.


De code van Pien

Pien was een test. Voor Mandro was ik van plan om maps te gebruiken en Google Maps leek de geschikte kandidaat. Voeg daar de Yahoo! Weather feeds aan toe en je hebt een mashup die de weerstoestand in België weergeeft. De test is geslaagd en ik heb Pien niet meer nodig, maar enkele mensen wilden wel eens zien hoe alles concreet in zijn werk ging. Daarom geef ik nu de code van Pien (zip, 188 KB) vrij.

Pien: het weer in België

Disclaimer

Het zijn een heleboel files voor zoiets eenvoudigs, maar denk eraan dat ik op dat moment zeer lang niet meer in PHP had gewerkt en enkel maar met Java. Qua file bloat kan dat tellen. Denk er ook aan dat dit in elkaar gehackt is. Verwacht dus geen propere code. Verder ben ik niet verantwoordelijk voor eender wat er mis gaat met je computer na het downloaden van dit alles. Virussen, trojans, wormen en ander ongedierte zit niet in de zip. Bugs komen misschien wel voor in de scripts.

Configuratie

Voor Pien zal je PHP en MySQL nodig hebben. Hoewel Pien ook was bedoeld als een test van PHP 5 zitten er – als ik mij het goed herinner – geen dingen in die niet op PHP 4 werken. In script/config.php5 kan je de gegevens van de te gebruiken database invullen. Die database kan je klaarmaken met de SQL scripts in de sql folder. In de config file vul je best ook de correcte base URL in voor de images. De file index.php5 bevat de Google Maps API key. Je moet zelf zo een key aanvragen voor jouw omgeving. Met de mijne zal het namelijk niet lukken.

Het weather_fetcher.php5 script zorgt voor de data die moet worden weergegeven. Deze zal voor iedere opgeslagen plaats de Yahoo! Weather feed binnenhalen, de feed parsen en de data in de database stoppen. Een cron-job is dus op zijn plaats. Merk op dat er in de huidige scripts geen data wordt verwijderd, waardoor je na verloop van tijd overvolle tabellen krijgt waaruit slechts een stuk of 20 rijen worden gebruikt.

Zo. Ik ga niet ingaan op de complete functionaliteit. Als je vragen hebt weet je me wel te vinden.

Dit artikel werd opgenomen in ontwikkeling.


De 2007 redesign

Belofte maakt schuld: zoals afgesproken een overzicht van wat er veranderd is aan el73.be sinds het nieuwe design. Voor de gelegenheid heb ik deze versie de naam “Regent” gegeven.

De plannen

De voornaamste reden waarom ik heb besloten om de site een nieuw design te geven, waren de plannen die ik al enige tijd koesterde. Sinds 1 januari 2007 zijn een deel van die plannen werkelijkheid geworden: ik kan nu opdrachten voor het ontwerpen en ontwikkelen van websites aannemen die ik vroeger steeds moest weigeren.

Een belangrijke schakel hierin is Roam. Hoewel ik met deze website over een bepaalde reputatie beschik, heb ik als handelsnaam voor Roam gekozen. el73 lijkt in mijn ogen immers te sterk op e173. Geen probleem voor een persoonlijke site, maar ik wilde geen mogelijke klanten verliezen omdat ze dachten dat het e173.be was.

Roam, de plaats voor web design & web development
Het Roam logo.

Ja, met het nieuwe logo is het ontegensprekelijk duidelijker geworden wat de naam van deze site is. Voor de URL kijk ik echter naar de adresbalk van mijn browser, niet naar het logo.

De verdwijn-truc

Door de heroriëntatie van Roam is de voornaamste afwezige in Regent het portfolio. De links die ik had verzameld op de informatie-pagina zijn eveneens naar de prullenmand verwezen. Ik heb een lijst van meer dan 200 feeds in mijn feedreader; een lijst waar ik constant nieuwe feeds aan toevoeg en oude feeds uit verwijder. Als je wil weten welke websites ik apprecieer, kan je dus best m’n blogroll raadplegen.

Nog zo een opvallende afwezige is het contactformulier. Ik heb ervoor gekozen om mijn e-mailadres op de gebruikelijke manier te vermelden door de @ en . te vervangen door tekst, omgeven door square brackets. Als je Javascript hebt ingeschakeld wordt mijn e-mailadres omgezet naar een link met het werkelijke adres.

Zo kan jij me onmiddellijk sturen wat je wilde sturen (denk hierbij aan bijlagen) en moet je je e-mailadres niet zelf intikken, waardoor de kans dat ik niet kan reageren plotseling een stuk kleiner wordt. Het is al vaker gebeurt dat iemand een vraag stelt waarop ik niet kan antwoorden omdat het opgegeven e-mailadres niet klopt.

Ook Pien – het weer in België weergegeven op een Google map – zal binnenkort verdwijnen. De in elkaar gehackte code zal ik snel vrijgeven voor de geïnteresseerden.

Nieuwe onderdelen

Er zijn verschillende dingen bij gekomen, allemaal te vinden op de homepage. Zoveel dingen zelfs dat de homepage te druk is geworden, zoals aangegeven door Micha en (onbewust?) Michael. Dit zal zeker nog worden verbeterd.

MergeCal

Mergecal is de kalender met interessante evenementen met betrekking tot design, ontwikkeling en technologie die ik eerder publiceerde. Zonder een eigen plaatsje dreigde dit initiatief te verdwijnen in de donkere krochten van de archieven.

Voorlopig is het updaten van MergeCal een manuele aangelegenheid. Met behulp van de GData API en een Wordpress plugin zal dit hopelijk snel tot het verleden behoren.

Del.icio.us links

Mijn del.icio.us links worden nu binnengehaald via de RSS feed. Hoewel ik zelf een plugin heb geschreven die het mogelijk maakt om de daily blog postings van del.icio.us aan te passen, ben ik dit type posts beu. Als je wil weten welke links ik heb verzameld, dan kan je de feed gebruiken of af en toe naar de homepage surfen.

Inspiratiebron

Regelmatig zie ik iets dat een wow-effect op me heeft. Een pagina in een magazine, een advertentie, een website, eender wat. Om het voor mezelf gemakkelijk te maken heb ik besloten om deze inspiratiebronnen voortaan bij te houden in een Flickr set.

Creative Jobs

De laatste tijd vliegen de vacatures voor web designers, web developers en all-round web-mensen ons rond de oren. Om deze vacatures wat in the picture te zetten zonder er een wekelijkse post van te maken, heb ik contact opgenomen met Bart Claeys, de man achter Creativeskills, om te vragen of ik de feed van de Creativeskills jobs mocht gebruiken. Bart stemde toe en voilà: vacatures op Creativeskills.be bereiken nu een (iets) breder publiek.

Ik ben te huur

Om wat van de PageRank en het publiek van el73 te profiteren, heb ik het overduidelijk gemaakt dat ik regelmatig websites maak. Of was het je nog niet opgevallen?

Nog een reden om de site te vernieuwen

Ik ben van plan om langere artikels te schrijven. Het vorige design was meer afgestemd op korte artikels, omdat de lijnlengte beperkt was. Nu heb ik echter de volledige 720 pixels ter beschikking, wat me van pas zal komen voor illustraties – vroeger was er een duidelijk gebrek aan afbeeldingen – en andere ornamenten zoals code waarin niet elke lijn na 15 karakters moet worden afgebroken om de site niet onleesbaar te maken, en de pull-quotes.

Wordpress plugins
Screenshot van mijn plugins pagina.

Aan al die veranderingen zijn ook kleine aanpassingen in Wordpress gekoppeld. De del.icio.us links en Creativeskills vacatures worden binnengehaald met behulp van plugins. Met de ingebouwde RSS-parser van Wordpress en de hulp van de WP-Cron plugin, wordt dit karwei beperkt tot enkele lijnen code.

De manier waarop de maandelijkse archieven worden weergegeven heeft me echter wel eens goed doen vloeken. De get_archives template tag en gelijkaardige template tags hebben immers nul de botten flexibiliteit. Het is onmogelijk om de lijst van maanden op te halen met alle daaraan gekoppelde informatie. Voorlopig heb ik het quick ‘n dirty opgelost door simpelweg een template tag toe te voegen die doet wat ik wil, maar dit zal ik vervangen door een plugin.

Zo ben ik aangekomen bij het lijstje van dingen die er zitten aan te komen:

  • Het grijpt-je-naar-de-keel-gevoel laten verdwijnen bij het bekijken van de homepage
  • Andere achtergrondafbeelding
  • De titels van artikels linken naar het artikel
  • Het Roam logo op deze site vervangen
  • De titels van pagina’s in orde brengen
  • Automatisch oppikken van nieuwe afspraken in MergeCal
  • Nieuwe template tag voor archieven verhuizen naar een plugin
  • De code van Pien Done!
  • De afwerking en marketing van Mandro, live te volgen op deze site
  • Abbr: een artikel en applicatie die de sterkte van CakePHP moeten duidelijk maken.
  • Een idee waar ik enorm enthousiast over ben. Voordat ik beschuldigd wordt van het profiteren van de huidige nieuwsgierigheid: het gaat om een programma dat het leven van de doelgroep een stuk aangenamer zou moeten maken. Maar het blijft voorlopig bij een idee.

Dit artikel werd opgenomen in webdesign, website.


Huidige status

Ok. Alles lijkt momenteel redelijk in orde. Voor de feed-junkies: u mag zich nog eens uit het duister wagen en de vernieuwde el73.be aanschouwen zodat ik de nodige kritiek en bugs mag ontvangen.

Op de homepage vind je onder andere de nieuwe onderdelen:

Inspiratiebron
Regelmatig zet ik een website of wat anders onder de verschroeiende spots.
Creative Jobs
Een reeks jobs geplukt van Creativeskills om zo te vermijden dat ik om de twee weken een nieuwe lading vacatures plaats.
Del.icio.us links
Mijn del.icio.us links worden voortaan niet meer geplaatst met behulp van del.icio.us’ daily blog postings, maar je kan de nieuwste links steeds bekijken op de homepage.
MergeCal
MergeCal heeft ook haar plaatsje gekregen. Momenteel werkt dit nog door handmatig de inhoud aan te passen.
Ik ben te huur
Voor al uw feestjes, slechts 1 adres: het mijne.

De details zal ik binnenkort beschrijven, met als bonus de code van Pien. Nu eerst nog wat dingen aanpassen.

Dit artikel werd opgenomen in webdesign, website.


Mijn links voor 22 december 2006

Dit artikel werd opgenomen in linkdump.