Maxim Software Acquires CodeJacked.com

March 14, 2007 Comments Off

We at Maxim Software Corporation proudly announced today our acquisition of http://www.codejacked.com, a website of productivity tips for Windows and Linux users. CodeJacked.com is the brainchild of Kyle Pott, a programmer and productivity expert who is now lending his writing skills to lifehack.org (which has to do with productivity, in general, whereas CodeJacked.com is focused on “jacking up” computer-user productivity). CodeJacked.com was briefly dormant while the sale was pending, but regular daily postings resumed last Monday.

Overburdened Software Developers?

March 8, 2007 Comments Off

Are your Java or C# programmers too busy chopping down trees to sharpen their axes? We can help. There are hundreds of proven, best-practice methods for dramatically shortening turn-around times, reducing senseless rework, obtaining consistently better time-estimates, and generally increasing developer productivity. Let us help you identify and adopt the ones that are most suitable for your situation.

Keep your developers focused on what they do best — directly applying their hard-won knowledge of the problem domain — and allow us to take care of the nagging incidentals. We bring expertise in all of the following areas:

  • Build Process Automation
  • Deployment Process Automation
  • Version Control Integration
  • Automated Regression Testing (”Smoke Tests”)
  • Project Wikis
  • Code Generation & Templating
  • Static & Dynamic Source Code Validation

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.

Software Archeology Using Rsync

March 2, 2007 No comments yet

The most powerful tool in the knapsack of a software archeologist/maintainer, is the grep search. Unfortunately the signal-to-noise ratio for grep search results can often be quite low. This happens when the project source files are intermingled with other artifacts such as generated files, raw templates, library/framework documentation files and examples.

One trick to filtering out the noise is to define a shell script that uses Rsync to create/update a searchable shadow copy of the working folder, and then to search that copy…

“Head First” Book Sometimes Makes My Head Hurt

February 16, 2007 No comments yet

[This review originally appeared in my personal blog on Sept 8, 2005. I'm reposting it by request.]

I’m helping out with a study group for “Head First Design Patterns,” which just finished chapter 6. On the whole, it’s a pretty good introduction to software design patterns — way more accessible than the seminal work by the Gang of Four; however, the examples sometimes make my head hurt. I can’t imagine what they’re doing to the heads of the beginners in the group. Coming up with decent examples is the hardest thing to do in expository writing, and I certainly give the authors an E for effort in creativity, but I wish they had been a little less concerned with making their examples “hip” and a little more concerned with making them appropriate.

The Magic Number Seven WRT the Framework Simplicity Conundrum

February 10, 2007 No comments yet

Mid last year, Kurt Williams wrote “Beware of Simplicity” in development frameworks. According to him, new and fresh frameworks can only claim to be simple because they are immature. All frameworks are doomed to growing more complex as they grow in features. I can’t argue with that. It seems to me, therefore, that the best frameworks are the ones that do the best job of hiding that complexity — either because of the innate architecture of the framework, or by virtue of the tools and practices that deal with the complexity for you. A framework can have all of the under-the-hood complexity it needs. It’s the day-to-day, in-your-face complexity that I care about.

In the field of cognitive psychology there’s this so-called “Magic Number 7.” Basically, the idea is that humans can only keep 7 disjointed “things”, plus or minus two, in short-term memory at once. To see what I mean, study the following list of words for a minute. Then, turn away and write down as many as you can from memory:

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).

SoCal Code Camp 2007 Reviewed

January 30, 2007 No comments yet

The second annual SoCal Code Camp at Cal State Fullerton last weekend was an improvement in many ways. The volunteer speakers were all well prepared, knew their stuff, and gave excellent talks. The only hitch I experienced was once when we had to swap rooms because one topic gathered more interest than expected, and it’s not like they could have done anything to prevent that. For an all-volunteer event with no admission charge, I was blown away (again).


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 59 access attempts in the last 7 days.