#Google Analytic Tracker

Pages

Oct 30, 2006

.NET Gotchas (the subtilty between VB and C#)

Recently I bought this book ".NET Gotchas" by Venkat Subramaniam from O'REILLY publisher. Initially I bought this book just for my pass time. As a .NET programmer from my pass contracting job, I was fascinated by the rich functionality of .NET programming. So, I was wondering why would there be "Gotchas" (an unexpected programming behavior). In my past job, I was working on CodeDom compiling for both VB and C# code. Basically the developer program the .NET application using C# code and user can program their functions though VB, and in the end these code are compiled in the Unit Code and turn into assembly. Although I am still a junior programmer using .NET technology, I encounter a number of situation where assembly compiled from C# and VB behave differently. When there is a time you spend a day trying to figure out why .NET doesn't behave what you are expecting, especially when you are not as experienced, take a look at this book and see if you can find a .NET "Gotcha" matches your situation!

Jun 25, 2006

Database Application Development Choices

Case: A couple months ago, a non-profit organization had asked me migrate their MS Access Database to a Web Application Interface. They asked me to help them out because I was one of the original developers (and pretty the only one) who built the MS Access Application and volunteered for this organization 5 years when I was studying in University. Since 2 years I left the organization, the organization has grown a lot. I am guessing there are about close to 60 volunteer and 200 students. Forgot to mention that this non-profit organization provide ELS, Cantonese and Mandarin Education to children and Adult. Having a MS Access on a single laptop only allow a single person work with the Database. The person is responsible of add, updating student data during registration, print out class room student list, and keep track on which class they are currently studying. Wouldn't it be nice if you can have everyone (the authorization volunteers) access the database, print report and update the student record anytime and anywhere! Options: After talking to the volunteer, it turns out that they are interested in FileMaker Pro instead of a MS Access database application. So I spend a bit of research by reading though the website File Maker Pro 8 - a stand alone application runs on a single machine. Good for small business who doesn't need to customize much of the application. Only one person can use the application one time. Sounds like it is not going to be enough for what the volunteering organization want. File Maker Pro 8 Advance - small business who need more customization on its application, especially if you need a custom database (create your own tables and relationship). However, it is still limited to single person usage. Better then just the File Maker Pro 8 because you can customize the tables. The solution needs to be a school administration tool then an business management tool File Maker Server 8 - Better, multiple user access database though network. However, it requires your machine to have a file maker client software (File Maker Pro). Not very convenience for a organization where personals changes often. File Maker Server 8 Advance - finally, this is the one, it allows you to build web application. Using this tool allow multiple user access the database though a web interface (like I.E) ... Da*n ... it costs close to $10,000. What the f***? So, I told my friend about my finding and he got disappoint. He then asked the person who originally propose using FileMaker and it turns out there is a company which will host the File Maker Server 8 Advance for $25.00/month. Well, at least this is a good new. The other chose is write our own customized web application using ASP. NET and Altas technology. I started looking at Altas, even I didn't get a choice to use. I felt in love with it. Altas is actually based on AJAX programming. Unfortunately I didn't have any experience with AJAX, I couldn't explain father. But if you have ever used Google Map, then you know what AJAX does, it allows to have a web application that has "state". One thing you will notice is that web page using AJAX doesn't require the website to refresh the entire page, it only refresh the updating part. Every time when you click or move your mouse, it triggers an event and you can write event handler to return a respond. Since Altas is a free framework, so anyone can just download the required installation and start making a web application. Check out the Altas web control (similar to Windows control), it is very cool. After watching some video on programming using Altas, I feel like web programming is 10 times more fun and easy to program what you want then before. Final Choice: Although Altas and ASP.NET sounds very exciting, the volunteering organize decided to invest time on FileMaker, and I no longer have to do any more research until they have problem again. Why do they want to pick FileMaker? It is very obvious, you are hardly able to find a volunteer who will able to maintain a ASP.NET application in the future. If FileMaker is easy to install and setup, why not go for something easy and simple! I truly hope that FileMaker is easy to maintain and setup, because a software that is easy to setup and use are the software that people will use. Think about why MS Windows owns the major desktop OS system Market then other OS.

Jun 17, 2006

Introduction

Do I really need a introduction for this blog? Seriously not, but having a special blog describe why I want to have Programming Joy Blog is something to remind myself why I have created this. As a programmer, I spend most of my day doing programming, and I need to find a medium express myself. Frankly, how many of your friend would want to hear about your programming exprience of the day. So I decided to use a blog to capture what I programming exprience. At the same time, this blog helps me to maintain programming ideas that are important, cool or ideas that will lead to failure of your programming project. It will be fun for me to look back in the future