Wednesday, August 11, 2010

It's time to give up old thoughts

I always had thoughts and impression that digital cameras from non-photo companies like Samsung, Panasonic and the likes will never be as good as those coming from the experts in the field like Nikon, Cannon, or Olympus. Apparently I had been totally wrong. Recently I bought Olympus 800UZ because (1) it has a really great zoom (30x - can you believe that?) and (2) it comes from one of the photo experts. After shooting pictures and videos for 2 days, I didn't feel particularly satisfied with the photo and video quality at all. The pictures look dull and burned and videos look blurry. I thought I was me not knowing how to use the camera. So I went through every single page of the manual and adjusted any possible settings to see if the quality would improve. Nothing got better. I got to the point that I thought I should look for a new one and return this one while I still could. I was looking around and found Samsung WB600/HZ30W. It was totally skeptical with it because of the thoughts/impression I had. However, I saw many videos shot by this camera in youtube and they all looked very stunning. I also saw pictures people taken with this camera on the Internet and they look pretty impressive to me - bright, vivid, crisp and and super clear. So I went ahead buying it (still kept 800UZ) with the second thought that at worst I would just return it. Apparently I was totally wrong. This camera is not only easy to use, it most of the time gives out extremely high quality pictures and videos. I am totally impressed and sold by it. After a couple days of using it, I came to the conclusion that returning 800UZ is definitely the right thing.

So anyone who have the same thoughts I did, you might find that giving a try the products from these non-photo companies is a very good idea. I was thinking maybe I should also be giving some thoughts about Kia and Hyundai cars and the likes too! Or maybe it's a stretch...

Sunday, December 06, 2009

The real Mac experience

Finally my Mac arrived and I have been using it for almost 2 weeks now. Honestly, the feeling of owning a Mac is a bit of a bit, leaning toward the good side though having some reservation.

First, the machine hardware looks really nice. I have never seen any laptop/machine that's this quiet. I couldn't hear the fun running at all even though I run a lot of programs or computation-intenstive programs like compilers. The screen, keyboard, speaker, all form factors are pretty good-looking. I am pretty impressed with it.

Second, I start to learn more how the life is like with Mac OS X. It's a good feeling with Unix core as it makes the system so DARN stable. I didn't have to reboot the machine at all other than from applying the system updates. Mac Mail crashed on me a couple times (I think it tried to get me set up with an account and I kept rejecting it) but it never interfere other programs. Everything runs just as if it were the only program in the system. I tried going around the terminal windows to see how files are structured. It's that hard to understand where things are, though with limited Unix knowledge I have.

Third, the bad part that I currently don't like about the machine is the missing of home/end keys. Like one of the blogs I ran into, people (especially the designer at Mac Pro laptop) simply undervalue these keys. Seriously, it makes my life a bit harder than it should be. I know that people saying that you can use command-left/right arrow keys to make it up. But hey, it's really not the same. Not sure if it's only me, I found that not all program support that. That key combination work fine with Mac software but, say Firefox, it doesn't appear that way, at least when I was playing with it.

Anyhow, so far, I like this machine and I am sure I haven't scratched its surface as far as its power and usability is concerned.

Tuesday, November 24, 2009

Hello From Mac

After having used DOS/Windows for so many years, I am using Mac now. Just got today from buying from Amazon. This is my first Mac and I need to learn a lot of stuff, especially how to install programs and whatnot. I am going to use it for iPhone software development. Hopefully I can make it pay off for it self. This machine is not cheap.

Friday, November 20, 2009

I'm now a Mac switcher

It's been a while that I have mocking people who paid premium to buy their Mac machine. I am now one of them. The main reason is that I need it for iPhone application development. I recently moved to mobile banking department and I am charged to supervise device application development which includes iPhone. Studying its architecture and API, I really fall in love with it. I didn't know Objective-C before and now start learning it. It's a pretty cool language, nice combination of dynamism and speed of C language. Also I start understanding more of what Mac OS X is. It's a cool OS where you can get to use real UNIX os for real with pretty cool hardware and amazing graphics. I like Ubuntu but surely Mac is better.

I made an order for MacBook Pro 2.54GHz yesterday and look forward to getting it sometime next week. I will need to spend sometime learning how to use it because I have never used Mac before. Hopefully I will still have good impression with it when I use it for real. Regardless, I need to cash it in from selling iPhone app that I am planning to develop.

Finally Linux 64-bit on my laptop - thanks to Ubuntu

