July 2003 - Posts
MCSD, € 13.785,00, is just way over my head... does anyone know a good institute (perhaps self paced training) in the Netherlands? Preferably near Eindhoven? Offering their services for an acceptable price.
I’ll be out of office 1/8 till 16/8. I’ll be on my way to Corfu by then ;)
I received my new gadget yesterday! A Canon Powershot A60, extra flash card 128 meg and a powerbank set to feed my new toy. I surely hope to capture some nice views next week… more coming!
[due to the size... view here]
Jessy, the dog above doesn't like my new cam ;)
Big day tomorrow my legacy tracking and tracing application passed user acceptance tests earlier this week! Although it took me some time to get my head back into VB6, COM, DCOM, MTS, ADO etc programming (such an utterly disfunctional programming language) the results are quite pleasing.
I’ll be picking up where I left on my .NET based tracking and tracing application framework later this week. Prototyping an open web access architecture is the next item on my list. Thinking about software architecture is my personal “motivation accelerator”… I just love delivering proof of concept.
Guess what I’ll be reading on the beach:
- Your road map for success
- Great to great
I did a petite My Plan
Yes, yes it has been an interesting week. I’ve been spending some time on writing business proposals (business plan). My new project is in the “harvesting stage” so basically I’m busy selling my technical skills (and prototype) to my future investors. My colleagues from the United States are flying late August to The Netherlands for a brief visit. Most probably we’ll be heading the other way around once we’ll start planning development cycles. I can’t wait to finish my legacy work and get back to .NET ;)
I bought this funny little French car (a black, air conditioned (soft top), power windows, mirrors and locks, Renault Twingo easy/comfort 1.2). The soft top is a welcome luxury for this time of the year (25 - +30 C).
The deal: colleagues have been working on tracking and tracing software. Basically the software can track down all intake operations (raw materials) for a given product. This is what we call Upstream Tracing. Also the system can, for a given intake, trace all out loading operations (product) Downstream Tracing. The software is written in VB6, COM+ and SQL Server 7. To sum it up: The software is slow and extremely unstable so I’ve been asked to share my knowledge because of my experience with a high performance tracking and tracing solution written in C# (Which I actually architected, designed and coded myself).
First thing I noticed while testing where the timeouts thrown by Microsoft Transaction Server. For the sake of standard my colleagues decided to use their generic transactional common component (an abstraction layer over ADO). Transactions for read only operations? Huh I said… Next thing I noticed where the extreme amount of call’s through the layers with absolutely no “extra” logic inside. Huh… Also the VB6 runtime had a hard time with filtering, muting and hustling intermediate results… recursion caused nasty stack problems.
For the sake of the length of this article:
1. I added a wrapper for calling stored procedures via the common component
2. I added a business layer with a few methods calling methods upon the common component and shaping my recordsets the way I like them to be for my presentation logic. Added some business rules etc.
3. I wrote a few stored procedures (T-SQL) encapsulating my new algorithm (recursion)
4. Done some prototyping for the user interface, but that’s just to showoff management (these guys just don’t get what’s under the hood if they can’t catch a glimpse of the hood itself)
1. Speed improvements, previous: +14:00:00h computing power, current: 02:56:00h, previous 00:06:00h, current: 00:00:04h
2. Stability… the system is rock stable because of the raw power SQL Server provides in T-SQL. The VB6 runtime can concentrate on other stuff, staying stable. The whole algorithm logic is as close as it can get to the hardware
3. A nice, clean and well structured n-tier application
I still got to do some scalability tests to figure out what the roof of my algorithm is and some experienced people to do a proper code review. My VB isn’t what it used to be, hehe. Can’t wait to do some customer acceptance tests, but I guess I’ll be on my way by then. The next problem awaits me…bring it on!
This day was an enervating day! Today was “the day” in respect to my future career. I held my presentation for the University board, company managers and my new employer. I must say I love talking to people and even better, explaining a subject which is extremely difficult to master in a simple, “cut the crap” talk. Informal presentations with a slight improvisation factor really get me going. About my talk: I explained a few things about Tracking and Tracing functionality within the context of the feed industry. I did my best to explain the complexity batch production system encounter during the execution of tracing algorithms (where did it go and when). How to effectively solve these problems with well to understand, maintainable and efficient object oriented software written in .NET. I talked about mapping relational data into entity objects, solving our utterly complex problem by encapsulating logic into entities and showed a well defined architecture (pattern centric). I visualized my talk with a heavily animated powerpoint presentation. Powerpoint worked out great, animating material (batch) flows through my virtual plant. It really gave my audience the vital insight in our domain problems.
I really, really enjoyed my techy talk and I certainly got rewarded! My final grades:
9 Practical work
7,5 My report
Without knowing, a lot of people in the industry made the effort to help me in one way or another. Their support helped me gaining knowledge on various topics so a big thanks to: Frans Bouma (for his insight in OR-Mapping), Jimmy Nilsson (For his thinking and his writing about OR-Mapping and off course his demo code) , Chris Hollander (great tips on Microsoft technology and Harvester), Paul Looijmans (for his insight in OR-Mapping), Martin Fowler (for writing Patterns of the Enterprise Architecture, Extreme Planning and UML Distilled) , Scott Hanselman (for superb tips on tech presentations) and “the rest” for writing interesting books which helped me broadening my horizon.
Let's get back to work, VB6 legacy code can't create object context. Damn debugger process... COM+ frustrations.
It was a big day today! As of now I’m officially a OAEurope employee. This means I’ll be spending an increasing amount of my time thinking about Process Information and Control Systems. I surely hope to blog about my experiences in this field in the near future. Stay tuned...