Developing Excellence

Secrets of a Successful Software Engineering Career
by Nathan Tippy

Learn Strict XHTML Quick

Saturday September 23, 2006    1 comment, add yours
Related Topics: Skills To Practice
 
I have been looking for a great tutorial to introduce my kids to XHTML. I wanted them to start out with the ideal found in XHTML Strict and then follow up with some lessons in CSS and JavaScripts. My favorite site to find help with XHTML would be w3schools.com without a doubt. Unfortunately I think the site may be a little intimidating for the new user. In my search so far the best XHTML Strict tutorial I found was posted on si-blog at jessey.net Let me know if you have any recommendations. My oldest is eager to get started making some sites and I think its important to both ’strike while the iron is hot’ and start him out with the best practices.

Discover the Elegant Simplicity of JSR 166

Tuesday September 5, 2006    add comment
Related Topics: Important Topics, Skills To Practice, Concurrency Series
 
My news brief on Java Concurrency has been posted on OCI’s site.
Concurrent or multi-threaded software is not a new technology but its importance has been accelerating. This is primarily due to the low cost of multi-core CPUs that are becoming common in even the most basic machines. This trend is expected to continue as hardware manufacturers, following Moore’s law, cram greater numbers of cores onto a single die at ever lower costs. In the past older applications have taken advantage of faster hardware for improved performance, thus extending their functional life. In the future this will be less common because CPUs are not expected to be significantly faster; instead they will be doing more in parallel. There is no better feeling for a developer than knowing that his/her software has withstood the test of time. This is rare, of course, because technology and methodologies don’t remain static but continue to progress with the relentless march of time. It is not advisable to rewrite everything to make use of concurrent algorithms. However, finding places where it makes sense to add multi-threading and “use the right tool for the job” may greatly increase application longevity. It would require a short course to do justice to the topic of concurrent Java development so the remainder of this brief will focus on demonstrating a few of the features with the hope that the reader will continue further study on his/her own.
Read the full article here: Discover the Elegant Simplicity of JSR 166

five habits of highly profitable developers

Friday August 25, 2006    add comment
Related Topics: Miscellaneous, Reading List, Important Topics, Skills To Practice
 
This is a great article! A must read for those just starting out and a good reminder for those who have learned these lessons the hard way. five habits of highly profitable developers

Quick check for thread safety

Thursday August 10, 2006    add comment
Related Topics: Skills To Practice, Concurrency Series
 
When doing concurrent development it’s easy to make mistakes that may produce unexpected results. It can be very hard to track down these bugs. As a quick first look at the problem check to see how thread safety is being enforced. You should find one of the following techniques in use:
  • Immutable objects can always be shared between threads without concern for thread safety. To accomplish this the object may need to be in an immutable wrapper class or marked as final/const.
  • Objects that are accessed by only one thread that never changes do not need to add protective code because simultaneous access will not be possible. If a thread should die or need to be replaced the change logic will need to use of of the other another mechanisms to ensure thread safety.
  • A lock must be held whenever reading or writing to a shared modifiable object. Lookout for situations of ‘check then modify’ where the code reads a value and then modifies the same variable. In these situations the lock must be held for the duration of both the read and the write.

Skills You’ll Need in 2010

Saturday July 15, 2006    add comment
Related Topics: Important Topics, Skills To Practice, Job Search
 
Great article I found on Digg today. IT Skills You’ll Need in 2010 Don’t leave development yet but one must always think about the future. Make sure that self-improvement continues to be a high priority. Take time to expand and deepen your knowledge of your business and sharpen your soft skills such as writing and speaking. Consider some of the jobs they recommended in the above article, will you be ready to transition into one of them by 2010? Some jobs to consider:
  • business enterprise architects
  • business technologists
  • systems analysts
  • project managers
Next Page »