Aug 21 2014
Apr 14 2009
The family just got back from 8 days in Hong Kong for spring break. A terrific experience! Hong Kong is where Sally was born and where her parents grew up. With 7 million people in just over 400 square miles, it is a little hectic! But public transport here is incredible, and the city is amazingly clean.
Weather was a little damp the first day, but not bad. This is taken on the Kowloon side, facing the island.
While things in Hong Kong are mostly pricey, the trusty Star Ferry is the best deal around. Takes you across the harbor for about 30 US cents for adults, 15 US cents for kids! (that's $2HK and $1HK).
The locals are all in great shape - and here is one reason why. Hong Kong is very hilly, involving a lot of vertical walking. This was a set of stairs up from the Catholic cathedral up to our hotel, the Bishop Lei. This is only a short bit of the overall climb, it was about 5 stories. The street level (Robinson Road) is at the top. I would mention the Bishop Lei was another great deal, we paid only $110 US per night, which included a great breakfast each morning. That was it for the great deals, everything else was major $$$.
Ancient temples are tucked in among the skyscrapers everywhere.
This is the view from the 'peak', which can be reached by a short tram ride. Known as the most scenic spot in Hong Kong. You are at the same elevation as the tallest building in the background. For a professional photo from the same spot, see here.
One of the amazing things is the use of bamboo in construction. Almost all the scaffolding you see is bamboo. It is everywhere.
They tend to wrap up the buildings while they are under construction. I guess since everything is so tightly packed, you can't have construction debris falling out. Yes, that is bamboo on the outside all the way up.
A popular tourist site is the 'Big Buddha' which is on Lantau island. It is reached by a 20 minute cable car ride, one of the longest in the world. This is one of the small statues facing up towards the Buddha.
A 25 minute boat ride takes you from the main island to Lamma island - where they specialize in fresh seafood lunch. You browse the aquariums for something you like, the owner pulls it out and cooks it in a style you choose, and then brings it out to your table. Having steamed shrimp that minutes before was swimming is a real eye opener - never had it so tasty!
A novel approach to mass transit in Hong Kong is the Central-Mid-Levels Escalators, which will take you for a 20 minute ride if you go the whole length. They run downhill in the morning, and uphill at night. A large number of great bars and restaurants flank the escalators - so you'll probably want to make some stops!
Speaking of cool places by the escalator - stop in for some sushi that comes by your table on a conveyor belt; the ultimate in fast food.
Here is that cable car ride, coming back from the Big Buddha. The high rises represent a little suburb near the airport and train station, this is far away from the center of Hong Kong itself. The new airport is built on land scooped off of the mountains and dropped into the sea.
I would close by saying the people of Hong Kong are extremely polite and friendly. Everyone seems to have great pride in whatever their occupation is. A great trip - wish it could have lasted longer!
Apr 24 2008
Previously I wrote a long post explaining how I created an algorithm to generate Word Search puzzles. I used the wonderful perl scripting language, which is typically my language of choice for utility programs.
Since that time I undertook the task of recreating the same logic in VB.Net. Here is my finished product. Reading through the previous post will describe the logic, which I attempted to reuse as closely as possible. I'm not going to walk through any of the code here, but you can view it in the source files provided in the zip file. Whereas I find perl more fun and cleaner to program in, the resulting user experience from the VB.Net environment is sooooo much nicer. You'll need to have .Net 2 installed to run this.
Apr 10 2008
Everyone has their favorite utility programs, those trusty apps that we just can't live without. For me perhaps at the top of the list is the outstanding file comparison program, Beyond Compare from Scooter Software.
There are certain tools which are so well designed and implemented that using them becomes like second nature. Beyond Compare is one of those tools for me. Beyond Compare allows you to compare directories of files and highlights for you the differences. You can define what constitutes a file difference (i.e. text comparison, binary comparison, timestamp comparison), you can choose to ignore certain files which you don't care about (i.e. maybe extraneous thumbnail files), and you can tailor what is shown to you (like all files, just mismatched files, just orphan files, etc...). Once file differences are located, you can sync up the files, or you can open a file comparison window that shows exactly what the differences are. From there you can pick and choose parts of the differences that you want to move from one file to the other.
Another great feature is that you can script your actions, allowing you to automatically sync file systems. Just create a scheduled task in Windows that invokes a given session of Beyond Compare, and it will completely sync two file trees in the background, using all the logic that you defined for that session. Also, the file systems you are dealing with don't have to be just on your network; you can compare/sync to an FTP site as well.
I've used Beyond Compare daily for years to handle code promotion in a 3-tier development environment. It's always worked quickly and flawlessly for me. Beyond Compare is not a free tool - but it is so affordable that buying it is really a no-brainer. Thanks Scooter Software for creating such an outstanding tool!
Mar 26 2008
They've gone through the effort to photograph every name on the Vietnam memorial, and attach biographical information to each one. Very impressive use of technology. Can you imagine digitized images of all past U.S. census forms, hyperlinked to a master genealogy database, maintained by crowdsourcing? Perhaps unrealistic because of disagreements of who is really an ancestor, but then again no one thought Wikipedia would be able to work either.
Feb 12 2008
Wow - what a great book! First off, it contains a very clear explanation of creating an algorithm to solve Sudoku. Since I'm interested in creating puzzle solving algorithms, this is naturally something I want to read! I wish I could explain things as well as he does. Secondly, it serves as a great starter project for someone new to Visual Studio 2005 and Visual Basic. I really enjoy programming books that have a single project as their goal - and this one is the best I've seen. It makes it so much more useful than a book that contains nothing but disjointed code fragments.
Jan 04 2008
Google has been working for some time to scan library books and make them available online. But I would rather have them spend their time on something else. Scan in all census records and marriage records from the 50 states. This would greatly aid genealogy research.
The 1880 census is already online. With other censuses, there are pay-services which can supply them. Why should anyone have to pay for it? Our taxes conducted the census-taking, it should be available to the public for free. I know they are available for free at certain libraries/locations, but this is the internet age. We want them free online. Besides the once-a-decade census, being able to get public records of marriages from every little courthouse in America would be great.
If there are privacy issues, then only scan in data from before 1900. That covers most of what family-tree researchers are looking for anyway. Thanks Google!
Jan 01 2008
RSS feeds are great for keeping up with breaking news. Would it be nice to use one to keep track of your expenses? Huh?
What I envision is your credit card company provides you with a feed for activity on your card. Maybe the feed address would be something like http://www.discovercard.com/feeds/498shfkcnwiruy2hfdnwlk. The random string at the end is unique to you, but knowing it doesn't tell you anything about your card account number or identity.
You would subscribe to the feed with bloglines or google reader or whatever your favorite aggregator is. Then as soon as a charge gets posted on your account, a item shows up in the feed with the date, amount, and (possibly) vendor. So if you're sitting at your desk toiling away while your significant other is out spending money with abandon, you are going to know about it right away. Plus if someone has stolen your card number and is buying a flat panel TV at your expense, you are going to see the fraud immediately.
I know there are security concerns with this. Would having a randomized feed URL with no relation to your account be enough? I doubt it. Anyone could randomly search for feeds and then see some info, but there is nothing there that tells anything about the person or the account. But...I'm sure someone would start scraping all the feeds they could find to deduce spending habits, and then try to do something with that data. It would be better if the RSS feeds would require a secure login in order to read them.
I started thinking about this after one or our credit card number got stolen and someone charged some items to it (all online purchases). We caught the problem when the paper statement came, and got the money back. After that episode I starting logging in to the online statement from the credit card company and looking through the charges more frequently. But that is not very fun, especially if you are many cards. If all your credit companies gave you an RSS feed, the process would be very easy and likely it would cut down on fraud.
Dec 23 2007
I enjoy doing puzzles, and find myself picking up these variety puzzle magazines to give myself something to do while sitting on the beach during vacation. And eventually I end up thinking about how they create these different types of puzzles, and wondering if I can come up with a way to create them myself.
Everyone is familiar with word search puzzles. A grid is filled with seemingly random letters, and a list of words is given. Your job is to find the words hidden in the grid. In this post I'm going detail a program to generate word search puzzles. The language I used is perl 5. Features of the program will be:
- will run locally on a PC; from the command line (this is not a web application)
- will generate puzzles of various sizes
- words can be hidden in various directions
- output will be a PDF file, which can be viewed or printed
As a disclaimer; my word search program is undoubtedly not the most clever way of solving this problem. My perl code is not the cleanest, nor is it the most reusable. And there are others who have already solved this problem - as usual there is a perl module out there that does it already! But there is a certain level of satisfaction that comes with thinking through it yourself - which was my motive here.
If you want to run the program yourself, you'll need to install perl. You'll also need one extra perl module; PDF::Create. You will find that ActiveState perl has good tools which allow you to add this module.
In the following discussion I'll show pieces of the perl code, with comments. You may want the full source code itself. Here it is, right-click to save as.
We will start by working out the logic needed....
Dec 21 2007
Well I never thought it would happen; but I'm blogging.
I grabbed that latest WordPress and set it up on my own domain. I've used WordPress many times on other sites I've built - but never thought on using it for my own site. But it provides a nice look and a nice content management system, so I relent.
I'm starting with the nice Paalam theme by Sadish at wpthemepark.com. I might modify the picture if I can find something more appropriate.
The two services I've had on my site since forever, WhoWhatWhen and QuoteOMatic, and still here and appear in the header. But I'm going to try posting some programming-related thoughts. Who knows where it will lead?