Monday, September 29, 2008

New Appliances

My electric range needs replacing ... Two of the ranges (the bigger ones) don't even work now and the rest are only working half the time. Oven still works great, but not the range. It is an old GE range and it is screaming for replacement.

My dishwasher is also broken. The water outlet is broken so sometimes there will be a "pool" of water on the bottom. If the water is left there, it will become a bacteria sweet spot - so we have to keep using the dishwasher periodically or cleaning the bottom and removing the water - which is a pain. We try to have it fixed but the parts are hard to find and expensive - almost as much as buying a new one.

So when the company I work for announce that we will be getting our bonuses, we are off to our search for new appliances: dishwasher, electric range, and a matching hood/vent.

Electric Range
For one reason and another, we decided to go with Whirlpool as our chosen brand of appliance. For our electric range, we wanted to go with "coil" instead of the ceramic glass cooktop - because we found that the coil "heats" better. Since we cook on regular basis, coil seems to be a better option. Plus, the ceramic glass is expensive to replace if it is damaged (could be $250 or more) - even though it is really really easy to clean and certainly looks better. The model that we went for is Whirlpool RF263LXS. We also got the vent/hood for it: RH3730XL

Dishwasher
For the dishwasher, we also went stainless to match with the range and the hood: DU1055XTS.

So what kind of "heavy duty" cooking are we doing on our range? Well, my wife cook almost everyday and about once a week we host a bible study group at our house on Saturday. So more often than not, the heaviest use of our range is on the weekend, where our friends and us must cook for our bible study group (abour 20 people).

We do not use the oven as much - which is why probably the oven is still in good shape. As Asians, most of our food are deep fried, stir-fry based or soup based - which means that almost all the cooking is happening on the cooktop instead of in the oven.

We ordered these last weekend and they will be shipped within this week. I hope they work as long as my old appliances are, for years and years and years.
-- read more and comment ...

Tuesday, September 23, 2008

Twitter Clients

Do you know what "twitter" is? If not, go check it out at http://www.twitter.com. It is basically a "micro-blogging" tool; where you can post 140 characters at a time about anything (from what you are doing now to anything you can think of). You can follow other people - meaning that everytime they "tweet" or post in their twitter account, you will get their post. People can also follow you - so anytime you post something, they will get it.

There are new outlets, engineers, gadgets reviewers, etc (including Barack Obama) that are in twitter - and you can follow them and get their posts.

Twitter.com provides a web interface where you can interact with your post (post new post, reply, direct message, etc). But, there are also several twitter clients out there that allow you to be twittering without opening up a web browser. I will review 2 of them in this post - which are ones I used the most.

1. Twhirl: http://www.twhirl.org
Twhirl has a nice UI, slim, almost YM/AIM/MSN like. It provides the basic Twitter functions such as: posting, replying, direct message, viewing particular people's tweet, fave-ing a tweet, shorten URL, etc.

It also has several things that are very appealing: changing colors, multiple twitter accounts, automatic checking for new version and upgrade, MSN like notifications for new tweets.

There are also several things that I wish were better in twhirl, such as: not limiting displayed tweets to 20 tweets, truncate/not display replies and direct messages from the past, and add functionality for "grouping" people.

2. TweetDeck: http://www.tweetdeck.com
Tweetdeck is not as pretty as Twhirl, but for what it can do, it does them well. Tweetdeck has this feature that allows you to create "groups" - so you can group people together. For example, you can group tweets from your work friends together in its own column and tweets from your family is a different column altogether.

Its notification system is only telling you how many tweet it got and belong to what group, so it is not as nice as Twhirl (which tells you the actual tweet). Tweetdeck is also capable to display more than your last 20 tweets and clean up past replies/directs nicely.

There you have it, the 2 client apps that I use for twittering and there are many more out there. If you do not know what Twitter is, I urge you to check it out and give it a try - and urge your friends to join as well. The more friends you have, the better and more fun it is.
-- read more and comment ...

Monday, September 15, 2008

C# Crap That Are New to Me ... and Maybe to You Too

I have been involved in software engineering for a while and have been using C# pretty much since it came out in .NET Framework. But every now and then, I encountered something that I have never seen before. This is my attempt to catalog them and share them.

I found some of these just by luck, some from books, some from my colleagues, some from the web sample codes, some from forums, etc etc. So, not everything in my list will be new for you ... but at least they were for (until 5 minutes ago).

If you have anything you want to add, post them in the comments and I will add them in the post with credits to you.

1. ?? (coalescing) operator
"??" (coalescing) operator is simplifying "?" (if-and-only-if) operator, but only for null checking. In "?" operator, you do this (with null):

string result = (x == null ? "no result" : x.ToString());
Now with "??" operator you can simply do this:
string result = x ?? "no result";

