Digests » 389

this week's favorite

Before You Start Coding

Pilots use pre-flight checks to combat this kind of problem, so why not developers? Here’s a check-list of things I find important to consider before writing the first line of code.

Play the long game when learning to code

Aspiring coders tend to take one of two types of learning approaches. The first involves trying to learn syntax as fast as possible. The second emphasizes understanding above all. It may take longer, but I hope to show how it's better in the end.

Computer science is not software engineering

Computer science didn't prepare me for software engineering. There were classes about engineering. Freshman year. Intro to Java 101. Sophomore year, product management blow off class. And that's it. 5 years, 10 semesters, 40 classes. 2 on software engineering

In defense of XML

When I started my career, XML was ubiquitous. The meta-information in a Java JAR file - the manifest - follows a proprietary format. But Java EE designers built it from the ground up on XML: meta-information of all artifacts is in XML format e.g. web.xml, ejb-jar.xml, application.xml, etc.

The Hitchhiker’s Guide to Compression

This planet has a problem, which was this: files are too big. Many solutions were suggested for solving this problem via lossless compression, such as Lempel-Ziv and Huffman coding, but most of these were implemented into common compression utilities and promptly forgotten. Today, much of the relevant work to compression is in an obscure corner of the internet between lengthy PhD thesis papers and hard-to-find gems.