Attention: We have retired the ASP.NET Community Blogs. Learn more >

Jeff Makes Software

The software musings of Jeff Putz

  • Iterate, dammit!

    In my relatively short career in software development (which is still like 50 years in Internet time), I've been exposed to a wide range of development methodologies, project management and general dev culture. The easy trap to fall into is trying to apply what you learn to every new situation.

  • Tim O'Reilly is blowing it

    There was a big uproar over CMP and O'Reilly sending some guy a C&D letter for using the term "Web 2.0 Conference" in that those companies are using it as a trademark.

  • Yikes that's a lot of code

    As it turns out, I've already missed one of the milestones I set in my last post about my forum app rewrite. Instead of beating myself up over it, I'm just going to pat myself on the back for working on it at all, since this is something I've been wanting to do for, uh, more than two years.

    So far, there are about 4,700 lines of code, and 42% of that is test code. I know that I don't write particularly good unit tests, because I just can't always burden myself to think about them the way I should. I test too much or too little. Since so much of testing exercises data CRUD, I can say that it does serve me well in that it's easy to add or remove something and no immediately if I break it. Especially in an application like this, so much of it is data access.

    So what do I have so far? Membership, Roles and Profile are good to go with custom providers. They're not fully implemented, because there are certain things that, frankly, I don't need and I'm not going to waste time on them just to say that I fully implemented a provider. I'm not even supporting anonymous profiles. I also have fairly extensive security logging in place, which is something I've wanted for a long time. I think it's up to like 14 events that are captured now.

    Next up, probably before I bang out the meaty parts of forums, topics and posts, I want to figure out a clever way to encapsulate permissions. I've never done that very well. You know, based on your roles, what you can read, post to, edit, etc.

    The 37signals guys would probably freak out that I haven't done any UI yet. :) Granted, I already have a pretty good idea of what my UI should look like. But for all of their crazy "getting real" talk, I can identify with a lot of what they say. Some of it just isn't practical in real, large-scale software development teams, but there's truth to a lot of those beliefs as well. For example, I agree that meetings are toxic, as they say. On the other hand, I think worrying about scalability later is a bad idea, because if you get it really wrong up front, you're looking at a total rewrite later, and who has time for that?

    I hope I can continue to have this level of energy and wrap this project by the end of the summer.

  • The challenge of time management in a no-profit scenario

    While I haven't been making the kind of progress I'd like on my forum app, it has been on my mind a lot. Back in January I decided it was time for a regular salary job after two years of consulting, not for any financial reason, but to be in a place where my brain would be challenged and I wasn't the smartest person in the room. That part is going fairly well, but naturally with all of that time accounted for, I haven't spent a lot of time on my stuff.

    And as time has rolled on, the code in the old version gets more and more scary to me. It's three years old, and it's pretty bad. I wouldn't say I didn't know what I was doing back then, but I certainly know a little better now (until three years from now). To rebuild my existing communities around it, I need to rewrite it, and that's going well, just really slow. I set up various milestones that I want to hit, with deadlines, and already I've missed one.

    The problem is that I can't motivate myself to see these things as high priority when the pay-off isn't clear. I mean, having more scaleable sites with more manageable code is an obvious incentive, but things have been (barely) doing just fine for those three years. And on top of that, I give the code away. Ah, the good old days of ASP where I sold it for $175 per license! People wonder why I don't get the whole open-source scene. I like to get paid for what I do!

    In any case, right now I miss the days of sitting on my deck and editing my book in the middle of July. Those were good times, and I'm constantly reminded of them on nice days like today. But I need to get back to working for The Man... for now...