Week 1 @ AWS

Today is the last day of week 1 at AWS, and it has been fun, exciting, exhausting, overwhelming, intimidating, and all the other adjectives.

Here’s a few of the things I’ve learned:

The “Working Backward” approach to solving problems is like test-driven (or doc-driven) development. Documenting where you want to land, and then working backwards to figure out how to get there, is something that got me excited about test-driven development (TDD) when I was  Perl geek, and when I was a PHP developer. Using this same technique to plan everything else is an obvious (in retrospect) extension of this way of thinking, and just makes so much sense to me, once I figured out what people were talking about.

Amazon strives to be a “Day One” company, which means we’re always innovating, taking risks, and thinking about the long term, rather than settling into “Day Two”, which is where everything is decided, and we’re just turning the crank. I made the mistake of saying, on my first day, that I was looking forward to day two.

I was swiftly corrected by my new colleagues on my faux pas.

I am surrounded, at Amazon, by people I already know. This is, in part, because the tech industry is really incredibly small. It’s also because my path through tech has brought me into contact with the very best people in the industry. Some of those people were colleagues at Red Hat, of course, and some are here at Amazon. It’s been really cool, especially, to reconnect with some old friends from the Apache Software Foundation, who I did not know were here. And apparently there’s a lot more of them. I will, of course, miss my awesome colleagues at Red Hat, although I expect I’ll keep seeing many of them in the usual places, as I’ll still be going to many of the same events.

For the folks asking what I’ll be doing – I’m an “Open Source Evangelist”, which, while I’m not really fond of the word Evangelist in this context, means that I’ll be a cheerleader for open source. This is both inward-facing – helping AWS engineers know how to engage with open source projects, and be good citizens – and outward-facing – talking about the great stuff that AWS engineers are doing in those projects. These two aspects work together, of course. We have to be good citizens to build trust, and we have to have that trust in order to do our job effectively.

For folks asking what AWS is, well, it’s something you use every day and, likely, don’t think about it. When businesses want to host something on the Internet, but don’t want to build a data center, buy and manage computer servers, hire system administrators, and pay to power, cool, and feed all of the above, they use AWS to provide those services, and then they’re just responsible for the actual content that goes out onto the Internet. A huge percentage of the websites that you use on a daily basis are actually hosted on AWS, and you’re never aware of this because it Just Works.

For folks that are just happy for me, thanks. I have hugely appreciated all of the people who have reached out to me to congratulate me on this position, ask about the job, and just generally be happy for me.

Moaning Dolsnara

I had  a bizarre and elaborate dream.

In the dream, there is a movie called Moaning Dolsnara, which is an objectively terrible film that has become something of a fan favorite due to reasons that will become evident.

In the movie poster, there is the cliched murder scene tape outline, and a stack of books. The top book is named Moaning Dolsnara, the title of the movie.

The plot of the movie is that there have been a series of bizarre and brutal murders, and at the scene of each murder is left a murder mystery book, featuring the exact murder that has been enacted.

As the murders progress, and these books are found (each with a different author) a famous actress, played by a famous actress, becomes convinced that she is going to be the victim of one of these murders. Why she believes this is left very vague. She hires a private investigator to figure out the list of books, and, thus, who, where, and how the next murder will occur.

The PI is inept, and the murders continue. The PI has a sidekick, who, it turns out, is the actual brains behind the outfit, and keeps trying to convince him that things are not as they seem.

The murders continue.

The audience, of course, knows what the final book is – it’s this Moaning Dolsnara book, and there are many, many clues, overlooked by the PI, that lead the trail both to that book, and to the murderer.

However, in a last minute twist, the PI is murdered, brutally, in a way not foreshadowed by the titular book, and we discover that, in fact, the actress is the author of all of the books, under various pseudonyms, and this has all been an elaborate, if twisted, PR campaign for her upcoming book, which is, of course, found on the corpse of the PI in the final scene. She gets away with all of it.

