Using Go despite misgivings

Four years ago, in the autumn of 2016, I learned the Go programming language to use in some of my work. For various reasons, I only completed two small projects with it before switching to D, which worked out rather better, at least for a while. But over the past year this move started looking like a bet on the wrong horse. While my misgivings still stand, going back to Go looks more and more like the wise thing to do.

Let's start with the parts I still dislike about Go. For one thing, it's still the new Java in a number of ways, none of them good:

  • controlled by a large corporation;
  • restrictive language lacking expressive power, which leads to verbose code;
  • designed for back-end web development and little else.

And do I need to explain how bad it looks to have GitHub support baked right into your toolchain in 2020? We tried to warn you, folks.

Anyway. On the bright side, Go (still) has a lot going for it:

  • you can (re)learn it in one evening: less of a hyperbole than it seems!
  • lets you make apps for a dozen CPUs and operating systems from one install;
  • popular language is popular, and that becomes a qualitative jump.

Yes, really. Common wisdom says popularity is no sign of quality, but people working together build more, bigger and better things, because they can. I tried giving a chance to good but obscure languages, but it was hard to get much done without an ecosystem, and when already tiny communities wink out you're left all alone with a body of work that means nothing to most people.

It's no good, doing morally pure things in an ivory tower. I'd rather get dirty and help people for a change.

Tags: programming, critique

Reinventing the webbed wheel

Yesterday, Drew DeVault wrote a scathing critique of Firefox, or rather Mozilla. He's not the only one as of late. What I can't understand is everyone's insistence that the web is finished and we should all move to Gemini instead. It doesn't follow. Not at all. Y'all do know that Lynx is still maintained, right? So is w3m. Oh, you wanted some graphics too? Links2 lives as well. And there are more little browsers out there, that could be forked and revived if we need them to pick up the slack.

No, none of them can replace Web 2.0; that is indeed finished. But then, neither could Gemini.

So why the insistence? No, you couldn't write Lynx in a weekend, the way you can a Gemini browser. How is that an argument?

I recently completed a comparative study of three programming languages, disguised as a roguelike port. Took me three weeks. And it was a flight of fancy. Fooling around with toys. Could've been three months otherwise.

How short is the average hacker's attention span these days?

Here's a hint: started last summer, the Gemini protocol fizzled out quickly, and remained dormant until this spring, when a post on Hacker News rekindled the flame. Half a year later, it's already dying down again.

That's often the case with reinvented wheels. And I keep hearing how sometimes the wheel needs to be reinvented. Funny how people have trouble coming up with even halfway decent examples.

Tags: website, software, critique

Politics and plumbing

Imagine one day someone knocks on your apartment door. When you open, a guy bursts in, dressed in coveralls and carrying a toolbox. He immediately sets out to inspect your plumbing. "All the pipes are bust!" he declares. "We have to replace the whole installation." Then gets to work turning your home into a construction site, while all you can do is sit timidly in a corner going "er, ah... excuse me! what...?" In the evening he leaves at last. You tidy up a bit, but there's too much and you're too tired.

The next morning he shows up again. Then again. You refuse to open anymore, but he has the keys to your apartment. Somehow. After a while, you give up trying to tidy, at which point he starts missing for days at a time. But not before taking money out of your drawer.

When you finally confront him about it, he threatens to call the police on you for breach of contract.

"What contract?" you ask. "Why, you didn't know? I've been elected Chief Plumber for the building." There were no elections that you know of. "Oh, they didn't hold a vote anymore because nobody ran against me. But I have the support signatures from ten percent of the building's residents."

"But I didn't ask for any repairs!" you say. "I've been empowered by the people to make such decisions myself, for the common good" is the answer.

