Personal Homepage

My resume


Are you doing cool stuff? If so, you need to communicate how cool it is, with demo apps, exciting examples, articles, talks, and seminars. I love to bring the best new technologies into the public eye. I'm especially a fan of innovative programming tools and mobility software (Tablet PC, SmartPhone, and .NET Compact Framework). Contact me: Click here to send an email to larry.



Free .NET Tools

Knowing .NET

Code, industry analysis, and miscellaneous cross-links from Larry O'Brien, the former editor of Computer Language and Software Development magazines.

To receive an occasional announcement message regarding my seminars or publications, please subscribe to my mailing list.

Email:

Monday, February 23, 2004


With this add-in you can permanently remove hidden and collaboration data, such as change tracking and comments, from Word 2003/XP, Excel 2003/XP, and PowerPoint 2003/XP files. 
via [Early Adopter Weblog]

Everyone needs this add-in. In the past 6 months, I've received 3 Press Releases with embarassing internal comments and 1 document whose author had gone to significant pains to remain anonymous but who forgot or didn't understand Word's document properties fields.


10:36:13 AM    comment []   trackback []

Finalization is expensive.  It has the following costs...<snip of 2, 930 additional words>... Subject to all of the above, we guarantee that we will dequeue your object and initiate a call to the Finalize method.  We do not guarantee that your Finalize method can be JITted without running out of stack or memory.  We do not guarantee that the execution of your Finalize method will complete without being aborted.  We do not guarantee that any types you require can be loaded and have their .cctors run.  All you get is a “best effort” attempt. 

 via
[cbrumme's WebLog]

I'm becoming more and more convinced that the guideline for non-deterministic finalization should be: avoid it. The only thing you need finalization for are non-memory resources: file handles, database connections, etc. You can either exercise a little diligence so as to manually track and clean up these things or you can subject yourself to the complicated algorithms described by Brumme. If I were managing a programming team, there's no way that I'd trust junior programmers to read Brumme's post and then tell them "Okay, make sure we don't run out of database handles." Nuh-uh. I'd say: "Refactor your non-memory resources into xPool objects and deterministically finalize them using try...finally or using statements and the IDisposable pattern." Learning that might be more complex than reading Brumme's post, but the results are much easier to review and duplicate.

 

The people who really get a huge benefit from non-deterministic finalization are library writers, who finally have a guarantee that sometime before the process ends, they'll get a final shot at cleaning up resources. Even they, I think, should strive for explicit deterministic finalization and use the finalizer as a "last chance" effort to trigger clean-up.


9:37:54 AM    comment []   trackback []

Sun has posted an article claiming that Java is faster than .NET for processing XML.... via
[Better Living Through Software]

It's quite possible that Sun has achieved major improvements to their XML processing, since it used to be quite poor compared to .NET 1.0's performance. The competitive marketplace in action...


9:15:47 AM    comment []   trackback []

February 2004
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29            
Jan   Mar


Recent code:

Genetic algorithm in C#


Recent writing:

The REST is Salient

A Perfect Demo

Is InfoPath the New Excel?

The Joy of XML

No Reservations About .NET

Review of Borland's C# Builder 1.0

Java Eye for the .NET Guy

Waiting for Whidbey

Academic Issues

Netscape, We Hardly Knew Ye

Recommended .NET Programming Books

Programming Sabre with Java, C#, and XML

Bayesian Spam-Filtering

Best Practices for .NET Architecture

Windows Server 2003 as an Application Server


Toolroll:

Motion Computing M1200 Tablet PC

Compaq Evo N400c

XP Pro

Outlook 2003

Word 2003

Visio Enterprise Architect 10

Radio Userland 8

Visual Studio 2003 Enterprise Architect

Visual SlickEdit 6

Adobe Photoshop 6

Windows Journal 1

Microsoft Snippet 1

NewsGator 1.2

SpamBayes 1.0a2

Adobe Acrobat Professional 5

Groove 2.5

SQL Server 2000

WinCVS 1.3

IntelliJ IDEA 3

NUnit 2

Rational Rose Enterprise Edition 7

TimeTTracker 7

XMLSpy 5 Enterprise Edition

T Mobile Pocket PC Phone Edition


Subscribe to "Knowing .NET" in Radio UserLand.
Click to see the XML version of this web page.
Click here to send an email to the editor of this weblog.
[foaf]