or subscribe with
Join 14,100+ readers for one email each week.
Digests » 389
this week's favorite
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.
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.
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.
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.
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