At this point, your spouse (who in all this time was increasingly vocal about the situation, but you weren't listening) grabs this guy by the collar and moves to throw him out. But instead of helping, you stand in the door. "Now, now, dear, we can't behave like savages. Let's take it up with the homeowner's association."

"They did this to us in the first place," your spouse points out. "Still!" you insist. "Violence is never the answer... is it?"

Tags: politics

September and such

This may be my only blog post this month, and it's not about any one thing.

Turns out Chris Aldrich saw my recent write-ups and replied on his own website, here and here. Cue assumptions and lack of understanding. Suit yourself, but know that other people also discovered the IndieWeb movement with delight, only to give up disappointed once they dug a little bit deeper.

(By the way, notice how I didn't need WebMentions to find out, but simply to check my referrals. Funny how that goes.)

In unrelated news, I got fan mail! Had forgotten what that was like, it's been way too long. Turns out people still use RSS after all. And something tells me my site-wide newsfeed, which has been there years before this blog, may well outlast it. Low-tech endures. Even when it's a little fiddly to use. That's called friction. Friction is good for you.

Got new friends too. The timing is kind of bad. Not feeling social these days. It's still all online, too. Glad to have y'all anyway. While it lasts.

The world is burning, and politicians are feeding the flames with our bodies.

Tags: personal

Walled gardens in disguise

At the end of June, I subscribed to micro.blog with some amount of hope. Nine weeks later, I canceled my account.

Yeah, isn't that public timeline gorgeous? All pretty photos and thoughtful posts. Surprise! It's heavily curated. To the point of being suffocating in fact. You'll never going to see the real micro.blog community because there is no such thing.

Second, a big selling point of the service is that you syndicate your blog to it and then you can have conversations without having to self-host comments. Surprise! Most people syndicate their blogs all right, but then never seem to monitor their timeline, reply to comments or follow back. I'd blame them, but see above: the service doesn't encourage that kind of interaction. It wants people to share their oh-so-artistic photography and little else.

Oh, it's a lot more open than other walled gardens: hosted blogs get an RSS feed, and even federation via ActivityPub if you connect your domain name. How generous! write.as makes all that available on anonymous blogs. Not just the free plan. The anonymous plan.

As part of the IndieWeb movement, micro.blog is obsessed with identity. It wants to know that you are you and nobody else.

Real people have failings. Even the best of us are sometimes cranky or not at their most perceptive. Like, earlier this morning I argued with my friend fluffy about the aforementioned IndieWeb. Got to write a post about it, too.

I'll syndicate it manually to people who want to hear what I have to say and not just pretend we somehow live in a perfect world. Better that way.

Tags: social media, critique

An outliner done right

Turns out there's actually a desktop outliner out there that's worth a damn, and I mean one mere mortals can use for a change. It's called TreeLine, and it does a lot of things right.

For one thing, TreeLine saves its data into honest files, wherever you tell it to save, not in some hidden database like most competition. And those files are JSON, so if you ever find yourself unable to run the software, it's still easy to recover the data, with a text editor if nothing else.

Second, TreeLine isn't just any outliner, but a structured data editor. By default, each node only gets a one-line name field. For anything else, you have to define more. You can add any number of node types to a document, each having multiple fields, and fields have various types, with suitable input methods (such as a month view for dates). Not that you have to use the outlining features: it can work Rolodex-style just as well.

Third, import and export features are outstanding: a surprising variety of formats are supported, and handled smartly at that. CSV works especially well. Also browser bookmarks. Only HTML export is terrible, but it should be easy to write filters, using the generic XML support as an intermediary. Documents can even be printed out (e.g. to a PDF file), with flexible output formatting.

Oh, there's a bit of a learning curve, except reasonable for once. TreeLine doesn't overwhelm; with it, I feel in control. TreeLine can be mastered.

If you want to give it a whirl, TreeLine runs on Windows and Linux (probably BSD and Mac, too), and it's light on system resources. A keeper all in all. Enjoy, and may your data stay well organized. We need all the help we can get.

Tags: software, review

Stop forcing tech on us

I was forced to get a Twitter account for a job I ended up not taking. Same with GitHub. Meanwhile, I've come to regret growing dependent on them, for all there were some good things as well. You know, between one becoming a rat nest and the other getting bought by the enemy.

As of a few years ago, I've been forced to have a Discord account, for similar reasons. And use it way more than is reasonable. Now all of a sudden I'm forced to use 2FA to access some features they decided to "secure better".

As an aside: two-factor authentication (2FA for short) is the worst kind of security theater invented by an industry that's rife with that sort of crap. It protects the wrong thing in the wrong way. Password cracking, you see, only works in Hollywood movies, for two reasons:

  1. in real life it's trivially defeated with a short timeout after each attempt;
  2. exploiting security holes, or for that matter insider knowledge, is easier.

2FA is however great at locking out the legitimate user of an account. Which is emblematic of tech and what it's doing to us, pardon, for us nowadays.

Read more... Tags: technology, disaster

Refresh

I was hoping to get another post in by the end of the month. Not so much expecting it would be on my new static site generator. Once again, this blog becomes a test ground for bigger things. Not for the sake of it, however! There are several benefits to the switch:

  • old posts are now in the correct order again;
  • archives are per-year instead of one long list growing forever;
  • I can has pages in addition to posts;
  • the newsfeed now carries full post content;
  • no more advertising for a certain social media giant on every page.

That's in addition to less visible changes such as flexible themes with better metadata (and better control thereof), including microformats for those who care (which should be everyone seeing how search engines love them). Detaching post slugs from titles should help too.

Even better, the blog's expected lifespan is now roughly 60% longer, and I can extend it even more by slowing down, or setting up a sideblog for shorter posts. While preserving all permalinks and even the newsfeed location. (Don't you hate it when they move around without a redirect?)

But I'll cut this short as befits the new theme. Thanks for still being with me.

Tags: blog, software

The web is already social

When I tell people that bloggers following each other via feed readers already form a social network, they balk. "But... but... notifications! Reactions! Mentions!" That's how strongly we've been conditioned to think we need to know right away if someone is talking about us. No, you don't need to poll your newsfeeds every five minutes, and if you did, I suspect that would still use less bandwidth than your average spambot. And if someone you're not following talks about you? Check your referrals! Failing that, count on your friends to tell you. Use search engines. Aggregators. Directories.

No, it's not perfect. Doesn't have to be. Technology isn't magic.

Read more... Tags: social media, software

Science, nerds and reductionism

At some point 10-15 years ago, Romanians increasingly became aware of a problem: summer heatwaves were spiking, especially in big cities, and causing systematic health issues, while the national weather service kept reporting "normal temperatures for this time of the year". The reason soon turned up: they were still measuring like they had for a century and a half, with instruments tucked away in a wooden box, well-aerated, perched two meters above the ground, shadowed by trees in a park on the edge of town...

Needless to say, most people weren't there. They were walking downtown, on hot asphalt, among tall concrete buildings and intense car traffic. With their heads much closer to the ground, I might add.

That's the problem with trying to be "objective", you see.

Read more... Tags: science, education, politics