From 5361cfb470480d88e4fd3b251005510302d2d173 Mon Sep 17 00:00:00 2001 From: Jan-Erik Rediger Date: Sun, 9 Jul 2017 14:18:22 +0200 Subject: [PATCH] Jekyll is dead, long live Cobalt! --- .cobalt.yml | 11 + Gemfile | 6 - Gemfile.lock | 78 ------ Makefile | 11 + Rakefile | 42 ---- _config.yml | 12 - _includes/single_page.html | 15 -- _layouts/_footer.liquid | 10 + _layouts/_head.liquid | 7 + _layouts/_menu.liquid | 10 + _layouts/default.html | 43 ---- _layouts/default.liquid | 16 ++ _layouts/post.html | 18 -- _layouts/post.liquid | 33 +++ _layouts/simple.liquid | 21 ++ _plugins/.gitignore | 2 - .../kramdown_pygments.rb | 89 ------- ...tic.markdown => 2011-01-15-blog-static.md} | 5 +- ...-15-fnord.markdown => 2011-01-15-fnord.md} | 6 +- ...1-01-15-fnordig-is-up-and-running.markdown | 7 - .../2011-01-15-fnordig-is-up-and-running.md | 7 + ...ges.markdown => 2011-01-20-error-pages.md} | 5 +- ...n.markdown => 2011-01-22-poor-mans-vpn.md} | 5 +- ... => 2011-01-22-static-blog-system-runs.md} | 5 +- ...2011-01-23-static-blog-system-improved.md} | 5 +- ...arkdown => 2011-01-26-ipv6-with-nodejs.md} | 7 +- ...=> 2011-08-25-blog-running-with-jekyll.md} | 5 +- ...x.markdown => 2011-09-02-compile-nginx.md} | 7 +- ...t.markdown => 2011-09-02-kramdown-test.md} | 5 +- ....markdown => 2011-09-08-running-on-ssl.md} | 6 +- ...1-09-27-running-etherpad-lite-on-nginx.md} | 6 +- ...011-10-02-fast-and-simple-proxy-server.md} | 6 +- ...down => 2011-10-18-using-ipvwith-inetd.md} | 6 +- ...-12-25-network-config-without-ifconfig.md} | 6 +- ...11-12-25-send-your-docs-to-your-kindle.md} | 6 +- ...2012-05-07-swap-in-double-linked-lists.md} | 6 +- ...down => 2012-05-08-my-instapaper-stats.md} | 6 +- ... 2012-05-12-instapaper-stats-is-online.md} | 6 +- ...pia-guick-guide-to-a-successfull-start.md} | 6 +- ...own => 2012-07-06-raspberry-pi-day-two.md} | 6 +- ...etting-ipvworking-with-smartos-and-kvm.md} | 6 +- ...012-09-21-badbilla-billomat-api-client.md} | 6 +- ...3-getting-try-redis-db-com-back-online.md} | 6 +- ...markdown => 2012-12-30-fnord-news-show.md} | 6 +- ...> 2013-01-04-29c3-or-my-first-congress.md} | 6 +- ...n => 2013-01-10-try-redis-io-is-online.md} | 6 +- ...oblems-after-disconnecting-luks-device.md} | 6 +- ...backups-with-rsnapshotand-rsnapshot-ii.md} | 6 +- ...merge.markdown => 2013-05-11-git-merge.md} | 6 +- ...1-01-iterate-the-keyspace-in-redis-scan.md | 6 +- ...side-git-hook-when-there-are-no-updates.md | 6 +- .../2013-11-06-unicode-codepoints-in-ruby.md | 6 +- ...-or-what-you-learn-when-idling-in-redis.md | 6 +- _posts/2014-01-01-30c3.md | 6 +- ...01-20-fixing-a-vagrant-hostonlyif-error.md | 6 +- ...-multiple-slides-on-one-side-in-one-pdf.md | 6 +- ...03-03-samsung-chromebook-a-short-review.md | 6 +- ...set-an-empty-root-password-on-chrome-os.md | 6 +- ...11-redis-cluster-with-pre-existing-data.md | 6 +- ...-17-fixing-zfs-pool-error-in-zones-dump.md | 6 +- ...4-04-01-opentechschool-learn-new-things.md | 8 +- ...ing-the-root-password-in-recent-smartos.md | 6 +- .../2014-05-15-key-value-logs-with-nginx.md | 6 +- ...-opentechschooljavascript-for-beginners.md | 6 +- ...07-27-extending-redis-with-lua-packages.md | 6 +- _posts/2014-08-04-eurucamp-2014.md | 28 +-- ...14-08-09-eurucamp-2014-video-and-photos.md | 6 +- .../2014-08-12-first-experience-with-rust.md | 6 +- _posts/2014-09-18-jsfest-week-2014.md | 14 +- .../2014-10-15-a-rust-library-for-liblzf.md | 6 +- ...11-review-redis-applied-design-patterns.md | 6 +- ...1-15-how-to-not-write-a-bachelor-thesis.md | 12 +- ...3-a-story-of-hacking-or-rust-on-the-psp.md | 24 +- _posts/2014-12-29-2014-in-many-words.md | 49 +--- ...-fast-and-efficient-rdb-parsing-utility.md | 6 +- _posts/2015-02-09-hiredis-is-up-to-date.md | 6 +- ...e-difference-of-rust-s-spawn-and-scoped.md | 6 +- _posts/2015-03-06-u2f-demo-application.md | 6 +- ...-03-new-releases-of-hiredis-py-and-node.md | 6 +- ...4-using-a-kindle-for-status-information.md | 16 +- ...-06-01-redis-sentinel-and-redis-cluster.md | 6 +- ...mnomnom-parsing-iso8601-dates-using-nom.md | 6 +- .../2015-10-22-redis-dev-day-london-2015.md | 8 +- _posts/2015-12-31-2015-in-many-words.md | 52 ++-- ...e-releases-using-hubcaps-a-rust-library.md | 6 +- ...-load-your-config-into-your-environment.md | 6 +- ...leasing-rust-projects-the-automatic-way.md | 5 +- ...16-05-12-quickcheck-does-your-code-work.md | 6 +- _posts/2016-06-09-longboarding-vennbahn.md | 22 +- ...6-08-31-rust-from-the-back-to-the-front.md | 24 +- ...gnify-ed25519-signatures-for-your-files.md | 8 +- ...-code-sprint-weekend-2016-retrospective.md | 24 +- ...2-xen-a-backend-frontend-driver-example.md | 6 +- ...-xen-split-driver-initial-communication.md | 6 +- _posts/2016-12-31-2016-in-many-words.md | 51 +--- ...03-04-send-icmp-echo-replies-using-ebpf.md | 6 +- about.markdown => about.md | 15 +- coderay.css | 122 ---------- ext/post | 20 +- feed.xml | 26 -- fnord.css | 102 -------- imprint.markdown => imprint.md | 6 +- index.html | 26 -- index.liquid | 18 ++ posts.md | 26 +- redis-faq.markdown => redis-faq.md | 4 +- style.css | 229 ++++++++++++++++++ syntax.css | 71 ------ talks.md | 15 +- writ.min.css | 7 + 110 files changed, 711 insertions(+), 1126 deletions(-) create mode 100644 .cobalt.yml delete mode 100644 Gemfile delete mode 100644 Gemfile.lock create mode 100644 Makefile delete mode 100644 Rakefile delete mode 100644 _config.yml delete mode 100644 _includes/single_page.html create mode 100644 _layouts/_footer.liquid create mode 100644 _layouts/_head.liquid create mode 100644 _layouts/_menu.liquid delete mode 100644 _layouts/default.html create mode 100644 _layouts/default.liquid delete mode 100644 _layouts/post.html create mode 100644 _layouts/post.liquid create mode 100644 _layouts/simple.liquid delete mode 100644 _plugins/.gitignore delete mode 100644 _plugins/kramdown-with-pygments/kramdown_pygments.rb rename _posts/{2011-01-15-blog-static.markdown => 2011-01-15-blog-static.md} (84%) rename _posts/{2011-01-15-fnord.markdown => 2011-01-15-fnord.md} (50%) delete mode 100644 _posts/2011-01-15-fnordig-is-up-and-running.markdown create mode 100644 _posts/2011-01-15-fnordig-is-up-and-running.md rename _posts/{2011-01-20-error-pages.markdown => 2011-01-20-error-pages.md} (63%) rename _posts/{2011-01-22-poor-mans-vpn.markdown => 2011-01-22-poor-mans-vpn.md} (95%) rename _posts/{2011-01-22-static-blog-system-runs.markdown => 2011-01-22-static-blog-system-runs.md} (81%) rename _posts/{2011-01-23-static-blog-system-improved.markdown => 2011-01-23-static-blog-system-improved.md} (92%) rename _posts/{2011-01-26-ipv6-with-nodejs.markdown => 2011-01-26-ipv6-with-nodejs.md} (93%) rename _posts/{2011-08-25-blog-running-with-jekyll.markdown => 2011-08-25-blog-running-with-jekyll.md} (91%) rename _posts/{2011-09-02-compile-nginx.markdown => 2011-09-02-compile-nginx.md} (88%) rename _posts/{2011-09-02-kramdown-test.markdown => 2011-09-02-kramdown-test.md} (93%) rename _posts/{2011-09-08-running-on-ssl.markdown => 2011-09-08-running-on-ssl.md} (93%) rename _posts/{2011-09-27-running-etherpad-lite-on-nginx.markdown => 2011-09-27-running-etherpad-lite-on-nginx.md} (96%) rename _posts/{2011-10-02-fast-and-simple-proxy-server.markdown => 2011-10-02-fast-and-simple-proxy-server.md} (95%) rename _posts/{2011-10-18-using-ipvwith-inetd.markdown => 2011-10-18-using-ipvwith-inetd.md} (95%) rename _posts/{2011-12-25-network-config-without-ifconfig.markdown => 2011-12-25-network-config-without-ifconfig.md} (97%) rename _posts/{2011-12-25-send-your-docs-to-your-kindle.markdown => 2011-12-25-send-your-docs-to-your-kindle.md} (92%) rename _posts/{2012-05-07-swap-in-double-linked-lists.markdown => 2012-05-07-swap-in-double-linked-lists.md} (82%) rename _posts/{2012-05-08-my-instapaper-stats.markdown => 2012-05-08-my-instapaper-stats.md} (95%) rename _posts/{2012-05-12-instapaper-stats-is-online.markdown => 2012-05-12-instapaper-stats-is-online.md} (69%) rename _posts/{2012-07-05-raspberry-pia-guick-guide-to-a-successfull-start.markdown => 2012-07-05-raspberry-pia-guick-guide-to-a-successfull-start.md} (97%) rename _posts/{2012-07-06-raspberry-pi-day-two.markdown => 2012-07-06-raspberry-pi-day-two.md} (95%) rename _posts/{2012-09-16-getting-ipvworking-with-smartos-and-kvm.markdown => 2012-09-16-getting-ipvworking-with-smartos-and-kvm.md} (95%) rename _posts/{2012-09-21-badbilla-billomat-api-client.markdown => 2012-09-21-badbilla-billomat-api-client.md} (94%) rename _posts/{2012-12-13-getting-try-redis-db-com-back-online.markdown => 2012-12-13-getting-try-redis-db-com-back-online.md} (94%) rename _posts/{2012-12-30-fnord-news-show.markdown => 2012-12-30-fnord-news-show.md} (83%) rename _posts/{2013-01-04-29c3-or-my-first-congress.markdown => 2013-01-04-29c3-or-my-first-congress.md} (93%) rename _posts/{2013-01-10-try-redis-io-is-online.markdown => 2013-01-10-try-redis-io-is-online.md} (76%) rename _posts/{2013-01-14-problems-after-disconnecting-luks-device.markdown => 2013-01-14-problems-after-disconnecting-luks-device.md} (94%) rename _posts/{2013-01-22-irregular-backups-with-rsnapshotand-rsnapshot-ii.markdown => 2013-01-22-irregular-backups-with-rsnapshotand-rsnapshot-ii.md} (90%) rename _posts/{2013-05-11-git-merge.markdown => 2013-05-11-git-merge.md} (95%) rename about.markdown => about.md (95%) delete mode 100644 coderay.css delete mode 100644 feed.xml delete mode 100644 fnord.css rename imprint.markdown => imprint.md (94%) delete mode 100644 index.html create mode 100644 index.liquid rename redis-faq.markdown => redis-faq.md (99%) create mode 100644 style.css delete mode 100644 syntax.css create mode 100644 writ.min.css diff --git a/.cobalt.yml b/.cobalt.yml new file mode 100644 index 0000000..d6e6387 --- /dev/null +++ b/.cobalt.yml @@ -0,0 +1,11 @@ +name: fnordig +source: ./ +dest: _site +posts: _posts +drafts: _drafts +link: https://fnordig.de +description: fnordig +rss: feed.xml +ignore: + - ext/ + - README.md diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 5384d66..0000000 --- a/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source 'https://rubygems.org' - -gem "rake" -gem "jekyll", "~>2.5.3" -gem "coderay", "~>1.0.0" -gem "kramdown" , "1.5.0" diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index d7a4068..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,78 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - blankslate (2.1.2.4) - celluloid (0.16.0) - timers (~> 4.0.0) - classifier-reborn (2.0.3) - fast-stemmer (~> 1.0) - coderay (1.0.8) - coffee-script (2.3.0) - coffee-script-source - execjs - coffee-script-source (1.8.0) - colorator (0.1) - execjs (2.2.2) - fast-stemmer (1.0.2) - ffi (1.9.6) - hitimes (1.2.2) - jekyll (2.5.3) - classifier-reborn (~> 2.0) - colorator (~> 0.1) - jekyll-coffeescript (~> 1.0) - jekyll-gist (~> 1.0) - jekyll-paginate (~> 1.0) - jekyll-sass-converter (~> 1.0) - jekyll-watch (~> 1.1) - kramdown (~> 1.3) - liquid (~> 2.6.1) - mercenary (~> 0.3.3) - pygments.rb (~> 0.6.0) - redcarpet (~> 3.1) - safe_yaml (~> 1.0) - toml (~> 0.1.0) - jekyll-coffeescript (1.0.1) - coffee-script (~> 2.2) - jekyll-gist (1.1.0) - jekyll-paginate (1.1.0) - jekyll-sass-converter (1.3.0) - sass (~> 3.2) - jekyll-watch (1.2.0) - listen (~> 2.7) - kramdown (1.5.0) - liquid (2.6.1) - listen (2.8.4) - celluloid (>= 0.15.2) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9) - mercenary (0.3.5) - parslet (1.5.0) - blankslate (~> 2.0) - posix-spawn (0.3.9) - pygments.rb (0.6.0) - posix-spawn (~> 0.3.6) - yajl-ruby (~> 1.1.0) - rake (10.4.2) - rb-fsevent (0.9.4) - rb-inotify (0.9.5) - ffi (>= 0.5.0) - redcarpet (3.2.2) - safe_yaml (1.0.4) - sass (3.4.9) - timers (4.0.1) - hitimes - toml (0.1.2) - parslet (~> 1.5.0) - yajl-ruby (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - coderay (~> 1.0.0) - jekyll (~> 2.5.3) - kramdown (= 1.5.0) - rake - -BUNDLED WITH - 1.11.2 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..93650b4 --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +SOURCE = /home/badboy/git/fnordig.de/_site/ +DEST = /var/www/sites/fnordig.de/ + +build: + cobalt build + +serve: + cobalt watch + +deploy: build + rsync -va $(SOURCE) $(DEST) diff --git a/Rakefile b/Rakefile deleted file mode 100644 index a796642..0000000 --- a/Rakefile +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env ruby -# encoding: utf-8 - -PRODUCTION = { - :url => "http://fnordig.de", - :log => "/home/badboy/git/fnordig.de/deploy.log", - :dest => "/var/www/sites/fnordig.de/", - :source => "/home/badboy/git/fnordig.de/_site/", -} - -desc 'Generate page using jekyll' -task :generate do - sh "jekyll build" -end - -desc 'Serve the page on http://localhost:4000' -task :serve do - sh "jekyll serve --watch --drafts" -end - -task :default => :serve - -namespace :deploy do - desc 'Deploy the page on the production machine (executed on production)' - task :production do - verbose(true) { - sh <<-EOF - ( - echo -n "Production deployment: "; date; - echo "Resetting git & fetching from origin..." - git reset --hard HEAD && - git pull origin master && - echo "generating page..." && - rake generate && - echo "copy to webserver directory..." && - rsync -va #{PRODUCTION[:source]} #{PRODUCTION[:dest]} && - echo "deployment done" - ) | tee #{PRODUCTION[:log]} - EOF - } - end -end diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 724448c..0000000 --- a/_config.yml +++ /dev/null @@ -1,12 +0,0 @@ -baseurl: / -paginate: 5 -permalink: pretty -exclude: -- Rakefile -- README.md -- ext -- Gemfile -- Gemfile.lock -- deploy.log -highlighter: pygments -markdown: KramdownPygments diff --git a/_includes/single_page.html b/_includes/single_page.html deleted file mode 100644 index 0e74e7b..0000000 --- a/_includes/single_page.html +++ /dev/null @@ -1,15 +0,0 @@ -
-

