Tuesday, December 20, 2016

Junk Box Arduino Software

It's been brought to my attention that the Apress link for the Junk Box Arduino software no longer includes the Cestino hardware package, which you need to upload to the Cestino once it's built. I've contacted Apress about this and we'll resolve it ASAP.

In the mean time, all the software mentioned in the book should be available here: https://github.com/jrstrick?tab=repositories

Sorry about that.


Apress is on the case. We should have all the software in the official repository soon.

-Followup 2-
Apress's github repository now has all the software. Mine now has all the projects. Should one be a fork of the other? Probably, but I haven't figured out how to do that yet. I'm a git newbie.


Friday, December 16, 2016

Rogue One: A Star Wars Story

Just got back from Rogue One. Ye gods, I've been seeing Star Wars movies for nearly 40 years now. Short version: It's good.

Rogue One is maybe the first Star Wars movie that really makes it obvious that this is //war//.  War is ugly. War is full of moral compromises, a race to the bottom of the end justifying the means, and the "good guys" may be the last ones with //some// humanity standing. How's that for vague?

I like that it's told in a visual language much like footage from the Vietnam war, with a strong dose of the atomic bomb test at the Bikini Atol. Yes, those of you too young to remember the former will have to look that up. The latter was before my time too.

I like also how the Rebel Alliance is portrayed.  This is really the beginning of their history, and remember, they came largely from the Old Republic's Senate. They're not the single minded, dedicated Rebels we come to know in Ep 4 and later.

Above all, this is a movie about an intelligence mission surrounding the launch of the Death Star. The whole movie comes from the first two lines of Ep 4's crawl, (full text here.) The setup is so up my alley it hurts.

Flaws?  Sure. Sometimes it's overdone how much the Rebel fleet gets involved, but it's not a Star Wars movie without at least one space battle, right? The action sequences stretch out, sometimes drearily.  There were non-battle scenes I still wonder why they were there, and I wish they'd cut them so I could get to know some of the main characters more than I did. And what //is// it with the Empire and building everything around multi-hundred-foot drops? The usual complaints.

But seriously. See this movie. It's the best Star Wars movie of the last five, and far, far better than J.J.Abrams' mess in The Force Awakens. See it. And think about it.


Wednesday, November 30, 2016

Trustworthy News

Where do you find trustworthy news?

Ideally you don't trust any of them. "Trust, but verify." is a good meme. If one site comes out with something shocking or unusual, check the other sites. They're all nominally doing the same job, but each one puts its own spin on a story, and when one site deviates from reality, others will often lag behind. The truth is, short of traveling the world and talking to people ourselves, we have to trust news at some point. The Internet gives us lots of opportunities to talk to people all over the planet from the comfort of our computer chairs.  Use this. Talk to people. Especially talk to people who are different from you. I've found it's a lot harder to be a bigot against group X (fill in your fave) when I've got online friends who are in that group.

I've been a netizen since about 1991. I like to think I have a fairly well trained bullshit filter that some who've joined the conversation more recently may not have. Here are some suggestions for finding trustworthy news.

Generally speaking, the more shrill a site's writing voice, the more I suspect it's content is probably bullshit. If they're trying to get me riled up, or their language use tells me they're clearly aimed at a 4th grade reading level, I assume that they're trying to get me to stop thinking, and that's always suspect in my book. This precludes //all// political talk shows, left and right, all of Fox News in its entirety, most of CNN, ABC, and CBS.

American broadcast news is entertainment. It's reality TV. Once upon a time they made their names for the best reporting and investigation, but in those days the broadcasters were required by law to produce news, and quality was the only thing they could compete on. Then came the Reagan deregulation, and news had to earn its way in the ratings. They do, by trying to keep you scared to death and glued to the tube. They all took notice of CNN's performance during the first gulf war, and how all of us had the tube tuned in there 24/7. The result has been a predictable, steady slide into hyperbole, fearmongering, unsubstantiated garbage news, and that's what we have today.

I also look to see if a news site tends to fawn over a given candidate or pillory them.  That's a big tip to their bias, if they have one. If you get the feeling that one or the other candidate is //the devil,// yeah, you might be dealing with a screaming political monkey site disguised as a news site.

I assume that any news on Facebook, Tumbler, any blog, YouTube, and to a lesser extent Google is probably bullshit, unless I can find it on reputable news sites, or at least well known sites on both sides of the aisle.  "I read on Facebook..." should carry the same weight as "My crazy neighbor said..." Seriously. Your crazy neighbor is on Facebook too. Here's the problem.

Once upon a time, publishing was expensive. There were barriers to entry, to producing a well made newspaper, for example, and getting a reputation for printing nonsense usually meant you didn't recoup that investment, the National Enquirer and other supermarket tabloids notwithstanding. Social media is, effectively, free. You can, I can, anyone can produce something that passes all the traditional "quality" measurements of a news source - spelled right, nice font, nice layout, etc.) so it looks official. We all learned those things to tell a prestigious news source from a bogus one, and they're useless today. I wish it was not so, but it is. Everybody can publish today, and the people most motivated to do so probably have some axe to grind. As a news consumer, keep that in mind.

So. Given my 20some-odd years experience as a netizen and my jaded, cynical attitude toward online news and news in general, you might wonder what I read at the moment. Well, here you go. These are the sites whose news I take more seriously.

I read the BBC's international website. I'm sure the venerable BBC has its own bias, but it (theoretically) will be a British-centric bias that makes little or no sense in American politics. I also read the CBC's British Columbia website. Canadian and British reporting tends to be calm and cool headed, which I appreciate, and the worldview of both nations, while politically quite different from ours, seem to be rational and calm, and that's a plus for me.

I've been reading Reuters of late. They seem to take a calm, rational view (except perhaps for their editorials, but opinion is a perk of writing editorial). I'd say they lean a little left, but as that's the side of the aisle I sit on, it's hard for me to be sure.  Likewise, RealClearPolitics.com seems to have a cold, rational viewpoint, albeit leaning a bit to the right. Again, my bias is slightly left of center, so they might be centrists and just look that way to me. I haven't read them much since the election. I've been trying to ignore politics until my blood pressure gets back to normal and I can sleep reliably again.  I do still look at CNN.com, but it's a guilty pleasure these days, not unlike reading tabloid headlines at the grocery store.

If you know of other good, fact-based news sites, do please comment. Comments are always welcome, so long as they are polite. I do read and vet every comment before it comes up, which is why the usual ads for a larger pe*is are strangely missing from my comment feed.


Friday, November 11, 2016

...I learned in D&D

Everything I Need to Survive an Election Cycle, I learned in D&D.

Back in the day (early to mid 1980s) I was a fervent D&D player. One of the banes of our existence as characters were illusionists.  Basically harmless, magically, but their illusions could cause genuine havoc, make you waste attacks on unreal things, and so on. As with anti-fireball formation (we all march 10 feet apart in open country), it became standard practice when attacked with magic to "attempt to disbelieve."

Attempting to disbelieve, in the D&D of the day, was an interesting thing. It was a roll against your intelligence or wisdom (I don't recall which. It's been a long time. Probably Int, since my characters were notoriously low on wisdom.) to see if the illusionist's spell actually convinced you.

Today, the mainstream media and all the screaming monkey political sites to the left of center are screaming themselves horse that the end of the world is nigh. A Trump presidency will waken the Deep Ones and that really will be that. Which is pretty much what they've been saying right along.

Attempt to disbelieve. Gosh.  That changes things.

This translates to: The end of the world is nigh for mainstream media. I already talked about that. The end of the world may be nigh for the authoritarian left, who would willingly censor anything that disagrees with them. In both those cases, I say bring it. We'll get by okay without either one.

You're a racist/sexist/fascist if you don't believe {whatever} about Trump.

Attempt to disbelieve.  Gosh. That changes things.

This translates to "Believe what I say you should, or I'll call you names."  Tell you what. I'll believe what I see fit, you believe what you see fit, and together we'll see who, if any of us, is right. I've been wrong about things before. I will be again, but I'm not afraid to face that. If you are afraid to be wrong, well...grow up. Get used to it. None of us are all knowing, and to my way of thinking we'd all better take a big dose of humility before we tell someone else what to do or how to think.

