Web Hosting Now Available Here

August 8, 2007 Comments Off

By popular request, Maxim Software Corp. now offers website hosting service to the public. The same servers that we use to host the properties of our ThotSpots Web Media division are now available to you at competitive prices. This service is being offered as a convenience to our consulting clients who seek one-stop-shopping, but is not required. As always, our software developers and website administrators will be happy to work with any website project, regardless of where it is hosted. For more information, write to info@maximsc.com.

This Blog is Now Registered on Technorati

August 6, 2007 Comments Off

This is just a quick post to indicate that this blog is now registered on Technorati.

Removing Code Generators from the Build Process

August 3, 2007 No comments yet

I’m a huge fan of code generators. I’ve seen them used successfully in many different ways. In the Java world, for example, the Xdoclet parser is commonly used to generate object code and ORM mappings based on database schema — a huge timesaver. I’ve also seen creative uses of XSTL transforms and Velocity templates for handily generating all kinds of program code. There are generally two ways to take advantage of code generators. One is for software developers to invoke the code generators on demand, as they program. The other is to incorporate code generators as part of a “daily build” (i.e. some automated build process using Ant, Maven, another build tool, or handcrafted scripts/batch files). Lately, I’ve gotten soured on the latter.

Interview with a Sarbanes-Oxley Auditor

August 1, 2007 No comments yet

On Role-Based Security and Segregation of Duties

Jim Fleischmann is a security consultant who audits companies for Sarbanes-Oxley compliance [defined]. He and I recently compared notes. As a software developer who has often worked on role-based security systems, it was wonderful for me to get his perspective on where the rubber meets the road. As you might imagine, his feedback was quite different from the usual feedback I’d get through channels (QA bug reports, customer service support tickets, etc.) The following is my recollection of what we covered. I’ll start with Jim’s observations, and then follow up with my own.

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

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:

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.