Karl Voit on Digitizing Your Paper

I’ve written before about Karl Voit (1, 2, 3) and his quest to record and digitize every aspect of his life. His Memacs system, which collects data from his email, phone, social media and other sources, is an excellent example of that quest. His latest post is about the lessons he learned digitizing all his papers and books.

Voit is an Open Source advocate so he turned first to open solutions for his scanning and OCS needs. Unfortunately, none of the tools were up to his specifications. After looking at—and even trying—different hardware, he settled on the Fujitsu ScanSnap S15001. I have the same scanner and agree with Voit that it’s a clear winner. When I used a flatbed scanner, the process was so inconvenient that I let my scanning pile up and would have to spend an hour or more scanning the accumulated documents. The ScanSnap is small enough to keep on my desk, is always ready, and takes no time at all to scan and run OCR on a document.

So far, Voit has scanned over 40,000 pages. That includes books, from which he removed the spines. When he was done, he threw away all the paper and books. Now everything is digitized and instantly searchable—a clear win, especially for someone like Voit who is dedicated to having the events in his life instantly retrievable.

If you’ve thought about getting that pile of old papers under control, take a look at Voit’s post. It may provide the inspiration you need to get started. As for me, all new paper coming into the house is scanned and shredded. I’m still working on the backlog and will probably never take my books apart to scan.

UPDATE: splines → spines

Footnotes:

1

The S1500 has been discontinued but its replacement, the iX500, appears to be a slightly faster version of the S1500.

Posted in General | Tagged | 2 Comments

Working with Databases in a Literate Way

Howard Abrams is continuing his Literate Devops series with a great post on Literate Databse Work. He takes the ideas he developed in his Literate Devops post and applies them to investigating some problems with MySQL.

This time, he handles communication with the remote host by using SSH port redirection to make it appear that the MySQL server is on his local machine. Then he can use Org mode code blocks marked SQL to experiment with the database and put the results right in his Org file.

This is a really nice technique and one I wish I’d known when I was still grappling with databases. It much easier than logging into the actual server to do your work and you have a record of what you did and the results.

That last part is non-trivial because as Abrams says, you can pass those results to your team members by simply emailing them the Org file or by exporting them to HTML and posting them on a community Web server. Take a look at his post and see what he did and how he did it. If you work with SQL you may find it has some ideas you can use.

Posted in Programming | Tagged , | Leave a comment

Personal Information

If you offer it, they will come. You’ve been warned.

Posted in General | Tagged | Leave a comment

Introduction to Hydra

There’s been a huge amount of interest and uptake on abo-abo’s Hydra package. I’ve got some Hydras in my init.el and am planning on implementing more.

If you’re wondering what the excitement is about or would like to see if it’s something you can use, Eric James Michael Ritz has a nice introduction to Hydra and how he uses it. It’s short and easy to digest. After reading it, you should have a good idea of whether or not it’s something you can use.

If you decide that you can use it, you’ll want to check the documentation on the project page at the link above. You might also enjoy watching abo-abo’s introductory video. It includes several example of Hydras that he’s implemented for his own use.

Posted in General | Tagged | Leave a comment

Missing the Irony Gene

I wanted to add further comment but, really, I don’t know what to say.

Posted in General | Tagged | Leave a comment

RMS and GNU in 1989

If you enjoyed the New Yorker article on RMS and GNU you may also enjoy this 1989 New York Times article on the same subject. It’s almost surrealistic to read about the GNU project from a 1989 point of view.

There was a great deal of doubt as to whether the concept of Free Software could ever gain traction and the GNU project was regarded as, if not quite Quixotic, a very iffy endeavor. Mostly GNU had Emacs and GCC so it had not yet attained the critical mass to make it a successful, stand-alone system.

My favorite quote of the article—and the part that shows how far we’ve come—is the obligatory discussion of “hacker:”

While the press has come to identify the term hacker with malicious individuals who break into computers over telephone lines, the hackers themselves have an earlier and different definition. A hacker, Mr. Stallman said, is one who “acts in the spirit of creative playfulness.”

