Juniper Fairchild and the Alterwhere | Second Draft Jitters

Juniper Fairchild and the Alterwhere | Second Draft Jitters

Now that I’ve gone through the whole book, replaced a chapter I shouldn’t have yanked, and found a bit over 1600 instances of filler phrases and useless sentences to either edit or remove entirely, now the manuscript is in the hands of my editor Lori Alden Holuta.

And I am starting to be faced with the questions of how do I pitch this thing, to whom to I pitch it, and how does the publishing industry work from this point forward. One important web site turns out to be QueryTracker, which is the natural evolution of an industry that is so swamped with people who dearly wish to be writers but don’t quite reach top tier who are looking for agents that there needs to be a service to help agents coordinate it all.

Gone are the days when you could go to a publisher’s office and throw the manuscript into the office over the transom and expect that it might get read someday. The publishing industry is now far far busier than that, and even just the fantasy genre by itself has grown over 40% in the past three years. It’s not just a river of submissions now. It’s a tsunami, made all the worse for people thinking that A.I. can write their books for them. I know publishers who have had to close their submission pipeline entirely while they wade through the sudden oceans of crap that weren’t in the pipeline just three years ago. It’s disheartening.

At the same time, it’s uplifting. Because while it’s harder to stand out than it was, when somebody does actually stumble across my manuscript, it will shine all the brighter. I might actually have a shot at getting agented, and if that happens, I could be published by TOR, or Baen, or DAW, or Dell.

I’m impatient. If this isn’t going to work, I want to know sooner rather than later. That isn’t how the publishing industry works, though. It might take two or three years to learn the fate of my first book, and that means that if I want a career as a published author, I have to start writing the next one whether or not I know that the first one will ever sell. That’s going to be a leap of absolute faith, or hubris, I’m not sure which.

But I’m not giving up, or stopping, or even slowing down, because the only option is to Keep Moving Forward. It might be a long shot, but it’s still my best possible future, and my best possible bet.

I’m taking it.

— Gene

Juniper Fairchild and the Alterwhere | First Draft Panic

Juniper Fairchild and the Alterwhere | First Draft Panic

It’s easy to say, “I’m writing a book.” Lots of people say that at parties. It’s hard to actually sit down and write one. This is why people treat the news that you’re working on a book with as much enthusiasm as they do a fart in an airlock, because the world is full of pretenders. And I mean full of them. A great many people want to be a writer, but don’t want to actually write.

And then when you say, “My first draft is finished,” now it’s a matter of both pride and fear. So many people never get that far. I’ve heard estimates that as few as 3% of people who start a book actually finish a first draft.

So, as you might have guessed, I have now finished my first draft, and it’s in the hands of the beta readers. And all I can do now is wait for their feedback, and I hate waiting, of course. And then too, some of the advice I’ll get back will be useful, or even vital, and some of it won’t be. And after I’ve gone through and polished the manuscript based on their recommendations and some of my own revelations, it will be time to either look for an agent, or prep it for publishing via a smaller publishing company that wouldn’t necessarily require me to use one, or self publish.

There are parts of the book, by the way, that ended up being cut because they don’t fit the story, but that will make wonderful short stories or novelettes. They might get included when the book publishes, and they might appear here first as a thank you for your continued support.

Running the radio station while I do this has been an experience as well, and I want to thank you for staying with me while I do all of this, and being with my team as we keep all the little wheels and gears from falling off. The station means a lot to a lot of people, and I don’t know if you’ve checked lately, but we are now the only science fiction themed radio station in the world, and have been for a while. You have earned the right to polish that particular apple, because it’s you and your contributions that make it all possible.

Second draft, here we come.

  • Gene Turnbow
The Ethics of A.I.

The Ethics of A.I.

A friend once asked me for my opinions on the use of artificial intelligence.  I’ve been a big fan of A.I. for most of my life, and it’s been a popular theme in science fiction.  But now, we actually have credible A.I. in our social and commercial environment, and it’s time to address the elephant in the room.

Artificial intelligence is a tool, nothing more. One does not condemn a table saw because it can present more teeth to the plywood panel faster than a human could. Such assertions that it is somehow inherently evil are misguided and disingenuous at best.

Generative AI does depend on having been trained by observing the works of artists, and a great many of them. This, however, is also true of human artists, and we do not consider this theft or misappropriation. Those who present this notion as viable apply a double standard. The same is true of the written word. Generative AI learns by observing the work of others. It’s not a copy-paste machine. It does not now, and never has, worked that way, and those who imply that it is somehow “stealing the works of others” clearly do not understand how either artificial intelligence nor human creativity work well enough to make an intelligent comparison.

The areas where generative AI shines are the technical ones, writing code that runs, diagnosing complex networking issues, constructing database applications that perform specific tasks. It can also do miraculous things, like protein folding, and speeding the discovery of new, previously unknown materials.

That said, one does not just lay the wood on the table and press the button, hoping for a replica Louix XIV divan to come out the other side. It’s just a tool. It requires a human being to make the decisions as to where to cut, and why. Artificial intelligence is mostly useless when it comes to creative acts, for it cannot create, except under the express direction of a human being.

Those who rely on generative AI for their writing simply by typing a quick command and pressing a button have removed themselves from the equation, and presenting the output of generative AI as their own without any material guidance, in my view, are charlatans and cheaters. The same is true of those who use pushbutton AI to make images, and then presenting that image as their own work. There is a role for AI in image generation, but deceptively passing it off as one’s own creative work is an unworthy occupation.

The U.S. Copyright Office has clarified its stand on the use of A.I. in creative works. They have said that if A.I. is used as a tool to create elements used in the finished composition, that one may copyright such a work. But if the finished piece was created without the guidance of a human hand, it cannot be copyrighted, for machines may not author anything directly.

I use artificial intelligence when creating graphics, but almost never to create entire images. Instead, I do things like remove people or objects from images, or add missing features. I also use A.I. when coding, because frankly, most of what I have to do is grunt work, and my guidance to the A.I. comes in very precisely defining the task so that I get exactly what I want. It’s like talking to a very literal minded child.
I also use it in my writing, but never to create whole works, only to analyze and to help me organize what I have already written. I have tried, a few times, to have it write things for me, but the results are always mud-dumb, lackluster or outright wrong. And, A.I., no matter how hard you try to set up meta rules to combat this, tends to tell you whatever the hell it thinks you want to hear. This is not useful behavior in a creative, critical environment.

As I see it, the primary ethical concern with ChatGPT and its ilk is the abuse of the service from the standpoint of people trying to take shortcuts with it, or claiming its output as their own. This can range, therefore, from merely being sloppy and lacking in thoroughness to being outright unethical.

Tools, in essence, are tools. There is nothing inherently good or evil about them. It is in no one’s interest to anthropomorphize it and assign it moral or ethical behavior on its own. It is what we make of it, nothing more.

So, take what you want from this view, but remember that you can’t just declare something to be true in defiance of fact or objective proof otherwise.  See the situation for what it is, and plan and react accordingly.  No other approach makes sense.

– 30 – 

Did I make the header image for this article by pushbutton A.I.? I wanted something decent, and there had to be an image there, but I didn’t care much what. So yes. But I’m not claiming this as my artwork. It’s just generative graphics.

The Ethics of A.I.

How to Write a Novel

Outline.

Write the ending first. Make sure you know how your characters get from one scene to the next for every scene. There’s no such thing as a ‘pantser’. They end up writing a bunch of extra crap and wasting time and going back and working out the outline after the fact, and trust me, it’s twice as hard coming up with an elegant way of resolving your plot and story arcs that way, because you have to retrofit stuff and throw out a ton of crap you thought you needed but don’t.

So, to recap, write the biggest landmarks first. Then fill in the smaller landmarks in between. Then smaller than that. Keep going down in granularity until you’re writing scenes, then write the scenes, and you have a draft.

If you do not start with the broadest strokes first, building your story framework true and solid so you know where all the corners and leddges are FIRST, you WILL FAIL. The same rules apply to creating in EVERY OTHER ART FORM.

You can do the ‘pantser’ stuff when you get down to the level of writing scenes, and if you hold that off till then, it’ll be fun, because you’ll already know what the scene has to do in your story, what your characters need from each scene, and how everything works relative to the chapter that comes before it and the chapter that comes next.

Then you can do a polish pass and make everything look like you planned it all along in the first place.

Then get beta readers at minimum, a story editor if you can afford one, and a copy editor to make sure there are no spelling mistakes, because nothing pisses off a reader more than finding typos in your book and it makes you look like an amateur. Listen to your editor and your beta readers, they’ll tell you things you don’t want to hear but that you’ll have to fix.