Those {insert political slur}  will be the death of the country/liberty/etc.

Attempt to disbelieve.  Gosh. That changes things.

It's a big country. There is room for lots of ideas. Not all of them are nice or pleasant, and I guarantee that some will offend you. If nobody is actively attacking you, bear in mind that talk is cheap. Nowhere has this been more apparent than the preceding political cycle. Talk was cheap. Talk was so cheap that virtually nothing of substance was discussed.

If you're not with me, then you're my enemy.
Only a Sith deals in absolutes.

Attempt to disbelieve. Gosh.

Those were the two most singularly stupid lines in the entire Star Wars prequel trilogy. The first, because it's the culminating whine,  telling us not that Anakin has fallen, but that he's gotten so far up his own arse believing his personal struggle, that anyone who dares disagree is clearly attacking him.  The latter because Star Wars is a fairy tale. The entire rest of the series has been about resisting and fighting the dark side, that there is good and evil, and that good will triumph. It's a little late to apply realism to the matter, but what the heck? Let's go on ahead and look at it as though they were real people.

Shit, Obiwan, did you somehow miss that Anakin was losing his mind? Why not back off a few steps and listen. Let him tell you what he's seen, because clearly you've missed some major events in his life. Okay, okay, Obiwan wasn't in any better shape. He'd just seen all the young padawans in the temple slaughtered by Anakin, and the last thing he wanted was to lose the will to kill Anakin Skywalker. Whatever he said, he believed the same thing. If you're not with the light side and the Republic, you're against it, and thus, my enemy. Cue the highly improbable lightsaber battle.

Seriously, anyone who believes the first line is so caught up in their own narrative that they're not really cogent of the outside world, and they're showing zero empathy. (See also: mainstream media.) Yes, I know it's paraphrasing Matthew, from the Bible.  That may be important to you, but I actually had a class in college on Biblical lit. I have some idea how the book came to be what it is today, so it doesn't surprise me to find horse nuggets like that scattered amongst more useful stuff.

Since we're not just filling in a patch of bad dialog before an epic duel between Good(tm) and Evil(tm),  if someone says that to you, and they're not actively pointing a gun at you, listen to what they're really saying: I'm upset. I feel backed into a corner and assaulted from all sides. Will you please not be my enemy?" It takes patience. The aforementioned mainstream media has everyone's nerves raw, especially those of us old enough that we took mainstream media seriously in this election. We're like Obiwan. We've seen too much. We know changes are coming and we're probably not going to like them, and it's hard. But let them calm down. Then talk to them.

Those {insert political slur}  are evil for evil's sake.

Attempt to disbelieve. Gosh. That seems pretty unlikely.

Most people, the overwhelming majority of people, just want to get through their day, get home to the family, take care of their children, cats, etc, and get some sleep. They don't sit in dark rooms cackling on how they can do EVIL tomorrow. That's a fairy tale trope, and it has no business in fiction meant for adults, let alone real world thought. There are sociopaths in the world, either born that way or, more commonly, tortured (particularly early in life) to the point where hurting others is the only pleasure they know. By traumatizing someone, you push them that direction, and you encourage them to generalize it to everyone like you. My hypothesis here is that the alt-right was essentially created by the political correctness movement that made it ok to attack someone for any little offense. I do not for a moment say those offenses weren't real or important, only that attacking someone is almost never a good idea. As friend Jeff might say, that's tribalism at work. Activism is not a license to be an asshole. It's a sales job.

