Statements About Questions Are Not Questions

Statements About Questions Are Not Questions

Here’s a pet peeve of mine: the use of a question mark when you are actually making a statement about your query or curiosity.

For example, I wonder if it will rain tomorrow. Note the lack of a question mark.

Most would write, “I wonder if it will rain tomorrow?” This isn’t a question, it’s a statement.  I wonder if it will rain tomorrow.

If I’m asking a question, I would frame it this way:

“I wonder, will it rain tomorrow?”

I’ve asked an actual question, and therefore I use a question mark. So why does this bother me so much?

Because it’s a sign of intellectual laziness, not of just one person, which is bad enough on its own, but of English speakers as a whole. If people keep doing it, it will become part of the definition of the language to do this, but it flies in the face of logic. The fact that this is a happening isn’t so bad on its own, but it is symptomatic of larger flaws in our society, a sort of erosion of the principles of reason in what we sometimes tout as the Age of Reason.

When I told a friend about my concerns, she said, “My English teacher insisted that was a question and needed the ? mark.”

I replied that her English teacher was quite wrong, and here is why:

The sentence structure belies that. If you replace the object, subject and conjunction but retain the grammatical structure of the sentence, you can derive something like, “I depend on it to rain.” It’s still not a question, and the sentence structure is not a question. There’s no querant in either case. Simply stating “I wonder” does not make it a question, any more than using any other verb in that sentence structure. It’s a statement about wondering, not a question in and of itself.

The word “wonder”, in this case, is a subjunctive verb. The English subjunctive is a special, relatively rare verb form that expresses something desired or imagined. We use the subjunctive mainly when talking about events that are not certain to happen. For example, we use the subjunctive when talking about events that somebody wants to happen, or anticipates will happen.

Statements do not get question marks, therefore the sentence “I wonder if it will rain tomorrow” does not get one. Q.E.D.

The counterpoint to this is that there is a difference between expository writing and dramatic writing. The question mark indicates the tone of the speaking character’s voice, because the character does indeed intend it to be a question.  My friend Joseph Ksander commented:

“This is not a spoken english problem, but a written one. ‘I wonder if it will rain tomorrow’ is in the first person, and has narrative value. And one would argue that the tone of the statement is interrogative (it absolutely is). So when writing, especially in narrative, we are allowed a certain amount (quite a lot) of poetic license to give words and phrases meaning beyond the literal. By giving ‘I wonder if it will rain tomorrow?’ an interrogative mark, we give the reader a hint of how it would sound coming out of a character’s mouth. It has the feeling of a question, and writing is at least as concerned with creating feeling as it is with conveying meaning.”

There is, as Joe points out, a difference between the written word and the spoken word, and using the written word to illuminate the spoken word.

I doubt that my words will have much of an affect. One can only hope that reasonable voices are occasionally heard, but Joe is right, it all depends on context.

I wonder what will happen.

Forcing Centovacast to Use LetsEncrypt Certificates for SSL

Forcing Centovacast to Use LetsEncrypt Certificates for SSL

Starting with What Made Sense

So the Krypton Radio web site has to go full SSL now because most modern web browsers (read “Google Chrome”) won’t let people visit without warning them that your web site will slay your children in their sleep if you don’t have an SSL certificate on it.

This is frankly just Google messing with our heads, for the most part. A site that does not handle money shouldn’t have to worry about this. All the monetary things we need to do are handled by external sites that actually are secure. But I digress.

So our first assumption was that we could just buy a cert from, install it on Centova, Icecast and our main web server and we were probably good to go.

And then everything collapsed.

What We Did First

I went to create our private key and Certificate Signing Request. After a few tries, I finally was able to use CPanel to generate this, adding in wildcard domains for every domain we wanted to cover. This is a completely legal thing, and you can buy one certificate to handle as many domains as you want.

If you actually buy it through CPanel, though, you can’t. It’s one domain per cert, and $30 per cert. Buying it through your registrar, though, is a lot cheaper.  If you own ten domains, you can easily spend a bundle doing this, and there’s literally no reason for it. Shall we spend 10% of the cost Cpanel wants us to spend?

Yes. Yes we shall.

Mind you, the only reason we’re doing that is that when we started all this there was no such things as Let’s Encrypt, which is a free secure certificate signing company.

The only catch to certificates you get from Let’s Encrypt is that the certificates expire after 90 days, so it’s kind of a problem if you want to use them with a mail server. Every three months your users will have to accept a new SSL certificate to get their email, and trust me, it wigs them out. Most people can barely operate the send button.

That Utterly Failed

No matter what we did with the certificates supplied to us by, Centovacast hated them. The installation script provided by Centova (your installation will tell you that the script lives at /usr/local/centovacast/sbin/setssl) just barfs on it every time.

The instructions provided by Centova say to get Apache credentials. This is wrong. You need credentials for something, but whatever it is, it wants a .pem file, and whatever is supposed to be IN that .pem file isn’t documented.

If you can get a .pem file, great – otherwise, you’ll have to do a massive workaround.

The Icecast Connection

So that’s when we figured out that Icecast, the Centova main panel , and WordPress all needed to be set up with certificates, and that not all of them were going to be able to use the same ones.

Here’s the instructions I found on how to do that for Icecast.

Note with particular attention that they’re talking about putting the private key, the public key, and the authority chain all in one file. I found a BBS topic on how this should be done, specifically with Let’s Encrypt.

(By the way, the whole point of a private key is that it’s supposed to be private. Why are they asking you to do this??)

The Centovacast Connection

I never got the certs I bought working with Centovacast, and self-signing isn’t an option, so I went ahead and asked the Centova Utility  at /usr/local/centovacast/sbin/setssl to create the certs for me using Let’s Encrypt.