And that’s how to write a novel. If you stick to this and you write a thousand words a day, you can write two full length novels a year.

Go write.

Artificial Intelligence in Art is Here to Stay.  What Do We Do Next?

Artificial Intelligence in Art is Here to Stay. What Do We Do Next?

Time after time, new innovations do not wait for human society to figure out how we’re going to integrate it. There’s a reason these things are called “disruptive” in business jargon. They shake the box.

For example, Photoshop has had AI powered tools in it for almost a decade now, and nobody’s making that a front-and-center issue. Grammerly has been around for a long time too, and nobody’s pointing at that in panic either.

But AI that can believably regenerate somebody’s voice, or study a few thousand images and make a new image that resembles them in style, and suddenly it’s important.

It’s not that the tools can do it. It’s a matter of degree. This shows us that the problem isn’t that the AI can do it – it’s that the sudden advances have taken us by surprise, and we realize that as a society we have been so busy trying to figure out how we CAN do it, that we haven’t stopped to think about whether we SHOULD.

Getty Sues Everybody

The lawsuit by Getty Images against the creators of Midjourney and Stable Diffusion claim that these tools store images and paste together parts to make new images like an electronic collage.

This is not even remotely how they work. Instead, a special kind of deep learning neural net is trained on the images, producing what is essentially a complex formula with hundreds of mllions of parameters that the AI generation tools use to create new images.

In my opinion these lawsuits will fail immediately on expert testimony because of this gross basic misunderstanding of the technology. Images are not being copied, are not being stored in the database. If they were, you would need thousands of terrabytes to store the data. As it is, Stable Diffusion can generate images on a dataset as small as 2.7 Gb. They don’t even make SD cards or flash drives that small anymore.

A further complication is that in Europe, as in the United States, datamining is legal, so after the question of copying is set aside (to reiterate, it’s not copying, it’s using the images to train a neural network), then it there’s a very good chance that the law suits will fail on the scanning without permission issue as well, because protecting from analysis is not a legal right any copyright holder anywhere in the world enjoys. If it were, simply observing an image displayed on the internet and having any kind of opinion about it would be a crime.

The images are being reduced to parameters in a very complex equation with hundreds of millions of parameters. Datamining isn’t illegal. Training neural networks on material you don’t own isn’t illegal either. Copyrights aren’t being directly violated, because you couldn’t bring up an exact copy of anything the neural nets are trained on if you tried (though you can get close). And, you can’t copyright a style, or a composition, or a color scheme. All that’s left is Right to Publicity, and the responsibility for that falls on the users of the tools, not the tools’ makers.

That doesn’t leave much meat left on the bone.

It’s Just Going Sideways

And sure enough, this is exactly how the law suits are shaking out. Sarah Silverman et al. tried to sue OpenAI for  reading their stuff and incorporating that knowledge into their ChaptGPT model.  The only problem was that they couldn’t make ChatGPT spit out exact copies of their manuscripts.  The New York Times tried the same thing, and had the same problem . Why does this matter?  Because in order for the courts to offer anything to the plaintiffs, first there must be a viable record of wrongdoing.  It’s impossible for the courts to proceed on the basis of being butt-hurt alone. There have to be provable damages.   The court runs on two things above all else:  monetary damages, and proof of injury.  The New York Times — and Sarah Silverman, and the handful of artists trying to sue Midjourney — haven’t established either one. Even to argue undue restraint of trade, the “right to publicity” argument, they have to show exactly how they’ve been hurt by the AI’s, and none of them can demonstrate this.  These cases have been largely thrown out because of these lacks, and all that’s left is the damages from restraint of trade, which none of them can clearly demonstrate.

In my opionion, the writers and artists suing are the victims of class action ambulence chaser lawyers. If they win, mostly the lawyers get the money.  And companies like Getty Images are only suing because they want to make their own generative AI service based on Getty Images licensed images and sell that as a service.  When you can download Stable Diffusion and SDXL for free, why would anybody care?

The Right to Publicity

