Posts tagged ‘work’

Refusing the Call

Thanks to SPARK I have the opportunity to get involved in Code Mountain. Now comes the difficult part of birthing a company, under very unusual circumstances.

As a SPARK team we had eight people working together. All that effort made it easier for us to put on a good show and win the competition. But for a startup with no income, all those people cause a bit of difficulty. The standard advice is to found a company with two, maybe three people. If two, you’ve got the business side (customer development) and the product side. Our team ended up being heavy on product side, so on paper we’ve got one master networker with a large stake, and everyone else splitting the rest. While I understand that some people are prepared to put in grueling hours, does that translate to a fifteen-times interest? Perhaps there is a sort of exponential price of time commitment – certainly I’ve avoided going off the high end, both because of reduced performance, and the utter blackout of everything else.

In truth I don’t know what to even ask for. The process of doing this all up front seems strangely out of place in an environment that is otherwise gung-ho agile. There are of course some provision for changes – “four year vest with one year cliff” in startup jargon, but it only addresses departures, not variance of contribution.

The other related issue (which actually came up sooner) is the CTO (Chief Technology Officer) position. This would be the entire product side in a two person startup. The investors of course want a big name that’s done it before, but we are seriously considering bootstrapping (no investment) In the world of by-the-book startups (who’s book, anyway?) the CTO is a more-than-full-time position. In the SPARK team, developers were myself, and another who has some relevant experience, but is’t available even full time.

Probably, all it would have taken for me to be that person would have been to step forward and confidently say “I’m your man”. That moment, of course, has passed. The consequences of that decision would be staggering. No more martial arts, no more condo board, no more walks in the woods, no more user groups, no more personal projects. and no more idle distractions. I’d certainly have to move downtown, at least on a trail basis, which would mean finding a place, dispositioning all my stuff, moving, and probably hiring someone to rent out my property. It would be a kind of death and resurrection – I’d be sorely tempted to throw a wake for the person I was.

I’ve lived my life mostly taking things pretty easy, sometimes enjoying moments of total effort. Since this is all I’ve known it might have been interesting to try for a little while, but this could easily become a many-years marathon. Having lived my whole life with the philosophy that it’s about more than money, it would seem a shame to just give in at the first real challenge. (Of course creating something is about more than money, but it would be a very stressful time all the same.) The fact that I don’t have the experience the advisors want doesn’t embolden me either.

Three Things (and a Boot to the Head)

A somewhat meandering essay on the limits of parallel pursuits, namely about three. Containing examples of how this applies, how it doesn’t apply why three may be quite wrong. Woven in with a long overdue account of recent events, which have some small bearing on the topic at hand, and why I’ve been preoccupied and silent for a rather long time

Idea put down 2008-02-22 and slightly expanded 2008-07-06; most writing from 2008-09-20 and 21.

I have a theory of sorts, that a person can really only do three things at a time with any degree of quality. (You might have seen an indirect reference earlier.) This was based on simple empirical observation. In college, programming got replaced with game playing. Afterwards, working and martial arts pushed out game playing and then game making. The harp didn’t long outlast getting more involved in the Condo association.

In spite of this, I was trying to do four again; five if you count general reading and education.

During the winter I had a pretty good run at CGD. However, despite the fact that I enjoy the programming, it seemed like I was always running a little behind on everything else. Now, the CGD project was a deliberate attempt to do more programming and less of everything else, so I can’t complain too much, but it does point to the limits of multiple pursuits.

Furthermore, that backlog made things almost, well, stressful. I’ve begun to theorize maybe it really is four things, but the fourth is leisure, which everybody needs a little bit of to stay sane.

The CGD project actually got put on hold for a while. Up until late August I was in the shadow of martial arts testing again. Since then I’ve been alternately recovering, catching up, or simply out of the habit of writing and several other things. I did attempt to learn from the last testing eclipse two years ago, by starting to work on a bit of new curriculum, the Kwon Bup – a set of 57 specific defense techniques derived from Kenpo. I successfully wrapped my head around it in a couple of months, using a few minutes each day, which did have benefits, in terms of being able to teach the material. When it was decided to make our 5th form a combination of the Kwon Bup (making for a huge form) my preparation also laid the foundation for putting the pieces together in a fit of inspiration into the optimal processes – a combination of cards to record the results and computer programming to calculate the future.

