Friday, April 20, 2018

Assuming Direct Control

It is tough getting home from Opening Night. Often it is such a struggle to get everything done, staving off fatigue by sheer willpower for the long weeks of build and Tech, that when the show is ready and the pressure is finally discover you've got nothing left holding you up.

So "Conference of the Birds" is open. That's one more thing off the list of the six things that decided to all happen at once (among other things, had a Holocron kit to ship and a microphone rental to prep.) Unfortunately it opened Thursday. Means I still have to go to work tomorrow. Can't really relax until Saturday. Worse, I'm working the show. Means I still have to make it not just through work but through another evening performance before I can finally sleep in.

The LEDs worked...okay. I had another bug to track down in the software (annoying thing the compiler should have caught -- I overloaded an array variable, writing data into a bit of memory that hadn't been reserved for it.) Means I only got one chance to write the various "looks" in the show. They work good enough, though.

See, the typical arrangement for a theatrical lighting effect is for the scripting to happen at the lighting console. The console tells the fixture what color and how bright, and if you want something like a candle flicker you have to write a loop into the console. The things I built for this -- and the philosophy behind my "DuckLights" -- is to handle animation at the fixture itself, and use the console only to switch between pre-baked effects.

The radio link turned out to be marginal once I moved up to the lighting booth -- and stuffed the lighting modules inside closed brass containers. Bet I could improve it a lot with external antenna. Lacking that, I may try adding a ground plane to my transmitter (I really don't understand antenna design, which is why it has a simple monopole quarter-wave on it now).

Monday, April 16, 2018

The Bull and the Aten

It is decided.

It hit me as I was listening to an article about Skara Brae (a neolithic site in Orkney). There's apparently a nice virtual reconstruction available (as well as physical reconstructions of at least one building). Which led to the thought of the virtual reconstruction of of the layers, at least. And Assassin's Creed Origins, which offers virtual tours of almost every city in Egypt. Unfortunately set at the end of the Ptolemiac Era, or about 900 years after Setne (both the real Prince Khaemweset and my own hybrid character), but the nice thing about Egypt is how incredibly stable it is.

Anyhow. In that moment it became completely clear that the depth of immersion in the research I needed was incompatible with doing it all at once. I need to divide the chore. And even more than divide scenes or places from each other, I need to be able to concentrate on one aspect of the late Bronze Age in the Near East and finish that off before moving on.

So it's going to be three books, and the first book is going to be Kes's story and will set primarily on Mycenaean Crete. Kes, a young weaver raised in a remote mountain shrine, come to the big city to make her living until she is caught up in politics of class warfare, religion and identity. And, some point she's going to have to jump over a bull.

Starting with a young person whose first struggle is with poverty is maybe not the most exciting place to start a tale that is eventually going to cover half the Bronze Age near east and witness the fall of empires. But it is Mycenae I've been studying most over the last few months and I'm best focused to continue research there. It also forms a decent approach towards the questions of the Late Bronze Age Collapse; starting at the capitol of Knossos at the height of power (and corruption and social stratification) of the Palatial society.

In Book Two I'll move to Egypt and widen the scope; the Bronze Age trade networks, the Great Powers, and some of the history, from the perspective of Setne; scholar, priest, amateur archaeologist and half-brother to the king. Who has his own solo adventure in Akhaten, and a run-in with the Notorious Paneb.

Book Three is the Sea Peoples....and Troy. And may still finish up in Scythia. I have an outline, now. It's the outline I've been trying to hammer out since September. But I didn't say it is very detailed.

But I've divided the problem. Now I just need to worry about Kes. I'm throwing her into the politics of rebellion and a bit of underground cults because I need at least 40,000 words out of her. More, if I keep Setne and the Mycenaean mercenary who still doesn't have a name are kept off-stage. On the other hand...I'd happily drop 10,000 on Ugarit or Hattusa so maybe not that big a problem...

Sunday, April 15, 2018

Feathers of a Birds

I got talked into doing lights on "Conference of the Birds." And the way the timing worked out, hit just when BOTH a big project at work and a nasty cold did.

I wanted a remote controlled lighting effect and had no time...but you know, the existing Feather RFM69 board is pretty nice. USB native both for programming and HID/USB-MIDI devices. Hosted 915mHz (unlicensed band) packet radio with a hundred-meter free air range -- and ten bucks more gets you to LoRa radio chip that will get a couple kilometers with good antenna.

And went for another Adafruit product, a NeoPixel "Jewel" sporting a cluster of seven RGBW LEDs. These are those small form-factor LEDs with WS8212 chips included under the plastic so they handle stand-alone PWM, current limiting, and serial communication all by their lonesome. Even running two color channels full out, though, the full Jewel is a bit shy of the 350mA a single "1 watt" Cree will do. Still, since human perception is more-or-less power law, you'd have to throw at least 3 watts to notice an appreciable increase in brightness over what the Jewel can do.

Programming, however, has been slow. Not that it is easy to program through a sinus headache, anyhow.

First task was getting the Feather board to talk to the Arduino IDE. Patched the board definitions in no problem. Was a little slower picking the right board, as the literature wasn't always clear which was the 34u and which was the "MO" board. Exacerbated by the fact that there was in the current version some deep-buried call to a different library.

I finally figured it out by running the programmer in verbose mode and picking through the error logs, then searching archives to find the missing library.

Second task was getting the lights to light. There's an increasingly common problem with Arduino compatibles. The pin definitions in the IDE were written around the ATMega chips. When you translate to a different chip, and that different chip is on a different breakout board, you have chip pin, board pin, port number, and IO pin and they don't line up in any logical way with IDE pin. So there's a fair amount of trying out different pin numbers until the connected hardware finally responds.

And then there was testing the radios. Pretty much installed the library, loaded the demo sketches, and they seemed to run.

The next session was...slower.

I raided my parts box and I just don't have enough buttons. And Radio Shack is no more (with tech this weekend, Digikey was not an option). Fortunately I had an old matrix keypad lying around, and I found a library for it (I could roll my own software and it might have, as it ended up, taken less time).

Thing is, some of the pins are reserved for the RFM69 module, some for USB, plus some available IO pins lack the internal pull-up resistors. Meaning I was back to the soldering iron two or three times changing which pins I was using. And lots of commenting out lines and re-uploading software until I'd found what was causing it to lock up on me.

With that done, into the radio to try to get it to pass on the button ID. And that was a horrible hassle. I miss the XBee modules, even if you did have to roll out a special programer and speak AT code at them. I kept commenting out sections of code that shouldn't have done anything -- like serial print calls which just print status reports to screen -- and then finding the radio wouldn't run.

So it's a big cludge now for the radio stuff, and I really don't have time or patience to clean all that up. I still have yet to write the different "looks" I'll be switching to. Hopefully, though, I'll be able to cut and paste my own software from the Holocron and similar for that.

Tuesday, April 10, 2018

Man, that file must be getting clogged

I did another random Kindle search. That's the new face of self-publishing, if you don't know. Or maybe is better to call it "non-traditional publishing." But then, these days even vinyl looks to be outselling CDs...everything is digital and the whole concept of a traditionally published book is rather quaint to many people.

Anyhow, I seem to have goosed the Amazon algorithm and it is spitting out yards of similar stuff now. These are the ebook equivalents of direct-to-video movies, taken in by Kindle with essentially nothing in the way of editor or agent because, hey, electrons are cheap.

Not all of which are bad. I've gotten a good read out of several, I hasten to add. After all, the human race managed to entertain itself with story-tellers around the fire back when there wasn't a gatekeeper system that selected for only one in every thousand. I am not particularly surprised that most people who are willing to take the time to put 100,000 words down on paper in some kind of order manage to do that in a way interesting enough to spend an hour or two in reading. You have to have something more than a nebulous desire to "be a writer" in order to slog through a whole novel.

But anyhow!

The latest focus of Amazon's little elves is to show me book after book with "x crossed with y" descriptions. "Firefly meets 007!" trumpets one. "Like a cross between Star Wars and World of Warcraft!" (yeah, I made that one up.) "The Last Airbender meets Regency Romance." (Actually, that one was mine. Sort of. I actually titled my review of the first book of a not-bad fantasy series, "But everything changed when the Fire Nation attacked.")

The phrase in fanfiction circles is "filing the serial numbers off." As in, you wrote a Star Trek fanfic, you thought it was a pretty good story, so you changed Kirk to a ginger named Seamus and Spock to a Martian with telepathy and the Enterprise to the Endeavor and then sent it to a publisher as an original work.

These Kindle works are leaving the metal shavings visible. The copy on the Kindle pages is, "Did you like Game of Thrones? This is exactly like it!"

Not like you couldn't tell once you opened the book. The SF field has been decrying the use of what they call "used furniture" for a long time now. Thing is, it is useful. The concept of a mobile and autonomous robot is pretty much orthogonal to how real technology has been going but it is so well established all you have to say is, "robot" (or "droid," or "android," or whatever) and the audience knows what you are describing and can get on with the story.

You don't have to go all "Ralph 124C 41+" about it explaining how, "He next saw a mobile autonomous platform with a self-contained power supply operated by onboard logic that simulated in some basic ways a human-like personality and permitted, through multiple electrical actuators and various machined joints..."

But there's used furniture, and there's used furniture. Asimov contributed something when he added the Three Laws to his robots. Others have engaged in some of the assumptions of the model to make the robots of their own stories interesting, and sometimes even unique.

The problem is the writer who just says, "robot" and moves on. In the old days, at least, they could be stealing from literature, so yes you had everything that tens of very good writers had to say about Asimov's Three Laws. You had a fair amount of thought you could draw on, I'm meaning. Now the sources are primary and visual; what robots look like (and very little of what they might be and mean and imply) in the films and computer games of the most recent couple of years.

I've argued in the past that many visual SF series turn inwards. They stop asking "what is a transporter, in terms of physics? In terms of ethics? In terms of tactics? In terms of the impact it should have had and shared with other technologies, with the society that built it?" They start asking "What happens if you try to transport someone who is already being transported? What if you turn the beam of a transporter on the transporter itself?'

It becomes entirely questions that work only within the framework of the universe. Questions that don't even make sense as questions without the heritage of established behaviors and quirks. The show begins to mine itself for ideas instead of saying anything interesting.

Far, far worse when you are writing an "original" work and you pop "transporters" in. Not the general concept, which you then flesh out with understanding of how they fit within the context of the society and technology and sciences of your fictional society. No, just (functionally) a duplicate of how it appeared in some other media, complete with all the quirks and specifics which arose not organically but from the accreted acts of scriptwriters over the years trying to patch over a plot hole or write themselves out of a corner.

The parts way a set of mismatched plastic gears will sort of work if you slam them together and let them grind off all the excess teeth as they try to move. But at the very best, the whole story will then teeter along, able to keep the illusion up only so long as it is moving quickly.

The other interesting thing...and I could be imagining this but I have read things elsewhere that suggests I am that this is part of a unique island ecosystem. The people commenting on these books seem to mostly have read these books; their experience does not range wider. The reviews appear gamed (but then, all review systems will tend to cluster towards full marks for everyone. It is the nature of the thing; over time the average rises until to be marked as less than excellent is to be marked as deeply flawed).

Still, when you get down to it, there are only so many basic stories. For all the works that really are about a philosophical idea or a scientific principle or a nifty gadget, stories move on the backs of people. And people are people. Whatever else is in the book, if it is in the popular press there are probably people working, striving, fighting, loving, and talking. A lot of talking. If you as a writer can handle the mechanics of having people interact with each other then perhaps the other stuff -- those unique insights, those teased-out bits of research, those flights of invention, are frosting.

If the people aren't good, it probably won't be fun to read. I mean you really should have interesting characters, you need dialogue that sounds good and works properly, descriptions that, well, describe. And there is a lot of nuts and bolts in doing this. In forming paragraphs, in being grammatical, in punctuating dialogue. In knowing how to employ tools to lead the eye and control the pacing.

The question is whether this bread-and-butter work -- this boiler-plate that, for all practical purposes, makes up the bulk of the wordcount and the majority of time spent by writer and editor -- is the sufficient minimum...or the minimum starting point.

The Five Feathers

I have a show coming up and it would be very nice to have some remote-controlled lights in it. These are four enclose oil lanterns. Easy enough to string a bulb into them but I don't feel like running wires all over the building so I can control them.

What I really need is my DuckLight circuit. Which I've not been working on and the turn-around from starting a CAD to finishing the software is at least three weeks. I have two.

So I've purchased several Feather boards from Adafruit. These are Arduino-compatible micros with full USB capability (and onboard LiPo management, which I may or may not be using for this project.) The version of the Feather I picked up was with the 915mHz version of the RFM69 daughterboard integrated on to it. Low BAUD packet radio in a license-free band.

The RFM69 takes more software on the host side than the XBee, which is why I started with the latter. I knew I'd have to move to a more powerful host than the ATTiny series to run them, and when I was last working on the DuckLight project I hadn't gotten into SMD yet. I still have yet to go more legs than a SOT-23 package, so that would be one more thing to have to get right the first time in order to make a three-week turn-around.

Since the Feather does HID and can answer a terminal, I should be able to set it up for software control from the laptop. I'm using them to send serial to a neopixel "Jewel" each; a cluster of 7 RGBW LEDs that between them should put out about half the wattage per channel of one of my Cree. Or about twice the wattage I run the Holocrons at. Visual intensity is of course power law so make of that what you may.

I have three days to write the software. Three working days, in which I'll be at my day job, also cleaning up some microphones for a renter, making a meeting or two, and shipping a Holocron kit out.

Boards are answering the programer now -- had some problems with board definitions and a missing library. Should probably test the neopixels next as that will give me feedback for the RF link stage of the programming.

Tuesday, April 3, 2018

It Takes a Village: Assassin's Creed III

I've been tempted by the Assassin's Creed series for a while. There are surprisingly few games with a historical theme, and almost none that allow you to walk among the people of that time; most are big-picture wargames.

On the downside, assassins. As in, a lot of the gameplay is stealth (not my taste) and the entire impetus of the plot is about, well, killing people. I will give it this, though; death is far from depersonalized in this game ( least for named characters!) The game confronts head-on the idea of ending a life, ending a story. It doesn't try to minimize the irreversible nature of what that is.

Saturday, March 31, 2018

There's no strings on me

...they're all over my workbench.

So the Vorson is re-strung with D'Addario EJ22's; "Jazz Medium Gauge" nickel-wounds. I shifted them one size up because of the shorter length; B string hung as E string, etc., then tuned them to guitar top four. That means most ukulele and guitar chords translate. Downside is the lowest string is only a D, so no playing the James Bond riff on this guy.

I sort of miss the sound of the original strings -- it was bright and edgy -- but I don't miss those cheese-slicer unwound strings at all. Plays fine through a mini-Fender and with my old Boss effects unit in front of a 10W Tourbus bass amp.

I cut the bridge a little more on the chincello to make it easier to hit the middle strings. That C string has such a high profile (seriously, it's a sixteenth of an inch in diameter). It also buzzes a bit. That's the string that's really pushing it -- going down an octave and a fifth is a bit much for a violin frame. I'm hoping a stickier rosin will help that. Some people suggest turning the bow a little and that seems to help as well.

It sounds quite cool through an amp, even a mini-fender. I haven't tried any effects on it yet.

And, yeah, that's enough stringed instruments so this became my big project this week:

I also wrote it up as an Instructable. After taking the pic above, though, I increased the width to 30" and now it comfortably fits all my strings. Now all I have to do is clear the pile of electronics at the foot of the bookshelf so I can put the stand over there.