mirror of
https://github.com/samsonjs/samhuri.net.git
synced 2026-03-25 09:05:47 +00:00
1296 lines
33 KiB
JSON
1296 lines
33 KiB
JSON
{
|
|
"2006.02.08-first-post": {
|
|
"title": "First Post!",
|
|
"date": "February 8, 2006",
|
|
"timestamp": 1139368860,
|
|
"tags": [
|
|
"life"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.08-first-post"
|
|
},
|
|
"2006.02.08-touch-screen-on-steroids": {
|
|
"title": "Touch Screen on Steroids",
|
|
"date": "February 8, 2006",
|
|
"timestamp": 1139407560,
|
|
"tags": [
|
|
"technology",
|
|
"touch"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.08-touch-screen-on-steroids"
|
|
},
|
|
"2006.02.15-urban-extreme-gymnastics": {
|
|
"title": "Urban Extreme Gymnastics?",
|
|
"date": "February 15, 2006",
|
|
"timestamp": 1140028860,
|
|
"tags": [
|
|
"amusement"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.15-urban-extreme-gymnastics"
|
|
},
|
|
"2006.02.18-girlfriend-x": {
|
|
"title": "Girlfriend X",
|
|
"date": "February 18, 2006",
|
|
"timestamp": 1140292200,
|
|
"tags": [
|
|
"crazy",
|
|
"funny"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.18-girlfriend-x"
|
|
},
|
|
"2006.02.18-jump-to-viewcontroller-in-textmate": {
|
|
"title": "Jump to view/controller in TextMate",
|
|
"date": "February 18, 2006",
|
|
"timestamp": 1140303060,
|
|
"tags": [
|
|
"hacking",
|
|
"rails",
|
|
"textmate",
|
|
"rails",
|
|
"textmate"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.18-jump-to-viewcontroller-in-textmate"
|
|
},
|
|
"2006.02.18-some-textmate-snippets-for-rails-migrations": {
|
|
"title": "Some TextMate snippets for Rails Migrations",
|
|
"date": "February 18, 2006",
|
|
"timestamp": 1140331680,
|
|
"tags": [
|
|
"textmate",
|
|
"rails",
|
|
"hacking",
|
|
"rails",
|
|
"snippets",
|
|
"textmate"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.18-some-textmate-snippets-for-rails-migrations"
|
|
},
|
|
"2006.02.20-obligatory-post-about-ruby-on-rails": {
|
|
"title": "Obligatory Post about Ruby on Rails",
|
|
"date": "February 20, 2006",
|
|
"timestamp": 1140424260,
|
|
"tags": [
|
|
"rails",
|
|
"coding",
|
|
"hacking",
|
|
"migration",
|
|
"rails",
|
|
"testing"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.20-obligatory-post-about-ruby-on-rails",
|
|
"styles": [
|
|
"typocode"
|
|
]
|
|
},
|
|
"2006.02.20-textmate-snippets-for-rails-assertions": {
|
|
"title": "TextMate Snippets for Rails Assertions",
|
|
"date": "February 20, 2006",
|
|
"timestamp": 1140508320,
|
|
"tags": [
|
|
"textmate",
|
|
"rails",
|
|
"coding",
|
|
"rails",
|
|
"snippets",
|
|
"testing",
|
|
"textmate"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.20-textmate-snippets-for-rails-assertions"
|
|
},
|
|
"2006.02.21-textmate-move-selection-to-self-down": {
|
|
"title": "TextMate: Move selection to self.down",
|
|
"date": "February 21, 2006",
|
|
"timestamp": 1140510360,
|
|
"tags": [
|
|
"textmate",
|
|
"rails",
|
|
"hacking",
|
|
"hack",
|
|
"macro",
|
|
"rails",
|
|
"textmate"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.21-textmate-move-selection-to-self-down"
|
|
},
|
|
"2006.02.21-textmate-insert-text-into-self-down": {
|
|
"title": "TextMate: Insert text into self.down",
|
|
"date": "February 21, 2006",
|
|
"timestamp": 1140562500,
|
|
"tags": [
|
|
"textmate",
|
|
"rails",
|
|
"hacking",
|
|
"commands",
|
|
"macro",
|
|
"rails",
|
|
"snippets",
|
|
"textmate"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.21-textmate-insert-text-into-self-down",
|
|
"styles": [
|
|
"typocode"
|
|
]
|
|
},
|
|
"2006.02.22-intelligent-migration-snippets-0.1-for-textmate": {
|
|
"title": "Intelligent Migration Snippets 0.1 for TextMate",
|
|
"date": "February 22, 2006",
|
|
"timestamp": 1140607680,
|
|
"tags": [
|
|
"mac os x",
|
|
"textmate",
|
|
"rails",
|
|
"hacking",
|
|
"migrations",
|
|
"snippets"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.22-intelligent-migration-snippets-0.1-for-textmate"
|
|
},
|
|
"2006.02.23-sjs-rails-bundle-0.2-for-textmate": {
|
|
"title": "SJ's Rails Bundle 0.2 for TextMate",
|
|
"date": "February 23, 2006",
|
|
"timestamp": 1140743880,
|
|
"tags": [
|
|
"textmate",
|
|
"rails",
|
|
"coding",
|
|
"bundle",
|
|
"macros",
|
|
"rails",
|
|
"snippets",
|
|
"textmate"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.02.23-sjs-rails-bundle-0.2-for-textmate",
|
|
"styles": [
|
|
"typocode"
|
|
]
|
|
},
|
|
"2006.03.03-generate-selfdown-in-your-rails-migrations": {
|
|
"title": "Generate self.down in your Rails migrations",
|
|
"date": "March 3, 2006",
|
|
"timestamp": 1141450680,
|
|
"tags": [
|
|
"rails",
|
|
"textmate",
|
|
"migrations",
|
|
"rails",
|
|
"textmate"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.03.03-generate-selfdown-in-your-rails-migrations"
|
|
},
|
|
"2006.03.03-spore": {
|
|
"title": "Spore",
|
|
"date": "March 3, 2006",
|
|
"timestamp": 1141450980,
|
|
"tags": [
|
|
"amusement",
|
|
"technology",
|
|
"cool",
|
|
"fun",
|
|
"games"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.03.03-spore"
|
|
},
|
|
"2006.03.03-i-dont-mind-fairplay-either": {
|
|
"title": "I don't mind FairPlay either",
|
|
"date": "March 3, 2006",
|
|
"timestamp": 1141451760,
|
|
"tags": [
|
|
"apple",
|
|
"mac os x",
|
|
"life",
|
|
"drm",
|
|
"fairplay",
|
|
"ipod",
|
|
"itunes"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.03.03-i-dont-mind-fairplay-either"
|
|
},
|
|
"2006.04.04-zsh-terminal-goodness-on-os-x": {
|
|
"title": "zsh terminal goodness on OS X",
|
|
"date": "April 4, 2006",
|
|
"timestamp": 1144187820,
|
|
"tags": [
|
|
"mac os x",
|
|
"apple",
|
|
"osx",
|
|
"terminal",
|
|
"zsh"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.04.04-zsh-terminal-goodness-on-os-x"
|
|
},
|
|
"2006.05.07-os-x-and-fitts-law": {
|
|
"title": "OS X and Fitt's law",
|
|
"date": "May 7, 2006",
|
|
"timestamp": 1147059780,
|
|
"tags": [
|
|
"mac os x",
|
|
"apple",
|
|
"mac",
|
|
"os",
|
|
"usability",
|
|
"x"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.05.07-os-x-and-fitts-law"
|
|
},
|
|
"2006.05.07-wikipediafs-on-linux-in-python": {
|
|
"title": "WikipediaFS on Linux, in Python",
|
|
"date": "May 7, 2006",
|
|
"timestamp": 1147060140,
|
|
"tags": [
|
|
"hacking",
|
|
"python",
|
|
"linux",
|
|
"fuse",
|
|
"linux",
|
|
"mediawiki",
|
|
"python",
|
|
"wikipediafs"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.05.07-wikipediafs-on-linux-in-python"
|
|
},
|
|
"2006.06.05-ich-bin-auslnder-und-spreche-nicht-gut-deutsch": {
|
|
"title": "Ich bin Ausländer und spreche nicht gut Deutsch",
|
|
"date": "June 5, 2006",
|
|
"timestamp": 1149527460,
|
|
"tags": [
|
|
"life",
|
|
"munich",
|
|
"seekport",
|
|
"work"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.06.05-ich-bin-auslnder-und-spreche-nicht-gut-deutsch"
|
|
},
|
|
"2006.06.09-never-buy-a-german-keyboard": {
|
|
"title": "Never buy a German keyboard!",
|
|
"date": "June 9, 2006",
|
|
"timestamp": 1149841020,
|
|
"tags": [
|
|
"apple",
|
|
"apple",
|
|
"german",
|
|
"keyboard"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.06.09-never-buy-a-german-keyboard"
|
|
},
|
|
"2006.06.10-theres-nothing-regular-about-regular-expressions": {
|
|
"title": "There's nothing regular about regular expressions",
|
|
"date": "June 10, 2006",
|
|
"timestamp": 1149928080,
|
|
"tags": [
|
|
"technology",
|
|
"book",
|
|
"regex"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.06.10-theres-nothing-regular-about-regular-expressions"
|
|
},
|
|
"2006.06.11-apple-pays-attention-to-detail": {
|
|
"title": "Apple pays attention to detail",
|
|
"date": "June 11, 2006",
|
|
"timestamp": 1150014600,
|
|
"tags": [
|
|
"technology",
|
|
"mac os x",
|
|
"apple"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.06.11-apple-pays-attention-to-detail"
|
|
},
|
|
"2006.07.06-working-with-the-zend-framework": {
|
|
"title": "Working with the Zend Framework",
|
|
"date": "July 6, 2006",
|
|
"timestamp": 1152196560,
|
|
"tags": [
|
|
"coding",
|
|
"technology",
|
|
"php",
|
|
"framework",
|
|
"php",
|
|
"seekport",
|
|
"zend"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.07.06-working-with-the-zend-framework"
|
|
},
|
|
"2006.07.13-ubuntu-linux-for-linux-users-please": {
|
|
"title": "Ubuntu: Linux for Linux users please",
|
|
"date": "July 13, 2006",
|
|
"timestamp": 1152804840,
|
|
"tags": [
|
|
"linux",
|
|
"linux",
|
|
"ubuntu"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.07.13-ubuntu-linux-for-linux-users-please"
|
|
},
|
|
"2006.07.17-ruby-and-rails-have-spoiled-me-rotten": {
|
|
"title": "Ruby and Rails have spoiled me rotten",
|
|
"date": "July 17, 2006",
|
|
"timestamp": 1153140000,
|
|
"tags": [
|
|
"rails",
|
|
"ruby",
|
|
"php",
|
|
"coding",
|
|
"framework",
|
|
"php",
|
|
"rails",
|
|
"ruby",
|
|
"zend"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.07.17-ruby-and-rails-have-spoiled-me-rotten"
|
|
},
|
|
"2006.07.19-late-static-binding": {
|
|
"title": "Late static binding",
|
|
"date": "July 19, 2006",
|
|
"timestamp": 1153329780,
|
|
"tags": [
|
|
"php",
|
|
"coding",
|
|
"coding",
|
|
"php"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.07.19-late-static-binding"
|
|
},
|
|
"2006.07.21-class-method-instance-method-it-doesnt-matter-to-php": {
|
|
"title": "Class method? Instance method? It doesn't matter to PHP",
|
|
"date": "July 21, 2006",
|
|
"timestamp": 1153493760,
|
|
"tags": [
|
|
"php",
|
|
"coding"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.07.21-class-method-instance-method-it-doesnt-matter-to-php"
|
|
},
|
|
"2006.08.22-where-are-my-headphones": {
|
|
"title": "Where are my headphones?",
|
|
"date": "August 22, 2006",
|
|
"timestamp": 1156257060,
|
|
"tags": [
|
|
"life",
|
|
"seekport"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.08.22-where-are-my-headphones"
|
|
},
|
|
"2006.09.16-buffalo-buffalo-buffalo-buffalo-buffalo-buffalo-buffalo-buffalo": {
|
|
"title": "Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo",
|
|
"date": "September 16, 2006",
|
|
"timestamp": 1158469860,
|
|
"tags": [
|
|
"amusement",
|
|
"buffalo"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.09.16-buffalo-buffalo-buffalo-buffalo-buffalo-buffalo-buffalo-buffalo"
|
|
},
|
|
"2006.09.22-some-features-you-might-have-missed-in-itunes-7": {
|
|
"title": "Some features you might have missed in iTunes 7",
|
|
"date": "September 22, 2006",
|
|
"timestamp": 1158969540,
|
|
"tags": [
|
|
"apple",
|
|
"apple",
|
|
"itunes"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.09.22-some-features-you-might-have-missed-in-itunes-7"
|
|
},
|
|
"2006.12.17-coping-with-windows-xp-activiation-on-a-mac": {
|
|
"title": "Coping with Windows XP activiation on a Mac",
|
|
"date": "December 17, 2006",
|
|
"timestamp": 1166427000,
|
|
"tags": [
|
|
"parallels",
|
|
"windows",
|
|
"apple",
|
|
"mac os x",
|
|
"bootcamp"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2006.12.17-coping-with-windows-xp-activiation-on-a-mac"
|
|
},
|
|
"2007.03.06-full-screen-cover-flow": {
|
|
"title": "Full-screen Cover Flow",
|
|
"date": "March 6, 2007",
|
|
"timestamp": 1173217860,
|
|
"tags": [
|
|
"apple",
|
|
"coverflow",
|
|
"itunes"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.03.06-full-screen-cover-flow"
|
|
},
|
|
"2007.03.08-digg-v4-reply-to-replies-greasemonkey-script": {
|
|
"title": "Digg v4: Reply to replies (Greasemonkey script)",
|
|
"date": "March 8, 2007",
|
|
"timestamp": 1173424740,
|
|
"tags": [
|
|
"coding",
|
|
"digg",
|
|
"firefox",
|
|
"userscript"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.03.08-digg-v4-reply-to-replies-greasemonkey-script"
|
|
},
|
|
"2007.03.25-diggscuss-0.9": {
|
|
"title": "Diggscuss 0.9",
|
|
"date": "March 25, 2007",
|
|
"timestamp": 1174834980,
|
|
"tags": [
|
|
"coding",
|
|
"digg",
|
|
"firefox",
|
|
"userscript"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.03.25-diggscuss-0.9"
|
|
},
|
|
"2007.04.04-a-triple-booting-schizophrenic-macbook": {
|
|
"title": "A triple-booting, schizophrenic MacBook",
|
|
"date": "April 4, 2007",
|
|
"timestamp": 1175754600,
|
|
"tags": [
|
|
"linux",
|
|
"mac os x",
|
|
"windows"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.04.04-a-triple-booting-schizophrenic-macbook"
|
|
},
|
|
"2007.04.11-activerecord-base.find_or_create-and-find_or_initialize": {
|
|
"title": "ActiveRecord::Base.find_or_create and find_or_initialize",
|
|
"date": "April 11, 2007",
|
|
"timestamp": 1176287040,
|
|
"tags": [
|
|
"activerecord",
|
|
"coding",
|
|
"rails",
|
|
"ruby"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.04.11-activerecord-base.find_or_create-and-find_or_initialize"
|
|
},
|
|
"2007.04.16-getting-to-know-vista": {
|
|
"title": "Getting to know Vista",
|
|
"date": "April 16, 2007",
|
|
"timestamp": 1176746940,
|
|
"tags": [
|
|
"windows"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.04.16-getting-to-know-vista"
|
|
},
|
|
"2007.04.26-quickly-inserting-millions-of-rows-with-mysql-innodb": {
|
|
"title": "Quickly inserting millions of rows with MySQL/InnoDB",
|
|
"date": "April 26, 2007",
|
|
"timestamp": 1177596360,
|
|
"tags": [
|
|
"linux",
|
|
"mysql"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.04.26-quickly-inserting-millions-of-rows-with-mysql-innodb"
|
|
},
|
|
"2007.04.30-funny-how-code-can-be-beautiful": {
|
|
"title": "Funny how code can be beautiful",
|
|
"date": "April 30, 2007",
|
|
"timestamp": 1177942020,
|
|
"tags": [
|
|
"haskell"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.04.30-funny-how-code-can-be-beautiful"
|
|
},
|
|
"2007.05.01-typo-and-i-are-friends-again": {
|
|
"title": "Typo and I are friends again",
|
|
"date": "May 1, 2007",
|
|
"timestamp": 1178081497,
|
|
"tags": [
|
|
"typo"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.01-typo-and-i-are-friends-again"
|
|
},
|
|
"2007.05.03-a-scheme-parser-in-haskell-part-1": {
|
|
"title": "A Scheme parser in Haskell: Part 1",
|
|
"date": "May 3, 2007",
|
|
"timestamp": 1178178470,
|
|
"tags": [
|
|
"coding",
|
|
"haskell"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.03-a-scheme-parser-in-haskell-part-1"
|
|
},
|
|
"2007.05.05-gotta-love-the-ferry-ride": {
|
|
"title": "Gotta Love the Ferry Ride",
|
|
"date": "May 5, 2007",
|
|
"timestamp": 1178364300,
|
|
"tags": [
|
|
"life",
|
|
"photo",
|
|
"bc",
|
|
"victoria"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.05-gotta-love-the-ferry-ride"
|
|
},
|
|
"2007.05.05-a-new-way-to-look-at-networking": {
|
|
"title": "A New Way to Look at Networking",
|
|
"date": "May 5, 2007",
|
|
"timestamp": 1178406600,
|
|
"tags": [
|
|
"technology",
|
|
"networking"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.05-a-new-way-to-look-at-networking"
|
|
},
|
|
"2007.05.09-dtrace-ruby-goodness-for-sun": {
|
|
"title": "dtrace + Ruby = Goodness for Sun",
|
|
"date": "May 9, 2007",
|
|
"timestamp": 1178725500,
|
|
"tags": [
|
|
"ruby",
|
|
"dtrace",
|
|
"sun"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.09-dtrace-ruby-goodness-for-sun"
|
|
},
|
|
"2007.05.09-i-cant-wait-to-see-what-matt-stone-trey-parker-do-with-this": {
|
|
"title": "I Can't Wait to See What Trey Parker & Matt Stone Do With This",
|
|
"date": "May 9, 2007",
|
|
"timestamp": 1178746440,
|
|
"tags": [
|
|
"crazy"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.09-i-cant-wait-to-see-what-matt-stone-trey-parker-do-with-this"
|
|
},
|
|
"2007.05.10-rails-plugins-link-dump": {
|
|
"title": "Rails Plugins (link dump)",
|
|
"date": "May 10, 2007",
|
|
"timestamp": 1178756520,
|
|
"tags": [
|
|
"rails"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.10-rails-plugins-link-dump"
|
|
},
|
|
"2007.05.10-enumerable-pluck-and-string-to_proc-for-ruby": {
|
|
"title": "Enumurable#pluck and String#to_proc for Ruby",
|
|
"date": "May 10, 2007",
|
|
"timestamp": 1178838840,
|
|
"tags": [
|
|
"ruby",
|
|
"extensions"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.10-enumerable-pluck-and-string-to_proc-for-ruby"
|
|
},
|
|
"2007.05.15-dumping-objects-to-the-browser-in-rails": {
|
|
"title": "Dumping Objects to the Browser in Rails",
|
|
"date": "May 15, 2007",
|
|
"timestamp": 1179261480,
|
|
"tags": [
|
|
"rails"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.15-dumping-objects-to-the-browser-in-rails"
|
|
},
|
|
"2007.05.16-cheating-at-life-in-general": {
|
|
"title": "Cheating at Life in General",
|
|
"date": "May 16, 2007",
|
|
"timestamp": 1179308760,
|
|
"tags": [
|
|
"cheat",
|
|
"vim",
|
|
"emacs",
|
|
"textmate"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.16-cheating-at-life-in-general"
|
|
},
|
|
"2007.05.18-iphone-humour": {
|
|
"title": "iPhone Humour",
|
|
"date": "May 18, 2007",
|
|
"timestamp": 1179513240,
|
|
"tags": [
|
|
"apple",
|
|
"funny",
|
|
"iphone"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.18-iphone-humour"
|
|
},
|
|
"2007.05.22-inspirado": {
|
|
"title": "Inspirado",
|
|
"date": "May 22, 2007",
|
|
"timestamp": 1179865380,
|
|
"tags": [
|
|
"rails",
|
|
"inspirado"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.22-inspirado"
|
|
},
|
|
"2007.05.26-finnish-court-rules-css-ineffective-at-protecting-dvds": {
|
|
"title": "Finnish court rules CSS ineffective at protecting DVDs",
|
|
"date": "May 26, 2007",
|
|
"timestamp": 1180175040,
|
|
"tags": [
|
|
"drm"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.05.26-finnish-court-rules-css-ineffective-at-protecting-dvds"
|
|
},
|
|
"2007.06.08-301-moved-permanently": {
|
|
"title": "301 moved permanently",
|
|
"date": "June 8, 2007",
|
|
"timestamp": 1181350800,
|
|
"tags": [
|
|
"life"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.08-301-moved-permanently"
|
|
},
|
|
"2007.06.08-so-long-typo-and-thanks-for-all-the-timeouts": {
|
|
"title": "so long typo (and thanks for all the timeouts)",
|
|
"date": "June 8, 2007",
|
|
"timestamp": 1181350860,
|
|
"tags": [
|
|
"mephisto",
|
|
"typo"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.08-so-long-typo-and-thanks-for-all-the-timeouts"
|
|
},
|
|
"2007.06.14-more-scheming-with-haskell": {
|
|
"title": "More Scheming with Haskell",
|
|
"date": "June 14, 2007",
|
|
"timestamp": 1181783340,
|
|
"tags": [
|
|
"coding",
|
|
"haskell",
|
|
"scheme"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.14-more-scheming-with-haskell"
|
|
},
|
|
"2007.06.14-testspec-on-rails-declared-awesome-just-one-catch": {
|
|
"title": "test/spec on rails declared awesome, just one catch",
|
|
"date": "June 14, 2007",
|
|
"timestamp": 1181830860,
|
|
"tags": [
|
|
"bdd",
|
|
"rails",
|
|
"test/spec"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.14-testspec-on-rails-declared-awesome-just-one-catch"
|
|
},
|
|
"2007.06.15-begging-the-question": {
|
|
"title": "Begging the question",
|
|
"date": "June 15, 2007",
|
|
"timestamp": 1181933340,
|
|
"tags": [
|
|
"english",
|
|
"life",
|
|
"pedantry"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.15-begging-the-question"
|
|
},
|
|
"2007.06.18-back-on-gentoo-trying-new-things": {
|
|
"title": "Back on Gentoo, trying new things",
|
|
"date": "June 18, 2007",
|
|
"timestamp": 1182215100,
|
|
"tags": [
|
|
"emacs",
|
|
"gentoo",
|
|
"linux",
|
|
"vim"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.18-back-on-gentoo-trying-new-things"
|
|
},
|
|
"2007.06.20-reinventing-the-wheel": {
|
|
"title": "Reinventing the wheel",
|
|
"date": "June 20, 2007",
|
|
"timestamp": 1182356820,
|
|
"tags": [
|
|
"emacs",
|
|
"snippets"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.20-reinventing-the-wheel"
|
|
},
|
|
"2007.06.22-embrace-the-database": {
|
|
"title": "Embrace the database",
|
|
"date": "June 22, 2007",
|
|
"timestamp": 1182507240,
|
|
"tags": [
|
|
"activerecord",
|
|
"rails",
|
|
"ruby"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.22-embrace-the-database"
|
|
},
|
|
"2007.06.23-emacs-for-textmate-junkies": {
|
|
"title": "Emacs for TextMate junkies",
|
|
"date": "June 23, 2007",
|
|
"timestamp": 1182565020,
|
|
"tags": [
|
|
"emacs",
|
|
"textmate"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.23-emacs-for-textmate-junkies"
|
|
},
|
|
"2007.06.24-floating-point-in-elschemo": {
|
|
"title": "Floating point in ElSchemo",
|
|
"date": "June 24, 2007",
|
|
"timestamp": 1182711180,
|
|
"tags": [
|
|
"elschemo",
|
|
"haskell",
|
|
"scheme"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.24-floating-point-in-elschemo"
|
|
},
|
|
"2007.06.25-propaganda-makes-me-sick": {
|
|
"title": "Propaganda makes me sick",
|
|
"date": "June 25, 2007",
|
|
"timestamp": 1182768900,
|
|
"tags": [
|
|
"propaganda"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.25-propaganda-makes-me-sick"
|
|
},
|
|
"2007.06.26-rtfm": {
|
|
"title": "RTFM!",
|
|
"date": "June 26, 2007",
|
|
"timestamp": 1182806340,
|
|
"tags": [
|
|
"emacs",
|
|
"rtfm"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.26-rtfm"
|
|
},
|
|
"2007.06.25-emacs-tagify-region-or-insert-tag": {
|
|
"title": "Emacs: tagify-region-or-insert-tag",
|
|
"date": "June 25, 2007",
|
|
"timestamp": 1182809580,
|
|
"tags": [
|
|
"emacs",
|
|
"tagify"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.25-emacs-tagify-region-or-insert-tag"
|
|
},
|
|
"2007.06.28-recent-ruby-and-rails-regales": {
|
|
"title": "Recent Ruby and Rails Regales",
|
|
"date": "June 28, 2007",
|
|
"timestamp": 1183058580,
|
|
"tags": [
|
|
"rails",
|
|
"rails on rules",
|
|
"regular expressions",
|
|
"ruby",
|
|
"sake",
|
|
"secure associations",
|
|
"regex"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.28-recent-ruby-and-rails-regales"
|
|
},
|
|
"2007.06.30-controlling-volume-via-the-keyboard-on-linux": {
|
|
"title": "Controlling volume via the keyboard on Linux",
|
|
"date": "June 30, 2007",
|
|
"timestamp": 1183245180,
|
|
"tags": [
|
|
"alsa",
|
|
"linux",
|
|
"ruby",
|
|
"volume"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.06.30-controlling-volume-via-the-keyboard-on-linux"
|
|
},
|
|
"2007.07.03-a-textmate-tip-for-emacs-users": {
|
|
"title": "A TextMate tip for Emacs users",
|
|
"date": "July 3, 2007",
|
|
"timestamp": 1183481100,
|
|
"tags": [
|
|
"emacs",
|
|
"keyboard shortcuts",
|
|
"textmate"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.07.03-a-textmate-tip-for-emacs-users"
|
|
},
|
|
"2007.07.05-rushcheck-quickcheck-for-ruby": {
|
|
"title": "RushCheck: QuickCheck for Ruby",
|
|
"date": "July 5, 2007",
|
|
"timestamp": 1183665000,
|
|
"tags": [
|
|
"quickcheck",
|
|
"ruby",
|
|
"rushcheck"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.07.05-rushcheck-quickcheck-for-ruby"
|
|
},
|
|
"2007.07.06-see-your-regular-expressions-in-emacs": {
|
|
"title": "See your regular expressions in Emacs",
|
|
"date": "July 6, 2007",
|
|
"timestamp": 1183740300,
|
|
"tags": [
|
|
"emacs",
|
|
"regex"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.07.06-see-your-regular-expressions-in-emacs"
|
|
},
|
|
"2007.07.12-people": {
|
|
"title": "people",
|
|
"date": "July 12, 2007",
|
|
"timestamp": 1184243280,
|
|
"tags": [
|
|
"life",
|
|
"people"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.07.12-people"
|
|
},
|
|
"2007.08.02-elschemo-boolean-logic-and-branching": {
|
|
"title": "ElSchemo: Boolean logic and branching",
|
|
"date": "August 2, 2007",
|
|
"timestamp": 1186073940,
|
|
"tags": [
|
|
"elschemo",
|
|
"haskell",
|
|
"scheme"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.08.02-elschemo-boolean-logic-and-branching"
|
|
},
|
|
"2007.08.09-snap-crunchle-pop": {
|
|
"title": "Snap, crunchle, pop",
|
|
"date": "August 9, 2007",
|
|
"timestamp": 1186654620,
|
|
"tags": [
|
|
"humans",
|
|
"injury",
|
|
"life"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.08.09-snap-crunchle-pop"
|
|
},
|
|
"2007.08.09-cheat-from-emacs": {
|
|
"title": "Cheat from Emacs",
|
|
"date": "August 9, 2007",
|
|
"timestamp": 1186710960,
|
|
"tags": [
|
|
"Emacs"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.08.09-cheat-from-emacs"
|
|
},
|
|
"2007.08.11-opera-is-pretty-slick": {
|
|
"title": "Opera is pretty slick",
|
|
"date": "August 11, 2007",
|
|
"timestamp": 1186834260,
|
|
"tags": [
|
|
"browsers",
|
|
"firefox",
|
|
"opera"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.08.11-opera-is-pretty-slick"
|
|
},
|
|
"2007.08.19-catch-compiler-errors-at-runtime": {
|
|
"title": "Catch compiler errors at runtime",
|
|
"date": "August 19, 2007",
|
|
"timestamp": 1187561820,
|
|
"tags": [
|
|
"ruby"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.08.19-catch-compiler-errors-at-runtime"
|
|
},
|
|
"2007.08.21-cheat-productively-in-emacs": {
|
|
"title": "Cheat productively in Emacs",
|
|
"date": "August 21, 2007",
|
|
"timestamp": 1187720400,
|
|
"tags": [
|
|
"Emacs"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.08.21-cheat-productively-in-emacs"
|
|
},
|
|
"2007.08.26-captivating-little-creatures": {
|
|
"title": "Captivating little creatures",
|
|
"date": "August 26, 2007",
|
|
"timestamp": 1188131700,
|
|
"tags": [
|
|
"games",
|
|
"lemmings"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.08.26-captivating-little-creatures"
|
|
},
|
|
"2007.08.30-5-ways-to-avoid-looking-like-a-jerk-on-the-internet": {
|
|
"title": "5 ways to avoid looking like a jerk on the Internet",
|
|
"date": "August 30, 2007",
|
|
"timestamp": 1188487500,
|
|
"tags": [
|
|
"life",
|
|
"netiquette"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.08.30-5-ways-to-avoid-looking-like-a-jerk-on-the-internet"
|
|
},
|
|
"2007.09.25-learning-lisp-read-pcl": {
|
|
"title": "Learning Lisp? Read PCL",
|
|
"date": "September 25, 2007",
|
|
"timestamp": 1190714340,
|
|
"tags": [
|
|
"lisp"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.09.25-learning-lisp-read-pcl"
|
|
},
|
|
"2007.09.26-python-and-ruby-brain-dump": {
|
|
"title": "Python and Ruby brain dump",
|
|
"date": "September 26, 2007",
|
|
"timestamp": 1190802840,
|
|
"tags": [
|
|
"python",
|
|
"ruby"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.09.26-python-and-ruby-brain-dump"
|
|
},
|
|
"2007.10.29-gtkpod-in-gutsy-got-you-groaning": {
|
|
"title": "Gtkpod in Gutsy Got You Groaning?",
|
|
"date": "October 29, 2007",
|
|
"timestamp": 1193692440,
|
|
"tags": [
|
|
"broken",
|
|
"gtkpod",
|
|
"linux",
|
|
"ubuntu"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2007.10.29-gtkpod-in-gutsy-got-you-groaning"
|
|
},
|
|
"2008.01.07-random-pet-peeve-of-the-day": {
|
|
"title": "Random pet peeve of the day",
|
|
"date": "January 7, 2008",
|
|
"timestamp": 1199727720,
|
|
"tags": [
|
|
"usability",
|
|
"web"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2008.01.07-random-pet-peeve-of-the-day"
|
|
},
|
|
"2008.02.19-thoughts-on-arc": {
|
|
"title": "Thoughts on Arc",
|
|
"date": "February 19, 2008",
|
|
"timestamp": 1203420360,
|
|
"tags": [
|
|
"lisp arc"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2008.02.19-thoughts-on-arc"
|
|
},
|
|
"2008.03.03-project-euler-code-repo-in-arc": {
|
|
"title": "Project Euler code repo in Arc",
|
|
"date": "March 3, 2008",
|
|
"timestamp": 1204561440,
|
|
"tags": [
|
|
"arc",
|
|
"project euler"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2008.03.03-project-euler-code-repo-in-arc"
|
|
},
|
|
"2009.11.21-using-emacs-to-develop-mojo-apps-for-webos": {
|
|
"title": "Using Emacs to Develop Mojo Apps for WebOS",
|
|
"date": "November 21, 2009",
|
|
"timestamp": 1258790400,
|
|
"tags": [
|
|
"emacs",
|
|
"mojo",
|
|
"webos",
|
|
"lisp",
|
|
"javascript"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2009.11.21-using-emacs-to-develop-mojo-apps-for-webos"
|
|
},
|
|
"2010.01.17-working-with-c-style-structs-in-ruby": {
|
|
"title": "Working with C-style structs in Ruby",
|
|
"date": "January 17, 2010",
|
|
"timestamp": 1263715200,
|
|
"tags": [
|
|
"ruby",
|
|
"cstruct",
|
|
"compiler"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2010.01.17-working-with-c-style-structs-in-ruby"
|
|
},
|
|
"2010.01.18-basics-of-the-mach-o-file-format": {
|
|
"title": "Basics of the Mach-O file format",
|
|
"date": "January 18, 2010",
|
|
"timestamp": 1263801600,
|
|
"tags": [
|
|
"mach-o",
|
|
"os x",
|
|
"compiler"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2010.01.18-basics-of-the-mach-o-file-format"
|
|
},
|
|
"2010.01.20-a-preview-of-mach-o-file-generation": {
|
|
"title": "A preview of Mach-O file generation",
|
|
"date": "January 20, 2010",
|
|
"timestamp": 1263974400,
|
|
"tags": [
|
|
"ruby",
|
|
"mach-o",
|
|
"os x",
|
|
"compiler"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2010.01.20-a-preview-of-mach-o-file-generation"
|
|
},
|
|
"2010.11.04-37signals-chalk-dissected": {
|
|
"title": "37signals' Chalk Dissected",
|
|
"date": "November 4, 2010",
|
|
"timestamp": 1288854000,
|
|
"tags": [
|
|
"37signals",
|
|
"chalk",
|
|
"ipad",
|
|
"javascript",
|
|
"web",
|
|
"html",
|
|
"css",
|
|
"zepto.js"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2010.11.04-37signals-chalk-dissected"
|
|
},
|
|
"2011.11.27-recovering-old-posts": {
|
|
"title": "Recovering Old Blog Posts",
|
|
"date": "November 27, 2011",
|
|
"timestamp": 1322385300,
|
|
"tags": [
|
|
"recover",
|
|
"old",
|
|
"blog",
|
|
"posts"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2011.11.27-recovering-old-posts"
|
|
},
|
|
"2011.11.27-lights": {
|
|
"title": "Lights →",
|
|
"date": "November 27, 2011",
|
|
"timestamp": 1322446260,
|
|
"tags": [
|
|
|
|
],
|
|
"url": "/posts/2011.11.27-lights",
|
|
"link": "http://lights.elliegoulding.com/"
|
|
},
|
|
"2011.12.10-static-url-shortener-using-htaccess": {
|
|
"title": "A Static URL Shortener Using .htaccess",
|
|
"date": "December 10, 2011",
|
|
"timestamp": 1323584949,
|
|
"tags": [
|
|
"s42.ca",
|
|
"url",
|
|
"shortener",
|
|
"samhuri.net",
|
|
"url shortener"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2011.12.10-static-url-shortener-using-htaccess"
|
|
},
|
|
"2011.12.11-pure-css3-images-hmm-maybe-later": {
|
|
"title": "Pure CSS3 images? Hmm, maybe later →",
|
|
"date": "December 11, 2011",
|
|
"timestamp": 1323635103,
|
|
"tags": [
|
|
|
|
],
|
|
"url": "/posts/2011.12.11-pure-css3-images-hmm-maybe-later",
|
|
"link": "http://calendar.perfplanet.com/2011/pure-css3-images-hmm-maybe-later/"
|
|
},
|
|
"2011.12.15-i-see-http": {
|
|
"title": "I see HTTP →",
|
|
"date": "December 15, 2011",
|
|
"timestamp": 1323964035,
|
|
"tags": [
|
|
|
|
],
|
|
"url": "/posts/2011.12.15-i-see-http",
|
|
"link": "http://calendar.perfplanet.com/2011/i-see-http/"
|
|
},
|
|
"2011.12.19-my-kind-of-feature-checklist": {
|
|
"title": "My kind of feature checklist →",
|
|
"date": "December 19, 2011",
|
|
"timestamp": 1324354805,
|
|
"tags": [
|
|
|
|
],
|
|
"url": "/posts/2011.12.19-my-kind-of-feature-checklist",
|
|
"link": "http://www.marco.org/2011/12/19/amazon-kindle-vs-ipad"
|
|
},
|
|
"2011.12.22-new-release-of-firefox-for-android-optimized-for-tablets": {
|
|
"title": "New Release of Firefox for Android, Optimized for Tablets →",
|
|
"date": "December 22, 2011",
|
|
"timestamp": 1324868051,
|
|
"tags": [
|
|
|
|
],
|
|
"url": "/posts/2011.12.22-new-release-of-firefox-for-android-optimized-for-tablets",
|
|
"link": "http://daringfireball.net/linked/2011/12/22/firefox-android"
|
|
},
|
|
"2011.12.25-the-broken-pixel-theory": {
|
|
"title": "The Broken Pixel Theory →",
|
|
"date": "December 25, 2011",
|
|
"timestamp": 1324868060,
|
|
"tags": [
|
|
|
|
],
|
|
"url": "/posts/2011.12.25-the-broken-pixel-theory",
|
|
"link": "http://jtaby.com/2011/12/25/the-broken-pixel-theory.html"
|
|
},
|
|
"2012.01.04-yak-shaving": {
|
|
"title": "Yak shaving →",
|
|
"date": "January 4, 2012",
|
|
"timestamp": 1325712240,
|
|
"tags": [
|
|
|
|
],
|
|
"url": "/posts/2012.01.04-yak-shaving",
|
|
"link": "http://blog.hasmanythrough.com/2012/1/4/yak-shaving"
|
|
},
|
|
"2012.01.09-the-40-standup-desk": {
|
|
"title": "The $40 Standup Desk →",
|
|
"date": "January 9, 2012",
|
|
"timestamp": 1326097000,
|
|
"tags": [
|
|
|
|
],
|
|
"url": "/posts/2012.01.09-the-40-standup-desk",
|
|
"link": "http://opensoul.org/blog/archives/2012/01/09/the-40-standup-desk/"
|
|
},
|
|
"2012.01.17-recovering-from-a-computer-science-education": {
|
|
"title": "Recovering From a Computer Science Education →",
|
|
"date": "January 17, 2012",
|
|
"timestamp": 1326787200,
|
|
"tags": [
|
|
|
|
],
|
|
"url": "/posts/2012.01.17-recovering-from-a-computer-science-education",
|
|
"link": "http://prog21.dadgum.com/123.html"
|
|
},
|
|
"2012.01.17-sopa-lives-and-mpaa-calls-protests-an-abuse-of-power": {
|
|
"title": "SOPA lives - and MPAA calls protests an \"abuse of power\" →",
|
|
"date": "January 17, 2012",
|
|
"timestamp": 1326797200,
|
|
"tags": [
|
|
|
|
],
|
|
"url": "/posts/2012.01.17-sopa-lives-and-mpaa-calls-protests-an-abuse-of-power",
|
|
"link": "http://arstechnica.com/tech-policy/news/2012/01/sopa-livesand-mpaa-calls-protests-an-abuse-of-power.ars"
|
|
},
|
|
"2012.01.19-fujitsu-has-lost-their-mind": {
|
|
"title": "Fujitsu has lost their mind →",
|
|
"date": "January 19, 2012",
|
|
"timestamp": 1327032333,
|
|
"tags": [
|
|
|
|
],
|
|
"url": "/posts/2012.01.19-fujitsu-has-lost-their-mind",
|
|
"link": "http://tablet-news.com/2012/01/17/fujitsu-lifebook-2013-concept-incorporates-a-tablet-for-a-keyboard-phone-and-digital-camera/"
|
|
},
|
|
"2013.03.06-zelda-tones-for-ios": {
|
|
"title": "Zelda Tones for iOS",
|
|
"date": "March 6, 2013",
|
|
"timestamp": 1362624673,
|
|
"tags": [
|
|
"zelda",
|
|
"nintendo",
|
|
"pacman",
|
|
"ringtones",
|
|
"tones",
|
|
"ios"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2013.03.06-zelda-tones-for-ios"
|
|
},
|
|
"2013.09.27-linky": {
|
|
"title": "Linky",
|
|
"date": "September 27, 2013",
|
|
"timestamp": 1380343742,
|
|
"tags": [
|
|
"linky",
|
|
"north watcher",
|
|
"ruby",
|
|
"gmail",
|
|
"links",
|
|
"notifications"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2013.09.27-linky"
|
|
},
|
|
"2014.02.03-ember-structure": {
|
|
"title": "Structure of an Ember app",
|
|
"date": "February 3, 2014",
|
|
"timestamp": 1391479549,
|
|
"tags": [
|
|
"ember.js"
|
|
],
|
|
"author": "sjs",
|
|
"url": "/posts/2014.02.03-ember-structure"
|
|
}
|
|
}
|