Monday, January 15, 2007
Monday, January 15, 2007 2:45:11 PM (SE Asia Standard Time, UTC+07:00) (Utilities)

I’ve been a loyal follower of Norton Ghost for many years. I’ve used it regularly in the past to copy, clone, and restore drive images. I’ve always used a dedicated drive image tool to create my own system restore points. The last DOS version of Ghost running from my boot CD with USB support to store the image was the zenith of Ghost usage for me I think. Feature bloat and a really terrible recovery CD in the latest version forced me to begin a search for an alternative.

Powerquest’s Drive Image Pro is long gone thanks to their acquisition however - happily I found exactly what I was looking for at Acronis True Image. Thank you Acronis. What an excellent piece of software. For starters the imaging tool is cool – well designed, easy to use and FAST. I can do a full image of my OS disk in about 15 minutes (a 14GB image file from 28GB of data). But the really amazing part is their recover CD. It takes only a couple of minutes to prepare, boots VERY fast, and runs True Image nicely – allowing me to browse for the backup image wherever it’s located, on another disk, or on my USB drive. The Ghost recovery CD takes nearly 10 minutes to boot – using a PE version of Windows (I think). The simplicity of True Image combined with their excellent recovery CD was the killer blow to Ghost, and I’m now an Acronis True Image convert.

For interest – I use True Image to create recovery images of my OS partition (my C: drive) and another very cool tool called SmartSync Pro to sync my data volume (my D: drive) with an external USB drive. I run backups (syncs) to the USB drive every day and also keep a fortnightly drive on rotation, locked in a safe at a friends office for off-site storage. The Robocopy console app is also a good way to kick-start the backup of a data volume and can also be used to mirror or sync data – but I liked the UI in SmartSync Pro enough to pay the asking 35.00 USD for the product.

Between the two – Acronis True Image 10 and SmartSync Pro, I’m pretty much covered on the system backup and data recovery front.



| Comments [0] | | #  
Sunday, December 10, 2006
Sunday, December 10, 2006 6:38:04 AM (SE Asia Standard Time, UTC+07:00) (General)

cruft /kruhft/ [back-formation from {crufty}] 1. n. An unpleasant substance. The dust that gathers under your bed is cruft; the TMRC Dictionary correctly noted that attacking it with a broom only produces more. 2. n. The results of shoddy construction. 3. vt. [from `hand cruft', pun on `hand craft'] To write assembler code for something normally (and better) done by a compiler (see {hand-hacking}). 4. n. Excess; superfluous junk; used esp. of redundant or superseded code. 5. [University of Wisconsin] n. Cruft is to hackers as gaggle is to geese; that is, at UW one properly says "a cruft of hackers". This term is one of the oldest in the jargon and no one is sure of its etymology, but it is suggestive that there is a Cruft Hall at Harvard University which is part of the old physics building; it's said to have been the physics department's radar lab during WWII. To this day (early 1993) the windows appear to be full of random techno-junk. MIT or Lincoln Labs people may well have coined the term as a knock on the competition.

http://www.techfak.uni-bielefeld.de/~joern/jargon/cruft.HTML


| Comments [0] | | #  
Saturday, December 09, 2006
Saturday, December 09, 2006 5:38:48 PM (SE Asia Standard Time, UTC+07:00) (Books)

CLR via C# – another great “roll your sleeves up” book. As the author says, there are a lot of “top down” books out there that will teach you how to use a tool, an application, or a framework, but fewer that will take you on a “bottom up” tour of the underlying technology.

What impressed me most about the book was the constant reference to efficiency and performance issues associated with the CLR and CTS, along with various pitfalls and performance traps that I would have continued to be oblivious of if I had not read this book.

To some extent I think type safety and the managed heap in the CLR may have given me a false sense of security where memory allocation and type design was concerned. There are still many performance pitfalls and many more performance gains to be made by having a deeper understanding of the CLR and CTS

I rank this as one of the best technical books I’ve read to-date. The coverage and depth is impressive. Jeffrey Richter knows his stuff.



| Comments [0] | | #  
Thursday, November 23, 2006
Thursday, November 23, 2006 8:32:07 AM (SE Asia Standard Time, UTC+07:00) (ASP.Net)
As site I’ve been working on recently required that all pages be XHTML Transitional compliant, with one exception. A special document page of the site needed to be in XHTML Strict format. 
 
The problem was how to get ASP.Net 2.0 to render all the pages in the site as Transitional, while rendering the special page as Strict.
 
Setting the xhtmlConformance option as bellow in the system.web section - will render all controls and pages as Transitional.

<system.web>
   <
xhtmlConformance mode="Transitional"/>
</system.web>

Since the main pages of the site are in the same root level directory - defining another web.config file for just the document.aspx wouldn't work.

Instead I used the location element (outside the <system.web> section). This will let you override any of the <system.web> settings for a specific location, directory or individual page.

<system.web>
   <xhtmlConformance mode="Transitional"/>
</system.web>

<location path="specialpage.aspx">
  <
system.web>
   <
xhtmlConformance mode="Strict"/>
 </
system.web>
</
location>

The hidden viewstate input element for the special page is now correctly wrapped in a <div> and the form name element no longer appears (just the ID).  The special page now passes for Strict while the rest of the site will pass for Transitional.

One last sneaky trick that took me a while to uncover - which could almost be consider a bug in ASP.Net - is that by default, with the default browser definition list - ASP.Net 2.0 doesn't recognise the W3C Validator's user agent - and no matter what you do - will not render Strict pages correctly and therefore all validation attempts for Strict will fail.

The trick is here....

http://idunno.org/displayBlog.aspx/2005080101

I created an App_Browsers folder in the project - and placed the browser definition for the W3C validator from the site above in this folder. The W3C Validator service was then receiving correctly rendered pages and passing the special page as strict.

:-)



