Sunday, October 17, 2010

Beautiful Home For Sale 26 Mountainwood Drive

It's official: we're downsizing on the home front. I nailed a "For Sale by Owner" sign to our mailbox post this weekend, uploaded photos of our beautiful home, and listed our Glenville, NY house for sale on Zillow.

If you'd like to buy it, call us, or if you know somebody looking to buy a house in the Niskayuna school district, send them our way. We'd be happy to show it to you: just let us know when you'd like to stop by.

It's a 2,900 square foot craftsman style home, 4 bedroom / 2.5 bath, gorgeous stone fireplace (gas, double sided) right in the humungous kitchen, stainless steel appliances, other side of the fireplace is the spacious, yet cozy family room, custom tile and hardwood floors, office/den with French doors, generously large bedrooms, double headed shower in the master bath, gas fireplace in the master bedroom, 2 car garage, full basement.

It's on the cul-de-sac block of Mountainwood Drive, the neighborhood is wonderful, lots of families, diverse population, friendly people.

Make us an offer! You'll love it here.


David Cole

Friday, August 13, 2010

Cyclist's Creed

I am a cyclist and this is my creed:

Shift up when you can
Shift down if you must
And pedal always!

Wednesday, July 21, 2010

Go Mom!

My Mom is going to walk 60 miles this Friday, Saturday and Sunday! 20 miles each day. She's been training for months now. And she's been raising money, too. It's all for a good cause -- the Susan G. Komen 3-Day for the Cure. Net proceeds from the Susan G. Komen 3-Day for the Cure are invested in breast cancer research and community programs.

Her fundraising goal was $5,000. She started at $0 last November or so. Tonight when I checked her thermometer, she was up to $5,777!! Woo-hoo! I love it when a goal is massively exceeded: 115+% - awesome.

See what she has to say about it herself in her posts here:

And while you're there, make a donation. Do it in honor of somebody you know who is fighting cancer. Or in memory of a loved one you've lost.

Don't worry if you run across this later: she'll still be fundraising after the event is over. I think she told me donations could still be made on that web page until the end of the calendar year.

Go Mom!

We'll be there to cheer you on over the finish line on Sunday.

Love ya,
David and Robin

Wednesday, June 30, 2010

Busy, busy, busy

June 30. Crazy. I haven't even been golfing yet this year.

I've been remiss posting anything to the old blog because I'm working too hard lately...

I've had several fleeting thoughts, and some not even so fleeting, that deserve writing down. Maybe I'll get them organized and coherent enough to put here... and maybe not. Time will tell.

So, today, I take the time to post this, so that I have at least *one* post in the June archives.

Why am I working so hard? Just to pay the bills. Looking forward to the next vacation already that's for sure.

Monday, May 31, 2010

Freedom on Memory-al Day

Memorial Day. Time to remember stuff. Most importantly, that people who have gone before us sacrificed their lives so that we can enjoy the lives we have today. They gave freely, so that we may continue to have the opportunity to give.

I remember this: when I was a kid, there was a saying. I don't know if I heard it from my parents, or grandparents, or teachers, or if I read it somewhere ... most likely, I'm thinking it was just the common sentiment of the time. And it makes me sad that I haven't heard anybody saying it lately. It went like this: "I may not agree with what you say, but I will defend to the death your right to say it." People who say that are the people that I want to see defending this great country.

America is still about freedom, people. Don't let the TSA fool you. It's not about security or privilege -- it's about being able to believe, say and do whatever the heck you want and not have anybody be able to do squat about it. It's about being the underdog, and winning anyway. It's about coming from nothing, and making something of yourself. It's about viewing every obstacle placed in your path as a growth opportunity, and growing.

I am thankful that we still have freedom. Even if most of my countrymen have forgotten that we do.

Thursday, May 13, 2010

Share Your Scientific Results

Hey Scientists! The world wide web was invented so you could share your results with the wide world. It's near on 20 years old now. Maybe you should start sharing?

Sunday, May 02, 2010

So Long, Tundra Dog

Mocha D., Oct. 1996 - May 1, 2010

From Reflections

