Skip to content
Jason A. Heppler

Microblog

Microblog

Hemingway on Writing

Ernest Hemingway in a 1958 interview with George Plimpton:

When I am working on a book or a story I write every morning as soon after first light as possible. There is no one to disturb you and it is cool or cold and you come to your work and warm as you write. You read what you have written and, as you always stop when you know what is going to happen next, you go on from there. You write until you come to a place where you still have your juice and know what will happen next and you stop and try to live through until the next day when you hit it again.

Great advice.

(Via John Gruber.)

Writing

Open Source Data Journalism Handbook Launched

The free Data Journalism Handbook seeks to help journalists with the challenges of working with lots of data. The handbook contains case studies and serves as a guide to gathering, understanding, and delivering data.

It was born at a 48 hour workshop at MozFest 2011 in London. It subsequently spilled over into an international, collaborative effort involving dozens of data journalism’s leading advocates and best practitioners - including from the Australian Broadcasting Corporation, the BBC, the Chicago Tribune, Deutsche Welle, the Guardian, the Financial Times, Helsingin Sanomat, La Nacion, the New York Times, ProPublica, the Washington Post, the Texas Tribune, Verdens Gang, Wales Online, Zeit Online and many others.

It looks like an excellent resource for anyone looking to learn more about working with data, not just if you’re a journalist. You can also find the book available in other formats (including epub and mobi) on Github.

Programming

A Simple Ruby NGram Generator

I was playing around with Ruby the other night and wrote a simple n-gram generator. In case anyone is interested, here is the script:

#!/usr/bin/env ruby -w
# r_ngram.rb
# Generate a simple bi- and tri-gram, prints to STDOUT
# Usage: ruby ngram.rb file.txt
# To save the output to a file: ruby ngram.rb file.txt > output.txt

$words = File.read(ARGV[0]).downcase.scan(/[a-z]+/)

bi_grams = Hash.new(0)
tri_grams = Hash.new(0)

num = $words.length - 2
num.times {|i|
  bi = $words[i] + ' ' + $words[i+1]
  tri = bi + ' ' + $words[i+2]
  bi_grams[bi] += 1
  tri_grams[tri] += 1
}

puts "## -- bi-grams -- ##"
bg = bi_grams.sort{|a,b| b[1] <=> a[1]}
(num / 10).times {|i| puts "#{bg[i][0]} : #{bg[i][1]}"}
puts "\n"
puts "## -- tri-grams -- ##"
tg = tri_grams.sort{|a,b| b[1] <=> a[1]}
(num / 10).times {|i| puts "#{tg[i][0]} : #{tg[i][1]}"}

Programming

1862 Great Plains Symposium

Starting tonight with a talk by Donald Worster, the Center for Great Plains Studies is hosting their symposium 1862: The Making of the Great Plains. I’ll be at the electronic poster session on Thursday discussing the William F. Cody Archive. Featured speakers at the symposium this year also include Elliott West, Martin Jischke, Richard White, William Thomas, Myron Gutmann, and David Von Drehle.

Saturday, the history graduate students are kicking off the seventh annual James A. Rawley Conference, which we are holding at the Homestead National Monument this year. Coming fresh off of comprehensive exams, this should make for a nice way to end the week.

Academia·Digital history

Full Trash

Trashcan

I’m bad about taking out the trash.

Plus, it dawned on me that if we went back in time ten years, the amount of trash I currently have would’ve filled my hard drive completely full.

Personal

Give It Five Minutes

Jason Fried:

Dismissing an idea is so easy because it doesn’t involve any work. You can scoff at it. You can ignore it. You can puff some smoke at it. That’s easy. The hard thing to do is protect it, think about it, let it marinate, explore it, riff on it, and try it. The right idea could start out life as the wrong idea.

Good advice.

Personal

The Internet is Not Broken

Jeff Jarvis asks why there are so many attempts to regulate the internet, and speculates that the reason is because the internet disrupts power held by corporations and governments:

The internet’s not broken.

So then why are there so many attempts to regulate it? Under the guises of piracy, privacy, pornography, predators, indecency, and security, not to mention censorship, tyranny, and civilization, governments from the U.S. to France to Germany to China to Iran to Canada — as well as the European Union and the United Nations — are trying to exert control over the internet.

Why? Is it not working? Is it presenting some new danger to society? Is it fundamentally operating any differently today than it was five or ten years ago? No, no, and no.

So why are governments so eager to claim authority over it? Why would legacy corporations, industries, and institutions egg them on? Because the net is working better than ever. Because they finally recognize how powerful it is and how disruptive it is to their power.

Indie web

Newsletter

Occasional writing on the American West, agricultural history, and political culture.