That brings us up to November 2007. This was about the time I started getting serious about programming. With the immediate task of the Kwon Bup out of the way, I mostly didn’t think about the martial arts stuff too much. Finally, earlier this year (you might notice that a lot of these essays were conceived around February, and are still getting written) I started looking at the latest version of test curriculum and realized that one of the changes was huge – 34 Kenpo techniques – and probably wouldn’t be covered in class. I did start working, on my own time, early. There was a bit of a lull at work at the time, and I did wrangle the particular beast that concerned me. However, the test was still ‘six months away’, so I continued with my original plan of making a great tour of all the material I knew.

Then my paid employment got busy, amidst the rest of the summer onslaught. By the time the next lull came along, the test was immanent and I hadn’t yet gotten to the specific material I was due to be tested on. One of my lessons from this experience is to do the essential stuff first. In any case the other ‘things’ started getting pushed out, and by the last month I was pretty solidly in 2-thing mode.

The test itself went fairly well, with only a few small slip ups; many of my weakest areas never showed up. The preparation was the real killer. I don’t plan on testing again for some time after this; it just takes too much time. The funny thing is I do kind of like to focus in on things, but there is no balance to take up the slack – there are classes almost every week now, and some weekends.

Despite enjoying focus, I must have some tendency towards being a jack-of-all-trades, because I picked up the harp again after the test was over. Music is something kind of foreign to me; I think one of the main attractions may be that I don’t like having a hole in my understanding. However, it puts me up to six things, without counting leisure.

I’m not a very good jack though – I usually find myself caught up short in conversation because the few topics on which I’m fluent in aren’t of general interest. I’ve considered that perhaps I ought to find a like minded social network, but of course that would make seven. It also runs against my homebody tendency; South Elgin doesn’t exactly evidence being a hotspot for programmer types, and something has always bothered me about traveling for companionship.

Am I contravening my own law-of-three? We’ll I’m cheating a little bit. Leisure is still a bit up in the air. I’ve gone to a 4-day work work, and I’m contemplating 3. Some things, like the condo association, come in short bursts, and others, like reading, are highly elastic; things like programming and harping are elastic in a pinch.

It’s interesting to draw a distinction between the things that are (or feel) hard, and those that are elastic. The hard ones I barely dare touch involve other people – employment and martial arts. Employment also touches on another sort of virtual thing, which, like leisure, is so pervasive that it hardly counts. Survival. Eating, sleeping, showering, finding shelter and food.

The elastic, or soft, ones only ‘matter’ to me. If I stop, I don’t die (unless we give an awful lot of weight to stress or depression) and the only reproach I fear is my own. Still, they matter, to me, and since I’m the one one making my decisions, I’m attempting to arrange my affairs so that I can pursue them.

There is a deep conflict here, or at least I feel one, between the things society values – the products of my labor which I’m paid for, and teaching at the martial arts school, which taught me and forms, unfortunately, my only real community, on one hand, and things only I value on the other hand.

Nothing’s that simple of course – the general reading has indirect feedback effects on my job for instance, but in it’s broadest sweep, you have the things I do of my own volition, and the things I do for money or peer pressure. This is a pretty deep topic, and I think it deserves it’s own essay – I suppose writing is another ‘thing’, which I’ll have to fit in somewhere.

Speed Bump in Vegas

No major updates this week, and I’m even late in talking about it. Last week I had to go to Vegas for a business trip (RFID show) I knew that was coming, although I was partly guessing – It turns out I never got the flight confirmation. Now I was quite certain that I had been asked about leaving Tuesday night. But when I started inquiring about the details Monday I found out that we were in fact leaving that evening – fortunately this was early enough for me to go home and pack. The flight also had very few people, so the late checkin didn’t cause any trouble.

I really wanted that extra day though. Beyond party prep (and various long overdue projects) I had to quickly beg my neighbors to pull in my fruit box and milk off the porch. That spared the worst of it – but I still had to deal with box of fruit that had been sitting in it’s own concentrated ethylene for several days (lots of banana bread; the rest was doing okay) I also turned some milk into yogurt (probably a little too much) And of course I had to supply regular meals after carefully emptying the house out for the trip (and a short detoxifying fast over the weekend before.)

