jakub holý

building the right thing, building it right, fast

Most interesting links of May

2010-06-02General

The most interesting stuff I've read in May, in no particular order. You can easily guess I've been working on performance troubleshooting this month :-)
  • NoSQL is About… - all the things NoSql databases are said to be about (and perhaps are not) and a good overview of the different goals and thus also features of the various implementations
  • Bulletproof of Mind Mapping: Overview, Benefits, Tips and Tools - the article not only introduces mind maps (a structured way of recording ideas, much less limited than lists) but also describes over 30 desktop and web-based MM tools, both free and commercial (some of the descriptions come from the SW's web, some from the author - the distinction isn't clear)
  • Java vs. C Performance....Again. (9/2009) - When C(++) is better than Java, when Java is more appropriate, and common flaws in comparions methodologies/false arguments.
  • Why Learning Git is really, really hard part 1 and part 2 with actual reasons - because it doesn't care enough for usability (unusual commands, cryptic error messages, impossibly to go to a "simpler use mode"). I'm intrigued by distributed SCM systems and tired of not-so-easy branching & merging in SVN and its lovely problems with corrupted metadata (when you delete a folder...) and thus I was considering switching to Git that everybody is so excited about. I still plan that but these articles warned me that it may be not so painless and easy. A good read.
  • Java VisualVM Blogging Contest results - the best posts -
    • VisualVM - tool for profiling Java applications - nice, short intro with many pictures
    • Analyzing Memory Leak in Java Applications using VisualVM
    • (and others ... )
  • How to compute running mean/standard deviation -  this page explains and in C implements an algorithm for computing a running estimate of mean and standard deviation, which minimizes accumulation of precision errors. A running estimation has the advantage that you do not need to store all the numbers and is thus suitable e.g. for continuous performance monitoring with a low memory overhead (buth the performance overhead of a division and multiplication it introduces is perhaps also something to consider - though for most application it's negligible)
  • (Java) Web performance in seven steps - a great article about the "management of performance" of a Web/JEE application from the definition of performance requirements up to continual performance monitoring with interesting war stories and links to various useful tools. I can sign the author's maxim "measure, don't guess!". The Java monitoring API Java Simon mentioned in the article is worth a look.