What remains appears to be Right to Publicity violations – the recognizability of artist styles, or celebrity faces, which have traditionally been treated by the courts as the responsibility of the individuals using the tools, and not the makers of the tools themselves. As a user, it is my responsibility not to try to sell AI generated images that simulate the style of Salvadore Dali, Chris Claremont or Michael Whelan and sell them with the claim that they are by the original artist.

Finally, if I happen to produce output that resembles one of those artists, how much can the original artist claim they have been damaged by such a production when human artists imitate the style of other artists all the time? Cases where one artist considers themselves damaged by someone else emulating their style are virtually nonexistent, and I could find no examples.  Certainly apart from being grumpy about it, few can actually demonstrate in real numbers that their business is being negatively affected by it, if any.  Greg Rutowski comes to mind, and even he is circumspect about it.  He’s concerned, but he’s not losing his shit over it.

Sue the Tool User, Not the Tool Maker

Think about it for a moment: if they can stop Stable Diffusion and Midjourney for being able to replicate the style of other artists, then they should be able to stop all word processors for being able to output written pieces that emulate the style of other writers. Oops, I accidentally wrote a story in the style of Roger Zelazny, they’ll be coming for my copy of Windows Notepad now… Saxaphones should be outlawed because it is possible for another player to use one to replicate the style of Kenny G … Do you see the fallacy here? It’s not clear cut at all, and is in fact a matter of degree, which makes it a purely subjective call. In point of fact, those bringing these amorphous law suits not based on any established rule of law fail to inform the court as to why the existing protections against copyright infringement are insufficient and why the makers of tools are suddenly liable when they never were before now.

In any case, it’s too late to stuff the genie back in the bottle.  AI powered art tools are here. It’s what we do next, to find ways to understand and integrate the new tools, that will define the new landscape.

It Feels Wrong, But Why?

And yet, one way or the other,  we still have the same situation.  Stable Diffusion, underlying technology for all the successful AI image generation tools, is open source.  That makes it very hard to unmake, and even harder to undistribute. Additionally,  while it’s obvious that disruptive technology is generally created for the primary purpose of eventually making money,  it’s doing so here without breaking the law in any obvious way.

And THAT’S where the problem lies. The ability to replicate somebody’s artistic style to produce specific results is the part that’s disruptive. It makes it harder (and I know I’m preaching to the choir here) for artists to get paid for their work and to have the value of their work respected. Artists instinctively know this, but they don’t have much of defense for what’s happening to them, and this makes them feel like victims, and in a real way, they are.

Artists gotta eat. And pay rent. And visit the doctor. And initially, tools that do work they can do are going to break things.

But as with the invention of the camera, and the music synthesizer, artists will adapt their workflows to include the new tools, and those that do will have an incredible competitve edge.

And those that don’t — or can’t — will suffer for it, and as with any new technology, there isn’t a lot we can do to change that, except maybe help them avoid having their stuff analyzed for neural networks, or helping them learn how to use the new tools. The legal questions won’t be resolved soon enough to matter.

Nobody likes to be hit in the face with some new career-threatening problem that they didn’t see coming, and it’s hard to say that three years ago anybody saw this as an impending storm on the horizon. That’s why it feels wrong. It’s doing something with people’s artwork and photographs that nobody saw coming and for which the standard rules for intellectual property offer no protection whatever Whatever is going to happen as a result of this new technology is just going to happen, long before we figure out something practical to do about it, if we figure out anything at all..

Can Anything Be Done?

I can’t imagine how one would unexplode the hand grenade this represents, given that it takes ten to fifteen years to resolve landmark cases in court. By that time, the technology will have evolved well beyond its current state and likely built into practically everything.

The Getty lawsuit against Midjourney, Stable Diffusion et al. will likely fail on the merits because they don’t fully understand what they’re suing over, and they appear to be trying to claim rights they don’t actually have, but it’ll take years to even get that far. They can start their lawsuits over again  and file new cases, but that starts the clock over from scratch.

Nor can they simply use the DMCA and have the source libraries removed from the web (I can’t imagine on what grounds they would do this, because the DMCA only applies to finished works, not tools for making them). Using DMCA’s on this stuff is like a perpetual unwinnable game of whack-a-mole even if somehow you could make it work.

