<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11036588</id><updated>2011-04-21T17:00:16.492-07:00</updated><title type='text'>Vacuum Fluctuation</title><subtitle type='html'>A blog on the nature of our existence... or something silly like that.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11036588.post-5498181632570564991</id><published>2008-01-09T23:51:00.000-08:00</published><updated>2008-01-10T00:40:27.094-08:00</updated><title type='text'>Gmail Label Sort Order</title><summary type='text'>I am taking the "Getting Things Done" training class taught by Kelly Forrister, a consultant from the David Allen Company. One of the tools can be used for GTD is gmail, and she wrote a nice article to explain how it's done. It basically involves creating a bunch of "@" labels for your action lists, a bunch of project labels for your projects, and corresponding filters and contacts and such.The </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/5498181632570564991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=5498181632570564991&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/5498181632570564991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/5498181632570564991'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2008/01/gmail-label-sort-order.html' title='Gmail Label Sort Order'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-6980557709073389266</id><published>2007-06-18T12:25:00.000-07:00</published><updated>2007-06-18T12:31:26.422-07:00</updated><title type='text'>The facebook poking game</title><summary type='text'>Here is how to play:Go to http://www.google.com/alerts and set up an alert for, say, "facebook". You can choose "comprehensive" or "blogs" only.Once you start getting your google alert emails, find the blogger or news reporter who complains "what's the point of facebook? I don't get it."Search for their name in facebook.Poke them!Have fun playing! :-)</summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/6980557709073389266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=6980557709073389266&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/6980557709073389266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/6980557709073389266'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2007/06/facebook-poking-game.html' title='The facebook poking game'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-2494261996880661549</id><published>2007-04-13T14:25:00.000-07:00</published><updated>2007-04-13T14:30:03.651-07:00</updated><title type='text'>Alien Territory</title><summary type='text'>Our area used to be where the Google Earth team sits. Yesterday someone came by, popped his head in our cube, and asked, "so this is not Earth any more?"To which I could only reply, "no, this is Mars now."</summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/2494261996880661549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=2494261996880661549&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/2494261996880661549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/2494261996880661549'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2007/04/alien-territory.html' title='Alien Territory'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-116428274027472956</id><published>2006-11-23T03:34:00.000-08:00</published><updated>2006-11-23T04:13:04.813-08:00</updated><title type='text'>installing flash on mac book pro</title><summary type='text'>I was constantly annoyed by firefox 2.0 hanging on my otherwise sweet mac book pro. Apparently I wasn't the only one having this problem. I finally bit the bullet and uninstalled the whole thing, which involved dragging the application itself and ~/Library/Application Support/Firefox to trash, and started over. And all was well. I haven't had any hangs so far, even after installing a gazillion </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/116428274027472956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=116428274027472956&amp;isPopup=true' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/116428274027472956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/116428274027472956'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2006/11/installing-flash-on-mac-book-pro.html' title='installing flash on mac book pro'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-116243274492114132</id><published>2006-11-01T17:19:00.000-08:00</published><updated>2006-11-01T17:59:05.126-08:00</updated><title type='text'>4 GB per month photo sharing for free</title><summary type='text'>My flickr pro account expired a few weeks ago. All my neatly arranged sets were gone except one. Each one of my big-ass photos were reduced to a paltry 1024x768. My thousands upon thousands of photos are cut down to 200. I guess I could have continued paying for the $24.95 per year pro account, but having recently moved to the Bay Area and saving for down payment on one of those million dollar </summary><link rel='related' href='http://www.techcrunch.com/2006/11/01/zooomr-doubles-flickrs-monthly-photo-upload/' title='4 GB per month photo sharing for free'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/116243274492114132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=116243274492114132&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/116243274492114132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/116243274492114132'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2006/11/4-gb-per-month-photo-sharing-for-free.html' title='4 GB per month photo sharing for free'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-116119850403731872</id><published>2006-10-18T12:02:00.000-07:00</published><updated>2006-10-18T12:08:24.053-07:00</updated><title type='text'>Google vs. Yahoo in Ad Revenues</title><summary type='text'>A few pictures are worth a thousand words:Via http://www.emarketer.com/Article.aspx?1004217.</summary><link rel='related' href='http://www.emarketer.com/Article.aspx?1004217' title='Google vs. Yahoo in Ad Revenues'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/116119850403731872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=116119850403731872&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/116119850403731872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/116119850403731872'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2006/10/google-vs-yahoo-in-ad-revenues.html' title='Google vs. Yahoo in Ad Revenues'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-115284039281664332</id><published>2006-07-13T18:23:00.000-07:00</published><updated>2006-07-13T18:27:18.480-07:00</updated><title type='text'>Kent Beck: Ease At Work</title><summary type='text'>Kent Beck, father of XP and JUnit, talks about being at ease with your inner geekiness. You can watch the video here:http://video.google.com/videosearch?q=kent+beck&amp;page=1&amp;so=2Very insightful. Enjoy!</summary><link rel='related' href='http://video.google.com/videosearch?q=kent+beck&amp;page=1&amp;so=2' title='Kent Beck: Ease At Work'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/115284039281664332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=115284039281664332&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/115284039281664332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/115284039281664332'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2006/07/kent-beck-ease-at-work_13.html' title='Kent Beck: Ease At Work'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-114738256104610438</id><published>2006-05-11T13:33:00.000-07:00</published><updated>2006-05-11T14:22:41.093-07:00</updated><title type='text'>Hello Google, goodbye blogger (well, sort of)</title><summary type='text'>As many of my dear readers have come to known (yes, I am talking to both of you), I recently started at Google, and my blog postings will probably be even less frequent than they are now. For two reasons: one, there is just so much to do at Google, I won't have time to put up my random thoughts any more; two, Google is very strict on what can and cannot be talked about outside the company, so the</summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/114738256104610438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=114738256104610438&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/114738256104610438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/114738256104610438'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2006/05/hello-google-goodbye-blogger-well-sort.html' title='Hello Google, goodbye blogger (well, sort of)'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-114185219369059465</id><published>2006-03-08T13:06:00.000-08:00</published><updated>2006-03-13T10:18:28.140-08:00</updated><title type='text'>Extending FitNesse through widgets</title><summary type='text'>If you've been doing XP/Agile development for a while, chances are you've run into the "holy trinity" of acceptance testing: Fit/FitNesse/FitLibrary. In a nutshell, Fit allows customers and testers to write tests as HTML tables, which are hooked to your code through "fixtures"; FitNesse builds on top of Fit, providing a wiki server so you can write tests as wiki pages and run them directly from </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/114185219369059465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=114185219369059465&amp;isPopup=true' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/114185219369059465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/114185219369059465'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2006/03/extending-fitnesse-through-widgets.html' title='Extending FitNesse through widgets'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-113822163938579260</id><published>2006-01-25T11:22:00.000-08:00</published><updated>2006-01-25T12:40:39.400-08:00</updated><title type='text'>Taming iTunes with Python</title><summary type='text'>Thanks to the gazillions of iPods sold, iTunes is arguably the world's most popular organizer for music, among other things. That's just fine, as iTunes has a fairly intuitive and polished interface, and handles most organizing tasks with ease. But sometimes iTunes behaves like a toddler throwing a tantrum that makes you want to pull all your hair out.Case in point. I have a bunch of mp3 files I </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/113822163938579260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=113822163938579260&amp;isPopup=true' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/113822163938579260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/113822163938579260'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2006/01/taming-itunes-with-python.html' title='Taming iTunes with Python'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-113474922316002459</id><published>2005-12-16T07:55:00.000-08:00</published><updated>2005-12-16T08:07:03.170-08:00</updated><title type='text'>Gmail Mobile unleashed</title><summary type='text'>When I was playing with the wireless internet on my new razr, the only big thing missing seemed to be gmail. Out of the box cingular has support for yahoo mail and a few other providers, but gmail is noticeably missing. I looked around a little there were some open source and commercial solutions, but none of them seemed good enough.Now google finally got their act together and released Gmail </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/113474922316002459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=113474922316002459&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/113474922316002459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/113474922316002459'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/12/gmail-mobile-unleashed.html' title='Gmail Mobile unleashed'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-113338873708268313</id><published>2005-11-30T11:33:00.000-08:00</published><updated>2005-12-01T09:43:10.236-08:00</updated><title type='text'>J2ME rocks!</title><summary type='text'>I must be the last person on this planet to get a java-enabled cell phone. After years struggling with my "roaming" Sprint phone (bad reception both at work and at our house), I finally gave it up and got a black Motorola Razr v3 from Cingular. The phone itself is ok, some would say fashionable, but I am more interested in playing with its J2ME capabilities.Armed with nothing more than the razr, </summary><link rel='related' href='http://www.google.com/glm' title='J2ME rocks!'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/113338873708268313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=113338873708268313&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/113338873708268313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/113338873708268313'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/11/j2me-rocks.html' title='J2ME rocks!'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-112561240937350425</id><published>2005-09-01T14:01:00.000-07:00</published><updated>2005-09-01T15:06:49.380-07:00</updated><title type='text'>Hibernate inheritance mapping with hsqldb</title><summary type='text'>Hibernate supports three inheritance mapping strategies:table per class hierarchytable per subclasstable per concrete classThe first two are pretty straightforward. Basically the first strategy maps the whole class hierarchy into one table, and classes are differentiated by a discriminator column. The second strategy maps the base class into one table, and additional attributes in subclasses are </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/112561240937350425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=112561240937350425&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112561240937350425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112561240937350425'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/09/hibernate-inheritance-mapping-with.html' title='Hibernate inheritance mapping with hsqldb'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-112500381144904861</id><published>2005-08-25T13:29:00.000-07:00</published><updated>2005-08-25T14:03:31.463-07:00</updated><title type='text'>Hibernate report query</title><summary type='text'>I am still in training, but the last few days' material and lab work has been heavier than the first day's, so I didn't have any time to blog. We are deep in hibernate territory now, and I have to say, hibernate report query is pretty impressive stuff.I've been using ORM tools for a while, first with JDO, then hibernate. Every time I try to tell some seasoned JDBC developer to use hibernate, </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/112500381144904861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=112500381144904861&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112500381144904861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112500381144904861'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/08/hibernate-report-query.html' title='Hibernate report query'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-112474691217850644</id><published>2005-08-22T14:31:00.000-07:00</published><updated>2005-08-22T14:43:16.573-07:00</updated><title type='text'>Spring/Hibernate Training 4</title><summary type='text'>RTFDTDFor an open source project, spring has pretty good documentation. Their reference manual is in both HTML and PDF format, and is updated frequently for new releases. But still, sometimes the reference manual lags behind the rather active development process, and it doesn't cover every last bit of information.For xml context files, surprisingly, everything you want to know is in the DTD. The </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/112474691217850644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=112474691217850644&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112474691217850644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112474691217850644'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/08/springhibernate-training-4.html' title='Spring/Hibernate Training 4'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-112474522858068336</id><published>2005-08-22T13:56:00.000-07:00</published><updated>2005-08-22T14:14:57.016-07:00</updated><title type='text'>Spring/Hibernate Training 3</title><summary type='text'>A simpler way to define propertiesThe spirng xml context files are, well, xml, so they can be verbose at times. One of the worst offenders is for defining properties:&lt;properties name="myProperties"&gt;  &lt;props&gt;    &lt;prop key="myFirstKey"&gt;myFirstValue&lt;/prop&gt;    &lt;prop key="mySecondKey"&gt;mySecondValue&lt;/prop&gt;  &lt;/props&gt;&lt;/properties&gt;The same properties can be expressed as this:&lt;properties name="myProperties</summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/112474522858068336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=112474522858068336&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112474522858068336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112474522858068336'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/08/springhibernate-training-3.html' title='Spring/Hibernate Training 3'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-112474332056034610</id><published>2005-08-22T12:44:00.000-07:00</published><updated>2005-08-22T13:53:46.910-07:00</updated><title type='text'>Spring/Hibernate Training 2</title><summary type='text'>Five ways to wire up collaboratorsThis must be in the spring manual somewhere. But, well, who reads manuals? So here are the five ways to inject dependencies (and some of my thoughts):First, via constructors. This would make an oject purist happy, as the objects would be in a consistent state after construction. The drawback is if you have more than one constructor argument, even just two or </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/112474332056034610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=112474332056034610&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112474332056034610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112474332056034610'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/08/springhibernate-training-2.html' title='Spring/Hibernate Training 2'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-112473889605350027</id><published>2005-08-22T12:12:00.000-07:00</published><updated>2005-08-22T13:48:50.853-07:00</updated><title type='text'>Spring/Hibernate Training 1</title><summary type='text'>This week I am at a week-long on-site Spring/Hibernate training class taught by Richard Hightower. Now, I've been doing this stuff for a while, so most of the material is not new to me. But still, I am finding bits of interesting information here and there. So here is my "real time" blog on the stuff that other people might also find useful.Id vs. nameIn spring context files, bean definitions can</summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/112473889605350027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=112473889605350027&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112473889605350027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112473889605350027'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/08/springhibernate-training-1.html' title='Spring/Hibernate Training 1'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-112231366656466920</id><published>2005-07-25T10:23:00.000-07:00</published><updated>2005-07-25T12:24:31.523-07:00</updated><title type='text'>What kind of Asian are you?</title><summary type='text'>Found this floating on the net somewhere. Saving it here for posterity. I am not exactly young any more, so these catetories don't really fit me :). I only hope my son doesn't grow up to be a twinkie.What Kind Of Asian Are You?Young Asians in America come in many forms. Below are the major categories. Most Asians fit into multiple groups. For example, Rice-boys can also be Fobs and many Tabs are </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/112231366656466920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=112231366656466920&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112231366656466920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112231366656466920'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/07/what-kind-of-asian-are-you.html' title='What kind of Asian are you?'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-112209309717907931</id><published>2005-07-22T21:16:00.000-07:00</published><updated>2005-07-22T22:05:06.876-07:00</updated><title type='text'>Fios Update</title><summary type='text'>As I stated in my previous post, Verizon is scheduled to come light the fiber to our house on Tuesday. Yesterday when I got home I found a flyer on the door handle, telling me that Housley Communications, LTD — a subcontractor I suppose — will be "placing telephone cable for Verizon at your home. Work will be done in the front utility easement. If you have any questions or concerns, please </summary><link rel='related' href='http://www.verizonfios.com' title='Fios Update'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/112209309717907931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=112209309717907931&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112209309717907931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112209309717907931'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/07/fios-update.html' title='Fios Update'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-112199139786609888</id><published>2005-07-21T16:13:00.000-07:00</published><updated>2005-07-21T18:51:53.013-07:00</updated><title type='text'>Yuans and Senses</title><summary type='text'>I am not an economist; in fact, I don't even play one on the web; so I won't pretend to understand the first thing about international finance or currency evaluation. What I do have is common sense, and a logical mind — at least I hope so, as my livelihood depends on it. When I heard some people complaining on NPR that today China's adjustment of her currency, renminbi yuan, is too little, not </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/112199139786609888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=112199139786609888&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112199139786609888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112199139786609888'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/07/yuans-and-senses.html' title='Yuans and Senses'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-112180623907069984</id><published>2005-07-19T13:06:00.000-07:00</published><updated>2005-07-19T16:52:11.560-07:00</updated><title type='text'>I am going fiber optic</title><summary type='text'>When we bought our house in this sleepy suburban town, full of subdivisions bordered with gentle rolling hills and grazing cattle, you'd never have thought it as a technology hotbed. Apparently someone thought differently. About a month ago these men drove into our neighborhood with utility trucks (my two-year-old had a blast saying "u-ti-li-li truck") and Ditch Witch trenchers, started digging </summary><link rel='related' href='http://www.verizonfios.com' title='I am going fiber optic'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/112180623907069984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=112180623907069984&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112180623907069984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112180623907069984'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/07/i-am-going-fiber-optic.html' title='I am going fiber optic'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-112143985175495523</id><published>2005-07-15T07:28:00.000-07:00</published><updated>2005-07-15T08:04:11.760-07:00</updated><title type='text'>XSLT engines are not created equal</title><summary type='text'>It's been a while since my last entry. It's not that I am too lazy to write anything; it's just that my daily grind has become so mundane and mind-numbing I hardly ever had any idea for a new entry. Maybe that's a sure sign telling me to start looking for a new job.Anyway, we are building this diff tool that compares airline schedule files. It's quite sophisticated now from its humble, simple </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/112143985175495523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=112143985175495523&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112143985175495523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/112143985175495523'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/07/xslt-engines-are-not-created-equal.html' title='XSLT engines are not created equal'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-111540706898851917</id><published>2005-05-06T12:24:00.000-07:00</published><updated>2005-05-06T12:17:49.010-07:00</updated><title type='text'>Globalsourcing in the real world</title><summary type='text'>If you are like me, you probably thought globalsourcing as the ominous black clouds far out in the horizon promising a big thunderstorm that never came. It's just an excuse used by the suits to deny you pay raises and threaten you with layoffs if you don't behave. I don't know about you, but I am seeing hail the size of golf balls.We have a small project that's being developed by a couple </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/111540706898851917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=111540706898851917&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111540706898851917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111540706898851917'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/05/globalsourcing-in-real-world.html' title='Globalsourcing in the real world'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-111530955121402840</id><published>2005-05-05T08:55:00.000-07:00</published><updated>2005-05-05T09:12:31.243-07:00</updated><title type='text'>The Firefox Underground</title><summary type='text'>I ran into this little firefox hack a while back that does wonders for your love/hate relationship with google, if you are using firefox (doesn't everyone?). Mark Pilgrim's "Butler" strips out most Google ads, removes copying restrictions in Google Print, adds alternative search results to nearly every Google service. It's "sticking it to the man", without diminishing google's usefulness.But </summary><link rel='related' href='http://diveintomark.org/projects/butler/' title='The Firefox Underground'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/111530955121402840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=111530955121402840&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111530955121402840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111530955121402840'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/05/firefox-underground.html' title='The Firefox Underground'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-111453211485337690</id><published>2005-04-26T09:04:00.000-07:00</published><updated>2005-04-26T09:15:14.853-07:00</updated><title type='text'>Cool Firefox Extension</title><summary type='text'>Here is a little firefox extension named after a mammal that gives you the capabilities to dynamically manipulate the HTML elements on your loaded page. My immediate thought for this is to use it to clean up the pages you want to print out. In fact, I used this extension to clean up its own homepage so that I can print out the keyboard shortcuts. A sort of self mutilation on its end. :)</summary><link rel='related' href='http://www.karmatics.com/aardvark/' title='Cool Firefox Extension'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/111453211485337690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=111453211485337690&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111453211485337690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111453211485337690'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/04/cool-firefox-extension.html' title='Cool Firefox Extension'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-111279724302789376</id><published>2005-04-06T07:05:00.000-07:00</published><updated>2005-04-06T07:20:43.030-07:00</updated><title type='text'>Google Map with satellite view</title><summary type='text'>My blog is quickly turning into a google blog. But what can I do? They just have so many cool new features so appealing to a geek.This morning as I was walking in, our UI guru stopped me, "have you looked at google map since yesterday? They've got satellite images now." Sure enough, on the top right hand corner of the google map page there is a link called "Satellite" with the obligatory New! </summary><link rel='related' href='http://maps.google.com/' title='Google Map with satellite view'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/111279724302789376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=111279724302789376&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111279724302789376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111279724302789376'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/04/google-map-with-satellite-view.html' title='Google Map with satellite view'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-111237272124994404</id><published>2005-04-01T08:12:00.000-08:00</published><updated>2005-04-01T08:25:21.250-08:00</updated><title type='text'>Gmail not supporting Firefox?!</title><summary type='text'>Somehow I feel this must be an April Fool's joke. This morning I logged into Gmail with Firefox, and this ugly "basic HTML view" showed up, on the top it says "For a better Gmail experience, use a fully supported browser." You got be kidding me, right? I checked my Firefox version, it was at 1.0.1. Went to Firefox's site and saw they have 1.0.2 out, so I downloaded and installed that. Came back </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/111237272124994404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=111237272124994404&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111237272124994404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111237272124994404'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/04/gmail-not-supporting-firefox.html' title='Gmail not supporting Firefox?!'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-111176676268374769</id><published>2005-03-25T07:55:00.000-08:00</published><updated>2005-03-25T08:06:02.686-08:00</updated><title type='text'>Amazon Suggest</title><summary type='text'>Apparently XMLHttpRequest is the next "god" object and AJAX will do to web development what XML did to, well, everything. Following the fine tradition of google suggest, this guy hacked together (in the original, and the best sense of the word "hack") "Amazon Zuggest", complete with graphics, personal history and global history. Pretty cool stuff. Or should I say, amazing ztuff?!</summary><link rel='related' href='http://www.francisshanahan.com/zuggest.aspx' title='Amazon Suggest'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/111176676268374769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=111176676268374769&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111176676268374769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111176676268374769'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/03/amazon-suggest.html' title='Amazon Suggest'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-111161297006409102</id><published>2005-03-23T12:42:00.000-08:00</published><updated>2005-03-23T13:22:50.066-08:00</updated><title type='text'>How to Start a Startup</title><summary type='text'>I've dreamed of starting my own startup ever since grad school. At the time the inspiration was the story of this bunch of geeks from Stanford and Berkeley who put a workstation together with open system software and started selling it, and turned it into such a huge success that some of the founders retired before the age of 30. Well, you guessed it, it was Sun Microsystems.Then I got out of </summary><link rel='related' href='http://www.paulgraham.com/start.html' title='How to Start a Startup'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/111161297006409102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=111161297006409102&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111161297006409102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111161297006409102'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/03/how-to-start-startup.html' title='How to Start a Startup'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-111116888405626378</id><published>2005-03-18T09:45:00.000-08:00</published><updated>2005-03-18T10:32:30.730-08:00</updated><title type='text'>Adobe Reader 7.0</title><summary type='text'>I really hated Adobe Acrobat 6. Every time I click on a PDF link, the whole computer would freeze, and this splash screen comes on, showing it's loading millions of modules and plugins. It takes eternity to actually see the document.Today I finally upgraded to Adobe Reader 7.0 (they dropped the "acrobat"). I am amazed how much optimization they've done on the startup time. The document almost </summary><link rel='related' href='http://www.adobe.com/products/acrobat/readstep2.html' title='Adobe Reader 7.0'/><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/111116888405626378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=111116888405626378&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111116888405626378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111116888405626378'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/03/adobe-reader-70.html' title='Adobe Reader 7.0'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-111057478222866275</id><published>2005-03-11T12:20:00.000-08:00</published><updated>2005-03-11T13:04:10.996-08:00</updated><title type='text'>(Dr. Seuss') The Hacker in the Diaper</title><summary type='text'>When we moved into our first house last year, it had a security alarm system from the previous owner. We never bothered to hook it up with a monitoring service, so the whole system was sitting there unused.Until last night, our two-and-half-year-old son somehow discovered he could reach the keypad near the front door (he is tall for his age), and started punching the keys like crazy. It was </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/111057478222866275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=111057478222866275&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111057478222866275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111057478222866275'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/03/dr-seuss-hacker-in-diaper.html' title='(Dr. Seuss&apos;) The Hacker in the Diaper'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-111049240924201501</id><published>2005-03-10T13:10:00.000-08:00</published><updated>2005-03-10T14:06:49.246-08:00</updated><title type='text'>Meeting travelocity CEO</title><summary type='text'>Yesterday I met with Travelocity's CEO, Michelle Peluso, and I was impressed. Travelocity is our sister company, so our manager got her to give us a "pep talk". Before I went, I thought it'd be another one of those boring, long-winded management speeches. It turned out to be anything but. She was honest, articulate and to the point. She talked about how when she first joined Travelocity we'd </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/111049240924201501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=111049240924201501&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111049240924201501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111049240924201501'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/03/meeting-travelocity-ceo.html' title='Meeting travelocity CEO'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-111031568224313475</id><published>2005-03-08T13:01:00.000-08:00</published><updated>2005-03-08T13:01:22.246-08:00</updated><title type='text'>Measuring OO-ness</title><summary type='text'>Like most developers, I don't really care for software metrics. Writing good software is more like an art (or black magic, if you will) than an exact science. It takes years of learning and experience just to recognize good code, let alone writing it. A mathematical formula simply won't cut it for measuring code quality.But still, I've always hoped that there'd be a simple method to determine how</summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/111031568224313475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=111031568224313475&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111031568224313475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/111031568224313475'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/03/measuring-oo-ness.html' title='Measuring OO-ness'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-110960577382181208</id><published>2005-02-28T07:17:00.000-08:00</published><updated>2005-02-28T07:49:33.823-08:00</updated><title type='text'>Fun with Unicode</title><summary type='text'>I've been working on this application that has a Swing frontend which is being generated from Visio diagrams in Visual Basic (don't laugh, it's actually pretty clean code). I need to populate this huge form from our domain objects. The problem is, we don't have all the needed fields in our domain objects (yet). I can make the form come up with all these empty textfields, but it's hard to tell if </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/110960577382181208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=110960577382181208&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/110960577382181208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/110960577382181208'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/02/fun-with-unicode.html' title='Fun with Unicode'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-110928688691707177</id><published>2005-02-24T15:01:00.000-08:00</published><updated>2005-02-24T15:14:46.916-08:00</updated><title type='text'>Suicidal code</title><summary type='text'>Have you seen code that's so bad if it had any feeling it would trigger an EMP next to the source control server to commit suicide? Well, I have. And here is an example: public synchronized void invoke(AbstractCommand command) {    if (command == null) return;    remoteDoIt(command);    if (command instanceof Undo)    {       undo();       return;    }    if (command instanceof Redo)    {       </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/110928688691707177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=110928688691707177&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/110928688691707177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/110928688691707177'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/02/suicidal-code.html' title='Suicidal code'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11036588.post-110919508891379822</id><published>2005-02-23T12:30:00.000-08:00</published><updated>2005-02-24T08:13:50.326-08:00</updated><title type='text'>Spring remoting compared</title><summary type='text'>Spring framework supports several remoting mechanisms. I've always wondered how they perform comparing to each other. So today I did a quick a comparison. In the application we are developing, the Swing GUI client retrieves several thousand objects from the server at startup. With straight RMI, the retrieval typically takes 1-2 seconds.To test the other methods (Spring's HTTP invoker, Hessian, </summary><link rel='replies' type='application/atom+xml' href='http://rongou.blogspot.com/feeds/110919508891379822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11036588&amp;postID=110919508891379822&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/110919508891379822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11036588/posts/default/110919508891379822'/><link rel='alternate' type='text/html' href='http://rongou.blogspot.com/2005/02/spring-remoting-compared.html' title='Spring remoting compared'/><author><name>Rong</name><uri>http://www.blogger.com/profile/08203939815693785144</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/19/103916525_d19c215a68_o.jpg'/></author><thr:total>2</thr:total></entry></feed>
