home links tools blog about

AngryPets Blog

home

Wednesday, October 12, 2005

The AngryPets Blog has a new home

Well...

I've gone and switched my blog to TypePad. Here's the new site: http://blog.angrypets.com/ (not teribly different than the current one).

I seriously thought about switching to SUB - as I really like the model, but I've got a couple of plans for world domination in the works, and all of them effectively involve RSS - to the point where I'll definitely be getting my money's worth out of TypePad.

So... Prepare to see my RSS feed on your aggregator go nuts showing lots of new posts - but hopefully that will be all - i.e. other than that the transition should be transparent.  (And it should get rid of that goofy issue with my feed being occasionally duplicated as well.)

I'll be leaving the old blog up for a while (with comments off), then I'll tear it down in a day or two once I've put some code in place to try and help search engine users redirect to the new site... as I'm sure Google/etc will take a little while to catch up with the changes.

posted 8:44 PM | Feedback (1)

Monday, October 10, 2005

Woah

This is HUGE. GINORMOUS.

MS Changes licensing to reflect virtualization.

Highlights:
- Up to 4 instances of Win2k3 on a physical box for the price of 1.
- Customers only pay for concurrent RUNNING images - not shelved/backup images/instances.
-  Per Proc Applications will be able to stack, etc. on virtual machines.

 

posted 3:53 PM | Feedback (0)

Consider me officially mad

There's apparently legislation underway that will attempt to provide journalists with better protection under the law. Some type of shield law. It drew my attention, because apparently bloggers aren't going to be shielded by said law - or at least it looks like that's the case at present.

But you know what? I'm now 100% officially sick to death of politicians. All of them. The 1st Amendment already provides for protection of the Freedom of Speech, and of the Press. Why the hell would we need another law to make sure that Journalists are protected? And, in in doing so, what about the REST of US?

And frankly, how does working for a company that sells hemorrhoid creme, laundy detergent, or used cars during commercial breaks make you any more trustworthy, relevant, important, or worth protecting than anyone else in this country who is attempting to dutifully and truthfully disseminate information, or that has an opinion and wants to see justice done?

This just proof positive that politicians spend entirely too much time with special ineterest groups - which means they've lost touch with America. I'm so disgusted I could spit...

posted 3:20 PM | Feedback (2)

Xml4Fun - Harnessing the BackPack API (Part I)

I know I've already seriously bugged both of my readers with this news, but if somebody just happens to be swinging by... my first Xml4Fun article has been published up on MSDN's Coding4Fun site.

Coding4Fun

Two more articles will follow, and when the 'series' is complete, I'll have a spiffy little application that will let me use BackPack offline.

So far so good: comments I've recieved via email have been good - including one from David Heinemeier Hansoon (37Signals member and inventor/creator of Ruby on Rails) who told me that he enjoyed the article.

</backPatting>

posted 11:25 AM | Feedback (0)

CTP Insanity

Julia was mouthing off about CTP madness via Channel 9.

I'm up to 9 VPCs that I'm using currently. I've had to resort to naming them by build/ctp number so that I can remember what box goes with which project. Lame names like XP_50727.27_Dev, and SS2005_Sept_CTP, etc...

And I gave up on running Vista via VPC - it was just too ugly, so I'll try it out as a VM (and I've got 4 VMs currently). Absurd. (And I've been too swamped too look into LINQ yet, but it's definitely on my list.)

