Wednesday, March 21, 2007

"Daar is 'm ... daar is 'm"

The most mythical goal of Belgians Red Devils: Belgium - The Nederlands, 1985, world cup qualifier to go to Mexico.

Sport-Voetbal Magazine heeft het doelpunt waarmee Georges Grün België in 1985 ten koste van het Nederlands elftal naar Mexico kopte uitgeroepen tot meest mythische doelpunt ooit van de Rode Duivels. Ook Rik De Sadeleer op zijn best.
  • "Ze gaan lopen ... ze gaan lopen"
  • "Daar is 'm ... daar is 'm"
  • "'t Is om er geel van te worden"
  • "Dank U George"


(Telegraaf)

Saturday, March 17, 2007

Castello di Amorosa

Napa Valley is about an hour and a half drive from our house. I've visited Napa Valley many times, sampled many wines and taken many many pictures of the beautiful wineries and landscape. Yet, it is not my favorite wine destination. Napa has become overly touristy and very expensive. If you want to sample a couple of sips of the Napa wine, it will easily cost you $9. An average bottle of wine runs about $20. Sonoma Valley or Livermore are more affordable and less crowded. My favorite wine region is Mendoza region of Argentina: the wines are excellent (Malbec is their specialty), and very afforadable. Sampling several glasses of wine at a winery cost you about 4 pesos, or $1.50.

Our trip this weekend to Napa Valley did not have wine in mind. We were invited to visit Castello di Amorosa. The castle hasn't opened yet to the public, though a friend of mine knows the owner Daryl Sattui (who is also the owner of V. Sattui winery). The castle is inspired on a Tuscan castle and is unbelievable. This is not a Vegas style copy of a castle with fake walls. No no noo, real walls built with stones of Europe and real painted walls (as a matter of fact artists were working still on the wallpaintings in the church). The many caves are already filled with barrels of wine and we encountered a small gathering in a small back room, three levels down, sampling some of the wine. Check out the links below to see some of the pictures inside. I did take a couple of pictures, but my camera does do well in poor light. (Plus it doesn't feel right to publish pictures before it is officially ready.).



Links:

Sunday, March 11, 2007

The best organic food


The best organic food is what's grown closest to you. I just finished reading an article about organic food vs local food: Eating better than organic. Coincidentally, my wife was giving my back a massage, because I had been working the garden most of the day. I couldn't agree more with the article: buy local and buy organic! Or better even, harvest locally. I harvest my own vegetables and fruits. Here's a sampling of what's in our garden:

The fruits:
  1. All winter we have fresh oranges, right outside the kitchen door.
  2. In summer we harvest tons of apples. Last year, I did prune the apple tree and the harvest was dramatically less. Hopefully this year the tree bounces back from the shock of what must have his first trimming ever, as it doesn't resemble the size of an apple tree.
  3. We have raspberries and blue berries which my wife planted in the back.
  4. I planted last year a lemon tree.
The vegetables:
  1. My favorite vegetables are tomatoes (although technically it is a fruit, isn't it). This weekend I sowed two types of tomato seeds: they are sprouting in the kitchen.
  2. So are two planters of spinach.
  3. My office at work is the best green house: two big windows on the west side of the building. Currently I have radishes and spinach growing, almost ready to planted in the full soil in the garden.
  4. Bock Choy is already growing in the vegetable garden.
  5. I planted this weekend corn and
  6. green beans
  7. Hot peppers still have be added.
The herbs:
  1. Sage (3 types)
  2. Parsley
  3. Oregano
  4. Thyme
  5. Rosemary
A couple of more vegetables and herbs will be added in the coming month. For now, it is the battle of keeping the clover out, those lovely yellow flowers, yet overtaking weed.

If you are interested in finding out more about buying local food, check out these links, reference in the article:

Wednesday, March 07, 2007

No more kneeling in front of the holy screen


After reading an article in the Wall Street Journal on how big gym balls are all the rage in some companies as a replacement for the traditional office chair, I decided to improve my posture in front of the computer screen. A gym ball did look a bit too extreme. I remember having tried a kneeling chair once. The first few days were comfortable: no more slumping in my chair. You only need to adjust one setting. Wikipedia has some background on how it works:
Kneeling chairs sought to open up the angle between the thigh and the spine, making it easier to retain the natural curvature of the lower back (the lumbar).

Despite the name, the posture of a person in a kneeling chair is not the same as kneeling on the ground. It is sometimes assumed that the knees bear most of the body's weight when sitting in a kneeling chair, but this is incorrect--the shins bear some weight for stability, but you are still sitting (not kneeling).

This posture changes the stress distribution of the human body in comparison with the sitting position of an ordinary chair and is recommended for certain diseases or injuries of the backbone. Because the angle of the hip joint is between that of sitting and standing, it allows the spine, particularly the lumbar (lower region), to be in a more "neutral," or middle-of-range, position.
After a couple of days, the lack of padding starts to hurt. It is also not flexible when swiveling between two computer screens. You back might be up right, though you tend to twist it to read the screen to the right. As a result I switched back my regular office chair. Or I might try a gym ball after all (just kidding).

Tuesday, February 20, 2007

Google, the tax collector

A day in the life of Santiago Montoya, a tax magistrate for the province of Buenos Aires in Argentina:
  1. Buy Google Earth Pro for $400
  2. Discover 100 million pesos of undeclared constructions
  3. Find an extra 1.6 million pesos (or $500K) in unpaid taxes
  4. Be assured of your next promotion: Priceless!
Viva El Google!

Details: (Feb 21, 2007) La Nacion: Montoya busca evasores con el Google

Technorati:

Sunday, February 18, 2007

Home is where the tank is parked

After we sold our old poppy orange 1965 Ford Mustang a few years ago, we were managing with just one car: a 1998 Honda Civic EX, which we purchased second hand. It has been a great and reliable car.
Pumpkin - my poppy orange 1965 Ford Mustang
We recently decided to buy a second car. It would make our commute easier and allow us to spend more time with the kids. One of us would drop them of at school, whereas the other could pick them up at an earlier time. So, the kids wouldn't have to spend so much time at school. We made the following list of criteria.

I love the unsexy station wagon as you get the space of an SUV without the bigger fuel bill. And a station wagon does drive more like a regular sedan. Some new SUV-station wagon cross-over models (i.e. Ford Edge, Chrysler Pacifica) looked promising, but none had the reliability or fuel efficiency we were looking for.

Decent fuel economy was important. We looked at the hybrids, but they are very pricey, even considering California State tax incentives and a donation from work to drive a hybrid.

Reliability was key. We used Consumer Reports as the deciding factor. Many American brands and models were quickly excluded. Also the Volkswagen Passat Wagon was no match because of its poor reliability.

Leather, satellite radio, a navigation system were not a high priority. We were ok with the basic luxury model.

A short list of models we liked included (in order of preference):
  1. Volvo V70
  2. Subaru Legacy Wagon
  3. Subaru Outback
  4. Subaru Forrester
  5. Honda Odyssey
  6. Toyota Sienna
  7. Volvo V50
We test drove most of them (except the minivans). All are very nice cars. All Subaru's are all wheel drive (AWD), which has poorer fuel economy. Furthermore, stability control, a feature important to have with AWD cars, was only available on the turbo engine models.

New cars lose a lot of value when you drive them off the lot. So we decided to look for a nice used car. We priced them out in a spreadsheet with information from Kelley Blue Book. The price varies a lot when you consider buying a used car: mileage, engine differences, different luxury models, etc. Take a look at the spreadsheet below to give you an idea how much the price drops.


Carfacts helped us screen for a good used one and avoid the ones used as a rental car, the ones which changed hands a lot or were imported from the East coast.

A negotiating tip from a friend helped us close a good deal: think of the price as all-included: i.e. if the price is $25,000, make that the price you want to drive the car off the lot, including the 8.25% sales tax, registration and other fees.

Here is our new used, 21-28MPG, 5-star safety rated, curtain air-bagged Volvo V70:


Technorati:

Wednesday, February 14, 2007

Infinite

Son: "Dad, infinite can not be the last number, because numbers never end."
Dad: "Ah"
Son: "Feels great to learn something new, he!"

Wednesday, January 10, 2007

Skype, the missing iPhone widget

I had been awaiting yesterday's keynote announcement of the iPhone eagerly. The iPhone goes much beyond what are my ideal cellphone specs. But the iPhone is not just a cellphone of course. It might be proof out to be the ideal mobile device: Newton-revamped, mini-laptop, smart cellphone. (The Sony PSP had a lot of potential, beyond being a gaming device. Yet Sony never completed the vision.)


The iPhone price is of course steep: $499 for 4GB device, $599 for the 8GB device. I have a suspicion you will need the 8GB device. Not so much to hold your songs, but to store the video, and internet data. What will be the determining factor is not the price Apple charges for the device, but the price Cingular will charge for the voice and data services. Unlimited data transfer is currently $45/month. And voice services go from $40/month up to well above $100/month. So, you will be paying about $100/month for service on the iPhone. Ouch!


This brings me to the missing iPhone widget: Skype. The iphone is both cellphone and internet device. A Skype widget would integrate the address book, smart browsing feature with Skype's voice over IP. Whenever connected to the WIFI, Skype can be the choice for voice communication. And even when on the Edge network, you should be able to enable Skype as the first choice for voice. With a Skype widget you only have to subscribe to Cingular's data services, with an optional Pay-as-you-Go voice service. The widget would give Netgear's Skype WIFI phone some tough competition. I doubt Apple will upset its partner, Cingular. But an open developer toolkit might recruit enough developers. Ebay, are you paying attention?

Technorati:

Wednesday, January 03, 2007

doll

You know you live in Silicon Valley, when your two year old daughter names her doll "kernel".

Friday, December 22, 2006

Linking 101

For many software developers, this post will be linking-101. Yet, recently I was looking into an issue on Windows (yes, I know), where an application developed using Visual Studio 2005, was linking against a libary developer with Visual C 6. I needed to understand a little more on how linking works in Windows. Many of these bullet points are known secrets. But if you lived too long in the Unix world, the Windows secrets will be a mystery and vice versa. So here's a short summary:

Windows
  • .dll is the extension for a Windows dynamic library. DLL Hell exists and even has a Wikipedia entry.
  • .lib is the extension for both a DLL wrapper, as it is used for static libraries. A DLL wrapper or "import" LIB file, which is used to link against. For each function the DLL exports, the LIB file contains a stub which will load and call into the DLL. You only need these .lib files when linking, but not when deploying.
    • If on Windows a DLL is missing, you will get hit during run time, as it can not find the DLL module to load. On Unix, the application will not start up. This has pro's an cons. Pro: if you do not want to use a particular feature of the application, which requires an expensive 3rd party library, you can still run the application. The con: if your application was doing a lot of work and then aborts, you will slap the machine a couple of times.
  • Convention: Files ending with z.lib or zd.lib are the static libraries. (d for debug)
  • C Run Time (CRT) libraries are development environment dependent. If your program links against both, you have to be very very careful. Since memory management are (slightly) different between CRTs, linking against malloc()/free() from different CRTs can corrupt your heap. The bug will unfortunately show up in weird and unrelated ways. The take away is avoid linking against two different CRTs. But if you have to, make sure you keep your program modules separate. For reference:
    • msvcrt.dll is used by VC6.0
    • msvcr70.dll for VS .NET
    • msvcr71.dll for VS .NET 2003
    • msvcr80.dll for VS 2005
    • with "d" added to the name for debug CRTs
Unix
  • Static libraries (archives) are created and updated by the ar (archive) utility. Convention dictates that static libraries have a ".a" extension on their filename.
  • Dynamically linked libraries are created by the link editor, ld. The conventional file extension for a dynamic library is ".so" (shared object).
  • You tell the compiler to link with, libpthread.so, by giving the option -lthread.
  • The compiler finds libraries as specificied by LD_LIBRARY_PATH or using the compiler option -Lpathname.
  • nm utility to the rescue when you run into Undefined Symbols
  • The order of statically linked libraries on the compiler command line is significant: (i..e they should be listed after your own code). Although I believe gcc can be instructed to make a few passes through the static library arguments to make sure undefined symbols, defined in previously stated static libraries are picked up.
  • Knowing which library files to link against is sometimes a mystery. Take a look at the #includes and guess the library name. Often the man pages might mention something as well.
An excellent book on gotchas, weird bugs and behaviors is Expert C programming - Deep C secrets, by Peter Van Der Linden. It is not a C programming text book. It is a collection of C programming experiences (aka the stuff for which experienced programmers get paid the big bucks). I happen to work on a few projects ((USB/CDRW) with Peter, when he was leading the I/O team in the Sun workstation group. He is a very interesting guy, who wrote many programming books from C to Java and Linux. Here's an interview with Peter from ITConversations.

Technorati: