Notes To Self

Environment :: Clarion

Sustenance :: Sprite Zero

Task :: looping through a file, updating a couple of fields

If you’re using logout(1,FILENAME), and using keys in the set() statement before the loop that have the updated fields in them, then strange things will happen! From my experiences tonight … I have a byte field, it is set to true … from false (in this particular eg) … and the loop hits that record twice. Once in it’s normal place (byte flag is zero), and then again at the end (byte flag is true).

I guess this has something to do with logout’s functionality and the key’d fields being updated …

And now … back to work.

Pursuing A Goal

Reading the past few posts, there is a definite theme swimming through them.

I’m still short-sighted when it comes to Development. Although I’m incrementally getting better at this, it’s frustrating when I spend three weeks on something I know others could have finished in 48 hours. This is the kind of thought pattern that can lead down the depressive spiral. I question what I’m doing in the business, and where I’m heading. What purpose do I have with this world of Development?

Rach said something tonight that helped me greatly. She said that I continue to work on certain solo projects, because of integrity. And it’s true. But there’s also a little bit of the stupid as well. I’ve worked for over 18 months now on a Project. Apart from buying the software, and one payment for a week’s visit, I haven’t received any other money for the work done on this project. And I only have one client.

All in all, it’s adds up to some pretty serious lack of foresight … but also lack of clarity as to the future. I need a clearer purpose for what I’m doing.

It’s with this that I sit down again late this night, pushing myself to get through the murk that surrounds my clouded mind. Trying to see a light. Looking for little glimpses that I’m actually getting somewhere.

This is mostly exhaustion speaking, and a little of a virus i suspect, chest infection stuff … but it’s still what I’m thinking right now.

So anyway, let us never forget the realities of the business. There are going to be times of self-doubt. I can’t compare my own software, or my experiences, with those of others who write software for hundreds/thousands/millions of users (I’ve said something like this in another post … bad memory). However, I still experience something of the measure of doubt and hardship.

The reality is sometimes you cut the cord … sometimes you slog … and most of the time you need community. Bonds with workmates who are going through the same stuff … bonds with family and friends who have nothing at all to do with development … I need guidance when I can’t see the way ahead. Or at least someone to hand me a lantern.

Anyway, gotta get working again … enough of the zany thought processes and brain freezing statements.

The Fire Burns Through

In the end, all the "wisdom" in the world, all these posts about Development … it has to be tempered by reality. You only really know the worth of what you know when you are tested. When you are put through the fire. What comes out the other side.

In development, we can be dealing with great pressures. There are some of us who have created systems for hundreds, thousands, maybe millions of customers. This pressure would be huge. Especially when the systems created hinge into the very livelyhood of the customer.

When the rubber hits the road, when a big bug comes crawling out of the pantry, when you run up against some functionality/barrier/support that seems insurmountable … this is when we find our mettle. How we do battle as programmers, developers, designers. How we are forged in the heat of war, so to speak.

Through the other side, and you know what you are made of. You know the worth of that nugget of self-belief or whatever that lives within your soul.

A little maudlin this morning … but it’s the current mood :).

In Too Deep

Today was another Dawn. Incidentally ‘Dawn’ is a pretty good describing word for what happens when a truth you have been told, or something you’ve experienced before, becomes reality to you again.

Anyway, like I said, today I had another Dawn.

There needs to be care taken that no Project, no matter how important, takes over from the basic essentials. This is easy to say, harder to practice, as I’ve found. Over the break, I took a few days around christmas off, but almost all the time was getting worried about a certain project I’m trying to finish. Then there’s another bigger, far larger project, that is looming.

All of these things would have not made for a good holiday. Except that you have to switch them off, even within hours difference, when working and not working.

So it was more like a Dawn in the past week or so.

And it led me along another path. There are a few disciplines (development-wise) that I wish to keep going. Blogging here daily is one of them. Starting a few other "blogs" for want of a better word is on the agenda too. These are side alleys that should never be totally put aside. Sure, you might go a week without thinking about them, but that’s about the limit. Even the biggest project in the world should probably have a break once a week in someone’s brain.

So anyway, it’s not concise, but it’s a pattern of thought that became clearer to me over the break.

Holiday Cheer

Well,

Spend a few days away from the internet world, and you’re liable for a return to a few surprises.

I had a bundle of emails waiting, some spam, some legit … and scarily, a few "fake" bank ones. Westpac and National to be exact. They weren’t addressed exactly to my email address, but something close to it. And they had instructions for going to the website and entering in your bank details. Crazy. Christmas Cheer.

WordPress 2.0 is released! Nice work to the hard-working team.

I’ve got a couple of blog ideas that might be good for it. I’m a little hesitant pushing Dev Dawn across, but a new idea is the perfect opportunity to see how it works.

Happy New Year to all and sundry. Development To The Fore!

Dual-Wielding Development

Now, I don’t know about you, but ever since I read R.A.Salvatore’s first Drizzt books (The Crystal Shard, Streams of Silver, The Halfling’s Gem), Dual-wielding weapons is the first thing I take in rpgs … it’s what I dream about as a legendary warrior, it’s what I practice with broomsticks when nobody is watching.

But anyway. Bill’s experiences of late have unearthed two facets of Dual-Wielding in Development.

  1. Support

    There is the helpdesk-y, support calls, functionality. A system where all calls are logged, client’s ring and have someone walk them through working parts of the program, fixing problems over an instant messenger.

    This is the part of support that everyone knows about. Rightly so. It’s 50%. Maybe more.

    The other, hidden, rarely spoke of side, is that of the Account Manager. Nothing to do with Accounting, but everything to do with the Clients. The Account Manager is the Client’s direct link into the matrix. They are there to chat, to argue with, to give feedback, to be supportive. The Account Manager is the public face to the System.

    A very important role. There isn’t any way of getting around it.

    The problem is, I would think, that most of the time this role is handled by either the Head of Support, or the Developer themselves, or even the Manager of the Company.

    Once you get past 1 client, you really need to have an Account Manager. Or at least be able to compartmentalise your brain into different jobs.

  2. Updates

    This is probably more than a "Dual", but I really liked the intro.

    This is functionality that occurs once the software is out there, and you have a bunch of different types of Clients. Actually, it pretty much would be limited to Dual. But … anyway.

    You have client’s who only want the Point Releases, stable. Then there are client’s that are willing to beta releases, test them, get the new functionality sooner.

    So how to solve this? Have dual Install Streams. Or Update Streams. The nomenclature doesn’t matter here, it’s the idea. And it’s not hard to implement, just need to have the design in place. To be able to control what the client downloads, how their "client" talks to the "server", what rules are in place for these interactions.

So there is my latest little brick in the pavement that makes up my journey along Development Highway. There is a lot more than could be said about these elements. Maybe later, or maybe someone else.

Dual-wielding. It’s the bomb.