To do that, you need to set up a directory alias on a web server on the same domain as Centovacast to serve up the validation files Let’s Encrypt needs to prove that you’re who you say you are.

The instructions say to use a specific block of code to define the directory alias that points to where those validation files are held on the server, but it says nothing about where in your Apache file to put them.

You’re going to need to set up your aliased directory so that the same domain that handles your Centova server is being served as a regular domain or subdomain on port 80, which is the standard port for serving web pages.

In my case, I had a subdirectory called ‘station’. I had to create a server alias so that that subdomain was included in the list of other servers my main vhost listing handles for me, so that my Centovacast subdomain and my main one are really being handled by the same vhost. This saved me from having to set up a complete separate vhost just to handle this one fricking problem.

It also gives the incorrect code to insert in the first place. Forget what they say in their article. Here’s the correct code:

Alias /.well-known/acme-challenge /usr/local/centovacast/etc/ssl/acme-challenges

<Directory “/usr/local/centovacast/etc/ssl/acme-challenges”>
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
Require all granted

# Apache 2.x
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all

# Apache 2.4
<IfModule mod_authz_core.c>
Order allow,deny
Require all granted

Big question: Regarding the ‘setssl’ utility, why put broken code in a utility, and then write documentation that pretends it works? Again?

Centova is notorious for this.

When we fixed all of the above basic configuration with the Apache server to satisfy the needs of LetsEncrypt, we found that the setssl script was changing permissions on the target file folder such that it would return a 403 error.

That’s right, the Centova utility script that installs the certificate intentionally breaks the process so that it can’t finish.

Insert the change in the chmod instruction that alters it from 750 to 755.

For some reason this bug has been in there forever, and Centova’s never fixed it. They say the answer to this problem is to make the user that the Apache server runs under a member of the ‘centovacast’ group, but in my experience this didn’t work and I got a 403 error no matter what I did later.

Anyway, here’s the code to modify:

if [ ! -e “$challengepath” ]; then
mkdir -p “$challengepath”

chown root.centovacast “$challengepath”
chmod 0755 “$challengepath”

testcontent=”test-$(date +%s).$$”
echo “$testcontent” > “$challengepath/$testfilename”

#(In later versions of the code, these two lines are missing entirely. If they’re present, make the change to the chmod parameter as shown).chown root.centovacast “$challengepath/$testfilename”
chmod 0755 “$challengepath/$testfilename”

Once I patched my copy, I set the file permissions on it so that future Centova updates couldn’t revert my changes, like they did the last three times.

You’re Not Out of the Woods Yet

It’s not enough to get Centova itself running on an SSL certificate. Now you have to get IceCast itself working with SSL, which for some reason is a separate task, and any attempt to link to an unsecured stream from a secured site will make web browsers claim your site is not secure, thereby defeating the whole point of having a certificate in the first place.

So the trick here is, you will probably have to create a new listen socket beyond your default. Centova, by default, set you up on port 8000. I had to create a new secure port, so I moved it well up out of the way, on port 8080. All the mount points are available on both ports, but you can’t have one port be both secured and unsecured.

Your Icecast config isn’t called icecast.xml in a Centova installation. It’s called server.conf, and it’s also in a nonstandard location, which is /usr/local/var/vhosts/<your station name>/etc/server.conf.

Here are the listen socket sections from my server.conf.  It’s the top one you’re looking at. The bottom one is the default definition, and the top one is the secure one. Centova does not support the direct creation of secure listen sockets, so you have to hack this by hand.



Then finally, you’ll have to add a line in your server.conf file that loads the required SSL certificate.


Last Step

Once this is done, you can go to the Centova interface and reload the server, and it will inhale the new settings. You can test them to make sure it worked by going to https://<yourdomain>:8080 and seeing if it loads. If it doesn’t, you’re still broken, but if it does, congratulations, you now have a secure stream on your internet radio station’s business end!

Except that that doesn’t quite do it.

So it’s /usr/local/letsencrypt/letsencrypt-auto renew,

then rebuild your Icecast PEM file, then use your modified setssl script:

/usr/local/centovacast/sbin/setssl letsencrypt <your domain name>

and then after all that, you have to both restart centova, and then stop your Icecast instance completely and restart it before Icecast will use the new certificate.

Now you’re done.

What a fricking ordeal.

Things I Learned About My Ender 3

Things I Learned About My Ender 3

I’m on an Ender 3 support group on Facebook, and nearly all the comments in this group asking for help are from people who did not follow the instructions when doing the setup on their Ender 3’s in the first place. Those who are meticulous about getting the frame absolutely square and the belts as tight as they can get them without binding everything up are getting superior results.

