Skip to main content

Geek, coder, gamer, tinkerer, husband, father, system admin, web developer, and American cyborg, though not necessarily in that order. Creator of Mythic Wars (card game).


Career 2.0

1 min read

In case you hadn't heard by now, I've decided to leave AT&T. After nearly 18 years with the company, July 30 will be my last day.

I have my reasons for leaving, and I may go into them once I am no longer bound by the company's Social Media policy, but for the time being, I'll have to remain mum about it (unless you know me in meatspace, in which case, contact me elsewhere for details).

Due to the (relatively) generous severance and benefits package I'll be receiving, I shouldn't have to scramble to find a replacement job career too quickly. As such, I plan on taking a couple of weeks' "sabbatical" during which I can spend some quality time with my family and (hopefully) get some of my side projects finished.

All that to say: When I woke up this morning, I was struck by how surreal it is that, after nearly 18 years working for the same company, at the same location, and seeing many of the same people every day, I only have a week left.


Loose Ideas for the Next Social Web

3 min read

Inspired by both [this toot]( and my recent dabblings in [the Fediverse](, I just wanted to take a moment and collect some thoughts about what I would like to see next in the social media / web space.

+ I like the idea of using a hub-and-spoke model, where each actual edge device (phone / tablet / etc.) connects to some kind of always-on server (either a cheap virtual machine or a home-based server), which would be run by a tech-enabling friend, like BBSes used to be.
+ All content creation and such would occur on the edge device, probably via a [progressive web app]( hosted on the hub (to enable offline creating), and which would connect to its hub when convenient to upload any newly created content.
+ Here, "content" means basically anything that you can create on a social media site - text, photos, replies, whatnot.
+ The content would be marked up with [IndieWeb]( [microformats-2]( tags, enabling easy consumption / sharing.
+ Since the content creation / editing would occur on the spoke devices, the hub would be used primarily for caching and speedy connectivity (to prevent issues with asymmetric connection speeds that would prevent direct sharing between the edge devices).
+ The hub would collect incoming messages for the user and cache them until the user's device can connect to the hub to pull them down into their edge device.
+ The hub would also support [webmentions]( (both in and out), [webfinger](, and any other useful protocols ([ActivityPub](, to enable more clients?).
+ Ideally, each user of this kind of system would have a subdomain of their own (, which has their public info, profile pic, and public posts, and which could serve as a [Web sign-in]( endpoint via the presence of an [h-card]( (listing their Oauth2-compatible accounts).

I freely admit that this idea still has some issues, since it is both incredibly hand-wavy and would still require tech-smart gatekeepers to run the hubs, but eventually even that second issue could be mitigated somewhat by turning the software into a single-click install option for a Pi or similar device (or pre-installed on such a device, with a plug-and-play setup of some kind, or pre-built images for VPS hosting).

I'm open to thoughts / suggestions / comments.


Fixing Gedit

2 min read

I tend to use [Atom]( when I'm working on code, but given the choice, I prefer to use more basic text editors when I'm just making / re-reading notes (something I do alot).

In my laptop's previous life, it had a runaway memory issue with that made it impossible to use, but since upgrading to 18.04, I haven't had any troubles with it, so it's been my default text editor once again.

Unfortunately, one issue I've continued to run into is that, no matter how many times I adjust the editor settings in the GUI (for tab size, auto-indent, and [use-spaces-for-tabs-goddammit](, those changes are lost on reboot.

So, this time, rather than making the same futile changes in the application, I decided to use (what I think are) the commands to permanently change those settings.

If you're having the same problems, type this in your shell of choice (ENTER after each one):

gsettings set org.gnome.gedit.preferences.editor tabs-size 2
gsettings set org.gnome.gedit.preferences.editor auto-indent true
gsettings set org.gnome.gedit.preferences.editor insert-spaces true

I've rebooted the machine since I put these commands in, and so far, so good. Of course, this may change by the next LTS release, but these settings should keep my happy for the next couple of years, at least (and I'm posting it here primarily as a ).


"It works the same way in any country."

1 min read

> Why, of course, the people don't want war. Why would some poor slob on a farm want to risk his life in a war when the best that he can get out of it is to come back to his farm in one piece? Naturally, the common people don't want war; neither in Russia nor in England nor in America, nor for that matter in Germany. That is understood. But, after all, it is the leaders of the country who determine the policy and it is always a simple matter to drag the people along, whether it is a democracy or a fascist dictatorship or a Parliament or a Communist dictatorship... [V]oice or no voice, the people can always be brought to the bidding of the leaders. That is easy. All you have to do is tell them they are being attacked and denounce the pacifists for lack of patriotism and exposing the country to danger. It works the same way in any country.
- Hermann Göring, 1946


The (Commercial) Web is Dying? So What?

4 min read

Lately, there seems to have been a up-tick in the [never](,news-20962.html)-[ending]( [debate]( about the web, advertising, and content-blocking. While Apple's recent [introduction of content-blockers in iOS9]( is the most proximate reason for this discussion, it isn't a new battle, and has been raging for [quite some time]( The basic argument is that many sites rely on advertising revenue to cover not just their costs, but also to turn a profit. And these web-based companies are (justifiably) concerned that ad-blocking could reduce (or destroy) that revenue stream, which might force them to shutdown.

To which I say, "so what?"

I'm not trying to be mean, but the fact is that [lots]( and [lots]( of businesses are forced to close every year, and many (most?) of them close because they have what some might call a "flawed business model". Like [some others](, I believe that's exactly what the "web advertising" model is, because if it wasn't, no one would be blocking the ads, there would be no heated discussion about it, and blog posts like this one would never exist. I mean, some may liken ad-blocking to stealing, but others see it for what it actually is - [disruption](

Look, I've been online long enough to remember the early attempts at monetizing the web: first came the embedded banner ads, which paid-per-view, but were easily ignored by end users; then came the pop-up (and pop-under) ads, which were still pay-per-view, but which couldn't be ignored (unless you turned them off, since they relied on Javascript); then came embedded banners with a "pay-per-click" model, which didn't work because nobody wanted to actually click the links. And as each one rose to prominence, there were always those crying for people to engage with their ads ("If you don't click on one of my ads, I'll be forced to shut my site down!"). But the web remains.

And that's part of why I titled this the way I did. Even if the commercial web went away (which, let's be honest, it probably won't), it wouldn't be the end of the world: many sites which rely on [donations]( or [subscriptions]( would remain, as would [storefronts]( and sites that support [physical]( [things]( Plus, there are still many sites which are run more-or-less as hobbies, paid for by the people [who run them]( And, despite what the anti-blockers would say, there are [other successful revenue models out there](

So, if you are a blogger or news site who is concerned about how this change will affect your bottom line, you have my sympathy: not because I block your ads (which I do), but because you put your faith in a fundamentally flawed business model (and believe me, [you aren't the only one]( If, however, you think I'm wrong, then I encourage you to take the next obvious step and start blocking (or [Comic Sans-ing]( users who run ad blockers. If your content is worth viewing ads for, then people who run blockers will turn them off just so they can see it. But be prepared for the horrifying truth: when people have to actually pay for something (either with their eyeballs and "unblock" buttons, or with cold-hard cash), your site may not be good/interesting/original enough to actually generate revenue. Again, you have my sympathy... but not my cooperation.

[It has recently been asked]( what the web might have looked like if the ad-based model had never taken off. Since we can't rewind the clock, we can't know for sure what course history may have taken in that instance. But if we keep running ad-blockers long enough, we may yet find out.

_EDIT: Fixed a typo, added a link._


How Kim Davis's Response Sounds to an Atheist / Agnostic

2 min read

Kim Davis, the KY clerk that [refuses to do her job (and is in court today to answer for it)]( issued [a statement]( yesterday defending her inaction.

I thought it might be instructive to swap out her personal imaginary friends for some others that people used to worship, and see how well her argument holds up.

Alternate reality Kim Davis's statement:

> In addition to my desire to serve the people of Rowan County, I owe my life to Baldur who loves me and gave His life for me.... I never imagined a day like this would come, where I would be asked to violate a central teaching of Scripture and of Thor Himself regarding marriage. To issue a marriage license which conflicts with Wotan’s definition of marriage, with my name affixed to the certificate, would violate my conscience. It is not a light issue for me. It is a Ragnaork decision. For me it is a decision of obedience. I have no animosity toward anyone and harbor no ill will. To me this has never been a gay or lesbian issue. It is about marriage and Wotan’s Word.


Anti-GMO Scaremongering

1 min read

> The people who push GMO labels and GMO-free shopping aren’t informing you or protecting you. They’re using you. They tell food manufacturers, grocery stores, and restaurants to segregate GMOs, and ultimately not to sell them, because people like you won’t buy them. They tell politicians and regulators to label and restrict GMOs because people like you don’t trust the technology. They use your anxiety to justify GMO labels, and then they use GMO labels to justify your anxiety. Keeping you scared is the key to their political and business strategy. And companies like Chipotle, with their non-GMO marketing campaigns, are playing along.

[Unhealthy Fixation](, William Saletan


Fatigue and Mastery

1 min read

Tero Parviainen (@teropa) has a nice piece about [Overcoming Javascript Framework Fatigue](, but don't let the title fool you - much of the advice can be applied those who work (and live) in most any rapidly-evolving field. Plus, it contains [one of the best quotes]( from Rich Hickey (@richhickey, the creator of [Clojure]( about what skills a developer really needs to have (and those skills have nothing to do with preferred language or framework):

> Programming mastery has little to do with languages, paradigms, platforms, building blocks, open source, conferences etc. These things change all the time and are not fundamental. Knowledge acquisition skills allow you to grok them as needed. I'd take a developer (or even non-developer!) with deep knowledge acquisition and problem solving skills over a programmer with a smorgasbord of shallow experiences any day.

Via [HTML5 Weekly](


RSS & Atom Making a Comeback?

1 min read

[Baldur Bjarnason thinks he knows]( why RSS and Atom have come back into vogue, powering both Apple News and Facebook Instant Articles after years of disuse:

> There’s one thing that’s very different this time around for RSS and Atom and it’s the reason why this time it might be different. Back then ‘just the HTML, no CSS, JS, or Flash’ meant nothing more than rich text with images.
> Now, ‘just the HTML’ means rich text, video, audio, SVG, and more. While at the same time ‘HTML with CSS and JS’ has come to mean slow loading websites full of annoying ads and broken functionality (i.e. scroll-jacking).

It's that last point (again) that's the most important, IMHO, but it's also the one that seems to be [falling on deaf ears](


On William Gibson and Cyberspace

3 min read

I've been on vacation for the last couple of days, and have used some of the time to finish reading William Gibson's excellent "Sprawl" series.

I actually read the first book in the series, _Neuromancer_, some 14 years ago, and always meant to get back to it, but just never did. Then, about 2 years ago, I re-read _Neuromancer_ and dove straight into the second book, _Count Zero_, before again losing momentum and abandoning the series. While packing for our vacation, I happened across my copy of the third and final book in the series, _Mona Lisa Overdrive_, and I made the decision to use this vacation as an opportunity to finally finish reading the series, a feat that I accomplished just yesterday.

First, I have to say that I loved the book. You can tell that Gibson's style got more focused as the series went on, making each book better than the last. Also, the series fits his style well -- he has a habit of creating apparently unrelated strands of storytelling, featuring characters that don't seem to have anything to do with each other, and bringing them together in the climax. In that way, _Mona Lisa Overdrive_ serves as the climax of the series itself, bringing apparently unrelated characters and story elements from the first two books together (along with some new ones) into an explosive ending.

Much of what I like about the series are the background elements, like the way he describes the sprawl and the histories of his characters. But, most of all, I love the idea of [cyberspace](

> Cyberspace. A consensual hallucination experienced daily by billions of legitimate operators, in every nation, by children being taught mathematical concepts... A graphic representation of data abstracted from the banks of every computer in the human system. Unthinkable complexity. Lines of light ranged in the nonspace of the mind, clusters and constellations of data. Like city lights, receding.

As a computer nerd whose been into networking information and virtual worlds since the days of BBSing (and through into MUDs, the web, and even [OpenSimulator](, for a little while), the notion of connecting to digital realms directly via ones own mind has always appealed to me. In fact, one of the most depressing things about the books, to me, is that in the nearly 30 years since they were published, very little of that technology [has come to pass](