Server Crash

So my site’s been down for a couple of weeks, because we had a server crash.  By which I mean, “The server physically crashed onto the floor from a height of about six feet.”

I’m now hosting off of a VPS at Dreamhost, who presumably are less droppy with their servers 🙂

I’ll post more real content later, but my site’s back up, more-or-less.  Some of the deeper links probably don’t work anymore (I’m not restoring all of the junk I used to have in weird off-directories), but the blog’s still here, for whatever that’s worth.  Which is likely not a lot, since there’s nobody reading, but still, we’re back.

And so December

Well, merry Christmas all.  I’m spending mine with broken bones in my right hand, and a cast on it.  I’ll type more in the new year about what I’ve been doing — after the requisite physical therapy. Have a happy New Year, and I’ll see you all in 2016!

MayJuneJuly

The latest: We’re expecting! The due date is the middle of February. First ultrasound looks good. Robin’s pretty sick a lot of the time, but there’s only a month left in the first trimester, and we’re hoping the nausea settles down after the first trimester like it did with Alan. She’s a lot sicker this time, and thinks that maybe that means we have a girl. Hard to say, but we’ll find out!

Alan keeps growing. He’s at the just-shy-of-terrible-twos now and exerting his independence by means of tantrum. (Lord help you if you want to change his diaper, or if you leave the room without his permission.) We took him to the zoo for the first time last weekend, and he was far more interested in the carousel than the animals. Ah, well. He recently learned that he can stack his alphabet blocks into towers, which has been highly entertaining to watch. Still no speech yet except for going “nyaah” when he sees a cat (it’s his “meow”), but with any luck, he’ll at least figure out “Mommy” and “Daddy” soon. He certainly knows what we’re saying, and nods (and waves his arms) and shakes his head (and waves his arms) to indicate “yes” and “no.”

What’s new in Smile-land? Back in April, I started rewriting the interpreter in C. It was never going to be fast enough in C#, and I always knew a C or C++ port would be necessary. I rejected C++ after a few attempts (more thoughts on that below). So far — well, I have a garbage collector and a working String object and a bunch of unit tests and that’s about it for the last three months. I only get an hour here or there at best to work on it. But Ben recently challenged me to have a minimally-usable interpreter by Christmas, and that’s put a little more fire under my butt to do something about it.

On C++

I rejected C++ because C++ is C++.

Continue reading “MayJuneJuly”

Well, that was fast

Blink

You blink, and six months go by. That’s what having kids is like, apparently. I could swear we were just gearing up for Thanksgiving, and now it’s spring and the daffodils are springing up. I just realized how long it’s been since I’ve even seen some of my closest friends. I used to joke about asking “What year is it?” And now, well, that question is starting to seem more legitimate every day.

But haven’t got a lot of news, really. Lots of time spent at work, and a business trip to California. Saw my sister and brother-in-law out there, and their little girl. Worked on the house a bit during the cold months: We have a proper ladder to the garage attic now, and the garage is not exactly clean but cleaner than it used to be. Spent some of the time going to doctors for my injured foot. And Alan’s growing fast; he’s at nearly 18 months now and running around like a lunatic. Kid’s cute as a button, and my wife and I couldn’t be more pleased.

Got a little bit of work done on SpaceMonger’s scanner, but nothing really notable. I’d like to get the core scanner 64-bit compatible and change how it shares data between threads; that’ll improve both performance and stability, and early experiments with it have been promising, but again, time just slips away from me.

Smile

