Archive of all blog posts

Long may you run (2017/09/03 02:07)
What to do about blockers and long-runners?

Let's get rid of this (2017/09/02 08:00)
Tag deletion is now live.

Preview power! (2017/09/02 11:37)
A new way to look at work in progress.

You can put away your magnifiers (2017/08/31 07:00)
The site works properly on mobile.

Tag renaming is now available (2017/08/30 07:00)
New feature, just landed.

Now, where was I? (2017/08/20 02:00)
It's been a while. I owe people an update.

An update for real this time (April 2017) (2017/04/09 10:00)
Emerging from cryosleep, and facing issues.

Not dead, just resting! (2017/03/10 06:00)
I haven't abandoned Mercury, honest!

Looking back, 2016 edition (2016/12/29 04:00)
A quick wrap of where we stand with some major issues.

The real world is your testbed (2016/12/04 08:00)
You can't beat it for the data it gives you!

Sometimes performance isn't what you think it is (2016/12/03 08:00)
Sometimes it's not even performance at all.

Breaking radio silence (2016/10/31 08:00)

Dogfood, September 2016 edition (2016/09/02 03:00)

Let's see how this dog food tastes, August 2016 edition (2016/08/06 06:00)

We're live! (2016/08/02 08:00)
Another site that's not this one is now Mercury-powered!

MeTal is now Mercury (2016/07/26 09:25)

On the verge of a revolution (2016/07/22 08:00) is goin' MeTal!

Movable Type's template headaches (2016/07/20 08:00)
XML is no way to create a programming language, son.

This is why you keep backups (2016/07/19 08:00)
Or, why Google is not your friend.

The vagaries of web apps (2016/07/18 08:00)
Help! I can't stream!

Must go faster, must go even faster (2016/07/17 08:00)
Dealing with queue contentions and database locks.

Context, context, who's got the context? (2016/07/16 08:00)
The future of how template mapping expressions will work.

Side by side (2016/07/15 08:00)
On rebuilding blogs in parallel.

Interface speed is more important than publishing speed (2016/07/14 08:00)
Asynchronous UI is asynchronous.

Must go faster, must go faster (2016/07/13 08:00)
How I'm speeding things up.

Time bombs, pt. 2 (2016/07/12 08:00)
On digging out of the fileinfo/mapping performance hole.

Time bombs (2016/07/11 08:00)
A trap I set for myself: the performance of adding or changing template mappings.

Express yourself, part II (2016/07/10 08:00)
Exploring the limits of expressions and list comprehensions as central to MeTal's logic.

Butts kicked, names taken (2016/07/09 08:00)
The latest and greatest MeTal feature is a direct product of needing to port my own blogs.

I think I have a Bobby Tables problem (2016/07/08 08:00)
Suddenly, I feel insecure.

What other programming projects teach me about performance (2016/07/07 08:00)
Or, how I learned to stop worrying about CPU utilization and love Python.

Testing to destruction (2016/07/06 08:00)

By my bootstraps (2016/07/05 08:00)
What recreating one of my existing sites in MeTal is teaching me about the needs of the system.

News of import (2016/07/02 08:00)
As in, news about importing stuff into MeTal.

Included plugins (2016/06/30 08:00)
What else is gonna be in the box?

Included themes (2016/06/29 08:00)
What'll be available "in the box".

The quest for a new name, pt. 2 (2016/06/27 05:00)
Is nomenclature destiny? Let's find out.

The quest for a new name (2016/06/26 09:00)
What shall we call ourselves? MeTal don't cut it no mo'.

The big(ger) picture (2016/06/25 05:00)
MeTal isn't about throwing shade at WordPress users.

Tag archives are now working! (2016/06/24 08:00)
Wild screams of joy were to be heard.

Clean your room (2016/06/19 09:00)

Solve the right problems (2016/06/11 12:00)
My last headscratcher, revisited.

Express yourself! (2016/06/03 08:00)

And silence descended upon the land (2016/04/18 01:00)
Ssh! I'm huntin' real life!

A glimpse of the future: "Shadow blogs" (2016/04/13 09:00)
A way to do theme editing without quite so much headache.

Next steps... (2016/04/12 09:00)
WP and XML and MTL.

