</flash>

Wow, it's been 3 months since I stopped using flash.

dpkg.log.3.gz:2010-09-14 11:24:35 purge flashplugin-nonfree 1:2.8.1 1:2.8.1

At the time, there were known, open security holes in flash, and Adobe had announced a fix date -- rather far in the future. It made a lot of sense to remove flash at least temporarily.

I never found a compelling reason to reinstall it. I've missed out on a small amount of content, and had to do a little more to get at other content. But it's been worth it to not need to worry about flash slowing pages to a crawl, being insecure, bypassing cookie management, and being generally nasty, proprietary software.

Between youtube's html5 beta and Vimeo's easy link on every page to switch to html5, I have no trouble seeing most videos. One annoyance is when someone embeds a video somewhere using only the flash player, and also doesn't link to its page -- but I am seeing more youtube embeds being done with html5 recently. Youtube is also still inconsistent with some videos not yet being encoded in html5, and so I have to pull out youtube-dl occasionally to download and watch something. On the audio side, links to sound files are everywhere, and use of html5 <audio> is also very common.

The only thing I ever miss is Super Mario Bros. Crossover. I look forward to the day when the only use of flash is to play such historical roms in MAME.

Posted
snow and stats

It's been an intense couple of days out at the Hollow. Did it only start to snow yesterday? It feels like a long time in winter. Yesterday was the first day that the solar panels produced no power, it was too cloudy and snowing most of the time. I cleaned an inch of slushy snow off the panels to no avail, and wondered if the power would last.

But the wood stove has kept it nice and warm, so yesterday was spent cosily in the living room enjoying the snowfall, nethack, and podcasts. Also, I'm very much enjoying cooking on the wood stove. I've never been in a position to cook on one before; when I lived at Wortroot the stove was in the cabin, and the cold kitchen in a different building. So cooking on the stove, or even keeping a kettle on, was mostly only done in emergencies. Here, I am constantly using it, and the propane stove is still on its first 20 pound tank. Long slow cooked beany or roastish stuff does especially well. Yesterday I did a great pork loin roast with homemade quick sauerkraut.

Today, after cleaning another 3 inches of snow off the solar panels, and scraping off a layer of ice, I am getting a decent amount of power for a cloudy day with some snow still falling. Turns out it was good I cleaned them yesterday after all, since a part I missed has a inch+ layer of hard ice, which I don't dare chip away at for fear of damaging the panels. I'd not want to live someplace where it snowed a lot with solar panels that didn't have some kind of a heating system.

I wish I had a camera to show the long walk down the driveway, through the winter woods, and past the field where the wind blows gusts of snow into the air. But my cell phone is on a Caribbean cruise.

I have been recording data ever since the fall equinox, and it's almost to the winter solstice now. Time to geek out with some graphs! Solar production has surely been falling off with the waning days, but it seems like it will get through the shortest day with enough, and from then on, no worries.

Highest watt production seen each day I've been here.
Zero all day yesterday.
Power system voltages.
Charge controller limits it to a maximum of 15 volts during the day.
Originally, it was limiting it to 13 volts.
Posted
recent sightings

Anna visited the Hollow a month ago and blogged a "tour of an underground solar house". She was quietly taking pictures the whole time, and I'm atonished how well they capture the place.

I was honored to be the first in Raphaël Hertzog's series of Debian developer interviews. My interview -- the others he's done since seemed better to me.

I was pleasantly surprised to open Linux Weekly News this week and see an in-depth article about git-annex. LWN's well-researched content continually impresses.

Finally, I was indirectly mentioned in November's Science magazine. I'll leave you to guess which of the articles is the one I influenced.

Posted
dadagoogoo

The Google books ngram datasets are a nice resource for playing with text generation. I've created a program that will, given a starting phrase, blather on by connecting phrases from the datasets.

The results are much more varied, and seem to more often make sense than most Markov text generators I've seen before, such as dadadodo. It had better be -- it's working with data derived from 4% of all books ever written!

Some examples. Do they tell a story?