If you’ve just bought an Ender 3, there are a few things you’ll probably want to do or try at some point.

  1. Make sure your frame is square. I’m serious. 90% of the problems you’re likely to have with your prints will derive from not having properly assembled the gantry.

  2. Make sure your bowden tube is properly trimmed (and by this I mean trimmed off exactly square) and then fully inserted into your hot end.  This one error will make your life hell. If you don’t get this exactly right, you’ll get plastic plugs where your filament heats up and jams your bowden tube, requiring you to partially disassemble your hot end and possibly trim back your bowden tube to get past the clog. Having the bowden tube properly trimmed and properly inserted mostly stops this from happening. There are “fixes” to get around the clog problem, but in general they just add additional points of failure and rarely work as well as setting up your bowden tube properly in the first place.

  3. Replace the plastic extruder clamp with a metal one. Some printers have an extruder arm made entirely of plastic. They’re cheap, usually under $20, but the filament tends to saw through the plastic clamps over time. Sooner or later you’ll want to replace it. Newer ones have a brass liner in there that stops the filament from doing that.

  4. If your printer has to live inside, get a silent controller board. This makes your printer so quiet that you’ll have to do an eyeball check to see if it’s still even printing, it’s so quiet. They’re about $40. However, these silent boards can also prevent you from making linear advance calibrations that can improve the quality of your prints, so you may find yourself with a choice of quality versus machine noise while printing.

  5. Print a fan cowling for your CPU box to keep crap from falling into your controller box through the vent fan. Newer Ender 3’s have the vent on the bottom of the controller box, so it’s not a problem – but the older types have the slots on the top. It’s amazing how much crap can fall in there.

  6. Print a muffling fan cowling for your power supply box. This will drop the fan noise made by the machine by half. Be careful – doing a poor job reassembling your fan with its new housing can make it worse, not better.

  7. Order more bowden tube, and more nozzles, and more pneumatic clamps. These things wear out, and after about four to five months of use, they’ll start to screw up your prints. You do not want to be stuck without spare parts if you’re in the middle of a paying print job and something breaks.

  8. Get a glass build plate.  Go to your local dollar store, and buy a cheap 9×9 square picture frame. Take the glass out of it, and throw the rest of the frame away. The picture frame glass is a quarter the weight of the official Creality glass bed and causes far fewer problems with Y-axis ringing due to its much lower inertia. Alternatively, go to IKEA and get a 1′ mirror tile, then go to your local home improvement store and get a glass cutter so you can cut the mirror tile down to the size of your printer’s bed. If you’d rather use the Creality build plate, don’t be afraid to flip it over and use the untextured side. It’ll leave a mirror-smooth bottom surface on your parts!

  9. Don’t use tape on your print bed. Tape is a substitute for proper bed leveling, and solves problems that haven’t existed since the introduction of heated, adjustable beds. The only time you might want to use it is if you’re using something other than PLA in your printer that sticks like mad to your printing surface, such as PETG. The tape will let you remove the part without breaking your glass.

  10. If you’re having particular problems getting your PLA to stick to the glass, try a fine mist of Aquanet. It’s cheap, and compared to fiddling with the bed leveling to get it precise to the last 0.01mm, it’s a fast solution that gets you on your way and printing parts again. Some purists think this is cheating, because you can resolve sticking issues with better bed leveling, but if you have to get the parts out the door, there’s nothing wrong with doing something quick that works so you can get on with your life.

    If it feels stupid, but it works, it’s not stupid.

  11. Buy eSun PLA+ filament for printing. It runs about 10° C hotter than the usual stuff, produces much more precise, clean prints, and costs exactly the same as whatever you’re using.

  12. Don’t grind your filament to death. One of the things that can happen if you try to drive your printer too fast, is that you can exceed the structural integrity of the filament as it passes by the gear in your extruder. If the extruder can’t feed the filament through the print head fast enough, it’ll start digging a hole in the side of the filament at the extruder head, and then you are basically and royally screwed, and your print has failed.

  13. If you think vibration damping is something you need, buy a $5 yogo mat, cut it into 1 foot squares, and put a stack of four or five squares under your printer. It will kill a lot of the noise and vibration your printer makes, and may well improve the quality of your prints.

  14. Make sure your belts are as tight as you can get them. Don’t worry, you won’t break them. Tight belts means more precise motion and better prints.

  15. Experiment with printing at stupidly thin layer heights. I started experimenting with 0.08mm layer heights, and people I show the prints to, even other 3d printer owners, are amazed that these are 3d printed objects.

  16. Special fan housings generally do very little, and on the whole don’t improve print quality enough to bother with. Minor tweaks in your slicer settings usually have a much broader effect.

  17. It is possible for an Ender 3 to not want to print because it’s too cold to start with. If your printer lives in the garage or workshop, as mine does, it’s probably not in a heated environment – and that means that it can get down to under 10°C and chill your temperature sensors to the point where the printer’s firmware thinks something must be broken, and you’ll get a MINTEMP error. You could have a bad thermister, or a bad connection trace to it on the motherboard, or a bad connector, but the first thing to try is just bringing the thing inside and letting it warm up a bit. I did this and once I got the temperature of the printer up above about 8°C, the printer realized its sensors weren’t broken, and it started right up.

  18. Get a Raspberry Pi and load it up with a webcam and Octoprint. Being able to run your printer without having to be in the same room with it is heaven. Being able to move your printer to your garage or workshop is even better.

  19. Having trouble with weird surface artifacts in your prints? Slow down. This is especially true of specialty filaments like silks or silk metallics. They are extremely sensitive to print speed, and what looks like a hopeless print may come out perfectly if you cut the print speed in half.

  20. Have to paint your prints, but don’t like the way the parts smell afterwards? Sometimes the client wants it painted, and it’ll smell bad for quite a while once you do. White vinegar will get the smell out of the painted surfaces while not endangering the finish. Be sure to rinse off the white vinegar, or your parts will smell like vinegar instead of paint.

  21. Don’t bother with vibration damping feet for your printer,or special angled mounting arms for your filament spools. By in large these do nothing but waste your time and materials.

  22. Octoprint suddenly won’t connect to your 3d printer? It could be the USB voltage levels. What’s happening is that it matters what order you connect your printer to your Octoprint device. If you turn on your Raspberry Pi and plug it into your printer before your printer is powered up, the motherboard in the printer will draw just enough power to make the voltage levels required to detect your printer as a USB device too low to actually do the job. 

    The fix is to disconnect the USB cable, power on the Octopi and the printer separately, and once you’re sure the Octopi is booted, then and only then connect the USB cable between the Pi and the Printer. Now the Pi will be able to detect the printer as a USB device, and all will be well.

Check back here periodically. I’ll be updating this list of tips as I go, and you may find out something new you didn’t know before.