2. @ for string
Usually when you have a string assigned with some values, you will have to pay attention to escape characters, etc. With "@", you can literally use string as literals. See this example:
string result = @"c:\windows\my files\";
This line of code will actually produce the expected result "c:\windows\my files\". Without the "@", you will to write something like this:
string result = "c:\\windows\\my files\\";

3. @ for variable names that are also keywords
If you put "@" in front of your local variable, you can name it anything you want, including using keyword-like name, check this out:
string @string = "hello world";

4. C# property constructor initialization
So instead of doing this:
Person objPerson = new Person();
objPerson.Name = "Bob";
objPerson.Phone = "1-(800)-555-5555";
You can do this:
Person objPerson = new Person {Name = "Bob", Phone = "1-(800)-555-5555" };

5. yield
Look here for MSDN explanation.
-- read more and comment ...

Tuesday, September 9, 2008

Photography as a Hobby

I am a serious hobbyist in photography. From my days in high school with film, until now in the digital era - photography has been a nagging interest in my life. For a certain period of time, it's virtually missing in my life - because of a simple reason: my camera was stolen. Since that point, for about 4 years, I did not own a camera - until my dad bought my wife and I a Nikon D70.

Holding the camera and pressing the shutter button triggered the journalistic memory from my high school and early college days. My film camera was a Nikon and the D70 that we had still use the same lens mount (it is called F-mount for Nikon). When I got a chance, I took all my old lenses and tried it and they worked!

Nikon vs. Canon
I am a little bit biased to Nikon because I owned Nikon equipments, including some of my old gears from the film days. Ultimately, they are a matter of preferences and your legacy equipments. So when you are already invested in Canon gears, it makes sense to continue on that route, same thing if you are in Nikon. If you are already invested in a brand, it is quite costly to switch - and this alone (depending on your seriousness level in photography) will be a strong cause to NOT switch brand.

I like Nikon bodies, their ergonomics, single functioning dedicated buttons, sub-command dials, shutter placement, etc. On the other hand, Canon is a step ahead in lenses variety. For 70-200mm alone, Canon provides 4 varieties (70-200 f/2.8 L USM IS and non-IS, 70-200 f/4 L USM IS and non-IS) with their price differences while Nikon only provides 1 model (70-200 f/2.8 AF-S VR). Nikon on the other hand is way ahead on lighting/flash technology.

Each brand also has bodies that range from early beginner up to the pro model (from $450 to $8K). So take your pick and stick with it. People ask me all the time about this and usually my answer is for them to try them out and pick for themselves. One benefit if you going with Nikon if you are my closer friends is that you can borrow my lenses and other Nikon equipment.

Crop Sensor
Most digital SLR now have crop sensor. What that means is that the sensor area is smaller then the area of a regular 35mm film. If the sensor area is the same as 35mm film, we call it "full frame" sensor - this usually only applied in the highest model line (Nikon D3, Canon 1Ds, etc) or close to highest (Nikon D700, Canon 5D). The smaller sensor area means that there is a crop factor in comparison to the 35mm area. For Nikon, the crop factor is 1.5 and for Canon is 1.3 or 1.6 (depending on the model). Crop factor 1.5 means that the digital sensor is 1.5 times smaller in area compared to 35mm film.

There are several implications to this factor:


  • Wide is no longer wide. Since there is a crop, what used to be wide angle shot become not so wide anymore. Camera with crop sensor requires a WIDER lens to achive 35mm film/full-frame sensor width. So if you use a 20mm lens in a camera body with crop sensor, it will produce the similar result as if you are using a 35mm lens on a full-frame camera. 35mm = 1.5 * 20mm. To accommodate the need for wide angle shot, lens manufacturer create lenses especially for crop sensor that is super wide - but cannot be used in full-frame camera (or it will produce a fall-off or vignette).

  • On the other hand, a 200mm tele lens becomes a 300mm tele lens in a crop sensor camera! So in a way, crop sensor body provides more reach.
Lens line up
So what is a good lens line up that spans from wide angle to tele for hobbyist? There are virtually endless possibilities, but I will try to provide several options based on budget. A good line up usually spans from ultra-wide (20mm or wider) to tele (200mm). In daily usage, it is rare you will need beyond this range.