I got the bulk of the cleaning done Tuesday, and was able to finish diagramming out the martial arts form late that night. Things would be clearing up, except for an earlier mistake coming back to bite me hard.

A few months ago, I had to estimate a software project using a radically new platform for us. My mistake was omitting the usual x2 multiplier on the casual comment that a multiplier would be added to the final quote anyway. Now a schedule for the best of all possible worlds is being held up as a divine right, while the technology involved is being extraordinarily uncooperative.

Love the One You’re With

No, not quite the usual context. Perhaps ‘Love the place you’re at’ would be more appropriate.

There is certainly no denying that I am something of a homebody. After college I pretty much put down roots and stuck where I landed. And of course there are those small dissatisfactions with any situation. A fact, which would not, of course, change had I gone someplace else.

Still, when gazing at the greener grass, there a few basic options: move on, stay put and muddle along, or try to make the place the you are at more like the place you want to be. The first option always felt like abandoning the place to it’s doom, so I’ve usually muddled along while thinking I should be improving things.

One of the prices of working at a small company is that I don’t really have a mentor; the other people I work with are either younger and not single-class programmers, or have experience that lies less in the theoretical direction I tend to take. For the most part, we just muddle along doing only what needs to be done.

So, I’m attempting to make it better. Somewhere, I’ve read tha sucessfull companies spend about 10% of something (net? gross? not sure) on R&D. Now, we have no budget, but we have our time, and can take an hour or two a week trying to learn something new.

The current project, and in no small part the inspiration, are the freely-available video lecture series for The Structure and Interpretation of Computer Programs, related to the book of the same name (also available online)

I gather that this is based on the introductory computer science course at MIT many years ago. Supposedly the course was taught at HP at point, pehaps it was there? In any case, yes, it is based on Lisp. Given Lisp almost legendary status, I don’t know if this is really bad, just not as likely to be directly usefull. At lot of the concepts are showing up in lanaguages, so a lot can actually transfer.

Anyway. The course starts from first principles, and then procedures to cover almost every major concept in computer science – iterative, recursive, functional, objects, delcarative, state, streams, compilation, and more. Eah concept is introduced from a motivating example – here is why we have this construct – it solves this problem.

Hopefully repetition will do me some good – I watched the videos, read the book, and now I’m watching them again (and taking notes) about one hour a week.

One persistant theme is ‘metalinguistic abstraction’, or embedding other languages in Lisp. Today this is popularized as DSLs or Domain Specific Languages. The repetition may have infected me, because I’ve been thinking about languages a fair bit lately. But that is a whole ‘nother post, and the is at least one more to set that up.

I Am Loved

If any cause and effect is to be found in the impossibly complexitly of the world, my recent expiriments in cutting back have gone fantastically well. (Near total lack of harp practice notwithstanding.)

In my employement, I’m plugging away at our decrepit ERP facilities (with reference to the last entry, can you imagine a manufacturing company not keeping an eye whether shipping dates are being met?) and getting some thanks for it. I’ve also started an software department education program (perhaps more later), and despite some skeptisim, am starting hear some positive comments.

Meanwhile refocusing myself on technical matters is working back into my natural interests. The fact that I’ve been writting again might offer some evidence of this.

The condo association board was quite interested to know that I would be running again.

In martial arts, there are various indications of approval. For a while now, I’ve been given primariy direction over an advanced student to whom, well, the discipline and coordination of martial arts are not his primary gifts. The other day he gave me a thank you card, for no special occasion at all.

In short, while I’ve taken certain conditions as demands and stress, most of them also coming from people needing me. To some extect that is what love is – being needed.

I don’t want this to go to my head. Still, the combination of events, internal and external, has left me feeling like I am entering into the fullness of my adult power.

Pacific Soul

One of those magazines which I’m thinking about canceling made the decision a little harder by handing me a nice concept. The article The Economics of Life in Balance (Regina Gregory) outlines the philosophy of the pacific islands, mainly through an imaginary dialog with Adam Smith From the setup:

I call the appropriate model “Ponomonics,” from the Hawaiian word pono, meaning goodness, righteousness, balance. Apart from being more culturally appropriate it is more ecologically sustainable as well.

Pono seems to fit my personal philosophy rather well, and I found myself drawn much more to the pacific side of the dialog (of course, the article was designed to do exactly that.) In any case, ponomonics includes things like working less instead of maximizing earnings, which makes it rather apropos at the moment.

About two years ago, I broached the subject of a reduced work week with my employer. With my new resolve to make changes, I re-opened the dialog, and we have a tentative agreement to work out the details and actually implement it.

My candle burns at both ends

My candle burns at both ends
It will not last the night;
But ah, my foes, and oh, my friends -
It gives a lovely light.

-Edna St. Vincent Millay

Someone mentioned that poem a while ago (and I do mean a while – so I’ve been a negligent poster for a just a little while, and I rather liked it. The idea also fit me for a while – I was waking up early and going to bed late. There may have been reasons – one of my projects was truly balancing my checkbook for the first time in seven or eight years. A rather daunting prospect, made a little easier with some experiments in Ruby In the process, I discovered a few things – I was off by about $200 (thankfully such that I thought i had more money than the bank), when in doubt, the bank is right, and as to my original cause for inquiry, I was right. The invoicing was off for my organic produce delivery service. I think that they did not process the invoice for an accidental shipment. I informed them of the error and nothing happened, so either they didn’t believe me, or figured it was their mistake so the food was free. Of course I had to make a ‘free money’ entry (right after all the error corrections for the balancing) to offset my original deduction.

The other big event was attempting to change ERP (Enterprise Resource Planning) systems at the company I work for. Unfortunately, the entire project was a little doomed from the start. A topic which, as I write, I see will turn into an extended digression.

So The Boss says we need change systems. Our current system is an industry specific package (I’m not going to get into the specifics), written in FoxPro. FoxPro itself, is, from what I can tell, fairly good system for database applications – on single computers. The model for extending it to to networks involves copying entire database files across the network – and if modified, copying them back to the server. This means it is both slow, and prone to occasional database error. The database is reindexed every night, and the program will actually warn you (with reason, we’ve found) if said process hasn’t run in 48 hours. Some errors still get through.

At least in the version we have; supposedly most of the problems have been worked around in the current version of the product. Unfortunately, in the murky past mostly before my time, the powers that be decided that the system updates were introducing more errors than they resolved and broke off relations with the vendor. Since then we’ve basically learned to put up with and work around the major shortcomings, and business gets done, albeit with vastly less efficiency then possible.

So, to recap, The Boss has realized that this can’t go on forever (hand crossed-out entries on accounting reports just don’t look so good, you know?) Meanwhile, I”m a little short on programming projects and see a problem to be solved. So begins a year or so of cursory evaluation of a good proportion of every system that might fit our needs. Of course, when you get down to it, I have no idea what I’m doing, nor does anyone else involved. Which isn’t much. The Boss decided it should be done, and I set out to do it, with some assistance from a co-worker. The rest of the people at the company aren’t bothered by the accounting errors much and have gotten used to the current system – support for evaluation and testing has been extremely minimal.

I’m wandering a bit, but I’m trying to keep a very long story not so long. We eventually choose a system. (Global Shop) It appeared to have a wide range of features, some of our people thought it looked best of the short list, and they had a quote to develop some of our industry-specific functionality. Of course, from what I’ve written above it should come as no surprise that we made at least our fair share of beginners mistakes in choose a system. To skip ahead a bit, Global Shop developed out of a metal job shop market. This a labor intensive type of business. We, as circuit board assemblers, are a materials intensive type of business. We knew this going in, but didn’t realize just how deep this issues was. In the end, the inefficiency of the stock room systems had us so far behind that we had to shut down they new system and continue on with our old one.

That was mid-January. The ‘go-live’ date handed to us was was the beginning of December. This of course made no allowance for the lack of testing support, or the incompleteness of data conversion. Actually the data conversion was ‘okay.’ I found a bunch of Perl database modules and set up a nice little conversion system. I also ran into a lot of Perl’s rough edges, and, provided equivalent modules might try such in thing in Ruby if starting it today (the regular expressions being a big draw to both languages)

But I digress. The point, at long last, is that there was over a month of system investigation, user support, live system data patching, and report writing. The great flood of issues nobody could be bothered to discover beforehand had me in early, out late, often in on weekends. The odd thing was I kind of enjoyed it; something, perhaps only a little, seemed like an aspect of my true calling. Something about people, who I know, suffering inconveniences (which I am in some part responsible for), which I, somewhat uniquely, have the power to resolve. As for the weekends, I would often get up and start trying to read something, only to find I was thinking about the current problems instead of what I was reading. If I was thinking about them anyway, I figured i might as well fix them.

Sometimes I think that my current practice of flitting from from one activity to another is sub-optimal; I often like to dive into a project and forget about the world for a while.

The war against time.

I think the war against time started the summer I stayed at college as a summer system administrator. (Interestingly, this is also the first time I was more or less on my own, with something like a full time job.) Casting my eyes about for a little more time, my gaze settled upon the hour or so (I’ve forgotten how much) I spent on a MUD everyday (Cheese boy having gotten me hooked a year or two earlier.)

The trend continued. Gradually, though less conscious, I bought fewer and fewer computer games. E-mail slowly piled up as conversations died of inattention. As the people I was role playing with moved farther and farther away, I eventually had to cut out that activity, trying to get back an evening and stabilize my sleep schedule along the way. For a while I went to a board gaming group, but the curiously frequent demand for Thursday night eventually felled even that.

Of course other things have filled in. Martial arts, having established a beached at one hour a week grew to eight (plus travel, cleanup, and seminars) I’ve also made a number of ‘slow’ lifestyle choices: I avoid fast food, often cook for myself, and ride or walk places when I can.

Whenever I cast my gaze about me these days, I come back to a few common themes: I chose, and continue to choose, the lifestyle mentioned above; any ‘efficiency expert’ would label me with poor time management (an ongoing battle); and I spend the greater portion of my waking hours trading time, that which I feel I lack, for money, something which, mortgage notwithstanding, far exceeds my needs on a month to month basis.

Several months ago, the final mental straw was laid, and I decided to renegotiate the terms of exchange for a four day week with reduced pay. However, to put it frankly, I was insecure. I went looking for information, guides, success stories, and pitfalls to avoid. So, for a while I read and gathered, found if there were any existing company policies, and wrote up something of a proposal. Ultimately I realized that it was irrelevant to my situation though; that would be appropriate for a bureaucracy, but I work at a small company, a single proprietorship where I talk to the owner on a semi-regular basis. Of course this is probably more a problem than anything: Imagine asking a workaholic to turn his attention away from a number of projects (all behind), with the continual threat of interruption by pressing concerns, to ask him about working less ;^) Which is a long winded way of saying a few more months rolled by. In the cumulative effect of it all, we went from relative idleness and makework to having a real project with a tight deadline (there’s a moral about procrastination for you.)