I’ve made a handful of commits to the Smile interpreter. It consumes a lot of my driving-to-work and standing-in-the-shower brain cells. The interpreter is slow as heck (s’what I get for writing it in C#), but the performance can be fixed over time (or a better interpreter can be written). More importantly, it works, and is really quite unlike any programming language I’ve ever used, and I’ve used quite a lot of them. Smile reads simply, a little like a mash between BASIC and JavaScript and Ruby, but it’s actually Lisp and Smalltalk under the hood: Stupid-crazy powerful. I can do things in one line of code in it that would have required large whole programs in C. I don’t have macros or continuations yet (and you have no idea how much I want both of those), but I still can’t get over the fact that it works. This bizarre idea I had fifteen years ago that you could add an object-oriented syntax translation layer on top of Lisp to de-Lisp-ify it actually works, and not only looks good but feels good.

I own smile-lang.org, and I’ve been thinking about possibly publishing the interpreter there for download. I have some (hidden) documentation there right now. I want the interpreter to be open-source — I’ll probably host it on Github, and the source is under an Apache license — but I’m still nervous about sharing a work-in-progress. Things still change in it as I work on it, and as we found the other day, some programs from last year wouldn’t work under the latest interpreter. Many would, but a few were quite busted.

It’s a tough question for me: Share it, and let people complain that stuff is incomplete and some stuff doesn’t work; or keep it private until it’s more polished?

So I’m opening up comments on this posting, because after a year of working on Smile, I really can’t decide about sharing it. If you have a thought over the next month or so, feel free to write a comment, as long as it’s constructive. If the crowd leans toward sharing, I’ll do that; and if not, well, I’ll keep muddling along as I have been until the code’s pretty solid in, say, 2017.

Anyway, that’s that. It’s late, and I’m tired. And yes, 9:30 PM is apparently now late. You see what having kids does to you?

And that was a year

Alan

My son turns one year old tomorrow. Boggles the mind. Feels like he was born yesterday, or last week or something. This should explain pretty well where I’ve been lately. He’s a cute kid, and incredibly photogenic and well-behaved. My wife and I are really lucky.

But, yes, he’s turning one, and my wife wishes he was still a cuddly tiny ball of joy, and instead he’s now a giggling toddler. This weekend, we’ll have everybody and their brother’s uncle’s cousin’s nephew’s former roommate dropping by for his birthday party. Gifts have already started filling the hall, and I’m getting this weird feeling that I don’t own the house anymore, even though my name’s on the mortgage. The place is gonna be a madhouse, but the kidlet’s gonna have an incredible first birthday party.

SpaceMonger

Sales of SpaceMonger 3 are continuing nicely, courtesy of my friends at EdgeRunner. It’s really nice to be able to sit back and think about the algorithms instead of the business model. Some time between SM 3.0 and whatever the next really major version is (3.5? 4.0? I’ll leave that to EdgeRunner’s branding gurus), I’d really like to rebuild SM’s scanner from the ground up. The original design was decent, but I’ve had a better model in my head for years that would make its already-quick scanning even faster. The new design uses crazy stuff like lock-free queues, and functors as messages, and sector-ordered scanning to avoid head seeks, and would be awesome, and that would open up a lot of interesting possibilities for the future for things like persistent scans and automatic background scans — if I could find the time to code all that.

Continue reading “And that was a year”

Time keeps on slippin’

Well, that was a quick month.

So what’s happened? I’m a married father with a baby, so family eats up a lot of time. And there’s that full-time employment thing I do most of the week. And a secret project I can’t tell you much about but that you’re gonna love (psst, that link’s not a link yet :-P). And yard work, and chores around the house; with spring comes mowing and mulch and weeds. We also had our basement flood when the big rainstorm came through last week, and pumping out that water and cleaning up afterwards was just loads of fun.

But you probably don’t care about all that; what most of you in reader-land care about is Smile, this suddenly-notorious little programming language I’ve spent so much of the last decade-plus thinking about and working on. So let’s talk about that.

I’ve been busily shoring up the implementation of the interpreter, trying to knock out bugs and fix issues, getting it to the point where it at least parses and executes the whole language correctly, and is a full implementation of both the core language and the base-level libraries. I’ve also been writing documentation, lots and lots of documentation, so that when you do get your hands on a copy of it, you won’t just throw your hands up in disgust and confusion, and you’ll be able to learn it and try demos and look up answers when you don’t understand things. This has been a lot of work, to put it mildly, and there’s a lot more to go.

Continue reading “Time keeps on slippin’”

Three Months to a Whole New You

We have a baby.

Those of you that have kids know that this is pretty much complete and sufficient explanation for where the heck I’ve been for the last six months. Those of you who don’t have kids, well, just trust me on this.

His name is Alan Thomas, after my grandfathers and my father, named a good strong name carried by WWII veterans, by leaders of men, by the men who taught me by example what it is to be a man, so named to honor our shared ancestry as he carries our lineage to the future. No pressure, kid. But I’m sure you’ll do fine.

He’s an amazing little thing. He’s three months old now, and not yet able to sit up, but he’s healthy and happy.

It somehow still boggles my mind that I’m a father. Fathers? Aren’t they adults? Big strong men who drink beer and watch football and lift heavy things and talk in short sentences about weighty matters? Is that me? Guess it must be. Sure don’t feel that grown-up, but I have a job and a wife and a dog and cats and a house and a mortgage and car payments, and now I have a son, too. I keep wondering who he’s going to be like, keep hoping I have something in common with him, which is a hard thing to divine when he mostly squeaks and squirms and hasn’t yet learned how to hold a spoon, much less why you’d want to.

Continue reading “Three Months to a Whole New You”

Why I’m Not a Leader (and Why You Shouldn’t Be Either)

“They say you should lead, follow, or get out of the way.”

So began an essay I once wrote for a college entrance exam to a very prestigious university. I was rejected, and they claimed it was for my less-than-perfect grades, but I don’t doubt that essay played its part. As a seventeen-year-old, I was ill-equipped to state the message well, but it’s a message that I live by, and it’s a message that bears repeating:

If you must lead,

Follow,

Or get out of the way,

Choose to get out of the way.

Continue reading “Why I’m Not a Leader (and Why You Shouldn’t Be Either)”

Noah to the Front Desk, Please…

My wife and I got back yesterday from a trip to visit my in-laws, and we discovered that our hot water heater had — technically speaking — gone all asplodey-go-boom, leaving an inch of water across our entire basement.

The cats, whose litter boxes were in the basement — dry, but separated from them by six feet of inch-deep water — coped with the situation by pooping and peeing all over the living room.

We spent five hours yesterday and five hours today cleaning, and we’re getting close to having the basement dry and the poop and pee cleaned up. The tank is drained, and next up is replacing the thing with one that’s slightly less likely to go asplodey-go-boom in the near future. This is really not how I intended to spend the last twenty-four hours, but such is the joyous life of a homeowner.

I’ts been a long time

Once upon a time, I had a blog up here, and my software, and a whole bunch of other stuff.

I stopped doing that some years ago. It was a lot of hassle to maintain the mess, and absolutely soul-crushing at times to read the comments.

But — I still have things to say, even if it’s to an empty echo chamber. There are still techy things I want to talk about, ideas to pontificate on, and useful tips to share. So here we go again, with a brand-spanking-new version of WordPress, comments completely disabled, and an empty database of posts.

So let’s do a quick run-down of the most common questions from the last few years:

Continue reading “I’ts been a long time”