August 2003 - Posts
A last minute trip is going to keep me from going To the colorado tech blog meetup. (Bummer). However, unless you guys decide to cancel it, go ahead and do it. Sorry for the late notice, I didn't know myself until yesterday. Really bummed that I am not going to get a chance to meet you all. (Check this article for comments)!
-j.p
Very amusing... Have to play with it.... As a matter of fact:
I have to go blogless for a while. No writing, no reading. I will be back for sure, but I don't know when.
[The .NET Guy]
I talked to him earlier and offered to take over planning on the Colorado techie meetup.
2:00PM at the RockBottom This Saturday (The 30th) -- This is still open to negotiation if that doesn't work for people, or I get dragged out of town this weekend. . If you can or cannot make it please comment here. Rock Bottom is right off the 16th Street Mall.
Tim Bray wonders if he should let his kid go into IT?
It's all supply and demand. Personally, I'm trying to get my son to learn Chinese. Why? Because China is going to be more and more of a world power and very few Americans learn to speak Chinese and those that do will have a great job being middle-men between Chinese and Americans.
[The Scobleizer Weblog]
This is unfortunitly also a issue that I am dealing with. As a matter of background, I am 26 years old, I have a B.S in Computer Science and a B.A in History which I finished last year. Unfortunitly, the company that I have been working for the last seven years is in bankrupcy right now. So this last week I have started doing the whole job search thing again. I have 3 years experience programming in Java and .NET (since the betas) and 8 years experience doing enterprise level Systems and Network administration. I might just have to throw all that away.
Why?
Because the job market still sucks despite the fact that the recession was shallower then anyone thought it would be and despire the fact that the GDP numbers come back stronger then expected everytime. Why? Part of it is pure economics. We are too productive. Productivity is the mortal enemy of headcount. If you are more productive, you need less FTE's to acomplish the same task. Even though the economy will probably grow somewhere in the mid-3% (which is impressive, esp when you note how bad Europe's economy is right now) we need a significantly higher number to ofset the fact that it takes less and less resources to acomplish old tasks.
There is also that last bugaboo which Infoweek screams about every week: Outsourcing. Is outsourcing a concern? Yes, and it will be until the next wave (just like it was a concern when the Japanese companies got involved with mainframes, and just like it was a concern when PC manufacturing went overseas.....) What is that next wave? I am still inclined to think something like PDA or wireless, but I honestly don't know.
Which brings me back to my original point. At this point I am seriously considering going and taking my LSAT's, getting a masters in Law at CU, and practicing IP law (hey, if SCO can get away with their shenanigans, why not me?). Hey, any of you know anyone that needs a good .NET programmer or IT wiz in Colorado or Georgia?
My last big frustration has been attempting to make it so that my CMS can render templates in the VS.net designer that look like the page being generated. I use a homespun derivitive of the MasterPages setup to do my templating. Unfortunitly, under the VS.net designer any attempt to do a Page.LoadControl(VirtPathToUser) results in a “object reference is null“ exception. (BTW, if you ever want to know how to debug a control in the VS.net designer, open up a second instance of VS.net with the same project, set a break point and then attach to VS.net. Works like a charm). Using a ControlDesigner, I can make it look pretty, but I can't load the template in anyway because it throws that exception. I may be SOL here. I also tried this with MetaBuilders awesome masterpages, and ran into the same problem. (I can not plug Metabuilders enough). Andy Smith has a pretty good blog, but he does not blog often enough ;-). My next step may be to try and manually create the objects this reflection, but I have not figured out how to get the .aspx file rather then the .ASPX.cs class. Anyone run up against this before?
However, there is also my new favorite ASP.net caching trick. I previously used the ASP.net Cache to store my data objects because my pages are either a) static when viewed by outside users or b) very dynamic when used by editors and authors. This is not a optimal solution because even storing your data objects does not give you the best performance boost. Rendering the page still means a complete trip thru the (sometimes expensive) ASP.net pipeline. ASP.net offers page by page caching which gives a even more substantial performance boost, but page caching tends to limit how dynamic pages can be. I looked for a way to programatically invalidate page cache from inside of ASP.net, but there was still the somewhat painful issue of postbacks and dynamic renders and making sure that you are only caching at appropriate moments. Then, I came across the (apparently little known) Response.Cache.AddValidationCallback. This method allows you to do cache validation on a request by request basis. Using this as well as the CachePolicy option it is possible to tell ASP.net to use a stored cache image of a page, ignore the page request (and render) or invalidate the request. You can even change the HTTP cache headers to cache pages longer on client boxen.
For example:
public void Validate(System.Web.HttpContext Context, object State, ref System.Web.HttpValidationStatus Status)
{
if (((VeronaPage) this.Page).Editing)
{
Status = HttpValidationStatus.IgnoreThisRequest;
}
else
{
Status=HttpValidationStatus.Valid;
}
}
You can also set Status to HttpValidationStatus.Invalid if you want to force re-rendering he page. You hook this up by adding the following code to your (local) Page_Load:
Response.Cache.AddValidationCallback(new HttpCacheValidateHandler(this.Validate), null);
finally, this had a interesting note about useing pages other then Page for inheritence of ASP.net Pages:
http://www.msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/aspnet-pageobjectmodel.asp
Peter suggests that Colorado techies get together at a separate day and time, since he can't make it this weekend to the general blogger event this coming weekend.
I'm up for that. Let's pick a place and time. Greg lives on the south side of Denver, and I live in Elbert county (south east of Denver), so somewhere on the south side would be good if the others are around this area as well. Leave comments here if you are interested!
Update: By the way, if you're not a blogger but want to show up, feel free. I don't think we need to limit it to just bloggers.
[The .NET Guy]
Sounds cool. Anyone else from Colorado going to be around? (Boulder sadly, so south side is a bit of a trek)
Finished up my second and third large dot net projects. I have a brief respite to go actually look at new .NET technologies again. Any recommendations for new stuff to look at (new web services, one of the XML/object databases?)
j.p
Are you going to be at the PDC? Check out what Jeff Sandquist just did. I gotta add that to my weblog.
Hey, I wonder too if Dave Winer will be there?
[The Scobleizer Weblog]
I have to admit, the Microsoftians have been doing a great job hyping this. Of course, the fact that this is going to be 100% unaccessable to small independent contractors (like myself) who can't pony up the multiple K's that the trip and the admission is going to require will limit exactly how much impact that the PDC has. As for me, I will just keep weblogging and hope the new changes don't screw me too bad in the future. (And keep trying to get into the Yukon beta so I can port Verona over to a real CLR database)
According
to InfoWorld
That's pretty stunning. Even if SCO were right with their allegations that there
is SCO-owned IP in Linux (and I am not in the position to make any statement about
the rightfulness of that claim), $699 per processor is still well above and beyond
what would be their fair share †that pricing scheme looks more like this
is our OS, including everything that ships with it and that seems just plainly
wrong.
This reminds me of a similar high-profile case: the Unisys GIF license. They hold/held
the LZW patent and thatâ€s used in GIF. Of course, lots of developers found out
after theyâ€ve implemented and shipped GIF support and Unisys probably waited
for a critical mass to accumulate before they started enforcing licensing fees for
that patent in early 1995. (Side note from the Unisys
site: The U.S. LZW patent expires June 20, 2003, the counterpart Canadian patent
expires July 7, 2004, the counterpart patents in the United Kingdom, France, Germany
and Italy expire June 18, 2004, and the Japanese counterpart patents expire June 20,
2004.). While Unisys certainly didnâ€t make too many friends with that move,
they were initially asking something like ten cents to at most ten dollars per distributed
copy of any software package using the GIF format, if I remember right (the pricing
information seems to have vanished). I would think that looking at the SCO case, this
all of a sudden becomes very fair and reasonable.
[Still, the web-site fee of $5000 per site if you were/are using unlicensed (as in:
Unisys LZW patent licensing) software to create your GIFs, remains outrageous]
[Clemens Vasters: Enterprise Development & Alien Abductions]
Sad reality I suppose. I fear that if this trend of enforcing (insane) software patents is allowed to grow in the mind of lawyers, it will not be long before we (as comuter pogrammers and the companies that employ us) will be treated by the lawyers much as doctors are. Pinned up by lawsuits, sued over insanely supid and assanine things and then put out of business due to the legal hurdles that will be too difficult/expensive to overcome. The SCO lawsuit does not even attempt to claim any software older then two years ago, and yet they are demanding 10 times the amount of money that Redhat charges per software copy for redhat.
On the other hand, I suspect that there are some real enronmatics going on behind the scenes with the recent merges.
How's that for a dull title?
Either way. Two fresh, exciting articles for your ASP.NET dining pleasure. For those who can't get enough of caching, or of Steven A Smith, we have his ASP.NET Caching: Techniques and Best Practices article. This is now live at: http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/aspnet-cachingtechniquesbestpract.asp.
[Kent Sharkey's blog]
Actually, this reminds me of a question I keep hitting, is it possible to force a page entry out using the Cache API? For example, I have a single control that manages the state of a entire page. When that state changes, I want to invalidate the page, and fall back to a more dynamic solution. Any Ideas out there?
More Posts