(I can't wait to see how many machines I start spawining when I begin writing the IT Professionals chapter of the upcoming Virtualization book I'll be writing with 3 Leaf.... I think I'll probably have to start using index cards and a rollodex to keep my sanity...)

 

 

posted 11:17 AM | Feedback (0)

Thursday, October 06, 2005

Refactoring Support in C# Express is astounding

Honestly, I can't believe how good it is. An enum name has been bugging me as I'm going through some code and 'bingo' the PERFECT name for the enum type (from PersistedResourceType to SavedFileType) pops into my head.

I could zip into the file with the enum and change it there, and the IDE will give me a tiny squiggle to let me change that all throughout the project, or I can right click a reference in the MIDDLE OF NOWHERE, select Refactor | Rename and poof! it's changed everywhere - including the definition.

(I can even change it in the comments, etc.)

Honestly, I keep finding myself rebuilding everytime I do this because I'm SURE it's going to miss something (the ol' find and replace in 2003 always screwed you somehow) - but it has worked flawlessly time and time again.

(My favorite feature: change Gateway.cs to Connection.cs in the Solution Explorer, and you'll be prompted to change the class name as well (if it matches the filename) - and it will be instantly changed all through out the project. Spiffy.)

posted 11:16 PM | Feedback (2)

Monday, October 03, 2005

And no matter what you do: Dont...

Don't: Click on the Fonts and Colors Option in any of the VS tools if you're in a VPC/VM.

You'll have enough time to make a pithy blog post like this one...

posted 4:29 PM | Feedback (0)

ClickOnce: Changing the Deployment Server

ClickOnce is pretty spiffy. Really. At this point it looks like it will be a no-brainer in corporate environments, and I actually think it may be robust enough for small 'web shops' to actually push out to their clients as an admin tool etc. (assuming they either have the winforms curve down, or are willing to take the hit for the rich UI functionality (as opposed to taking the AJAX-buzzword route)).

But there are some security concerns that can make using it a _bit_ of a pain. For example, if you build and deploy your ClickOnce app against ServerA, and then later want to host it on ServerB, clients simply won't be able to pull down the files (or if they do'll, they'll be getting them from ServerA).

That's because ClickOnce makes sure that the signature of the application, found in the manifest, covers not just the bits, but the source of the bits. Frankly, that's awesome.

If you DO move the ClickOnce files from ServerX to ServerY (and, assuming that ServerX is no longer available), you'll encounter an error when you try to download the application. A check of the log accompanying the failed operation will say something like:

+ Downloading http://ServerX//.application did not succeed.
+ The remote name could not be resolved: 'ServerX'

In other words, even if you navigate out to http://serverY/someDir/publish.htm, the underlying manifest still lists ServerX as the place to grab the binaries, and check for updates, etc. In other words, it looks hard-coded.

Now, if you start playing around ini the application manifests that accompany your ClickOnce app, you'll find the <app_name>.application file, or manifest. It, happily, has something both juicy and promising: the deploymentProvider config node/element:

<deploymentprovider codebase="http://ServerX//.application" />

Looks like a quick change right? just change that to http://serverY/... and you're good to go. Only, you've just invalidated the signature of the application. So, to get around that, you'll need to run a spiffy little tool from MS, called the Manifest Generation and Editing Tool (or MAGE for short) - actually, there are two tools, mage.exe, and mageUI.exe. Either works, but mageUI.exe is obviously easier - and lets you change the above deployementprovider info, and when you click 'Save' it says: "Hold on there pardner' - your key is now pooched, would you like to regenerate it?" To which you can say: "Why thank-you, I'd love to..." Upon which it prompts you for the location of your .pfx key, etc. and regenerates your manifest, etc. Sure, you COULD do it all by hand... but the tool makes it all quite a bit easier.

(And as a word of note, it appears that mage.exe/mageui.exe don't ship with C#/VB.NET Express versions - they appear to only accompany VS 2005.)

Relevant Links:
- ClickOnce deployment: Manual Insanity
- ClickOnce: Signing Application and Deployment Manifests

posted 12:27 PM | Feedback (0)

Friday, September 30, 2005

The Realm where Google Breaks down

I hate it when this happens.

I've got a ClickOnce application that I've created for a top secret project I'm working on for MS (via 3 Leaf, of course). Only I built it on v2.0.50215.44 of the Framework, and deployed it on a server, loaded with one of the SQL Server 2005 CTP versions.  I sent it on to QA, and ClickOnce just won't work - it can't seem to push the files down as needed. Sure enough: the QA server was built with a SQL Server 2005 CTP, but with v2.0.7something.

So my first thought is to ask Google - to see if anyone has blogged about versioning issues with ClickOnce. Only, ClickOnce is ALL about versioning (i.e. people grab an executable from a server, which opens up a secure/sandboxed .NET app pool and runs locally - and the executable can be configured to check for versioning updates on the server - all so that versioning isn't an issue with your applications (pretty cool eh)).

In other words, searching for information about the version of the Framework that ClickOnce is running from is pointless - just about every thing out there about ClickOnce will be about versioning, and the Framework. Google returns so much info, and there's really no way to fine-tune the query... It's that place where Google breaks down. (I mean what do you type: "Framework version clickonce"? etc.)

*sigh* Guess I'll just go recompile my app in a higher version of the framework, and see if that will then work on the QA .7something builds...

posted 9:48 AM | Feedback (0)

Thursday, September 29, 2005

What would be really cool?

You know what would be REALLY cool? Some type of tool that would show me where my RAM was REALLY being used up.

Task Manager is kind enough to show me that I'm currently using 1.79 GB of RAM, but if I do a quick sum of the memory/virtual memory being used by listing the processes, I'd be lucky to come up with 500MB of RAM.

No.. I don't have spyware, a rootkit, malware, etc. I'm running Virtual PC - and that's a beast (and appears to lie to the kernel about where memory is)... but still.

I'm open to suggestions..

posted 9:33 AM | Feedback (4)