Author Archives: John

About John

I write about technology interests, cooking, and my own writing (sci-fi and fantasy... sometimes both). I try to keep things light, but sometimes I get side-tracked on an issue that I feel strongly about. No offense is meant, I'm just like any other person who feels strongly about something when I write.

Self-Driving Cars, Smart Devices, and so forth and so forth

I’ve been quiet on this blog for a very long time.  The original intent was to express my enthusiasm about technology, innovation, and the amazing new future we were entering into.

Then, I got scared.  The kind of scared that indulges in paranoia.

Only recently have I really started to surface from that fear and returned to a cautious embrace of the technology of tomorrow.  So what did I fear?  Well, the usual when one knows or thinks too much:

  • Google is tracking my searches
  • My phone is listening to me
  • My phone knows where I am all the time
  • Google, via my phone, is listening to me and knows where I am all the time
  • {ahem} and so forth and so forth

There are, of course, ways around this, and settings to make on various devices.  Also, there is a reality.  In a nearly infinite sea of data, Google doesn’t care where I am.  Nobody really does, outside of people I know.  My shopping habits are tracked, and I’m marketed to — but the likelihood and reality of that data being used against me in a personally invasive way is in the very low percentages.  We read and hear news stories about identity theft, and fear-mongering that drives us to absurd measures and perhaps to even pay for services.

Guess what?  If it’s going to happen, it’s going to happen.  Unless you’ve spent your entire life “off the grid”, never had a mortgage, bank account, credit card, loan, or presence in this modern world, you are vulnerable.  Just like you are vulnerable to all of life’s other dangers like car crashes, lightning, meteors, and bad coffee.

So, well, wow, and so forth… I take a few steps forward to be as conspicuous as a grain of sand in a desert.

1) Self-Driving Cars

This isn’t going to be a commentary on them, nor do I have one, nor do I want one.  However, there is a growing market here.  There is a blooming industry.  There are myriad technologies required to support this.  These cars need maps, probably good voice-recognition, software to run them, sensors to detect other cars, and so much more.  It is, really, a truly amazing thing.  It’s a bit scary — as it should be — but amazing.

This falls under the “it will be the future, get used to it” category.  At some point, someone reading this will hop in a cab to go somewhere, and there will be no human sitting in the front seat.  You will need to get to that somewhere, and you’ll have limited options the foremost of which being to get out and find a “human-piloted ride” or accept the ride you have a not run the risk of running late.  I hope it never happens to me, but I am also resolved to just “roll it with” should it happen.

2)  Smart Devices

First, the fanciful.  As I sort things out at a vacation home, I realize that I could get a few “smart home” things there that would make my life easier.  For example, smart outlets that could turn things on for me. There are security options as well that could help me keep an eye on things such as mysterious vehicles that like to park in driveways while the occupants of said walk around the house, peeping in windows.

Second, the entertaining.  I’m sure the generation that doesn’t know what “x86 architecture” means is tired of hearing “this has more power than my first computer!”.  I finally plunged into getting an Amazon Fire Stick and live in amazement at all that it can do.  I haven’t explored much beyond the streaming Netflix/Prime content, but there are games, and other apps for it.  It is, as I said, amazing.  However, I did opt for the “voice free” option, because I do like having one less device around that can listen, is listening, might-be-listening to me.  Paranoia isn’t something that can be stamped out over night — that tin-foil hat took a lot of love and caring to make.

Finally, the practical and practically  over-the-top.  After much criticism about smart watches, I got one.  The technology has come quite far since the first and second generations that were monochrome, ugly, uninteresting, and did little more than tell the time, check heart-beat, and be a pedometer.  I truly got excited about what it can do.  I am actually able to keep track of texts (which I generally dislike).  It’s nice to more easily monitor calls.  When I need to have my phone silenced, I can still know if I’m getting an important call.  I can activate certain things via a voice app — much like most smart phones — such as sending people a text, calling someone, and setting a timer.  I doesn’t allow me to schedule appointments, and I really wish it supported that.  Otherwise, the other little silly things it does — reminiscent of early model smart-phones — is gravy, useful, and amusing.  Also, the amusing health reminders are ultimately useful.  {ahem}  This thing has more power than my first computer!  And I wear it on my wrist!  There.  I said it.  Accept that I’m “one of those people”.