So, I’m going to estimate ten to fifteen years to see anything on this, assuming there isn’t some sort of settlement. Considering Getty is looking for a couple of trillion dollars in damages, and they know they’ll never get that, it seems to me that they’re trying to just scare the ever-loving crap out of the defendants in court, going after settlement money so as to look good to their shareholders. They don’t give a crap about setting a legal precedent. There will be nothing upon which to base new case law, no judgment to cite, and the end result will be money changes hands (if it even gets that far).  Once the lawsuits are over, the tools will just chug along as always, completely undeterred.

And the Getty lawsuits are the best shot at this there is.

A Note about Glaze and Nightshade

Both of these anti-AI image mangler apps attempt to “poison” AI by either adding small non-zero numbers to the latent image before passing it to the diffuser, or by adding “phantom” data to the image to fool the training step for the graphical models into thinking that a picture of a cat is, in fact, a dog. Neither of these really do what they claim to do. Both were developed in the “publish or perish” academic environment, by professors who only understand in general how their anti-AI tools work, and both were built on the efforts of unpaid graduate students who did the actual work. The effectiveness and quality of the results are, therefore, about what you’d expect.

Remember that the point of these tools is not to help artists protect their work.  The point of the tools is to advance the reputation and standing of the professors involved, and few have the technical prowess to demonstrate that they don’t, in fact, work, except in a cleanroom setting where the variables of the test can be strictly controlled.  They were both built to test against Stable Difussion 1.5, which is at this writing two full generations of technology behind that in most common use today. Moreover, the way Nightshade works focuses on token frequency in LAION and LAION tagging, which has been irrelevant for a while now.

Both rely on adding informational noise to the image to create the impression that the image is in a different style than it really is, or contains a different subject than it really does. Both, however, require that a model be trained on a heavy diet of the adulterated images before the trained model will exhibit the desired properties, i.e., to screw up the art styles or the content portrayal. Trust me when I say this: unless you are one of the most prolific artists in the world, and have the time to adulterate everything you’ve ever done over the years and re-upload adulterated versions of what you’ve made, you’re not going to have any affect at all on the training of new models.  Heaven knows, after being trained on literally billions of images, you’re not going to have any affect at all on Midjourney or any of the other similar generative AI systems.  That ship sailed literally years ago.

Most importantly, there is no evidence, apart from extremely narrowly defined tests in carefully controlled environments, that either Glaze or Nightshade work at all. I can’t stress this enough. You are far better off learning and growing as an artist and creating new art than you are hoping that magical fairy dust will protect your old work. The time to set all that up was before any of the major models were built, and anybody with a home computer can train a LoRa on your work and completely bypass whatever effects of either of these tools have.

For more, read this Reddit thread.

 

We Need a Better Plan Than This.

I’m sorry if this is disappointing, but if it’s going to be stopped by the global community, there must be a plan put into motion that works. Intellectual property rights laws and right to access as they stand now simply don’t cover it. The next step is a concensus on what to do, but good luck reaching one. Humans have always acted as individuals. Given a population of a sufficient size, and a given stimulus, they will not choose to do a certain specific thing in response to that stimulus. They will do all the things.

That, to me, is what makes the arguments against generative AI art so frustrating.  If AI art can’t be copyrighted, as many claim, then what rights are being taken from actual artists? There’s nothing to recover, because by that definition AI art has no intrinsic value. It’s all doublethink gobbledegook.

Anything that a human can imagine will eventually be made or built or invented, and sometimes by multiple people at the same time. I believe that AI art tools on this scale were inevitable. It’s how we use them and what we do next that matter.

These images, by the way, were all generated, by me, using a Stable Diffusion. I used Google to do image searches for each of them and I can confirm that they are not other people’s images. They’re unique as far as I can tell.  If you find any of these images and it’s older than the copy posted here, let me know and I’ll take down my copy and reexamine my life.

They’re meant as computer wallpaper. If you see one you like, click on the image to zoom in, then right-click and “Save As.”

 

-30-

Free Modern Lab Backgrounds

Free Modern Lab Backgrounds

I’m playijng with Stable Diffusion now, and my father expressed an interest in good laboratory backgrounds for his videos that he wouldn’t have to worry about accidentally infringing on somebody’s copyright.

Gene to the rescue.  Here you go, Dad.

To everyone else, if you want to use any of these, go right ahead. They are specifically not copyrighted (currently there’s debate on whether images generated by AI can be copyrighted at all), or proprietary, and made for using as background plates in Zoom.   Go nuts.

To Use an Image

  • Click on an image you like, and it will zoom up.
  • Right click on the opened image, and select “Open in New Tab”.
  • In the new tab, right-click again and select “Save As” and you’ll be able to download the image to your hard disk.

Remember that these are all copyright free.  Use them in anything you like, and don’t bother with attribution.

Don’t believe I did these myself?

Well ….

AI Art is Here to Stay.  Better Get Used To It.

AI Art is Here to Stay. Better Get Used To It.

AI Art, or generated art, is a problem, yes, but not for the reasons people think. It’s a problem because nobody was prepared for how rapidly it would impact our world of creatives. Nobody was ready for how hard it would shake the box.

The Argument

The No to AI Generated Images logo, designed by Alexander Nanitchkov
People claim that it steals artwork from the original artists (it doesn’t, only making generalizations made from the observance of the artwork of humans, just as a human artist would do) or that it takes jobs away from humans (TOR Books is in some hot water over a book cover they commissioned that used stock library art that turned out later to have been AI generated). If I paint in the style of Van Gogh (warm saturated earthy colors, impasto, impressionistic, with emphasis on the arcs and swirls that flow between in the negative spaces), am I stealing from his work? No reasonable person would claim this. Now, what If I use an AI Art generator like Midjourney to do the same thing? It’s a shortcut, yes, but stealing, or cheating somehow? To me, it just appears to be a really sophisticated tool, and one in its rocky infancy. It is, however, a new process whose potential as an art tool is understood by very few, and whose operation is understood by even fewer. It is my observation that the alarum being raised is similar to that raised about the rise in popularity of synthesizers as early as the mid-1950’s. Everyone was sure that the synthesizer would put a lot of professional musicians out of work. Of course, that did not happen. It’s true that synthesizers were used in place of an ensemble of real musicians, but in a lot of those situations there just wouldn’t have been money to pay humans.  Instead, music became possible where the alternative would have been silence, canned music taken from something else, or somebody trying to make do with a single guitar or a piano and a set of bongo drums. Synthesizers simply became one more tool in the toolbox.  AI Art is just one more step past CGI, and nobody these days is claiming that isn’t art. A healthy debate is already in full swing. Already facing some backlash from artists, Artstation is allowing artists to opt out of having the artwork they submit to the Artstation web site used to feed AI art generators, and there is an on-going protest there among artists who think Artstation shouldn’t be allowing people to sell AI-generated images there. The site was awash with anti-AI posts protesting the original policy, with the illustrator Alexander Nanitchkov, creator of the No AI logo, proclaiming AI generated work to be “soulless stealing”. The counter-argument to this is, of course, if a human looks at a body of work and says, “Yeah, I think I can paint in that style”, and then does it, is that stealing? Few would argue that studying and replicating somebody else’s art style is theft, because original artwork isn’t being simply copied. Yet, when a machine does it instead of a human, somehow it’s supposed to be different.

How It Works in Very Basic Terms

Superfrog, in the comicbook style of Van Gogh. Midjourney had never seen a Van Gogh comicbook, so it took its cues from Van Gogh paintings and comicbook art it had analyzed. Even so, the elements look just sort of mashed together, and don’t form a cohesive artistic whole. Of course Van Gogh never did comics; the point here is to show that the AI is mashing up concepts, not just copying things.

AI-generated art doesn’t just copy bits and paste them together. Instead, the artificial intelligence is taught about art by looking at a huge number of images, adding noise to each one until it becomes unrecognizeable for what it was, and then taking notes on exactly what made that image recognizable as being a certain thing. The process is repeated on a very large number of similar subjects so that the AI can tell, in general, what makes that subject look like what it is. This may include photographs, or the work of human artists, but always in great quantity, usually tens of thousands or more. To generate a new image, the process is reversed. It begins with a noise field, and then everything that doesn’t look like the requested subject is slowly repaired. It’s further skewed by another instruction layer that adds other elements to the scene as described, to create a new and unique image. The resulting image may contain varying percentages of a given individual’s artwork, but it’s never a straight up copy.

It Needs What It’ll Never Have On Its Own: A Little Heart

