Planten rekenmachine

Een nieuw programma’tje voor mezelf en andere tuinbouwers. Het programma rekent uit hoeveel planten je nodig hebt en hoeveel het zal kosten. Hier een screenshotje en de EXE om te downloaden. Het programma vereist .NET3.5.

Download: Planten rekenmachine.exe (30 kB)

Alle Vlaamse gemeentes in XML

Het volgende PHP scriptje kan handig zijn voor mensen die alle Vlaamse (deel)gemeentes willen hebben. Het script overloopt alle gemeentes van Wikipedia. Op iedere pagina van de gemeente staat er informatie over postcode en deelgemeentes. Dit wordt allemaal verzameld en in XML gestopt. De output van het script geeft een XML document terug. Met een simpele XML parser kan je doen met de data wat je wilt. Het script runnen kan tot 5 minuten duren, dus een beetje geduldig wachten en je hebt ze.

Code: gemeentes.php
Output: gemeentes.xml

Voeder programma 0.1

Voila de eerste release van het programma is er. Er zitten nog een aantal functionaliteiten niet in omdat het afstudeerproject op zijn einde loopt en dus geen tijd meer is. Het project telt ondertussen meer dan 11 000 lijnen code (14 000+ lijnen inclusief lege lijnen). Nu wacht er een 40 pagina’s dik verslag op me, wat geen probleem is want de analyse alleen is al 30 pagina’s ^^.

Ik heb enkel screenshots geplaatst op de Voeder programma pagina. Enjoy!

Voeder programma heeft een visuele schil.

Met zijn 6459 lijnen code heeft het voeder programma een eerste visuele schil. Bij het opstarten wordt een overzicht gegeven van alles en nog wat. Hieronder vind je het eerste schermafdruk van het programma :). En nu wordt het niets anders dan formulieren maken en laten opslaan.

Lines of Code

Ik heb na drie dagen eindelijk alle business regels in het model gedeelte gestopt, de JPA erin gegooid en de relaties goed gelegd. De code om alles te testen is er nog niet maar hopelijk is er niet veel fouts aan ^^. Uit nieuwsgierigheid wilde ik eens weten hoeveel lijnen code ik al in me project heb. Omdat Netbeans zo’n plugin niet heeft, heb ik maar eventjes snel een LoC (Lines of Code) scriptje in elkaar geflanst in Perl.

Het LoC script: http://aiids.pastebin.com/u8LAxc9L

Het resultaat van me afstudeerproject: http://aiids.pastebin.com/MJbRLrbT

Voederprogramma

Zoals ik al zei zal mijn VBA programma vervangen worden door een complexer programma (dat zullen we nog eens moeten zien, haha :p). Volgens mij was dit om eens te testen hoe goed ik kon programmeren omdat het andere programma toch redelijk goed moet zijn. Roose vroeg al van november 2010 of ik geen voederprogramma kon maken. Wat snel vertelde hij iets over Excel toestanden die niet goed waren. Waarvan ik dacht “o nee ik programmeer niet in Excel hoor”. Nu kwam er een maand terug een eerste vergadering waarin hij vertelde wat het moest zijn. Het is een programma die de bestellingen van voeders moet beheren. Dit onderdeel van het programma zal mijn afstudeerproject worden. Welke features en must-haves het moet kunnen, staat op de Voederprogramma pagina.

Dus ik doe dit programma als afstudeerproject maar daarna moet er nog aan geschreven worden. Zo moet het programma analyses uitvoeren om bijvoorbeeld te weten welke meelleverancier het beste meel levert en zo de prijs kan drukken op het meel. Om even te illustreren zei hij als het programma 10 cent per ton per jaar kan besparen dat dit 22.000 euros besparingen kan opleveren.

Dit is een uniek programma omdat de programma’s die meelleveranciers geven aan hun klanten eigenlijk domme dingetjes zijn. Daarom schrijf ik het programma zo algemeen mogelijk en dus niet enkel voor het bedrijf Roose BVBA. De eigenaar was ook van dat idee om alles algemeen te doen zodat het programma verkoopbaar is. Als je kan zeggen dat mijn programma zoveel duizenden euros per jaar kan sparen, dan ga je plots veel klanten hebben (en zekers nu het slecht gaat ^^).

Een .NET applicatie