This movie, which is, as I said, objectively awful, becomes an underground favorite, because of all of the fan theories about the list of books, what the final book actually was, and various other misleading clues throughout the movie. But, mainly, it becomes popular because the actor who played the PI is murdered in a bizarre and gruesome way shortly after the filming is finished.

Which is where I come in. In the dream, social media has just discovered me, because I look exactly like the actor who played the PI. The actress has contacted me to ask me to make an appearance on a book tour for her upcoming book. Meanwhile, the actor who played the brilliant sidekick has contacted me to warn me that all is not as it seems.

Being me, I have not seen, or even heard of, the movie, and I don’t know any of the actors who are in it.

In the dream, I am trying to explain all of this to my wife. However, we have guests. A family friend, and his kids, are at our house. My son is also there. There is general chaos and bedlam, and I cannot get a word in. And, to make it worse, my wife is angry at our friend, and keeps leaving the room every time I try to explain. Our son is angry because I won’t finish the story when she is out of the room, and he is the only person in the room who is actually interested in hearing the story.

This is the point at which I woke up.

I think this would make a great movie.


Open Source Transcription

Today I started looking for a command line, open source, audio-file-to-text conversion tool.

Given that CMU Sphinx was available in the 1990s, it feels like, by now, there should be something of this nature. So I went to Google and started looking for open source speech-to-text conversion tools.

There’s certainly no shortage of projects.


It certainly appears that all of these systems are designed by researchers, for researchers. They do not expect mere humans to be able to use them yet, and so the documentation is heavy on technical detail, and light on … y’know … actually using it.

Vosk appears to be the best, but that’s only because it’s literally the only one that I could get working. The output seems to be JSON, and I am not yet sure how I would actually use it in real life, for an actual recording.

Julius looks promising, in that it’s actually packaged for Fedora, but the documentation is not particularly helpful, and the command line help, while copious, is completely unhelpful, because it assumes that you are already an expert and know all the jargon. I kind of feel like Julius would be the best option, if I had someone to show me how to get started.

DeepSpeech2 (Now actually called PaddlePaddleSpeech) also looks like it would be exactly what I want, if the actual software did anything like what the documentation suggests. Unfortunately, I was not able to get through the installation.

It is notable that all of these tools refer to themselves as toolkits, rather than applications, or anything else that would indicate that it could be used to actually convert speech to text in a daily workflow.





Trying stuff …



  • Not in Fedora
  • Not … anywhere. Have to install directly from GitHub, which is … not awesome, but trying it …
  • … yeah, gonna move this to the bottom of the list. The INSTALL file is very off-putting.

Might come back to this later if everything else fails.



  • It’s in Fedora, so that’s a good start
  • Easy to install, and extensive help
  • Seems to assume that you know a lot about voice recog, but …

First try:

julius -input file -filelist donna_audio_only.wav ERROR: m_chkparam: you should specify at least one LM to run Julius!

Ok, what’s an LM?

Last update do the docs … 3 years. Uh oh …

Readme, at https://github.com/julius-speech/julius , is completely inscrutable. sigh Ok, moving along.



  • Not in Fedora.
  • Github is pretty accurate, but … the project appears to have redirected to a new home

Um …

I have literally no idea where to start. Moving along.


This one also is apparently now a different project, called PaddlePaddleSpeech


The Readme suggests that this is exactly what I want:

paddlespeech asr --lang zh --input input_16k.wav

So, here goes…

Of course, it’s not in Fedora, but it’s in Python, so it should probably Just Work, right?

git clone and there is not, of course, any actual executable or script named paddlespeech, so apparently the docs are oversimplifying something.

https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/docs/source/install.md looks like a promising place to look …

conda install -y -c conda-forge sox libsndfile bzip2

Um … ok. Installing conda

Next, I need a C++ compiler … so the initial note that this is in Python was in error.

And once Conda is installed, I get:

NoBaseEnvironmentError: This conda installation has no default base environment. Use 'conda create' to create new environments and 'conda activate' to activate environments. 

So I’m already deeper in this yak stack than I really want to be.

There’s also a docker option, but this has literally never actually worked for me, so … let’s try the next thing.

This is very disappointing, because this looked the most promising so far.


I followed the instructions at https://alphacephei.com/vosk/install

pip3 install vosk

And then ran the “Usage example”

git clone https://github.com/alphacep/vosk-api

cd vosk-api/python/example

wget https://alphacephei.com/kaldi/models/vosk-model-small-en-us-0.15.zip

unzip vosk-model-small-en-us-0.15.zip

mv vosk-model-small-en-us-0.15 model

python3 ./test_simple.py test.wav

Amazingly, this worked. However, the output is awful:

A million of these:

{ "text" : "come out be happy to israeli set up another time for that i'd be happy to rich thanks for the chat and i have fun putting that together think you are a bank so i only look forward to talking to region by it out" } 

I’m not sure how you’re actually supposed to use it in the real world.

The output is close-ish to the actual transcription, but is in a format that will make it hard to use. But it’s promising, and I’ll come back to it if nothing else works better.


Not in Fedora, of course.


Installation instructions includes 7 sections:

3.1) Creating a virtual environment [Optional]
3.2) Install tensorflow backend
3.3) Install sph2pipe, spm, kenlm, sclite for ASR Tasks [Optional]
3.4) Install horovod for multiple-device training [Optional]
3.5) Install pydecoder for WFST decoding [Optional]
3.6) Install athena package
3.7) Test your installation

That’s a no from me. Too many moving parts. I’ll come back to it if all else fails.


I think I’m going to try to use Vosk to script up something that gives me a starting point, and work from there. It’s discouraging that 30+ years on from CMU Sphinx, this is still the state of the art, and that people are generally split between “Outsource it to these folks, they do good work” and “You should use Dragon Naturally Speaking.”

FWIW, Dragon, also isn’t awesome, and is particularly bad when there’s more than one voice on the recording.



2021, for me, was a year overwhelmingly about one blog post.

On December 8 2021, I posted this blog post:

https://blog.centos.org/2020/12/future-is-centos-stream/CentOS Project shifts focus to CentOS Stream

This ignited a firestorm that has raged all year, with articles almost every week about what we could have, should have, or might have done differently, and what the fallout will be for the coming years, for Linux, Red Hat, IBM, and technology in general.

There have, of course, been a LOT of tech controversies this year, but this is the one that I was responsible for.

To summarize:

CentOS Linux was a thing that a lot of people cared about. We changed it with an announcement of a new model, back in September of 2019. However, due to … reasons … the majority of the world missed the implications of this announcement until it was shoved in their faces in December of 2020.

That is, of course, largely on me, as it was my job to promote this new model. It is also, of course, on other people, since the notion that we would eventually switch entirely from the old model to the new model, while COMPLETELY obvious to anyone paying attention, wasn’t obvious to the majority of the user community, who had other things to be worried about.

2021, for me, was about rebuilding trust. The Dec 8 2020 announcement was, like I said, the obvious outcome of the September 2019 announcement. But when you give people something for free for 15 years, it’s reasonable for them to assume that you’ll keep doing it for another 15 years. We definitely could have handled that better. But, as Steven King says, the past is obdurate.

Today – 2021-12-31 – is the final day of CentOS Linux 8. And, frankly, the time had come for a new model. I think everyone is in (almost) universal agreement that CentOS Stream is a good thing. This was never about that. It was about how we messaged it.

Surprise, the wisdom goes, is the opposite of engagement. We surprised the user community.

It’s fine to say that they *shouldn’t* have been surprised. Y’know, if they had been paying attention. But we spent 17 years training them *not* to pay attention. CentOS Linux was thus, and would always be thus, we implied. Never, ever, promised. Never stated. Never guaranteed. But implied. And so people built their businesses – their livelihood – around that implied promise.

