Posts Tagged best practices

When to Pause, When to Push

It’s now 11pm on Wednesday night. Tomorrow morning, at 10am, I will be presenting my Project Plan to execute $6M worth of custom software development over the next 36 months.

That Project Plan doesn’t really exist yet.

It’s been a busy week. LAST night, at 11pm (roughly), I filed a Notice Of Intent, to bid on a DIFFERENT multi-million dollar, multi-year contract. Oh, yesterday was also my oldest daughter’s 6-year-old birthday.

There’s a point, in here, somewhere. We’ll wind our way towards it.

Technically, these days I’m an “Information Worker”. What I think that means, is that I get paid for thinking about things. At least, that’s how I choose to interpret it. My clients probably prefer to think I get paid for the OUTPUT of my thinking – but I’m all too keenly aware of how directly the quality of my output, is related to the quality of my thinking. Read the rest of this entry »

, , , , , , , , , ,

4 Comments

<N> Reasons Why Open Standards, more than Open Source, Really Matter

There have been some great articles on the dangers of, either no standards, or closed standards. However, no one has really talked about how almost EVERYTHING we have accomplished as a race of people, has been to the credit of open standards of information exchange and interface. So let’s take a walk back through the ages, and look at the wonderful things that open standards have brought us.

1. Numbers

Regardless of the language they use, or even the character set they use for writing it, most countries on the planet now use the “decimal positional notation” for all numbers and mathematics. This public, open standard for notation has allowed the development of relatively friction-free international commerce, and was the successful basis for… Read the rest of this entry »

, , , , , , ,

1 Comment

Facebook Application Development How-to: 11 Tips You Don’t Want to Miss

I’ve built several facebook applications now, and although none of them are as successful as my friend Ben’s “Make A Baby” application, I’m very happy with how they run. Here are the tricks that I used – although you’ll find them mentioned elsewhere, and each of them is important by itself, if you’re just getting started on your first facebook application, you need to know: Read the rest of this entry »

, , , , , , ,

10 Comments

How-To Change Your Life: 11 Steps to Carbon Neutral

No, it’s not about your lightbulbs. It’s in your head.

Diaper ChangeA lot of the emphasis in my childhood was on being responsible for yourself – not simply in the sense of providing for your own needs, but actually taking responsibility for who you are, and how you behave. The obvious corollary was learning how to change. Contrary to popular belief, it’s not impossible. Nor is it magical, mysterious, or something involving $300 /hr therapists. But it does take work – and a bit of know-how.

My father explained it to me quite succinctly, when I was around 17 and I decided that I needed to start putting my laundry away, rather than leaving it in a stack on the dresser (which quickly became a heap on the floor.)

  1. Build up some momentum by changing a few simple, easy things. This can get you into a habit of winning at change. (For instance, every time I wanted to do this I would switch to brushing my teeth with my left hand. It’s easy to remember, and a great daily sticking point).
  2. Then WAIT to start on your change until you’re ready to WIN. It’s more important to do it right once, than it is to do it right now.
  3. Find something that you can do every day, even if you’re changing how you react to an annual event (like thanksgiving with the inlaws). It will give you a chance to invest additional energy and attention on your decision.
  4. If you get through the first week without missing a day, you’ve got a beachhead. Making it through the first month gets you most of the way there. After that, it’s all about the rest of your life. Read the rest of this entry »

, , , , ,

9 Comments

Managing deleted records in a mysql database – Design Patterns and Best Practices

It’s a classic problem in application design – you’ve got a nicely normalized database, lots of tables with related records. You need to allow the user to delete a top-level object – which OUGHT to produce some cascading deletes through a bunch of tables. BUT! – you don’t trust the user. So you need to support some kind of undelete, some kind of audit trail. What to do?

1. Have another table for each table, and create “deleted” records in there.
2. Have a “deleted” column on each table.

Both have their challenges. When rapid prototyping, the first one is cumbersome because you need to remember to make data model changes in two places, ensuring data integrity between current and deleted data, etc. But the second one would seem to require an extra WHERE clause for every SELECT statement in the entire application.

MySQL 5.0 comes to the rescue with support for VIEWS. Simply define a mirrored view for each table, such that:

CREATE view bounties as SELECT * from bounty where deleted = 0;

Obviously CRUD needs to be executed against the underlying table, but now you can safely declare simple SELECT statements everywhere.

I’m considering a similar approach, using nested VIEWs, to address Adult Filters. I’ll let you know how that goes.

Blogged with Flock

,

1 Comment

Close
E-mail It