Voor het vak .NET moesten wij een C#/ADO.NET applicatie maken. Het is een applicatie voor scholen die hun boeken moeten bestellen bij de zaak Plato. Ik post dit eventjes omdat wij (john en ik) er verdomd keihard aan gewerkt hebben en lang gezocht hebben aan de database fout. Anyway, genoeg woorden aan vuilgemaakt, hier zijn de screenshots.

Toekomst VBA…

Op kerstdag gaf ik een demo van mijn VBA aan de eigenaar van het bedrijf. Hij was tevreden van het werk maar we hebben nog wat nagepraat. Daaruit bleek dat het programma dat ik geschreven werd een tussen oplossing is voor het ene varkensbedrijf. Nu zijn ze bezig met uitbreidingen in het bedrijf (nieuwe stallen) en gaan ze dus een geavanceerder pakket aanschaffen. Dus uniek was mijn ding niet maar dient goed als tussen oplossing. Enfin, later zal mijn hulp nodig zijn voor de data migratie naar het nieuwe programma.

Nu de toekomst van VBA slop ligt (het kan nog altijd een product worden als ik dat wil), kwam de vraag om een ander programma te schrijven die niet op de markt te vinden is. Details heb ik niet maar het gaat om het ganse voederproces van het bedrijf. Nu draait er iets DOS achtigs maar dat is enkel om de voederen te verdelen en te vermengen binnen het bedrijf. Het moet uitgebreider komen. Begin februari begint het project.

SimpleMediaPlayer 1.0

Voor het vak .NET moeten we in een groepje van drie personen Silverlight voorstellen aan de groep. Naast de presentatie moet je ook je onderwerp illustreren met een demo. Ik had het idee om een simpele media speler te maken. Samen met John hebben we de Silverlight applicatie geprogrammeerd. Het koste uren en uren zoeken waarom MediaElement local files niet wilde afspelen. Blijkbaar werkt dat element enkel met streams en progressive download. Waarschijnlijk kan je een stream maken van de local file maar dat hebben we niet meer getest. Omdat MediaElement met HTTP overweg kan, hebben we gekozen voor iets te doen met Dropbox. In je Public map maak je een map silverlightSongs en daarin zet je je .mp3 bestanden. Daarnaast maak je je silverlightSongs.txt file aan met de liedjes die in je map staan. Een lijn in de txt file ziet er als volgt uit:

filename;artiest;titel

Wanneer je de Silverlight applicatie draait moet je je user id opgeven van je Dropbox account, standaard neemt hij mijn user id. Bij het herladen (de herladen knop klikken) geeft hij de beschikbare songs van de txt file en kan je die aan je speellijst toevoegen. En luisteren maar!

Ik heb de Release map gezipped, je moet die maar ergens uitpakken en op de HTML pagina klikken. Install knopje klikken en dan runned hij. Je kan hem dan altijd runnen via de snelkoppeling op je bureaublad.

SimpleMediaPlayer.zip (1 699 kB)

Varkens Beheer Applicatie finished

Na 34 uur en 30 minuten ontwikkelen is de Varkens Beheer Applicatie af. Er zijn enkele screenshots toegevoegd voor de geïnteresseerden. Voor de grafiek pagina heb ik gesukkeld met de verschillende grafiek bibliotheken. De ene renderde een stuk van de grafiek uit zijn grid en de andere kon maar niet genoeg krijgen van php errors. Gelukkig heb ik een uitstekend en simpel PHP bibliotheek gevonden voor grafieken te maken, PHPlot. Een echte aanrader!

Dit weekend wordt het dus deployen geblazen.

Toekomst?

Omdat dit slechts een eerste release is, zullen er natuurlijk uitbreidingen komen vermoed ik. Zo heb ik al vernomen dat het programma op locatie x en locatie y en wss nog andere twee locaties moet draaien. Dus naar de toekomst toe zal er met een authenticatie gewerkt moeten worden. Als ze dit dan vragen, raad ik dan meteen aan voor een simpele server te kopen waar de applicatie op draait en men gewoon naar de server moet surfen.

Als het programma zijn nut bewijst en goed werkt en er budget/vraag naar is, kan er een dochter programma gemaakt worden die draait op een mobiel toestel (toestel is gelijkaardig met iPad, een groot touch tablet). Nu hangt boven iedere zeug een blad waarop informatie bijgeschreven wordt. In een tijdperk waar technologie heerst, is er geen papier. Dus men zou lopen en moet men iets noteren bij de zeug, dan voert men dit eenvoudig in en wordt het op de server opgeslagen.