diff --git a/Rakefile b/Rakefile index a2cb009..0d2ccfc 100644 --- a/Rakefile +++ b/Rakefile @@ -2,6 +2,13 @@ # Modified from Jeff McFadden: # http://jeffmcfadden.com/blog/2011/04/13/rsync-your-jekyll/ +## -- Config -- ## +source_dir = "_site" +draft_dir = "_drafts" +posts_dir = "_posts" +server_port = "4000" + +## -- Working with Jekyll -- ## desc 'default: list available rake tasks' task :default do puts 'Try one of these specific tasks:' @@ -17,25 +24,29 @@ task :deploy do puts 'Done!' end -desc 'running Jekyll with --server --auto options' -task :dev do - puts 'Previewing the site with a local server.' - puts 'Use CTRL+C to interrupt.' - system('jekyll --auto --server --base-url / --url /') +desc "watch the site and regenerate when it changes" +task :watch do + puts "Starting to watch source with Jekyll." + system "jekyll --auto" +end + +desc "preview site in browser with localhost:4000" +task :preview do + puts "Starting site preview in http://localhost:4000." + system "jekyll --server" end desc "give title as argument and create new post title" -# usage rake write["Post Title Goes Here",category] +# usage rake write["Post Title Goes Here"] # category is optional task :write, [:title, :category] do |t, args| - filename = "#{Time.now.strftime('%Y-%m-%d')}-#{args.title.gsub(/\s/, '_').downcase}.markdown" + filename = "#{Time.now.strftime('%Y-%m-%d')}-#{args.title.gsub(/\s/, '-').downcase}.md" path = File.join("_posts", filename) if File.exist? path; raise RuntimeError.new("Won't clobber #{path}"); end File.open(path, 'w') do |file| file.write <<-EOS --- layout: post -category: #{args.category} title: #{args.title} date: #{Time.now.strftime('%Y-%m-%d %k:%M:%S')} --- diff --git a/_layouts/default.html b/_layouts/default.html index fbda459..440a9d8 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,16 +1,15 @@ + {{ page.title }} - + + - - {{ page.title }} - - + - + @@ -32,8 +31,10 @@
- -

jasonheppler.org
This the personal weblog of Jason Heppler, writer, historian, technologist, and coffee enthusiast.

+

+ jasonheppler.org
+ I'm Jason Heppler, historian, hacker-scholar, and coffee enthusiast. +

diff --git a/_posts/.DS_Store b/_posts/.DS_Store index b1c6dc7..b33cb3a 100644 Binary files a/_posts/.DS_Store and b/_posts/.DS_Store differ diff --git a/_posts/2011-01-02-the-rubyist-historian-flow-control.markdown b/_posts/2011-01-02-the-rubyist-historian-flow-control.markdown index d519d99..2df1f60 100644 --- a/_posts/2011-01-02-the-rubyist-historian-flow-control.markdown +++ b/_posts/2011-01-02-the-rubyist-historian-flow-control.markdown @@ -59,7 +59,7 @@ Note the += above. This symbol is called an operator!= Not equal to operator. - +

if . . . elsif . . . else

