luke

Clobbering my Dual-Boot Laptop

I clobbered my dual-boot laptop. I ought to have clobbered it long ago, so it was uni-boot Linux, but that whole secure-boot UEFI firmware business scared me too much to do that without knowing more, and who has time to learn more, or a test-bed on which to make mistakes.

I was running Ubuntu 17.10 for awhile, but [I made, over a period of two months, a long list of trivial changes that made me decide the simplest thing would be if] I decided to reinstall the OS. And that didn’t work. Or, it sorta kinda worked once or twice, then quit working completely.

Did I run into the Ubuntu BIOS bug? I don’t know. But I was installing Ubuntu and I couldn’t get past the BIOS. So maybe I did. But I don’t know.

For the time being, I’m using my Macs and some older (pre-UEFI Secure Boot) hardware. Here’s an article about how to fix the Ubuntu BIOS bug. Here’s some more about the provenance of the bug.

Konica Drivers on a Mac

It shouldn’t be this hard, Konica: your “self help” website is a mess. It looks like it entered a time vortex in 1998. Compare with, say, Amazon or Facebook. (Separate question, why would someone go to your “self help” site, unless they thought a few hours fighting the web site would take less time than calling for phone support?)

There are people who’ve done what you should have done, like this Mac driver setup walk-through at Tufts.

But what do you do when that doesn’t work? Is this because I’m using 10.12 a/k/a Sierra? (Surely, you realize that’s already a full version back, and you barely support it. What would happen if I upgraded to High Sierra?)

Okay, the second time through, following the obvious links got me to this place (Self Help Product Support, which looks like it did before, more or less), but this time when I entered Bizhub C284 in the dark blue box on the left, I got some different options, so I picked them.)

And it worked! Total time (including writing this blog post in real-time as I went along) was about 35 minutes.

installing eyeD3

I keep thinking I should learn the basics of Python programming. But I never seem to get around to it.

Today I needed to know how to install a program written in Python, because Homebrew used to include eyeD3 and today it didn’t. Here’s what I ended up doing:

$ sudo easy_install pip   # because pip isn’t installed

$ sudo pip install eyeD3

then it says that won’t work because libmagic isn’t installed. But fortunately, Homebrew provides that (whatever it is). So try again:

$ brew install libmagic

$ sudo pip install eyeD3

P.S. eyeD3 is the best command-line ID3 tag editor I’ve found. It is the only thing I’ve found that allows you to install album art from the command line. (See my earlier post.)

 

Mini Magick

I just discovered MiniMagick. It is exactly what I was looking for in a ruby-language wrapper for ImageMagick.

I’ve been using ImageMagick forever. Like, more than 20 years foreer. Maybe 30 years;  I don’t know when it was first developed, or how old it was when I discovered it.

Some of the time, I use ImageMagick from the command line: just convert a file or montage a couple of them, or whatever. But sometimes, I do the same three things to an image and expect to do it over and over again for multiple images, I’ll write a shell script.

Writing shell scripts is hard. (Like, do you use trap? Of course you don’t.)

Writing Ruby is easy. But the only Ruby wrapper for ImageMagick I knew about was RMagick, which is big and complex and the first couple of times I tried to use it I had build problems (this was back before gems and github).

So there I was. Use bash and keep it simple, or use ruby with some crazy backtick `convert foo.png foo.jpg` shell escape there instead of doing it right.

But MiniMagick is just a well-designed wrapper around those backticks. Kudos!

Pandoc for Word Document conversion

I just discovered pandoc. Well, I first bookmarked it in 2008, and again in 2016, so I guess I rediscovered it. But what I mean is that I finally discovered what to use it for: converting Word files to Markdown. It’s dead easy:

$ pandoc -f docx -t markdown sample.docx > sample.md

I’ve been using Antiword for years to convert Word 2006 (DOC) files to text, but it doesn’t do DOCX, and, instead of producing Markdown or something more neutral, it tries to recreate the DOC experience in text by centering lines, etc. Not complaining: it gets me plain text and I can take it from there, but Markdown is a big improvement. DOCX is even better, since, apart from pandoc, the only way I knew to read those at the command line was via Libre/OpenOffice:

$ libreoffice –headless –convert-to “txt:Text (encoded):UTF8” sample.docx > sample.txt

(I see — now, when it is too late — that there is also code to do this in ruby: antiword-xp-rb. I hope that’s an awesome tool, but it took me 9 years to figure out what to do with pandoc so don’t wait for me to tell you.)

Avocado News

The Smithsonian has news for market timers:

Americans devour 7 pounds of avocado per person each year, compared to 1 pound on average back in 1989. Per capita consumption of avocados has tripled since the early 2000s, according to the USDA. Yet nearly all of these avocados—some 95 percent in the U.S. and about 80 percent worldwide—are of a single variety: the ubiquitous Hass. That’s especially crazy because … the pebbly, black-skinned Hass didn’t even exist a century ago.

Also this, which makes me wince to consider:

…mammoths and giant ground sloths would gobble the fruit whole and then travel long distances, before pooping out the seed and thus dispersing the trees.

Dodged the XML bullet

Years ago, when XML was the new hotness, I kept meaning to learn it. (I mean, I learned it, except the headers and CDATA, but I never figured out how to use XPath or XQuery or XSLT or do anything useful with it. I learned just enough to write a toolchain that emits an RSS feed that iTunes is happy with and stopped there. Tidy is your friend.)

Maybe I dodged a bullet. The other day Manton Reece and Brent Simmons came up with JSON Feed, a replacement (or at least an alternative to) Atom and RSS. Suits me. I prefer YAML to JSON, but I’d take either one over XML even if I could only see them upside down in a mirror.

It’s not there any more, but in their first announcement (quoted here), Reese and Simmons committed a gaffe and said what they thought:

developers will often go out of their way to avoid XML. JSON is simpler to read and write, and it’s less prone to bugs.

Duh. But the rationale they state now is still true, if a little less transparent.

While I’m thinking about it: a pet peeve. RSS says that <pubDate> wants an RFC 822 compliant timestamp for feeds, but good luck if you’re in Alaska, which is part of the US not in the big four time zones. (Use Zulu -0900 instead.)

Updated. More brutal honesty:

Reece and Simmons decided the time was right to build an updated syndication format, as more and more developers are refusing to work with XML.

“I believe that developers (particularly Mac and iOS developers, the group I know best) are so loath to work with XML that they won’t even consider building software that needs an XML parser,” Simmons said. “Which says to me that JSON Feed is needed for the survival of syndication.”

Gosling on Electrical Engineers

James Gosling may use emacs, but apart from that, he’s clearly not stupid:

computers were showing up in all kinds of embedded devices, like TVs, VCRs, elevators, locomotives and cellphones and all that. But it was all being done by electrical engineers and they were all reinventing computer science in the most crazy, retro backward way…. They were inventing network protocols that were just laughably stupid.

iMac configuration

I mentioned previously how I’ve rehabilitated the 10-year old iMac. Today, I’ve been setting up the software environment.

First, I transferred my iTunes library over to the new computer.

Then I installed some non-Safari browsers: Chrome, Firefox, and Brave.

Then I set up Homebrew, and after that, ruby:

$ brew install openssl # various messages because Apple doesn’t like openssl
$ brew install sqlite pcre
$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ rbenv install -l
$ rbenv install 2.4.1 # (as of May 19, 2017)
$ hash -r # rehash your environment