Audio Kryptonite

You know that thing where you start imitating the accents and speech patterns of people around you? Yeah, I’m really susceptible to that. Audio books with compelling readers are the worst. It’s bad enough when I’m reading an actual printed book and really getting into it and find myself using turns of phrase from the work in normal conversation. I feel like a complete buffoon then, believe it, but it’s even worse with an audiobook. The one I’m listening to now has a narrator with a strong Irish accent — which only makes sense, given that the setting is Ireland — and the darned thing is infecting my mind. Typing a bug report to a software vendor two days ago, I characterized a functioning aspect of the program as, “grand.” Who, in America, says that? Nobody, that’s who! Ah, Jayzus, and even as I write this feckin’ confession, I’m hearin’ it narrated by this woman.

I’ve got to get myself some American (preferably, California) audio input. Time to hit Netflix for something ludicrous.

Minor Lesson Today

I know that a lot of people use BWW for writing bagpipe music. But I’m cheap, and I use a Mac, and I tried the demo versions of the music notation software my teacher and bandmates use and I hate them (the programs). Iconoclast that I am, I have chosen to transcribe all my music using ABC notation.

The neat thing about this, for me, is that the files are easily editable with any plain ol’ text editor and there’s an easy command line toolchain for converting the ABC files to PDF. The thing I learned today is that the key matters, not just for the signature at the beginning of a line, but for the way grace notes are rendered.

It’s true that the great highland bagpipe is tuned more-or-less in the key of D, and some modern scores are even written that way. However, when you use that key notation in the ABC file, grace notes are written as being tied to the following melody note, whereas if you note the key as ‘HP’ then the grace notes are unadorned, as pipers are wont to expect. This behavior can be overridden with the format directive:

 %%graceslurs false

License and Registration?

If you read a book about software development or start a repository on github or bitbucket or launchpad, you’ll confront the question of software licensing very early on — likely, before you even get to the question of what development environment you’re going to use. I’ve come to decide that this is not really helpful.

When I worked at startups, the code we wrote in-house was proprietary. We didn’t open source it, although occasionally we would contribute back to some projects. The point of the software team at those companies was to encode the business into bits that customers would pay hard cash in order to execute. We didn’t even think about licensing the software until it was time to think about how we were planning to sell it – a question which depended a great deal on the marketing department and the business in question.

Now, I’m writing software for my own entertainment. If one thinks hard about it, one might come up with ways to make money off of that, but that’s a hell of a lot of work and I’ve got bagpipes to play and tunes to learn and, let’s be real, dishes to wash and goofing off to be doing. My wife is doing amazing things and that’s enough startupness in the house at one time. When I started working on this turn based game server, I thought the way it would go would be to provide the server for cheap (or free) and then the money would get made by developing games that would run on top of the server. Now I’m looking at the software and its possibilities and thinking that the system itself has value to some entities (schools and researchers) and maybe I should think harder about selling it that way.

This decision is kind of important. Right now, I’ve got all the source code sitting in private repositories. It’s copyrighted by me, and it’s not licensed, period. If I were to open source it, that would make selling the server software impractical. The only way to sell open source software is to provide some kind of value-added service on top of it, and that kind of work really cuts into bagpiping. Also, and this may shock some folks, I’m not really very good with people. A service job isn’t one I’m going to succeed in.

If I’d gone with an open source license up at the beginning of this project, there’s not really any way to undo that. So, note to other software developers who like to fool around with code and write stuff just for fun: private repositories are your friend. Write your code, fool around with stuff, refactor and publish to your heart’s content. Then, when you finally get to some point where the license actually matters, then fire up your IDE’s copyright plugin and have it stick whatever boilerplate you decide on at the top of all your files.

Upgrades

Back in, like, 1987, I lived in an apartment with three other guys. The four of us were all computer science majors and one of them had this catchphrase that we heard often late in the evening as he was working on his homework: “It was perfect, so I fixed it.”