diff --git a/_posts/2011-09-28-spatial-humanities.md b/_posts/2011-09-28-spatial-humanities.md new file mode 100644 index 0000000..9a53e18 --- /dev/null +++ b/_posts/2011-09-28-spatial-humanities.md @@ -0,0 +1,59 @@ +--- +layout: post +title: "Spatial Humanities and Visual Narratives" +date: Wed Sep 28 10:10:25 -0500 2011 +tags: UNL-DHS Spatial-Humanities +category: Digital-Humanities +--- + +*[This is a reading reflection written for HIST946: Digital Humanities with +Professor William Thomas during the Fall 2011 semester. This week's readings +were Richard White, "[What is Spatial History?](http://www.stanford.edu/group/spatialhistory/cgi-bin/site/pub.php?id=29)," Philip Ethington, "[Los Angeles +and the Problem of Urban Historical Knowledge](http://www.usc.edu/dept/LAS/history/historylab/LAPUHK/)," and David Staley, "[Historical +Visualizations](http://quod.lib.umich.edu/j/jahc/3310410.0003.304?rgn=main;view=fulltext)". You can find related posts [here](http://jasonheppler.org/the-digital-humanities-seminar.html).]* + +Computer visualizations offer new ways for humanist scholars to reconfigure the notion of +narrative As David Staley notes, visualizations have the ability to depict +complex information into spatial form. Historical visualizations, then, +represent historical information in a visual or spatial manner rather than +verbal or linear. These methods begin to give form to new styles of narrative, +or perhaps answer [Orville Vernon Burton's call](http://chnm.gmu.edu/essays-on-history-new-media/essays/?essayid=30) for models of scholarship beyond +the written monograph. + +Burton writes that "history, similar to all disciplines, is badly in need of +models beyond the monograph for the demonstration of excellence, and where the +scholarship itself is in need of new genres and new strategies for reaching new +audiences." The visualization of humanistic information and data may represent one +new method for scholars to communicate their findings and research their topics +with the aid of computers. + +New ideas about the intersections between geography, history, and theory along +with technological methods and techniques points towards methods humanist scholars +can utilize in studying the intersections between space and place. Humanists now +conceive of space more acutely, fully aware of how politics and society can +influence both physical and imaginative space. As Richard White notes, space is +not simply natural geography or a container to be filled with history. Instead +of an empty vessel awaiting historical action, space is a historical actor where +stories occur over geography and history (space and time). Space, then, is +a site of continual conflict shaped by struggles over power and definition. + +What this all means for the humanities is a reconsideration of how technologies +like Geographic Information Systems can be applied to humanistic data. There are +various ways of doing so. For example, scholars can apply GIS to spatial +infrastructure, what Henri Lefebvre called "spatial practice," by mapping +physical spaces from county boundaries to transnational railroad lines. The +greater challenge is how to map relational space. GIS emphasizes the absolute +space (inches, feet, miles) but can do little to represent how space was +constructed. But this way of thinking about space opens up new lines of inquiry +about the connections between culture and geography. Philip Ethington asks +scholars to think more broadly about definitions of space. In his example of Los +Angeles, the city can exist as the Consolidated Metropolitan Area of the US +Census Bureau, or the City of Los Angeles, or popular definitions of the city in +sources like *Baywatch* or *Blade Runner*. How do we reconcile the technology of +GIS with its emphasis on the given-ness of space with the constructed-ness of +space? + +Especially significant in spatial humanities is the reliance on mapping not as +a byproduct of research, but integrated deeply throughout the research process. +Spatial humanities offers new ways to construct narratives about historical +events. diff --git a/_posts/2011-10-06-thanks-steve.md b/_posts/2011-10-06-thanks-steve.md new file mode 100644 index 0000000..a9aa2f6 --- /dev/null +++ b/_posts/2011-10-06-thanks-steve.md @@ -0,0 +1,13 @@ +--- +layout: post +category: History +title: "Thanks, Steve" +date: Thu Oct 06 07:56:58 -0500 2011 +tags: Steve-Jobs Apple +--- + +![Insanely Great](http://jasonheppler.org/images/great.jpg "Insanely Great") + +> “Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma, which is living with the results of other people’s thinking. Don’t let the noise of others’ opinions drown out your own inner voice, heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.” + +— [Steve Jobs](http://www.jasonheppler.org/go-be-awesome.html) diff --git a/_posts/2012-02-15-the_french_press_method.markdown b/_posts/2012-02-15-the_french_press_method.markdown index 1309df9..c10c236 100644 --- a/_posts/2012-02-15-the_french_press_method.markdown +++ b/_posts/2012-02-15-the_french_press_method.markdown @@ -1,6 +1,5 @@ --- layout: post -category: Lifestyle title: The French Press Method date: 2012-02-15 23:01:26 --- diff --git a/_posts/2012-04-24-a-simple-ruby-ngram-generator.md b/_posts/2012-04-24-a-simple-ruby-ngram-generator.md new file mode 100644 index 0000000..db216d7 --- /dev/null +++ b/_posts/2012-04-24-a-simple-ruby-ngram-generator.md @@ -0,0 +1,36 @@ +--- +layout: post +title: A Simple Ruby NGram Generator +date: 2012-04-24 15:45:43 +--- + +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: + +{% highlight ruby %} +#!/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]}"} +{% endhighlight %} \ No newline at end of file diff --git a/_posts/2012-04-25-adam-lisagors-aeropress-tribute.md b/_posts/2012-04-25-adam-lisagors-aeropress-tribute.md new file mode 100644 index 0000000..d17ab5e --- /dev/null +++ b/_posts/2012-04-25-adam-lisagors-aeropress-tribute.md @@ -0,0 +1,9 @@ +--- +layout: post +title: Adam Lisagor's AeroPress Tribute +date: 2012-04-25 21:44:48 +--- + + + +I'm a [fan of the French press](http://www.jasonheppler.org/2012/02/15/the_french_press_method.html), but I really would like to try out the AeroPress someday soon. \ No newline at end of file diff --git a/css/screen.css b/css/screen.css index 6ce7a63..3d32fe9 100644 --- a/css/screen.css +++ b/css/screen.css @@ -9,33 +9,19 @@ html, body { height: 100%; } -/* -body { - color: #333; - font-family: franklin-gothic-urw,helvetica,arial,sans-serif; - font-weight: 400; - font-size: 15px; - line-height: 1.45em; -} - -body { - font: 13px/1.5 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; -} -*/ body { color: #333; background: white; margin: 0; font-size: 100%; - font-family: "Helvetica Neue", Helvetica, sans-serif; /*"Signika", Cambria, Georgia, serif; */ + font-family: "Oxygen", sans-serif; line-height: 130% !important; } h1, h2, h3, h4, h5 { font-weight: 700; font-style: normal; - /*text-transform: uppercase; */ line-height: .8em; margin: 0; padding: 0; @@ -53,16 +39,6 @@ h2 { font-weight: normal; } -/* -h3 { - padding: 0 0 1.5em 0; - margin: 0 0 1.25em 0; - font-size: 15px; - font-weight: 400; - text-transform: none; - border-bottom: solid #ccc 1px; -} -*/ p { margin: 0; padding: 0 0 1em 0; @@ -74,7 +50,7 @@ a { } a:hover { - color: #900; + color: #b83000; text-decoration: none; } @@ -199,18 +175,6 @@ ul.posts { text-decoration: underline; color: #222; } -/* -#siteDesc { - font-size: 0.9em; - margin: 20px auto 25px; - width: 400px; - padding: 11px 0 13px; - color: #555; - font-style: italic; - border-top: 1px solid #999; - border-bottom: 1px solid #999; -} -*/ sup { vertical-align: super; @@ -728,30 +692,43 @@ li.archive_list { } .blog_header { + /* border-color: #ccc; - border-width: 0px 0px 1px; + border-width: 0px 0px 1px; */ } .blog_header { + border-top: 3px solid #08C; + background-color: #ebebeb; + height: 120px; + margin-bottom: -56px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); + /* color: #666; background-color: #eee; border-style: solid; + */ } .blog_header p { - width: 64em; + width: 44em; margin: 0px auto; font-size: 14px; - padding-top: 5px; + padding-top: 62px; } .blog_header a:link, #blog_header a:visited, #blog_header a:hover, #blog_header a:active { - color: #666; font-weight: 700; text-decoration: none; padding: 0px; } +.blog_header a.name { + font-size: 26px; +} + /*****************************************************************************/ /* /* Posts @@ -764,7 +741,7 @@ li.archive_list { /* standard */ - pre, code { +pre, code { font: 13px Consolas,'Andale Mono',Monaco,Courier,'Courier New',Verdana,sans-serif; } @@ -772,6 +749,7 @@ li.archive_list { border: 1px solid #ddd; background-color: #eef; padding: 0 .4em; + overflow-x: scroll; } code { diff --git a/index.html b/index.html index ab54da5..5365d36 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ priority: 1.0 --- - {% for post in site.posts offset: 0 limit: 8 %} + {% for post in site.posts offset: 0 limit: 3 %}

{{ post.title }}

@@ -18,4 +18,14 @@

{{ post.title }}

- {% endfor %} \ No newline at end of file + {% endfor %} + + +

More Recent Posts

+ \ No newline at end of file