Bonus!  Google Calendar.  I avoided it for so long, and now I use it so much I can’t think about going back to anything less convenient.  I haven’t yet been in a place so isolated, or otherwise without power, that I couldn’t review any important calendar item.  If needs be, and were I to be so incredibly remote, I would already be tending to whatever appointment I had on my calendar (e.g., “Go away for a week and totally unplug.”).  I’ve gotten so bad about looking at our paper calendar that when my, heh, luddite “better half” reminds me of some event, I have to make sure it’s on my Google Calendar or I will almost certainly plan something for the same day and time.

And so forth.

I think I addressed all of the other “and so forth” items.  I do have to give a nod to one of my grandfather’s army buddies who was extremely fond of the phrase “and so forth, and so forth”.  It seemed appropriate here as I — like the blog title says — rambled a bit.

Dropbox on Linux (namely, not on Ubuntu)

Alright, don’t get excited.  This giant repository of things for me to remember is getting another update.  It will be so dazzling, that I’m sure you will say “Well… DUH!!!”  Here it is anyway.

I was looking for directions on how to get Dropbox running under Linux.  I have had reasons on one of my machines to move to Linux Mint [1].  And so I went a’googlin’ for how to install this.  And I found this page.  It’s not such a big deal except it is.

  1. When you format text for the command line, it’s always polite to make sure it can be copied and pasted
  2. See 1
  3. See me take 20 [2] minutes to do something simple.

Here’s the text without special formatting:

cd ~ && wget -O - "" | tar xzf -

And now to break it down… because that’s what I do:

  • If I need to explain “cd ~” … um…
  • wget — FTW!
  • -O — that’s oh.  OH!  As in Output file
  • – — that’s dash, as in “standard out”
  • the url.  Yay!
  • pipe.  I like pipes.
  • tar extract g-zipped filename
  • – — standard out again

Right… and after that you run ./.dropbox-dist/dropboxd and it all works.

And there we have it.  It works.  We are happy.

[1] Stupid *&^%ing Kubuntu installer does not work with a Lenovo T440p with an SSD drive.  It’s a known problem.  It’s not an old laptop.  I’m really annoyed.  Yet, Linux Mint installed flawlessly.  -1 Canonical.  -1…

[2] That includes writing this post, FWIW.

Zero (One) writing a disk in Ubuntu

Or in any other Linux, from what I know.

Do a search and most of what you’ll find is this:

dd if=/dev/random of=/dev/sdX bs=1M

The intent is for that to fill a drive with random garbage.  You are also supposed to be able to use /dev/null or /dev/zero as the input to zero-write the drive.

Quite simply, that did not work for me.  I’ve had this problem before and again I spent too long getting around to the approach that actually worked.  As for the part that didn’t work, for all I can tell this command wasn’t actually doing anything even if I let it run for hours or pointed it to a specific partition (e.g., sdh1).

The command that worked!

tr ’00’ ‘\377’ < /dev/urandom | pipebench | sudo dd of=/dev/sdX

This required installing “pipebench” (sudo apt-get pipebench …).

Essentially, this fills a drive with ones instead of zeroes.  I think the idea of that — mostly “just because”.  Piping the translation of the zeroes to ones through “pipebench” gives a benchmark of the data rate.  That allows you to estimate how long until you are done.  Finally, the output is sent to the outfile (of) which is the mount for the drive (sdX).  In about 2.5 hours that wrote a 60GB drive with all 1’s.

This command ends with a “device out of space” error, which is fine.

So, my steps were:

  1. delete all partitions
  2. create one partition for the whole drive (to change the file table)
  3. write 1’s to the entire drive

In theory, said drive is now not possible to recover short of using a professional data forensics lab.  But who’s really that interested in me anyway?

UNIX find writeable files – more creative

In a follow-up to my previous post, I got tired of typing things.  And so I came up with this script:



# Put arguments into an array

# If no arguments, set firt value to current dir.
if [ -z "${args[0]}" ]; then

# Loop over supplied paths and find writeable files
for arg in $args; do

  find $arg -type f -perm /u=w  | grep -v "\.class" | grep -v tmp-bin | \