I have been dreaming of using Linux day to day on my HP laptop which is installed with Windows Vista. I really Vista for its useless UI improvement (I don't really see any advantage that I can take on a daily basis) and the frequency it crashes or stop responding mysteriously. I have been trying Ubuntu and other Linux flavors for a while but only successful at the virtual machine level because they always have issue with my laptop hardware. When Ubuntu release its 9.1 release, I tried it out and it seems working perfectly (except hibernate/suspend) on the laptop. More importantly, this is the 64-bit version I am talking about. I am very happy because my laptop cpu has been underused because Vista I have is 32 but. Now I am able to unlock its potentially by running 64-but Linux on it. I am doing a lot of programming in several languages ranging from very low level as C to very high level as Haskell and Groovy. The performance is impressive, and clearly much better than when it runs Vista.

I now use half of the HD to run Ubuntu and rarely boot into Vista. Hopefully I will be able to completely switch off from Windows some time soon.

Sunday, August 23, 2009

Scala, another language I am "trying" to look at

After blogging about Groovy last time, I have found myself now taking a more serious look at Scala language. I have been looking at this language several times already but not as deeply and seriously as this time. Why? I happened to run into a blog of Groovy's creator. The funny thing is that he praised Scala so much that he even mentioned that he wouldn't have created Groovy if he knew Scala before. With that kind of statement, I am so curious if this language is really worthwhile spending time with.

So far I have read about 1/3 of the classic Scala book "Programming in Scala". Found something new and old, kind of get mix feeling of both good and "so-so". I guess that there would be more good surprise later. I just want to see if it's good enough if I use for my website.

Let's see.

Thursday, July 09, 2009

What I was trying to find is Groovy

In the last blog, I was complaining about Ruby that its support for character encoding is poor and makes it very hard for me to write the web app I was working. I finally found that what I really looked for was Groovy. At first when I ran into this language, I was very very skeptical. I was thinking that it was just another fancy scripting language like Ruby and Python. What turned out is, after spending time with it, that I really like the language. I can leverage everything Java has in this language while being able to write concise program in it. The Grails framework is exceptional as well. With them, I eventually was able to complete the web app very succesfully and very satisfactorily.

With Groovy, I in fact also start using it at work. It is really a great language. It's almost like a glue to everything. I use it to create new flexible components and configurable web service call (this is what I am going to share back to Groovy community - I really hate the current library for web service client).

So anyone interested in it, I strongly recommend you to give it a serious look. I have used Ruby and I know that it's just a highly hyped language. I don't know much about Python so I can't comment on that.

Wednesday, August 13, 2008

Ruby is just not what I'm looking for.

Recently I started the development of a website. It's small website that's, from the outset, just a job search website. However, behind the scene, what it does it to aggregate the job information from several (15 at this point) websites together and present to the user in one place. Internally, it's a fairly complex system because it has a lot of concerns mixed into it such as character encoding, networking, multithreading, synchronization, extensibility.

I started it off with Ruby on Rails because I bought a book about it and read it through out, but never got a chance to write anything significant with it. I tried using it and start appreciating Ruby language itself. It has many nice features and whatnots. However, when it came to connecting to other job website and extract the data, Ruby on Rails is just a big mistake that I made in choosing it for this website.

From my perspective, the problem with it is that the character encoding libraries are just so poor. So poor that I have to almost do everything myself to make sure that the data received are all consistent, instead of using the library. For those familiar with Java, you know right away how a good library should look. It's not even close in Ruby. Basically, I have to be so aware of all the idiosyncrasies with encoding and decoding, instead of being able to focus on the problem at hands.

That's not the worst part of it though. The worst part comes from the language itself. You might have heard that Ruby's classes are open. One can always modify the behavior the existing classes, including the system ones. This sounds good but in practice this is a very stupid idea. I have to say this because this simply bring us back to the era where everypart of the system can modify everything.

How did that contribute the problem I had? Part of data extraction I did is to use lots regular expressions to recognize pieces of the data the system cares about. As it turns out, the regular expression works one way when running in Rails environment and another when running in non Rails. That means I could not just run a short script outside Rails to do prototypes. Then I faced things like: it works when running alone then stop working when running in Rails. And the vice versa.

For God sake, I have to exclaim this because it wasted a lot of time playing around with it. At this point, without any bias, I can tell you that Ruby is a good scripting language for small stuff that you just write it and run it once in a while. However, I can guarantee you that it will NEVER EVER be the language of choice for medium to larget system, so long as the feature that allows people to change the existing class behaviors still exist.

For those who really like the language, I would like you to try it with data extraction that has many different encoding in different languages and use regular expression in it. And you'll see what I mean and it might change your perspective.