The mystery of the crashing queue (2016/04/08 10:00)
Knowing why something broke is more important than knowing how to fix it.

MySQL or NotMySQL? (2016/04/07 10:00)
Maybe your MySQL, but not my MySQL.

Spiffing up (2016/04/06 06:00)
Lookin' good!

Boring is good (2016/04/03 10:00)
In fact, boring is pretty hard to get right.

What to do about the queue? (2016/04/02 10:00)
A word or two and a conundrum for you.

A thousand little victories (2016/04/01 10:00)
This is one of them: scheduled publishing.for MeTal.

The next steps with importing (2016/03/29 09:37)
Building templates, and building features to build templates.

On minimalism, pt. 2 (2016/03/27 10:42)
More on "less is more."

I like minimalism (2016/03/20 06:41)
But there's a time and a place for it, and this may not be it.

My own itch comes first (2016/03/19 06:37)
But I have to at least pretend I care about other peoples' itches, too.

Movement! (2016/03/17 09:49)
From points elsewhere into points here.

The import/export duties, and tagging (2016/03/15 05:12)
The bridge between old and new just widened a little.

The latest from Camp Wobegon (2016/03/13 12:02)
News of import.

Checking back in (2016/02/13 12:00)
Still work to be done!

Not dead, honest! (2016/01/25 01:41)

MeTal, the open web, and me (2015/12/26 12:00)
Without an open web, there isn't a web.

A version roadmap for MeTal (2015/12/22 05:03)
Our map is finally spread out for all to see.

Diagnosis: Workaholic (2015/12/20 03:20)
What, me worky?

Progress report (2015/12/19 04:40)
A little something new for everyone.

This just in: A new menu (2015/12/16 11:00)
I'll have the commit, with a side of pull request.

Next steps... (2015/12/13 07:02)
Forward we totter!

Things MeTal needs to do (2015/12/09 02:04)
There's only a few things, but they all matter.

And now, a short pause (2015/12/01 12:26)
See you in January?

Time, time, time, see what's become of me (2015/11/28 04:19)

Look at that interface! (2015/11/25 08:25)
Hope it's attractive.

Maybe I did do the right thing... (2015/11/21 01:07)
No test cases? No problem.

Recently added... (2015/11/18 07:29)
What's new to the MeTal mix.

Little pieces (2015/11/17 05:05)
They do add up.

Python is pseudocode (2015/11/04 11:08)
Easy on the eyes and the mind.

November 2015 update (2015/11/01 10:42)
The road ahead.

The cutoff (2015/10/27 09:30)
When to ship?

What happens when I stop running my blog on lousy hardware (2015/10/25 10:56)
Amazingly, good things. In more ways than one.

Themes and templates (2015/10/24 01:13)
Making things look good.

I disappear(ed) (2015/10/23 05:56)
Excuse my absence. It helped me clear my head.

Where does the software begin? (2015/10/12 10:25)
Blogging software isn't the template it uses.

Inch by inch (2015/10/11 11:56)
The slow progress towards something useful.

Hi, I'm a bug! (2015/10/07 06:26)
This week's pre-alpha MeTal bug was a fun one.

I'm not a rock star or a ninja, and that's fine (2015/10/01 08:56)
I'm just a guy trying to write a program. Emphasis on "trying."

Why I write my blog posts on lousy hardware (2015/09/29 09:56)
For the same reason I run my blog on lousy hardware.

Forces of habit (2015/09/29 11:56)
If it's worth doing, is it worth doing the same way?

On failure (2015/09/28 09:56)
"There is a crack in everything / That's how the light gets in."

Build or buy? (2015/09/27 10:56)
The one decision about software we all have to make.

The technology I'm using to build MeTal (2015/09/22 06:32)
What the bits (and pieces) are.

Why I run my blog on lousy hardware (2015/09/02 12:26)
Or, at the very least, a slow shared server.

Repairing a car's engine while it's running (2015/08/30 08:56)
Things get dangerous when you start using any evolving codebase as the launchpad for actual production work.

Why static pages? (2015/08/26 10:56)

Why create a new blogging system? (2015/08/25 10:56)

Welcome to MeTal! Mercury! (2015/08/22 10:56)