So, sure, we never promised. We always were very clear that we lived and died at the whim of RHEL engineering.  But, of course, to some people, that was, in fact, the promise – that we would forever live in that space where we rode on the tailcoats of RHEL.

And, so, as we go into 2022, I’m definitely proud of some of the things we’ve accomplished in 2021. We have moved from being just a clone of work that others do, to being a community that encourages participation.

It’s important to note, there have always been a core of passionate, dedicated contributors, but that they couldn’t change the base platform without compromising the definition of the project as a 1-1 clone of RHEL. Those people kept the project going for 17 years, and I don’t want, in any way, to downplay their contribution.

We have added several important new SIGs in 2021 – Automotive, Infra, KMods, Documentation, and Hyperscale.

And we have rewritten the governance of the project so that I can, today, really say that this is an open project. This is the thing that I’m most proud of.

And, again, I don’t want to downplay the work of the CentOS Core team for 15+ years – they were doing awesome work, in their weekends-and-evenings, without any financial support. But they were, for the most part, doing so without any real input from the larger community. Not because they didn’t care, but because their mission – produce an exact replica of the RHEL distribution – didn’t require community input in any meaningful way.

In 2021, we have made the board process more open (public board meetings and an open nomination process for board membership) and made the board less Red Hat centric. This is, probably, my biggest accomplishment in the past year. And I’m hugely proud of that, and appreciate the help of the entire board in that process, especially Jim Perrin, Brian Exelbierd, Carl George, and Karanbir Singh.

Edit/Correction 2022-01-31: Carl is not a Board member, but has been very active in crafting and disseminating the message around CentOS Stream.

We also saw the rise of the “competing” RHEL rebuilds, and, frankly, I think this is a net win for the Linux ecosystem as a whole. Between Alma and Rocky, the “we build stuff on top of RHEL” ecosystem is stronger than it has ever been.  Alma has been, for the most part, cooperative and friendly, while Rocky has been built mainly on a platform of “Red Hat betrayed us and WE WILL HAVE OUR REVENGE”, but I am encouraged about how this conversation will become more productive in 2022.

Of course, I must mention Jack, who has been a breath of fresh air this year. Sometimes you encounter people who are too genuine, too sincere, and you question whether it’s for real? Jack is one of those people. And over the course of 2021, it has been clear that he is for real. He cares about community. He cares about the people that work and live and depend on our technologies. He is genuine. And, let’s be frank here – that’s not common.

And, so, I say goodbye to the most difficult, stressful year of my professional career (at least, I certainly hope so), and look forward to the coming year. I think we’ve done good things in this difficult year, and that it will bear fruit in the coming year.

The unsung genius of MTG’s writers

I’ve been thinking a lot about a recent tweet by Marjorie Two-Names:

I’ve long held the belief that Racist Barbie is playing a role, but this specific tweet brought me new appreciation for the people who are writing her lines. Every part of this tweet is crafted to offend someone, and stoke the hatred of someone else. I’m frankly in awe.

You can almost imagine her writing staff, having crafted this nugget of hatred, just waiting for the right opportunity to respond to someone with it. And the College Republicans obliged. Young, idealistic, eager to change the world. And ideal, with their 72k followers, for the Queen of Qanon to poison their idealism.

First, she calls Kwanzaa a “fake” – dismissing all of the celebration of African American culture as nothing more than a fabrication, designed to pretend that our African American brothers and sisters have their own identity separate from America as a whole.

And, really, isn’t it “fake” in some sense? I mean, in the sense that all holidays are made up. On a scale of July Fourth (ie, actual historical event that didn’t happen on July Fourth) to Talk Like A Pirate day, Kwanzaa is kind of a Mothers’ Day of realness, right? A celebration created to celebrate a concept. Is that “fake?” Sure, if you hate the concept, it is!