- {{post.title}} -

- {% if post.date %} -

- - (by ) -

- {% endif %} - - {{post.content}} -
diff --git a/_layouts/_footer.liquid b/_layouts/_footer.liquid new file mode 100644 index 0000000..6ed4092 --- /dev/null +++ b/_layouts/_footer.liquid @@ -0,0 +1,10 @@ + diff --git a/_layouts/_head.liquid b/_layouts/_head.liquid new file mode 100644 index 0000000..38b9a8c --- /dev/null +++ b/_layouts/_head.liquid @@ -0,0 +1,7 @@ + +{{title}} + + + + + diff --git a/_layouts/_menu.liquid b/_layouts/_menu.liquid new file mode 100644 index 0000000..00d79d4 --- /dev/null +++ b/_layouts/_menu.liquid @@ -0,0 +1,10 @@ + diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index 21e913e..0000000 --- a/_layouts/default.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - fnordig.de - - - - - - - - -
- - - {{content}} - - -
- - diff --git a/_layouts/default.liquid b/_layouts/default.liquid new file mode 100644 index 0000000..b39cadb --- /dev/null +++ b/_layouts/default.liquid @@ -0,0 +1,16 @@ + + + + {{ include "_layouts/_head.liquid" }} + + + {{ include "_layouts/_menu.liquid" }} + + +
+ {{content}} +
+ + {{ include "_layouts/_footer.liquid" }} + + diff --git a/_layouts/post.html b/_layouts/post.html deleted file mode 100644 index 62867de..0000000 --- a/_layouts/post.html +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: default ---- -
-

- {{page.title}} -

- {% if page.date %} -

- - (by ) -

- {% endif %} - - {{content}} -
diff --git a/_layouts/post.liquid b/_layouts/post.liquid new file mode 100644 index 0000000..085f27b --- /dev/null +++ b/_layouts/post.liquid @@ -0,0 +1,33 @@ + + + + {{ include "_layouts/_head.liquid" }} + + + {{ include "_layouts/_menu.liquid" }} + + +
+
+

{{ title }}

+ {% assign reading_wpm = 200 %} + {% assign word_count = content | split: " " | size %} + {% assign reading_time = word_count | divided_by: 200 %} + {% case reading_time %} + {% when 0 %} + {% assign phrase = "less than a minute." %} + {% when 1 %} + {% assign phrase = "about a minute." %} + {% else %} + {% assign phrase = " minutes." | prepend: reading_time %} + {% endcase %} + +
+ + {{ content }} +
+
+ + {{ include "_layouts/_footer.liquid" }} + + diff --git a/_layouts/simple.liquid b/_layouts/simple.liquid new file mode 100644 index 0000000..ed8f811 --- /dev/null +++ b/_layouts/simple.liquid @@ -0,0 +1,21 @@ + + + + {{ include "_layouts/_head.liquid" }} + + + {{ include "_layouts/_menu.liquid" }} + + +
+
+

{{ title }}

