A Developer WeBLOG RSS 2.0

I have been using Notepad++ to write my blog offline. Its very inconvenient, impractical and im getting sick of it. I decided to find a better tool to write blogs offline. Im looking for a free bloging tool that allows me to publish blog post to my blog automatically. It has to have WYSIWYG text editor with the ability to view the html source, Automatic file or image upload, and most importantly, it has to work with no hassle with dasBlog.

After some googlings I found the following candidates:

They all look very promissing. I'll be trialling these software to see which one suits my need. Will post my findings soon.

RWendi

Wednesday, January 28, 2009 11:01:59 AM UTC |  Comments [1]
Blogging

So I stumble upon this nerd test website from someone's blog. Decided to take it if I would be clasify as a nerd based on the test. Personally, although I love programming and computer stuffs, I wouldn't classify my self as a nerd. So How well did I do? Here you go

NerdTests.com says I'm a Cool Light-Weight Nerd.  Click here to take the Nerd Test, get geeky images and jokes, and talk to others on the nerd forum!

Based on the test, Im a Cool Light-Weight Nerd. Awesome!!

RWendi

Thursday, January 22, 2009 9:54:04 AM UTC |  Comments [0]
General

In my previous blog post, I had a solution to prevent subtle bug when removing and readding an event handler. The solution works, but its not flexible at all. You can see the method is very dependent/attached to the button1 object and the click event, which means that the logic cannot be re-use for other objects or other events. For example, if I want to have the same logic for textchanged, this would mean I have to write another function for the event.

So how can we make it more modular? Well, we need to be able to register and unregister event handler dynamically. This can be easily achieved by using reflection and delegates. Reflection alows us to browse all the events that a type have in a form of EventInfo object. We can then use the EventInfo object to add or remove event handler to the event. To do it, EventInfo requires a delegate of the EventHandler type that represents/points to an instance method to invoke on a class instance. The delegate can be created using Delegate.CreateDelegate method, which takes in the following as its parameters: The type of the delegate, An object that contains the event handler method, the event handler method name. Here is the new code of the Register Click Event.

RWendi

Wednesday, January 21, 2009 11:10:17 AM UTC |  Comments [0]
.NET | c# | Programming

Be very carefull if you have code like the above example. It may seems ok, because you unregister the event handler at the start of the function, you reregister it again at the end of the function. No event get lost, no drama! Now let say, in that function we add another function called foo. In foo we add the same event handler logic, that is unregistering and re-registering the handler.

The above code has a subtle bug, which is the event handler get registered twice. One time at the end of Foo and the other at the end of Form1_Load function. The impact of this obviously when the event get raised, the handler will be called twice. Okay it may not be very subtle in the above code, but if you have a more complicated function, it's rather hard to track down this bug. It happened to me recently on one of our product code base. What I did to ensure this kind of problem never happens again is to add another function that's responsible in adding the handler to the event. This function will be used always for adding the handler to the event. The code is as below.

UPDATE: A better and more flexible approach can be found here

RWendi

Tuesday, January 20, 2009 10:40:51 AM UTC |  Comments [0]
.NET | c# | Programming

This blog post has a good summary of the new cool stuffs you can find in Windows 7 Beta 1. The Bumper List of Windows 7 Secrets

RWendi

Monday, January 19, 2009 12:51:23 AM UTC |  Comments [0]
Link | Windows 7

I have an old laptop which had been running very slow, especially on startup. I could spend a good one to two minutes waiting from the login page until it becomes usable. It's that slow. Spec wise: Intel Pentium M 1.73 Ghz, 2Gb Ram, 5400 Rpm Hard disk drive. It's not the best spec but when I first got it, performance felt pretty good. Starting up the computer took roughly 45 seconds in total and everything runs smooth. The Good old time.