Next, she calls it a religion – which, obviously, it isn’t – so why does she do this? Because she wants us to believe that the African American identity is a cult – an anti-Christian, anti-American system of belief that we must fight. She wants to frighten good, god-fearing, decent white Christians with the doubt as to the motives of these subversives. How dare they subvert Christmas with this kind of anti-white propaganda?

Next we have “created by a psychopath”, which is just a whole rabbit hole of racism. There’s the narrative that Kwanzaa was created by the FBI, which is a truly fascinating pit of conspiracy. There’s the notion that Maulana Karenga’s pan-African movement in the 1960s was anti-American, and that it has anything to do with how Kwanzaa is celebrated today, or, more specifically, that anybody that celebrates Kwanzaa today is intent on overthrowing the government.

But, by calling it a religion, she subtly implies another one of her common themes – that this is really an arm of radical Islam, which is dedicated to destroying decent (ie, Christian) world views. The Faux News audience will likely assume that the psychopath to whom she refers is Mohammed, right?

It’s a lot to pack into 8 words, and that doesn’t even go into the notion that the College Republicans’ only legitimate purpose is to bring in new voters.

She has offended people who enjoy Kwanzaa, and also people who think that it’s a distraction from actual African American identity. She has offended white Liberals who know nothing whatsoever about Kwanzaa but feel like they should, and that they should defend it.

She has got people writing articles about this rather than about actual real things that are happening in the news.

She has drawn attention to Kamala Harris and her … somewhat questionable? tweet about celebrating Kwanzaa as a kid, before it had been invented.

She has emboldened folks who hate all this diversity crap, and who want an excuse to dismiss African American identity.

She has annoyed African Americans who don’t observe Kwanzaa themselves, due to its hyper-politicized roots and Karenga’s questionable life choices.

And all of this from a person who has again and again demonstrated that she is an ignorant, racist moron who loves controversy. So … yeah, she’s totally doing her job.

But who’s writing this stuff? Someone put that sentence together, and one has to respect the dedication of packing that much racism, hatred, and misinformation into 8 words. I wouldn’t be at all surprised to discover that her writing team is composed of people who The Onion laid off when writing this kind of absurdist mishmash of tropes wasn’t funny any more because the actual President was saying worse from the Oval Office.

The GOP identified a Senate seat that there was no chance of losing, and put someone in it who is as loud and divisive as possible specifically for this purpose.

And what is that purpose, you ask? Simply stated, there are two purposes.

One, to “trigger the Libs.” To make their political oponents angry about inconsequential things, so that they aren’t spending time on thing that actually matter, and that they could win.

Two: To get the cheers of their so-called “base” – the white-supremacist, culturally-Christian, poorly educated lower/middle class who keeps voting for these morons, consistently against their own actual personal interests, out of hate of other and fear of change and of losing their precarious status quo.

She isn’t in the Senate to govern. She is there to say the insane things that respectable Senators (are there any of those left) cannot say without jeopardizing their seat. And here she is, doing her job again.

I can hardly wait to hear what she says on January 6th.

Christmas Carol reading, Dec 17 2021

I will be doing my almost-annual reading of Charles Dickens’ wonderful book, A Christmas Carol, on December 17th at 7pm, at the Bowen residence. (In person attendees must be fully vaccinated.)
You can participate online:
To join the video meeting, click this link: https://meet.google.com/miv-ukhw-wku
Otherwise, to join by phone, dial +1 631-522-4672 and enter this PIN: 979 262 939#
To view more phone numbers, click this link: https://tel.meet/miv-ukhw-wku?hs=5
We will have light refreshments, so please let me know if you’re coming, so that we can plan accordingly. Thanks.

List, Known, Stats

List, Known, Stats

(Via Weekend Wordsmith: https://twitter.com/WkendWordsmith/status/1455444 574227374082)

I made a list.
Several, in fact,
and a spreadsheet.

I calculated and compared
amortized and weighed all of the
numbers and stats,
looking for the right answer.

Is this the right thing?
Is there a right thing?

Turns out
life doesn’t consist
in what is known,
but rather in what is guessed.
One unknown carefully balanced
against another,
we pretend we can tell
which one would fall.

Sexism in Sci Fi

I’m reading “the queen of air and darkness” by Poul Anderson, and I’m struck, certainly not for the first time, by how often science fiction authors choose not to question sexism in human society.

The job of the science fiction author, after all, is to question everything. From relativity, to the presence of non-human species, to the notion capitalism or government or whatever. But more often than not, science fiction hold on to the notion that men run Society, and women are the followers.

I just read the phrase “she’s one of the three women ever admitted to the Club” – a phrase that I expect in Dickens or Isak Dinesen or Somerset maugham, but not in futuristic science fiction.

I recognize, of course, that it’s a function of its time. Poul Anderson was writing in a time when these things seemed unquestionable. But he questioned light speed travel, and assumed that we would eventually have colonies on other planets.

It’s just fascinating to me what the human mind is capable of questioning and what it assumes as immutable fact.

This is also one of the reasons that I enjoy Tad Williams and NK Jemesin and other contemporary Sci Fi writers who do throw out all of these preconceived notions.

I wonder, though, what a reader Thirty or forty years from now will say about the writers of today, and the things that they seemed unable to challenge.

What happened to Rackspace?

After 20 years as a Rackspace customer (Slicehost before they were acquired by Rackspace) I had my first negative customer experience today, and it seems like something has changed.

I attempted to delete a Cloud Server, and got a dialog that I need to call support (like, on the phone, like a cave person) to delete a cloud server. I mean, isn’t the whole point of cloud that it’s on demand?

So, I call, and after 10 minutes on hold, I get a support person who demands that I justify deleting the server instance. And then tries to talk me out of it like this is 1993 and I’m canceling AOL.

I FINALLY convince him that I want to delete it, and he says it’s policy that I leave it running for another week to ensure that there’s no data going to/from it. I said, I’ve already done that, because I’m a responsible sysadmin. But that wasn’t good enough.

So I shutdown -h now the thing, and and he still insists that it needs to run for another week (which I would, of course, pay for) just idling, to prove that it’s idle.

Finally, he opens a ticket, and then tells me I have to comment on the ticket “Yes I agree” before he can then action that ticket, and finally deleted the server.

BUT THEN, I discover that I have a “Cloud Files” instance with backup files going back to 2013 which I’m paying for, and the only way to delete them is ONE AT A TIME via a web interface. I am not making this up. You can, in fact, “select all” in the interface, but since it only displays 100 files at a time, and there are tens of thousands of files, this is going to take me the rest of my life.

So … for whatever it’s worth, I’m a happy Hetzner customer now. But, of course, in order to delete my Rackspace account, I’m going to have to call them again …


I’m feeling an awful lot of rage today for the people who consciously chose this reality that we are in right now. People who continue to choose it day after day.

People like Rand Paul who pretends to be a doctor while undermining medical wisdom.

People like Mitch McConnell with his “it never occurred to me” lies.

People like Donald Trump who put his own “only I can fix it” brand of ego ahead of helping the people that flocked to his hate-filled rallys.

People like the Kentucky State Legislature who, even today, are creating laws to put us in greater harm and sacrifice our children to their politics.

People like Tucker Carlson, who preach their lies to a captive audience of millions in order to improve ratings.

And for what? Profit. Ego. Personal power. And most troubling, specifically to make people they disagree with suffer.

Today, I can’t take my kid to something she wants to go to.

But much more importantly, hundreds of people will die today, most of them because they believed a lie that was consciously, intentionally told, by people who were in a position to, instead, prevent it. For the most part, the victims’ only crime was being gullible. The real culpability lies with powerful people who have the means to avoid the consequences of their actions.

It’s disgusting and evil. And knowing that the people that have done this will see absolutely no repercussions for their actions isn’t doing anything for my mood.

The Margin Is Too Narrow