I don't owe any respect because they're {insert something you don't like.}  

Attempt to disbelieve. Yeah, actually you do. I think they call this manners.

You owe, I owe, we all owe everyone basic politeness. Basic politeness is how confrontations are de-escalated, and as Mark Macyoung says, "The word 'Mother****er' plays no part in de-escalation." Does that mean we must yield all our personal mores and values? Of course not. What it means is simply asking yourself "if the tables were turned, would I want to be treated this way?" and asking it before you open your mouth or sit down to write a post, or shoot a video. Sadly, the answer "I have been treated this way!" is not license to do it to others. It's do you want to be treated this way. Some people will take advantage of this. There's an asshole in every crowd, but politeness is how we keep assholes from running the civilization.

I know everything. You should listen to me.

Attempt to disbelieve. Hoo boy. There's a whopper.

Hey look. I'm just some guy who's written a few novels. Like I said, I've been wrong before. I'll be wrong again, and I'm ok with that. What I'm trying to put into words here is just...please, be patient with your brother/sister/othergendered Americans.  Both sides of the political fence have had a hard few months, mostly at the hands of an idiot media. We're in this together, and we have to make it work together. It would be good if we could avoid killing one another over it. If we can agree on this, then we can talk about how big a 10 foot diameter fireball is and why detonating it in a 10x10 hallway is a bad idea.


Thursday, November 10, 2016

The Media that Cried Wolf

Whether or not you supported our new president elect, one thing I think we can agree on is that the mainstream media lost its relevance in this election.

In my opinion, big media has long overstepped its bounds, and rather than reporting matters as they are, take it upon themselves to try and shape the opinions of Americans. This dates back to the yellow journalism period, where William Randolph Hearst and others whipped up a war, essentially to sell newspapers. (“You furnish the pictures and I’ll furnish the war.” – William Randolph Hearst, January 25, 1898.)

In this election, the media dug up every disgusting thing both candidates ever did, and fabricated more besides. By the time we went to the polls there were no good choices. The problem is, they'd been doing that since the Reagan era. Having screamed that the end of the world will happen if candidate X is elected every election cycle for 30 years, the media effectively cried wolf. Over and over again.

The age of terrorism as we know it today is also an example of outsiders manipulating the media by giving it what they want reported in a way that the media can't ignore. The last age of terrorism, the late 80s, (Anyone remember Pan Am 103, which was bombed over Lockerbie, Scotland?) really only subsided with Chernobyl and the fall of the Soviet Union drawing media attention away. In truth, the threat of terrorism is real, but the average person in the U.S. has the same chance of being crushed to death by furniture as being killed by terrorist activity. To whit: in 2015, according to CNS.com's digest of the state department's country report on terrorism, 28,382 people died worldwide due to terrorism. In America, that's 9 days worth of car wrecks. But terrorism makes the news, it keeps people glued to tv sets. It keeps them afraid, and it sells advertising time. Again, the media cries wolf.

Well, we might actually have a real wolf on our hands. If even a little of the stuff Trump is alleged to have said is true and represents his real opinion (always a good question with him) he's a disgusting human being and should never have been a serious candidate. But guess what? The traditional media, having said the same kinds of things about every presidential nominee for 30 years even when they weren't so bad, was roundly ignored.

And then there was the polling.  Some months ago, having been bombarded with survey robocalls, I signed our house phone up for NOMOROBO (I'm old, I still have a house phone.) The silence has been deafening. We got literally dozens of one-ring calls, which indicate that NOMOROBO has intercepted a telemarketer, a robocaller, or presumably a political pollster, since we heard from only one or two of them through the whole cycle, despite being in a swing state. I have to wonder if any of the polling companies' secret sauce statistical crunching accounts for the people who just hang up on them.  According to the New York Times, a given poll has to call 20,000 numbers to get a 1000 person sample. You're no longer sampling a random sample in that. You're sampling 1 in 20 people who either want to talk to pollsters or don't have the technical savvy to stop them. The results of this inaccuracy was, along with the Democratic party's rigging itself against Sanders (and whatever else you and I disagree on, surely we can agree that Wasserman Shultz deserves a jail sentence for that.) with the assumption that Clinton could win, and the ongoing assumption that she would win, despite her numbers never being better than the margin for error.

So where does that leave us?

Big media is now valueless in the quest for understanding what's going on in this country. Any trust we had left for them has been shown to be undeserved. On the face of it, it's been replaced by the vast gossip mill that is the internet, but the key difference is that if you lie on the internet, it's even less likely you'll be called on it, or that anyone will hear about it if you are. The noise to signal ratio is too great.  (Snopes.com tries, and appears to be reasonably balanced, whatever the shrieking political monkey sites tell you.)  It's an interesting problem, since our very constitution was predicated on the idea that a free press will keep the people informed so we can make intelligent decisions. Big media is not a free press (they have corporate agendas), and while the internet is a free press, it's also an irresponsible one. In the era of the media that cried wolf, I don't know what happens next. It's reasonable to expect that we will adapt, we'll learn to filter the internet as we did the news before it. (Some of us have been filtering for decades. It's the new people who seem to be more gullible.)  But all I can say at this point is this: Donald Trump will be our president, like it or not. (Yes, he is your president, just like Obama was //theirs//. Like it or not.) That's our political process. We'll see how he measures up to the media's caricature of him. I predict that nothing much will happen, to be honest.  The same political gridlock that paralyzed President Obama will do the same for Donald Trump. But whatever happens, we certainly cannot and should not rely on big media to tell us. It's now incumbant upon each of us to find trustworthy sources of news, and to listen, and then think for ourselves. We should probably have done this years ago. Now we have to. Big media is dead.


Wednesday, October 26, 2016

Arduino and Mile High Con

I will be at Mile High Con this weekend. I'm not on any panels or doing any readings. For the second year in a row, I'm just going as a fan. It just worked out that way. I wasn't sure enough I'd have new fiction out to sign up for anything when the deadline came...and went. But I'll be around, so if you have a copy of something I wrote and want it signed, hit me up.

 Some thoughts on Arduino: When I was writing Junkbox Arduino, I did not realize how much I was taking the Arduino IDE and compiler for granted. There are better microcontrollers out there, most notably the NXP LPC1114, a 32 bit ARM device capable of running at 50MHz, and available in a DIP package. It sounds great until you try to get a development environment for it. Just try, I'll wait. Waiting... You can get the non-free one from NXP, windows only, you can get the GNU suite (a big install, whole separate compiler and everything) or you can diddle Clang/LLVM to generate code for it... but libraries? Documentation? It's all fragmentary, and much of it seems to be unfinished. For better or worse, Arduino puts all of that in one convenient glob. (I hope they keep doing that. There's talk of a web based tool, which I can't get behind at all.)

 It's worse if you want to get into programmable logic. There, you're either stuck with closed source, licensed stuff (free as in beer in some cases, but still) or stuff that's reverse engineered and of questionable legality (to say nothing of the fact that it could be weeks or months before API changes are caught up with) Even with old ICs like GALs, the tools are either antique (DOS based) or good but undocumented (Palwiz), and all the programming devices are reverse engineered. If you're wondering why I haven't started a new technical book, this stuff is why. The proprietary BS is on my nerves in a bad way, and I have a lot of questions whether I even could write about these things without stepping on someone's IP if it's not in the datasheet. I got a taste of it with the PATA/IDE project in Junkbox Arduino, and while the ANSI folks were very kind and helpful, (full props to them) I still didn't like it.

 I may have to go back to software books. I can, at least, write about open source projects with impunity. Meantime, I'm starting to make some headway on Brass and Steel: City of Glass, the second installment of the Brass and Steel trilogy. All I can say right now is this: airship collisions are complicated. :)


Thursday, September 29, 2016

Brass and Steel: Inferno is here.

I got word from Amazon this morning that Brass and Steel: Inferno is available in both formats: DRM-Free Kindle and DRM free paperback.

It's 1895. Business is good.

Out in the wild part of the country; where the wave of post-war prosperity washes up on the dust of the Old West; a million dollars worth of silver has gone missing. It's a routine case for Marshal Dante Blackmore. But there's nothing routine about Perdition, nor the mine, nor especially about Inferno, a mystical club that rises like a shining idol into the bloody sky. Blackmore will have to risk all the humanity he has left to unravel the case, find out the truth behind the Doppelgänger war, and his own dark secrets.

I've been saying for a long time that my short story Brass and Steel, originally published in Science Fiction Trails magazine had enough implicit story to be an entire novel, perhaps a trilogy. This is that novel. My first novel-length foray into Steampunk, it tells the story of a town locked in the final conflict of a long-dead war; of the man whose job it is to solve a crime there; and the hornet's nest he kicks over in the process. Very, very little is as it seems, not least of which Dante Blackmore, the hero of the story. It's finally in print, wrapped in cover art by the always awesome Richard Bartrop.

Wednesday, September 28, 2016

Inferno is Coming

Brass and Steel: Inferno is coming.
I've pulled the trigger on both Createspace and KDP. There's no buy link on my web page yet because Amazon hasn't generated the URLs yet.

Monday, August 8, 2016

Tip for Apple Airport users:

Check your WAN ethernet settings. If you have modern cable modem, you want gigabit Ethernet. Just switched mine, and got a /big/ speed boost.


Thursday, July 14, 2016

Junk Box Arduino - updates in my website

I just updated the website to list Junk Box Arduino. The cover price is $34.99, although as usual from Amazon, you never pay full list. Also, I noticed something in the book. If you buy the hardcopy, which quite a nice book, by the way, you can get the ebook for $5.00.  Full details on the last page of the physical book, or on the website it points you at, which is here: http://www.apress.com/companion. Cool. I didn't know about that.


Wednesday, July 13, 2016

Remember that technical book I was writing?

So I got an email from my publisher today. My review copies of Junk Box Arduino: Ten Projects in Upcycled Electronics are on the way.  Hokey smokes, I've got a new book in print. :) Apress seems to be spreading the word far and wide too, There are even (allegedly) torrents of it. While that's bread off my table, still, I've never had a project big enough that anyone's stolen it before. I'm back in the saddle, hanging on for the ride.

Of course, this means my part in this project is pretty much done, so I've been tinkering with some new ideas for the next book. Presently leaning toward programmable logic - start with TTLs and work my way up (perhaps) to FPGAs. Here's what I want to be able to do next. I want to build a computer, from scratch. Not from boards sourced in China. I've done that. Not from boards sourced in Oregon, and parts sourced from everywhere and solder. I've done that. I'm still doing that, and it's still fun. But I want to design one myself. I'd like it to have ICs that don't require a microscope to work with, but that's really impossible once we get to the FPGA world. They're creatures of the modern era, and thus, SMD. I don't know how this project is going to look yet, whether it will be a breadboard monstrosity (the current model) or stripboard or perfboard, or even wire-wrap (probably not.).  If I make good on my FPGA threat, it might wind up designed and built inside a single pre-made board, although that smacks of magic again, and I really don't like treating electronics like magic.

Anyway. Book in print good. Review copies coming.  I have a list of people I've promised review copies to, so expect to hear from me soon.



PS: the book link is here: https://www.amazon.com/Junk-Box-Arduino-Projects-Electronics/dp/1484214269

Saturday, June 4, 2016

Replace Chrome App Launcher in Xubuntu Linux

So Google has announced that the Chrome App Launcher isn't cool enough, and it's being discontinued. Since I was one of the eight people who actually used it, I was a little annoyed by this, so I set out to replace it with a plain old launcher.

First, kick off Chrome, right-click on the bookmark bar, and tick "show apps shortcut." You need this.

Next, go ahead and delete the Chrome App Launcher from the usual panel.

Now right-click on your panel where all your other launchers are (yes, I came from the Mac world and my panel #1 at the bottom of my screen looks remarkably dock-like,) click panel, add new items, and select Launcher. Then click on Add.

Right-click your new launcher and select "properties."  Click the plus button to add new items to the launcher. Search for Chrome first, and add it. So long as Chrome remains the first item in the list, the icon will remain Chrome, and that's really what we want.

From your Chrome window, click the apps shortcut at the far left of your bookmarks bar. This will list all your apps.

Right-click on each chrome app and select create shortcut. You can put them in your applications menu if you want to, but the one that's most important is a desktop shortcut. Do all the apps you have.

Select all the google app shortcuts on your desktop and drag them to the Chrome launcher properties window. Then close the properties window. You can delete the shortcuts off your desktop, too.

That's all there is to it.  Now, if you click-and-hold the icon, or click on the little up-arrow beside it, you'll get the menu. Click on one of those, and Chrome will launch with your app running. If you just click on the icon itself, you get Chrome.

Now I just have to figure out how to make this happen in Raspbian, although at the speed Chromium for Raspbian is updated, I should have another decade before Chromium launcher goes away.


Monday, April 4, 2016

Looking Glass and Irreconcilable Differences Dead Tree Editions

Looking Glass and Irreconcilable differences are, at last, on Createspace in dead tree editions. Yay! I'm back in the printed book business. :)


Wednesday, March 16, 2016

Getting Minipro 866 working with Raspberry Pi

For some time, I've had a Minipro TL866CS eprom programmer that I got on Ebay. While it works very well, its software is windows only. I'd like to move it downstairs permanently where all the eproms and whatnot live. I'd also like to move my logic shrimp (a logic sump compatible open source logic sniffer) down there, as well as have a terminal and a browser and email and all that good stuff in my workshop.

The obvious answer would have been a PC. If I had a spare that worked. Since I don't, I turned to one of my stack of Raspberry Pis, in this case a model 2b, formerly my desktop Pi before the model 3s came out.

The upshot: my basement Pi now has minicom for terminal/rs232 stuff (I still need to test that with a USB rs232 dongle) OLS, the logic-sump compatible software I'm used to (which I also still need to test with the logic shrimp). I figured it would be a simple matter to download the minipro software from here: https://github.com/vdudouyt/minipro, compile, plug in the minipro and go.

Nothing worked. The minipro flashed its red LED continuously. It wasn't getting enough power. I'd stumbled over the solution to this before. Edit the Pi's /boot/config.txt file and add the lines:

# Increase max USB current

to it. Now the Minipro's LED stayed on, but the minipro open source software still wouldn't talk to it.

lsusb showed the 866's USB ID, 04d8:e11c, properly, but listed it as a Microchip Technology device. Which tells us who made the USB chip. This was different from my x86-64 Linux machine's enumeration, which I suspected was why the software wouldn't see it. I'm not sure this step was necessary, but it didn't hurt anything. I coped /usr/share/misc/usb.ids file from my desktop linux machine to /usr/share/misc/usb.ids on the Pi. Now the 866 enumerated identically to how it did on my desktop PC. The software still didn't work.

My next attempt was installing the latest libusb-1.0.yadda. I'm fairly certain this step is unnecessary, but I downloaded libusb-1.0.20 from http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.20/ , built, and installed that. It worked fine, but the minipro software /still/ didn't work properly. So I dug into minipro's source.

The problem I was having turned out to be unrelated to USB (Or I'd solved all the USB problems already. It's hard to tell in retrospect.) the minipro software was built on an x86-64 system, where chars are all signed in C. On arm architectures like the Pi, chars are unsigned. In the parsing function of the minipro software, the author uses one variable, a char, to store the output of getopt() whether it's valid or -1, which getopt returns when it runs out of options. If you store -1 in an unsigned char, you get 255. It's not equal to -1, which the line tested for, so it tried to parse it. Finding no valid commands with that character value, the parser loop promptly decided I'd fed it garbage, gave me the instructions, and terminated the program.

Once I understood that, the fix was pretty simple. Edit main.c and change the char c into int8_t c. (Coding on Arduino has made me paranoid about making sure my data types really are what I think they are.) I've sent a pull request to the original author with these changes, or you can download my fixed source here: https://github.com/jrstrick/minipro  (Update: the Minipro  dev accepted my pull request, so the main trunk should now work properly.)

You might be aware there's a Qt GUI for the minipro software out there. You can get it here: https://github.com/wd5gnr/qtl866 , but I have not yet gotten it to work with the Pi. It gives exactly the same error the command line used to, even with the fixed version, so I'm suspicious of how its option string is being built before it calls minipro, but I don't know Qt at all. I may hack at it more later.


Wednesday, February 10, 2016

Looking Glass on KU Updated

Noticed a lack of embedded fonts on the new Looking Glass ebook? Yeah, me too. I fixed it.  Give Amazon a few days to approve the update and push it out to their servers.

Monday, February 8, 2016

Yay! Updated website!

The big news: Looking Glass and Irreconcilable Differences are BACK IN PRINT on Kindle Unlimited. This means that if you have Kindle Unlimited, you can get my books for FREE with your subscription. If you don't, they're $2.99 each through the regular kindle store.

Both books are at edition (version) 2.1, which means I've cleaned up various typos that made me cringe over the years, and sanded out one or two spots where I meant to edit something when I wrote them and forgot. Both books also come with a brand new forward and new (better) typesetting including embedded fonts.

The cover art is the biggest noticeable change. Looking Glass's cover is built from iStockPhoto images, composited by yours truly. Irreconcilable Differences' cover is also composited by me, but from photos sourced from NASA (free!) and Second Life (Also free, but I had to buy the props.)

What does this mean?

I've finally decided to take control of my fiction. I'm no longer interested in having some publisher take 3/4 of the purchase price to throw it out into the world, leave it to languish there, and then not pay me when I'm owed royalties. They all seem to do it, they all want sickening control over the work, and most importantly, the trad publishing industry is in a state of contraction. This means companies are being bought and going bankrupt. The very last thing I want is one of my books to become an asset of a company being bought or going bankrupt, where it may sit for years while the litigation is sorted out, and then be simply misplaced forever. Likewise, I've been a creditor of a (functionally) bankrupt publisher. I don't do debt collection happily.

Moving forward, yes, there will be new books coming that have never seen the light of day before. Watch this space.

Also, I am in the process of getting Looking Glass and Irreconcilable Differences set up on CreateSpace so you can buy hard copies of my books again.  On this, I should say that if you see the older orange and green covered books, do please buy them. Some bookseller took a chance on me in the Flying Pen Press days, and I'd like to reward them. Most of them are selling at a discount below what my list price will be anyway. As I get into the new work, it too will be coming out in both KU and CreateSpace. I still haven't stopped getting a little giddy when my work appears in dead tree editions, so I'll be doing that for the foreseeable future.

Also, my website update now sports a "Technical Writing" section, and so far its only occupant is "Learning Linux System Administration,' a series of videos I did with Infinite Skills (part of O'Reilly) last summer and talked about at some length. I'll keep you posted right here when the next technical book comes out.


Tuesday, January 26, 2016

In my opinion, the usual plumbing analogy for how conductors work does more harm than good. Electrons do not flow. They are stripped from one atom and stuffed onto its nearest neighbor, quite slowly. Since atoms are very, very close together in conductors, this means the net /charge/ flows through the wire, somewhere close to the speed of light.

Even charges are not like water in a pipe. Charges are relative. Water isn't, really. You're either wet or you ain't.

It seems to me that electronics are much, much less confusing when you learn a little of the physics involved, so you can see what the electrons /are/ doing, and what you're really measuring. Doubly so when you can think about the physics to understand more about electronics and not be led up the garden path by a bad analogy.

There are places where electrons do flow like water: inside vacuum tubes. Ironically, this is where the water analogy breaks down the worst, because the electron flow is /backwards/ to the direction the tube conducts current. It took me a long time to get my head around them.


Monday, January 18, 2016

The Force Slumbers

In terms of story, after nearly forty years, the Star Wars franchise has passed from the hands of its savant creator, who spent the rest of his career not understanding how the original worked, to the hands of chimpanzees. Disappointing. There are good characters in there, but we hardly get to know them because the movie is paced so badly. Slow scenes where there should be fast ones, fast scenes where some character development and world building might have been good, and don't get me started on the fan service. Please JJ, let someone else direct the next one. More importantly, hire a writer who knows how to tell a coherent story.

Saturday, January 16, 2016

Having now read Persig and Wilson, and in preparation for my journey into Hesse, I've begun to think that if you want to understand the culture of today, you have to first understand the counter culture of 50 years ago. (Egad).  I very much suspect that the culture of today is powered by the same dynamic tension that spawned culture and counter-culture then.

I also had no real idea that I was reading counter-culture authors, until I read that Hesse was made popular in the U.S. after his death by Colin Wilson and Timothy Leary. I probably should have guessed.


Thursday, January 14, 2016

Machine Language in video game ad terms

In order to write a program, you need variables, and objects, and memory management.
In machine language, you haven't got all that.
What you've got is bananas and underwear!
(or memory, opcodes, and data, take your pick.)

I can't find the commercial anymore, but I /think/ it was for a video game based on the Jungle Book. The narrator was a sound-alike for R. Lee Ermey.

Edit:  This commercial: 1994 Jungle Book video game ad

Blog Archive