Synthesized art suffers the same problem that synthesized music does: it lacks heart. A performance in either medium created solely by algorithm lacks the human touch, the emotional connection that makes that creative product worth consuming. Without it, it’s just an attractive but ultimately soulless effort. It can save time producing creative content, but without the guidance of an actual artist it will produce only the facade of meaning without ever actually touching it. As a result, AI created art is actually pretty easy to spot when you see it. I predict that there will be a great deal of arguing back and forth about AI art, but in the end, people will pause long enough to realize that AI art can’t reasonably compare to the creativity of a skilled human artist, and we’ll all get on with our lives. There is precedent; this is pretty much how the arguments against synthesizers went.  After a while people realized that the synthesizer was just another tool, and in the wrong hands it could produce flavorless pap just like any other tool in any other medium—or in the other direction, allow the art form to be taken to new places previously inaccessible. AI-generated art is like a chainsaw: it can do a lot of damage very fast, and it seems dangerous to be around. Without its human guiding what it does, though, it’s just another tool to be tamed. And, after a while, we’ll get used to the idea that there are such things as chainsaws in the world that do useful things.
Superfrog, in the style of Jack Kirby, third iteration of the prompt, created in MidJourney.

Superfrog in the style of Jack Kirby. Has Jack Kirby ever drawn a superhero frog? Not that I know of. The heavy bombastic ink and color style reminiscent of Kirby is here in these images, but nobody would mistake one of these for a Kirby original.
These are a good jumping off point (pardon the pun), and may be most useful as a tool for ideation, but repeatability is still very dodgy. 
The frog with the spitcurl is just a goofy take on Superman. Artificial intelligence alone will only carry you so far. The rest requires an actual artist to make some creative decisions and use the elements to create actual art.
Oh, and don’t look too closely at the hands. That’s some real nightmare fuel.

-30-

Reprinted from [SCIFI.radio]  
Why is WordPress Showing the Number 3 After the Menu Items?

Why is WordPress Showing the Number 3 After the Menu Items?

It’s that horrible “Three Bug” in WordPress menu systems. Most people are just unprepared for something so simple in normal daily use as a WordPress site admin to break in such a bizarre way.  It turns out that this bug in WordPress is easily solved. I’m not sure exactly what causes it, but I do know what makes it go away, and it’s simple:

Your theme is trying to use a font that hasn’t been loaded yet.

To fix this, you’ll have to identify what font it is, then add a preload statement to your site’s header.  In my case, I use Divi, so here’s what mine looks like:

<!-- Preloading font to fix menu icon flashing 3 -->
<link rel="preload" href="/wp-content/themes/Divi/core/admin/fonts/modules.ttf" as="font" type="font/ttf" crossorigin="anonymous">
<!-- Preloading font to fix menu icon flashing - end -->

You’ll have to have a theme that allows for special code to be inserted into your page header. The Divi theme does this natively, but for other themes you may have to add a header/footer insertion plugin.

I did the above fix, and SHAZAM! Problem solved.

-30-

Why is WordPress Showing the Number 3 After the Menu Items?

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.

-30-

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 secureserver.net, 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 secureserver.net, 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.

The authority chain from LetsEncrypt comes in in the chain.pem file as created by the Centova LetsEncrypt utility, and that’s stored in /usr/local/centovacast/etc/ssl/certs, and then from there there are directories corresponding to each domain. The fact that they bother to identify files by domain name teases the fact that may be possible to run Centovacast from more than one valid domain so long as the server answers to multiple domains.

To inspect the certificates being managed by CPanel, you need to log into your WHM panel and go to:

Home » SSL/TLS » SSL Storage Manager

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
</IfModule>

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

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”
fi

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

testcontent=”test-$(date +%s).$$”
testfilename=”${testcontent}.txt”
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.

<listen-socket>
<port>8080</port>
<ssl>1</ssl>
</listen-socket>

<listen-socket>
<port>8000</port>
</listen-socket>

Then finally, you’ll have to add a line in your server.conf file that loads the required SSL certificate. If you’re running your Icecast stream and your Centova server from the same domain, you can reuse the same bundle.pem file, but there’s literally nothing stopping you from making a separate one for each individual Centova virtual host and putting each bundle.pem file in a separate place.

The line for your server.conf file looks like this:

<ssl-certificate>/etc/icecast2/bundle.pem</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.

Use Azuracast instead

To be honest, a much better idea is Azuracast, which does everything Centova does, plus a lot more, does not require a monthly license, is open source and is being actively maintained.  Centova is neither fully open source nor actively maintained.