Chef PC!

The day has finally arrived. We have a “Chef PC” in our kitchen!
Chef PC

This is the HP Touchsmart IQ770. That’s right, it’s a 19″ widescreen, touchscreen, all-in-one desktop running Windows Vista Home Premium and Microsoft Media Center. We first saw it Friday night at Office Depot, and today they had it on sale for $300 off.

Overall, it’s a pretty loaded machine – dual core AMD, 2GB RAM, 300GB hard drive, TV+FM tuner (gotta run cable to it still), wireless connection, gigabit connection (gotta run some networking to it), DVD burner with lightscribe, etc, etc.

Thank you HP for coming out with such an awesome machine that’s a perfect fit for Chef. It sits tucked away in the corner of our kitchen providing lots of cool capabilities (calendars, music, Chef!, tv, games, weather). It’s exactly what I pictured a couple years ago when I started writing the first incarnation of Chef; cool to see it actually running in the kitchen tonight!

Chef Update

It has been a while since mentioning Chef here, and I’ve had a few people ask me about it.  So here’s a quick update.

No, no sales yet.  I am getting a few downloads per week, which I’m pleased about since it is a 260MB download.  Maybe one of these days someone will take the plunge and purchase.

I have for the most part been taking a break from development, although I do have a decent amount of fixes ready for 1.1.  The big thing left to do is to tackle the download/install process.  I’m going to take the SQL Express install out of the installation package and let it get downloaded after the user installs.  This should kill two birds with one stone: a less intimidating, smaller download; and a simple way to verify the number of installs.  I’m really dreading going through the testing of the installation process since it takes so damn long, but I need to get on it.

Meanwhile, we’ve started to use it more and more at home even though we’ve yet to get a pc into the kitchen (pending an island or bar or something).  It’s proving to be a nice piece of software to have – if nobody else ever uses it, that’s their loss!

Chef 1.0

It has been a lot of work, but tonight I finished updating the website and released Version 1 of Chef Kitchen Management System. Give it a whirl and then tell others to try it too!

Chef 1.0 Boxshot

Now it’s on to the world of Google Analytics and AdWords :)

Posted in Uncategorized | Tagged

Domains

Ok, so I have a question.  Which of the following domain names should I use as the main domain for Chef?

EjiChef.com

EjiChef.net

MyRecipeSoftware.com

TheRecipeSoftware.com

EjiSoftware.com

I own all of the above, and will point them to whichever is the best to use as the main domain.

Posted in Uncategorized | Tagged

Chef and Vista

As I mentioned last night, I made the 1.0.0 build of Chef and started doing some installation testing on Vista.

It’s official – Vista’s UAC is kicking my ass.   It’s during the database setup that I’m having the problem.  Sql Server gets installed OK, it’s for some reason the database restore that times out.

Kinda tired of running the sql express install at this point.

Payment Processors

This evening I started to work on the registration process for Chef. There are so many ways to accept payments that it makes my head spin.  A couple months ago I signed up for a RegNow account and they even waived the $20 setup fee for me.  I’ve only recently started setting things up with them, and tonight ran through a Test payment.

Continue reading

Posted in Uncategorized | Tagged ,

Chef Beta 2 Released

The upload has just completed, so download it now!

There are numerous bug fixes in this release, alongside the major new feature of Recipe Sharing.  Users can now create Chef Recipe Packages and give them to other Chef owners to place into their collection.  Please feel free to check it out and let me know what you think.

Posted in Uncategorized | Tagged

Strong Naming

As a continuation of my last post, I thought some of you .net developers may be interested in hearing about some of the issues I ran into when strong naming.

Admittedly, this is my first real attempt at using strong naming as it’s intended and therefore I just wasn’t aware of a few things when I was writing the code for Chef. Two days ago I created myself a strong name key (sn -k keyfile.snk) to sign my assemblies with. Due to the obfuscation step I need to do between compile and packaging, I need to delay sign the assemblies.

In an exercise in curiosity I decided to sign the assemblies with the public key half of my keypair and keep the private key “secret”. Which really means just not kept inline with the sourcecode, but rather living in a key container in the machine store on the build box. This process was mostly problem-free, I used the sn.exe utility to: create a keypair; import the keypair into a key container; extract a public key from the key container; tell .NET to allow me to run partially signed assemblies with that public key token (sn -Vr *,) for debugging purposes. It all went well until I went into visual studio and told it to use the public key for signing – it kept telling me that it was password protected and prompting me for the password. I never put a password on it.

So to get around that, I did the first step (creating the keypair) from Visual Studio and gave it a password, then it all worked just fine.

One feature in Chef is the ability to create bookmarks. In my ignorance, I was simply using the BinaryFormatter in .NET and serializing to disk an array of these things for loading later. Little did I realize that all of the version information for the objects is written out – and if the objects live in a strong named assembly and the assembly version changes, it cannot deserialize! There’s supposed to be a way you can get around this, by setting AssemblyFormat on the formatter to Simple but it continued to write the version information. I also tried the route of using a custom Binder during deserialization and that didn’t work either.

As a result, last night I rewrote that code to serialize/deserialize the information myself with XmlWriter and XPathDocument rather than rely on .NET. Version issues gone. That’ll definitely be something I’m not likely to forget anytime soon. I need to rewrite one other small area this weekend for a similar problem, then I can move on. All that’s standing between me and Beta 2 is some thorough testing, a website update, and a file upload. Should all happen this weekend.