3d Printing Opens Vistas

3d Printing Opens Vistas

September saw the arrival of a new Creality Ender 3 3d printer at the Krypton Radio head office. The intent was to create new things to offer as station swag and perhaps create a new line of bespoke merch, something along the lines of props and costume pieces that people might want to buy from us.

I’ve been having a blast with it, and I’m trying to find new ways to use it that will benefit the company and myself. It’s a new creative tool I can use to bring daydreams into the real world.

The Lightsaber

I’d always wanted one of these, from the first time I saw one in 1977’s Star Wars, but the goal had always been out of reach. I printed one. This is the one carried by Obi-Wan Kenobi in the first Star Wars movie. 3d printers print in layers, so there are layer lines. You just sand the heck out of it and hit it with primer, and you’d never know it was 3d printed.

I’m working on modifying this one to add electronics to it, but I may just go with a completely different design, one that already supports the idea of adding a blade.

Sabacc Gambling Coins

These replica coins from the movie Solo: A Star Wars Story were printed in black PLA, like the light saber, then painted with black primer, then I added Rub’n’Buff. I hand-sewed a bunch of bags and put 18-20 coins in each one, and gave them to friends and family when we went to Disneyland’s Galaxy’s Edge last month for Life Day on November 18.

My friends and I had a lot of fun giving them to cast members and watching their reactions, which ranged from gratitude to amazement.

I later found out that the Imperial credits were about half-sized, so I’ll be fixing that on future batches, but having bags of these was really something. I looked for a sabacc deck in the shops while I was there, but none of them had the decks in stock.

The Antikythera Mechanism

The Antikythera mechanism  is an ancient Greek analogue computer used to predict astronomical positions and eclipses for calendar and astrological purposes decades in advance. It gets its name from the Greek island off the coast of which the device was found. It was fished out of the sea in 1901, and assumed to be some kind of archeological mistake – it couldn’t possibly be from ancient Greece, could it? They didn’t have computers – or did they?

The largest piece is this one. It’s about eight inches wide, and seven inches tall, something around there. That’s what I’m currently making.

The instrument is believed to have been designed and constructed by Greek scientists, and was made sometime around 70-60 BC. It was housed in a wooden box, about 13.4″x7.1″x3.5″, and they know this because they found bits of the box around it. After conservation, it came apart into 82 separate fragments, four of which contain gears, like this largest piece.

The Antikythera Mechanism originally had at least 30 meshing bronze gears, and up to 37 gear wheels that helped the device keep track of astronomical bodies like Mars, the Sun, and the Moon. It could predict eclipses, and could tell you when the next Olympic Games were going to be. It was extremely accurate as well, correctly reporting subtle variations in the lunar orbit, for example.

The device, housed in the remains of a 34 cm × 18 cm × 9 cm (13.4 in × 7.1 in × 3.5 in) wooden box, was found as one lump, later separated into three main fragments which are now divided into 82 separate fragments after conservation works. Four of these fragments contain gears, while inscriptions are found on many others. The largest gear is approximately 14 centimetres (5.5 in) in diameter and originally had 223 teeth.

All known fragments of the Antikythera mechanism are now kept at the National Archaeological Museum in Athens, along with a number of artistic reconstructions and replicas of the mechanism to demonstrate how it may have looked and worked.

My version started as Cosmo Wenman’s rough layout model of it, about the right shape, but with technically accurate placements of the bronze gears and metal features. Wenman’s finished version makes use of a lot of post-printing texturing and paint, but I brought it into ZBrush and added corrosion detail geometry before sending it to my printer, so a lot of the details on mine will be already there when the printing is done. That will will take two and a half full days on my Ender 3 3d printer.

I thought for a while that my version might be too big, but I took a quick measurement of the main gear while it was on the printer, and yeah, it does look like it’s about five and a half inches across, meaning that the size of my replica artifact is probably pretty close to the real thing.

Once it’s done, it gets a little cleanup with a brush to remove tiny filament strings, artifacts of the printing process. Then it gets painted, and I have purchased an artist’s airbrush and compressor for the purpose. Whatever details that didn’t make it into my sculpt I can probably fudge with paint. I figure once I get going it will take about a full day to paint it properly.

The lighting here shows off the printing artifacts on the surface are going to be sanded off. There’s a lot of handwork to go before I can put any paint on this, and only a few days to go before I deliver it.

Rather than sand it all down, I used acrylic sculpting medium instead and just filled in the raster lines from the printing. Then I painted it all flat black, then airbrushed it and added some finishing touches of Rub’n’Buff to make some of the details pop. My airbrush work is – well, I need a ton more practice, let’s put it that way.

Walt Disney

At Disneyworld in Orlando, Florida, there is a sculpture garden decorated with bronzes of famous Disney characters. One of them is a bust of the great man himself. Somebody took a 3d scan of it, and converted it into a geometry file, and being the fan of his work and the man himself as I am, I had to print a copy of it.

One of these days I’m going to print a really big one. The model is actually a lot better than the resolution of my printer can cope with at this size. Still, it’s gorgeous, and I’ve given away three copies of this thing to my Disney-fan friends so far.

I’m sorry you’re not still here, Walt, The world could use you. I’m doing my best to try to follow in your footsteps, but I’m not doing it very well, I’m afraid. I just don’t have the reach you did – but that doesn’t mean I’m going to stop trying. The world needs every bit of magic we can muster.


Finally, I’m a Director

Finally, I’m a Director

This is not how I thought this was going to go.

My first director’s credit was supposed to happen 30 years ago. That’s how I saw it all happening in my head, anyway. But I quickly found out that unless you’re born into the system at the right level of connectivity, that’s just not going to happen. If you have responsibilities to anyone but yourself, it’s just not in the cards, because you can’t risk letting them down.