I love that part about telephone lines. Doubtless, many reading this post don’t remember that and possibly some don’t even get the reference. In those days, home users didn’t keep their computers on all the time because connecting to the Internet involved dialing up with a modem and telephone line.

As far as “hacker” is concerned, we were fighting the same battle in 1989 that we are now. The press is never going to give up their preferred meaning of “one who breaks into computers; a criminal.”

If you remember those days, this article is a trip down memory lane; if you don’t, it’s a glimpse into the way things were not all that long ago. It’s a good read and well worth your time.

Posted in General | Tagged | Leave a comment

Automatic Videos

Someone else said it and I may even have blogged about it before but it bears repeating: If you start playing an unexpected video automatically when I visit your site, I’m gone. Immediately. No questions. No exceptions.

Posted in General | Leave a comment

An Interview with Russ Cox and Sameer Ajmani

Michael Hicks is doing a series of interviews with PhDs in industry working on programming languages. In his latest post, he interviews Russ Cox and Sameer Ajmani both of whom work for Google on the Go language.

As many of you know, I’m a fan of Cox and have followed his work since his Plan 9 days at Bell Labs. He talks a little about those times in the interview but it’s mostly about Go and his (and Ajmani’s) work on it. Cox’s PhD research was in compilers so joining Google to work on Go was a natural for him. Currently, he and Rob Pike run the Go project jointly.

Ajmani was working at Google when he attended a workshop on Go given by Pike. He really liked the language, started using it, and spent some of his time contributing to it. Eventually he was asked to join the team full time. He works on making the language useful for building the large production systems at Google.

Most of the interview focuses on the design and origins of Go and how it is used at Google. Cox and Ajmani are engaging and make for an interesting interview. Definitely worth a read especially if you’re interested in Go.

Posted in Programming | Tagged , | 1 Comment

Emacs 24.5

is released.

The Change Log is here.

Posted in General | Tagged | Leave a comment

Sacha Chua and John Wiegley on Elisp Development

Sacha Chua has a great video chat with John Wiegley on Elisp development. If you work with Elisp, you really should spend the time to watch it.

Chua and Wiegley start by discussing paredit and its capabilities. I’ve been using paredit for years and still learned a couple of things from their discussion. As I and others have said, it can be difficult to get used to but once you do, you won’t want to live without it.

After the discussion of paredit, Wiegley makes the same observation that I often have: Emacs is really more of a Lisp environment than an editor. He even explicitly casts it as a descendant of the Lisp Machines. His remark was fleeting but captures, I think, why Emacsers are so devoted to their editor. It provides an easy-to-customize environment for getting work done. All sorts of work, not just editing.

Next they move on to discussing debugging and edebug. I found this one of the most useful parts of their discussion. It’s something I’ve long wanted to learn more about. As Wiegley says, using print statements in your code to debug works well in most languages—Elisp included—but the Emacs debugging facilities are so good you don’t need to do it when debugging Elisp. If you want to learn more, Nic Ferrier has an excellent 10 minute video on edebug that I wrote about here.

Wiegley shows how easy it is to use edebug. If you write any Elisp at all, it’s worth spending a bit of time learning the basics. Ferrier’s video can help with that as can Wiegley’s discussion.

After the edebug discussion, Wiegley moves on to several Emacs functions that can help with development. These include

  • elint-current-buffer
  • elp-instrument-function and elp-results
  • memory-use-counts
  • ert

The video is just over an hour so you’ll have to schedule some time but, again, you should because it’s well worth your time. Happily, Chua hinted that they’ll be doing more of these videos. I hope so because they’re really useful.

Speaking of Chua/Wiegley chats, there’s also a nice video on Wiegley’s use-package package. I had intended to write about that but wanted to watch it again first. Sadly, life intervened and I lost the moment so I’m glad to have a chance to mention it here. This is another great video and well worth your time.

Posted in Programming | Tagged , | Leave a comment