This category contains 10 posts

Mixing the Two Main Debugging Styles

As a followup to my recent post on debugging, when confronted with an extremely difficult bug, I find there are essentially two mental processes you mix: Deductive: Spend enough time to fully work through all of the code paths to try and find an intuitive solution to the problem. In some cases, you can eliminate … Continue reading

Debugging Hard Problems

The complexity of the solutions you can build is limited by the complexity you can debug. When code gets complex, debugging gets harder. More data is involved, setup is more difficult, problems harder to reproduce. Code paths are more complex. Data structures become unwieldy nested graphs. Stack traces many hundreds of frames deep. Multi-threaded timing … Continue reading

Evolution of Forms (More about Why I left Adobe)

An article of mine about evolution of forms technology was published on The Register. The need for this technology is why I went to work at Adobe and why I left when I realized they would not market LCDS this way. BTW, Froyo – aka Android 2.2 update arrived on my Nexus One July 1. … Continue reading

MS and Oracle’s big dev tools – who needs ’em?

My article on the register.