The usual

Dec. 13th, 2004 07:24 am
kickaha: (Default)
[personal profile] kickaha
I love it when you get that moment of clarity after staring at a project for months, and you suddenly know exactly how it should be done.

I hate it when it's nothing like what you've got so far.


Spent the last few months off and on working on this stupid last tool for the dissertation, and last week came to the realization of how it all fits together... and also realized that everything up until now has been requirements collecting. Figuring out how the gcc dump tree is designed (or not), how exactly to map C++ with all its bastardizations onto a pure object model, and so on.

Well, now I know. Unfortunately, the code I've written to this point has all been to support the discovery of requirements, not the actual task that is the final product. Lots of nifty code used in clever ways that looks to now have very little purpose.

Ah well. A 10 hour sprint from 7pm to 5am, and I have about half of the all-new and improved framework in place. Let's see if I can do the other half by the weekend.

(no subject)

Date: 2004-12-14 06:25 am (UTC)
From: [identity profile] labrown.livejournal.com
I can't think of any substantial piece of code I've written that I haven't wanted to rewrite immediately after finishing it. There is always something I figure out can be done better or differently. I don't think I've ever had such a dramatic experience with it as you, but I can relate.

I'm actually going to have the opportunity to do a complete refactoring and implementation of a big project I wrote last year. I'm looking forward to doing the project over "right" this time.

(no subject)

Date: 2004-12-14 06:32 am (UTC)
From: [identity profile] kickaha.livejournal.com
Oh I hear ya. Definitely, this is the most clear-cut example I've ever had of this - the entire approach is changing, such that it is going to end up looking *NOTHING* like what it started out as. I've never had that happen before.

Basically, I architected a dandy tool for divining what the &*(@# was going on with gcc, but that tool doesn't work at all for what I actually need to *do* with it. I'm shocked I'm being able to save as much code as I have been able to. (Whoo Visitor pattern!)

Now if I could just get the memory requirements under half a gig... (one thread, massive data amounts running around in a garbage collected environment, all interconnected like spaghetti - you try finding the zero ref objects. :P) I cut it by about 10% last night, am hoping to squeeze another 25-30% out by the time I'm done.

Careful you don't fall prey to the Second System Syndrome though... Brooks nailed it with that one. :) (The tendency for developers of any stripe to say, after shipping the first product "Aha! I know how to do it *right* this time!" and then they get all excited, and end up throwing in everything including the kitchen sink, and screwing it up massively by losing focus.)

(no subject)

Date: 2004-12-14 06:59 am (UTC)
From: [identity profile] labrown.livejournal.com
Well, now you are going in the right direction and that has to be a good thing. You're working in java, then, from the description of your environment. We've had fun problems trying to provide production support for a couple Java based web-apps at work that keep blowing out their JVM memory limits. Restarting tomcat because the app killed itself is no fun.

I'm trying to be VERY careful about Phase II on this application. I'm going to be redesigning and rewriting it from the ground up, but it also will include significant new functionality that is really needed by the app, and some that is being pushed in by the customer which I'm not certain is actually needed. Have to wait and see about it.

Can you provide an accessible, but GOOD intro to design patterns? It keeps cropping up around me but I don't have any direct knowledge yet and I think it is something I need to know.

(no subject)

Date: 2004-12-14 07:09 am (UTC)
From: [identity profile] kickaha.livejournal.com
Python, actually. Loves me some Python.

And funny you should say that, we need to get together and chat sometime. :) Part of my dissertation is a new catalog of Elemental Design Patterns that I think have great utility in teaching OO programming *and* architecture design simultaneously.

Just ran across a new Patterns book though, Head First Design Patterns (part of a series of intro books) and from the sample chapter I've read, I'm pretty impressed with its ability to get the concepts across quickly. It's lightweight in tone, but had a lot of actual content.

Profile

kickaha: (Default)
kickaha

January 2020

S M T W T F S
   1234
5678 91011
12131415161718
19202122232425
262728293031 

Style Credit

Expand Cut Tags

No cut tags