And so it went, until I was 61, and I was finally in a position in my life to try something, because at this point I had to try something to move forward because nothing else was working anyway. And what I did was this.

Aphrodite and Ben from ‘Mighty Aphrodite!’

I created an animated web series almost on a whim, using a machinema engine that ran on my phone. We made a Kickstarter, it succeeded, and by the time we’re done we’ll have four animated episodes, about 3 minutes long each.

Gone with the Wind it is not. But it’s real, and it’s mine, and it’s my first producer’s credit, my first writer’s credit, my first director’s credit. As small a project as this thing is, I brought this into being by sheer force of will, and with the help of my wife Susan (without whose support it wouldn’t have been possible, and without whose participation it would have suffered from a character arc standpoint), and my actor and voice actor friends, we made a thing. It’s up on IMDB now, and it gives proper credits to everyone who worked on it.

The thing is, in my 20’s I thought I was going to be a director by the age of 30. I went to film school, graduated from UCLA, concentrated on screenwriting because it was cheaper than paying for all that film lab work, and I had a bunch of friends at the time who were all going into terrible debt paying for their student films. So I got my degree and out into the world I went.

And part of it was because UCLA at the time was not all that great a film school, and part of it was because I lacked the industry connections to make any impression on anybody, but my career foundered after that, and I went into computer programming and game development instead, and it was only after years of that that I finally came back full circle. Computers were now being used to make movies with, and I sort of slipped in the back door while nobody was looking and ended up with some 30 odd film credits. Unfortunately since I was working for an often neglected department in a very large studio, I almost never got screen credit for the work I did.

No matter. I still did the work, I still learned what a world class organization looked like from the inside, I still learned what world class artists and animators did every day and if not in every detail how they did it, at least what they did and where to look things up.

And now my lifelong dream of becoming a director and writer has come to pass, but it’s on the smallest project one could imagine. But it’s a commercial project, for a company – my own company, which I founded – and there’s an IMDB listing.

What more may come of Mighty Aphrodite! The Web Series? I have no idea, but I bet we can make some waves with it once I get the fourth episode done – and then we can release them all as a single piece, a ‘fifth episode’, if you will, which will be a good solid fifteen minutes of animated narrative.

I’m certainly humbled by the entire process. I imagined myself at the helm of much greater projects than this, but starting with literally nothing but an idea, I and my friends made something happen. We moved the needle.

I’ve always wanted a home at the Magic Store. I didn’t anticipate either that I’ve have to build the Magic Store myself, nor that the roof might be made of cardboard.

This year I’m hoping to put some shingles on that roof.


Mighty Aphrodite: Animating is @#$#@ Hard Work.

Mighty Aphrodite: Animating is @#$#@ Hard Work.

This is probably obvious to everyone reading this, professionals and fans alike, but animation is hard work. I’m learning this the hard way. I’m in the middle of production of my first animated web series Mighty Aphrodite!, and I’m quickly finding out that there are a lot of hidden tasks involved in producing something like this that actually haven’t anything to do with animation at all.

It’s fundraising, yes, but after that it’s writing, and scheduling, and recording voice artists, and editing.

And then it’s design and animation (in my case nearly all the design work was done by somebody else, an artist at the company who makes Plotagon), and then you have to render it all out. It was supposed to be a short little thing, just a few quick inserts to cover things Plotagon couldn’t do.

Ben is holding a box. You can’t do this in Plotagon either.

And then reality hit. Plotagon, as neat as it is, really isn’t suited for dramatic storytelling. Not really. Your actors can stand or sit in interesting settings and talk to each other. And that’s it. No walking through the scene, no getting up or sitting down as a motion, no carrying anything, no hand props (unless you count a cell phone welded to their hand), no running, no falling down, no dancing (unless you count dancing in place doing a weird sort of Austin Powers dance move). Even something as simple as a character handing a bag of coins to another character requires special animation.

So, you do your best, and you light everything, and render it out, and then you discover that you haven’t checked your scene well enough before sending it to the render queue, and you’ve just wasted $100 of render farm resources, and you didn’t have it to spare. Vowing not to waste any more money, you render it on the one machine you have, and 216 frames takes 3.5 days. So you’re now trading dollars for time.

Aphrodite standing up from a seated position. You absolutely positively cannot do this in Plotagon.

Some people use a game engine to produce their animation. Some animate straight up in Blender, or Maya. I’m doing a hybridized approach, animating using something similar to a game engine, and then padding out its capabilities when I hit something in the script that I need to do that it can’t do. The next result is that, at most, I have to hand animate perhaps 500 frames out of the some 8000 frames that comprise the episode, which is an enormous savings of time and effort. I only have to animate about 6% of the completed episode, and while that sounds great, and it means my production costs are $300 to $400 per episode instead of $25,000, it’s still a daunting, soul sucking amount of work. The production literally owns you until it’s done.

So far my damned project is about four months behind schedule. Thank God my backers are all behind me and being patient. But boy, lesson learned. An errant line in a script can mean weeks of extra expense and production effort. I’m so looking forward to finishing this episode, so I can get to work on the next two. This is a story that needs to be told, and we need significantly more money than I got on the first Kickstarter to make it not painful to produce the next batch of episodes.

The payoff, though, should be pretty huge. I’m using Plotagon to save me 95% of my production costs and time, at least, but it’s something that isn’t likely to be spawning a hoard of imitators. My show is going to set some records, and hopefully be greater than the sum of its parts.


Who Watches the Watchmen?

Who Watches the Watchmen?

I wrote this piece a number of years ago. Since then, I have been made Top Writer on Quora for 2018, and this kind of piece I think is one of the reasons why they did that.

Quis custodiet ipsos custodes?

The phrase is Latin, and is literally translated as “Who will guard the guards themselves?”

In other words, “Who watches the watchmen?” I have encountered this for years, and I finally figured out the answer to that question.

And it’s a real answer.

The real answer to “Who Watches the Watchmen?” is, “We watch ourselves. We are answerable to our own conscience, ethics, morals and sense of duty. We can trust no one else’s more than our own.”

And that implies that we are being asked to follow somebody else’s ethics and morals without questioning them, and that’s exactly what we’re being asked to do by those very people who ask “Who watches the watchmen?” What they’re implicitly saying is that our own judgment should give way to theirs.

This argument is almost always used not in the search for truth, but in the obstruction of it. It introduces a self-referential logical conundrum that cannot be solved, thereby stopping any reasonable discourse in its tracks. By attempting to declare that there is no clear acceptable answer, the speaker implies that the opponents are intrinsically wrong, and this is a logical fallacy. An unknown solution does not imply incorrect action. It’s basically a false dilemma fallacy, similar to a loaded question such as “Have you stopped beating your wife?” or “Are you going to admit that you’re wrong?”

Those who stand up for the good, the innocent, the right and the just are often publicly attacked by those seek to set themselves on a throne and tell others how to think, feel and act — or worse, seek simply to do society harm and not be caught at it.

The next time you hear someone ask “who watches the watchmen”, think about why they’re really asking this. The answers may surprise you.

The Real Reason iHeartRadio and Spotify are Going Out of Business

The Real Reason iHeartRadio and Spotify are Going Out of Business

I was on a forum for internet radio broadcasters the other day, and the topic came up of why the music industry is in such trouble. iHeartRadio and Spotify are both facing bankruptcy, with iHeartRadio $20B in debt (mostly due to debt carried from a leveraged buyout), and Spotify in the soup for $1.5B. How did they get there? In part, it’s because about 70% of their income goes to pay truly exhorbitant music licensing costs.

The reason why is strange indeed, and it has to do with the way music streaming is licensed. Where a terrestrial radio station broadcasts a (usually digital) signal for anyone to detect and decode back into music in the room where they’re sitting, internet radio sends out an individual signal for each person. It’s as though there was an individual radio tower just for that listener, on a special frequency that only they could hear. Because each signal is legally considered a “duplicate copy”, a whole new set of licensing kicks in.

Now, I’m going to launch into a discussion of digital copying, which is at the heart of internet radio licensing law, but when I’m finished I think you’ll agree that it makes no damn sense.

Making a copy of music from the radio is legal. Before the internet, you used tape recorders to do this. And lots of people did. The recording industry tried to kill cassette tape, because they claimed it allowed people to make illegal copies of music. However, making copies of music for personal use is specifically allowed under most countries’ copyright laws. It falls under Fair Use.

Enter the digital age, and now internet radio uses a different technology. Instead of putting a single signal out into the aether for anyone to detect and decode back into music at their receivers, each individual listener needs to be feed their own copy of that signal. Every listener needs their own separate stream.

Because the signal is now duplicated at the server end when a listener requests a connection, instead of converting the signal into an audible sound stream at the listeners’ receiver itself, the licensing organizations want to call that a “mechanical copy”, and they want it to be treated the same way as a tape cassette or a CD copy of that music. And in fact, the United States, Canada and the U.K. all refer to streaming music over the internet in these terms. This is despite the fact that nearly everyone captures the stream and immediately converts it into sound, discarding the music moment by moment as it plays.

Recording the audio is certainly possible, by a variety of means, but in the purest sense this is no different than sticking a microphone in your stereo speakers and hitting the record button. The stream from your radio station isn’t a copy. It’s data, like what flies through the airwaves from a radio station, every moment of every day. It’s not a copy until you store it.

This Sounds Fishy To Me …

Me too. But as internet radio operators, we have to pay two licenses, one the original artists’ licensing that all terrestrial broadcast pays, and the other this “duplication fee”, because the PRO’s have managed to convince the lawmakers (in most countries) that broadcasting a digital stream through the internet is somehow fundamentally different from digitally encoding and broadcasting that same stream over the airwaves.

How did the music industry function before internet radio was a thing? It was obviously possible – yet somehow we have this redefinition of what a broadcast is because we’re using different technology to accomplish exactly the same thing.

All this lunacy aside, ripping a stream means making an illegal unlicensed copy of that music, even though doing the same exact thing with a terrestrial radio is perfectly legal.

Are we, as internet radio providers, liable for this? No, we’re not. The crime does occur, but it occurs on the far end, where we can have no control whatsoever over the people doing it. It’s literally out of our hands, and we have no legal responsibility one way or the other to stop them from doing it, even if we could tell for certain what they were doing.

So How Does This Hurt the Industry?

It’s murdering it, but not because of stream ripping.  What’s happening is that the licensing fees charged to the big internet radio stations – and that’s what most people listen to now, not terrestrial radio – are roughly double what a terrestrial station plays. I don’t know the actual ratio, but it’s a lot.

This basic misunderstanding of the true nature of internet radio is part of why internet radio companies are going out of business right and left. At this point in time, independent internet radio in the United States is down, by my personal estimate, by about 85% from the number of stations present in 2015. 

Terrestrial radio stations don’t count here. Most of them have internet feeds too, and they have to pay the extra fees like everybody else. The tiny stations that run on shoestrings, though, they’re the casualties here.

The loss of an individual station doesn’t have much of an effect. Pushing music licensing out of reach of all but the most dedicated business operators, though, has had a massive, very evident chilling effect on an entire communications medium in the United States, and forced many of them to move their operations outside the boundaries of the United States into other countries where U.S. internet broadcast licensing does not have jurisdiction. Almost no country but the U.S. has such restrictive and expensive laws regarding this industry, and the greed of the performance rights organizations are strangling the industry.