In general Windows XP startup time should take about 40 seconds on average. It should normaly take 30 seconds to get to the login page, and 10 seconds from the login page to ready state. I firmly believe there is not much you can do to improve load time to get to the login page, and it should remain virtually constant all the time. Now for login page to ready state load time is a different story. The more software and services you have installed in your PC, the more likely you'll add more time to the login page loading time. Especially software that is in your startup folder and software that has a monitor icon in the notification area, as those software will always get run on startup. Anyway, last night I finally got fed up and decided to do some investigation to find out why it takes ages for windows to start up. I know I could just re-format and do a clean windows install, but that would take too much time (considering that I have to re-install all of my programs too).

First of all I remove all the programs I found in the startup folder (only found witty there). Restarted my laptop, it’s a bit better but still takes a long time for my windows to start up. Then I need to find out which software/service that gets run on startup that bogs down my startup time. Thus on startup I quickly bring up the task manager to see which process is taking the most CPU load. I found the culprit, which is MsMpEng.exe taking up 30%-80% of the CPU and it lasted most of the startup time. So I googled it, and it turns out that the process belongs to Windows Defender. I disabled it, restarted my laptop and BAM. My login page start up time dramatically decreased to about 15-20 seconds. Fearing that this might be a one time thing, I restarted my laptop for a few more times and I still got the same result. Moreover, it feels like that my laptop runs a bit faster now.

I’m not sure why it takes a long time for Windows Defender to load up, but I assume that in addition to initialization logic, its probably doing some preliminary security scan. I wander if other security software is doing the same thing, although my AVG doesn’t seem to take that many resources on start up. Anyway, if you have Windows Defender installed and having Windows startup performance issue, I highly recommend you to disable it and opted for a better and more efficient security product.

RWendi

Saturday, January 17, 2009 11:15:19 AM UTC |  Comments [0]
General

As I have mention before, I had a christmas wish list of a getting a nettop, MSI Wind in particular. I decided not to get it because it lacks of built in mobile broadband(very important), the latest generation of Intel Atom CPU (important), built in CD-ROM(not so important but good to have). Im still in the market of gettin a nettop, but there is just no good options available at the moment. In case you haven't notice, the current generation of nettops pretty much offer the same specs. Intel Atom N270, 9-10 inch screen, 1 Gb Ram (upgradeable to 2Gb but will void your warranty if done by yourself), 3 cell battery, and wireless BG. Regardless what model you choose (MSI Wind, Asus Eeepc, Dell Mini 9, etc), the only variations you might get is 6 cell battery and wirelss N.

In CES 2009, which was held in Las Vegas, Dell and MSI introduced new nettop models. MSI introduced the MSI Wind U115 Hybrid nettop and Dell introduced Inspiron Mini 10. From the pictures I've seen on the web, MSI Wind U115 looks very similar, if not the same as MSI Wind 100. Comparing the specs of the U115 with U100, the new version sports Intel Atom N530 and Hybrid storage system. Hybrid storage system basically means the nettop has both SSD and Harddisk install in it. The idea behind this is to put the operating system in the high speed SSD for better performance. Very interesting concept, especially for a nettop (even laptops never had this kind of storage before). And since SSD doesn't weight much, this should not add much to the nettop total weight.

Now for the Dell Mini 10, it has some interesting features that you've never found in a nettop before. Appart from the usual Intel Atom Z530, wireless b/g/n, and built in mobile broadband, it sports the following features:

  • 720p 10 inch LCD screen (16:9 ratio, 1280x720): better view when watching movies
  • Built-in TV Tuner: well you can watch TV programs
  • Multi-touch and Gesture touchpad: mac-like gesture?
  • Built-in GPS: handy for road warriors

I have to admit the first three features sounds very appealing especially the touchpad (assuming if it works well). As I said earlier the lacks of built-in mobile really put me off buying the MSI Wind U100, but this Dell Mini 10 really fills in the gap (except for the CD-ROM bit). Now you can say that Dell Mini 9 has a version with built-in 3G, but the problem is that it is not available here in Australia. Moreover, I HATE 9 inch nettops. Why? Because small screen and cramped up keyboard sucks. If this beauty doesn't cost more than $AU 800, I will definately buy it. Can only hope it comes out before my trip to Japan.

RWendi

Wednesday, January 14, 2009 10:10:47 AM UTC |  Comments [0]
Computer Hardware | Netbook

