Unit Testing the Java Class Library

Unit testing is a controversial topic in developer circles. Opinions range from Most Unit Testing is Waste to You are not allowed to write any production code unless it is to make a failing unit test pass. For those on the pro-unit testing side, there are numerous benefits to the practice, especially the test-first variety. […]

Continue

How to Make Your Job More Interesting

Programming is creative work. Given a problem, you have to find a solution, then explain it to a computer in a way that humans can also understand. But unless you’re working on your own project, you don’t have total creative freedom. You have to use the tools and technologies that your team has selected, and […]

Continue

Proving That You Can Juggle Code

Peopleware is one of those books that show up on recommended reading lists for software development managers. Joel Spolsky was recommending it back in 2002. (It was written in 1987 and revised in 1999 and 2013). Chapter 16 (in the 3rd edition) begins with this vignette: Circus Manager: How long have you been juggling? Candidate: […]

Continue

Asking for Advice is Easier than Taking It

We have good options these days for getting answers to programming questions. Stack Overflow provides answers to fact-based questions. They can be targeted questions like How to sort a Collection? or even somewhat speculative questions like Why is there no SortedList in Java? that can be answered factually (does Java provide a list data structure […]

Continue

Why is Java I/O Slow?

You can read a lot on Quora about the best language to use for competitive programming. Here are some of the points covered by those questions: C and C++ execute quickly, and their macro support can reduce the amount of code that you end up typing in your solution. A language like Java can be […]

Continue

Solving UVa 11340 in Java

UVa 11340: Newspaper, despite being ranked at only Level 2 difficulty on uHunt, turned out to be rather tricky. Apparently others thought so too, judging by the 11 pages (151+ posts) of discussion on the UVa OJ message board. Many of the message board posts focus on the characters used in the test input. The […]

Continue

The Long Game

The theory of deliberate practice is a popular starting point for online article writers. I subscribed to an alert for the term, and I generally get a few results every day (of varying quality). Its popularity isn’t surprising. Deliberate practice offers a process that anyone can use to get better, assuming they are willing to […]

Continue

Lessons from uHunt Chapter One

This post is part of a series that considers what can be learned from the problems in each chapter of uHunt, a tool for competitive programming practice. You can find the rest of the posts in the series by visiting my uHunt post category. This week, I submitted the solution to the last of the […]

Continue