That has stayed with me. Think about it, do you ever just look at something you’ve made and think, “Yeah, that’s great. I’m going to just leave that alone.” Well, if that’s you, then you can just move along. The rest of us morons just can’t leave well enough alone. Today’s examples: 1Password and my current software hobby. 1Password v3 allowed for synchronizing data across multiple devices by using Dropbox. Version 4 lets you use any folder, not just the top level Dropbox folder (this means that one might, for instance, use a shared Dropbox folder to share with one’s wife). The problem, though, is that the Android app, 1Password Reader, doesn’t decrypt the keychain properly. It can find it, but now that I’ve upgraded my desktop to use 1Password version 4 I can’t actually read the data on my phone or my tablet. It was working great, so I upgraded and now it’s less useful. Thanks.

That upgrade also required that I upgrade the OS on my laptop. So now it’s running OS X 10.8 “some stupid cat.” Meanwhile, I’ve decided that it’d probably be a good idea to rewrite my game server to run in Google’s App Engine environment. So now I’ve spent about a day and a half going around and cleaning up dangling pointers to obsolete Java frameworks and Maven installations. The “upgrade” seems mostly to have had the effect of making my IDE slower, my tools less reliable, and my hard disk more full. It was working fine, so I fixed it. Fantastic.

Oh yeah, and Oracle claims to have released a version of the Java SDK that plugs like a zillion security holes, so I had to download and install that. Because my old SDK was working fine.

Morning Roundup

So, I’m again listening to David Sedaris’ book, Let’s Explore Diabetes with Owls, and just got to the bit where he’s talking about going on book tours. The passage where he describes his restrictions and arbitrary rules (smokers got priority on one tour, as they are going to die sooner so their minutes of life are more precious, etc.) is funny to me and at first I thought it was an instance of something being funny because it is mean. Now, maybe there’s an element of that, but I think I like it because it’s not just being mean; here’s a guy who’s an entertainer, setting up some rules that are not the conventional rules of entertainment. He’s asserting that, sure, he’s there to interact with people, but he’s asserting some boundaries. I choose to see it as a declaration, “I am not television, I am live and in-person, and you had best pay attention to that.” It makes me want to come up with some equally unusual rules for when my genius wife starts going on book tours.

Also, I just took the Beeb’s news quiz and apparently my head was nowhere in the game this week. Random chance would do better than my score. I hope that means I’m better at piping.

Security Is Not a Compiler Flag

With the ongoing brouhaha surrounding the NSA’s surveillance of everyone, everywhere, I’ve got a few friends who are getting excited about figuring out how to secure their email. I kind of want to tell them that their questions, which boil down to, “How can I send secure email,” are, in the words of Mr. Norrell, “Wrong questions.” Sure, you can use a program like GPG to encrypt your messages. But you couldn’t be bothered to use it before now; why will you use it now?

Anything that goes over the public Internet could be intercepted and looked at by Bad Guys. That’s always been true. The trust that meant we didn’t use HTTPS for most things was founded on this idea that “the government” wasn’t going to sniff everything unless someone went to a judge and convinced the judge that you were doing something nefarious. Or at least that there was some compelling reason to violate your right to privacy and security in your person and property. What the NSA has demonstrated is that the U.S. government, at least, doesn’t give a shit about that civil liberty. Going for a technical fix – making your email communications really secure and private – isn’t doing anything to address that breach of trust. You may have secure email (but I bet you won’t, or not for long) but the government is still cast in the role of “Bad Guy.”

The right question is, “How can we trust the government, any government, not to be a Bad Guy?” GPG isn’t going to fix that, and neither is Javascript encryption of your webmail. Yes, if you actually care about the secrecy of your messages, you should encrypt them. But beyond that, you should be telling your government to get back to doing the right thing, which is protecting your civil liberties, not violating them. For me, the real question, the one beyond email privacy, is, “What other rights do you think you have but which the government doesn’t agree?” Like, for instance, your right to free speech, a speedy trial, right to counsel, trial by jury, freedom from quartering soldiers, or right to due process. You aren’t going to get the answer to that question from Javascript. You’re going to get that answer by pinning your representative down and insisting that your government do what it’s supposed to do and stop doing what it’s not supposed to do.