grep -v aTest | grep -v fixToStuff | grep -v build/ | grep -v gensrc/ | \
grep -v Reference | grep -v "~" | grep -v "classes" | grep -v "buildtree"



My only detail to sort out was exactly how to refer to $@.  Apparently if you quote it (being exactly “$@”) that takes all the arguments as a single string.  Unquoted, it takes them separately and gets what I’m looking for.

As you can see, I also have a lot of cruft I don’t want to see in my results, so I use good ol’ “grep -v” to weed it out.  Yes, I know there is a way to use egrep to make that all one command, but for some reason it doesn’t always want to play nicely for me.  So in a classic “eff it, let the script deal with it” I just chain some pipes.  I think if I had thousands of files to sort through, this would suck.  But I don’t, so it doesn’t.

SOPA, PIPA, and OPEN … oh my.

Now that Blackout Day has come and gone, I thought I’d put some thoughts here.  For once, I’m going to be really short, and to the point.  For reference the pertinent pieces of legislation are the Stop Online Privacy Act, the Preventing Real Online Threats to Economic Creativity and Theft of Intellectual Property Act of 2011, and Online Protection and Enforcement of Digital Trade Act.

  • SOPA (H.R. 3261) references one and two.
  • PIPA (S. 968) references one and two.
  • OPEN Act (S. 2029) references one and two.

First, the MPAA says the blackouts were an abuse of power. However, shutting down a site, without due process, because they supposedly host or link to illegal content is not.  This is hypocrisy at its finest.

Second, making viewing or linking illegal content a felony, like rape and murder, is absurd.

Third, the MPAA has given $94M (ninety four million dollars) to politicians in an effort to get these bills passed.  There was one hearing where limited representatives from the opposing view were permitted to speak or attend.

Finally, back to my point about piracy.  If pirating material is easier that using it legally, can you see the real problem?  The industry needs to change to make their products easier and better to use than illegally obtained copies.

Passing laws to supposedly fix a broken industry is not going to fix the broken industry.

Process killing BASH script

I enjoy the simplicity of shell scripting sometimes.  There are a million ways to do things, and this is how I’m presently shutting down something that isn’t being cooperative.


ABC_PID=`ps | grep abc | awk '{print $1}'`
DEF_PID=`ps | grep def | awk '{print $1}'`

if [ -z $ABC_PID ] ; then
  echo "ABC PID is empty. Kill manually."

if [ -z $DEF_PID ] ; then
  echo "DEF PID is empty. Kill manually."

echo "ABC PID: " $ABC_PID
echo "DEF PID: " $DEF_PID

echo "Killing ABC and DEF with: kill -9" $ABC_PID $DEF_PID
kill -9 $ABC_PID $DEF_PID


Out of necessity I changed the names to protect the … well, stuff.

See a way to improve that? Please share! Have a way you’d prefer to see it done? Share that too! Variety!

What are Teh Klowd? (IOW, What is the cloud?)

The cloud.

A nebulous frontier.

I tried to imagine the data.  What did it look like?  Were the collections like cumulus clouds?  Were the users like sky-divers?  Or were they hapless passengers thrown out the door, free-falling to their demise…

All apologies to Tron: Legacy there.  But I think my parody sums up the wacky vision promoted by so many sales people and executive-level mumbo-jumbo speakers.  They don’t know what it is.  They talk about it like is a the next best thing, but I haven’t yet heard a sales, technical, or architecture person describe it in a way that makes real sense — something that makes it more than just a big blob of storage “out there” that can be used for “lost of cool stuff”.

Then I read this post by Lee Dallas.  Nail, on, the, head … man.  Perfect.  This is what the cloud brings:  data + context, permitting you to use any device to access the same data and have awareness.  Whether it is a book, a paused movie, a spreadsheet, or whatever.  The next step, of course, is full-blown programs that allow you to disconnect and reconnect to their instances from any device.

That makes it sound cool, in a tangible way … in a way that I understand and can explain to others.

I could go off about privacy concerns, but for now I’ll let this serve as a lengthy pointer to Lee’s post which is such a nice explanation of what “the cloud” means.