We’re not there yet

There are times when I fantasize about volunteering to help kids learn to make apps. Each time the thought crosses my mind, I’m torn. The shy, insecure part of me says “You need to get more experience, first!” But, another, more idealistic part of me, says “Bah! It would be good for kids to see you learning the same way they are.”

I think that second voice is probably right. But, recently, I’ve been glad that I haven’t volunteered. After all, with the magic of kivy and python, it does seem as though app development is something that you can quickly learn.

Case in point: I was talking to a friend (when the best ideas happen) and had the idea for a different kind of GPS running / biking app. A quick search revealed that Plyer allows access to the device’s GPS hardware. It was literally the work of an hour — including extensive Googling, as I’d fogotten some syntax for individual widgets — to get a first draft done.

With the GPS app, however, I didn’t have any GPS hardware on the notebook I was coding on, so I’d have to do the testing on my phone.

No problem.

Or, so I thought.

First, I was able to compile an APK (that’s apparently what we call the file that you can send to an Android phone to install an app), but it didn’t want to install on my phone. Hmm. That’s the kind of problem enough ‘Google research’ can almost always fix.

Then, it was installing, but not opening. Right. Time to connect my phone to the notebook to run the logcat utility. You’d be amazed at the amount of stuff your phone will output — while it’s just doing nothing — to the logcat. Eventually, though, I found it: Plyer wasn’t included in the APK.

Okey-doke. A bit of searching and an edit to the buildozer.spec file and things were fine.

Fire it up again and. . . it just didn’t compile.

That’s where things were stuck for a while — me looking for terminal commands to update individual pieces of software, installing things, removing and re-installing software, trying again — until today.

Today, I went thermonuclear. I deleted the virtual machine I’d been using to compile APKs and I’m in the (very long) process of installing a new one. If that doesn’t work, I’ll be forced to post a question of stackoverflow (something I’m scared of, because almost every question ever posted seems to be considered a duplicate).

To return to the point of this ramble: sometimes, it feels like we’ve (I mean humanity, not that I had any part of it) made software development so accessible that we must be on the cusp of some sort of revolution. And then, you run up against one of the potholes that hasn’t been filled in yet.

This is not a complaint, by the way. This is all by way of “Gosh, aren’t we lucky that not every step in the process is like this?”

Proles and Royalty

I’ve been composing an essay in my mind about why the vocabulary of ‘white privelege’ should be abandoned in communnication aimed at increasing equality between races, as well as haves and have nots.

An important point, I think, is that the things listed in articles like this one, aren’t priveleges. It’s as though I started withholding water from one of my children and told the others they should be grateful for the priveledges they have. It’s crap.

It reminds me a lot of an impression¹ I have of how equality is viewed differently in the U.S. and in Germany. Both are systems in which inequality used to be the norm, and is now. . . well, the norm, but we get that it shouldn’t be.

Coming to Germany, I was surprised to hear the language that came out of a lot of otherwise educated, cultured people’s mouths. The German translations of words that I’d never use in the office in U.S. are used all the time here. The idea that I’d filter my language seems to a lot of people as though I were trying to elevate myself above my station, like I was trying to create a difference where none existed.

In the U.S., however, the impression I got — and this was from parents and teachers — was that my ‘equality’ was an obligation to be the best I could be. The idea (call it white privelege) that nothing was holdiing me down, and, as such, if I wound up with a gutter-mouth, it was my own fault.

In short, my perception is that ‘equality’ for my circle of Americans means that we can all be royalty now, the circumstances of your birth shouldn’t matter. In Germany, ‘equality’ seems to mean that we’re all proletarians, and an attempt to be anything more is old-fashioned and elitist.

I just wanted to get that off my chest. I don’t know what to do with it, but whenever I hear the words ‘white privelege,’ I feel the same thing: this sense that, if the system is unfair, it’s as necessary to cut those who are being treated properly off at the knees as it is to extend a hand to those who are being improperly. And I reject that idea. It’s not what equality means to me.

¹ I totally get that I move in very different circles in Germany and the U.S. This can be a differencce between conservative middle-class and urban, athiest working-class. But it’s not how I feel it.


The price of… whatever

This isn’t a well-formed thought. It’s not even a complete realization. Instead, it’s just an observation.

Frustrated is maybe the wrong word, but I’ve been  swept up in the English Avalanche software and I recently realized it was time to come up for air. So, I thought I’d take a day off. No biggie, right?

Today, the kids and I spent an hour and a half in the woods poking about while I looked for misteltoe that I could collect (found none) and the kids went up and down the mysterious artificial hills that the NVA left behind when they abandoned that stretch of woods. We came home to eat and, while the youngest slept, the older two and I were out on bikes, visiting trees we’d learned to like during the summer and enjoying that weird winter weather that is warm in the sun and freezing in the shade.

After that, the family had a campfire for an hour and we told stories before coming upstairs for dinner, a bath, and bed.

I’m not saying that I wouldn’t have done any of those things if I had still been focused on programming — there were a lot of factors at play — but the fact that I had such a wonderful day of doing the things that I want to define me has me wondering: are my attempts a ‘growth’ really suffocating the parts of my life that I like best?

Teaching a computer grammar

It seems reasonable to say that the best way to develop a killer product might be to make one that you yourself would pay for. One of my recent business ideas (not the one I shared, obviously) was to make a sort of ‘worksheet engine’ that would automatically generate ESL worksheets from a corpus of text.

Naturally, I’ve since had other great ideas (it should manage lists of vocabulary to review, so that those words come up more often in activities, it should make it as easy as possible to re-use work done once already…) I’m focused on implementing the intial idea.

And, while I’ve had very little difficulty with any one aspect of the project (lets hear it for Python!), there is one thing that’s difficult: I’m finding it hard to concieve of a system for categorizing grammar activities.

The idea is that there would be a ‘recipe’ for how they’re made that the program will later be able to follow with a new set of text, generating a worksheet tailor-made to fit the needs of an individual or group.

It’s easy to write something that will remove all articles in a sentence and replace them with a blank space. Or to write something else that will find all the verbs in a sentence and change them to a space followed by the infinitive in parenthesis.

What I haven’t been able to do is to find a scheme to describe these things in such a way that I’m confident that I’ll be able to describe my next worksheet project using it.

Naturally, that means that things are growing as-needed now, and I suppose that’s a perfectly reasonable way to go about doing things. But, I’m a bit frustrated to think that I’ll never be able to be confident that the finished system will be able to quickly realize a new idea.

That is, I think, what the goal of the project is: to know that there’s a syntax by which I can say “this is the kind of worksheet I want to make, focusing on these particular constructions, and with this vocabulary showing up as often as possible” and have it quickly guide me through the steps of turning out a well-designed worksheet.

I guess I’ll just have to call this the beta-version.