A Day in the Life

A day in my life. Thoughts on leadership, management, startups, technology, software, concurrent development, etc... Basically the stuff I think about from 10am to 6pm.

7/18/2006

Wait for it...

I've been building a couple console applications today and when I run them in the debugger the Command Prompt window they run in closes before I can see what happened. As I'm new to the .NET libraries I didn’t know what command to use to 'pause' program execution. I basically want to put a statement in before the program exits that waits for a keystroke.

Either of these commands will work if the user hits the "Enter" key but any other characters the user types in are displayed (echoed) to the Command Prompt window:

Console.Read ();
or
Console.ReadLine(); 

While this works, I want a solution that would respond to ANY keystroke and not show what the user typed. The following solutions work for .NET 2.0 but not .NET 1.1:

while (Console.KeyAvailable == false);

And my favorite is:

Console.ReadKey(true);

Console.ReadKey(true) does not echo the key the user entered, responds to any key, and doesn't have the iffy forever while loop going on.

7/15/2006

A day late and a dollar short

With technology I often feel like I’m a day late and a dollar short. It’s not that I don’t understand technology or that I don’t care about it; it’s just that I never feel like I know what the next "big thing" is going to be. Or where I can find the latest tips and tricks. Well, some how Daniel Moth ended up in my feed list and he posted about aggregated blogs. You can find his list here. Maybe now I’ll be able to keep up.

7/14/2006

Sugar pie, honey bunch...

On another personal note. For those of you who read Dan’s blog West Coast Grid you may remember him posting about the exercise regime the guys are on. I started doing the sit-ups and push-ups, got sick, and never started back up again. But I did make some changes and the effects are visible.

I am over-weight. Not a lot but enough that I was unable to fit into my nice clothing and to not like what I was seeing. I knew it was time for a change and exercise just wasn’t going to be enough. I started by not eating ice cream anymore. I was a two gallon a week gal. Breyer’s Mint Chocolate Chip - thank you very much.

So the first thing that went was the ice cream. But I would have wicked cravings that were driving me mad. During this time I discovered that if I had a mocha in the morning I often didn’t have any sugar cravings later in the day. So the first change to my diet was to remove the after 9pm ice cream and add the morning mocha. This was great and worked really well.

I then decided that it was time to say goodbye to the mocha calories as well. I first started by switching from Starbucks to Jenny’s. I figured Jenny’s mocha had few calories than Starbucks and they were definitely smaller. This went on for a few weeks and then it was time to let go all the way. During the week of my caffeine withdrawal I had the most painful headaches ever. That was a tough week and I almost didn’t make it. I had a headache at work one afternoon that was so bad that I couldn’t see. John suggested a diet Coke to take the edge off and it was that one soda that got me over the caffeine hump.

I’m now mostly off sugar products and I’ve lost about an inch all the way around. I feel better physically although I haven’t found anything yet to replace the "comfort" that the food provided. I’m going to stick with what I’m doing for at least a month or so and then see about adding exercise back to the mix, but for now I’ve found that by approaching dieting systematically things are looking good. I had read someplace that if you can do something for two months or so then it becomes a habit. That’s what I’m working toward. Replacing bad habits with good ones, one day at a time.

The wheel of life keeps on turning...

This week has been a rough one at home and a very good one at work. My uncle died on Sunday morning. He was struggling with cancer and lost. And then on Monday a friend of mine lost her battle and died of respiratory failure. My uncle was 64 and my friend was 81. This is a strange time in my life. There was such a long period where I hadn’t lost anyone that I lost touch with the fact that life is a cycle. And that death is a part of it. I wrote the following for my uncle and my cousin’s wife read it at the service this morning. One thing that I want to pass on as a final gift to him is the notion that when we give of ourselves we get more back then we could ever imagine.

Life is like a pond in a rain storm. The water drops dance across the surface creating ripples that start, fan out, connect, grow, and eventually end. So like a water drop have you created ripples in my life. Ripples that have affected and continue to affect other people. It is in others that our greatest gifts live.

I needed help when I was a teenager and you were there. You gave me a home where I could feel safe and loved, a car which gave me freedom, and an education that gave me a future. In return, I helped Dody get a car to taste her own freedom and an education so that she could truly be free. I have helped others: friends, acquaintances, and strangers; because of the lessons that you taught me. Through your gifts to me, you have helped hundreds of other people and through our gift to them, thousands more. Ripples fanning out, touching, growing, changing.

My greatest and most precious ripples are those created by my children. The children that I have because you taught me that the love of a parent toward her child is not dependent on the ties of blood. That the bonds built by time, nurture, and love are the real bonds. That a child does not have to be born of the flesh, to live in the heart.

As you move from this world to the next, know that your gifts have spread and echoed. That in you was a beginning, not just for me but for all those others whom you helped as well. And through us your legacy is alive and will continue to live, passing from us to others, and then onto others, echoing onward through time.

I met my friend Jody about 8 years ago. She is Mal’s best friend’s mother. I remember the night that I first had the feeling that she was someone special. Mal and I had gone to Telluride to visit relatives and it just happened that Jody and her husband Charles were there at their second home. They invited us over for cards and to meet two European fellows that I think were scientists. Both Jody and Charles are scientists so that is probably right. Anyway, we were playing Bump, which is a card game. I remember sitting across from Jody and frustrating the hell out of her because I wasn’t playing the “right” way. Basically I played an attack approach to the game instead of a defensive approach and I could see it was getting to her. Finally she had enough and threw a card at me. You have to understand my competitiveness and my sense of humor. Jody threw the card in a joking but frustrated fashion and at that moment she crossed that invisible line between the people I trust and the people I don’t trust. I like competitors, fighters, people who can use humor to defuse situations. And I really like people who can be honest about who they are and what they are feeling. Over the years we’ve played cards on many other occasions, but this week I realized that we hadn’t played enough. There was more to this impressive woman than her card playing and I missed out on a great opportunity to really know someone I want to be like when I grow up.

7/13/2006

What the 0x800700c1 is going on?

I ran into an interesting problem yesterday while trying to get my C++/COM server sample working. I was getting this error message from the Digipede Network:

FailureInstantiatingComWrapper - Failure instantiating COM wrapper: Retrieving the COM class factory for component with CLSID {3D26EA71-F824-4651-B15C-EBDEA183D978} failed due to the following error: 800700c1.

The interesting part of the message is the 0x800700c1. I was unable to find this error code documented clearly....anywhere. I searched the libraries, MSDN, development groups, and the web. There are references to the error code but in no way was my problem related to the Microsoft Media Player. I eventually stumbled upon a newsgroup post which led me to set up a 32-bit pool removing the 64-bit machine from the equation. That did the trick.

Here’s what’s going on in a nut shell:

In the 64-bit Applications documentation on MSDN there is this text:

An application built using .NET Framework 2.0 (on a 32-bit or 64-bit machine) by default will run as a native application (not under WOW64) on a 64-bit machine.

The Digipede Agent running on the 64-bit test machine is running natively – as a 64-bit application. The COM server component that I had distributed to the machine was compiled as 32-bit.

More reading:

Running 32-bit Applications

Further research into WOW64 may yield a way to make this all work without any code changes from anyone; unlike the 16-bit to 32-bit transition when we had to write our own thunking layers. But for now I'm not running my 32-bit COM servers on the 64-bit machine.

7/06/2006

Crudely measuring the state of grid computing

Grid computing is a subject that has been talked about for years. The benefits are huge: increased application scalability and reduced application run time. For some companies the ability to run applications on a grid and reap those benefits is worth millions of dollars a year. I’m not kidding. So what kinds of companies are interested in grid computing? What technologies are they using? What is the general acceptance of grid computing? How many grid computing solutions are home-built vs. bought?

To get a crude estimate on the answer to those questions, I search job boards. I find that job descriptions contain an incredible amount of information. They’re ads from a company to a prospective employee; of course each company wants the best applicants they can get so they tend to pack a lot of valuable information into each posting. And because of this, job posts are a great way to gather free information.

Let’s do some searches:

C# => 33,945 hits
"grid computing" => 398 hits
"grid computing" windows => 64 hits
"windows compute cluster" => 5 hits

Obviously there are a lot of folks doing C# development and significantly fewer doing grid computing on Windows. I often drill down on the search results to get a better feel for the development environment around the grid computing posts. Run the ‘"grid computing" Windows’ search and drill down on some of the listings. Pretty interesting reading.

Are all of those C# folks potential grid customers? No. Grid computing is simply a tool and will only help those applications that have the right kind of performance and/or scalability problems. Just like multithreading an application isn’t always the answer, neither is grid-enabling an application always the answer. However, like multithreading, developers will find more uses for it than they initially expected.

Traditionally grid computing has been hard. Developers had to break their applications up into executable tasks (mytask.exe), worry about initializing each instance of mytask.exe, move the files (often requiring preinstallation on each node), worry about how to get the results back, build their own task recovery mechanisms, etc... That is what made grid computing hard. The Digipede Network has taken away a lot of that complexity by focusing on Windows, providing a GUI to define jobs (no more Perl scripts), taking care of all the plumbing (error handling, guaranteed completion of tasks, moving files, etc...), and most importantly providing an API that allows developers to distribute .NET objects from within their applications. Once people start realizing that grid computing isn’t hard any more we’ll start seeing those numbers go up.

I’ll try to collect these numbers from time to time, we’ll see if there are any changes as Microsoft and Digipede continue to push HPC on Windows.

7/05/2006

DotNet is....kicking!!!

As I mentioned earlier I just learned about DotNetKicks today. I’ve had a little time to play with it and I really like it. I’ve used Digg but I’ve been frustrated with it because all the technology stuff gets put into the same bin and most of the programming pieces out there are more for the open source folks. Nothing wrong with that, those just aren’t the technologies that I use everyday.

With DotNetKicks I can quickly see content that is relevant to me. This is a much needed tool and I wish the best of luck to the folks running the site.

Free .NET stuff

For all you .NET folks who like free stuff (and who doesn’t like free stuff?) Larkware is having a contest. Go check it out and nominate some blog posts!

And don't forget the Digipede Network Developer Edition is free also. You can get that here.

Digipede: Manna from the Internet

I’ve written here and here about how hard it is to get momentum and visibility. We’ve been working hard at it, but nothing beats those moments when you get "free stuff." When I got to work today Dan was looking at our site stats. We were getting a lot of hits from two sites we had never heard of before: DotNetKicks and Larkware. This is exciting. Really exciting. Many thanks to the unknown, unsung heroes who are helping to spread the word.

7/03/2006

Interview mentioning Microsofts’ enty into HPC

I ran across an interview today that I thought was interesting and I wanted to share it with you. A Conversation with Myricom’s Chuck Seitz, the question that caught my eye was, “HPCWire: How will Microsofts’ entry into HPC affect the cluster computing market? More specifically, how will it affect Myricom?” Here is the part of his response that interested me, I’ve bolded and added reference numbers so that I can comment on what I thought was interesting:

"My views about the likely success of Windows CCS clusters for HPC are influenced by the experience that about 85 percent of Myricom's market (in dollars) is customers who have no interest in being software developers or system administrators, even though they are probably running Linux today. These are customers such as auto companies running LS-Dyna or Fluent, or Saudi Aramco running seismic and reservoir-modeling codes, or the chemistry department at the University of Anywhere. These customers don't operate giant clusters, but perhaps up to a few hundred nodes. This is the market that Microsoft has said that they are going after, clusters of limited size where the most important factor for customer satisfaction is that the installation and maintenance be turnkey. [1]

In the Linux world, licensed applications are distributed as binaries linked to specific libraries, such as specific MPI libraries. Each time Linux and the libraries change, the application vendors have to generate and test new binaries. [2] One very smart thing that Microsoft has done to reduce the logistical problems in operating a cluster and to make life easier for application developers is to standardize the APIs. For fast networks, the APIs for message passing employ Sockets (Winsock Direct). This approach gives up a very small amount in performance, but allows applications to be distributed as binaries, exactly fitting the Microsoft Windows world."

[1] It’s nice to see the words of our CEO echoed by another CEO.

[2] I didn’t know this. I wonder how often Linux administrators update stuff and how the application vendors manage versioning. Anyone know how much of a problem this really is?

Interesting interview, go check it out.

Labels:

Just say no to splogs!

Every now and then I’ll do a blog search on "Digipede" and "grid computing" to see if anyone is talking about us or talking about grid computing on Windows. I have come to find the Google blog search to be pretty useless. Google doesn’t filter out splogs and there are a lot of folks out there hijacking content, not grabbing all of it, and not leaving a link to the full source. Because Google’s blog search doesn’t filter out these splogs the search results contain an incredible amount of noise and I, the user, have to filter that myself. This sucks.

Today I discovered a blog search engine called Blogdigger which seems to do a good job of returning relevant content. (ie. no noise) IceRocket also does a good job and I use that from time to time too. One nice feature of Blogdigger and IceRocket is that the search results are returned sorted by date. I think that is very handy way to eliminate old noise. Additionally, I tried out Yahoo! search using, “blog: digipede” as my search and I was very pleased with the returned results. This search did pick up some news results but very little noise.

There has been so much talk and study done on how to raise rankings in Google that everyone knows how to increase page rank. This makes it easy for sploggers to come up higher in the search than bloggers. This is too bad because in their quest for free cash, they are skewing the results, annoying people, and probably turning customers away from Google.

7/01/2006

Digipede: Have you heard of us yet?

During the SIA show I had several folks ask me, "Where did you guys come from? I never heard of you before." Digipede is a three year old company and our first product was released last year. Creating name recognition and momentum is a struggle for most startups, the only ones that don’t struggle with this are the ones that have high profile employees or founders. (I suspect that PodTech got a huge boost when they announced that Robert Scoble was joining the team.) Someday someone will figure out how to jump start startups but for now we have to do it the old fashion way and that is to keep telling our story to anyone who will listen and to hunt high and low for anyone who will pass our story on for free.

Digipede is starting to get some recognition and it was great that we were the enablers for Microsoft and HP’s demo of the HP ProLiant Servers and Microsoft Windows CCS. Being in the Microsoft/HP demo of their new technology releases is a great validation of the Digipede Network and let’s people know we exist, helps people feel more comfortable with our product and company, and clearly creates a powerful demonstration of what the potential is for Windows high performance computing in the business world.

In addition, the free Digipede Network Developer Edition was announced in last week’s MSDN Flash newsletter. This was a great boost for us and it was wonderful that it came out right after SIA. Dan’s DotNetRocks interview was delayed and actually came out this week too. I’m hoping that this attention will get people talking. Folks are downloading the Developer Edition and I’m hopeful that as people start using it they will also start talking about it. But we still have to keep spreading the word and looking for people to help us do that.

So, repeat after me, “With the Digipede Network...”:

"grid computing is easy"
"I can do grid computing on Windows"
"I can develop grid applications using .NET"
"I’m a rock star!"

Pick your value-add and spread the word.

Spam Alert: New twist on an old game...

Today when I booted up my laptop I had a bunch of instant messages pop-up from kate_ross65. I thought it was weird but just closed everything down. Then I checked my Yahoo mail and found I had an email from Kate Ross. This is the first time I’ve seen a scam that used both IM and email together. I found references to this scam here and here. The email was sent at 5:40 this morning and the subject was “GOD BLESS YOU”.

Here is the IM:

Sat Jul 01
[14:12] kate_ross65: HELLO [Offline Message (Sat Jul 01 05:44:13 2006)]
[14:12] kate_ross65: HOW ARE YOU? [Offline Message (Sat Jul 01 05:44:17 2006)]
[14:12] kate_ross65: I AM MOTHER KATE ROSS [Offline Message (Sat Jul 01 05:44:21 2006)]
[14:12] kate_ross65: ARE YOU THERE? [Offline Message (Sat Jul 01 05:44:23 2006)]
[14:12] kate_ross65: ding [Offline Message (Sat Jul 01 05:44:24 2006)]

Here is the email from mother_kate_1950@yahoo.com:

HELLO DEAR,

GREETINGS IN THE NAME OF OUR LORD JESUS CHRIST. I AM MRS KATE
ROSS,A WIDOW TO LATE DAVID ROSS I AM 55 YEARS OLD, I AM NOW A
NEW CHRISTAIN CONVERT, SUFFERING FROM LONG TIME CANCER OF THE
BREAST, FROM ALL INDICATION MY CONDITIONS IS REALLY DETERIORATING
AND IT IS QUITE OBVIOUS THAT I WON'T LIVE MORE THAN 2 MONTHS,
ACCORDING TO MY DOCTORS, THIS IS BECAUSE THE CANCER STAGE HAS
GOTTEN TO A VERY BAD STAGE.

MY LATE HUSBAND KILLED DURING THE U.S. RAID AGAINST TERRORISM
IN AFGHANISTAN, AND DURING THE PERIOD OF OUR MARRIAGE WE
COULD'NT PRODUCE ANY CHILD..

MY LATE HUSBAND WAS VERY WEALTHY AND AFTER HIS DEATH, I
INHERITED ALL HIS BUSINESS AND WEALTH. THE DOCTORS HAS ADVISED
ME THAT I MAY NOT LIVE FOR MORE THAN 2 MONTHS, SO I NOW DECIDED
TO DEVIDE THE PART OF THIS WEALTH, TO CONTRIBUTE TO THE
DEVELOPMENT OF THE CHURCH IN AFRICA, AMERICA ,ASIA, AND EUROPE.
I SELECTED YOU AFTER VISITING THE WEBSITE AND I PRAYED OVER IT.

I AM WILLING TO DONATE THE SUM OF $10,000.000.00U.USD (TEN
MILLION UNITED STATES DOLLARS) TO THE LESS PRIVILEGED. PLEASE I
WANT YOU TO NOTE THAT FUND IS LYING IN A SECURITY COMPANY IN
GERMANY, AND UPON MY INSTRUCTION, MY ATTORNEY, WHO PRESENTLY IS
IN LONDON WILL FILE IN AN APPLICATION FOR YOU FOR THE TRANSFER
OF THE MONEY IN YOUR NAME.LASTLY, I HONESTLY PRAY THAT THIS
MONEY WHEN TRANSFERRED WILL BE SURE FOR THE SAID PURPOSE, BECAUSE
I HAVE COME TO FIND OUT THAT WEALTH ACQUISITION WITHOUT CHRIST
IS VANITY.

MAY THE GRACE OF OUR LORD JESUS THE LOVE OF GOD AND THE SWEET
FELLOWSHIP OF GOD BE WITH YOU AND YOUR FAMILY

I AWAIT URGENT REPLY.
YOURS IN CHRIST.
MOTHER KATE ROSS

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

There are a lot of themes here, cancer, terrorism, Afghanistan, Christianity, Jesus Christ, God, money, and greed. To many people it will be obvious that this person is trolling. I wonder how many folks he/she will catch and how much damage this thief will leave in his/her path.

Though, I did find the use of the English language quite funny. For example:

"LONG TIME CANCER OF THE BREAST" - Most of us call this breast cancer
"COULD'NT PRODUCE ANY CHILD" - Most of us would have said "couldn't have a child"
"TO DEVIDE THE PART OF THIS WEALTH" - Hmmm, do you mean "divide"?

The language used here reminds me of my biological father, who is not a native English speaker. I don't think this guy is either. Did you see any other odd phrasings?