(The starting phrase I entered is in italics.)

  • He is assailed — they merge
  • To be or not to be so deceived ! She denies abdominal scanning
  • Beauty with enormous strides . The hospital was under the control of the communal organization of solitary mammals . In other words the mere failure of an individual .
  • Time passes . It is the child's first day in town and at his own level ?
  • Time above his left shirt pocket for safe keeping . At first I accepted the old man's work . He settled in that part of Paris .
  • Until then no ill Accident would generate hydrogen sulfide
  • Random nonsense put together huge boxes with ammunition against it itself stops . Working things out afterwards
  • A change in voice and piano . He sat down at last at No . 5 in connection with another or with others ; and that by some strange disaster .
  • O God ! What is the condition of morality is that they all hold hands in a chain of propositions . These propositions are the primary bearers of meaning making and the rearing of children

I have cheated slightly by picking where to stop quoting the blather each time. It tends to go on for quite a while otherwise. Although it often does manage some kind of sense at length too:

  • Worst Case Scenarios in Search of Reality : The ERA and emendation . I can never recover . She became thoughtful . He looked at me gloomily above the tree tops . The women were asked how they used to behave more competitively . Forecasts should be made

This was accomplished using only 99 lines of code. I imported the datasets into Xapian databases using this program. And this program is the text generator.

I threw out the metadata, to keep the Xapian databases of reasonable size. By which I mean, only a dozen gigabytes. It might be interesting to include the publication year data in Xapian, so that it could prefer ngrams that were published around the same time as the input text.

I'm still importing data. I may put up a web interface later if there's interest.

PS:

  • What about Spam ? Who caused it ? You have said it so loud that the little lady in a black storm .
  • What about Spam ? I think it cannot be any . The Church had the right men . They are our friends and relations who could be depended upon with regard to the UN . Some people paint the portraits of the writers .

PPS:

  • Joey Hess was not the real author of these lines .
Posted
howto: use google voice on dialup

Here at the Hollow in what can euphemistically be called a "cabin", there is no cell service, and I have not signed up for long distance, as all the phone is normally used for is to call a local dialup internet number.

It would be nice to be able to occasionally make outgoing long distance calls in this situation though. With some difficulty, Google voice can be used in this situation.

The difficulty is because my google voice number is itself a long distance call from here, so I can't just call it up and use it as intended. And google voice's web interface was not designed with dialup in mind; it assumes you have a phone line that's not carrying your internet connection.

verifying the phone

This is the tricky part. Google voice wants to call you back on your phone and have you verify a number. To start this process, you need to use the internet. It's impossible to hang up from the net before they call back.

Since it's a one-off, I didn't try to automate this, and just had someone do the internet side of the verification, call me with the number, and then trigger google voice to call me back.

(Google voice's forums are full of similar stories.)

making outgoing long distance calls

Here's the fun part. You'll need a shell account somewhere else, where you can download and install pygooglevoice.

Then create a ~/.gvoice file, filling in your login info and your phone number.

[auth]
email=
password=

[gvoice]
forwardingNumber=
phoneType=1

Now to make a call, you can just run something like this on the shell account:

sleep 2m; ./gvoice --batch call XXX-XXX-XXXX

The sleep gives you time to free up the phone line. Google voice then calls you and connects you with the number you requested.

Posted
on not coding late

It's midnight and I really want to be coding. I'm half way or so through adding a git-annex-shell to git-annex, which will enable some nice features with ssh access. I've done the research, and written the documentation[1], laid all the necessary refactoring groundwork, and written much of the code and just have to connect it all up and test it.

This is a dangerous point to be at, because I have it all in my head, but I'm tired. If I start coding now, I could make a stupid mistake and find myself stuck in a blind alley at 5 am. I've been there before. Even if I avoid hard stuff, I'd surely look up and an hour or more would have gone by, it'd be past 1 am -- and I know that once I stop coding it can take me hours to spin my thoughts back down to the point where I can go to sleep.

Also, I can feel the back of my mind still working on something. Some bits feel like they might not quite mesh up right in my mental model. I don't consciously know what the problem is. I need to sleep on it; it will probably be clearer later. Like yesterday when I lifted a bag of groceries into the car and paused, realizing code I'd written two months ago had a major bug, one I'd never seen, in an edge case that had never came up, but was surely there.

I always assumed that when programmers got older and stopped coding late it was because they couldn't take the strain. Nah. We're just coding even as we sleep. :)


[1] Documentation is where I do my design. This is why git-annex has quantities of documentation that Linux Weekly News finds surprising.

Posted