ALT .NET Meeting #4 (website)

Where:
ThoughtWorks Sydney Office
Level 8, 51 Pitt Street
Sydney NSW 2000 Australia
[Map]

When:
Tuesday, January 27th 2009
6pm - 8pm

Topic:
Practical TDD:
- Unit Test guidelines
- Using Dependency Injection for testable design
- Unit testing with NHibernate
- Unit testing with ASP.NET MVC

Speaker:
Wiryadi Adidharma

RWendi

Monday, January 12, 2009 8:24:31 AM UTC |  Comments [0]
ALT .NET

For the last couple of days, I've been reading on Joel Spolsky blog quite regularly. Just a bit introduction on the guy, He's the CEO of FogCreek Software and one of the team member of the guys on StackOverflow.com. His past experience includes Program Manager of Microsoft Excel team, working in Viacom Interactive Service, and Juno Online ISP.

I enjoyed his blog alot. Well written and very concise articles, which includes examples that is easy to understand. He even used real life example that has happened in the IT industry in the past. For example in his article "Things You Should Never Do, Part 1", which says that we should never start over from scratch. He gives an example how Netscape lost its market share when netscape decided to ditch their code and started from scratch. Some of his example also includes from big companies like, Microsoft, Sun, and IBM.

His articles include best practices in software development, team management, software product management, and software company management. In this article, he describes 12 questions that test a quality of a software development team. I have to say I agree with most of them, except for the last one which i think not necessary. He mentions the importance of functional specifications in this articles, couldn't agree more with this. He also has a business strategy related articles for software development company. Since its always been my dream to run my own software company, I enjoy the article a lot.

Moreover, He has articles that describes his philosophy in building his company. He has done a great job in creating a very desirable work place, which he describes here. If you're lazy to read up his post, you can just see the pictures of it here. It amazes me how he's willing to invest so much on it (considering that his company is not even classified as med-size company), and that he does it for the sake of his programmers. I honestly thought only google does this.

His blog is by far the best blog I've ever read. Not even one article I've read was badly written. Highly recommended, adding him to my blogroll.

RWendi

Thursday, January 08, 2009 10:51:27 AM UTC |  Comments [0]
Blogging | Programming

Happy New Year 2009. Overall I would say year 2008 was a pretty good year. At the beginning of the year I set my new year resolution to lose some weight and be a healthier person. I realised that I was a litle bit too fat that i became a rather unfit person. By unfit I meant I got tired very easily. So have I achieved that goal? Well, I didn't start right away. I started working out around april until now, and I have to say I achieved my new year resolution!! I started to go to the gym 4-5 times a week, watch what I eat most times of the year, I tried to have a more active and healthier life style. Figure wise, I haven't lost that much. I was 67 kgs with 30%++ of body fat, now im 66 Kgs with probably 20-22% of body fat. I lost most of my fat of my belly and my hips. Im able to fit my old trousers that I had not been able to wear in two years.

It feels awesome to be fit and healthy, and Im not stopping! In this year Im setting a goal to be 70 Kgs @ 12% body fat. Will maintain the same strategy, train hard and eat clean. Carb loading during the day and minimal carb in the afternoon. Hopefully I'll be able to achieve my goal, and show off my abs next summer :p.

Other than my personal well being, I think I've improved a lot as a programmer. Overall I would say that 2008 is the year I started to be more active to improve my skill in my leisure time. Here are brief re-caps in things I started doing in 2008:

  • I started blogging!
  • I started to read blogs and tweets from some of the greatest minds in programming world.
  • I started to attend ALT .NET user group.
  • I started to explore programming concepts that I came across but never had a chance to try it at workplace.

I think im quite happy with my progress as a programmer. Im still going to do all of the aboves and more! I'm going to try to better manage my time to actualy do something worthwhile, something that can make money. Im thinking of creating a website, not sure what its about, but I have some ideas. This is going to be my target in 2009, Im going to start to write a web application. 2009, its gonna be an awesome year.

RWendi

Monday, January 05, 2009 11:37:27 AM UTC |  Comments [0]
Personal
All Content © 2010, RWendi