+
+ + {{ content }} +
+
+ + {{ include "_layouts/_footer.liquid" }} + + diff --git a/_plugins/.gitignore b/_plugins/.gitignore deleted file mode 100644 index 7b81ae0..0000000 --- a/_plugins/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -./ -kramdown-with-pygments diff --git a/_plugins/kramdown-with-pygments/kramdown_pygments.rb b/_plugins/kramdown-with-pygments/kramdown_pygments.rb deleted file mode 100644 index 918e256..0000000 --- a/_plugins/kramdown-with-pygments/kramdown_pygments.rb +++ /dev/null @@ -1,89 +0,0 @@ -# We define the an additional option for the kramdown parser to look for -module Kramdown - module Options - define(:kramdown_default_lang, Symbol, nil, <#{code}\n" - end - - def convert_codespan(el, indent) - attr = el.attr.dup - lang = extract_code_language_with_fix!(attr) - code = pygmentize(el.value, lang) - if lang - attr['class'] = "highlight" - if attr.has_key?('class') - attr['class'] += " language-#{lang}" - else - attr['class'] = "language-#{lang}" - end - end - "#{code}" - end - - def pygmentize(code, lang) - if lang - Pygments.highlight(code, - :lexer => lang, - :options => { :startinline => true, :encoding => 'utf-8', :nowrap => true }) - else - escape_html(code) - end - end - end - end -end - -# This class is the actual custom Jekyll converter. -class Jekyll::Converters::Markdown::KramdownPygments - - def initialize(config) - require 'kramdown' - @config = config - rescue LoadError - STDERR.puts 'You are missing a library required for Markdown. Please run:' - STDERR.puts ' $ [sudo] gem install kramdown' - raise FatalException.new("Missing dependency: kramdown") - end - - def convert(content) - Kramdown::Document.new(content, @config['kramdown']).to_pygments_html - end -end diff --git a/_posts/2011-01-15-blog-static.markdown b/_posts/2011-01-15-blog-static.md similarity index 84% rename from _posts/2011-01-15-blog-static.markdown rename to _posts/2011-01-15-blog-static.md index a7f3c56..bc46039 100644 --- a/_posts/2011-01-15-blog-static.markdown +++ b/_posts/2011-01-15-blog-static.md @@ -1,7 +1,6 @@ ---- -layout: post title: blog? static! -date: 15.01.2011 15:54 +date: 15 Jan 2011 15:54:00 +0100 +path: /:year/:month/:day/blog-static --- static blog with just one file ;) diff --git a/_posts/2011-01-15-fnord.markdown b/_posts/2011-01-15-fnord.md similarity index 50% rename from _posts/2011-01-15-fnord.markdown rename to _posts/2011-01-15-fnord.md index 2348466..95cc783 100644 --- a/_posts/2011-01-15-fnord.markdown +++ b/_posts/2011-01-15-fnord.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: fnord? -date: 15.01.2011 01:34 +date: 15 Jan 2011 01:34:00 +0100 +path: /:year/:month/:day/fnord --- fnordig? WTF ist fnord? [Fnord](http://de.wikipedia.org/wiki/Fnord) diff --git a/_posts/2011-01-15-fnordig-is-up-and-running.markdown b/_posts/2011-01-15-fnordig-is-up-and-running.markdown deleted file mode 100644 index 24b28e8..0000000 --- a/_posts/2011-01-15-fnordig-is-up-and-running.markdown +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: post -title: fnordig is up and running -date: 15.01.2011 00:04 ---- - -fnordig is up and running! diff --git a/_posts/2011-01-15-fnordig-is-up-and-running.md b/_posts/2011-01-15-fnordig-is-up-and-running.md new file mode 100644 index 0000000..59dc8e2 --- /dev/null +++ b/_posts/2011-01-15-fnordig-is-up-and-running.md @@ -0,0 +1,7 @@ +extends: post.liquid +title: fnordig is up and running +date: 15 Jan 2011 00:04:00 +0100 +path: /:year/:month/:day/fnordig-is-up-and-running +--- + +fnordig is up and running! diff --git a/_posts/2011-01-20-error-pages.markdown b/_posts/2011-01-20-error-pages.md similarity index 63% rename from _posts/2011-01-20-error-pages.markdown rename to _posts/2011-01-20-error-pages.md index 5fba25e..b7da39f 100644 --- a/_posts/2011-01-20-error-pages.markdown +++ b/_posts/2011-01-20-error-pages.md @@ -1,6 +1,7 @@ ---- -layout: post +extends: post.liquid title: error pages +date: 20 Jan 2011 00:00:00 +0100 +path: /:year/:month/:day/error-pages --- I just added more "fnordig-like" error pages diff --git a/_posts/2011-01-22-poor-mans-vpn.markdown b/_posts/2011-01-22-poor-mans-vpn.md similarity index 95% rename from _posts/2011-01-22-poor-mans-vpn.markdown rename to _posts/2011-01-22-poor-mans-vpn.md index 5e31334..8f50b78 100644 --- a/_posts/2011-01-22-poor-mans-vpn.markdown +++ b/_posts/2011-01-22-poor-mans-vpn.md @@ -1,6 +1,7 @@ ---- -layout: post +extends: post.liquid title: sshuttle - poor man's vpn +date: 22 Jan 2011 00:00:00 +0100 +path: /:year/:month/:day/poor-mans-vpn --- diff --git a/_posts/2011-01-22-static-blog-system-runs.markdown b/_posts/2011-01-22-static-blog-system-runs.md similarity index 81% rename from _posts/2011-01-22-static-blog-system-runs.markdown rename to _posts/2011-01-22-static-blog-system-runs.md index 1d39abc..987c1d8 100644 --- a/_posts/2011-01-22-static-blog-system-runs.markdown +++ b/_posts/2011-01-22-static-blog-system-runs.md @@ -1,6 +1,7 @@ ---- -layout: post +extends: post.liquid title: static blog system runs! +date: 22 Jan 2011 00:00:00 +0100 +path: /:year/:month/:day/static-blog-system-runs --- my small and simple blog system works! diff --git a/_posts/2011-01-23-static-blog-system-improved.markdown b/_posts/2011-01-23-static-blog-system-improved.md similarity index 92% rename from _posts/2011-01-23-static-blog-system-improved.markdown rename to _posts/2011-01-23-static-blog-system-improved.md index 035fae3..5b9774d 100644 --- a/_posts/2011-01-23-static-blog-system-improved.markdown +++ b/_posts/2011-01-23-static-blog-system-improved.md @@ -1,6 +1,7 @@ ---- -layout: post +extends: post.liquid title: static blog system improved +date: 23 Jan 2011 00:00:00 +0100 +path: /:year/:month/:day/static-blog-system-improved --- My static blog system script now launches a small web server and auto-updates on a file change. This way you've got a live preview directly in your browser. diff --git a/_posts/2011-01-26-ipv6-with-nodejs.markdown b/_posts/2011-01-26-ipv6-with-nodejs.md similarity index 93% rename from _posts/2011-01-26-ipv6-with-nodejs.markdown rename to _posts/2011-01-26-ipv6-with-nodejs.md index 3227070..b4136f1 100644 --- a/_posts/2011-01-26-ipv6-with-nodejs.markdown +++ b/_posts/2011-01-26-ipv6-with-nodejs.md @@ -1,6 +1,7 @@ ---- -layout: post -title: ipv6 with nodejs +extends: post.liquid +title: IPv6 with NodeJS +date: 26 Jan 2011 00:00:00 +0100 +path: /:year/:month/:day/ipv6-with-nodejs --- As there are just a few new ipv4 address left in the pool and even those will be [exhausted in under a week](http://inetcore.com/project/ipv4ec/index_en.html) (6 days left, checked right now) the switch to [IPv6](http://en.wikipedia.org/wiki/Ipv6) will be necessary soon. diff --git a/_posts/2011-08-25-blog-running-with-jekyll.markdown b/_posts/2011-08-25-blog-running-with-jekyll.md similarity index 91% rename from _posts/2011-08-25-blog-running-with-jekyll.markdown rename to _posts/2011-08-25-blog-running-with-jekyll.md index 0698f8e..c234578 100644 --- a/_posts/2011-08-25-blog-running-with-jekyll.markdown +++ b/_posts/2011-08-25-blog-running-with-jekyll.md @@ -1,6 +1,7 @@ ---- -layout: post +extends: post.liquid title: Blog running on jekyll again +date: 25 Aug 2011 00:00:00 +0100 +path: /:year/:month/:day/blog-running-with-jekyll --- I decided to setup a blog again. And again I'll use [jekyll][], a `blog-aware, static site generator in Ruby`. diff --git a/_posts/2011-09-02-compile-nginx.markdown b/_posts/2011-09-02-compile-nginx.md similarity index 88% rename from _posts/2011-09-02-compile-nginx.markdown rename to _posts/2011-09-02-compile-nginx.md index 4378c5d..f55844a 100644 --- a/_posts/2011-09-02-compile-nginx.markdown +++ b/_posts/2011-09-02-compile-nginx.md @@ -1,6 +1,7 @@ ---- -layout: post -title: compile nginx +extends: post.liquid +title: Compile nginx +date: 02 Sep 2011 00:00:00 +0100 +path: /:year/:month/:day/compile-nginx --- I'm using [nginx][] as my main webserver and proxy for all my other projects (let it be node.js or ruby things). diff --git a/_posts/2011-09-02-kramdown-test.markdown b/_posts/2011-09-02-kramdown-test.md similarity index 93% rename from _posts/2011-09-02-kramdown-test.markdown rename to _posts/2011-09-02-kramdown-test.md index 24834d8..1c3dc65 100644 --- a/_posts/2011-09-02-kramdown-test.markdown +++ b/_posts/2011-09-02-kramdown-test.md @@ -1,6 +1,7 @@ ---- -layout: post +extends: post.liquid title: now with code higlighting +date: 02 Sep 2011 00:00:00 +0100 +path: /:year/:month/:day/kramdown-test --- I am a programmer and I like to write code and I like to talk about code. That's why this blog really needs some syntax highlighting for my favorite languages. diff --git a/_posts/2011-09-08-running-on-ssl.markdown b/_posts/2011-09-08-running-on-ssl.md similarity index 93% rename from _posts/2011-09-08-running-on-ssl.markdown rename to _posts/2011-09-08-running-on-ssl.md index a5506e2..a232e56 100644 --- a/_posts/2011-09-08-running-on-ssl.markdown +++ b/_posts/2011-09-08-running-on-ssl.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: running on ssl -date: 08.09.2011 00:31 +date: 08 Sep 2011 00:31:00 +0200 +path: /:year/:month/:day/running-on-ssl --- Even though the [SSL][] and [CA][] system is totally broken right now, I finally got my blog as well as my [etherpad][] served over SSL: diff --git a/_posts/2011-09-27-running-etherpad-lite-on-nginx.markdown b/_posts/2011-09-27-running-etherpad-lite-on-nginx.md similarity index 96% rename from _posts/2011-09-27-running-etherpad-lite-on-nginx.markdown rename to _posts/2011-09-27-running-etherpad-lite-on-nginx.md index 9afb580..cc8da7b 100644 --- a/_posts/2011-09-27-running-etherpad-lite-on-nginx.markdown +++ b/_posts/2011-09-27-running-etherpad-lite-on-nginx.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: running etherpad-lite on nginx -date: 27.09.2011 21:24 +date: 27 Sep 2011 21:24:00 +0200 +path: /:year/:month/:day/running-etherpad-lite-on-nginx --- As you should already know if you read this blog, I am using [nginx][] as my main http server as well as a reverse proxy for my apps running on node.js or simple ruby. diff --git a/_posts/2011-10-02-fast-and-simple-proxy-server.markdown b/_posts/2011-10-02-fast-and-simple-proxy-server.md similarity index 95% rename from _posts/2011-10-02-fast-and-simple-proxy-server.markdown rename to _posts/2011-10-02-fast-and-simple-proxy-server.md index 81acda0..eade3ba 100644 --- a/_posts/2011-10-02-fast-and-simple-proxy-server.markdown +++ b/_posts/2011-10-02-fast-and-simple-proxy-server.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: fast and simple proxy server -date: 02.10.2011 01:27 +date: 02 Oct 2011 01:27:00 +0200 +path: /:year/:month/:day/fast-and-simple-proxy-server --- So you have this friend sitting somewhere else in the world and want to give him a simple proxy to access a geoip-protected site or something similar. But what tool to use? diff --git a/_posts/2011-10-18-using-ipvwith-inetd.markdown b/_posts/2011-10-18-using-ipvwith-inetd.md similarity index 95% rename from _posts/2011-10-18-using-ipvwith-inetd.markdown rename to _posts/2011-10-18-using-ipvwith-inetd.md index 1b14317..132ba8f 100644 --- a/_posts/2011-10-18-using-ipvwith-inetd.markdown +++ b/_posts/2011-10-18-using-ipvwith-inetd.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: using ipv6 with inetd -date: 18.10.2011 10:58 +date: 18 Oct 2011 10:58:00 +0200 +path: /:year/:month/:day/using-ipvwith-inetd --- I am the administrator of the [ctdo][] own jabber server over at `jabber.ctdo.de`. It is currently running on the old but working [jabberd][] and also hosts a [bitlbee] server on several ports including ssl-protected ones. diff --git a/_posts/2011-12-25-network-config-without-ifconfig.markdown b/_posts/2011-12-25-network-config-without-ifconfig.md similarity index 97% rename from _posts/2011-12-25-network-config-without-ifconfig.markdown rename to _posts/2011-12-25-network-config-without-ifconfig.md index d367b46..29e1d43 100644 --- a/_posts/2011-12-25-network-config-without-ifconfig.markdown +++ b/_posts/2011-12-25-network-config-without-ifconfig.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: network config without ifconfig -date: 25.12.2011 14:52 +date: 25 Dec 2011 14:52:00 +0100 +path: /:year/:month/:day/network-config-without-ifconfig --- [ifconfig](http://linux.die.net/man/8/ifconfig) is more or less deprecated and replaced by [ip](http://linux.die.net/man/8/ip), which has a different syntax. diff --git a/_posts/2011-12-25-send-your-docs-to-your-kindle.markdown b/_posts/2011-12-25-send-your-docs-to-your-kindle.md similarity index 92% rename from _posts/2011-12-25-send-your-docs-to-your-kindle.markdown rename to _posts/2011-12-25-send-your-docs-to-your-kindle.md index 1897b58..088525f 100644 --- a/_posts/2011-12-25-send-your-docs-to-your-kindle.markdown +++ b/_posts/2011-12-25-send-your-docs-to-your-kindle.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: send your docs to your kindle -date: 25.12.2011 15:01 +date: 25 Dec 2011 15:01:00 +0100 +path: /:year/:month/:day/send-your-docs-to-your-kindle --- I got a new [Kindle 4](http://www.amazon.de/Kindle-eReader-Wi-Fi-Display-deutsches/dp/B0051QVF7A/ref=amb_link_162551127_2?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_s=center-1&pf_rd_r=17K3DH24R9MPM5BFJJQ2&pf_rd_t=101&pf_rd_p=270263907&pf_rd_i=301128) for Christmas. diff --git a/_posts/2012-05-07-swap-in-double-linked-lists.markdown b/_posts/2012-05-07-swap-in-double-linked-lists.md similarity index 82% rename from _posts/2012-05-07-swap-in-double-linked-lists.markdown rename to _posts/2012-05-07-swap-in-double-linked-lists.md index 955724c..0b4990f 100644 --- a/_posts/2012-05-07-swap-in-double-linked-lists.markdown +++ b/_posts/2012-05-07-swap-in-double-linked-lists.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: swap in double-linked lists -date: 07.05.2012 22:22 +date: 07 May 2012 22:22:00 +0200 +path: /:year/:month/:day/swap-in-double-linked-lists --- Yesterday I had to implement [Selection Sort](http://en.wikipedia.org/wiki/Selection_sort) diff --git a/_posts/2012-05-08-my-instapaper-stats.markdown b/_posts/2012-05-08-my-instapaper-stats.md similarity index 95% rename from _posts/2012-05-08-my-instapaper-stats.markdown rename to _posts/2012-05-08-my-instapaper-stats.md index 1f55f4f..fdc30cf 100644 --- a/_posts/2012-05-08-my-instapaper-stats.markdown +++ b/_posts/2012-05-08-my-instapaper-stats.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: my instapaper stats -date: 08.05.2012 11:33 +date: 08 May 2012 11:33:00 +0200 +path: /:year/:month/:day/my-instapaper-stats --- I am an actively user of the great [Instapaper](http://www.instapaper.com/) diff --git a/_posts/2012-05-12-instapaper-stats-is-online.markdown b/_posts/2012-05-12-instapaper-stats-is-online.md similarity index 69% rename from _posts/2012-05-12-instapaper-stats-is-online.markdown rename to _posts/2012-05-12-instapaper-stats-is-online.md index 375aa1f..34b7131 100644 --- a/_posts/2012-05-12-instapaper-stats-is-online.markdown +++ b/_posts/2012-05-12-instapaper-stats-is-online.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: instapaper-stats is online -date: 12.05.2012 17:13 +date: 12 May 2012 17:13:00 +0200 +path: /:year/:month/:day/instapaper-stats-is-online --- I mentioned the script I'm using for my instapaper stats [here](http://fnordig.de/2012/05/08/my-instapaper-stats/). diff --git a/_posts/2012-07-05-raspberry-pia-guick-guide-to-a-successfull-start.markdown b/_posts/2012-07-05-raspberry-pia-guick-guide-to-a-successfull-start.md similarity index 97% rename from _posts/2012-07-05-raspberry-pia-guick-guide-to-a-successfull-start.markdown rename to _posts/2012-07-05-raspberry-pia-guick-guide-to-a-successfull-start.md index a5461d2..a620a1f 100644 --- a/_posts/2012-07-05-raspberry-pia-guick-guide-to-a-successfull-start.markdown +++ b/_posts/2012-07-05-raspberry-pia-guick-guide-to-a-successfull-start.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Raspberry Pi - A guick guide to a successful start -date: 05.07.2012 00:27 +date: 05 Jul 2012 00:27:00 +0200 +path: /:year/:month/:day/raspberry-pia-guick-guide-to-a-successfull-start --- Today my [Raspberry Pi][pi] arrived and I quickly got it up and running. diff --git a/_posts/2012-07-06-raspberry-pi-day-two.markdown b/_posts/2012-07-06-raspberry-pi-day-two.md similarity index 95% rename from _posts/2012-07-06-raspberry-pi-day-two.markdown rename to _posts/2012-07-06-raspberry-pi-day-two.md index 718274f..4aa3ce3 100644 --- a/_posts/2012-07-06-raspberry-pi-day-two.markdown +++ b/_posts/2012-07-06-raspberry-pi-day-two.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Raspberry Pi - Day 2 -date: 06.07.2012 13:20 +date: 06 Jul 2012 13:20:00 +0200 +path: /:year/:month/:day/raspberry-pi-day-two --- [Yesterday night](http://fnordig.de/2012/07/05/raspberry-pia-guick-guide-to-a-successfull-start/) diff --git a/_posts/2012-09-16-getting-ipvworking-with-smartos-and-kvm.markdown b/_posts/2012-09-16-getting-ipvworking-with-smartos-and-kvm.md similarity index 95% rename from _posts/2012-09-16-getting-ipvworking-with-smartos-and-kvm.markdown rename to _posts/2012-09-16-getting-ipvworking-with-smartos-and-kvm.md index 35a2cca..004fd0d 100644 --- a/_posts/2012-09-16-getting-ipvworking-with-smartos-and-kvm.markdown +++ b/_posts/2012-09-16-getting-ipvworking-with-smartos-and-kvm.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Getting IPv6 working with SmartOS and KVM -date: 16.09.2012 01:13 +date: 16 Sep 2012 01:13:00 +0200 +path: /:year/:month/:day/getting-ipvworking-with-smartos-and-kvm --- Just about 2 weeks ago I started to play around with [SmartOS][]. diff --git a/_posts/2012-09-21-badbilla-billomat-api-client.markdown b/_posts/2012-09-21-badbilla-billomat-api-client.md similarity index 94% rename from _posts/2012-09-21-badbilla-billomat-api-client.markdown rename to _posts/2012-09-21-badbilla-billomat-api-client.md index 7836e84..2e6b75f 100644 --- a/_posts/2012-09-21-badbilla-billomat-api-client.markdown +++ b/_posts/2012-09-21-badbilla-billomat-api-client.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: BadBill - a Billomat API client -date: 21.09.2012 12:58 +date: 21 Sep 2012 12:58:00 +0200 +path: /:year/:month/:day/badbilla-billomat-api-client --- I'm happy to announce the release of my Billomat API client: diff --git a/_posts/2012-12-13-getting-try-redis-db-com-back-online.markdown b/_posts/2012-12-13-getting-try-redis-db-com-back-online.md similarity index 94% rename from _posts/2012-12-13-getting-try-redis-db-com-back-online.markdown rename to _posts/2012-12-13-getting-try-redis-db-com-back-online.md index fcf99ff..a1da589 100644 --- a/_posts/2012-12-13-getting-try-redis-db-com-back-online.markdown +++ b/_posts/2012-12-13-getting-try-redis-db-com-back-online.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Getting try.redis-db.com back online! -date: 13.12.2012 22:43 +date: 13 Dec 2012 22:43:00 +0100 +path: /:year/:month/:day/getting-try-redis-db-com-back-online --- Hi there, diff --git a/_posts/2012-12-30-fnord-news-show.markdown b/_posts/2012-12-30-fnord-news-show.md similarity index 83% rename from _posts/2012-12-30-fnord-news-show.markdown rename to _posts/2012-12-30-fnord-news-show.md index 060f8b1..f0d7c21 100644 --- a/_posts/2012-12-30-fnord-news-show.markdown +++ b/_posts/2012-12-30-fnord-news-show.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: fnord news show 2012 -date: 30.12.2012 14:20 +date: 30 Dec 2012 14:20:00 +0100 +path: /:year/:month/:day/fnord-news-show --- I'm at the [29c3][] right now and guess what happened here? Right, the [fnord news show][] happened. diff --git a/_posts/2013-01-04-29c3-or-my-first-congress.markdown b/_posts/2013-01-04-29c3-or-my-first-congress.md similarity index 93% rename from _posts/2013-01-04-29c3-or-my-first-congress.markdown rename to _posts/2013-01-04-29c3-or-my-first-congress.md index 0498b59..80915c3 100644 --- a/_posts/2013-01-04-29c3-or-my-first-congress.markdown +++ b/_posts/2013-01-04-29c3-or-my-first-congress.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: 2.9-C/3 - N.O-T/MY-D/E.PA/R.T-ME-N/T. -date: 04.01.2013 23:09 +date: 04 Jan 2013 23:09:00 +0100 +path: /:year/:month/:day/29c3-or-my-first-congress --- I was at the [29c3][wiki] this last year and it was great. diff --git a/_posts/2013-01-10-try-redis-io-is-online.markdown b/_posts/2013-01-10-try-redis-io-is-online.md similarity index 76% rename from _posts/2013-01-10-try-redis-io-is-online.markdown rename to _posts/2013-01-10-try-redis-io-is-online.md index ed29560..082b8dd 100644 --- a/_posts/2013-01-10-try-redis-io-is-online.markdown +++ b/_posts/2013-01-10-try-redis-io-is-online.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: try.redis.io is online -date: 10.01.2013 21:02 +date: 10 Jan 2013 21:02:00 +0100 +path: /:year/:month/:day/try-redis-io-is-online --- Finally: diff --git a/_posts/2013-01-14-problems-after-disconnecting-luks-device.markdown b/_posts/2013-01-14-problems-after-disconnecting-luks-device.md similarity index 94% rename from _posts/2013-01-14-problems-after-disconnecting-luks-device.markdown rename to _posts/2013-01-14-problems-after-disconnecting-luks-device.md index fa3198d..f3738b2 100644 --- a/_posts/2013-01-14-problems-after-disconnecting-luks-device.markdown +++ b/_posts/2013-01-14-problems-after-disconnecting-luks-device.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Problems after disconnecting LUKS device -date: 14.01.2013 23:28 +date: 14 Jan 2013 23:28:00 +0100 +path: /:year/:month/:day/problems-after-disconnecting-luks-device --- Yesterday I got my 2TB backup disk. I formatted it and then used [LUKS][] to encrypt it and [LVM][] for the Volume Management. diff --git a/_posts/2013-01-22-irregular-backups-with-rsnapshotand-rsnapshot-ii.markdown b/_posts/2013-01-22-irregular-backups-with-rsnapshotand-rsnapshot-ii.md similarity index 90% rename from _posts/2013-01-22-irregular-backups-with-rsnapshotand-rsnapshot-ii.markdown rename to _posts/2013-01-22-irregular-backups-with-rsnapshotand-rsnapshot-ii.md index 6c8d2b4..d6d39ba 100644 --- a/_posts/2013-01-22-irregular-backups-with-rsnapshotand-rsnapshot-ii.markdown +++ b/_posts/2013-01-22-irregular-backups-with-rsnapshotand-rsnapshot-ii.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: irregular backups with rsnapshot (and rsnapshot_ii) -date: 22.01.2013 19:08 +date: 22 Jan 2013 19:08:00 +0100 +path: /:year/:month/:day/irregular-backups-with-rsnapshotand-rsnapshot-ii --- As stated in the last post I bought a big 2TB HDD for backups. My only diff --git a/_posts/2013-05-11-git-merge.markdown b/_posts/2013-05-11-git-merge.md similarity index 95% rename from _posts/2013-05-11-git-merge.markdown rename to _posts/2013-05-11-git-merge.md index df53e8c..4d750d8 100644 --- a/_posts/2013-05-11-git-merge.markdown +++ b/_posts/2013-05-11-git-merge.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: git merge 2013 -date: 11.05.2013 18:20 +date: 11 May 2013 18:20:00 +0200 +path: /:year/:month/:day/git-merge --- Friday and Saturday I attended [gitmerge][homepage], a free Git user conference diff --git a/_posts/2013-11-01-iterate-the-keyspace-in-redis-scan.md b/_posts/2013-11-01-iterate-the-keyspace-in-redis-scan.md index 599c81c..a1adb6e 100644 --- a/_posts/2013-11-01-iterate-the-keyspace-in-redis-scan.md +++ b/_posts/2013-11-01-iterate-the-keyspace-in-redis-scan.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "Iterate the keyspace in redis: SCAN" -date: 01.11.2013 18:40 +date: 01 Nov 2013 18:40:00 +0100 +path: /:year/:month/:day/iterate-the-keyspace-in-redis-scan --- A few days ago antirez finally [merged][pr] the SCAN algorithm written by diff --git a/_posts/2013-11-02-run-server-side-git-hook-when-there-are-no-updates.md b/_posts/2013-11-02-run-server-side-git-hook-when-there-are-no-updates.md index 3ab2f26..b5195f3 100644 --- a/_posts/2013-11-02-run-server-side-git-hook-when-there-are-no-updates.md +++ b/_posts/2013-11-02-run-server-side-git-hook-when-there-are-no-updates.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Run server-side git hook when there are no updates -date: 02.11.2013 10:14 +date: 02 Nov 2013 10:14:00 +0100 +path: /:year/:month/:day/run-server-side-git-hook-when-there-are-no-updates --- I make heavy use of of [hooks in git][git-hooks], especially post-receive, to diff --git a/_posts/2013-11-06-unicode-codepoints-in-ruby.md b/_posts/2013-11-06-unicode-codepoints-in-ruby.md index 022805b..a10d6dc 100644 --- a/_posts/2013-11-06-unicode-codepoints-in-ruby.md +++ b/_posts/2013-11-06-unicode-codepoints-in-ruby.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Unicode codepoints in ruby -date: 06.11.2013 12:04 +date: 06 Nov 2013 12:04:00 +0100 +path: /:year/:month/:day/unicode-codepoints-in-ruby --- Another post of the category "better write it down before you forget it". diff --git a/_posts/2013-11-10-redis-faq-or-what-you-learn-when-idling-in-redis.md b/_posts/2013-11-10-redis-faq-or-what-you-learn-when-idling-in-redis.md index 2605e6a..cdd0573 100644 --- a/_posts/2013-11-10-redis-faq-or-what-you-learn-when-idling-in-redis.md +++ b/_posts/2013-11-10-redis-faq-or-what-you-learn-when-idling-in-redis.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "Redis FAQ or: what you learn when idling in #redis" -date: 10.11.2013 21:10 +date: 10 Nov 2013 21:10:00 +0100 +path: /:year/:month/:day/redis-faq-or-what-you-learn-when-idling-in-redis --- Sometime ago I created the [redis-faq][], a small list of common or not so diff --git a/_posts/2014-01-01-30c3.md b/_posts/2014-01-01-30c3.md index 2b70d34..52ead55 100644 --- a/_posts/2014-01-01-30c3.md +++ b/_posts/2014-01-01-30c3.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: 30C3 -date: 01.01.2014 23:42 +date: 01 Jan 2014 23:42:00 +0100 +path: /:year/:month/:day/30c3 --- At the end of last year I was once again in Hamburg, this year for the [30th Chaos Communication Congress](https://events.ccc.de/congress/2013/wiki/Main_Page). diff --git a/_posts/2014-01-20-fixing-a-vagrant-hostonlyif-error.md b/_posts/2014-01-20-fixing-a-vagrant-hostonlyif-error.md index a90d0eb..05f9465 100644 --- a/_posts/2014-01-20-fixing-a-vagrant-hostonlyif-error.md +++ b/_posts/2014-01-20-fixing-a-vagrant-hostonlyif-error.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Fixing a Vagrant "hostonlyif" error -date: 20.01.2014 13:24 +date: 20 Jan 2014 13:24:00 +0100 +path: /:year/:month/:day/fixing-a-vagrant-hostonlyif-error --- ------ diff --git a/_posts/2014-02-19-multiple-slides-on-one-side-in-one-pdf.md b/_posts/2014-02-19-multiple-slides-on-one-side-in-one-pdf.md index 39ee96e..613c135 100644 --- a/_posts/2014-02-19-multiple-slides-on-one-side-in-one-pdf.md +++ b/_posts/2014-02-19-multiple-slides-on-one-side-in-one-pdf.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Multiple slides on one side in one pdf -date: 19.02.2014 18:33 +date: 19 Feb 2014 18:33:00 +0100 +path: /:year/:month/:day/multiple-slides-on-one-side-in-one-pdf --- Ever had multiple slide sets, e.g. from a lecture, and you needed an overview to print out? diff --git a/_posts/2014-03-03-samsung-chromebook-a-short-review.md b/_posts/2014-03-03-samsung-chromebook-a-short-review.md index 2c41566..86791d2 100644 --- a/_posts/2014-03-03-samsung-chromebook-a-short-review.md +++ b/_posts/2014-03-03-samsung-chromebook-a-short-review.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Samsung Chromebook - a short review -date: 03.03.2014 15:18 +date: 03 Mar 2014 15:18:00 +0100 +path: /:year/:month/:day/samsung-chromebook-a-short-review --- One week ago I purchased a Chromebook. To be exact I purchased the Samsung diff --git a/_posts/2014-03-04-don-t-set-an-empty-root-password-on-chrome-os.md b/_posts/2014-03-04-don-t-set-an-empty-root-password-on-chrome-os.md index ff52e72..0fb7f1c 100644 --- a/_posts/2014-03-04-don-t-set-an-empty-root-password-on-chrome-os.md +++ b/_posts/2014-03-04-don-t-set-an-empty-root-password-on-chrome-os.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Don't set an empty root password on Chrome OS -date: 04.03.2014 16:41 +date: 04 Mar 2014 16:41:00 +0100 +path: /:year/:month/:day/don-t-set-an-empty-root-password-on-chrome-os --- So I got this [Chromebook][chromebook-post] in Developer Mode and wanted to set diff --git a/_posts/2014-03-11-redis-cluster-with-pre-existing-data.md b/_posts/2014-03-11-redis-cluster-with-pre-existing-data.md index 1752775..8702626 100644 --- a/_posts/2014-03-11-redis-cluster-with-pre-existing-data.md +++ b/_posts/2014-03-11-redis-cluster-with-pre-existing-data.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Redis Cluster with pre-existing data -date: 11.03.2014 17:05 +date: 11 Mar 2014 17:05:00 +0100 +path: /:year/:month/:day/redis-cluster-with-pre-existing-data --- With Beta 2 of Redis Cluster arriving soon [released just now][cluster-beta2], I finally found some time to play around with it. diff --git a/_posts/2014-03-17-fixing-zfs-pool-error-in-zones-dump.md b/_posts/2014-03-17-fixing-zfs-pool-error-in-zones-dump.md index 1cf894c..ed12a88 100644 --- a/_posts/2014-03-17-fixing-zfs-pool-error-in-zones-dump.md +++ b/_posts/2014-03-17-fixing-zfs-pool-error-in-zones-dump.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Fixing zfs pool error in zones/dump -date: 17.03.2014 14:08 +date: 17 Mar 2014 14:08:00 +0100 +path: /:year/:month/:day/fixing-zfs-pool-error-in-zones-dump --- At work we're using [SmartOS][], an Open Solaris clone featuring all kinds of cool stuff. One of the best things is the underlying file system: ZFS. diff --git a/_posts/2014-04-01-opentechschool-learn-new-things.md b/_posts/2014-04-01-opentechschool-learn-new-things.md index 4a7ac1d..97d1e82 100644 --- a/_posts/2014-04-01-opentechschool-learn-new-things.md +++ b/_posts/2014-04-01-opentechschool-learn-new-things.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: OpenTechSchool - Learn new things -date: 01.04.2014 23:05 +date: 01 Apr 2014 23:05:00 +0200 +path: /:year/:month/:day/opentechschool-learn-new-things --- Last weekend (29./30.03.) I coached beginners some HTML & CSS. This is about my experience. @@ -9,11 +9,9 @@ Last weekend (29./30.03.) I coached beginners some HTML & CSS. This is about my A while back a [friend of mine][snnd] asked me if I wanted to help at [OpenTechSchool Dortmund][ots-do], coaching programming or to hold a talk. At that time I was a little busy with University stuff like writing exams, but I said I would be very happy to help. -{::options parse_block_html="true" /} [![Workshop schedule](//tmp.fnordig.de/ots/2014-03/th-html_css_workshop_schedule.jpg)](//tmp.fnordig.de/ots/2014-03/html_css_workshop_schedule.jpg) -{::options parse_block_html="false" /} Then about a week ago he reached out to me. One of their coaches had canceled and they needed a new one. I immediately said yes. Last friday then we had a short and fun coach meeting where I met the organizers. They worked hard to translate the complete material into German to make it easily understandable. [The full material can be found online][workshop]. It's not quite perfect but it is a good starting point. diff --git a/_posts/2014-05-12-changing-the-root-password-in-recent-smartos.md b/_posts/2014-05-12-changing-the-root-password-in-recent-smartos.md index 753ead1..e5efc6a 100644 --- a/_posts/2014-05-12-changing-the-root-password-in-recent-smartos.md +++ b/_posts/2014-05-12-changing-the-root-password-in-recent-smartos.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Changing the root password in recent SmartOS -date: 12.05.2014 22:02 +date: 12 May 2014 22:02:00 +0200 +path: /:year/:month/:day/changing-the-root-password-in-recent-smartos --- Back in 2012 Jonathan Perkin wrote a little bit about [SmartOS and the global zone][perkin], diff --git a/_posts/2014-05-15-key-value-logs-with-nginx.md b/_posts/2014-05-15-key-value-logs-with-nginx.md index 118d456..2823e7e 100644 --- a/_posts/2014-05-15-key-value-logs-with-nginx.md +++ b/_posts/2014-05-15-key-value-logs-with-nginx.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: key=value logs with nginx -date: 15.04.2014 18:24 +date: 15 Apr 2014 18:24:00 +0200 +path: /:year/:month/:day/key-value-logs-with-nginx --- In [Six Ways to Make Your Production Logs More Useful][fun-with-logs] [@roidrage][] talked about how to make your logs much more useful. diff --git a/_posts/2014-05-26-opentechschooljavascript-for-beginners.md b/_posts/2014-05-26-opentechschooljavascript-for-beginners.md index dcfee29..21efeec 100644 --- a/_posts/2014-05-26-opentechschooljavascript-for-beginners.md +++ b/_posts/2014-05-26-opentechschooljavascript-for-beginners.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: OpenTechSchool - Javascript for Beginners -date: 26.05.2014 15:15 +date: 26 May 2014 15:15:00 +0200 +path: /:year/:month/:day/opentechschooljavascript-for-beginners --- 2 month ago I coached at OpenTechSchool's [HTML & CSS for Absolute Beginners][htmlfab] workshop. diff --git a/_posts/2014-07-27-extending-redis-with-lua-packages.md b/_posts/2014-07-27-extending-redis-with-lua-packages.md index 0eded3b..ba9c42b 100644 --- a/_posts/2014-07-27-extending-redis-with-lua-packages.md +++ b/_posts/2014-07-27-extending-redis-with-lua-packages.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Extending Redis with Lua packages -date: 27.07.2014 13:57 +date: 27 Jul 2014 13:57:00 +0200 +path: /:year/:month/:day/extending-redis-with-lua-packages --- **Warning**: If you patch your Redis as stated below, you won't get much support from the Community. diff --git a/_posts/2014-08-04-eurucamp-2014.md b/_posts/2014-08-04-eurucamp-2014.md index 6b9beed..2198c97 100644 --- a/_posts/2014-08-04-eurucamp-2014.md +++ b/_posts/2014-08-04-eurucamp-2014.md @@ -1,14 +1,12 @@ ---- -layout: post +extends: post.liquid title: eurucamp 2014 -date: 04.08.2014 14:15 +date: 04 Aug 2014 14:15:00 +0200 +path: /:year/:month/:day/eurucamp-2014 --- -{::options parse_block_html="true" /} [![eurucamp chalk](//tmp.fnordig.de/eurucamp2014/th-2014-08-01_09.58.46.jpg)](//tmp.fnordig.de/eurucamp2014/2014-08-01_09.58.46.jpg) -{::options parse_block_html="false" /} I'm just heading back to Aachen from [eurucamp 2014][eurucamp]. And all I can say is: What an awesome conference! @@ -51,11 +49,9 @@ If you already have a project it's not that easy to get it into a new market in The audience for your product has completely different expectations, the country may have different laws. All these things need to be considered to be successfull. -{::options parse_block_html="true" /} [![rin live-coding a game](//tmp.fnordig.de/eurucamp2014/th-2014-08-02_10.21.40.jpg)](//tmp.fnordig.de/eurucamp2014/2014-08-02_10.21.40.jpg) -{::options parse_block_html="false" /} ### Let's build a game with Ruby @@ -77,24 +73,20 @@ purchased the necessary hardware and built a remote-controlled air purifier usin ### RubyMotion and Accessibility + +[![taking a brake in the shadow](//tmp.fnordig.de/eurucamp2014/th-2014-08-01_16.56.27.jpg)](//tmp.fnordig.de/eurucamp2014/2014-08-01_16.56.27.jpg) + + One of the best talks for me was the one about Accessibility held by [Austin](https://github.com/austinseraphin), a blind developer. He's using both an iPhone and a Mac, because all of these Apple systems have built-in accessibility features, like Voice Over, the screen reader in iOS and OS X. He also wrote software for [RubyMotion](http://www.rubymotion.com/) to make accessibility-testing even easier and showed how easy it is to make iPhone apps more accessible. It's build in by default anyway, adding information and labels is already a great improvement for every app. Test these things! -{::options parse_block_html="true" /} - -[![taking a brake in the shadow](//tmp.fnordig.de/eurucamp2014/th-2014-08-01_16.56.27.jpg)](//tmp.fnordig.de/eurucamp2014/2014-08-01_16.56.27.jpg) - -{::options parse_block_html="false" /} - -{::options parse_block_html="true" /} [![Griebnitzsee](//tmp.fnordig.de/eurucamp2014/th-2014-08-02_15.23.05.jpg)](//tmp.fnordig.de/eurucamp2014/2014-08-02_15.23.05.jpg) -{::options parse_block_html="false" /} ### Refactoring Ruby with Monads (or, Monads: The Good Parts) @@ -111,11 +103,7 @@ The code is available as a [gem and on GitHub](https://github.com/tomstuart/mona _(That's all it needs as a comment)_ -{::options parse_block_html="true" /} - -[![Beautfiul sunset over the venue's lawn](//tmp.fnordig.de/eurucamp2014/th-2014-08-02_20.28.48.jpg)](//tmp.fnordig.de/eurucamp2014/2014-08-02_20.28.48.jpg) - -{::options parse_block_html="false" /} +[![Beautfiul sunset over the venue's lawn](//tmp.fnordig.de/eurucamp2014/2014-08-02_20.28.48.jpg)](//tmp.fnordig.de/eurucamp2014/2014-08-02_20.28.48.jpg) ### Utils is a Junk Drawer! diff --git a/_posts/2014-08-09-eurucamp-2014-video-and-photos.md b/_posts/2014-08-09-eurucamp-2014-video-and-photos.md index f341097..4f3d9e1 100644 --- a/_posts/2014-08-09-eurucamp-2014-video-and-photos.md +++ b/_posts/2014-08-09-eurucamp-2014-video-and-photos.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: eurucamp 2014 - Video & Photos -date: 09.08.2014 13:06 +date: 09 Aug 2014 13:06:00 +0200 +path: /:year/:month/:day/eurucamp-2014-video-and-photos --- Great short video documentation of eurucamp 2014 (by [@polarblau](https://twitter.com/polarblau)): diff --git a/_posts/2014-08-12-first-experience-with-rust.md b/_posts/2014-08-12-first-experience-with-rust.md index 9e13cd0..2c8827f 100644 --- a/_posts/2014-08-12-first-experience-with-rust.md +++ b/_posts/2014-08-12-first-experience-with-rust.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: first experience with Rust -date: 12.08.2014 13:25 +date: 12 Aug 2014 13:25:00 +0200 +path: /:year/:month/:day/first-experience-with-rust --- ------ diff --git a/_posts/2014-09-18-jsfest-week-2014.md b/_posts/2014-09-18-jsfest-week-2014.md index 4f58c44..446024c 100644 --- a/_posts/2014-09-18-jsfest-week-2014.md +++ b/_posts/2014-09-18-jsfest-week-2014.md @@ -1,14 +1,12 @@ ---- -layout: post +extends: post.liquid title: jsfest week 2014 -date: 18.09.2014 01:39 +date: 18 Sep 2014 01:39:00 +0200 +path: /:year/:month/:day/jsfest-week-2014 --- -{::options parse_block_html="true" /} [![rejectjs banner](//tmp.fnordig.de/jsfest2014/th-2014-09-11_08.52.55.jpg)](//tmp.fnordig.de/jsfest2014/2014-09-11_08.52.55.jpg) -{::options parse_block_html="false" /} Last week I had the opportunity to spend a long weekend in the beautiful capital of Germany for [jsfest.berlin][jsfest]. What should I say? It was amazing. @@ -19,11 +17,9 @@ After [eurucamp](https://fnordig.de/2014/08/04/eurucamp-2014/) set quite a basis The 3 conference days were packed with interesting talks, quite a few parties and great food. JavaScript seems to be quite a nice language (sometimes) and people do awesome stuff with it. From sleep-hacking over making music and animations to making gifs even more awesome. Oh, and some stuff others would consider more useful in work life too. -{::options parse_block_html="true" /} [![rejectjs badge](//tmp.fnordig.de/jsfest2014/th-2014-09-11_09.00.53.jpg)](//tmp.fnordig.de/jsfest2014/2014-09-11_09.00.53.jpg) -{::options parse_block_html="false" /} The only downside was that I in fact didn't really have time for a whole 4 days off, so I wasn't too focused on the reject.js talks and I might have missed good things from it :( @@ -44,11 +40,9 @@ After a nice intro (wait for the videos), The talk was followed by **We Will All Be Game Programmers** from [Hunter Loftis](https://twitter.com/hunterloftis). Today's apps use a lot of the ideas that were used in games years ago, maybe we should have a look at game developing techniques and tooling a bit more to see what's relevant for modern web app programming. -{::options parse_block_html="true" /} [![beanbag.js](//tmp.fnordig.de/jsfest2014/th-2014-09-13_13.42.50.jpg)](//tmp.fnordig.de/jsfest2014/2014-09-13_13.42.50.jpg) -{::options parse_block_html="false" /} **JavaScript Level 9000** by [Christoph Martens](https://twitter.com/martensms) explained a lot of low-level stuff in JavaScript. I'm not that into JavaScript yet, so I didn't take too much from it with me. @@ -64,12 +58,10 @@ After skipping two talks, [James Coglan](https://twitter.com/jcoglan) entered th [Michael Donohoe](https://twitter.com/donohoe) talked about how to **Deep-link to Anything on the Web**. Working as a developer for journalistic sites he implemented multiple solutions to help linking to sections of an article, annotating it as needed and how to combine that with the backend. -{::options parse_block_html="true" /} [![party with nerds](//tmp.fnordig.de/jsfest2014/th-2014-09-13_22.36.28.jpg)](//tmp.fnordig.de/jsfest2014/2014-09-13_22.36.28.jpg) -{::options parse_block_html="false" /} After another coffee break (there were a lot coffee breaks that weekend) [Mathieu Henri](https://twitter.com/p01) showed **Monster Audio-Visual demos in a TCP packet**, a short introduction into the demo scene and the techniques he uses to build demos in as few bytes as possible. I wish I was more creative with visuals and audio. diff --git a/_posts/2014-10-15-a-rust-library-for-liblzf.md b/_posts/2014-10-15-a-rust-library-for-liblzf.md index d29cf4c..5c9dc63 100644 --- a/_posts/2014-10-15-a-rust-library-for-liblzf.md +++ b/_posts/2014-10-15-a-rust-library-for-liblzf.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: A Rust library for LibLZF -date: 15.10.2014 11:10 +date: 15 Oct 2014 11:10:00 +0200 +path: /:year/:month/:day/a-rust-library-for-liblzf --- In the last four months I did not produce much open-source code. I was busy writing my Bachelor Thesis. diff --git a/_posts/2014-11-11-review-redis-applied-design-patterns.md b/_posts/2014-11-11-review-redis-applied-design-patterns.md index 77f95ec..759ba4f 100644 --- a/_posts/2014-11-11-review-redis-applied-design-patterns.md +++ b/_posts/2014-11-11-review-redis-applied-design-patterns.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "Review: Redis Applied Design Patterns" -date: 11.11.2014 00:41 +date: 11 Nov 2014 00:41:00 +0100 +path: /:year/:month/:day/review-redis-applied-design-patterns --- In the mid of October I was approached by Packt Publishing asking if diff --git a/_posts/2014-11-15-how-to-not-write-a-bachelor-thesis.md b/_posts/2014-11-15-how-to-not-write-a-bachelor-thesis.md index 0723e52..bc4458a 100644 --- a/_posts/2014-11-15-how-to-not-write-a-bachelor-thesis.md +++ b/_posts/2014-11-15-how-to-not-write-a-bachelor-thesis.md @@ -1,14 +1,12 @@ ---- -layout: post +extends: post.liquid title: How to not write a Bachelor Thesis -date: 15.11.2014 03:18 +date: 15 Nov 2014 03:18:00 +0100 +path: /:year/:month/:day/how-to-not-write-a-bachelor-thesis --- -{::options parse_block_html="true" /} [![Iteration 1](//tmp.fnordig.de/ba/th-2014-10-11_15.58.09.jpg)](//tmp.fnordig.de/ba/2014-10-11_15.58.09.jpg) -{::options parse_block_html="false" /} … and how I got it finished anyway. @@ -25,11 +23,9 @@ Writing technical texts is different from a novel or a short blog post. Work on The next thing: buy a paper notebook dedicated for your notes on the thesis topic. I kept mine with me and actually used it. Keeping meeting minutes, tasks to do for the week, simulation results or general ideas (though most of the stuff was added in the last 4 weeks). -{::options parse_block_html="true" /} [![Everything done](//tmp.fnordig.de/ba/th-2014-10-12_20.05.28.jpg)](//tmp.fnordig.de/ba/2014-10-12_20.05.28.jpg) -{::options parse_block_html="false" /} Once you know your topic, start the research. That includes finding documentation, papers and whatever seems necessary for your topic. Make sure to note down your sources immediately. Read papers and summarize them for yourself and discuss them with your supervisor or other students. @@ -51,11 +47,9 @@ My advice: keep track of your time. Note down how long you worked each day and w I guess no matter what you do, the last weeks will still be busy. What got me most focussed on the task at hand is the Pomodoro technique. 25 minutes of concentrated work, no distractions, no drinking, no eating, no running around. 5 minutes break. Check Twitter, Facebook, Mails, whatever. Then repeat. I use this technique for 3 years of studying now, and it also works for coding and writing. -{::options parse_block_html="true" /} [![The printed thesis](//tmp.fnordig.de/ba/th-2014-10-13_09.59.16.jpg)](//tmp.fnordig.de/ba/2014-10-13_09.59.16.jpg) -{::options parse_block_html="false" /} I had to write my thesis in English, but I'm far from a perfect English speaker or writer. I now know that I should practice much more often (and I try to do that by getting more blog posts out). diff --git a/_posts/2014-12-03-a-story-of-hacking-or-rust-on-the-psp.md b/_posts/2014-12-03-a-story-of-hacking-or-rust-on-the-psp.md index 3de7409..a517c23 100644 --- a/_posts/2014-12-03-a-story-of-hacking-or-rust-on-the-psp.md +++ b/_posts/2014-12-03-a-story-of-hacking-or-rust-on-the-psp.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "The story of my childhood or: Rust on the PSP" -date: 03.12.2014 20:03 +date: 03 Dec 2014 20:03:00 +0100 +path: /:year/:month/:day/a-story-of-hacking-or-rust-on-the-psp --- ------ @@ -102,11 +102,9 @@ As soon as I was back home, I grabbed my PSP, booted up a new virtual machine an First step: Re-compile and run p-twit. Yip, it works (ok, it starts. Of course the Twitter API is so closed these days, it wouldn't be able to do anything). -{::options parse_block_html="true" /} -
+
[![p-twit runs again](//tmp.fnordig.de/rust-on-psp/th-2014-11-24_11.54.27.jpg)](//tmp.fnordig.de/rust-on-psp/2014-11-24_11.54.27.jpg) -
-{::options parse_block_html="false" /} + Second step: Follow the instructions from the [Gist][helloworld-instructions]. @@ -129,20 +127,16 @@ He simply used the pre-compiled [minpspw][] package (*Update 04.12.2014*: Luqman informed me he does in fact built it himself from the minpspw svn, which in turn uses the psptoolchain I tried with first, so absolutely no idea why directly using it failed). Once I grabbed that, the "Hello World" application compiled and ran! Success! -{::options parse_block_html="true" /} -
+
[![From Rust with love](//tmp.fnordig.de/rust-on-psp/th-2014-11-27_01.13.59.jpg)](//tmp.fnordig.de/rust-on-psp/2014-11-27_01.13.59.jpg) -
-{::options parse_block_html="false" /} + The journey doesn't end here. Only partly satisfied with what I had, I took some free time on a train ride to write a wrapper for the input handling. -{::options parse_block_html="true" /} -
+
[![Press X, press O](//tmp.fnordig.de/rust-on-psp/th-2014-11-28_12.25.50.jpg)](//tmp.fnordig.de/rust-on-psp/2014-11-28_12.25.50.jpg) -
-{::options parse_block_html="false" /} + Now it's possible to react to user input with this simple piece of code: diff --git a/_posts/2014-12-29-2014-in-many-words.md b/_posts/2014-12-29-2014-in-many-words.md index 755cc7e..51c40b8 100644 --- a/_posts/2014-12-29-2014-in-many-words.md +++ b/_posts/2014-12-29-2014-in-many-words.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: 2014 in many words -date: 29.12.2014 15:00 +date: 29 Dec 2014 15:00:00 +0100 +path: /:year/:month/:day/2014-in-many-words --- ### My year in numbers @@ -69,52 +69,9 @@ And thanks to all the people I forgot to mention explicitely, thanks to my frien There are already a lot of things planned for 2015, so it will be just as busy as this year. -{::options parse_block_html="false" /}
<3
-{::options parse_block_html="true" /} - - - - - - - - - - - - - - - - - - - - - - - - [hoodie]: http://hood.ie/ [ola]: https://twitter.com/misprintedtype diff --git a/_posts/2015-01-15-rdb-rs-fast-and-efficient-rdb-parsing-utility.md b/_posts/2015-01-15-rdb-rs-fast-and-efficient-rdb-parsing-utility.md index 9b3095a..b9f05d6 100644 --- a/_posts/2015-01-15-rdb-rs-fast-and-efficient-rdb-parsing-utility.md +++ b/_posts/2015-01-15-rdb-rs-fast-and-efficient-rdb-parsing-utility.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: rdb-rs - fast and efficient RDB parsing utility -date: 15.01.2015 23:50 +date: 15 Jan 2015 23:50:00 +0100 +path: /:year/:month/:day/rdb-rs-fast-and-efficient-rdb-parsing-utility --- Ever since I started looking into [Rust][] I knew I needed a bigger project for which I could use it. diff --git a/_posts/2015-02-09-hiredis-is-up-to-date.md b/_posts/2015-02-09-hiredis-is-up-to-date.md index 68e33de..6a97b0d 100644 --- a/_posts/2015-02-09-hiredis-is-up-to-date.md +++ b/_posts/2015-02-09-hiredis-is-up-to-date.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: hiredis is up to date -date: 09.02.2015 20:20 +date: 09 Feb 2015 20:20:00 +0100 +path: /:year/:month/:day/hiredis-is-up-to-date --- Back in December 2014 antirez reached out to the community, to [find a new maintainer of hiredis](https://github.com/redis/hiredis/issues/283). diff --git a/_posts/2015-03-05-the-difference-of-rust-s-spawn-and-scoped.md b/_posts/2015-03-05-the-difference-of-rust-s-spawn-and-scoped.md index b10d492..3484a72 100644 --- a/_posts/2015-03-05-the-difference-of-rust-s-spawn-and-scoped.md +++ b/_posts/2015-03-05-the-difference-of-rust-s-spawn-and-scoped.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "The difference of Rust's thread::spawn and thread::scoped" -date: 05.03.2015 14:41 +date: 05 Mar 2015 14:41:00 +0100 +path: /:year/:month/:day/the-difference-of-rust-s-spawn-and-scoped --- So yesterday I gave a Rust introduction talk at the local hackerspace, [CCCAC](http://ccc.ac). diff --git a/_posts/2015-03-06-u2f-demo-application.md b/_posts/2015-03-06-u2f-demo-application.md index ff73868..ac7c952 100644 --- a/_posts/2015-03-06-u2f-demo-application.md +++ b/_posts/2015-03-06-u2f-demo-application.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: U2F demo application -date: 06.03.2015 16:07 +date: 06 Mar 2015 16:07:00 +0100 +path: /:year/:month/:day/u2f-demo-application --- Two weeks ago I got my first Universal Second Factor Device. diff --git a/_posts/2015-04-03-new-releases-of-hiredis-py-and-node.md b/_posts/2015-04-03-new-releases-of-hiredis-py-and-node.md index e83511e..1954b9d 100644 --- a/_posts/2015-04-03-new-releases-of-hiredis-py-and-node.md +++ b/_posts/2015-04-03-new-releases-of-hiredis-py-and-node.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "New releases of hiredis-py and hiredis-node" -date: 03.04.2015 23:05 +date: 03 Apr 2015 23:05:00 +0200 +path: /:year/:month/:day/new-releases-of-hiredis-py-and-node --- I just published [hiredis-py][] v0.2.0 to [PyPi][] and [hiredis-node][] v0.3.0 to [npm][]. diff --git a/_posts/2015-05-14-using-a-kindle-for-status-information.md b/_posts/2015-05-14-using-a-kindle-for-status-information.md index 5fc6208..2d2b28e 100644 --- a/_posts/2015-05-14-using-a-kindle-for-status-information.md +++ b/_posts/2015-05-14-using-a-kindle-for-status-information.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Using a Kindle for status information -date: 14.05.2015 20:50 +date: 14 May 2015 20:50:00 +0200 +path: /:year/:month/:day/using-a-kindle-for-status-information --- Back in 2011 I got a Kindle 4 (the non-touch version) and for some time it was @@ -16,11 +16,9 @@ For some time now I have this link saved: [Kindle Weather Display][weather-displ Well, what better to do with a lazy holiday then doing some hacking with the Kindle? And so I did and this is the current result: It displays the weather forecast. -{::options parse_block_html="true" /}
-[![For now it shows the weather forecast](//tmp.fnordig.de/kindle/th-Photo-2015-05-14-19-27.jpg)](http://tmp.fnordig.de/kindle/Photo-2015-05-14-19-27.jpg) +For now it shows the weather forecast
-{::options parse_block_html="false" /} As the original article is quite short on the precise steps to get this finished, I wanted to write them up here. @@ -129,11 +127,11 @@ As this post is already getting quite long, I leave the server-side up to you. All files (for both the Kindle and the server part) are in the GitHub repository: [kindle-weather-display][repo]. This is the final result: My Kindle hanging on the wall right under the calendar. :) -{::options parse_block_html="true" /}
-[![It's hanging at the wall](//tmp.fnordig.de/kindle/th-Photo-2015-05-14-16-44.jpg)](http://tmp.fnordig.de/kindle/Photo-2015-05-14-16-44.jpg) + + It's hanging at the wall +
-{::options parse_block_html="false" /} [weather-display]: http://mpetroff.net/2012/09/kindle-weather-display/ [kite]: http://www.mobileread.com/forums/showthread.php?t=168270 diff --git a/_posts/2015-06-01-redis-sentinel-and-redis-cluster.md b/_posts/2015-06-01-redis-sentinel-and-redis-cluster.md index 63d0f70..be074d5 100644 --- a/_posts/2015-06-01-redis-sentinel-and-redis-cluster.md +++ b/_posts/2015-06-01-redis-sentinel-and-redis-cluster.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "Redis Sentinel & Redis Cluster - what?" -date: 01.06.2015 23:20 +date: 01 Jun 2015 23:20:00 +0200 +path: /:year/:month/:day/redis-sentinel-and-redis-cluster --- In the last week there were several questions regarding Redis Sentinel and Redis Cluster, if one or the other will go away or if they need to be used in combination. diff --git a/_posts/2015-07-15-omnomnom-parsing-iso8601-dates-using-nom.md b/_posts/2015-07-15-omnomnom-parsing-iso8601-dates-using-nom.md index 5ce9f51..8c46672 100644 --- a/_posts/2015-07-15-omnomnom-parsing-iso8601-dates-using-nom.md +++ b/_posts/2015-07-15-omnomnom-parsing-iso8601-dates-using-nom.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "omnomnom - Parsing ISO8601 dates using nom" -date: 16.07.2015 11:00 +date: 16 Jul 2015 11:00:00 +0200 +path: /:year/:month/:day/omnomnom-parsing-iso8601-dates-using-nom --- There are thousands of ways to note down a date and time. diff --git a/_posts/2015-10-22-redis-dev-day-london-2015.md b/_posts/2015-10-22-redis-dev-day-london-2015.md index 6ee9068..0734490 100644 --- a/_posts/2015-10-22-redis-dev-day-london-2015.md +++ b/_posts/2015-10-22-redis-dev-day-london-2015.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "Redis Dev Day London 2015" -date: 22.10.2015 15:05 +date: 22 Oct 2015 15:05:00 +0200 +path: /:year/:month/:day/redis-dev-day-london-2015 --- Last Monday the Redis Dev Day took place in London, followed by a small Unconference on Tuesday. @@ -30,12 +30,10 @@ None of this is final yet, there are a lot of things to get right before this ca For example it's not done with providing the commands for selection based on indexes, but needing to add, update and remove the index is necessary as well. More in-depth discussions happened the next day, prior to the Unconf. -{::options parse_block_html="false" /}
-{::options parse_block_html="true" /} Even though this kinda goes against the current idea of Redis -- provide the basic tools with a simple API and not much more -- diff --git a/_posts/2015-12-31-2015-in-many-words.md b/_posts/2015-12-31-2015-in-many-words.md index 6585635..4ad2b6d 100644 --- a/_posts/2015-12-31-2015-in-many-words.md +++ b/_posts/2015-12-31-2015-in-many-words.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: 2015 in many words and some photos -date: 31.12.2015 20:50 +date: 31 Dec 2015 20:50:00 +0100 +path: /:year/:month/:day/2015-in-many-words --- Last year I summarized my year in a [long blog post](https://fnordig.de/2014/12/29/2014-in-many-words/), @@ -43,54 +43,42 @@ but 12 blog posts still come down to about one per month. After the busy ending of 2014, 2015 started just as busy. Away from university, I spend more time working, but I found enough time for conferences and a quick one-week visit in San Francisco in April. -{::options parse_block_html="true" /} -

-![Golden Gate Bridge](//tmp.fnordig.de/end-of-2015/2015-04-22_10.45.13_1500_cropped.jpg){:width="450px"} -![Bay Bridge](//tmp.fnordig.de/end-of-2015/2015-04-22_15.32.13_1500.jpg){:width="450px"} -

-{::options parse_block_html="false" /} +
+![Golden Gate Bridge](//tmp.fnordig.de/end-of-2015/2015-04-22_10.45.13_1500_cropped.jpg) +![Bay Bridge](//tmp.fnordig.de/end-of-2015/2015-04-22_15.32.13_1500.jpg) +
University and work kept me busy the whole summer, but I still catched a bit of the Sun. After finishing up the Summer semester, I left for Norway in August. -{::options parse_block_html="true" /} -

-![Norway Flag](//tmp.fnordig.de/end-of-2015/2015-09-12_13.27.01_1500.jpg){:width="900px"} -

-{::options parse_block_html="false" /} +
+![Norway Flag](//tmp.fnordig.de/end-of-2015/2015-09-12_13.27.01_1500.jpg) +
I came back for a weekend to run otsconf. It was a success, but see for yourself: -

-

Back in Norway I had the absolute best time. For example hiking up a hill, sitting on the Kjeragbolten thousand meter over the Fjord. -{::options parse_block_html="true" /} -

-![Kjerag](//tmp.fnordig.de/end-of-2015/2015-09-29_13.32.51_1500.jpg){:width="900px"} -

-{::options parse_block_html="false" /} +
+![Kjerag](//tmp.fnordig.de/end-of-2015/2015-09-29_13.32.51_1500.jpg) +
My semester ended early on the first of December, so I had another chance to travel around Norway. Even without a lot of light, the Lofoten are a beautiful place to stay. -{::options parse_block_html="true" /} -

-![Lofoten](//tmp.fnordig.de/end-of-2015/_DSC0859_1500.jpg){:width="900px"} -

-{::options parse_block_html="false" /} +
+![Lofoten](//tmp.fnordig.de/end-of-2015/_DSC0859_1500.jpg) +
With 2015 coming to an end, so are other things. I had to replace my old Laptop, which stayed with me for the last four years. -{::options parse_block_html="true" /} -

-![Laptop](//tmp.fnordig.de/end-of-2015/old-laptop_1500.jpg){:width="600px"} -

-{::options parse_block_html="false" /} +
+![Laptop](//tmp.fnordig.de/end-of-2015/old-laptop_1500.jpg) +
I really enjoyed living & traveling in Norway and I already put it on my todo list to come back in the summer. I was lucky to be part of so many different but welcoming communities. It's a joy every time I meet these people again. @@ -108,11 +96,9 @@ And thanks to all those I didn't name explicitely, but who made this year so muc 2016 won't start any less busy. With my next university semester only starting in April, I will make the best of that time. The next trip starts in less than five days. -{::options parse_block_html="false" /}
<3
-{::options parse_block_html="true" /} [ola]: https://twitter.com/misprintedtype [carsten]: https://twitter.com/dergraf86 diff --git a/_posts/2016-02-23-create-releases-using-hubcaps-a-rust-library.md b/_posts/2016-02-23-create-releases-using-hubcaps-a-rust-library.md index ed0f54b..47c92cb 100644 --- a/_posts/2016-02-23-create-releases-using-hubcaps-a-rust-library.md +++ b/_posts/2016-02-23-create-releases-using-hubcaps-a-rust-library.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Create GitHub releases with Rust using Hubcaps -date: 23.02.2016 20:32 +date: 23 Feb 2016 20:32:00 +0100 +path: /:year/:month/:day/create-releases-using-hubcaps-a-rust-library --- For one of my projects I need to access the GitHub API to create releases. diff --git a/_posts/2016-03-04-load-your-config-into-your-environment.md b/_posts/2016-03-04-load-your-config-into-your-environment.md index 5f45f18..8f9a6ae 100644 --- a/_posts/2016-03-04-load-your-config-into-your-environment.md +++ b/_posts/2016-03-04-load-your-config-into-your-environment.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: Load your config into your environment -date: 04.03.2016 12:30 +date: 04 Mar 2016 12:30:00 +0100 +path: /:year/:month/:day/load-your-config-into-your-environment --- It became quite popular to store certain configuration variables in your environment, to be later loaded by your aplication. diff --git a/_posts/2016-03-29-releasing-rust-projects-the-automatic-way.md b/_posts/2016-03-29-releasing-rust-projects-the-automatic-way.md index b176073..962ff98 100644 --- a/_posts/2016-03-29-releasing-rust-projects-the-automatic-way.md +++ b/_posts/2016-03-29-releasing-rust-projects-the-automatic-way.md @@ -1,7 +1,6 @@ ---- -layout: post title: Releasing Rust projects, the automatic way -date: 29.03.2016 20:47 +date: 29 Mar 2016 20:47:00 +0200 +path: /:year/:month/:day/releasing-rust-projects-the-automatic-way --- One of the strength of the Rust ecosystem is its package manager [Cargo][] and the package system [crates.io][]. diff --git a/_posts/2016-05-12-quickcheck-does-your-code-work.md b/_posts/2016-05-12-quickcheck-does-your-code-work.md index 47a5b2c..98f53b9 100644 --- a/_posts/2016-05-12-quickcheck-does-your-code-work.md +++ b/_posts/2016-05-12-quickcheck-does-your-code-work.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "Quick check: does your code work?" -date: 12.05.2016 23:00 +date: 12 May 2016 23:00:00 +0200 +path: /:year/:month/:day/quickcheck-does-your-code-work --- … because mine didn't. At least not correctly in all cases. diff --git a/_posts/2016-06-09-longboarding-vennbahn.md b/_posts/2016-06-09-longboarding-vennbahn.md index 3effcdc..bbe81e5 100644 --- a/_posts/2016-06-09-longboarding-vennbahn.md +++ b/_posts/2016-06-09-longboarding-vennbahn.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "Longboarding: Vennbahn" -date: 09.06.2016 16:20 +date: 09 Jun 2016 16:20:00 +0200 +path: /:year/:month/:day/longboarding-vennbahn --- Today, right after finishing my only lecture of the day, I rented a longboard at a local skate shop @@ -9,37 +9,21 @@ and then took the bus out of the city. I went out to Kornelimünster, a small district of Aachen, about 10 km outside of the city. -{::options parse_block_html="true" /} -

![](//tmp.fnordig.de/longboarding/0609/th-2016-06-09_12.44.21.jpg) -

-{::options parse_block_html="false" /} In the last days it rained half of the day, but today it's sunny and really warm. The route goes mostly downhill from Kornelimünster, so I did not need much pushing and could just let it roll. -{::options parse_block_html="true" /} -

![](//tmp.fnordig.de/longboarding/0609/th-2016-06-09_12.53.25-1.jpg) -

-{::options parse_block_html="false" /} I collected the route with an app. The results: 10,9 km in 53 minutes. Top speed: 31,5 km/h. 12,4 km/h on average. -{::options parse_block_html="true" /} -

![](//tmp.fnordig.de/longboarding/0609/th-2016-06-09_13.18.03.jpg) -

-{::options parse_block_html="false" /} I was much quicker than I thought, so I got some ice cream in the city of Aachen before heading home. -{::options parse_block_html="true" /} -

![](//tmp.fnordig.de/longboarding/0609/th-2016-06-09_14.34.02.jpg) -

-{::options parse_block_html="false" /} The route on a map ([available in a Gist](https://gist.github.com/badboy/9c27ca438570a800507f2a76fdd19544)): diff --git a/_posts/2016-08-31-rust-from-the-back-to-the-front.md b/_posts/2016-08-31-rust-from-the-back-to-the-front.md index 8fee6f4..d7c4286 100644 --- a/_posts/2016-08-31-rust-from-the-back-to-the-front.md +++ b/_posts/2016-08-31-rust-from-the-back-to-the-front.md @@ -1,23 +1,19 @@ ---- -layout: post +extends: post.liquid title: "Rust from the Back to the Front (Rust Sthlm)" -date: 31.08.2016 16:30 +date: 31 Aug 2016 16:30:00 +0200 +path: /:year/:month/:day/rust-from-the-back-to-the-front --- -{::options parse_block_html="true" /} -
+
[![Rust on the Web](//tmp.fnordig.de/rust-sthlm/th-2016-08-29_18.23.59.jpg)](//tmp.fnordig.de/rust-sthlm/2016-08-29_18.23.59.jpg) -
-{::options parse_block_html="false" /} + Last monday I attended the [Rust Sthlm][meetup] Meetup and gave a talk about using Rust for web development. About 60 people attended, had pizza and listened to the two talks of the evening. -{::options parse_block_html="true" /} -
+
[![Meetup](//tmp.fnordig.de/rust-sthlm/th-2016-08-29_18.59.00.jpg)](//tmp.fnordig.de/rust-sthlm/th-2016-08-29_18.59.00.jpg) -
-{::options parse_block_html="false" /} + I started off with my talk *Rust from the Back to the Front*, giving an overview of the ecosystem around all things related to web programming in Rust. This was an updated talk of the one I gave in Budapest last year ([video online](https://www.youtube.com/watch?v=L9sTIi7wFPo)). @@ -28,11 +24,9 @@ I definitely need to look deeper into this topic, as I think it can bring huge i This has to wait a bit though, as I will first dive deeper into Emscripten (and present that [next week in Cologne](http://rustaceans.cologne/2016/09/05/compile-to-js.html) and in [Pittsburgh in October](http://www.rust-belt-rust.com/)). My slides are [online][slides] and I will try to collect more [resources in a Gist][resources]. -{::options parse_block_html="true" /} -
+
[![Rust and openSUSE](//tmp.fnordig.de/rust-sthlm/th-2016-08-29_20.03.47.jpg)](//tmp.fnordig.de/rust-sthlm/2016-08-29_20.03.47.jpg) -
-{::options parse_block_html="false" /} + The second talk that evening was by [Kristoffer Grönlund][krig], giving us a quick introduction to some of Rust's features, followed by an overview of his work trying to get Rust into the openSUSE package repositories. diff --git a/_posts/2016-09-28-signify-ed25519-signatures-for-your-files.md b/_posts/2016-09-28-signify-ed25519-signatures-for-your-files.md index ad1d9f5..f46b7a3 100644 --- a/_posts/2016-09-28-signify-ed25519-signatures-for-your-files.md +++ b/_posts/2016-09-28-signify-ed25519-signatures-for-your-files.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "Signify - Ed25519 signatures for your files (in Rust)" -date: 28.09.2016 13:16 +date: 28 Sep 2016 13:16:00 +0200 +path: /:year/:month/:day/signify-ed25519-signatures-for-your-files --- From time to time I try to write a piece of code or port some existing library or application just for fun. @@ -84,7 +84,7 @@ If it prints `Signature Verified` it went well. Otherwise it will show an error. This is the signature using above private key on the [README.md](https://github.com/badboy/signify-rs/blob/177717053fb155d554cb1f697310bda1143edba4/README.md): -> untrusted comment: signature from signify secret key +> untrusted comment: signature from signify secret key > RWR/JMX+u3pyzIDv+Gt4JwMbWsb+dt0R/9tYDEjVw7zmBQoQR06Pcd2yr03XqvTSqaJBTbUhm74iUxB98BQVAZemq692g5Xv0gs= If you put that signature in a file, put the public key from above into another, you can verify it! diff --git a/_posts/2016-11-29-novemb-rs-code-sprint-weekend-2016-retrospective.md b/_posts/2016-11-29-novemb-rs-code-sprint-weekend-2016-retrospective.md index 7197b7b..5a13fc6 100644 --- a/_posts/2016-11-29-novemb-rs-code-sprint-weekend-2016-retrospective.md +++ b/_posts/2016-11-29-novemb-rs-code-sprint-weekend-2016-retrospective.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "novemb.rs Code Sprint Weekend 2016 - Retrospective" -date: 29.11.2016 11:55 +date: 29 Nov 2016 11:55:00 +0100 +path: /:year/:month/:day/novemb-rs-code-sprint-weekend-2016-retrospective --- *This post is a tiny bit late, but better late than never.* @@ -10,12 +10,10 @@ So on 19th and 20th of November, just over a week ago, we had the very first [no In 10 locations in Europe and the US as well as online, people gathered to hack on projects, start new ones or just to learn Rust. Bringing people together is one goal of the Rust community and coding, learning and having fun together is a lot of fun as well. -{::options parse_block_html="true" /} -
+
![novemb.rs @ C4](//tmp.fnordig.de/novemb.rs/th-novembrs-sign.jpg)

We opened doors at Chaos Computer Club Cologne

-
-{::options parse_block_html="false" /} + I was part of the [novemb.rs Event in Cologne](http://rust.cologne/2016/11/19/novemb-rs.html). On both days about a dozen people showed up, from noon to late in the evening. @@ -49,12 +47,10 @@ And another big thanks to Mozilla for sponsoring the pizza and the C4 for offeri We should try harder to get people from everywhere involved. * Online Communication between locations wasn't used that much. The whole idea was to have a distributed code sprint, so working together on projects across locations would have been nice. Maybe we should offer to have ad-hoc video calls as well? -{::options parse_block_html="true" /} -
+
[![Rust @ Whiteboard](//tmp.fnordig.de/novemb.rs/th-2016-11-20_14.36.28.jpg)](//tmp.fnordig.de/novemb.rs/2016-11-20_14.36.28.jpg)

Coding on the whiteboard (only half of the attendees in the picture)

-
-{::options parse_block_html="false" /} + ### Try again? @@ -67,9 +63,7 @@ Feel free to join us on the Weihnachtsmarkt or in January at another more regula If you are not from the Rhein area, take a look if there's a [Rust User Group](https://www.rust-lang.org/en-US/user-groups.html) near you. -{::options parse_block_html="true" /} -
+
[![Rust](//tmp.fnordig.de/novemb.rs/th-2016-11-20_12.11.20.jpg)](//tmp.fnordig.de/novemb.rs/2016-11-20_12.11.20.jpg)

Signs showed the way

-
-{::options parse_block_html="false" /} + diff --git a/_posts/2016-12-02-xen-a-backend-frontend-driver-example.md b/_posts/2016-12-02-xen-a-backend-frontend-driver-example.md index 5ae791a..83ef707 100644 --- a/_posts/2016-12-02-xen-a-backend-frontend-driver-example.md +++ b/_posts/2016-12-02-xen-a-backend-frontend-driver-example.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "Xen - a backend/frontend driver example" -date: 02.12.2016 10:10 +date: 02 Dec 2016 10:10:00 +0100 +path: /:year/:month/:day/xen-a-backend-frontend-driver-example --- Recently I began working on my master thesis. For this I have to get familiar with the [Xen hypervisor][xen] and its implementation of drivers. diff --git a/_posts/2016-12-20-xen-split-driver-initial-communication.md b/_posts/2016-12-20-xen-split-driver-initial-communication.md index a24c969..0f73e02 100644 --- a/_posts/2016-12-20-xen-split-driver-initial-communication.md +++ b/_posts/2016-12-20-xen-split-driver-initial-communication.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "Xen - split driver, initial communication" -date: 20.12.2016 16:00 +date: 20 Dec 2016 16:00:00 +0100 +path: /:year/:month/:day/xen-split-driver-initial-communication --- In the [previous post](/2016/12/02/xen-a-backend-frontend-driver-example/) I explained how to initially setup a split driver diff --git a/_posts/2016-12-31-2016-in-many-words.md b/_posts/2016-12-31-2016-in-many-words.md index c04785b..557088a 100644 --- a/_posts/2016-12-31-2016-in-many-words.md +++ b/_posts/2016-12-31-2016-in-many-words.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: 2016 in many words and some photos -date: 31.12.2016 11:30 +date: 31 Dec 2016 11:30:00 +0100 +path: /:year/:month/:day/2016-in-many-words --- Last year I summarized my year in a [long blog post](/2015/12/31/2015-in-many-words/), @@ -47,59 +47,29 @@ The year started off with a trip to Canada. With temperatures as low as -25°C, lots of snow, pancakes and beer I had a wonderful time. I definitely need to go back once more in the summer. -{::options parse_block_html="true" /} -
-![Canada Forest](//tmp.fnordig.de/end-of-2016/2016-01-08_12.27.25.jpg){:width="900px"} -

Canada Forest

-
-{::options parse_block_html="false" /} +![Canada Forest](//tmp.fnordig.de/end-of-2016/2016-01-08_12.27.25.jpg) -{::options parse_block_html="true" /} -
-![Freezing cold](//tmp.fnordig.de/end-of-2016/2016-01-13_16.49.41.jpg){:width="900px"} -

Freezing cold

-
-{::options parse_block_html="false" /} +![Freezing cold](//tmp.fnordig.de/end-of-2016/2016-01-13_16.49.41.jpg) -{::options parse_block_html="true" /} -
-![Sun over frozen Canada](//tmp.fnordig.de/end-of-2016/2016-01-24_12.59.35.jpg){:width="900px"} -

Sun over frozen Canada

-
-{::options parse_block_html="false" /} +![Sun over frozen Canada](//tmp.fnordig.de/end-of-2016/2016-01-24_12.59.35.jpg) In May I made a short trip to Stockholm. Equipped with the absolute best weather I enjoyed a few more days away from university and work and could relax. In addition a canceled flight gave me another night in this city. -{::options parse_block_html="true" /} -
-![Beautiful Stockholm](//tmp.fnordig.de/end-of-2016/2016-05-17_10.44.11-2.jpg){:width="900px"} -

Beautiful Stockholm

-
-{::options parse_block_html="false" /} +![Beautiful Stockholm](//tmp.fnordig.de/end-of-2016/2016-05-17_10.44.11-2.jpg) After I got back to Aachen I bought my first Longboard. I enjoyed multiple long trips over the Vennbahn. See more impression in [Longboarding: Vennbahn](//fnordig.de/2016/06/09/longboarding-vennbahn/). -{::options parse_block_html="true" /} -
-![Longboarding on Vennbahn](//tmp.fnordig.de/end-of-2016/2016-06-09_12.53.25-1.jpg){:width="900px"} -

Longboarding on Vennbahn

-
-{::options parse_block_html="false" /} +![Longboarding on Vennbahn](//tmp.fnordig.de/end-of-2016/2016-06-09_12.53.25-1.jpg) In August I got back to Stockholm a second time. This time with friends for a 4 day long kajaking trip through the Stockholm Archipelago. And again we had the best weather for such a trip. I could even visit the Stockholm Rust meetup and give a talk a few days later before heading back home. -{::options parse_block_html="true" /} -
-![Sunset in the archipelago of Stockholm](//tmp.fnordig.de/end-of-2016/2016-08-24_19.08.49-1.jpg){:width="900px"} -

Sunset in the archipelago of Stockholm

-
-{::options parse_block_html="false" /} +![Sunset in the archipelago of Stockholm](//tmp.fnordig.de/end-of-2016/2016-08-24_19.08.49-1.jpg) In August I took part in the [Mozilla Tech Speakers program](https://wiki.mozilla.org/TechSpeakers) and thus became an official Tech Speaker. @@ -133,8 +103,7 @@ I already have some plans for the time after that, including bigger travel plans but I don't know where I will end up after that. 2017 will probably be the year I leave Aachen after more than 5 years living there. -{::options parse_block_html="false" /} +
<3
-{::options parse_block_html="true" /} diff --git a/_posts/2017-03-04-send-icmp-echo-replies-using-ebpf.md b/_posts/2017-03-04-send-icmp-echo-replies-using-ebpf.md index 5c26452..ae59de5 100644 --- a/_posts/2017-03-04-send-icmp-echo-replies-using-ebpf.md +++ b/_posts/2017-03-04-send-icmp-echo-replies-using-ebpf.md @@ -1,7 +1,7 @@ ---- -layout: post +extends: post.liquid title: "Send ICMP Echo Replies using eBPF" -date: 04.03.2017 17:25 +date: 04 Mar 2017 17:25:00 +0100 +path: /:year/:month/:day/send-icmp-echo-replies-using-ebpf --- For my master thesis I am working with eBPF, the [Extended Berkeley Packet Filter](https://www.kernel.org/doc/Documentation/networking/filter.txt). diff --git a/about.markdown b/about.md similarity index 95% rename from about.markdown rename to about.md index da6f0e3..07bf6f4 100644 --- a/about.markdown +++ b/about.md @@ -1,6 +1,7 @@ ---- -layout: post -title: about +extends: simple.liquid +title: About +route: about +path: /about --- 25 years old, @@ -15,13 +16,13 @@ contributor to [Redis](http://redis.io) and maintainer of [hiredis](https://gith -## // links +## Links * Twitter: [@badboy\_](https://twitter.com/badboy_) * GitHub: [@badboy](https://github.com/badboy) * Pinboard: [badboy](http://pinboard.in/u:badboy) -## // projects +## Projects * [Compiling Rust to your Browser](http://www.hellorust.com/emscripten/) - Resources, demos & more for compiling Rust to asm.js & WebAssembly * [semantic-rs](https://github.com/semantic-rs/semantic-rs) - Automatic crate publishing @@ -31,12 +32,12 @@ contributor to [Redis](http://redis.io) and maintainer of [hiredis](https://gith * [badbill](https://github.com/badboy/badbill) - A client for the [Billomat](http://www.billomat.com/en/api/) API * [Redis FAQ](/redis-faq/) - an unofficial Redis FAQ with user questions -## // services +## Services * [etherpad](https://pad.fnordig.de/) - real-time collaborative document editing * [rezepte](http://rezepte.fnordig.de/) - a small database of recipes (german) -## // other +## Other * [Events I've been at](http://badboy.hasbeen.at/) * [Places I've been in](http://badboy.hasbeen.in/) diff --git a/coderay.css b/coderay.css deleted file mode 100644 index 053eab0..0000000 --- a/coderay.css +++ /dev/null @@ -1,122 +0,0 @@ -.CodeRay { - background-color: hsl(0,0%,95%); - border: 1px solid silver; - color: black; - margin: 5px; -} -.CodeRay pre { - margin: 0px; -} - -span.CodeRay { white-space: pre; border: 0px; padding: 2px; } - -table.CodeRay { border-collapse: collapse; width: 100%; padding: 2px; } -table.CodeRay td { padding: 2px 4px; vertical-align: top; } - -.CodeRay .line-numbers { - background-color: hsl(180,65%,90%); - color: gray; - text-align: right; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} -.CodeRay .line-numbers a { - background-color: hsl(180,65%,90%) !important; - color: gray !important; - text-decoration: none !important; -} -.CodeRay .line-numbers a:target { color: blue !important; } -.CodeRay .line-numbers .highlighted { color: red !important; } -.CodeRay .line-numbers .highlighted a { color: red !important; } -.CodeRay span.line-numbers { padding: 0px 4px; } -.CodeRay .line { display: block; float: left; width: 100%; } -.CodeRay .code { width: 100%; } -.CodeRay .code pre { overflow: auto; } - -.CodeRay .debug { color: white !important; background: blue !important; } - -.CodeRay .annotation { color:#007 } -.CodeRay .attribute-name { color:#f08 } -.CodeRay .attribute-value { color:#700 } -.CodeRay .binary { color:#509 } -.CodeRay .char .content { color:#D20 } -.CodeRay .char .delimiter { color:#710 } -.CodeRay .char { color:#D20 } -.CodeRay .class { color:#B06; font-weight:bold } -.CodeRay .class-variable { color:#369 } -.CodeRay .color { color:#0A0 } -.CodeRay .comment { color:#888 } -.CodeRay .comment .char { color:#444 } -.CodeRay .comment .delimiter { color:#444 } -.CodeRay .complex { color:#A08 } -.CodeRay .constant { color:#036; font-weight:bold } -.CodeRay .decorator { color:#B0B } -.CodeRay .definition { color:#099; font-weight:bold } -.CodeRay .delimiter { color:black } -.CodeRay .directive { color:#088; font-weight:bold } -.CodeRay .doc { color:#970 } -.CodeRay .doc-string { color:#D42; font-weight:bold } -.CodeRay .doctype { color:#34b } -.CodeRay .entity { color:#800; font-weight:bold } -.CodeRay .error { color:#F00; background-color:#FAA } -.CodeRay .escape { color:#666 } -.CodeRay .exception { color:#C00; font-weight:bold } -.CodeRay .float { color:#60E } -.CodeRay .function { color:#06B; font-weight:bold } -.CodeRay .global-variable { color:#d70 } -.CodeRay .hex { color:#02b } -.CodeRay .imaginary { color:#f00 } -.CodeRay .include { color:#B44; font-weight:bold } -.CodeRay .inline { background-color: hsla(0,0%,0%,0.1); color: black } -.CodeRay .inline-delimiter { font-weight: bold; color: #666 } -.CodeRay .instance-variable { color:#33B } -.CodeRay .integer { color:#00D } -.CodeRay .key .char { color: #60f } -.CodeRay .key .delimiter { color: #404 } -.CodeRay .key { color: #606 } -.CodeRay .keyword { color:#080; font-weight:bold } -.CodeRay .label { color:#970; font-weight:bold } -.CodeRay .local-variable { color:#963 } -.CodeRay .namespace { color:#707; font-weight:bold } -.CodeRay .octal { color:#40E } -.CodeRay .operator { } -.CodeRay .predefined { color:#369; font-weight:bold } -.CodeRay .predefined-class { color:#069 } -.CodeRay .predefined-type { color:#0a5; font-weight:bold } -.CodeRay .preprocessor { color:#579 } -.CodeRay .pseudo-class { color:#00C; font-weight:bold } -.CodeRay .regexp .content { color:#808 } -.CodeRay .regexp .delimiter { color:#404 } -.CodeRay .regexp .modifier { color:#C2C } -.CodeRay .regexp { background-color:hsla(300,100%,50%,0.09); } -.CodeRay .reserved { color:#080; font-weight:bold } -.CodeRay .shell .content { color:#2B2 } -.CodeRay .shell .delimiter { color:#161 } -.CodeRay .shell { background-color:hsla(120,100%,50%,0.09); } -.CodeRay .string .char { color: #b0b } -.CodeRay .string .content { color: #D20 } -.CodeRay .string .delimiter { color: #710 } -.CodeRay .string .modifier { color: #E40 } -.CodeRay .string { background-color:hsla(0,100%,50%,0.08); } -.CodeRay .symbol .content { color:#A60 } -.CodeRay .symbol .delimiter { color:#630 } -.CodeRay .symbol { color:#A60 } -.CodeRay .tag { color:#070 } -.CodeRay .type { color:#339; font-weight:bold } -.CodeRay .value { color: #088; } -.CodeRay .variable { color:#037 } - -.CodeRay .insert { background: hsla(120,100%,50%,0.1) } -.CodeRay .delete { background: hsla(0,100%,50%,0.1) } -.CodeRay .change { color: #bbf; background: #007; } -.CodeRay .head { color: #f8f; background: #505 } -.CodeRay .head .filename { color: white; } - -.CodeRay .delete .eyecatcher { background-color: hsla(0,100%,50%,0.2); border: 1px solid hsla(0,100%,45%,0.5); margin: -1px; border-bottom: none; border-top-left-radius: 5px; border-top-right-radius: 5px; } -.CodeRay .insert .eyecatcher { background-color: hsla(120,100%,50%,0.2); border: 1px solid hsla(120,100%,25%,0.5); margin: -1px; border-top: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } - -.CodeRay .insert .insert { color: #0c0; background:transparent; font-weight:bold } -.CodeRay .delete .delete { color: #c00; background:transparent; font-weight:bold } -.CodeRay .change .change { color: #88f } -.CodeRay .head .head { color: #f4f } diff --git a/ext/post b/ext/post index 865e8b8..f82042a 100755 --- a/ext/post +++ b/ext/post @@ -5,10 +5,10 @@ OUTPUT_DIR = File.expand_path("~/projects/fnordig.de/_posts") EDITOR = ENV['EDITOR'] || 'vim' EXTENSION=".md" HEADER = < - - - fnordig.de - - - {{ site.time | date_to_xmlschema }} - http://fnordig.de/ - - Jan-Erik Rediger - janerik@fnordig.de - - - {% for post in site.posts %} - - {{ post.title | xml_escape }} - - {{ post.date | date_to_xmlschema }} - http://fnordig.de{{site.baseurl}}{{ post.url | replace_first: '/'}} - {{ post.content | xml_escape }} - - {% endfor %} - diff --git a/fnord.css b/fnord.css deleted file mode 100644 index 968cda4..0000000 --- a/fnord.css +++ /dev/null @@ -1,102 +0,0 @@ -body { - background-color: #eee; - color: #1a1a1a; - font-style: normal; - font-size: 1.0em; - font-family: Helvetica, Arial, sans-serif; -} -a { color: #06c; text-decoration: none; } -a:hover { text-decoration: underline; } -.post p a:visited { color: #004488; } -h1 a, .heading a { color: black; } -h1 a:hover { text-decoration: none; } -.post .heading:before { content: "// "; } -.post .heading { font: bold 20px monospace; } -.post .date { font: italic 14px monospace; } -.post h2 { margin: 0; } -.post p.date { margin: 0; font-style: italic; } -.post p.date:before { content: "/* "; } -.post p.date:after { content: " */"; } -.post p, .post ul li { - line-height: 1.5em; - word-wrap: break-word; -} -.footer { padding-top: 0px; } -.footer p { padding: 0; margin: 0;} -blockquote { - margin: 0; - padding: 7px 15px; - border-left: 7px solid rgba(128, 128, 128, 0.075); - background-color: #f3f3f3; -} -blockquote p { margin: 0; } -pre { - margin-left: 10px; - background-color: #ddd; -} -p code, li code, table code { - background-color: rgba(0,0,0,0.04); - margin: 0; - color: black; - padding: .2em 0; - border-radius: 3px; - font-size: 95%; -} -p code::before, p code::after, -li code::before, li code::after, -table code::before, table code::after { - letter-spacing: -0.2em; - content: "\00a0"; -} -.post { - margin-bottom: 15px; - padding: 20px; - padding-top: 10px; - padding-bottom: 5px; - background-color: white; - box-shadow: 0px 0px 2px #666; -} -.nav { - margin-bottom: 10px; -} -.nav h1, .nav ul, .nav li { - display: inline; -} -.nav h1 { - font: bold 26px monospace; -} -.nav li, .paginator, .footer { - font: normal 13px monospace; -} -.content { - margin: 0 auto; - max-width: 986px; -} -.paginator { - margin-bottom: 10px; - text-align: center; -} -hr { - border: 1px solid #f3f3f3; -} -table { - border-collapse: collapse; - border: 1px solid #ddd; -} -table th, table td { - padding: 7px 15px; - border: 1px solid #ddd; -} - -table td:first-child { - width: 20%; -} -table tbody tr:nth-child(even) { - background-color: rgb(248, 248, 248); -} -code, pre { - background-color: #f8f8f8; - font-family: Inconsolata, monospace, sans-serif; -} -.post .image { margin-bottom: 10px; } -.post .image p { margin: 0; } diff --git a/imprint.markdown b/imprint.md similarity index 94% rename from imprint.markdown rename to imprint.md index 65e6fb4..b2a3ac0 100644 --- a/imprint.markdown +++ b/imprint.md @@ -1,6 +1,6 @@ ---- -layout: post -title: imprint +extends: simple.liquid +title: Imprint +path: /imprint --- Jan-Erik Rediger
diff --git a/index.html b/index.html deleted file mode 100644 index 0160926..0000000 --- a/index.html +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: default -title: fnordig.de ---- - -{% for post in paginator.posts %} - {% include single_page.html %} -{% endfor %} - -
- {% if paginator.previous_page %} - {% if paginator.previous_page == 1 %} - - {% else %} - - {% endif %} - {% endif %} - - {% if paginator.previous_page && paginator.next_page %} - | - {% endif %} - - {% if paginator.next_page %} - - {% endif %} -
diff --git a/index.liquid b/index.liquid new file mode 100644 index 0000000..a8887aa --- /dev/null +++ b/index.liquid @@ -0,0 +1,18 @@ +extends: default.liquid +title: fnordig.de +route: blog +--- + +{% assign idx = 0 %} +{% for post in posts %} +{% if idx < 5 %} +
+

{{ post.title }}

+
+

{{ post.content | strip_html | truncatewords: 25, '...' }}

+
+{% endif %} +{% assign idx = idx | plus: 1 %} +{% endfor %} + +Looking for more posts? Check out all posts! diff --git a/posts.md b/posts.md index 9fb4365..2b0a0f8 100644 --- a/posts.md +++ b/posts.md @@ -1,13 +1,17 @@ ---- -layout: post -title: posts +extends: simple.liquid +title: Posts +route: posts +path: /posts --- -{% for post in site.posts %} - {% capture currentyear %}{{post.date | date: "%Y"}}{% endcapture %} - {% if currentyear != year %} -### {{ currentyear }} - {% capture year %}{{currentyear}}{% endcapture %} - {% endif %} -* {{post.date | date: "%d %b"}}: [{{post.title}}]({{post.url | remove_first: '/' | prepend: site.baseurl}}) -{% endfor %} +{% assign years = "2017, 2016, 2015, 2014, 2013, 2012, 2011" | split: ", " %} +{% for year in years %} + ### {{year}} + + {% for post in posts %} + {% assign postyear = post.date | date: "%Y" %} + {% if postyear == year %} +* {{post.date | date: "%d %b"}}: [{{post.title}}](/{{post.path}}) + {% endif %} + {% endfor %} +{%endfor%} diff --git a/redis-faq.markdown b/redis-faq.md similarity index 99% rename from redis-faq.markdown rename to redis-faq.md index 637a860..2b7dec8 100644 --- a/redis-faq.markdown +++ b/redis-faq.md @@ -1,6 +1,6 @@ ---- -layout: post +extends: simple.liquid title: "Redis FAQ or: what you learn when idling in #redis" +path: /redis-faq --- First: this here is the unofficial FAQ, only containing things that come up by users in the IRC channel `#redis` on Freenode. There's also a more [official FAQ](http://redis.io/topics/faq). This document is also available in a [gist](https://gist.github.com/badboy/5958039). diff --git a/style.css b/style.css new file mode 100644 index 0000000..48b58bb --- /dev/null +++ b/style.css @@ -0,0 +1,229 @@ +html, +body { + font-size: 17px; + margin: 0; + padding: 0; +} + +body {} + +pre { + padding: 1ch; + border: none; +} + +time { + color: #1a1a1a; +} + +nav { + font-family: sans-serif; + position: fixed; + left: 0; + top: 0; + padding: 28px 0; +} + +nav hr { + display: none; +} + +nav .menu-item { + display: block; + padding: 10px 0 10px 20px; + text-decoration: none; + font-size: 20px; + font-weight: 100; + transition: border-left 0.1s; +} + +nav .menu-item.icon { + font-size: 22px; + padding-left: 30px; +} + +nav a.menu-item { + color: #000; +} + +.menu-item.current, +.menu-item:hover { + border-left: 3px solid #000; +} + +main { + margin: 0 auto; + width: 100%; + max-width: 900px; + padding: 50px 40px; + box-sizing: border-box; + min-height: 600px; +} + +body[data-route=about] p { + padding: 5px 0; + max-width: 600px; +} + +.me-image { + height: 220px; + margin: 20px 50px; + float: right; +} + +.about-icon { + float: left; + height: 75px; + margin-right: 20px; +} + +article.blog-list { + text-align: left; + margin: 20px; + padding: 25px; +} + +article.blog-list a { + font-weight: 100; + color: black; + text-decoration: none; +} + +article.blog-list a:hover { + text-decoration: underline; +} + +/* begin article banner */ +.left { + float: left; + margin: 5px; +} + +.avi-image { + vertical-align: middle; + width: 90px; + padding-right: 10px; +} +.corner { + border-radius: 50%; +} + +.right h3 { + margin: 5px; +} + +.right p { + margin: 0px; + padding: 0px; +} + +/* end article banner */ + +footer { + font-family: sans-serif; + width: 100%; + text-align: center; + color: grey; + font-weight: 200; + margin: 0 0 40px; +} + +footer a, footer a:visited { + color: grey; +} + +hr { + padding: 0; + max-width: 900px; + height: 1px; + border: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)); + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)); + background-image: linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)); +} + +blockquote p { + word-wrap: break-word; +} + +@media all and (max-width:1024px) { + main { + padding: 25px 40px; + } + nav { + position: static; + margin: 0 auto; + width: 100%; + text-align: center; + padding: 20px 0; + } + nav .menu-item { + display: inline-block; + padding: 10px 0 10px 20px; + text-decoration: none; + font-size: 20px; + transition: border-left 0.1s; + } + .menu hr { + display: block; + } + .menu-item.current, + .menu-item:hover { + border-left: none; + } +} + +@media all and (max-width:768px) { + h1 { + font-size: 40px; + } + main { + padding: 20px 40px; + } +} + +@media all and (max-width:390px) { + header { + margin-top: 10px; + height: 50px; + } + #stage { + display: none; + } + main { + padding: 15px 20px; + } + h1 { + font-size: 30px; + } + h2 { + font-size: 20px; + } +} + +.clearfix:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; +} + +.clearfix { + display: inline-block; +} + + +/* start commented backslash hack \*/ + +* html .clearfix { + height: 1%; +} + +.clearfix { + display: block; +} + +/* close commented backslash hack */ diff --git a/syntax.css b/syntax.css deleted file mode 100644 index 399f86e..0000000 --- a/syntax.css +++ /dev/null @@ -1,71 +0,0 @@ -div.highlight { overflow-x: auto; border: 1px solid silver; background-color: #ddd; margin-bottom: 10px; } -div.highlight pre { margin: 0; } -div.highlight code { - display: block; - overflow-x: auto; - padding: 0.5em; - color: #333; - background: #f8f8f8; -} -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #408080; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ -.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #7D9029 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ diff --git a/talks.md b/talks.md index 3f0c895..e3330d7 100644 --- a/talks.md +++ b/talks.md @@ -1,13 +1,14 @@ ---- -layout: post -title: talks +extends: simple.liquid +title: Talks +route: talks +path: /talks --- I gave some talks in the past and I'd love to give some more in the future. I will talk about Redis, Web Development and Rust stuff or about any of the project I'm involved in. Want me to speak? Contact me [via mail](mailto:janerik@fnordig.de). -## // 2017 +## 2017 I am up for more speaking gigs this year. Contact me [via mail](mailto:janerik@fnordig.de). @@ -16,7 +17,7 @@ I am up for more speaking gigs this year. Contact me [via mail](mailto:janerik@f * **Learn you some Rust** (workshop), Booster Conf, 15.-17.03.2017, ([Material](http://hellorust.com/booster), [Conference](https://www.boosterconf.no/talks/836)) * **Rust and Ruby - make it fast**, Cologne.rb/Rust Cologne joint meetup, 18.01.2017 ([Slides](https://badboy.github.io/rust-and-ruby/), [Meetup](http://www.colognerb.de/events/januar-meetup-2017)) -## // 2016 +## 2016 * **Hire me for the JS, keep me for the Rust** (workshop), Rust Belt Rust (Pittsburgh, PA, USA), 27./28.10.2016 ([Conference](http://www.rust-belt-rust.com/sessions/), [Material](http://www.hellorust.com/emscripten/)) * **Compiling Rust to your Browser**, Rust Cologne/Bonn, 05.09.2016 ([Slides](https://badboy.github.io/rust-to-the-browser/), [Resources](http://www.hellorust.com/emscripten/), [Meetup](https://www.meetup.com/Rust-Cologne-Bonn/events/233139845/), [Video](https://media.ccc.de/v/rustmcb.2016.09.compiling-rust-to-asmjs)) @@ -24,14 +25,14 @@ I am up for more speaking gigs this year. Contact me [via mail](mailto:janerik@f * **Webdevelopment with Rust** - Rust Amsterdam, 02.03.2016 ([Slides](http://badboy.github.io/webdev-rust-slides/), [Meetup](http://www.meetup.com/Rust-Amsterdam/events/227827508/)) * **Automatic Crate publishing – semantic.rs** - Rust Cologne/Bonn, 03.02.2016 ([Slides](http://badboy.github.io/semantic-rs-slides/#1)) -## // 2015 +## 2015 * **Hire me for the JS, keep me for the Rust** - Hungarian Webconference, 14.11.2015 ([Video](https://www.youtube.com/watch?v=L9sTIi7wFPo)) * **Redis Cluster** - PHPUGDUS, 28.05.2015 ([Slides](http://fnordig.de/talks/2015/phpugdus/redis-cluster/slides.pdf), [Slides on slidr.io](http://slidr.io/badboy/redis-cluster)) * **U2F Authentication** - Cologne.rb, 20.05.2015 ([Slides](https://fnordig.de/talks/2015/colognerb/u2f/slides.pdf), [Slides on slidr.io](http://slidr.io/badboy/u2f-authentication)) * **Rust Introduction** - CCCAC, 05.03.2015 ([Video](https://videoag.fsmpi.rwth-aachen.de/?view=player&lectureid=4532), [Slides](https://fnordig.de/talks/2015/cccac/rust-intro/#0)) -## // 2014 +## 2014 * **Introduction to Redis** - OpenTechSchool Dortmund, 16.12.2014 - these slides are actually extracted from the _real slides_, which were built in [try.redis.io](http://try.redis.io). ([Slides](http://fnordig.de/talks/2014/ots/redis-introduction-otsdo-2014-12-16.pdf)) * **Rust for Rubyists** - FrOSCon, RedFrogConf, 24.08.2014 - this was a bit spontaneous and prepared in only one day. Mostly the content from [first experience with Rust](/2014/08/12/first-experience-with-rust/). I also gave this talk two months later at the Barcamp Salzburg (again, totally spontaneous to fill a gap in the schedule). ([Slides](https://fnordig.de/talks/2014/froscon/rust-for-rubyists/), [PDF](https://fnordig.de/talks/2014/froscon/rust-for-rubyists/froscon2014-redfrogconf-rust-for-rubyists.pdf)) diff --git a/writ.min.css b/writ.min.css new file mode 100644 index 0000000..a841d82 --- /dev/null +++ b/writ.min.css @@ -0,0 +1,7 @@ +/*! + * Writ v1.0.2 + * + * Copyright © 2015, Curtis McEnroe + * + * https://cmcenroe.me/writ/LICENSE (ISC) + */dd,hr,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow-x:auto}a,ins{text-decoration:none}html{font-family:Palatino,Georgia,Lucida Bright,Book Antiqua,serif;font-size:16px;line-height:1.5rem}code,kbd,pre,samp{font-family:Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:.833rem;color:#111}kbd{font-weight:700}h1,h2,h3,h4,h5,h6,th{font-weight:400}h1{font-size:2.488em}h2{font-size:2.074em}h3{font-size:1.728em}h4{font-size:1.44em}h5{font-size:1.2em}h6{font-size:1em}small{font-size:.833em}h1,h2,h3{line-height:3rem}blockquote,dl,h1,h2,h3,h4,h5,h6,ol,p,pre,table,ul{margin:1.5rem 0 0}pre,table{margin-bottom:-1px}hr{border:none;padding:1.5rem 0 0}table{line-height:calc(1.5rem - 1px);width:100%;border-collapse:collapse}pre{margin-top:calc(1.5rem - 1px)}body{color:#222;margin:1.5rem 1ch}a,nav a:visited{color:#00e}a:visited{color:#60b}mark{color:inherit;background-color:#fe0}code,pre,samp,tfoot,thead{background-color:rgba(0,0,0,.05)}blockquote,ins,main aside{border:rgba(0,0,0,.05) solid}blockquote,main aside{border-width:0 0 0 .5ch}code,pre,samp{border:rgba(0,0,0,.1) solid}td,th{border:solid #dbdbdb}body>header{text-align:center}body>footer,main{display:block;max-width:78ch;margin:auto}main aside,main figure{float:right;margin:1.5rem 0 0 1ch}main aside{max-width:26ch;padding:0 0 0 .5ch}blockquote{margin-right:3ch;margin-left:1.5ch;padding:0 0 0 1ch}pre{border-width:1px;border-radius:2px;padding:0 .5ch}pre code{border:none;padding:0;background-color:transparent;white-space:inherit}code,ins,samp,td,th{border-width:1px}img{max-width:100%}dd,ol,ul{padding:0 0 0 3ch}ul>li{list-style-type:disc}li ul>li{list-style-type:circle}li li ul>li{list-style-type:square}ol>li{list-style-type:decimal}li ol>li{list-style-type:lower-roman}li li ol>li{list-style-type:lower-alpha}nav ul{padding:0;list-style-type:none}nav ul li{display:inline;padding-left:1ch;white-space:nowrap}nav ul li:first-child{padding-left:0}ins,mark{padding:1px}td,th{padding:0 .5ch}sub,sup{font-size:.75em;line-height:1em}code,samp{border-radius:2px;padding:.1em .2em;white-space:nowrap} \ No newline at end of file