Your Development Crutches?

It was at the recent Aussie (Clarion) DevCon that I got to see one of my big crutches.

In the first day of Capesoft Training, very early on, I was struggling to concentrate on doing work.

It was music.

You see, for a few years now, I’ve developed a pavlovian response/need to have headphones on and music going while developing.

It’s quite bizarre. Kind of crazy. And I might one day have to seriously consider breaking me of it.

The question for the moment is ..

What are your development crutches?

Express Editions of Development Tools

MS really did it right with the Express Editions of their Development tools. I like the idea very much

It would be interesting to get some stats on what products are being created (or started) with the Express editions. I’d like to know how MS is measuring the success of this strategy. Letting people have, for free, a chunk of a development tool.

Makes me wish that SV had an Express Edition of Clarion. I realise this is probably in the works for 7. I hope so.

Threading Issues

So while I’m sitting here, waiting for a huge app to compile .. thought I’d share some pain.

I have a thread variable that is being set with 180 before it’s used. I’ve done the usual searching (through the txas and using UltraEdit search in files) for anything using the thread variable. It’s all kosha.

So then .. I thinks to myself .. I’ll use another thread, but call the same procedure.

THREAD:Dummy is in place, calling the browse procedure .. and BAM .. what do you know, it works. And then, on closing, it clears the original thread variable, so when i call the procedure using the actual thread, it works.

But restart the program, and it’s back to 180. Very strange. If I figure it out, will try and remember to update this post.


Turns out the problem was I had two (that’s right, read em), TWO global thread objects being declared. One was not created by me, one was.  Anyway. My lack of understanding how programming works wins the day again.

The Future Rarely Listens To Me

Was just reading this post, I had some big plans earlier in the year.

I guess they are still alive, just barely. I’d still like to create software and sell it myself.

You know the biggest problem i faced?

It was the selling part. The simple act of knowing that people can now buy my stuff.

Getting the shop together on the website wasn’t hard, it needs a bit of work, but that’s straight-forward. And deciding on prices .. same. These are just decisions. I’d gotten a PayPal account, which would take care of security.

But the idea that people could soon be paying for these products seemed ludicrous to me. I mean, i’d barely spent two months on the three (DeleteThem, SecretKeep and Rasp) from conception to where they are now. And of the three, Rasp is the only one really worth much.

I guess it will always be a problem. Worry that the site is lame, that the presence will be unprofessional, that the company name is waaay too long.

So, the future rarely and barely listens to me. That’s not bad. It’s just interesting to look back even 6 months and see how much has changed.

Man i forget a lot of stuff. The price of being a hype-monkey i suspect.

I need a little less hype, a little more action.

Are You Bound By The Second Law?

Entropy Increases. Or, _Chaos_ breeds.

Too often in Software Development the Second Law of Thermodynamics holds sway over projects.  Over programmers. Over tools.

Code is convoluted. Too many people worked on one piece of functionality over the years, noone leaving notes. Documentation is mangled. Direction has changed more than once in the past few months. The Project Leader never listens. The Project Leader does nothing but listen. Too many egos.


If you are bound by the second law, then I have three rules to follow.

1. Stop taking shortcuts.

I can hear your thoughts, because they are mine.

Don’t be stupid. Shortcuts are a necessary part of Software Development. We cannot know everything that will happen, and sometimes a bug must be fixed without taking into account all possible scenarios. Sometimes we work for people who demand crazy deadlines and goals.

These points are true. But they are no excuse.

Stop taking shortcuts, and when you have to take one, you at least be aware of what _should_ be done, and the reasons why you can’t do it that way.

2. Never Refuse To Learn

This is slightly different from "never stop learning".

You have to actively refuse to _stop_ learning. I see it too often. The mind shuts off immediately from the possibility that something more could be learned from the situation.

If you break yourself of the need to stop learning, then the second law loses power. It’ll go easier. Well, no. Not easier. But you’ll get better. Unless you know everything. Then I can’t help, ha ha.

3. Say Sorry To The Jerk

You need to go the extra mile with communication. This might be saying sorry. It might be asking if you’ve done anything wrong. It’s _touchy feely_ crap. But it works. People respond to emotion.