For any who would blame fortune, give it due credit as well: The Wednesday before christmas, the company put on a catered lunch and then most of the people went home. Myself, looking a long absence (I had more vacation days left than I had thought, and they evaporate at the end of the year. Given my feelings about time, I couldn’t not take them) and staring at a thorny problem stayed working on it for a while; indeed until I got locked in the building ;^) Here I cite the consolation prize for working weekends: a door key and security code ;^) But that seemed like a pretty song signal that it was time go home.

In my fluster, I forgot a tray of leftovers from the catering that I had grabbed when no one else wanted it. I had also heard my boss say that he would in catching up next day, and I had hardly left off in an ideal place in my work. So I came in the next day and spent a few hours cleaning things up and getting the code into a more reasonable stopping place. And then, at work on a company holiday, nobody around, nobody answering the phones, I had about the best opportunity I was ever going to have to broach the subject to my boss. He is open to the idea, but wants to put off further discussion until after the holidays.

My cynical side says he is hoping I’ll rethink it. I won’t, of course; I can’t. Baring significant new information, the best way I know to fight procrastination and improve confidence is to follow through and finish what I started. Which isn’t to say I don’t have some reservations, but sitting on the fence doesn’t make for forward progress.

It comes back to the deeper issues of the war against time. When I was hired (at which time, and for some time thereafter, there was a little more bureaucracy and I didn’t even know who the owner was) the expectation was stated (within flextime) as about 8 hours a day and 40 hours a week. The contract was defined in terms of time, rain or shine, booming business or makework.