OK, here we go - I am going with Nikon in most cases btw, if you want Canon, there are equivalent lenses - Google it!
  1. Going SUPER EASY - crop factor (DX) - 1 lens fits all
    • Nikkor AF-S 18-200 f/3.5-5.6 VR - $650
  2. Going SUPER CHEAP (< $350) - crop factor (DX) - 2 lenses
    • Nikkor AF-S 18-55 f/3.5-5.6 DX - $110 ($170 if get the VR)
    • Nikkor AF-S 55-200 f/4.5-5.6 DX - $170 ($220 if VR)
  3. Going CHEAP (< $500) - crop factor (DX) - 2 lenses
    • Nikkor AF-S 18-70 f/3.5-5.6 DX - $250 (NO VR)
    • Nikkor AF-S 55-200 f/4.5-5.6 DX - $170 ($220 if VR)
  4. Going COMPROMISED (< $750) - crop factor (DX) - 2 lenses
    • Nikkor AF-S 16-85 f/3.5-5.6 DX VR - $580
    • Nikkor AF-S 55-200 f/4.5-5.6 DX VR - $220
  5. Going QUALITY (~ $1,000) - crop factor (DX) - 2 lenses
    • Nikkor AF-S 16-85 f/3.5-5.6 DX VR - $560
    • Nikkor AF-S 70-300 f/4.5-5.6 VR - $460
  6. Going PRO ($$$) - DX or FX - 3 lenses
    • Nikkor AF-S 14-24 f/2.8 - $1,600
    • Nikkor AF-S 24-70 f/2.8 - $1,600
    • Nikkor AF-S 70-200 f/2.8 VR - $1,600
Obviously, this list is not exhaustive. There are more possibilities out there. Configure your own from this list!

If you are into MACRO, you want to get a MACRO lens, OR ... a reversing ring, so that you can use your PRIME wide angle or normal lens in reverse to get a magnification close to a MACRO lens (or maybe more - depending on how you configure it).

Currently, have quite a line up:
  • Sigma 10-20 f/4-5.6 DX - since I am using a crop factor camera, this is my ultra wide angle lens (equiv to 15-35 in full frame or 35mm format)
  • Nikkor AF-S 17-35 f/2.8
  • AF-D 50mm f/1.4
  • AF-S 70-200 f/2.8 VR
  • AF-S 18-200 f/3.5-5.6 VR - my walkabout and daily lens
In this line up, I am still missing the normal zoom range - so I probably going to get AF-S 24-70 f/2.8 in the near future (or when I can finance it).

There you go! Photography hobby is not cheap - so buy only what is necessary and flee from trying acquiring the latest greatest every time, because it is a never-ending buying process if you allow it to be so. Photography can be very satisfying and if you are really good, you can make money of it too! Here are some of my photos:

-- read more and comment ...

Thursday, September 4, 2008

The Paradox of Egotism

“How can I find true happiness? / Abundant Life” Nothing is more “backward”/counter-intuitive that Jesus’ answer to this question. In fact, Jesus had a radically different answer.

During the last supper, Jesus knew that he was about to be betrayed, forsaken, arrested, unjustly condemned, beaten and killed. The room they were using for the last supper had no household slave to wash their feet. Jesus’ disciples were consumed with which one of them is the greatest, so none of them was about to admit he is lesser by assuming this role – and wash others’ feet.
Jesus eventually went down like a slave and washed their feet. After explaining that his action was a picture of his way of life, he said John 13:17

17 Now that you know these things, God will bless you for doing them.

This was not the first time Jesus tried to drive this point home to his disciples. He also taught it through a paradox that is the most frequently quoted of his paradoxes in the gospels, Matt 16:24-26

24 Then Jesus said to his disciples, “If any of you wants to be my follower, you must turn from your selfish ways, take up your cross, and follow me. 25 If you try to hang on to your life, you will lose it. But if you give up your life for my sake, you will save it. 26 And what do you benefit if you gain the whole world but lose your own soul? Is anything worth more than your soul?

This passage not only suggests that if you are willing to lose your life you will save it – it also strongly rejects the world’s culture of selfish living to achieve life-fulfillment (abundance) – by saying that selfish living will eventually destroy/lose one’s life.

Self-Centered Life Will Destroy Your Life

Consider this passage in 2 Tim 3:
1 You should know this, Timothy that in the last days there will be very difficult times. 2 For people will love only themselves and their money. They will be boastful and proud, scoffing at God, disobedient to their parents, and ungrateful. They will consider nothing sacred. 3 They will be unloving and unforgiving; they will slander others and have no self-control. They will be cruel and hate what is good. 4 They will betray their friends, be reckless, be puffed up with pride, and love pleasure rather than God. 5 They will act religious, but they will reject the power that could make them godly.

This passage teaches about the problems that will be developed when people are away from God – which is that people will focus on themselves (vs. 2, 4, and 5).
Living for self means several things according to this passage:
1. Loving money
2. Establishing a proud identity
3. Hedonism

When people are living for self, what we see above is quite reflective of what we see in 1 John 2 (lust of the eye, lust of the flesh, and the boastful pride of life) – there is no logical alternative that will make sense. Living for self means I must create my own sense of significance, satisfy my own needs, and make myself happy. The other problems are just some resulting damages that result from our selfishness.
-- read more and comment ...