Older blog entries for deirdre (starting at number 8)

Worked a bit on CottonBale last night and this afternoon. Rick and I had a nice lunch at our local coffee shop, walking into the middle of a crowded sidewalk sale by mistake as we tried to approach the place.

Later, more work, including trying to set up MySql the same on my home box. Grrr. Home is a SuSE box that's about four different versions of SuSE. If I could find my 6.3, I'd redo a fresh install. But I haven't found it since I moved two months ago. And, naturally, 6.4 is out now.

MySql's really much easier to set up on a Red Hat box. But it should be up and running again soon and then I can test CottonBale with a faster connection while I'm home. It's mostly done (except for the maintenance, which can wait a bit), so it's nearly ready to deploy.

Had a great dinner in the City after the Cabal meeting.

Certification

Seth made comment about the levels of certification. One of the issues I have is that it assumes that anyone who is starting out in open source coding doesn't know how to code, an assumption I find fundamentally flawed. There's also an inherent assumption that their time is unlimited. There isn't a good way of certifying master coders who, like myself, contribute here and there. Sometimes in bug reports, sometimes in design, sometimes in code.

Some of us have been coding for a living longer than the average Advogato user has been alive. While I may not be famous as a coder in the open source space (mostly because I've written custom apps which, while necessary, are not especially glorious), as a coder I'm easily Master level and have been for years. Furthermore, not all my contributions have been in the Unix space -- I wrote open source software for the MacOS at least five years before I heard the term "open source." I have code that's been continuously running for more than 20 years[1]. Within this community, I see myself as Journeyer mostly because I spend time on community events at the expense of coding (which I do all day, every day). But rating me as an apprentice is, imho, insulting. I've contributed lots of little pieces to lots of places, but never quite enough to "make a name" for myself. I don't give a shit about the recognition, but I find it amusing that some people have certified me who a) don't know what I have done and b) don't know me very well.

Exercise: If you're in the US, open up the newspaper to the television listings section. There's more than a 50% chance that the page you're looking at was generated by my code.

SVLUG

Saw a lot of people at SVLUG, including Joey Hess, many of whom did double takes on Rick wearing a suit. Well, we didn't have time to change. The double-takes he got were really hilarious. Prior to that, we'd spent time with his large, boisterous Norwegian family. Coming from a small family myself, I felt a bit cramped. I couldn't believe how much food they had. Too bad we don't have stasis generators to keep piles of food from going bad. Everyone coming in had an ice chest it seemed.

Apparently ESR hadn't heard of advogato, so we told him about it last night. In sad news, his father died yesterday morning. :( ESR said it wasn't unexpected.

We skipped the SVLUG meeting proper, hanging out with ESR and Karsten Self. After the meeting, we spent time with our new neighbor, Reg Charney, and Karen Shaeffer. Karen really has a wonderful head on her shoulders and it was great spending time with her.

As almost all my day yesterday was spent in social events, no code. Today, it's work, an appointment and home, so probably no coding as I'm being a sysadmin today.

Open Source Culture

Dria says:

It's becoming increasingly clear that the Open Source community is mind-bendingly complex -- not just in terms of creating technology, but also in terms of social interaction and community and all the other squishy stuff that goes along with it.

Heck, go for a Ph.D. from The Union Institute. In fact, this very area had fascinated me also. My undergrad studies were strong on just about every social science except sociology.

[1] The concept of "code uptime" has really become more appealing to me over time as a measure of software quality. By that measure, some of the so-called illuminaries of open source would be ranked apprentice. I have spent a good chunk of my career as a "reimplementer" -- when someone else screws up and the code crashes, freezes, is outgrown or whatever, I redesign and reimplement from scratch. Thus, code quality is far more important to me than the glory of being a "frontier" programmer and getting my name in lights. To me, the craft is about coding correctly. I'm not going to point fingers, but there's an awful lot of atrocious design and implementation out there, and if we ever GET the cloning process perfected, I'm going to sic my clones on getting it all fixed.

Tomorrow we go to Rick's aunt's funeral. :(

Tonight I worked on CottonBale and got it about 1/4 done (as far as the critical stuff to get it really useable). It has the groups' stuff pretty much right, though I need to update the schema.

Rick and I were going to talk about it over dinner, but the Dutch Goose was packed and very, very loud. After dinner, we talked about it briefly, but he's on a really godawful morning shift these days, so he's asleep already.

Time go pack off myself...

Seth David Schoen asks about procedures, specifically stored procedures. When I was coding in immunohematology, the FDA had to certify our code after it was compiled and before it could be deployed. Thus, we took extra pains to see that ANYTHING that would otherwise be in code wasn't. None of our sql statements were (they were stored in text files or stored procedures). Stored procedures were relatively easy to change, but difficult to maintain across databases.

While I've been a DBA, I didn't use them overmuch. I think the reasons DBAs like them is that they spend a lot of their time in sqlplus (or the non-Oracle equivalent thereof) and therefore aren't accessing a database through code 99% of the time. Thus, stored procedures are a convenient means of access for them.

I didn't do much coding over the weekend, giving my eyes a rest. Rick and I went to see Terry Pratchett. While we planned to go on Saturday to Future Fantasy, we found we had more access at Kepler's. We listened to him prattle off for a while then went to the cafe.

I read the first two Honor Harrington books, which I enjoyed a lot.

I worked a bit on CottonBale, which I should have done in a few days.

What Nick meant to say was:

It's people like that who make you realize how little you've accomplished. It is a sobering thought, for example, that when Mozart was my age, he had been dead for two years!

It's from the intro to Alma, one of Lehrer's more amusing songs. And, in my personal case, five years. Bleah, it's not just sobering, it's downright depressing.

Sloppiness is a bad coding technique.

Speaking on Kelly's entry from last night, the most extreme example I can come up with personally was spending three weeks to fix ONE line of code when I was working on some MacOS voodoo project. The bug would only show up, sometimes, after my app had quit. It took a week to find a way to reproduce it reliably, two weeks to muck about and figure out what was going wrong, and two minutes to fix it when I found it. It was a real data mining expedition.

Early in my career, when compilers were abysmal and fast RAM was still measured in milliseconds, I coded power plant control software in Pascal. Because it took two hours to do a full compile, we typically did it once a day, sometimes only twice a week. Thus, we sometimes had a LOT of errors that needed to be fixed. Once, I got the error, "Pass 1 errors detected, pass 2 not run." It turns out that a semicolon at the end of a line was replaced by a colon instead. With an utter lack of things like diff and lint, I think that one was 14 hours. We didn't have enough space at the time to be able to keep a revision back. Remember 8" floppies? We had those. Hard drives were not yet available to mere mortals, so diff wouldn't have helped a lot.

3500 people have viewed the 10 minute total idiot's guide and the only comment I've heard that was specific was that it really DID take one guy 3 hours and 52 minutes to compile all the requisite components. Others have wanted more expansion, but I really wanted a KISS approach as a lot of people were having trouble just getting on the runway. The number of hits are kind of amazing considering that it was unlinked from the front page of the site until yesterday (doh!) when I revamped the pages. It also comprises about 35% of all hits to the baypiggies site.

Rick and I did some log-grepping on Linuxmafia last night. He's serving about 100k pages a week, and his BALE page (Bay Area Linux Events) page gets about 10k hits a month. The most amusing part is that the host is an 8-year-old 486. Go Linux!

Last night I started on a long-needed migration to merge my two main web sites. Mostly, I started organizing my older site at deirdre.org -- which is mostly five years old -- and barely touched the newer one.

One of the things I needed, when I looked through the whole list of files, most of which I realized weren't linked to *anything*, was that I needed something to tell me what wasn't referenced on the site. You might say the opposite of wget -r. So I wrote one, which you can find here.

One of the spookier things I found was a .wav file of my late husband. It was VERY odd listening to it. I'd forgotten he'd sounded *that* British.

As the elder site has gone through being migrated several times (from sover.net to lightlink.com and finally to deirdre.org), a whole bunch of the references have gotten screwed up along the way naturally. And some of the site logically suggests dynamic content such as PHP. But a lot of what I've done has been lost in the site or not included at all and I wanted a clearer organization to the whole thing. Plus, if it's easier to maintain it more likely will be....

We've really been burning the midnight oil -- Rick and I got home last night at around 9 pm and Rick fell asleep immediately. We'd both been at work for 12 hours, then went to dinner. So yesterday was literally a wake-work-sleep day, though a bit more for him than for me.

Coffee, need coffee.... My taste buds aren't awake enough to know they're drinking yesterday's reheated French roast. Ugh.

Doing an early triage on my work email, I'm convinced that there needs to be a better way to manage a complex software rollout for electronic deployment. That said, when it involves N servers (where N is > 10) and there need to be core software upgrades and database structure changes, it's just not that simple.

About the only code I've written off-work hours is a weensil python example of how to remove html tags to produce a text file. Mostly, I was annoyed at having to keep html and text versions of my resume; this makes the maintenance somewhat simpler. I happened to write it last night after getting home and, lo and behold, someone asked for exactly that on the tutor list this morning.

It also highlights a petty annoyance with python: I like my booleans to be boolean dammit. Too much damn pascal programming in my deep dark past. My dad always used to put jokes in his code.

I considered several apparently cleverer ways of doing this involving regex, but ultimately anything would have to reduce, at some level, into what I wrote. ::shrug::

Too much damn assembly language.

_Deirdre

Whee, fun with sendmail today -- someone thought it would be *amusing* to run a production server without reverse DNS. <grr> Sendmail antispam rules don't like that.

Naturally, we hadn't tested that contingency, so rollout (which would otherwise have finished around 2 am) didn't occur until just now.

Phew. It's good to have a project finished and launched and live. Ok, not live. Wait, it's live again. Can I scream now? At least it's not my code that's buggy. :P

Tonight we're headed to the city for Duncan's[1] birthday, so I'll get to see some people I haven't seen for a while.

[1] Works in the Linuxcare labs [2]

[2] When I arrived, I realized it was Duncan's son Duncan who was having the birthday, not the Duncan who works at Linuxcare. Rick had never specified. I had been last year but had remembered it being later in the year.

This shop isn't moving from Linux to NT yet, but there's a lot of pre-deployment cross-platform voodoo going on and I'm winding up being the sysadmin again. Can't anyone else secure a Linux box around here? Ah well, at least I'll do it right, not like the dweeb who left NFS, IMAP, etc. open on a production server. ::cough::

I also didn't have a weekend. To those of you who did: :P We're stuck in pre-launch hell, where we've been for a solid week, if not longer. I can't remember. It's been since around the time Guido came to talk to BayPIGgies, but I have no idea how long ago that was. The 15th?

And no one tested my big contribution of code because someone else screwed up and deployed the NT version of the database library bindings on the Linux box. Way to go! ::cough::

I need to get out of this microcosmic level I've been working in lately. Not the sysadmin stuff (that's detail work I enjoy), but the rest of it.

Thus, Gtk+ MacOS has gotten *zero* work done lately. It's something of a strange project as I'm not really sure how to go about testing it. The standard library interface it expects doesn't really work the same. I think, for the moment, I'm going to assume static libraries just to make the damn thing easier. I still have to port a LOT of stuff though. I'm still not convinced it's even a possible project -- all the other Gtk+ ports have been to platforms where there was at least a command line and a tool chain.

One piece of code I was severely impressed with was SmartMoney's market map, which they now have a windows version of (not just the web stuff, but a product that does even more and looks cool). Per them, they are indeed planning on a Linux version. While I don't predict it'll be open source, the concept of getting finance apps for Linux is very cool. I also really like the idea of taking this information, making a 3d representation of it and putting it into two dimensions.

My dad and I have been working on ideas for portfolio management software. If you have anything other than the simplest thing, pretty much everything out there sucks. Even Schwab's online calculations are just wrong. None of them handle the peculiar nature of options well either.

And I have a test tonight in corporate finance and I haven't cracked the book in a week. I've been doing really well so far and don't want to blow it, but because of the release frenzy, I didn't make it last week.

I also missed the deadlines, being too busy, to submit exam forms for my MBA (Organisational Behaviour and Finance), so will have to wait a few extra months, which isn't a problem really. It's just annoying.

_Deirdre

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!