We’re not talking about blackmail, or manipulation. We’re talking about putting aside (even faking) your issues and pride and awesomeness and uncanny ability to be always right for the growth of a relationship.

To combat the second law, you have to learn how to say sorry, even when you don’t mean it.

I know. You might not hear these rules every day. Even if you do, how often are they broken?

It’s not enough to stick your head down and burrow onwards. Get up, look around. Software Development is more than code. It’s code. But it’s people. The best development successfully defeats the second law.

There you go.

The best development (developers) break the second law of thermodynamics.


The Best Developers Break The Second Law Of Thermodynamics

Being Special

There is something intoxicating about being special. A person defers to you in conversation. The team lifts you up after scoring the winning try. A son hugs his mother, asking her to tell him about dinosaurs.

See what that special is? It involves relationships. Relating to one another. One person, speaking, doing, thinking, with or toward another.

What makes a good developer?

That’s not a question I can answer. That’s up to you. We have to find it out for ourselves.

The question that needs to be answered, is not a singular internal question.

It’s .. larger. Unselfish beyond self.

What is true development? I believe, it’s community. It’s relationships. It’s a team working together.

So what makes a team? Better yet, what _breaks_ a team?

Being special in development means more than being awesome at code. Amazing with structures. Clarity of purpose beyond the ken of normal mankind. These are of themselves wonderful abilities. They make an individual special.

Being special means _more_.

Breaking is far easier than building.  Our insecurities, the lies we tell to cover our frailty. They all break. Some things, some words, some deeds more than others. Maybe it’s jealousy. Maybe lust. Maybe a desire to be someone we just can’t quite be. Whatever it be, it be broken. It breaks. Severs.

Being special means building.

What am I talking about? Seriously, what purpose did I have in writing this post?

Not really sure. I guess I’m searching through my thoughts in preparation for the time when I have a team. The things that are going to make a team work. That’s what is going to separate. A single successful development (I’m not there yet) is still single. To progress, a team needs to be formed.  To form a team, you need to understand people. To bring them together certain barriers have to be overcome. Insecurities delt with. Or at least addressed. Actually, I’m not talking about just any team. A successful team. A _special_ team.

Being special is important. We can’t be special to everyone. But we can be special to those around us. And they can be special to us. I’m not talking fluff here, that exists, but I’m talking about group dynamics. Teamwork. Relationships.

The night is young, or old.

And there’s another episode of Heroes left to watch.

A Big Weekend Out

Well. Phew.

As per the previous post, I’ve been working my tail off .. but no longer for imaginary ideas and applications designated to be just on my hard drive, never seeing the light of day. This work .. the WORLD can see! Whoot. is just going off. It’s such an amazing-ling empowering experience. I’m actually the destiny of this master .. or something like that. Very cool.

I’m aware that a lot of folk have already gone through this experience, and that there’s lots more hurdles coming to .. overcome. It’s just hard to contain the excitement at this point in time. Fervour. Belief. Joy. Awesome.

I had a very naive idea of getting all three products (SecretKeep, Rasp and DeleteThem) ready for distribution this weekend. It was 2am this morning (Sunday), the install of SecretKeep had finally gone through enough testing to get it on the site for download .. when I realised .. it ain’t gonna happen. Although the other two will be considerably faster. I had to furrow a lot of ground with SecretKeep ..

There was the general functionality of the application. Testing on another machine (only one at the moment). The Help file (thanks to Dr. Explain was quicker to push out than it would have been). The Licence stuff (even though it’s in Beta .. i’m still not quite sure about what goes on there). The Installation file itself (do I use my Tarma ExpressInstall which has been discontinued, or InnoSetup, the freebie. I went with Tarma).

Now that I have a rough list of stuff (and I’m not stupid enough to believe it’s everything yet) that needs to happen, like said, the other two should go a little quicker. Not working Sunday’s put a dent in the speed, but I _anticipate_ getting Rasp and DeleteThem up for download (ha ha .. up .. down) Monday night (aussie time).

Anyway, off to watch some Arrested Development .. man that’s a funny show.