This Sounds Bad. What Happens Now?

What happens when iHeartRadio and Spotify (two of the big four, the other two being iTunes and Pandora) collapse under the strain of these fees? The music industry is in for a massive shakeup, and the performance rights organizations like BMI, ASCAP and SESEC are going to be the losers in this.


Why I Think Al Franken is Being Set Up

Why I Think Al Franken is Being Set Up

I never write about specific incidents in politics, because it’s such a snakepit of a topic, but today I need to make an exception. I believe that something evil is afoot.

Senator Al Franken (D) New Jersey has recently been accused of groping cast member Leeann Tweeden during a USO tour in 2006. There are so many things wrong with this accusation, and a lot of reasons why I think this whole thing stinks to high heaven.

  1. She was rehearsing for a USO skit, for a script she read in advance (a script Al Franken could not have written so as to take advantage of Tweeden, because he wrote it in 2003), so she knew what was going to happen before it happened. She was on that USO tour because at the time she was a famous soft-core porn pinup girl. It was literally her job to titillate the enlisted men. This does not diminish the potential validity of her claim of abuse, but it does demonstrate that she should have been aware that her personal space was likely to be violated during the trip, and repeatedly, while the show was on tour, as part of or related to the entertainment being presented.
  2. The photo shows Franken pretending to touch her, but if you look at the shadows under the fingers, he never actually touches her, and the photo was quite obviously staged. This is theatrical limerence, not sexual aggression. Feel free to disagree with me, but this is what I think. You’ll also note that she’s wearing a flack jacket. He’s pretending to grope her through a flack jacket. Let that sink in a moment.

    This photograph was taken on a USO airplane. Tweeden was asleep. You can clearly see the shadows of Franken’s fingers on Tweeden’s flak jacket, so it’s very clear that he was not actually touching her flak jacket.

  3. Franken was under military guard the entire time he was there. Even in the men’s room. They followed him into the men’s room. It was that guard’s duty to stop any untoward or forbidden behavior Franken might attempt should he do so, and he wasn’t left alone for a moment. Literally. Tweeden’s claim that Franken lip-locked her once he got her alone couldn’t have happened the way she claimed. They were never alone, ever.
  4. The accuser is a Fox News employee and Trump spokesmodel, so she’s part of an organization that has a great interest in taking potshots at Democrats, especially Senators who might have something to say about who gets approved on judicial nominations. Fox News is a strong ally of the GOP and parrots the GOP spin machine virtually unedited most of the time.
  5. Somehow Roger Stone knew what was going to happen 24 hours before the news was released, and tweeted about it. If this was a legitimate accusation and not a political plot against Franken, how did he know, and why is he involved?
  6. Franken’s female staff is united in their support of Franken, and they say that over years he has never treated any of them with anything but the utmost respect. The female cast members of Saturday Night Live came forward and said the exact same thing. Instead of over a dozen women accusers, Franken has over a dozen women defenders. Where’s the pattern of bad behavior? It’s missing here, and somebody with a problem like this is going to have it through his entire career. Everybody else with a problem like this has, why not Franken? This information does not fit the pattern.
  7. Franken has called upon Congress to launch an investigation into his own behavior. This is not typically something something you do when you are guilty. Tweeden hastily responded to this by saying,”Oh, no, that won’t be necessary.” She’s already come out with this accusation, and we’ve all seen the staged photograph, so that’s established. What would an investigation uncover? If Franken is volunteering, you can bet the answer is “little to nothing”, or why do it? If Tweeden wasn’t serious about the accusation, why make one? If she was, why back away from Franken being investigated? What’s she hiding?  She’s an entertainer, and used to being paid to say and do all sorts of things that might not be in her nature. Where’s the real Leeann Tweeden in all this? How much is fiction? How much is real?
  8. She’s already been offered a book deal by Sinclair Publishing. This is a branch of Sinclair Communications, well known for pushing right wing agenda as though it were news on TV and radio stations across the country. THAT was fast. How did they know to set this deal up this fast? Interesting. Usually you wait to see if a person’s story isn’t going to fall apart under scrutiny first. Like, a day or two at least.
  9. She allegedly showed the picture to her husband shortly after it happened in 2006, and neither she nor her husband felt it important enough to do anything about. It wasn’t until Franken became a political powerhouse that it was suddenly relevant – not because of what Franken did, but because of what Franken became long after the fact.
  10. Lastly (and this one is big), it appears that the photograph in question carries metadata, which shows the actual time, date, and equipment used to take the photograph. It says that the photo was taken on December 21, 2006 and not on December 24 as Tweeden claims. Her allegation is false in some major aspects. It gets worse. The metadata also shows the picture was altered the SAME DAY Coleman conceded to Franken, meaning someone was planning on using this against him from the second he became senator. This data is called EXIF data, and it shows not only when the photo was shot, but the last time it was altered. In this case it shows that the photo was altered on July 1, 2009, so it’s been through Photoshop. This doesn’t mean it’s been doctored, necessarily, but it does mean that somebody cropped it and made a copy of it for later use, on a very significant date.

This absolutely reeks of a setup – and the GOP is trying anything to fix their Roy Moore problem. It looks like he may not win his Senate seat, and they need him to vote the way he’s told in the Senate. They’re possibly looking at taking Franken out as a way to counterbalance losing a seat to Doug Jones, Roy Moore’s democratic competitor.

And then there’s this. This video shows Tweeden grabbing the ass of a lead guitarist on stage, and doing a sort of lap dance thing against his leg. Does this mean her own accusations are invalid, or make them somehow less true just because of this? Does this make her a “loose woman”?

