« December 2003 | Main | February 2004 »

January 25, 2004

Chuq on Project Management

Here.

I agree with Chuq. I've worked closely with project managers, and helped them - both by leading projects, helping with estimation, and "translation". And let me agree even more strongly, that the biggest problem I've had sitting in meetings, is watching the various -really intelligent- people who just don't understand what each other are saying.

I had an amusing realization a few days ago, that I feel like an old-fashioned Court Jester sometimes. I find that it's my role in some of these meetings to ask the really dumb-ass questions, even when I know the answers, so that the people to my left realize that the people on the right aren't saying what they thought they were saying... Let them have a few seconds of amusement at how little I seem to understand. At some point they'll realize that I really do understand these things more than it seems (sometimes - I -am- just learning about a whole new industry for me); probably if/when they notice that I really do ask -just- the right question to clarify a miscommunication between the various groups, departments, or fields (tech vs. marketing vs. business etc.).

And if they don't, at least there are some people who do -- my manager, the people I work with more frequently, and whoever they arbitrarily choose to point this out to. :-)

Posted by aland at 11:00 PM | Comments (1) | TrackBack

Republican Computer Scandal

From The Boston Globe:

Does anyone else see it as telling that they NEVER say what kind of system it was?

If it were Linux, we would be hearing ALL about it... I wonder.....

Posted by aland at 12:37 PM | Comments (2) | TrackBack

January 19, 2004

App I want: #2 for today

I would like to have a web service or servlet that will connect to a (dynamically specified) database and execute a (dynamic) query. So that I don't need to include my "DB.java" module in every web app I write.

I want the equivalent of a transparent database layer that I can reference from my applications, rather than building it each time.

I have something similar, in that I have a "DB.java" class that I use in most of my web applications with minor changes for each app. But I'd like to have this abstracted... The difference between "Code Reuse: Cut and Paste" and "Code Reuse: Load a module". The first is what usually happens; you have a useful software component, so you copy the file between projects. It's good, in that you only write the original code once. However, if when you find a bug in the code, you have to (and rarely do) go back and patch the older applications / version of the file. So then you have to try to remember which is the latest app, so that you don't pull an older version of the file...

Anyway -- In addtition to the standard DB routines, I also have some interesting utility code related to databases. "ResultSet to CSV", "ResultSet to XML" and while I can't think of any others, I'm sure I have other utilities in one or more projects. The same situation (re bugs) is here, but also there is a similar situation regarding functionality. If I suddenly have this great idea for a new utility function, it doesn't get built into the older apps, and again I have to be careful to use the latest version of the module rather than being able to grab it from any and know it's the latest.


So I just figured out one way I could do this -- to package the DB and Utility code into my own 'core services' jar file. As long as I keep the API consistent, I can just update the AlanCore.jar (for example) independantly, and keep it as its own project. That's probably the easiest way.

Which sort of solves the problem I got into down the line, but I'm not sure whether I'd also want the separate app where my database-access code lives on its own.

The primary problem I had come up with for this "DBServices" application is security, but I could have an API where the requests come loaded with auth info, e.g.:



SELECT * FROM books WHERE id > 300 AND name LIKE '%Ring%'
CSV
XML

which is a neat little schema/api.

The results might be:




301Lord of the Rings Volume 1: The Fellowship of the RingJ.R.R. Tolkienblah

302Lord of the Rings Volume 2: The Two TowersJ.R.R. Tolkienblah


etc.

Posted by aland at 3:42 PM | Comments (1) | TrackBack

App I want: #1 for today

I want a program that will read through my archived email and harvest all the email addresses, and enter then into an LDAP address book, which can then be synced with Apple's Address Book.

If I get sufficiently bored I might hack this in perl at some point. :)

It should be configurable to grab addresses from any one or more of the following locations:

To:
From:
CC:
Body of message

It should sort them, make sure that each only exists once, and provide a list for me to check off which I want in the LDAP.

it should then sync its list with the LDAP, and if there are any potential conflicts (dunno how that would show up) it should show me the conflicts and let me select which to merge or delete.

It should probably have some way of saying "These are non-primary alternate email addresses for this user" and "This is the primary email address for this user". LDAP has the option for multi-value attributes, of which I believe EmailAddress is one, so the alternates is easy. I might have to add to the schema to have a "PrimaryEmailAddress" entry...

Posted by aland at 3:02 PM | Comments (0) | TrackBack

January 13, 2004

Zip code decryptor

From http://channels.lockergnome.com/news/archives/008517.phtml

Enter a USA zip code[1] and see it slowly light up like a Christmas tree going
out as you enter each digit. Just type in the number.

[1] http://acg.media.mit.edu/people/fry/zipdecode/
zipdecode - ben fry

Posted by aland at 11:53 AM | TrackBack

C++ - Format number to arbitrary position string

I'm documenting this here because we couldn't find it documented on Google or MSDN...

Amy had been trying to configure the precision that a number formatted to in Visual C++.

The best we had come up with at the time was to dynamically construct the format string, e.g.

fmt.Format("%%.%df", precision);
text.Format(fmt, value);

She just found:

text.Format("%*.*f", 0, precision, value);

which does the same thing without the extra string. Which was a neat hack, but a little sleazy... :)

Posted by aland at 11:11 AM | Comments (0) | TrackBack

January 11, 2004

NY Times article on blogs

My So-Called Blog, By EMILY NUSSBAUM

I only took the time to read the first page so far, but it looks fair and balanced. :-)

Posted by aland at 12:59 PM | Comments (0) | TrackBack

January 9, 2004

New Blog Title

After discussions with Mike H. and Amy, we've come up with a new title, as seen above...

Mike came up with the initial theme (pun intended), and Amy pulled together a good set of alphabetically determined descriptions for the blog.

Thanks. Mike, the chocolate is in the mail. :-P

Posted by aland at 2:15 PM | Comments (0) | TrackBack

January 7, 2004

Name This Blog Contest!

My creative juices don't exist. :-) Any ideas for what to name this blog?

I'd like it to not be too geeky - the content will suffice for the geekiness quotient.

Ideally, we'll hit on something reasonably creative, marginally esoteric, and somewhat obvious. In retrospect.

Otherwise, I'm just going to call it "I was thinking..." And no one will believe that. ;-)

Amy just asked me what the prize is. If the adulation of your peers does not suffice, you'll just have to give me a suggestion. If the potential prize is in line with the suggestion, and is in my power to provide, I will strongly consider it.

Otherwise, the prize will be approximately $3 in chocolate money. Or in Heather's case, the erasure of $100,000 in (chocolate) debt.

Posted by aland at 10:47 PM | Comments (0) | TrackBack

Bitchin' Trains

Freight trains should not be permitted to cross intersections during commute times.

I was stuck at a light from 7:50 until 8am this morning while a freight train crossed the intersection. I was literally a 30-second walk from my train, but I couldn't get to the parking lot to park. :-(

Luckily, my train waited about 8 minutes after the freight train left before pulling out, so I made it with a minute or two to spare... But it was totally annoying, and adds to the frustration of commuters.

Posted by aland at 9:41 AM | Comments (0) | TrackBack

January 5, 2004

Amazon feature wanted

"Amazon.com Wish: Softcover Alerts"
http://jeremy.zawodny.com/blog/archives/001356.html

Yeah, me too. :-)

Posted by aland at 8:57 PM | Comments (0) | TrackBack

January 1, 2004

HAPPY NEW YEAR

I would have posted this earlier, but the server was down. :-(

Posted by aland at 8:58 PM | Comments (0) | TrackBack