[ Content | Sidebar ]

Archives for Programming

customers and tests

One thing I forgot to mention in my last post: the reason why my boss was so concerned about integration testing was because of customer feedback. Which is a perfect example of why customer representatives should be involved in writing tests (instead of, say, just handing off requirements and leaving it up to the engineering […]

proper level for tests

We had a (very useful) meeting at work today which, at one point, turned to the extent to which our end-to-end tests should extend beyond the software that we are writing and actually invoke our software via our partners’ software. (As opposed to driving our external interfaces through test clients that we’ve written ourselves.) My […]

help me with my sql query!

Currently, I’m performing SQL queries that look something like this: select id from books where author_id in (select * from ((select 106 id) union all (select id from compound_authors where author_id = 106)) as extended_authors); I have a hard time believing that the select * from bit is really necessary, but I can’t find a […]

random links: april 2, 2006

Antibubbles. More IP insanity. I wish I could get more info about this, but I haven’t yet been able to find German sources. Links to pretty bug pictures I could watch this for hours. How to tell if your methods are too long. Another Octavia Butler tribute.

intrusive collections

Each of my dbcdb web pages corresponds to an instance of a class called Entity. And each entity has a key, which is the number used in the web page. The class Collection represents the collection of all the entities. Currently, each entity knows its key. As part of the change that I’m about to […]

(badly) generating html from sql

I’m now generating my HTML pages based on the data in the SQL database. I’m still first assembling all the data in memory using Java method calls, and writing that out to an SQL database, but then I throw away the in-memory copy and regenerate it from the database. I can’t really say that that […]

random links

Cleaning out my list of saved links: A visit to the Ghibli museum. Lean manufacturing books are next up on my reading list. I’m glad some Congresspeople are seeing the DRM light… Because the bad guys aren’t about to let up. I repeat: the bad guys aren’t about to let up. Google’s hardly a saint, […]

protected and package

I have doubtless said this before, but the idea that protected visibility implies package visibility is screwed up. I’m in the midle of a refactoring where I’m creating a superclass out of an existing class; at some point in this refactoring, I wanted the compiler to force me to use the new superclass instead of […]

populated database

I’m now fully populating the database with information from my collection. It took longer than I expected; I’ll keep that in mind the next time I plan to work in a unfamiliar area. (It wouldn’t have been so bad, of course, if I were working in chunks larger than an hour or two at a […]

go jdbc!

Hey, this JDBC stuff really works! I could really do without checked exceptions, though: every single time I call a JDBC function, I have to add four lines of try/catch wrapper code, because an SQLException could be thrown at any time. Sigh. And I can’t think of a good way to avoid that, given that […]

breaking the rules and xp

As a manager who is drawn to XP, one question that reading First, Break All the Rules raises is: how compatible are agile methods with the book’s recommendations? Let’s start by going through the questions. 1. Do I know what is expected of me at work? This is a strength of XP (and other agile […]

my first sql statements

I wrote my first SQL statements today. I haven’t gotten as far as actually inserting data yet – they just create the tables as described here. But it’s a start, and I also started doing the modifications to the code to dump the data to the database. I’m definitely past my programmers’ block now: I […]

things i didn’t learn

I agree with Keith Ray’s endorsement of Pascal van Cauwenberghe’s “Things I Didn’t Learn” series.

over/under

I had a very pleasant lunch yesterday talking with some other people at Sun about XP. At some point, the conversation turned to “superstar programmers” who do their best not to help other people, giving perfunctory answers to questions, sending various signals that they don’t want to be bothered, and even being actively insulting to […]

fit

Acceptance testing has not been one of my fortes. Honestly, it took me a long time to be convinced by it – why isn’t unit testing alone enough? I’ve been caught out enough times by acceptance tests which I put off writing and which, when written, turned up bugs, that now I’m pretty religious about […]

ready to start using sql

I’ve finished working through the examples in that SQL book, I’ve read a JDBC tutorial, and I’ve downloaded a JDBC connector for MySQL. So I guess I don’t have any excuses not to start getting my fingers dirty. (I first typed “getting my features dirty”; I hope that isn’t a Freudian slip…) Next weekend is […]

books without authors

Despite appearances, I have been making progress on dbcdb recently; it’s just been taking a little while to go through the examples and exercises in Learning SQL, and I was busy last weekend. (As I am this weekend, but I’ll find time tomorrow somehow. I have a big backlog of posts to write here, too.) […]

lean manufacturing reading

I e-mailed the author of the blog I mentioned recently, and he was kind enough to put together a lean manufacturing reading list.

an interesting exception idea

Here’s an idea about exceptions that I hadn’t seen before: catch them as early as possible, and then To avoid strong coupling between parts of the system we shouldn’t inform the caller that we had a problem. Instead, the object that catches the exception should set its own state such that it will answer future […]

lean manufacturing?

Various mentions I’ve seen recently make me think I should learn more about lean manufacturing. An interesting quote: Kaizen activities in lean manufacturing often begin with red-tagging, in which all superfluous inventory, tools and rubbish are marked with a red tag and moved into one corner. At the end of a week, if any tagged […]