You were the best dog ever. I'm gonna miss ya, buddy.

Thursday, April 29, 2010

Low Carbs or Low Fat?

Low Carbs or Low Fat?

That's still the question.

Recently, I went to see the doctor, just to make sure that objective outside observers agree that I'm in very good health. They do: both my doctor and her medical student intern agree that I'm in very good health. But... they took a blood sample, and they measured stuff in it, and they said: "you have borderline high cholesterol... you should try a low fat diet and exercise to see if you can lower it..."

So I am. Bleh.

And I'm being very strict with myself about not eating stuff that's on "the bad list." No cheese, no egg yolks, no butter, no mayo, no sausage, no bacon, no burgers. Read the labels. Check the fat content per serving. Is it saturated? Believe me, I hate saying no. And this is a pain. But I am determined about this, at least from now until late June or early July. I will see if the low fat diet actually makes a difference in my cholesterol measurement. I've survived one month like this, another two or three is do-able.

In the meantime, I'm trying to sort through all the data that's out there to see if diet and exercise really can make a difference for people. Apparently, for some, it can, and for others, not so much. Hence, my own self-depriving experiment.

Anything that crosses my path that's related to cholesterol, fat, diet and exercise are catching my eye, too. So when a friend on Twitter pointed out a recent Scientific American article, I was intrigued. This tweet grabbed my attention: "More Evidence that Refined Carbohydrates, not Fats, Threaten the Heart" -- good article (thanks, Eric Butler...)

But then, even better than that article, was an older (2002) New York Times Magazine article that was mentioned in a reader's comment on the Scientific American article. This article is very in-depth, representing a multitude of perspectives. It's very strange to say nowadays, but it actually felt like I was reading a fair and balanced article that simply presented the reader with the facts, leaving the reader to draw his own conclusions. I was astounded. You should read it too:

However, both of these articles call into question whether or not aiming for a low cholesterol measurement is even something one should strive for. And they certainly call into question what's the best dieting method to achieve it.

I firmly believe that the answer to most of America's obesity problems is simply "eat less food." I really don't think it matters much what you eat, as long as what you eat is satisfying for you. If you're basically happy with your food and eating experiences, then you will find it's easier to "eat less food" than if you're not. Sort of makes sense, doesn't it? Maybe just a reasonable, balanced diet is all any of us need in the end. Forget about the content except for this: make sure you're eating quality food, fresh as possible, and eat just enough of it, not more than you need.

So ... we'll see. I'll post an update later with my results and more thoughts.

Tuesday, April 13, 2010

Hello, April 13th: Back on the Saddle

Hello, tentative neighborhood SUV driver, afraid that I may veer in front of him before he turns the very same corner I'm aiming for... step on the gas already, this is supposed to be cardio!

Hello, line of cars waiting to pass through the one-lane railroad underpass.

Hello, smell of cigarette smoke wafting from cars waiting at traffic lights (although I'd rather that you hadn't said hello to me first).

Hello, field. Weren't there trees or brush here before?

Hello, construction site of new "senior apartment complex."

Hello, goose from Canada floating on the pond.

Hello, red-winged blackbird.

Hello, overpopulation of Shenendehowa school buses at one intersection.

Hello, hill.

Whoosh! Downhill's always more fun.

Boring flat part, not much to say hello to here.

Hello, northway traffic.

Hello, S curves: last burst of cardio for now.

Hello, parking lot.

"Hey Ken! How ya doin'?"

Sigh. Hello, work place.

Stay healthy out there!
- Cycler Dave

Wednesday, March 31, 2010

"Fun" With Batch Files

Here's how to compute the root Program Files directory of the Visual Studio 2008 installation from the VS90COMNTOOLS environment variable... (for example...) Obviously: same technique may apply to other env vars and other programs.

The Line of Code
In a batch file:
for /f "usebackq delims=" %%d in (`echo "%VS90COMNTOOLS%\..\.."`) do set VS_ROOT_DIR=%%~fd

Directly in a command prompt:
for /f "usebackq delims=" %d in (`echo "%VS90COMNTOOLS%\..\.."`) do set VS_ROOT_DIR=%~fd

The only difference between the two is the doubling up of the "%%d" percents when referencing for loop variables. Don't ask why, just learn: that's the way it is. Actually, if you want to ask why and then go figure out the answer... that would be a good blog post for you to write.

The Dissection
On my machine, the command...
echo "%VS90COMNTOOLS%\..\.."

"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\\..\.."

Nice. Accurate and all, but look at all the ugliness we've produced. Doubled up backslashes, enclosing double quotes, ..s, not to mention the length.

So. That fancy "for /f" line. Let's clean up that output to remove the ugliness.

Using "for /f" with the "usebackq" option allows you to put a command inside backticks, as in `echo something`, and capture the output of that command in the for loop variable. In this dead simple example, the for loop would iterate exactly once, and the value "something" would be in the loop variable.

Using the "delims=" option allows you to split the output by delimiter characters. When you say "delims=" with the equal sign right up against the closing double quote, that means: no delimiter characters, give me the full output all at once. Much different result than "delims= " with a space in between... that one loops over the output separating by space characters, giving multiple for loop iterations based on how many spaces are in the output. You could also say "delims=\" to split at the path separator character, or "delims= \/:" to split at common date time separators.

Now that usebackq and delims are well understood, or at least explained, how does that help us get rid of the ugliness? Well... it's mostly the magical "%~fd" at the very end of our friendly line of code that makes the universe beautiful again. The usebackq/delims pain we went through was really just a way to get the string we want into a for loop variable so we can take advantage of for loop variable expansion modifiers.

for /f "usebackq delims=" %d in (`echo "%VS90COMNTOOLS%\..\.."`) do set VS_ROOT_DIR=%~fd

The "%~fd" says this: give me the value of the loop variable %d, and while you're at it, remove any enclosing double quotes (~), and resolve it to a full path, assuming the variable represents a file or directory name (f).

The net effect of all this is that our line of code...
for /f "usebackq delims=" %d in (`echo "%VS90COMNTOOLS%\..\.."`) do set VS_ROOT_DIR=%~fd

Finally, in the end, simply evaluates to the line of code we wanted to write in the first place, but without hard coding a machine specific path name in a batch file:
set VS_ROOT_DIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0

Type "help for" in a Windows command prompt for more of the gory, sickening details regarding loop variable expansion.

And help keep the universe beautiful. Even if you still have to write batch files once in a while.

Thursday, March 04, 2010

Kickbox: The Workout Playlist

OK... so I'm not sure why people are asking for this sort of thing on Facebook lately, but remember... you asked for it. Lara, cousin Matt, talking to ya both. (I'd like to take credit for this, but really it all goes to my sweetie, Robin Holly. She put this list together back when she was teaching a kickboxing class in our Seattle area Tae Kwon Do dojang.)

Kickbox: The Workout Playlist
  • Mr. Bartender (It's So Easy), Sugar Ray
  • Look At You, Hanson
  • It's My Life, Bon Jovi
  • Everyday, Bon Jovi
  • Sk8er Boi, Avril Lavigne
  • Two Hearts Beat As One, U2
  • You Really Got Me, Van Halen
  • Walk This Way, Aerosmith
  • Satellite, P.O.D.
  • Bounce, Bon Jovi
  • Pour Some Sugar On Me, Def Leppard
  • Hey Baby, No Doubt
  • Elevation, U2
  • Objection Tango, Shakira
  • Send Your Love, Sting

And don't forget to cool down...
  • Little Wing, Sting
  • Valparaiso, Sting

Whew! This was gonna be the longest Facebook post ever... but then Facebook told me it was too long. I never knew there was a 420 character limit to those suckers.


Monday, March 01, 2010

Must Have Windows Software

Whenever I get a new computer running Windows, like I am today at work, the first thing I download and install on it is Firefox. Then, using Firefox, I have to download and install the following shet of shtuff to make it programmer friendly. This is my way of avoiding being ripped to shreds by the open source sharks for actually having paid money for a computer running Windows... Actually, to avoid that completely, I'd have to install emacs or gvim, too. But I won't do that until somebody else has to use the computer and looks like he's floundering without it.

Must haves:
  • Process Explorer
  • notepad++
  • PuTTY
  • VNC
  • CMake
  • TortoiseCVS, including CVSNT command line client
  • TortoiseSVN
  • SVN command line client, usually the CollabNet one
  • Git, the msys one
And then, the hard core development tool:
  • Microsoft Visual Studio, whatever version(s) necessary to do my job...
And then, as necessary, but only as necessary:
  • xampp, for a localhost web server
  • NSIS, the installer builder
  • doxygen
  • graphviz
  • ActiveState Python
  • ActiveState Perl
  • ActiveState Tcl
  • MagicDisc, or similar ISO image mounting utility

notepad++ -- like notepad, but seriously OD'd on steroids: all kinds of built-in language syntax highlighting

VNC -- if I'm lucky, one that includes a free server so I can access the Windows box from other computers... if not, then at least RealVNC client so I can access other machines

Anybody out there have any other "must haves" that belong on a Windows box?

Saturday, February 27, 2010

Sick of these C# warnings? Here's how to eliminate them...

8>warning CS1668: Invalid search path 'c:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib\i386' specified in 'LIB environment variable' -- 'The system cannot find the path specified. '

8>warning CS1668: Invalid search path 'C:\Program Files\Microsoft Visual Studio 9.0\lib' specified in 'LIB environment variable' -- 'The system cannot find the path specified. '

The Visual Studio installer does a mysterious thing here.

The entries found at "Tools > Options > Projects and Solutions > VC++ Directories" point to some non-existing directories. But the entries are used to populate the LIB environment variable when building projects inside the IDE. So... if you build a C# project in the IDE, you get this warning about invalid search paths in the LIB environment variable.

Now, I'll give them the benefit of the doubt: maybe some installations of Visual Studio *do* produce these directories. However, this warning has been occurring all through the VS 2005 and 2008 series and I have always encountered it on every machine I've ever built a C# project on. Of course, there's one thing unusual about the way I typically build C# code that I forgot to mention: I usually build C# code with custom commands that drive the C# compiler directly from the build context of a C++ project. So I understand if Microsoft doesn't have a test that tries this scenario out. "Why would anybody do that, anyway?" :-)

The fact remains: those settings cause these warnings, and the installer has never installed those directories for me. I'm calling it a bug.

The way to get rid of this warning is to edit the entries to remove the ones that point to non-existent directories. The trick is figuring out which ones they are.

This one: "c:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib\i386" comes from the entry for "Win32" / "Library files":


VCInstallDir evaluates to "c:\Program Files\Microsoft Visual Studio 9.0\VC\"

This one: "C:\Program Files\Microsoft Visual Studio 9.0\lib" comes from the entry for "Win32" / "Library files":


VSInstallDir evaluates to "C:\Program Files\Microsoft Visual Studio 9.0\"

Click on each of those in the Tools > Options dialog and delete them.

Voila. Warning gone.

Monday, February 08, 2010

Useful iPhone coding links

Just so's I don't forget and lose track... A couple of useful articles on UITableView and data entry screens in iPhone apps:

I love the "Cocoa with Love." guy... I'd like to meet him someday...

Thursday, February 04, 2010

The iPad will be another game changer... and here's why

Changing the game? Will the iPad really change anything? Did anybody really think different here?

Yes. It will. And they did.

The simple facts are:
  • it weighs 1.5 pounds
  • it's about half an inch thick
  • its battery lasts 10 hours
  • it's bigger than your phone
  • it's full color
  • it has a multitouch screen
  • it's a multi-function device

Let's put these facts into perspective, into terms we can relate to.

It weighs 1.5 pounds. That's less than two pints of Guinness. That's less than my dinner weighed last Friday at Red Robin. It's an order of magnitude less than your average backpack, purse or briefcase. You have to admit: carrying it around is going to be easier than carrying around a laptop.

It's about half an inch thick. It's thinner than most of the books on your bookshelf. It's a little thicker than your laptop's screen, but not quite as thick as your laptop's base. It's approximately the size of a regular pad of paper.

Its battery lasts 10 hours. Ten hours. Ten. Hours. Of real, actually using it time. That's long enough to watch the entire Lord of the Rings movie trilogy on a single charge. One charge will last longer than your longest domestic flight ever. Even most international and overseas flights. No fair counting time stuck in airports when flights are cancelled. You can plug in when that happens...

It's bigger than your phone. Which means you'll be able to see the movies you watch on it without a magnifying glass, or holding it up just a foot in front of your face. Reading web pages in the browser, facebook, twitter, email, reading books, checking out photos, viewing map details, playing games: all are bound to be nicer on a larger screen.

It's full color. Obviously. Why anybody would make a black and white or even gray scale device these days is beyond me. I just don't get it. Even granted that you're trying to emulate a book or a newspaper... I still don't get it. Books and newspapers have bits of color in them, especially books with charts and figures and photos. The Kindle app on my iPhone has color: the covers are full color photos and the chapter headings are blue underlined hyperlinks. I wonder what those things look like on the real Kindle...

It has a multitouch screen. Using your fingers on a touch screen is a way better interaction experience than a mouse, keyboard, pen or set of mechanical buttons ever dreamed of. If you haven't tried a good multitouch device yet with your own fingers, you gotta try one. It's just really cool. The tactile sensation of controlling stuff with your fingertips rocks.

It's not "far superior" -- it's way better. What's the difference? "Way better" is what regular people say. And that's where the iPad will find an audience. Regular people around the globe will flock to the iPad, maybe even faster than they did to the iPhone. This is not just for geeks. It's not even for geeks. It's for everybody.

It's a multi-function device. It does everything regular people need a computer to do. It surfs the web, plays music, movies and games, reads books, shows you photos and maps, helps you organize your life, stay in touch, share with friends and family. And more.

Yet some people are saying it won't be successful. Why would anybody pay such a high price for it?

Um. Because it's a better watching-movies-on-airplanes device? Because it has a battery that lasts all day? Because it's not really that much more money than a digital picture frame or a Kindle, but it does a bazillion things more?

And actually, it's extremely price competitive with lots of computers from lots of manufacturers. High price? With the exception of my iPhone, graciously subsidized by AT&T, the iPad is way cheaper than any other computer I have ever purchased. Ever. Manufacturers who have counted on Apple keeping their computer prices high forever have got to be a bit apprehensive about what this means for them. Their competitive landscape just got a whole ecological makeover with Apple selling portable, capable stuff in the $500 to $800 range.

I'm not a big one for making predictions, but this time I'm going out on a limb. I foresee all of the following happening...

The iPad is going to be a huge success. It will transform the entire worldwide market for computing devices. There will be several copycats in the months and years following its introduction. Some computer makers will go out of business because their sales will decline sharply after the iPad comes out and they won't be able to adapt quickly enough.

High school and college kids will be carrying these around instead of the 30# backpack full of textbooks. People will be watching movies on them on airplanes instead of on their tiny little phone screens or their "this-laptop-doesn't-quite-fit-on-my-lap-when-I'm-on-an-airplane" laptop screens. People who do presentations all the time will abandon Microsoft PowerPoint and start using Keynote on an iPad.

The iPad is the Apple computer for the people who have until now been thinking that Apple computers are just a tad too pricey. Now that they're just as cheap as any other computers, people will flock. Stampede even.

The cool factor doesn't hurt either.

You'll see. Mark my words. :-)

Saturday, January 30, 2010

Earthquake in Haiti: How Did You React?

How did seeing scenes from Haiti after the earthquake earlier this month make you feel? Sad, dismayed, horrified, afraid? Thankful? Compassionate? Those scenes on the television made me feel all of those feelings and more.

I mean, can you imagine what it must have been like to live there on that day? The earth shakes for a few minutes and everywhere around you, buildings collapse into complete rubble. What would you do? How would you deal with that?

I thought it was a great idea to try to reach out to those people with a helping hand, an absolutely great idea. I was happy to see much of the world rally around them and send food, water, medical supplies, doctors and other volunteers to help out. I was proud: I'm married to a woman who heard that you could text the word "Haiti" to 90999 and thereby donate $10 to the Red Cross to help out... and the same day she heard it, she texted it.

But then.

Then I heard talk on the radio one day of a certain "evangelist" (sorry, but I won't even repeat his name here, I don't think he deserves the publicity: you know who he is, he knows who he is, and certainly God knows who he is, although perhaps reluctantly...) -- Anywho, he actually had the gall to claim that this earthquake was some sort of divine retribution or judgment on the people of Haiti for actions that their ancestors took more than 200 years ago. Really? Come on. I mean... Really?

Then my wife showed me a posting from one of her facebook "friends" and its follow-on commentary and I just could not believe that what I was reading was actually on that little iPhone screen. They were actually complaining that we Americans were spending too much money and help and airtime on the people of Haiti... and how dare we extend that kind of support when we don't even "take care of our own" here in America. Really? Come on. I mean... Really?

People are people, people. People in need deserve our help. People trapped under collapsed buildings deserve to be rescued. We are the richest country on the face of the Earth and we have plenty to go around. Yes, I understand that there are people right here in this very country, state, county and town who have problems, who are sick, who are hurting, who are depressed... and, I'm sorry, but we do take care of "our own" as best we can. That doesn't mean we should shun others who are in desperate need. And if you think we should, then you should be ashamed of yourself.

If you were buried in some rubble, would you want your neighbor to come looking for you? Or just sit there and complain: "Ohhhh.... why do they have to show this stuff on TV tonight? Why are they pre-empting my (insert lame TV show name here) to show this crap?"

Grow up, people. This is America. You're an adult. Act like one.

Friday, January 08, 2010

101 iPhotos

I am waiting for my first ever iPhoto calendar made from 101 of our own photos to arrive... Should be cool!

Here's how you can do it too:
  • Open up iPhoto on your Mac
  • Create a new album
  • Put all the pictures you want on the calendar into this new album
  • Select the album (click on it) so you can see just the photos you've gathered
  • Click the "Calendar" button on the bottom toolbar in the middle
  • Choose one of the styles in the list that pops up and click "Choose"
  • Choose from various calendar-y settings in the next dialog and click "OK"
  • Click "Autoflow" to let iPhoto place the pictures for you
  • Or, drag and drop photos from list view to calendar (or vice versa) to add or remove them
  • Drag and drop photos from one place to another on the calendar to swap them around
  • You can even drop photos onto specific days to use a few more photos
  • When you're done fiddling with it...
  • Click "Buy Calendar" and pay $25-$30 for your custom calendar to be delivered straight to you
You need around 50 or so photos in the album if you are going to use the "Autoflow" button to let iPhoto choose/place the pictures for you. Using Autoflow on a typical 12 month calendar, it seems to consistently use the first 47 photos. You need more if you want to put different photos onto individual dates, or if you change the default layout of some months to use more photos.

I added a bunch more photos and changed most of the months to use the smaller print area 7-photo layout because most of my photos are from my old 3 Megapixel camera. iPhoto will warn you with a little yellow triangle "!" if the photos are going to print with "too low" a resolution. I did a few of those anyway, hoping that they don't look too chunky when we see the final print job.

All of these instructions are valid with iPhoto '08, version 7.1.5 (378) - I will wager that they are still valid with iPhoto '09, too, but I haven't looked at that version yet. If you're using an older version, I'm not sure if this works or not. I do not know what version of iPhoto introduced these books and calendars that you can buy... It might be just '08 and later.

I put just my immediate family's birthdays onto the calendar and a little photo of each of us on the day just before our birthdays. I would have done that for all my extended family, too, but I wanted to get the calendar done before the year was up... :-)

I also just wanted to put a bunch more photos on than there was room for, so I put 'em on those useless dimmed out squares that represent the days of the previous and next months, too.

In the end, I paid $29 and change for ours to be shipped express to us so we'd have it by early next week. With standard shipping, it would have been $26.xx. I figured since we're a week into January already, it was worth an extra three bucks.

Try it yourself... after it arrives, you'll be able to enjoy it all year long.

Have fun!