Saturday, February 28, 2009

wix now on the resume

Due to a project at work, I've been forced to spend a considerable amount of time digging through the WiX documentation. I highly recommend that you use wixedit to build up the XML, because it's not very intuitive.

Some quick notes on what I found:

* you can specify multiple "media" tags to build up different cabs. The "DiskPrompt" value is what WiX uses to figure out if they should go on the same disk or if the installer should ask the user to drop in another disk.
* you can specify the 's id as the DiskId attribute for the Component in the Files section. This will let you split up multiple files across install media without a hassle
* filenames get converted to URL encoded strings if you use the Folder Import feature, and WiX will look for the URL encoded name on the filesystem (so, like "c:\foo%20bar.txt" instead of "c:\foo bar"), and this will be failurificious. Either remove spaces, or bundle it all up in a cab/zip/whatever ahead of time
* you can wedge in binaries and run them in CustomActions section, then pick which stage of the installer they should be run.
* everything you plan to put on the hard drive needs a reference in the features section... boo. This means you need to import files, and then create refs for each of them.

Not too bad, but it would have been nice to have some more examples out there.

Other tools for win devs that might be interesting/helpful:

MS's cabsdk program includes CABARC.EXE that lets you create/extract/look inside cab files

ilmerge let's you combine multiple assemblies into one (useful for include libs your software might need when dealing with people who can't handle heading to sourceforge... be sure to check the license, though)

7Zip is a free zip utility.. can create self extracting zip files (but they annoyingly have a popup prompt for where to extract to that I can't seem to figure out how to disable)

a dog with two bones

Quit WoW (again.. for real this time!!) and was punished by The Fates to find the car alarm on the Purple Rain limited edition F-150 going off. Turns out that the truck had been neglected too long, battery was draining, and the alarm's fail safe had kicked off. Only way to shut it off was disco the battery, so I did that and have left it sitting all week (along with the flat tire). Neighbors tattled before I could get it squared away, and thus paperwork was created in the office and I was given 10 days to make the truck purty again.

I'm half tempted to prop it up on cinder blocks and take the tires off 9 days at a time for the rest of the lease just to be a pain, now.

Any rate.

Finally got a chance to get a new battery in there and get the tire pumped up with a fix-a-flat enough to get it down to the shop for new tires. I might be imagining things, but it seems to be riding like a new truck (well, aside from the worrisome rattle when you accelerate, but the grease monkeys will be taking a look at that on Monday).

I know I don't need 2 vehicles, but after getting the Purple People Eater roadworthy again, I have to say I like driving both of 'em. :(

stand steadfast beside me and see...

That love is the province,
of the brave.




One of those mellow grooves that still sounds good when you crank the volume up.

Monday, February 9, 2009

free tech books

In talking with the little bro (who now suddenly is interested in comp sci /o\), he mentioned that he'd run across freetechbooks.com. Basically, it's free PDFs/HTML zips of college level math, engineering, and comp sci courses.

Tuesday, February 3, 2009

i accidentally the whole irs

I can't stop cracking up. :)

The US tax code is apparently so convoluted, 3 cabinet level executives (and their CPAs) can't figure it out. With one of them being an ex Senate-majority leader, and another being in charge of, like, running the IRS.

Can we just do the Fair Tax now? That seems easier.

and while we're on the subject of dropping MS stuff..

I also took a peak at Azure. Some interesting extra info about it: they have set it up to allow you to use it as a stand-alone platform. The idea is that the the services Azure provides on MS's server farm are replicated on your desktop, so that you can create a standalone desktop app that could be moved Into The Cloud(tm) later on.

Like, say you were creating an application for your HR person at your 10 person company to manage vacation requests, salary info, emergency contact information, certifications, etc, etc. Then you walk in one day to find that the company's grown to 200 people, and your HR person is crying softly in the corner begging for some help, so you hire a few more HR folks. If the app is Azure based, you can move it off the one desktop that the original HR person was using and onto your own internally hosted stuff (SQL server, SharePoint, and use AD for permissions) or you could push it out onto MS's Azure hosting hardware without having to rewrite the code.

In theory. In reality, I'm guessing that it's a lot more rocky of a transition.

But.

I won't be finding out any time soon. The SDK requires Vista on a 64bit system (not gonna happen), and can't run in 32 bit mode on a 64 bit proc under XP. Ah well. :)

dropping F#

A while back I wrote about my discovery of F# and interest in monkeying around with it.

After spending some time reading up on it, I realized that this was going to be more messy-headachey than chocolatey-awesomey. It just doesn't seem smoothly integrated into .Net... and that some of the syntax is just weird (even for a functional language). The other problem was that I'm already jumping around between 5 different languages in personal and professional projects and have already hit that annoying point where I'm having to check reference books and library APIs to remember the right syntax on how to do something ("Wait, was is it elsif, elif, or else if in javascript? Was it that python didn't have a case/switch, or was it that ruby did case/switch in a weirdway? Is the command to make lightning arc out of the monitor and zap the user for entering a text value when I clearly asked for a string part of the .Net core library, or did I need to import something?")

At the end of the day, it seems like a better strategic decision to just keep functional stuff out of the way altogether and if I need to use it then simply contain it to a seperate service/program.

MS, on the gripping hand, has decided to try and push it into .Net 4.0. /o\

Monday, February 2, 2009

super bowl was good for a change

I will admit it. I haven't tracked NFL (or even 'merican football in general) since... forever. I had trouble watching games without trying to dissect defenses and predict plays, thinking about how I'd handle blocking in certain situations, etc. End result is that I've kind of not paid attention to anything but the big games.

Which has been a problem because the big games in the NFL usually suck. One team will run out of go-juice in the second half from either being demoralized or maybe from getting tuckered out by pre-game partying after 4 months of intense practices. Either way, result was basically a blow out.

Not this year, though. This year the game was much better than the commercials. It was an all-out fight all the way up until the last 5 seconds of the game. Both the Steelers and the Cardinals had several opportunities to lose the game to self-pity, and instead of collapsing both teams just strapped it on and got back down to business. It was an amazing contest of not only athleticism but sheer willpower and raw determination that I haven't seen at the professional level in quite a while.

Awesome job, guys.