Of course not.

She is a performer, an actor. She was being paid to do this, just as Franken was.

However, it also shows that she knew full well that she was part of a theatrical production, and knew in advance what was in the show and what was going on. She shouldn’t have been taken by surprise by any of this; the point here is that she knew in advance that things like this were likely to happen, because she was doing them herself.

This whole thing is evil twice – once simply because it appears that the charges are largely concocted to try to take out a political adversary of the GOP, and once because it poisons the well for the #metoo movement of women (and a few men) coming forward to talk about the sexual aggression to which they were subjected.

My conclusion? It’s all fabricated. The most evil thing Franken might be guilty of is a joke in poor taste.


The Patreon Quandry

The Patreon Quandry

Obi-Shawn’s t-shirt design for his morning show on Krypton Radio, “Good Morning, Tatooine!”

We use Patreon to keep our sci-fi radio station, Krypton Radio, fueled up and on the air, and it’s been working for years. However, it’s also a struggle, and we’re not doing anywhere near as well as we should be given the size of the market. Getting the word out is an enormous problem when what you do is a service, not putting 100% of your energy into a single one-shot incendiary mortar shell of a geeky project.
Here’s what I’ve learned so far.

Patreon is Hard

The main issue with Patreon is that you have to live there to make it work. You can’t run your stuff out of your web site and visit only occasionally, you pretty much have to move into Patreon and run your entire operation from there.
For most creators, that’s a real problem, because they’ve spent years developing a following on the web and in social media, and it’s very hard to get your fans to follow you over to Patreon, and it’s hard to keep their attention once you do. Patreon is not social media, and it lacks all the things that make people hang around for extended periods. Once your patron is done reading your page, there’s nothing else to keep them there.
Very very recently Patreon has released a plugin for WordPress that makes it possible to post Patrons-only content on your own web site, so that lets you bring the Patreon to the fans instead of having to do it the other way around, and we’re about to start experimenting with members-only content that way. We have no idea how much or how little that will help yet, it’s totally uncharted territory for us.
One important factor with Patreon is that you have to be very very active in it or people will think you’re out of business. A post a week isn’t bad. Two a week is probably optimal.
Another important factor is that you’re going to have to plan your productivity to include creating assets specifically for Patreon that aren’t directly part of whatever creative thing it is that you do. You’ll need videos, graphics, short articles, sound bytes, all sorts of things specifically shaped to the needs of running a continuous crowdfunding campaign. It’s like running a Kickstarter, but you never get a break and it never stops.

But Does It Work?

Well – I can honestly say that we wouldn’t have a radio station if it didn’t work.
Advertising certainly doesn’t work. Nobody clicks on anything, and web browsers are built to filter them out by default. Kickstarters are a pain, and very stressful and make you crazy. Subscriberships are the only way to go if you want to be paid every month for what you do.

What About the Perks?

That’s one of the things we’re struggling with.
We produce audio, so there’s no finite physical product that we can send people. We have to come up with content specifically geared to being output in little parcels that our fans would want, so we’re exploring publishing fiction exclusively for our subscribers.
We’re also developing a sci-fi radio drama, and when that comes out we’ll have props and costumes, and challenge coins, and patches, but it’s a massive push to get it done, and it’s taking years longer than we planned to do this.
We also feature a line of sci-fi / geek t-shirts that we’ve designed ourselves that nobody else carries, and you’d think that would be an attractant, but to be completely honest, apparently nobody gives a @#$#@ about t-shirts. Like, at all. We’ve given away maybe two of them as perks in the last two years when people ask for them, despite the fact that half our patrons are eligible for them.

White Elephant? Why, Yes. Yes We Are.

Part of our problem stems from what we are. We’re a full time sci-fi fandom format radio station, and that makes us unique on the planet (one or two other stations lay claim to this, but they also do things like fill up 60% of their air time with metal or hiphop).  We don’t fit categories. In anything.
Most radio station listing services don’t even have a listing category for us, so we get stuck in “Other”, or “Eclectic”. Nobody searches for “other” when they’re looking for a radio station, and people don’t think to search for sci-fi radio because all they get is podcasts when they try it – so we’re hard to categorize, hard to find, and searched for much less than we’d like because people don’t even realize that full time sci-fi radio (as contrasted to a podcast) is a thing.
Our response for that is to hit as many distribution platforms as we can. We get another dozen patrons, and we will be able to get listed on iHeartRadio. Suddenly we’ll be exposed to 70 million iHeartRadio subscribers, and available in people’s cars, which is where most people listen to the radio in the first place. We’re hoping our fortunes will improve after that.

What’s Next?

Our biggest problem is that since nobody knows we’re here, relatively speaking, we have to maximize our exposure. We have to position ourselves so that the maximum number of people have a chance to find us by serendipitous search.  I can’t tip my hand just yet, but there’s another distribution network we’re looking at in addition to iHeartRadio, and between the two of them we’ll have exposure to a new potential audience of 190 million people that we didn’t have access to before. We’ve never made a jump this big before, and surprisingly, the two services we’re going after will make us big fish in a small pond despite the huge subscriber numbers for each service.
The reason is, once again, that Krypton Radio is unique. Literally nobody else in the world does what we do the way we do it. It’s not like regular radio stations. How many hip-hop stations are there across the country? About 250. Rock? About 360. Oldies? Oh my god, 500 plus of those. Metal?   You get the idea.
But full time sci-fi geek culture genre format stations?  There’s one. When people look for that, they find us, and that’s it. I’m hoping to improve our odds by expanding our “broadcast range” so to speak.
Nine tenths of success is not giving up. We’re already heard in 135 countries and we reach between 65,000 and 100,000 listeners a month depending on the season.
So far, so good.