Not that it has been totally constraining; I’ve worked long hours, and I’ve worked weekends; I’ve also left in the middle of the day to run errands. But always the clock is king: If I don’t leave hours after I arrive, I’m losing; if I don’t stay that long, I’m cheating on my contract. My basic discomfort with the four day proposal is that it isn’t fundamentally different. Time is still the unit of measure. 32 instead of 40. It is progress; it is change, it is testing the waters. But for all that I try to adjust my thinking from time oriented to task oriented, the terms of the contract are still time based. Ultimately the problem may be in my own head: the time anxiety is win-lose thinking. Writing this down makes it seem more evident that I should try to bring this up when we get to discussing the details. Perhaps that is why I wrote it at all.

Disconnected Catch-Up

A few weeks ago I found a circuit board error at work. We were trying to add a new feature the product, and nothing involved in the new feature seemed to work. It was just about driving me batty. Finally I figured out one problem was do to a processor setting that had greater impact then I suspected. But the relay just wouldn’t work. We even went back to the original software and it didn’t work. We checked signal levels and nothing was changing. But this was a release product, so it had to work, right? Well, no, actually it had been a revision of a previous design, and for whatever reason, that relay was not part of the quality inspection; it had never even been tested when the new board was being approved. So now they’ve got a bunch of board to fix, and the customer has to decide if they want to do field recalls. At least we caught it, and before production continued any farther.

There were certainly some grumbles about all the fuss and work this caused. Which got me thinking about mistakes and reward structures, and how that may impact quality (there it is again) If I wasn’t conscious of it, I might have learned that finding mistakes is bad – it makes everybody upset, and causes a lot of expense and trouble. But something I’m very familiar with from software literature is that the cost of fixing a problem increases dramatically with time. So it seems like the best thing to do would be reward finding mistakes. Of course you have to be careful; if people can profit from their own mistakes, they might introduce them intentionally. Really you want not mistakes to begin with, but if reward that, then there is incentive to hide mistakes. It’s kind of a thorny problem.

Meanwhile, some slightly disruptive server upgrades have been happening at work, leading to some weekend time. Messing, on one hand with the company database, and on the other with the ability of people to log into the company network, isn’t something that should really be done during business hours.

The database was a fairly old FoxPro system – moving was mainly a matter of copying the files and pointing everybody at the new location. Upgrading from NT to Windows 2003 has been more interesting. Active directory is a shining example of the spiraling layers of complexity engendered by mature software systems.

Audio books have mainly been collections of Issac Asmov short stories. One of them, The Complete Robot, felt around the fuzzy edges of the three laws of robotics, which appeared in nearly every story. The last story, The Bicentennial Man, I saw a few years ago in movie format. The movie was certainly an adaptation, adding several elements, such as a love interest, and removing others, such as calling attention to the breaking of one of the laws in the climax.

Not too much else going on; several meetings of the board game designers group, but I haven’t had much time to make a lot progress on my own designs. We’ve also been looking for more members to improve average turnout.

About a week ago…

Saturday the 14th was a work day, in a kind of exchange for everything between the 20th and 2nd. The previous day the boss had mentioned that one of my previous games, Dino Dash had been doing pretty well for making money, and we could consider doing something similar. Saturday I brought the rest of programming team (up to a whopping three, up from just me at the beginning of the year) to make the call for game concepts. It was a nice feel-good meeting. Along with it went a few technology demos of stuff that I developed during a stagnant year, but never used.

Sunday was birthday breakfast with my parents. They gave me some bamboo stalks in water, in a fancy looking vase. A sign declared the stalk arrangement “Love Sign,” because we are the Love family, ha ha. It also had instructions which, quite separately, said to change the water every two weeks, and to add two drops of some green stuff every other week. Couldn’t they have made that one step? ;^)

Still, two weeks is kind of annoying to remember. But a lot of things seem to have that frequency, (namely, paycheck and changing my (disposable) contacts) so I decided to line them all up and mark down two week intervals on my calendar.