Talk to your representatives. Support organizations that advocate for your rights. Like, for instance, the EFF and the ACLU.

Can I Get a Cuppa Joe?

I like Santa Cruz. It’s a swell town. It’s been getting some attention lately because of its happy tweets and its job growth, but just now I’m feeling more like the character, Grandpa, in “The Lost Boys.” In the morning, I just want some coffee. If I have errands to run and a full day ahead, I may not take the time to make coffee at home and instead will count on buying a cup or two as I’m going from place to place. But there are very few places in Santa Cruz where you can just get a cup of coffee. Verve will do it. Lulu’s will want you to select from a bewildering array of possibilities, where the beans are all sourced from different locales and they are all roasted differently. Santa Cruz Roasting Company offers a similar set of choices. Starbucks, like Verve, keeps it pretty simple.

You know, tea varieties are so easily distinguished. Ceylon, oolong, darjeeling, and Earl Grey are each distinct and distinguishable by someone who has never drunk tea before, and that’s just sticking to black teas. But coffee? In this decade? Everyone is growing and selling arabica, so it comes down to very subtle differences in terroir. Like that’s even a thing for coffee. One might possibly be able to detect the difference between an Indonesian coffee bean and a Mexican coffee bean, but after they’ve been roasted (one to very dark and one light) and then brewed (one by someone who never cleans the coffee maker and one by someone who rinses the carafe with lemon juice) are we really going to pretend that the distinction between the two cups of coffee comes from their country of origin? And seriously, is it at all reasonable to require me to be a coffee hipster before I’ve even had any coffee?

One of Grandpa’s more dramatic lines is, “One thing about Santa Carla I never could stomach: all the damn vampires.” One understands that Santa Carla is really Santa Cruz, and if one substitutes “hipster” for “vampire” then I’m right there with Grandpa. I must remember: when going out and getting coffee, just stop in Boulder Creek first.

Software Progress

Over the past few days I have managed to put together enough patches for SifterReader that it is usable for me from my phone. I’ve submitted pull requests to the developer, but until he pulls them in, if you want to try using the app on your phone you will have to build it yourself. Use the ‘integration’ branch from my repo on GitHub if you want it.

Bagpipe Surgery

The other day at my lesson my instructor was tuning up my drones when he noticed an unexpected breeze on his wrist. Uh-oh. The grommet for the outside tenor had cracked and I needed a new bag. Fortunately, I knew that this or something like it was coming and already had a new bag just waiting. I love the L&M Scotian bag – not only does it have the swell zipper that makes swabbing it out a simple task, but it has grommets for all the stocks except the chanter stock. This makes tying-in a breeze, also. Andrew Lenz has already posted a swell page with instructions and some photos for how to tie in a bag, so this is less of a how-to and more of a photo record of How I Spent My Saturday Afternoon.

Continue reading “Bagpipe Surgery”

Organizing my Life

Listing saves us. It is a way of exporting intelligence into the environment. Every datum the environment remembers for you is one datum you don’t have to remember. I am absolutely in favor of this, but it gets me into trouble when the systems I use don’t work well together. The smartphone and web services have been a godsend for me. I use Remember the Milk to keep track of grocery lists. I have bought into the Google keiretsu and use multiple calendars to coordinate events and appointments with various family members. I use Dropbox to store files and share data with my trusted associates. I use Neat to keep my records tidy and searchable. And because these services are out there in the nebulous Internet, I can get at them from any computer and even from my phone. But none of these services works well for me as a to-do list. My tool of choice for keeping track of workflow is a bug tracker.
Continue reading “Organizing my Life”