| Comments [0] | | #  
Tuesday, February 14, 2006
Tuesday, February 14, 2006 11:32:59 PM (SE Asia Standard Time, UTC+07:00) (Other Tech)

As a favour to anyone else out there that may hit this one.

svn: Can't open file next-ids: The process cannot access the file because it is being used by another process.
If you see this message on your Subversion server - it's likely that your real time anti-virus software has got a hold of the next-ids file while it was being written, locking Subversion out.

Exclude the transactions directory in your repository from your AV software.



| Comments [0] | | #  
Saturday, June 18, 2005
Saturday, June 18, 2005 10:27:55 PM (SE Asia Standard Time, UTC+07:00) (Books)

Abraham Lincoln: “ If I had six hours to cut down a tree, I'd spend four hours sharpening the axe.”

...that and other lessons in 'The Art of Project Management' by Scott Berkun. I've not had my yellow highlighter out as often in a long time. A fantastic read and an even better bibliography.



| Comments [0] | | #  
Sunday, January 02, 2005
Sunday, January 02, 2005 11:23:47 PM (SE Asia Standard Time, UTC+07:00) (Books)

One to be updated in the future. Will create a category for Theory and Fundamentals at some point. Having written a fair amount of high-level language code, VB6 and C#, I figured getting to grips with the fundamentals might not be a bad idea.

Here are a few titles that have 'moved me' in this direction.

1)  Write Great Code, Volume 1 - Understanding the Machine. Randall Hyde
Randal Hyde has produced an excellent text that covers the basics of numbering systems, machine organization, instruction set architecture, I/O and more. A really enjoyable read (from the computer bookshelf of course).

2) The Art of Assembly Language. Randall Hyde
While I guess some people might suggest that a good place to start learning to write assembly language applications for Intel x86 CPUs is with MASM, Randal Hyde has created his own assembly language called HLA. HLA compiles to MASM and the principles of assembly language development are demonstrated well in HLA.

3) The Art of Computer Programming Volumes 1-3. Donald Knuth
Randall Hyde refers to the Knuth regularly in his books. Knuth’s work is relatively new to me (having graduated in a non-CS subject) but the impact of his work is easy to see in what can only be described the definitive description of computer programming. Will be chipping away at this one over the next year or two no doubt.

4) The C Programming Language. Brian W. Kernighan, Dennis M.Ritchie
Referred to as K&R. Another classic (from the inventor). Especially good when combined with a set of accompanying notes by Steve Summit at http://www.eskimo.com/~scs/cclass/krnotes/top.html

5) Absolute C++. Walter Savitch. I've learned more, indirectly, about the .Net framework from this book than I ever thought possible. An excellent text and another classic.  

There are hundreds of other classics out there and of course many more that cover other subjects like object oriented programming, analysis, design, project management as well as all the high-level languages. I chose the books above specifically to help fill the gaps in my non-CS programming background. My current ‘working’ interests are in .Net, ASP.Net and C# with several large projects completed to date.

Two last must reads that are not pure programming books per se are:

PeopleWare, Productive Projects and Teams. Tom Demarco and Timothy R. Lister.
(I've heard is a standard text in the stationary cupboards of Microsoft)

And...

The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition by Frederick P. Brooks

Whether you're selling software, writing software, or managing teams of people that write software for a living - please read these two books. They're an oasis of insight and common sense in a desert of idiots.

 



| Comments [0] | | #  
Wednesday, December 29, 2004
Wednesday, December 29, 2004 11:16:20 PM (SE Asia Standard Time, UTC+07:00) (General)

Waiting to board before flying back to Bangkok from Singapore. WiFi promotion here at the airport meant downloading and installing Firefox 1.0. WiFi is wonderful.



| Comments [0] | | #  
Saturday, December 25, 2004
Saturday, December 25, 2004 11:14:53 PM (SE Asia Standard Time, UTC+07:00) (General)

Having finally joined the online community of bloggers what better way to start than to wish you all a very Merry Christmas and a Happy New Year.

 

Tony



| Comments [0] | | #