A Letter to Donald Trump
Comments Off on A Letter to Donald Trump
Filed under Politics
Election Conscience
For twenty-two years, I was a registered Republican.
In the ’90s, it was pretty easy: The Republicans were the party of small government, of fiscal sensibility, of moderation, and of prosperity. The Democrats were the “crazy hippies,” the tie-dyed tree-huggers who wanted us to eat nothing but kale and drive only solar-powered cars. And while I didn’t agree with the social conservatism of certain parts of the Republican Party, or the weird racist crowd in the South, those were small fringe groups, and they were easy to ignore. The Republicans represented centrism and sensibility.
Today, those small fringe groups rule the Republican Party. It has gone from being the party of sensibility and moderation to being the party of extremism and racism and hatred. I cannot support Trump. I will never support Trump. Everything he stands for is something I’m against. He is not “classy.” He is not “yuge.” He is not “tremendous.” He’s an overgrown schoolyard bully, a bigot, a strongman, and willfully a fascist, and he bankrupts and ruins everything he touches.
So today, I reregistered: I am now an Independent.
On the down side, this change comes at a severe cost in the Commonwealth of Pennsylvania: By doing so, I effectively gave up my right to vote in primary elections. But I cannot associate myself with the elements that drive the Republican Party. They do not stand for what I stand for, and I worry they may never do so again.
But on the plus side, I now join the most-heavily courted of all voter blocs: I am an educated Independent voter, in a swing county, in the critical swing state of Pennsylvania. My vote matters, and today, I just made sure that my vote no longer comes with strings attached. I can vote my conscience, and no-one can tell me otherwise.
So goodbye, Republicans. Goodbye, Gallant Old Party. Goodbye, Party of Lincoln. You were a good thing, once.
Comments Off on Election Conscience
Filed under Politics
A Smile Posting!
Okay, so it’s apparently been forever since I talked here about Smile. Which is sad, because I think hard about it every day, and I work on its code multiple times a week.
So here goes with a big status update.
Comments Off on A Smile Posting!
Filed under Smile
UI Tip: The User Is Busy
I’m passionate about user-interfaces. And so I thought it would be worthwhile to expand on a UI discussion I was in on Slack today.
You should never call a user dumb. I prefer to use the phrase busy, one of the great suggestions from Al Cooper’s About Face. I prefer that phrase because nearly all users are not dumb: The bell curve and a whole heap of population statistics say otherwise.
The real issue is that most users are just too busy and too harried to really think about your software or to spend any time with it or to spend any time learning it. They only use it because they have to use it, most likely because some manager at their company bought it and said, “This is your new [X] now.”
Comments Off on UI Tip: The User Is Busy
Filed under UX
Windows 10
Microsoft really screwed the pooch with Windows 10.
Over the past six months, I’ve had the opportunity to both install 10 and use it on quite a lot of machines. It’s better than Windows 8, but that’s a lot like saying two broken legs are better than cancer: You really wish there was another option.
So, look, lest you all think I’m just a hater, I have intentionally upgraded my devices to Windows 10, and stuck with it for long enough to get a real feel for it. I want to be using the new operating system. It’s just simply not ready for prime time.
Comments Off on Windows 10
Filed under Technology
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.
Comments Off on Server Crash
Filed under Personal
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!
Comments Off on And so December
Filed under Personal
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++.
Comments Off on MayJuneJuly
Filed under Personal, Programming
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?
When you’re Smiling
Every once in a while, I go back and reread the Reddit thread where they were first talking about Smile. Each time I read it, it’s a reminder of what I’m up against. There are a lot of interesting notions about what’s good in a programming language; everybody has their own pet feature: It has to be as fast as C! It has to allow infinite threads! It has to be 100% type-safe! It has to be type-inferring! It has to be designed for building web services! Did you see how X implemented generics!? And you’d better not leave out Intellisense!!!
It reminds me of back in the ’90s when I worked with this lady who was convinced that client-server would take over the world — by which she meant custom apps running on PCs talking to mainframes. Our worldviews and past experiences skew our expectations toward what we want, and the future often doesn’t play out the way we hope or expect.
(This is gonna be a long post, and I’m going to talk a lot about Smile, including some philosophy and history, a deep-dive into the core syntax, and a bunch of additional examples at the end. I feel like writing a bit on one of my favorite topics. Don’t feel obligated to read the whole thing.)
Comments Off on When you’re Smiling
Filed under Smile