Monday, 21 January 2008

Developing in .NET: Initial Impressions

Well I'm a C++ backgroung programmer who initially started developing in VB 6 many years ago and moved into C++ shortly after, which was a welcome relief. I've avoided Microsoft technology every since, so developing in .NET is a big step for me. Why not try Java or Ruby? Well I would have liked to, but in the team I'm currently working with here .NET code and Microsoft technology is already heavily embedded so I could try to introduce a new language that would take a long time for developers to learn (and many of them do not want to) or I could learn a new language myself. I decided it was a good oppertunity to try something new. So with absolutely no .NET training I fired up a project, a website project. I created a page, added some code behind the page. Fired it up. Within 10 minutes of starting my first .NET project I have a login form that processes my username. So far so good, but I had heard this about .NET that it was very quick to get simple code in place. So I read up on Master pages, create a framework for the interface. Then I extract the code behind into a nice class structure with an interface into our reporting environment. I add a database structure and interface into DB2 and get one of my team to extract some authentication code (in VB, where as I'm writing C#) into a re-usable class. One week later, roughly 18 hours into development and I have a dynamic reporting application that only needs the final touches and interface to be beautified. I have to say that I'm fairly impressed at the speed at which I can create such an application. I spent 3.5 weeks creating exactly the same application in Java and I had an API to work with for the reporting component and had a good knowledge of Java before starting the project where as this is the first time I've programmed in C#. I still don't consider myself an avatar of .NET. I don't agree with many of the development principals that they use and the Microsoft restrictions that exist still bug me. But for its purpose, .NET appears after my first impressions to be a pleasure to develop good clean code in.

Saturday, 12 January 2008

Running Ubuntu

Well I thought I'd finally give Ubuntu a shot. Good idea, I had a spare drive to install it on and figured I could set it up without impacting on my Windows setup. I'm afraid of Vista, haven't heard anything good about it yet and when I do get a new laptop i would like to have the option of something other than Microsoft's DRMware. Anyway, I found a distribution on my ISP's freezone and downloaded it at ridiculous speed. Extracted the ISO onto a CD and here I am. 2 hours is what it took me to install. Would have been one hour except that Ubuntu seems to have trouble reading the DNS servers from my router. I had to set them manually. If anyone loads Linux only to find they can ping but can't browse in Firefox, go to your router's home page (usually or similar) and copy the DNS servers into the network settings of Ubuntu. I have to admit if I had no computer knowledge then I would NOT have ANY IDEA what I just said. But hey, everyone has a child somewhere in the neighborhood that can help them out right? So far so good.

Thursday, 10 January 2008

Borland Reporting Tools

I have developed a lot of code in Borland tools and I've got to say that I'm dissappointed with the reporting tools available for the environment. I suppose I'm too much of an optomist to have expected too much from Borland (now Code Gear) but the environments they provide always show so much potential to be great (but more often end up falling far short of the mark). In our upgrade to BDS2006 some time ago we lost the ability to use Quick Reports. Rave reports was the solution provided now, though why I'm not sure. Rave Reports offers nothing new and opens up a number of holes every time you take a step tempting you to fall in. I'm a C++ developer at heart, but if you decide that Rave is for you then you're going to be hamstrung. Specifically database components will not work due to compilation issues and an inability to find object files. I'm sure with a few days work and searching around for help I may have found a solution, but I think that software development is at a stage that if it doesn't work out of the box then it isn't worth the effort. For anyone who happens to google this post due to the same error, turn back. If you have another option that I would highly recommend it over rave. Specifically why not try writing a web interface reporting engine using Perl, Ruby, PHP or even Java and plug that into your BDS app using a web page interface component as I have now done. The error is:
No DataLink drivers have been loaded. Use the DataLinkADO.RDV driver for the Rave server/IDE or include the unit RvDLADO for applications.
Not a particularly helpful error message, though at first glance it looks like you might be able to solve it. I had no such luck and I recommend you don't bother.

Tuesday, 8 January 2008

‫‬‭‮‪‫‬‭‮҉Crazy Character

Ok so I stumbled across this crazy character. It's a string of unicode commands that reverses the text that you enter in a browser. I couldn't get it to work in word or other windows applications, but in a browser it does just fine. Plase the character into text somewhere and everything you type afterwards will be refersed. Example: ‫‬‭‮‪‫‬‭‮҉Backwards Text is Funny! ‫‬‭‮