15 t/m 17 maart jl. was de MIX10 conferentie voor (web)ontwikkelaars in Las Vegas.
Tip voor degenen die niet zijn geweest:
de sessies zijn online te bekijken op http://live.visitmix.com/Sessions.

Systeem Integratie is een fascinerende tak van de automatisering. Wat ooit begon als losstaande eilandjes kan op een mooie dag zomaar met elkaar verbonden worden. Nou ja, zomaar: ons werk heet dan wel automatisering maar dat betekent natuurlijk niet dat alles zomaar vanzelf gaat. Jaren geleden heb ik een Meldingensysteem gemaakt waarmee je fouten en wensen in applicaties kunt registreren. Hierbij kun je een prioriteit en een streefdatum invullen en ook bijhouden welke aanpassingen je hebt gedaan bij een melding. Als je daarbij ook releases bijhoudt, is het bovendien een prima basis voor releasenotes.
De mensen die mijn blog een beetje gevolgd hebben, weten dat ik recent bezig ben geweest met de applicatie Remember The Milk (RTM) : een tot do lijst waarbij je online taken kunt beheren. Sinds kort heb ik op eenvoudige wijze een koppeling gemaakt tussen deze twee applicaties. Het idee is dat er vanuit de database van het meldingensysteem een e-mail wordt gestuurd naar mijn geheime RTM e-mail adres, voorzien van relevante tags. Iedereen die zich aanmeldt bij RTM krijgt een ‘geheim’ e-mail adres. Wanneer je een bericht stuurt naar dit e-mail adres, wordt hiervan een taak voor je aangemaakt. Door in deze mail speciale codes op te nemen, kun je direct bepaalde kenmerken meegeven, zoals een categorie of een duedate.
Lees verder…
Hierbij weer een collectie van links naar alle nieuwsberichten, product publicaties en blog berichten van de verschillende Microsoft product teams. Dit keer o.a. over Windows 7, Office 2010, Sharepoint 2010, Virtualization (Hyper-V, App-V en MED-V) en SQL Server 2008 (Star Join Optimizations)
Lees verder…
Hierbij weer een collectie van links naar alle nieuwsberichten, product publicaties en blog berichten van de verschillende Microsoft product teams.
Dit keer met o.a.: Security, How Microsoft does IT, Microsoft Development, Windows 7, Virtualization, SQL Server, System Center, SharePoint, Office System, Forefront Security
Lees verder…
Momenteel werk ik aan een ASP.NET MVC 1.0 applicatie. In een ASP.NET MVC applicatie werkt je niet meer met postbacks. Daardoor werken de standaard servercontrols ook niet meer (runat=”server” is verdwenen). Eigenlijk is het een soort back to the basics, want het komt er in het kort op neer dat je met plain html aan de slag moet. Voor buttons gebruik je gewoon weer de <input type=”submit|button”/> etc. Je hebt dus weer de volledige controle over de html die gerenderd wordt in de browser. Dat biedt weer mogelijkheden om met javascript aan de slag te gaan. Een library die hierbij erg handig kan zijn is jquery. Jquery is een javascript library dat de webprogrammeur de volledige beheersing over de html geeft.
Lees verder…
Delphi 2010 released!
Vlak na de preview van Delphi 2010 (zie mijn vorige post), verscheen al de RTM versie en is het officieel released. Ondertussen zijn er verschillende interessante blogs verschenen, waarbij verschillende verbeteringen verder uitgelegd worden. Ik zal niet alle verbeteringen bespreken, maar een paar uitlichten. (P.S: zie ook de complete “reviewers” guide!)
Lees verder…
Op de site van Codegear/Embarcadero is vorige week de Delphi 2010 Preview Center verschenen: Nog 7 dagen, 2 uur, 31 minuten (and counting…) en dan is het zover.
Delphi 2010 belooft de beste Delphi release ooit te worden, met veelbelovende nieuwe features en verbeteringen! Zoals (Multi)Touch, Mouse Gestures, IDE Insight (alles (!) vinden in 1 scherm), background compilation, verbeterde debugger (oa threads), verbeterde RTTI (.Net Reflection!), class attributes, Direct2d canvas (Win7), etc etc.
Lees verder…
Weer een overzicht van allerlei nieuws en interessante informatie.
Je kunt op verschillende manieren Win32 en .Net naast elkaar gebruiken. Voor als je bijvoorbeeld veel Win32 code hebt, die je niet 123 helemaal kunt/wilt porten naar .Net.
- .Net classes als COM objecten gebruiken (type library importeren in bijv. Delphi)
- .Net runtime “hosten” in je programma (MSDN: Hosting the Common Language Runtime). Je kunt dit zelf doen of bestaande code hiervoor gebruiken, onder andere:
Ander .Net nieuws:
Natuurlijk ook normaal Delphi nieuws en tips:
Verder nog leuk om te vermelden:

Een aantal zaken mbt Delphi (Win32 + Prism):
- RemObjects heeft hun open source repository uitgebreid metDelpi Prism Templates en Delphi Prism Aspects .
Op moment van schrijven zitten er alleen een Monoobj Template en een ASP.Net MVC Template en een CheckDisposedAttribute Aspect .
De bedoeling is dat dit natuurlijk uitgebreid wordt, en iedereen wordt aangemoedigd om mee te helpen!
- Ik had in mijn vorige blog al even Plastic SCM genoemd. Er is een interessant blog van de makers verschenen over het blame commando: hiermee kun je opvragen welke regel door wie of in welke branch aangepast is!
- Verder kun je Plastic SCM koppelen dmv triggers met bijvoorbeeld CruiseControl, voor Contineous Integration .
- Momenteel ben ik aan het oriënteren voor een nieuwe data object structuur bij mijn huidige opdrachtgever. Dit omdat in de toekomst waarschijnlijk meer met .Net gedaan gaat worden (Delphi 2007 + Delphi Prism?). Dan vervalt sowieso de huidige (en oude) structuur. Dus als iemand ideeën of tips heeft, graag! (het liefst voor zowel Delphi als .Net te gebruiken ipv 2 verschillende).
- Een interessante kandidaat is Hitsoft SQL Object Library (HitSQLe): een soort LINQ voor Delphi Win32! Uiteraard niet 100% compatible maar toch heel uitbreid en krachtig. Zo hoef je oa niet druk te maken over Oracle of SQL Server commando’s, en het heeft een ingebouwde connection pool. O ja, en het is nog open source ook!
- Een ander alternatief is Data Abstract van RemObjects . Hiermee kan namelijk eenvoudig multi-tier systemen mee gebouwd worden. Ik heb al eens een Proof Of Concept gemaakt voor multi-tier, boven op het RemObjects Remoting Framework (wat wat we al voor messaging en onderlinge service communicatie gebruiken). Maar Data Abstact werkt ook boven op dezelfde SDK, en het is idem database onafhankelijk (het gebruikt oa Schema Modeler ). Ook interessant dus
.
- Momenteel ben ik bezig met het opfrissen van de GUI. Oa met de nieuwe versie van de VCL Components van TMS (ze hebben ook .Net componenten). Hiermee kan bijvoorbeeld eenvoudig een “Office 2007 Blue” look verkregen worden, maar je kunt ook zelf de kleuren schema’s aanpassen. Zo moet straks een groene Greenax look verkregen worden ivm de integratie hiermee.
- Verder heeft TMS mooie “Smooth” componenten! Deze maakt gebruik van de videokaart voor de 3D effecten.
- Naast de TMS componenten, wordt nu ook gebruik gemaakt van de mooi iconen van GlyphLab. Dit is een hele uitgebreide set, inclusief originele gelayerde PhotoShop bestanden, zodat je zelf eenvoudig aanpassingen en combinaties kunt maken! En $200 is dan niet duur! Een verademing in vergelijking met de ouderwetse Delphi 3 iconen… Het leuke van het aanpassen van GUI is dat in principe de werking gelijk blijft, maar het toont gelijk een heel stuk beter!
- Nog meer wat betreft de GUI? Ja, want GUI testen is nogal lastig. Hopelijk gaat OpenCTF mij hierbij helpen. Dit is een uitbreiding op DUnit, waarmee ik al bezig geweest ben voor een POC voor integratie testen.
Nog wat leuke informatie mbt .Net algemeen:
- Het Mono project heeft een aantal uitbreidingen gemaakt voor .Net. 1 ervan is Mono.Simd. Hiermee kan eenvoudig en snel met vectoren gewerkt worden, die door de Mono compiler omgezet wordt in SSE /SIMD instructies voor de CPU. Dit is stukken sneller dan normale CPU instructies. Mono.Simd is compatible met het Microsoft .Net framework, alleen maakt deze compiler er normale CPU instructies van, dus vele malen trager (maar het is wel compatible). Het is vooral bedoel voor games, omdat deze veel gebruik maken van vectoren.
- Een specifiekere uitbreiding is ondersteuning voor Microthreads (of Continuations). Vooral bedoeld voor games, maar kan ook goed gebruikt worden voor afhandeling van veel (kleine) netwerk connecties. Microthreads draaien in 1 thread, waarbij bijvoorbeeld de status van een functie opgeslagen kan worden (CPU registers, stack, etc), zodat deze later weer “resumed” kan worden. Het gaat te ver om het helemaal uit te leggen, lees het blog zelf maar
. Maar een voorbeeld is wel handig:
prince.WaitForObjectVisible (princess);
prince.WalkTo (princess);
prince.Kiss (princess);

Het heeft een poosje geduurd, maar bij deze weer een aantal interessante links:
- RemObjects , de makers van onder andere de Delphi Prism compiler , heeft een nieuwe website gelanceerd voor hun remoting framework “RemObjects SDK”: http://www.remobjectssdk.com/.
- Daarnaast heeft RemObjects een website opgericht voor een aantal gratis en/of open source tools: http://code.remobjects.com/. Deze bevat onder andere een heuse C# to Delphi converter (is nog in pril stadium), ShineOn (Delphi-win32 compatibility library), Oxidizer (simpele Delphi to Prism converter), etc.
- Ivo Tops heeft een nieuwe versie van TopMM gereleased. Naar aanleiding van een paar opmerkingen van mij (zie mijn blog hierover), heeft hij het een en ander verbeterd, en hoe! Deze memory manager voor Delphi is zelfs sneller dan FastMM! En hij schaalt nog steeds super, beter dan .Net (die niet schaalt)… Dus voor de beste multi-threaded & multi-core/cpu performance moet je nog steeds bij Delphi zijn
.
- Plastic SCM : een innovatief versiebeheerssysteem! Waar bij traditionele systemen (zoals MS SourceSafe, Starteam, CVS, Subversion, etc) het lastig is om met meerdere mensen aan het zelfde project te werken, is dit bij Plastic SCM geen probleem. Ze bevelen onder andere het “branch per task pattern” als strategie aan, zodat “Parallel Development” (pdf) met minimale “context switching” mogelijk is. Bij traditionele systemen wordt branching afgeraden, maar bij Plastic hebben ze branching en merging eenvoudig en overzichtelijk gemaakt (oa 3D version tree enmerge tracking). Het werkt zelfs beter dan MS Team Foundation Server.
Mergen wordt vaak als eng ervaren, maar met Plastic is het “merge without fear“. Tot slot nog meer informatie over branching en Plastic SCM (wikipedia).
Lees verder…