Friday - July 18, 2008
Technology and Compromise
"I can't use [X] because of this small feature which I find objectionable." I have some other places where a sensible compromise was discarded in favor of an "all-or-nothing" strategy. I don't know why someone would take an all-or-nothing demand for the impossible. But it does tell me how valuable the software is if they'd prefer none of it when they could have had some of it.
Posted at 06:10 AM
Read More
Author:
Steven Lott
Technorati Tags:
Technology Python Django
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Saturday - July 12, 2008
What's Central Here?
The requirements describe a kind of "broker" application that makes heavy use of a vendor's web services. Sadly, the requirements also give a lopsided view that leads to heavy refactoring. Lesson learned: don't take the requirements literally.
Posted at 11:25 AM
Read More
Author:
Steven Lott
Technorati Tags:
Python WSGI JSON REST
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Sunday - July 06, 2008
Voice of the Customer
Or What do people want in a book on programming?
Posted at 03:06 PM
Read More
Author:
Steven Lott
Technorati Tags:
Python SQL Programming
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Sunday - June 29, 2008
The "Which Language" Question
A recent email said "I've read a little about C++, and Objective-C. My next step will be to read a bit about Perl, Python and Ruby." I have a suggestion...
Posted at 11:45 AM
Read More
Author:
Steven Lott
Technorati Tags:
C++ Perl Ruby Python Java PHP
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Wednesday - June 25, 2008
Wrestling with REST
REST has some advantages over SOAP. Django totally rules. But the Django-REST interface causes me hand-wringing as I learn more about it.
Posted at 06:18 AM
Read More
Author:
Steven Lott
Technorati Tags:
Python REST JSON XML
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Wednesday - June 18, 2008
Building Skills in OO Design
Revised some additional things that have confused readers. And -- bonus -- added four appendices on testing and documentation.
Posted at 08:27 PM
Read More
Author:
Steven Lott
Technorati Tags:
Python Java Object-Oriented Design
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Saturday - June 14, 2008
Denormalization or "What did you mean by that?"
Denormalization -- like Normalization -- is a buzzword that can be interpreted several ways. It can mean "duplicated data", or it can mean "alternate forms of normalization." It's a loaded word, and it leads directly to at least five different kinds of objections.
Posted at 07:59 AM
Read More
Author:
Steven Lott
Technorati Tags:
database normalization denormalization
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Saturday - June 07, 2008
Genius Move -- Characteristic Functions
The name is obscure, the math isn't obvious, but this is a genius play for data analysis applications. Thanks!
Posted at 09:54 AM
Read More
Author:
Steven Lott
Technorati Tags:
Python Analysis StarSchema
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Friday - June 06, 2008
My Query Is Slow -- What To Do? Or Dumb-As-A-Post SQL (Revised)
When in doubt, step away from the IDE -- stop typing -- start thinking. Here are some epic non-solutions to a standard, well-understood problem.
Posted at 06:30 PM
Read More
Author:
Steven Lott
Technorati Tags:
SQL Denormalization Query Performance
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Friday - June 06, 2008
Tech Visionaries
Christopher Null lists top 50 tech visionaries in a PC World article. My personal hero makes the cut.
Posted at 06:00 AM
Read More
Author:
Steven Lott
Technorati Tags:
Internet RFC FTP
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Tuesday - June 03, 2008
In Praise of Serialization via __repr__ (Revised)
The Pythonic distinction between __repr__ ("If at all possible, this should look like a valid Python expression that could be used to recreate an object with the same value") and __str__ ("the 'informal' string representation of an object... a more convenient or concise representation [than __repr__]") is very, very cool.
Posted at 05:50 AM
Read More
Author:
Steven Lott
Technorati Tags:
Python StarSchema
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Saturday - May 31, 2008
Building Skills in OO Design -- Updated
In response to reader comments and questions, I've made a few updates to the OO Design book.
Posted at 04:20 PM
Read More
Author:
Steven Lott
Technorati Tags:
OODesign Python
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Thursday - May 29, 2008
My Peers Don't Get PL/SQL, What Can I Do?
Give up. First, no amount of "evidence" -- like blog entries -- will change their minds. Second, PL/SQL isn't a very good programming language.
Or, rewrite things in your preferred style and quit explaining to your peers how wrong they are.
Posted at 08:29 PM
Read More
Author:
Steven Lott
Technorati Tags:
PL/SQL Exceptions
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Tuesday - May 27, 2008
Brain Dead and Visual Basic: Coincidence?
Here's something I stumbled across. A bunch of VB versions of the same algorithm; all of which are bad in the same unthinking way.
Posted at 07:04 PM
Read More
Author:
Steven Lott
Technorati Tags:
Python VisualBasic Loops
Technorati Cosmos:
Technorati Watchlist:
Add this entry to:
Saturday - May 24, 2008
Some "Duck Typing Can't Scale" crap-ola
I've run into this vague hand-wringing that lifts up "trust" among programmers. They use the buzzword "scalability" to differentiate between a small team (where there are no trust issues) and enterprise-scale programming where "someone" doesn't "play by the rules". What?
The paranoid claim that these "others" can't be trusted, and specific defensive measures are required to protect "us" from the malfeasance of "them". They call it defensive programming and waste endless brain calories on writing pointless junk code.
It's simpler than that.
Posted at 07:05 AM
Read More
Author:
Steven Lott
Technorati Tags:
Python duck-typing PL/SQL Java quality
Technorati Cosmos:
Technorati Watchlist:
Add this entry to: