New Keyword (don’t get too excited, it’s .DEFAULT); also: cops

So there’s 15 hours to go on the Kickstarter and it’s $99 from funding. I’m as nervous as a long-tailed cat in a room full of rocking chairs (except my cat, who tends to forget he even has a tail until someone steps on it). So what have I been doing? Expanding TBL, of course!

First, there’s the matter of the expansion of .LOCKOUT: you can now use it on other tables. For instance if you wanted to avoid contradictions your table GOOD_TRAITS might have a command like .LOCKOUT 1-3 ON BAD_TRAITS. That’s something new for TableMaster II which I haven’t really said anything about before.

Second, there’s the fact that .LOCKOUT never actually had a default. In the old version, it used whatever value (REROLL, NEXT, or IGNORE) was specified by the most recent .MORETHAN statement … but in actual use, there might not have been one. You might only have been using .LOCKOUT. That was, simply put, an oversight in the original design. (one of the good things about the TM rebuild is that I’m getting to fix all these things I missed 20 years ago) There was no actual default, so the default was effectively IGNORE.

Obviously I wouldn’t be going on about this if something hadn’t changed. And what changed was, last night, I added another new command to TBL: it’s .DEFAULT, and it sets global defaults for things. Things which, at the moment, consist solely of LOCKED but which will undoubtedly expand to cover other things which need default values in the future. I’m already thinking of deprecating .WIDTH and replacing it with .DEFAULT WIDTH (i.e., they’ll both work, but the latter will be strongly encouraged). Also, if not specified, there is a default value for lockouts now, and it’s REROLL; that’s a more common choice than IGNORE.

Y’know, I really didn’t start out to write a programming language, 20+ years ago. It was just a way to write up tables in a computer-readable form. (the earliest version of TBL was very limited compared to today) But it grew. Mostly, it grew this same way: “We should have….” It’s actually quite fun being able to add things to the language that I think it should have, like a global default command, or that users want, like the guy with his orbital mechanics and the floating-point variables.

And, come this weekend, assuming the Kickstarter funds (it’s sooooo close!), y’all will get to contribute to that. If someone thinks that TBL really needs some feature that it doesn’t have, well, you’ll be talking to me on the beta forums. That’s where .DEFAULT came from, after all — talking with a backer in a chat room last night.

Hmmm … speaking of which, I should probably plan for regular IRC chats. Or is there another chat system that people would like better? (I’m old-school, so I lean toward IRC) If anyone has a suggestion for something better, by all means tell me here.

Any time I start thinking …

Okay, I forgot what I was going to say there. My yard is full of cops. Apparently some guy robbed the Waffle House a few blocks away and they caught him up the road from here, and the cops are looking for some evidence. In my yard. With my un-mowed grass. You know how your mother always told you to wear clean underwear in case you were in an accident? Well … always mow your back lawn in case the cops come around. :-/

(update: this guy)

Oh, yeah. IRC and stuff. Any time I start thinking that setting up a forum and doing regular IRC chats and all is complicated, I just have to remind myself that back in the day, I ran a BBS for TableMaster tech support. That was a royal pain in the neck: not just the software (BBS DOORWAY, anyone?) but because it also required a dedicated computer and phone line, each with their own issues (especially getting a clean phone line in Maynard, MA). Nowadays all the hardware and connectivity is someone else’s problem (HostGator for the win!) and I just have to be concerned about the software. That part’s easy.

And while I’m talking about my real life, there’s something¬† else in my yard besides cops: A rather patchy-looking hummingbird is at the window feeder and isn’t doing too well at figuring out where to stick its beak. Must be a newbie. It looks like my fierce little lady hummingbird has raised a family again. Now they can fly, it’s only a matter of days before she’ll chase them out of the yard. Ruby-throated hummingbirds are aggressively solitary. (those pictures on the packages of hummingbird food? Either Photoshopped, or they put Valium in the nectar!) A lot of my birds are being followed around by their mooching offspring right now — the cardinal family, the tufted titmice, the house finches (four juveniles, all begging at once!), the brown-headed nuthatches — but for the hummingbirds, it’s “Okay, you’re out of the nest, now get lost!” There’s a reason the Aztec war god was personified as a hummingbird.

And on that note, now that my yard seems to be clear of cops and returned to the hummingbirds, time for me to return to coding. Assuming the Kickstarter funds (just one more Everything-Plus would put it over!) I’m going to be giving backers their first look at TableMaster tomorrow, and I want it to be good.