Programming Tips on CodeJacked.com

August 5, 2007 No comments yet

The Maxim Software staff runs codejacked.com, a blog with productivity tips for Windows and Linux users. The tips are mostly in “power user” territory, but sometimes we can’t help but cover topics of more interest to programmers. So, for those of you who are programmers, be sure to keep an eye on the CodeJacked programming category (www.codejacked.com/category/programming/), or even easier, just sign up for the whole CodeJacked RSS feed.

Here are just a few of the recent articles in the programming category, to give you and idea of what you’ll find there:
Version Control – A Developer’s Best Friend,
RegEx Pattern Matching on Dates,
Automatic Daily MySQL Backups,
Review: SQuirreL, an Agnostic SQL Client, and
Quick Tip: Searching for Program Source Code.

One Java Tip: “And That’s (not) Final!”

August 2, 2007 No comments yet

Something to watch out for with initialization code is that “final” has three different meanings depending on where it’s used, and it’s easy to get confused. For example, a common mistake is that setting a Collection to final doesn’t make the contents immutable, only the reference to the collection is immutable.

Announcing JSR 310 – Java Date and Time API

March 2, 2007 No comments yet

Stephen Colebourne, the guy behind JodaTime, writes in his Weblog that JSR 310 has been opened with the goal of improving the date & time support in Java.

Manipulating Columns of Characters in Text (How-To Tip)

February 4, 2007 No comments yet

“How did you do that?” is a question I get time and again whenever someone sees me select a column of text and manipulate it. The answer is, you hold down the Alt key as you click-and-drag the mouse.

“Okay, but what program are you talking about?”

Lots of ‘em, it turns out. I first noticed this feature in Miscrosoft Word, but all of my favorite programs offer it, including TextPad and Eclipse. This must be one of the best kept secrets of user-interface standards, and it’s a shame, because I swear this little time-saver alone accounts for hours and hours of my productivity every year.

TDD Solves the Blank Page Syndrome

February 3, 2007 No comments yet

In my personal blog I wrote about how the blank page syndrome can lead to procrastination. I gave an example of how it’s often difficult to know where to start when faced with a vaguely written bug report or an enhancement request. I suggested that one way to gain clarity is to skip ahead to writing the bug-resolution documentation as if you had already done the work. What will be the instructions to the end user on how to take advantage of this change?

Quoting myself, “Then, as I do the work for real, it gives me an acid test to know if I’m on the right track. In other words, does the software now work as advertised? A side benefit of this end-first exercise is that it often reveals latent issues and questions for which I have no answers. It also helps me to enumerate any assumptions that I’ve been making, which perhaps ought to be validated.”

This is a very much akin to Test-First Development (a.k.a. Test-Driven Development, or TDD for short), of which I am a huge proponent. I’d almost say that what I described above is a poor man’s version of TDD, except that there is no cost to doing TDD. Unit testing tools are free for the asking.

Monetary Amounts in Java — Feedback Wanted

February 1, 2007 No comments yet

Last week I submitted two patches to the TimeAndMoney open source project on SourceForge (timeandmoney.domainlanguage.com/). One patch has to do with localization of money. The other patch has to do with the persistence of money, via Hibernate, to/from a database (with examples for both MS SQL, and Oracle).

Upgrading MySQL

June 6, 2006 No comments yet

As usual I wasn’t following instruction while trying to update MySQL on my dev laptop. There’s some decent upgrade documentation on the MySQL site (here if you’re looking for it.) but its a lot to think about all at once and all the warnings didn’t seem to apply to the databases I had. The first thing I didn’t do was backup the database. I figured the installer would see that I had MySQL on the machine and would update things accordingly. I was wrong. The second thing I didn’t do was uninstall the MySQL service that was currently running. So, after the installer failed to configure the service, I was a bit stuck.

Wax On, Wax Off — Red Bar, Green Bar

May 28, 2006 No comments yet

[This originally appeared in my personal blog on 6/29/2005. Reposted by request.]

TDD has become as automatic for me as breathing. It’s a beautiful thing when you get to start a new project from scratch and can write every line of code test-first. These days, however, I’m working on a legacy app with very little in the way of unit tests, and it feels as if I’m working at 5,000 meters above sea level and struggling for every breath of rarefied atmosphere.

Tapestry Wins Award at JavaOne

May 28, 2006 No comments yet

Tapestry won a Duke’s Choice award for innovation at this years JavaOne. “The fourth Duke’s Choice Awards … spotlight some of the most clever, practical, and inspirational Java technology applications on the planet.” Check out Howard’s blog (photos yet to come): http://howardlewisship.com/blog/2006/05/tapestry-dukes-choice.html


Twitter Updates

  • On a mac it's super easy to encrypt/decrypt a file using openssl 2009-12-02
  • If you don’t think carefully, you might think that programming is just typing statements in a programming language. — Ward Cunningham 2009-12-01
  • Thanks to everyone at my CodeCamp LA presentation, you had great questions and I hope the exercise gave you something to take to work Monday 2009-11-21
  • Turns out my CodeCamp LA presentation made it to the front page of SlideShare today. Must be a slow day. 2009-11-21
  • Scrum has two deliverables, A Product Deliverable and a Capability Deliverable we don't talk up the second enough as agilists 2009-11-21
  • More updates...


Bad Behavior has blocked 875 access attempts in the last 7 days.