Merged in move-to-hugo (pull request #1)

This commit is contained in:
Ariejan de Vroom 2015-03-26 12:30:15 +01:00
commit 54017b75b3
743 changed files with 2938 additions and 22490 deletions

8
.gitignore vendored
View File

@ -1,5 +1,5 @@
/.sass-cache # Generated site
*.log /public
/output
/tmp # Other things
.DS_Store .DS_Store

42
Gemfile
View File

@ -1,42 +0,0 @@
source 'https://rubygems.org'
gem 'nanoc'
gem 'guard-nanoc'
gem 'haml'
gem 'rdiscount'
gem 'pygments.rb'
gem 'builder'
gem 'sass'
gem 'compass'
gem 'typogruby'
gem 'nanoc-cachebuster'
gem 'nanoc-javascript-concatenator'
gem 'coffee-script'
gem 'uglifier'
gem 'multi_json', '~> 1.3' # needed by uglifier
# needed for tasks
gem 'stringex'
gem 'rake'
# needed to run nanoc autocompile
gem 'rack'
gem 'mime-types'
gem 'i18n'
# needed to run nanoc view
gem 'adsf'
# needed to run nanoc deploy
gem 'systemu'
# needed to run validations
gem 'w3c_validators'
gem 'nokogiri'

View File

@ -1,123 +0,0 @@
GEM
remote: https://rubygems.org/
specs:
adsf (1.2.0)
rack (>= 1.0.0)
builder (3.2.2)
celluloid (0.16.0)
timers (~> 4.0.0)
chunky_png (1.3.3)
coderay (1.1.0)
coffee-script (2.3.0)
coffee-script-source
execjs
coffee-script-source (1.8.0)
colored (1.2)
compass (1.0.1)
chunky_png (~> 1.2)
compass-core (~> 1.0.1)
compass-import-once (~> 1.0.5)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
sass (>= 3.3.13, < 3.5)
compass-core (1.0.1)
multi_json (~> 1.0)
sass (>= 3.3.0, < 3.5)
compass-import-once (1.0.5)
sass (>= 3.2, < 3.5)
cri (2.6.1)
colored (~> 1.2)
execjs (2.2.2)
ffi (1.9.6)
formatador (0.2.5)
guard (2.7.1)
formatador (>= 0.2.4)
listen (~> 2.7)
lumberjack (~> 1.0)
pry (>= 0.9.12)
thor (>= 0.18.1)
guard-nanoc (1.0.2)
guard (>= 1.8.0)
nanoc (>= 3.6.3)
haml (4.0.5)
tilt
hitimes (1.2.2)
i18n (0.6.11)
json (1.8.1)
listen (2.7.11)
celluloid (>= 0.15.2)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
lumberjack (1.0.9)
method_source (0.8.2)
mime-types (2.4.3)
mini_portile (0.6.0)
multi_json (1.10.1)
nanoc (3.7.3)
cri (~> 2.3)
nanoc-cachebuster (0.3.1)
nanoc (>= 3.3.0)
nanoc-javascript-concatenator (0.0.2)
nanoc (>= 3.3.0)
nokogiri (1.6.3.1)
mini_portile (= 0.6.0)
posix-spawn (0.3.9)
pry (0.10.1)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
pygments.rb (0.6.0)
posix-spawn (~> 0.3.6)
yajl-ruby (~> 1.1.0)
rack (1.5.2)
rake (10.3.2)
rb-fsevent (0.9.4)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
rdiscount (2.1.7.1)
rubypants (0.2.0)
sass (3.4.7)
slop (3.6.0)
stringex (2.5.2)
systemu (2.6.4)
thor (0.19.1)
tilt (2.0.1)
timers (4.0.1)
hitimes
typogruby (1.0.17)
rubypants
uglifier (2.5.3)
execjs (>= 0.3.0)
json (>= 1.8.0)
w3c_validators (1.2)
json
nokogiri
yajl-ruby (1.1.0)
PLATFORMS
ruby
DEPENDENCIES
adsf
builder
coffee-script
compass
guard-nanoc
haml
i18n
mime-types
multi_json (~> 1.3)
nanoc
nanoc-cachebuster
nanoc-javascript-concatenator
nokogiri
pygments.rb
rack
rake
rdiscount
sass
stringex
systemu
typogruby
uglifier
w3c_validators

View File

@ -1,8 +0,0 @@
# A sample Guardfile
# More info at https://github.com/guard/guard#readme
guard 'nanoc' do
watch('nanoc.yaml') # Change this to config.yaml if you use the old config file name
watch('Rules')
watch(%r{^(content|layouts|lib)/.*$})
end

View File

@ -1,11 +0,0 @@
# Ariejan.net
[ ![Codeship Status for ariejan/ariejan.net](https://codeship.com/projects/26000280-52e0-0132-4176-6a64ab7ee5db/status)](https://codeship.com/projects/48777)
This repository contains all the files and data necessary to generate ariejan.net.
## Prerequisites
* `sudo easy_install Pygments`
* `bundle install`
* `nanoc compile`

View File

@ -1,32 +0,0 @@
require 'stringex'
desc "compile and launch"
task :launch do
sh "nanoc compile && nanoc deploy -t public"
end
desc "Create a new post"
task :new_post, :title do |t, args|
mkdir_p './content/posts'
args.with_defaults(:title => 'New Post')
title = args.title
filename = "./content/posts/#{Time.now.strftime('%Y-%m-%d')}-#{title.to_url}.md"
if File.exist?(filename)
abort('rake aborted!') if ask("#{filename} already exists. Want to overwrite?", ['y','n']) == 'n'
end
puts "Creating new post: #{filename}"
open(filename, 'w') do |post|
post.puts '---'
post.puts "title: \"#{title}\""
post.puts "created_at: #{Time.now}"
post.puts 'kind: article'
post.puts 'published: false'
post.puts 'tags:'
post.puts ' - tag1'
post.puts 'summary: |'
post.puts " Summary for #{title}"
post.puts "---\n\n"
end
end

192
Rules
View File

@ -1,192 +0,0 @@
#!/usr/bin/env ruby
SASS_LOAD_PATHS = ['content/css']
if ENV['NANOC_ENV'] == "production"
puts " > Running in PRODUCTION mode"
else
puts " > Running in DEVELOPMENT mode"
end
preprocess do
if ENV['NANOC_ENV'] == "production"
create_robots_txt
create_webmaster_tools_authentications
create_sitemap
end
end
compile %r{^/(google|robots|assets)} do
end
compile %r{/_.+/$} do
# don't filter partials
end
# Sitemap and htaccess do get filtered with erb, but get no layout.
compile %r{^/(sitemap|htaccess)/$} do
filter :erb
end
compile '/sitemap/', :rep => 'gzip' do
filter :erb
if ENV['NANOC_ENV'] == "production"
filter :shellcmd, :cmd => 'gzip'
end
end
# Use screen.scss as the single entry point for styles, ignore everything else in /assets/css
compile '/css/screen/' do
filter :sass, load_paths: SASS_LOAD_PATHS
end
compile '/css/*' do
end
route '/css/screen/' do
if ENV['NANOC_ENV'] == "production"
fp = fingerprint(item[:filename])
else
fp = ''
end
item.identifier.chop + fp + '.css'
end
compile '/js/*/' do
filter :coffeescript if @item[:extension] == 'coffee'
filter :concat_js
if ENV['NANOC_ENV'] == "production"
filter :uglify_js
end
end
route '/js/*/' do
if ENV['NANOC_ENV'] == "production"
fp = fingerprint(item[:filename])
else
fp = ''
end
item.identifier.chop + fp + '.js'
end
compile '/rss/' do
filter :erb
end
compile '/posts/*' do
filter :rdiscount
filter :pygmentizer
if ENV['NANOC_ENV'] == "production"
filter :typogruby
end
layout 'post'
layout 'default'
if ENV['NANOC_ENV'] == "production"
filter :cache_buster
end
end
compile %r{^/(404)/$} do
filter :haml, format: :html5, ugly: true
layout 'default'
if ENV['NANOC_ENV'] == "production"
filter :cache_buster
end
end
compile '/' do
filter :haml, format: :html5, ugly: true
layout 'default'
if ENV['NANOC_ENV'] == "production"
filter :cache_buster
end
end
compile '*' do
unless item.binary?
case item[:extension]
when 'md'
filter :erb
filter :kramdown
when 'haml'
filter :haml, format: :html5, ugly: true
else
filter :erb
end
if %w(html haml md).include?(item[:extension])
layout 'page'
layout 'default'
if ENV['NANOC_ENV'] == "production"
filter :cache_buster
end
end
end
end
route %r{/_.+/$} do
nil # don't route partials
end
route %r{^/(assets/.*|sitemap|robots|atom)/$} do
ext = item[:extension]
ext = 'js' if ext == 'coffee'
ext = 'css' if ext =~ /s[ca]ss/i
if ENV['NANOC_ENV'] == "production"
fp = cachebust?(item) ? fingerprint(item[:filename]) : ''
else
fp = ''
end
item.identifier.chop + fp + '.' + ext
end
route '/rss/' do
'/rss.xml'
end
route '/htaccess/' do
'/.htaccess'
end
route '/sitemap/', :rep => 'gzip' do
'/sitemap.xml.gz'
end
route '/sitemap/' do
'/sitemap.xml'
end
route %r{^/(404)/$} do
item.identifier.chop + '.html'
end
route '/posts/*' do
y, m, d, slug = /([0-9]+)\-([0-9]+)\-([0-9]+)\-([^\/]+)/.match(item.identifier).captures
"/#{y}/#{m}/#{d}/#{slug}/index.html"
end
route '*' do
if item.binary?
# Write item with identifier /foo/ to /foo.ext
item.identifier.chop + '.' + item[:extension]
else
# Write item with identifier /foo/ to /foo/index.html
item.identifier + 'index.html'
end
end
layout '*', :haml, :format => :html5, ugly: true

View File

@ -1,10 +0,0 @@
project_path = File.dirname(File.dirname(__FILE__))
http_path = '/'
output_style = :compressed
# output_style = :expanded
sass_dir = 'content/css'
css_dir = 'output/css'
sass_options = {
:syntax => :scss
}

12
config.toml Normal file
View File

@ -0,0 +1,12 @@
baseurl = "https://ariejan.net/"
languageCode = "en-us"
title = "ariejan de vroom"
theme = "outerspace"
copyright = "Ariejan de Vroom"
disqusShortname = "ariejannet"
[author]
name = "Ariejan de Vroom"
[permalinks]
posts = "/:year/:month/:day/:slug/"

View File

@ -1,12 +0,0 @@
---
title: Page not found
---
.content_wrap.nobg
%section#middle_content
.entry
.error
%h1 404
%h3 We're sorry, but the page you were looking for doesn't exist.
%a(href="/" class="button")
%span Visit ariejan.net
.cl

View File

@ -1,29 +0,0 @@
---
title: About Ariejan
---
:markdown
<img class="right round bordered" src="https://0.gravatar.com/avatar/a9bfdd0cc75c857b669c37548b8bfdf9?s=192" />
Hi! I'm Ariejan de Vroom, a thirty-three year old Ruby on Rails developer and Software
Craftsman. I live in [Breugel, the Netherlands][1] with my wife [Laura][2]
and work full-time at [Kabisa][3].
I am available for consulting, talks and training.
### Find out more about me
Check me out on [Twitter][4], [Github][6] or [LinkedIn][5] to get to know me a bit better.
### Get in touch
If you want to contact me, [tweet something][4] or [send me an email][8] you
can find my [GPG key here][9].
[1]: http://maps.google.nl/maps?f=q&source=s_q&hl=nl&geocode=&q=eindhoven&sll=52.469397,5.509644&sspn=4.692139,10.942383&ie=UTF8&hq=&hnear=Breugel,+Noord-Brabant&ll=51.440313,5.482178&spn=4.800964,10.942383&t=h&z=7
[2]: http://laura-oerlemans.net/
[3]: http://kabisa.nl/
[4]: http://twitter.com/ariejan
[5]: http://www.linkedin.com/in/ariejan
[6]: https://github.com/ariejan
[8]: mailto:ariejan@ariejan.net
[9]: http://ariejan.net/gpg/

32
content/about.md Normal file
View File

@ -0,0 +1,32 @@
+++
type = "page"
title = "About Ariejan"
+++
<img class="avatar" id="about-photo" src="https://0.gravatar.com/avatar/a9bfdd0cc75c857b669c37548b8bfdf9?s=192" />
I'm Ariejan de Vroom and I'm a software engineer. My focus is on back-end systems
using Ruby, Ruby on Rails and Go. In my free time I like to play the piano and
experiment with electronics.
I live in [Son en Breugel, the Netherlands][1] with my wife and son and I'm currently
working at [Kabisa][3].
I am available for development, consulting and training. Please get in touch.
Check me out on [Twitter][4], [Github][6] or [LinkedIn][5] to get to know me a bit better.
Want to ask me a question? [Get in touch right now][10]
This site is static HTML, generated by [Hugo][11]. The theme and content are copyrighted, so there's
no public code.
[1]: https://www.google.nl/maps/place/Son+en+Breugel/@51.5928283,4.2716786,6z/data=!4m2!3m1!1s0x47c6de5ca934b9d9:0x6259d7f97b28e465?hl=nl
[3]: http://kabisa.nl/
[4]: http://twitter.com/ariejan
[5]: http://www.linkedin.com/in/ariejan
[6]: https://github.com/ariejan
[8]: mailto:ariejan@ariejan.net
[9]: /gpg
[10]: /contact
[11]: http://gohugo.io/

View File

@ -1,17 +0,0 @@
---
title: Thanks for your Bitcoin donation
---
:markdown
**You, sir, are awesome!**
Let me tell you that I greatly appreciate you taking the time and effort
to donate me some Bitcoin for an article I have written. It's a huge
morale boost to keep writing down the result of my own technical
struggle and help others learn and discover just a bit easier.
Also, thank you for believing in Bitcoin and _actually using_ it for
something else than hoarding or buying a Lamborghini.
What am I going to do with the Bitcoin you just donated? I haven't decided
yet, but probably save up and buy a nice pint of Guinness.

12
content/contact.md Normal file
View File

@ -0,0 +1,12 @@
+++
type = "page"
title = "Get in touch..."
+++
* Mail to [ariejan@ariejan.net][8] ([GPG key here][9])
* Tweet to [@ariejan][4]
[4]: http://twitter.com/ariejan
[8]: mailto:ariejan@ariejan.net
[9]: http://ariejan.net/gpg/

File diff suppressed because it is too large Load Diff

View File

@ -1,20 +0,0 @@
$turquoise: #1ABC9C
$greensea: #16A085
$emerland: #2ECC71
$nephritis: #27AE60
$peterriver: #3498DB
$belizehole: #2980B9
$amethyst: #9B59B6
$wisteria: #8E44AD
$wetasphalt: #34495E
$midnightblue: #2C3E50
$sunflower: #F1C40F
$orange: #F39C12
$carrot: #E67E22
$pumpkin: #D35400
$alizarin: #E74C3C
$pomegranate: #C0392B
$clouds: #ECF0F1
$silver: #BDC3C7
$concrete: #95A5A6
$asbestos: #7F8C8D

View File

@ -1,113 +0,0 @@
pre, .plaincode{
background: none;
border: none;
border-radius: none;
font-size: 12px;
overflow: auto;
padding: 6px 6px;
margin: 0 0 10px 0;
word-break: normal;
word-wrap: normal;
white-space: pre;
display: block;
}
.plaincode {
background-color: #f9f9f9;
}
.code {
overflow: auto;
margin: 0 0 11px 0;
table {
width: 100%;
background: inherit;
td, th {
padding: 0;
}
.linenodiv {
background-color: #f4f4f4;
color: #AAA;
padding: 0 0.5em;
border-right: 1px solid #DDD;
text-align: right;
}
td.code {
width: 100%;
}
.highlight {
background-color: #f9f9f9;
}
}
}
.hll { background-color: #ffffcc }
.c { color: #999988; font-style: italic } /* Comment */
.err { color: #a61717; background-color: #e3d2d2 } /* Error */
.k { color: #000000; font-weight: bold } /* Keyword */
.o { color: #000000; font-weight: bold } /* Operator */
.cm { color: #999988; font-style: italic } /* Comment.Multiline */
.cp { color: #999999; font-weight: bold; font-style: italic } /* Comment.Preproc */
.c1 { color: #999988; font-style: italic } /* Comment.Single */
.cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
.gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.ge { color: #000000; font-style: italic } /* Generic.Emph */
.gr { color: #aa0000 } /* Generic.Error */
.gh { color: #999999 } /* Generic.Heading */
.gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #555555 } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #aaaaaa } /* Generic.Subheading */
.gt { color: #aa0000 } /* Generic.Traceback */
.kc { color: #000000; font-weight: bold } /* Keyword.Constant */
.kd { color: #000000; font-weight: bold } /* Keyword.Declaration */
.kn { color: #000000; font-weight: bold } /* Keyword.Namespace */
.kp { color: #000000; font-weight: bold } /* Keyword.Pseudo */
.kr { color: #000000; font-weight: bold } /* Keyword.Reserved */
.kt { color: #445588; font-weight: bold } /* Keyword.Type */
.m { color: #009999 } /* Literal.Number */
.s { color: #d01040 } /* Literal.String */
.na { color: #008080 } /* Name.Attribute */
.nb { color: #0086B3 } /* Name.Builtin */
.nc { color: #445588; font-weight: bold } /* Name.Class */
.no { color: #008080 } /* Name.Constant */
.nd { color: #3c5d5d; font-weight: bold } /* Name.Decorator */
.ni { color: #800080 } /* Name.Entity */
.ne { color: #990000; font-weight: bold } /* Name.Exception */
.nf { color: #990000; font-weight: bold } /* Name.Function */
.nl { color: #990000; font-weight: bold } /* Name.Label */
.nn { color: #555555 } /* Name.Namespace */
.nt { color: #000080 } /* Name.Tag */
.nv { color: #008080 } /* Name.Variable */
.ow { color: #000000; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mf { color: #009999 } /* Literal.Number.Float */
.mh { color: #009999 } /* Literal.Number.Hex */
.mi { color: #009999 } /* Literal.Number.Integer */
.mo { color: #009999 } /* Literal.Number.Oct */
.sb { color: #d01040 } /* Literal.String.Backtick */
.sc { color: #d01040 } /* Literal.String.Char */
.sd { color: #d01040 } /* Literal.String.Doc */
.s2 { color: #d01040 } /* Literal.String.Double */
.se { color: #d01040 } /* Literal.String.Escape */
.sh { color: #d01040 } /* Literal.String.Heredoc */
.si { color: #d01040 } /* Literal.String.Interpol */
.sx { color: #d01040 } /* Literal.String.Other */
.sr { color: #009926 } /* Literal.String.Regex */
.s1 { color: #d01040 } /* Literal.String.Single */
.ss { color: #990073 } /* Literal.String.Symbol */
.bp { color: #999999 } /* Name.Builtin.Pseudo */
.vc { color: #008080 } /* Name.Variable.Class */
.vg { color: #008080 } /* Name.Variable.Global */
.vi { color: #008080 } /* Name.Variable.Instance */
.il { color: #009999 } /* Literal.Number.Integer.Long */

View File

@ -1,244 +0,0 @@
@import "flat-ui-colors"
@import "bootstrap"
@import "pygments"
@font-face
font-family: 'Titillium'
src: url('/fonts/titillium-regular-eot.eot')
src: url('/fonts/titillium-regular-eot.eot?#iefix') format('embedded-opentype'), url('/fonts/titillium-regular-woff.woff') format('woff'), url('/fonts/titillium-regular-ttf.ttf') format('truetype'), url('/fonts/titillium-regular-svg.svg#webfont') format('svg')
font-weight: 400
font-style: normal
@font-face
font-family: 'Titillium'
src: url('/fonts/titillium-regularitalic-eot.eot')
src: url('/fonts/titillium-regularitalic-eot.eot?#iefix') format('embedded-opentype'), url('/fonts/titillium-regularitalic-woff.woff') format('woff'), url('/fonts/titillium-regularitalic-ttf.ttf') format('truetype'), url('/fonts/titillium-regularitalic-svg.svg#webfont') format('svg')
font-weight: 400
font-style: italic
@font-face
font-family: 'Titillium'
src: url('/fonts/titillium-bold-eot.eot')
src: url('/fonts/titillium-bold-eot.eot?#iefix') format('embedded-opentype'), url('/fonts/titillium-bold-woff.woff') format('woff'), url('/fonts/titillium-bold-ttf.ttf') format('truetype'), url('/fonts/titillium-bold-svg.svg#webfont') format('svg')
font-weight: 700
font-style: normal
@font-face
font-family: 'Titillium'
src: url('/fonts/titillium-bolditalic-eot.eot')
src: url('/fonts/titillium-bolditalic-eot.eot?#iefix') format('embedded-opentype'), url('/fonts/titillium-bolditalic-woff.woff') format('woff'), url('/fonts/titillium-bolditalic-ttf.ttf') format('truetype'), url('/fonts/titillium-bolditalic-svg.svg#webfont') format('svg')
font-weight: 700
font-style: italic
$text-color: #191919
$code-color: #690000
$footer-color: #999999
$focus-color: $peterriver
body
color: $text-color
font-family: "Titillium", "Helvetica Neue", Helvetica, Arial, sans-serif
font-weight: 400
font-size: 1.7em
line-height: 1.7em
-webkit-font-smoothing: antialiased
a, a:hover, a:active, a:visited
color: $focus-color
text-decoration: none
h1, h2, h3, h4, h5, h6
font-family: "Titillium", "Helvetica Neue", Helvetica, Arial, sans-serif
font-weight: 400
-webkit-font-smoothing: antialiased
code
font-size: 0.8em
color: $code-color
background: none
padding: 0
border-radius: 0
pre
font-size: 0.8em !important
color: $code-color
#header
border-top: 3px solid $focus-color
a, a:hover
color: $text-color
h1, ol
font-size: 1em
display: inline-block
h1
padding-right: 0.8em
a
color: darken($text-color, 15%)
span
color: darken($text-color, 30%)
font-weight: 700
ol
padding-left: 0
li
display: inline-block
padding-right: 0.8em
.align-right
text-align: right
ol.social
font-size: 1.2em
margin-top: 16px
li
padding-right: 0
padding-left: 0.4em
a
font-size: 1.2em
color: $focus-color
#main
#welcome,
#note
font-weight: normal
background-color: #F7F7F7
border-radius: 4px
border: 1px solid #d9d9d9
padding: 10px 20px
#posts
.post
margin-bottom: 20px
h2.title
margin-bottom: 0
p
text-align: justify
p.meta
font-style: italic
color: lighten($text-color, 10%)
margin-bottom: 0
#older-posts
h2.title
margin-top: 0
margin-bottom: 10px
margin-left: 122px
font-size: 1.2em
span.meta
color: lighten($text-color, 10%)
margin-left: -122px
color: $text-color
font-size: 0.82em
padding-top: 0.1em
display: inline-block
float: left
.post,
.page
#note
margin-bottom: 1.6em
h1.title
font-size: 3em
margin-bottom: 0
padding-bottom: 0
a
text-decoration: none
&:hover
text-decoration: none
p
text-align: justify
margin-bottom: 1.6em
p.meta
margin-top: 0
padding-top: 0
font-style: italic
color: lighten($text-color, 30%)
img
border: 0
margin: 8px
max-width: 80%
&.right
float: right
&.left
float: left
&.center
display: block
margin: 8px auto
&.round
border-radius: 50%
&.bordered
border: 1px solid #696969
padding: 2px
#recent-posts
h4.title
clear: left
margin-top: 0
margin-bottom: 10px
margin-left: 92px
font-size: 1em
span.meta
margin-left: -92px
color: $text-color
font-size: 0.8em
padding-top: 0.2em
display: inline-block
float: left
#comments
margin-top: 20px
.page
h1.title
margin-top: 20px
#about
img
width: 96px
border-radius: 12px
margin-left: 6px
margin-bottom: 6px
float: right
#footer
margin-top: 20px
margin-bottom: 60px
.copyright
font-size: 0.8em
line-height: 1.4em
color: $footer-color
text-align: center
.share-buttons
list-style: none
font-size: 130%
text-align: right
margin-top: -2px
.share-buttons li
display: inline

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 174 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 157 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 186 KiB

View File

@ -1,53 +0,0 @@
---
title: GPG Public Key
---
:markdown
Yes, I use GPG.
More info about my public key: <a href="http://keys.gnupg.net/pks/lookup?search=0xF713697B&op=vindex">0xF713697B</a>
## Want to know more about GPG?
Check out the slides of my talk [Gnu Privacy Guard and You](https://speakerdeck.com/ariejan/gnu-privacy-guard-and-you-math-version)
## Proof of identity
As far as you can trust this website, this is a proof of my identity.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
My name is Ariejan de Vroom and I use GPG.
My public key information is:
ID: 0xF713697B
Fingerprint: 8450 D928 4373 164E 25CC 7E0D AD73 9154 F713 697B
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org
iQQcBAEBCgAGBQJTTjpmAAoJEK1zkVT3E2l7Wg4f/AxfJhiEYE1ZrgSPWCdoruio
jpGBiBhFIZXt4IJySrSU/BzfeErrHsUrZMea502ifIz5cLQrCR9qPuAvC+MwDxDh
hagcGtp68JEo8vT4oeov4glVCifP2pQSddshFOtw8UMJwfyhpOqQvjIOQGPObDMD
G6Dnbba6TAHtBrzAtD+lA6IQ41H4uTugp5cmf6zxVoP/UhGls+Ci7k2YINo2lst7
hKei/Hc+L0/6oauKMQc+CT66YHu+WYtf0N6WU/r2OosTbdoS7dsPg8sR94zKGivQ
siMYMF5WEgjlCwPjqRbnig46upjhxBRsdT+A64FOhRyxIlZjjVcC+N2BQc8S28hZ
aqvX7sh6ls3GmnTeAlGuaxSbdm7hEKwy4U8PXKS6wuZMmQ2c0jOHBvj0zHuNwoi6
RryxA1yxJh0g1T6HqEokP9nRdDmelgUDPYciplmWYdhKyUwtDZAUVsSoXc1jDao+
ZQ/MPx3liBy93sIXg+ckqCsD1SrddAOyTShA06KtgiXn93rbnJOZ26qqFL07yclA
GSx8TDkNnPLWyxoPT5LK05P54SAm6PSYqV1a3zws0jqlgJbmrOkcMX5mAeceQDhw
eulgHpo0wobqFbd/hjbBB60xdX7NQqDwBfV6UgYKEqv+dq0P1L2XkwJCksAmxvEs
2Irg6+TI/GF8b5p2Z59L+MBnKVWTsiMwKFnyaPSGjm3YttUr+TrYdyMK5mkrnpR3
h6RX07YQqDADL8rKS/0O+uzuRkdkz+e4VEqH72bQwJu7DfCrJBlX3O4epGqCgOzK
5+Cg5I39OXYzOF08iJj6SqRqH9MsDAFRmDTSq+mQ6W+fGW+qKUvcoCFYsC3sZkYb
MO+AnjvlfZhh+KHjb30mlLDl1MCheEdT9GcfZJjZcMPjOL3yMWf+zUAi1mmdJM85
F/+RYEmQfsapTwbmnL7kUwStNXw2XLTVFK/jUJVOtdx1hcRpbBvSY1YX20FBLDDU
l6BkgKHrn/4rJ2drS6K8zQL+xq0qQUpPaK+6JQfTDXFzASSyUZz8zrs9PrUU+TT3
hvVsMJpc+0LbnftwmoMsTD2V83b4DCzIBlEqtNNoFLKyDEphxxTLUkvLU0Ptr7ti
maZLnZFUTtMTmW7BEECzOJcZodsbMJ4vU1Ys5tnPD2MIhuEIuPAxUP/SPMOtvkmZ
sgtqO2IdKEGUmg27WOqGJSftXqVTMN4MPOnE286G2gtsGJr/dQxoV24JH0F12sUc
gNErAbXeK4wTc7OhxtbN1fbRKUMcfjAqLq2MbuLE6y00fFXIJ/CQaOvDz36ub+V6
9R20HC4ZmlcA44jwX607jX65hHjBovlJHBPMsFTKrHigzkDfAxKbxcYO22Yku5c=
=Zlrk
-----END PGP SIGNATURE-----

62
content/gpg.md Normal file
View File

@ -0,0 +1,62 @@
+++
type = "page"
title = "GPG Public Key"
+++
**Please do not sign my public key unless you have validated my
key credentials with me in person.**
Get my public key:
* Fetch [`0xF713697B`][1] from a [GPG Key server][1]
* Check out [keybase.io/adevroom][2] for more details
## Want to know more about GPG?
Check out the slides of my talk [Gnu Privacy Guard and You](https://speakerdeck.com/ariejan/gnu-privacy-guard-and-you-math-version)
## Proof of identity
As far as you can trust this website, this is a proof of my identity.
Also make sure to check me on
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
My name is Ariejan de Vroom and I use GPG.
My public key information is:
ID: 0xF713697B
Fingerprint: 8450 D928 4373 164E 25CC 7E0D AD73 9154 F713 697B
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org
iQQcBAEBCgAGBQJTTjpmAAoJEK1zkVT3E2l7Wg4f/AxfJhiEYE1ZrgSPWCdoruio
jpGBiBhFIZXt4IJySrSU/BzfeErrHsUrZMea502ifIz5cLQrCR9qPuAvC+MwDxDh
hagcGtp68JEo8vT4oeov4glVCifP2pQSddshFOtw8UMJwfyhpOqQvjIOQGPObDMD
G6Dnbba6TAHtBrzAtD+lA6IQ41H4uTugp5cmf6zxVoP/UhGls+Ci7k2YINo2lst7
hKei/Hc+L0/6oauKMQc+CT66YHu+WYtf0N6WU/r2OosTbdoS7dsPg8sR94zKGivQ
siMYMF5WEgjlCwPjqRbnig46upjhxBRsdT+A64FOhRyxIlZjjVcC+N2BQc8S28hZ
aqvX7sh6ls3GmnTeAlGuaxSbdm7hEKwy4U8PXKS6wuZMmQ2c0jOHBvj0zHuNwoi6
RryxA1yxJh0g1T6HqEokP9nRdDmelgUDPYciplmWYdhKyUwtDZAUVsSoXc1jDao+
ZQ/MPx3liBy93sIXg+ckqCsD1SrddAOyTShA06KtgiXn93rbnJOZ26qqFL07yclA
GSx8TDkNnPLWyxoPT5LK05P54SAm6PSYqV1a3zws0jqlgJbmrOkcMX5mAeceQDhw
eulgHpo0wobqFbd/hjbBB60xdX7NQqDwBfV6UgYKEqv+dq0P1L2XkwJCksAmxvEs
2Irg6+TI/GF8b5p2Z59L+MBnKVWTsiMwKFnyaPSGjm3YttUr+TrYdyMK5mkrnpR3
h6RX07YQqDADL8rKS/0O+uzuRkdkz+e4VEqH72bQwJu7DfCrJBlX3O4epGqCgOzK
5+Cg5I39OXYzOF08iJj6SqRqH9MsDAFRmDTSq+mQ6W+fGW+qKUvcoCFYsC3sZkYb
MO+AnjvlfZhh+KHjb30mlLDl1MCheEdT9GcfZJjZcMPjOL3yMWf+zUAi1mmdJM85
F/+RYEmQfsapTwbmnL7kUwStNXw2XLTVFK/jUJVOtdx1hcRpbBvSY1YX20FBLDDU
l6BkgKHrn/4rJ2drS6K8zQL+xq0qQUpPaK+6JQfTDXFzASSyUZz8zrs9PrUU+TT3
hvVsMJpc+0LbnftwmoMsTD2V83b4DCzIBlEqtNNoFLKyDEphxxTLUkvLU0Ptr7ti
maZLnZFUTtMTmW7BEECzOJcZodsbMJ4vU1Ys5tnPD2MIhuEIuPAxUP/SPMOtvkmZ
sgtqO2IdKEGUmg27WOqGJSftXqVTMN4MPOnE286G2gtsGJr/dQxoV24JH0F12sUc
gNErAbXeK4wTc7OhxtbN1fbRKUMcfjAqLq2MbuLE6y00fFXIJ/CQaOvDz36ub+V6
9R20HC4ZmlcA44jwX607jX65hHjBovlJHBPMsFTKrHigzkDfAxKbxcYO22Yku5c=
=Zlrk
-----END PGP SIGNATURE-----
[1]: https://pgp.mit.edu/pks/lookup?search=0xF713697B&op=index
[2]: https://keybase.io/adevroom

View File

@ -1,126 +0,0 @@
# ----------------------------------------------------------------------
# Start rewrite engine
# ----------------------------------------------------------------------
# Turning on the rewrite engine is necessary for the following rules and features.
<IfModule mod_rewrite.c>
RewriteEngine On
</IfModule>
# ----------------------------------------------------------------------
# Suppress or force the "www." at the beginning of URLs
# ----------------------------------------------------------------------
# The same content should never be available under two different URLs - especially not with and
# without "www." at the beginning, since this can cause SEO problems (duplicate content).
# That's why you should choose one of the alternatives and redirect the other one.
# By default option 1 (no "www.") is activated. Remember: Shorter URLs are sexier.
# no-www.org/faq.php?q=class_b
# If you rather want to use option 2, just comment out all option 1 lines
# and uncomment option 2.
# IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME!
# ----------------------------------------------------------------------
# <IfModule mod_rewrite.c>
# RewriteCond %{HTTPS} !=on
# RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
# RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
# </IfModule>
# ----------------------------------------------------------------------
# Add/remove trailing slash to (non-file) URLs
# ----------------------------------------------------------------------
# Google treats URLs with and without trailing slashes separately.
# Forcing a trailing slash is usually preferred, but all that's really
# important is that one correctly redirects to the other.
# By default option 1 (force trailing slash) is activated.
# http://googlewebmastercentral.blogspot.com/2010/04/to-slash-or-not-to-slash.html
# http://www.alistapart.com/articles/slashforward/
# http://httpd.apache.org/docs/2.0/misc/rewriteguide.html#url Trailing Slash Problem
# ----------------------------------------------------------------------
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ /$1/ [R=301,L]
</IfModule>
# ----------------------------------------------------------------------
# Option 2:
# Rewrite "domain.com/foo/ -> domain.com/foo"
#<IfModule mod_rewrite.c>
# RewriteRule ^(.*)/$ /$1 [R=301,L]
#</IfModule>
# ----------------------------------------------------------------------
# Prevent 404 errors for non-existing redirected folders
# ----------------------------------------------------------------------
# without -MultiViews, Apache will give a 404 for a rewrite if a folder of the same name does not exist
# e.g. /blog/hello : webmasterworld.com/apache/3808792.htm
Options -MultiViews
# ----------------------------------------------------------------------
# custom 404 page
# ----------------------------------------------------------------------
# You can add custom pages to handle 500 or 403 pretty easily, if you like.
ErrorDocument 404 /404.html
# ----------------------------------------------------------------------
# UTF-8 encoding
# ----------------------------------------------------------------------
# use utf-8 encoding for anything served text/plain or text/html
AddDefaultCharset utf-8
# force utf-8 for a number of file formats
AddCharset utf-8 .html .css .js .xml .json .rss
# ----------------------------------------------------------------------
# A little more security
# ----------------------------------------------------------------------
# Do we want to advertise the exact version number of Apache we're running?
# Probably not.
## This can only be enabled if used in httpd.conf - It will not work in .htaccess
# ServerTokens Prod
# "-Indexes" will have Apache block users from browsing folders without a default document
# Usually you should leave this activated, because you shouldn't allow everybody to surf through
# every folder on your server (which includes rather private places like CMS system folders).
Options -Indexes
# Block access to "hidden" directories whose names begin with a period. This
# includes directories used by version control systems such as Subversion or Git.
<IfModule mod_rewrite.c>
RewriteRule "(^|/)\." - [F]
</IfModule>
<% if @site.config[:redirects] %>
# Set up URL redirects<% @site.config[:redirects].each do |h| %>
Redirect 301 <%= h[:from] %> <%= h[:to] %>
<% end %><% end %>

View File

@ -1,37 +0,0 @@
---
title: blog
---
.row
.col-sm-12
#welcome
:markdown
_Welcome to Ariejan.net and thanks for checking out the frontpage ;-)_
This is my personal tech blog (see below) where I record and share my
development and other activities. You can [read more about me][1],
checkout [my past talks][2] or [open source projects][3].
[1]: http://ariejan.net/about/
[2]: http://ariejan.net/talks/
[3]: http://ariejan.net/projects/
.row
.col-sm-12
#posts
- sorted_articles[0..4].each do |article|
.post
%h2.title= link_to article[:title], article.path, title: article[:title]
%p.meta= get_pretty_date(article)
%p.summary= article[:summary]
.row
.col-sm-12
#older-posts
- sorted_articles[5..-1].each do |article|
.post
%h2.title
%a{href: article.path, title: article[:title]}
%span.meta= get_short_date(article)
= article[:title]

View File

@ -1,2 +0,0 @@
$ ->

View File

@ -1,15 +1,9 @@
--- +++
title: "Welcome to Ariejan.net" date = "2006-10-09"
kind: article title = "Welcome to Ariejan.net"
slug: welcome-to-ariejannet tags = ["General", "Everything", "Wordpress", "Ariejan.net", "Blog"]
created_at: 2006-10-09 slug = "welcome-to-ariejannet"
tags: +++
- General
- Everything
- Wordpress
- Ariejan.net
- Blog
---
Well, it has happened to me. Although I make regular backups of my site, this time I was screwed! Well, it has happened to me. Although I make regular backups of my site, this time I was screwed!
@ -23,4 +17,5 @@ So, after some flirting with <a href="http://www.adobe.com/products/dreamweaver/
Since all my previous tutorials are gone, I'm going to start with a clean slate here. Please comment on my articles if you like and feel free to link anything you find here. Since all my previous tutorials are gone, I'm going to start with a clean slate here. Please comment on my articles if you like and feel free to link anything you find here.
For now, I'll have to re-customize my site and then I'm ready to start posting useful things here. For now, I'll have to re-customize my site and then I'm ready to start posting useful things here.

View File

@ -1,16 +1,9 @@
--- +++
title: "Easily create a FavIcon online!" date = "2006-10-10"
kind: article title = "Easily create a FavIcon online!"
slug: easily-create-a-favicon-online tags = ["General", "Everything", "Blog", "Web Development", "Links", "Personal"]
created_at: 2006-10-10 slug = "easily-create-a-favicon-online"
tags: +++
- General
- Everything
- Blog
- Web Development
- Links
- Personal
---
You know those little icons you see in your browsers address bar? Yes, the ones in you bookmarks! Well, you want such an icon for your site? You know those little icons you see in your browsers address bar? Yes, the ones in you bookmarks! Well, you want such an icon for your site?
@ -21,4 +14,5 @@ To create such an icon you'll need some image first. Normally the process would
Just upload a gif, jpeg or png image (with transparency if you like) and get a FavIcon for free! There are also some other goodies included! Just upload a gif, jpeg or png image (with transparency if you like) and get a FavIcon for free! There are also some other goodies included!
Of course, there's information available on how to upload your FavIcon and how to let your browser know about it. Of course, there's information available on how to upload your FavIcon and how to let your browser know about it.
<!--more--> <!--more-->

View File

@ -1,16 +1,9 @@
--- +++
title: "Generate a SQlite-based Rails app" date = "2006-10-10"
kind: article title = "Generate a SQlite-based Rails app"
slug: generate-a-sqlite-based-rails-app tags = ["General", "Everything", "RubyOnRails", "Databases", "SQlite", "Features"]
created_at: 2006-10-10 slug = "generate-a-sqlite-based-rails-app"
tags: +++
- General
- Everything
- RubyOnRails
- Databases
- SQlite
- Features
---
When you create a Rails application a database.yml files is included with some default configuration for your database. Unfortunately these are defaults for MySQL. If you want to use another database, like SQlite, you'd have to rewrite the entire configuration file. And that's not what you want! When you create a Rails application a database.yml files is included with some default configuration for your database. Unfortunately these are defaults for MySQL. If you want to use another database, like SQlite, you'd have to rewrite the entire configuration file. And that's not what you want!
@ -30,4 +23,5 @@ As you can see there are several databases supported, including SQLite. In order
<code>$ rails --database=sqlite3 myproject</code> <code>$ rails --database=sqlite3 myproject</code>
Check out config/database.yml and you'll see that there are sensible defaults for you there. Check out config/database.yml and you'll see that there are sensible defaults for you there.

View File

@ -1,21 +1,14 @@
--- +++
title: "Hi-Res Wallpapers for your MacBook!" date = "2006-10-10"
kind: article title = "Hi-Res Wallpapers for your MacBook!"
slug: hi-res-wallpapers-for-you-macbook tags = ["General", "Everything", "Blog", "Links", "Eye Candy", "MacBook", "Professional"]
created_at: 2006-10-10 slug = "hi-res-wallpapers-for-you-macbook"
tags: +++
- General
- Everything
- Blog
- Links
- Eye Candy
- MacBook
- Professional
---
For all of you who have a flashy Apple MacBook (or any other device with a 1280x800 resolution) here's a nice site with lot's of hi-res wallpapers. Of course, they're all for free! For all of you who have a flashy Apple MacBook (or any other device with a 1280x800 resolution) here's a nice site with lot's of hi-res wallpapers. Of course, they're all for free!
Oh, they have other sizes as well. Oh, they have other sizes as well.
Go check out <a href="http://interfacelift.com/wallpaper/index.php?sort=downloads&w=1280&h=800">InterfaceLIFT</a>. Go check out <a href="http://interfacelift.com/wallpaper/index.php?sort=downloads&w=1280&h=800">InterfaceLIFT</a>.
<!--more--> <!--more-->

View File

@ -1,17 +1,9 @@
--- +++
title: "Top 5 DVDs you must have" date = "2006-10-10"
kind: article title = "Top 5 DVDs you must have"
slug: top-5-dvds-you-must-have tags = ["General", "Everything", "Blog", "Lists", "Movies", "DVD", "Coding"]
created_at: 2006-10-10 slug = "top-5-dvds-you-must-have"
tags: +++
- General
- Everything
- Blog
- Lists
- Movies
- DVD
- Coding
---
Everybody at this point in time at least owns one or more DVD - Digital Versatile Disk - Videos. Some people try to collect as many DVD's as possible, others just buy the ones they like (or can afford). Everybody at this point in time at least owns one or more DVD - Digital Versatile Disk - Videos. Some people try to collect as many DVD's as possible, others just buy the ones they like (or can afford).
I'm not sure how many DVD's I have at this time, but there are quite a few DVD's that you just have to have in your collection. I'm not sure how many DVD's I have at this time, but there are quite a few DVD's that you just have to have in your collection.
@ -55,4 +47,5 @@ If I have to tell you what Star Wars is about, you should not be allowed to have
Part one is really the best movie of all three. It's based on the original novel by <a href="http://en.wikipedia.org/wiki/Mario_Puzo">Mario Puzo</a>. However, parts two and three really complement the whole story and that's what makes this such a great trilogy. Part one is really the best movie of all three. It's based on the original novel by <a href="http://en.wikipedia.org/wiki/Mario_Puzo">Mario Puzo</a>. However, parts two and three really complement the whole story and that's what makes this such a great trilogy.
There are some very nice Trilogy DVD Boxes available. If you say you like movies, you cannot be taken seriously unless you have this trilogy in your collection. There are some very nice Trilogy DVD Boxes available. If you say you like movies, you cannot be taken seriously unless you have this trilogy in your collection.

View File

@ -1,18 +1,12 @@
--- +++
title: "Google Ads: Can&#8217;t click &#8216;em, but you want to know more!" date = "2006-10-13"
kind: article title = "Google Ads: Cant click em, but you want to know more!"
slug: google-ads-cant-click-em-but-you-want-to-know-more tags = ["General", "Everything", "Blog", "Google", "AdSense", "Discussion"]
created_at: 2006-10-13 slug = "google-ads-cant-click-em-but-you-want-to-know-more"
tags: +++
- General
- Everything
- Blog
- Google
- AdSense
- Discussion
---
Do you have Google Ads on your site? You know you are not allowed to click 'em, because that's fraude. But what do you do when you see an ad on your site that really grabs your attention? Just google? Enter the URL manually? Or are you the kind of person that clicks that ad anyway. Do you have Google Ads on your site? You know you are not allowed to click 'em, because that's fraude. But what do you do when you see an ad on your site that really grabs your attention? Just google? Enter the URL manually? Or are you the kind of person that clicks that ad anyway.
What would you do? Please let me know. What would you do? Please let me know.
<!--more--> <!--more-->

View File

@ -1,14 +1,9 @@
--- +++
title: "Having fun with SPAM!" date = "2006-10-13"
kind: article title = "Having fun with SPAM!"
slug: having-fun-with-spam tags = ["General", "Everything", "Blog", "Fun"]
created_at: 2006-10-13 slug = "having-fun-with-spam"
tags: +++
- General
- Everything
- Blog
- Fun
---
I was just wading through my SPAM at Gmail to see if it flagged anything important. Then I came across this message: I was just wading through my SPAM at Gmail to see if it flagged anything important. Then I came across this message:
@ -21,4 +16,5 @@ Use our great value offer:
We will submit your website (www.gmail.com) to 890 Search Engines, including Google, Yahoo and MSN.</blockquote> We will submit your website (www.gmail.com) to 890 Search Engines, including Google, Yahoo and MSN.</blockquote>
Just keep an eye out for funny SPAM mails. Feel free to let me know if you ever read a funny or really stupid SPAM message. Just keep an eye out for funny SPAM mails. Feel free to let me know if you ever read a funny or really stupid SPAM message.
<!--more--> <!--more-->

View File

@ -1,15 +1,9 @@
--- +++
title: "Migrate SQLite3 to MySQL easily" date = "2006-10-13"
kind: article title = "Migrate SQLite3 to MySQL easily"
slug: migrate-sqlite3-to-mysql-easily tags = ["General", "Everything", "RubyOnRails", "Databases", "Features"]
created_at: 2006-10-13 slug = "migrate-sqlite3-to-mysql-easily"
tags: +++
- General
- Everything
- RubyOnRails
- Databases
- Features
---
I've been using a simple Rails application locally with a SQlite 3 database for some time. Now I want to move to another host and use MySQL instead. But guess what? You can't just migrate your data! I've been using a simple Rails application locally with a SQlite 3 database for some time. Now I want to move to another host and use MySQL instead. But guess what? You can't just migrate your data!
Here are some easy steps on how to migrate your data to MySQL. First of all you need to dump your SQLite3 database. This includes transaction statements and create commands. That's fine. Since we also migrate the schema information, our RoR app will not know any difference after we change config/database.yml. Here are some easy steps on how to migrate your data to MySQL. First of all you need to dump your SQLite3 database. This includes transaction statements and create commands. That's fine. Since we also migrate the schema information, our RoR app will not know any difference after we change config/database.yml.
@ -32,3 +26,5 @@ That's it. You MySQL database will be populated with your data.
<em>Don't forget to change your config/database.yml file after this!</em> <em>Don't forget to change your config/database.yml file after this!</em>
Note. You may also migrate your MySQL database using Rails. If you do this I recommend that you dump the SQLite3 database to a file first before you commit it directly to MySQL. You'll have to remove the CREATE TABLE statements as well as any reference to the schema_info table. Note. You may also migrate your MySQL database using Rails. If you do this I recommend that you dump the SQLite3 database to a file first before you commit it directly to MySQL. You'll have to remove the CREATE TABLE statements as well as any reference to the schema_info table.

View File

@ -1,22 +1,15 @@
--- +++
title: "Tagging in ajax_scaffold" date = "2006-10-13"
kind: article title = "Tagging in ajax_scaffold"
slug: tagging-in-ajax_scaffold tags = ["General", "Everything", "Web Development", "RubyOnRails", "Features"]
created_at: 2006-10-13 slug = "tagging-in-ajax_scaffold"
tags: +++
- General
- Everything
- Web Development
- RubyOnRails
- Features
---
I've been using the <a href="http://www.ajaxscaffold.com/">Ajax Scaffold</a> for quite some time now. It's a great piece of software by <a href="http://www.height1percent.com/">Mr. Richard White</a> for <a href="http://www.rubyonrails.com">Ruby on Rails</a>. It seems that the plugin version of AS is getting quite a bit more attention than the generator. I started out with the generator but quickly reverted to the plugin since it's way more flexible and easier to use. I've been using the <a href="http://www.ajaxscaffold.com/">Ajax Scaffold</a> for quite some time now. It's a great piece of software by <a href="http://www.height1percent.com/">Mr. Richard White</a> for <a href="http://www.rubyonrails.com">Ruby on Rails</a>. It seems that the plugin version of AS is getting quite a bit more attention than the generator. I started out with the generator but quickly reverted to the plugin since it's way more flexible and easier to use.
Since I wanted to create a quick app to inventory my CD/DVD collection (which is now in a very sexy alu DJ case) I used Ajax Scaffold to get me started. In the spirit of Web 2.0 I wanted to add tags to every CD so it would be easier to find certain kinds of disks later on. So, I added <a href="http://wiki.rubyonrails.org/rails/pages/Acts+As+Taggable+Plugin">acts_as_taggable</a>. Since I wanted to create a quick app to inventory my CD/DVD collection (which is now in a very sexy alu DJ case) I used Ajax Scaffold to get me started. In the spirit of Web 2.0 I wanted to add tags to every CD so it would be easier to find certain kinds of disks later on. So, I added <a href="http://wiki.rubyonrails.org/rails/pages/Acts+As+Taggable+Plugin">acts_as_taggable</a>.
Acts_as_taggable basically allows you to tag any model in your app. So, I made my Disk model taggable. Great. Now I could do this: Acts_as_taggable basically allows you to tag any model in your app. So, I made my Disk model taggable. Great. Now I could do this:
:::ruby
d = Disk.new(:number => 1, :name => "Mac OS X 10.4.6 Install DVD 1") d = Disk.new(:number => 1, :name => "Mac OS X 10.4.6 Install DVD 1")
d.tag_with("macoxs apple macbook install") d.tag_with("macoxs apple macbook install")
d.save d.save
@ -26,7 +19,6 @@ The real problem was, how to get this functionality easily integerated in Ajax S
First of all I had to show a column in AS that included the tags attached to a given disk. I specify all rows manually in the Manager controller. Manager is scaffolded using AS. Here's what my Manager controller looks like: First of all I had to show a column in AS that included the tags attached to a given disk. I specify all rows manually in the Manager controller. Manager is scaffolded using AS. Here's what my Manager controller looks like:
:::ruby
class ManagerController < ApplicationController class ManagerController < ApplicationController
ajax_scaffold :disk ajax_scaffold :disk
@ -48,7 +40,6 @@ Adding tags is not done by assignment but by calling a method with your tags, as
tag_list returns a string with the current tags. How about using that same name to assign tags? It's rather easy. Here's my Disk model: tag_list returns a string with the current tags. How about using that same name to assign tags? It's rather easy. Here's my Disk model:
:::ruby
class Disk < ActiveRecord::Base class Disk < ActiveRecord::Base
acts_as_taggable acts_as_taggable
@ -61,10 +52,11 @@ tag_list returns a string with the current tags. How about using that same name
Now we can assign tags to tag_list as well as read the tags out. Now the only step is to add a special textfield to the form partial for AS. Now we can assign tags to tag_list as well as read the tags out. Now the only step is to add a special textfield to the form partial for AS.
:::rhtml
<label class="required">Tags</label> <label class="required">Tags</label>
<%= text_field 'disk', 'tag_list' %> <%= text_field 'disk', 'tag_list' %>
Now when a new disk is created or when one is updated, the tag_list will automagically be updated in a correct fashion. Now when a new disk is created or when one is updated, the tag_list will automagically be updated in a correct fashion.
Enjoy! Enjoy!

View File

@ -1,20 +1,14 @@
--- +++
title: "Torrents for your iPod!" date = "2006-10-13"
kind: article title = "Torrents for your iPod!"
slug: torrents-for-your-ipod tags = ["General", "Everything", "Blog", "Links", "Apple", "iPod"]
created_at: 2006-10-13 slug = "torrents-for-your-ipod"
tags: +++
- General
- Everything
- Blog
- Links
- Apple
- iPod
---
I normally wouldn't promote torrent sites here, but when I came across <a href="http://www.podtropolis.com">Podtropolis</a> I was amazed! I normally wouldn't promote torrent sites here, but when I came across <a href="http://www.podtropolis.com">Podtropolis</a> I was amazed!
This site features a lot of (video) iPod specific stuff like music videos, TV Shows and even full length movies. This site features a lot of (video) iPod specific stuff like music videos, TV Shows and even full length movies.
Of course, don't download any of the stuff! Buy it if you want it. Of course, don't download any of the stuff! Buy it if you want it.
<!--more--> <!--more-->

View File

@ -1,15 +1,11 @@
--- +++
title: "Happy birthday to me!" date = "2006-10-17"
kind: article title = "Happy birthday to me!"
slug: happy-birthday-to-me tags = ["General", "Everything", "Ariejan.net", "Blog"]
created_at: 2006-10-17 slug = "happy-birthday-to-me"
tags: +++
- General
- Everything
- Ariejan.net
- Blog
---
Today I'm turning 26. Yes, call me an old fart, but I still feel like 25! Today I'm turning 26. Yes, call me an old fart, but I still feel like 25!
Anyway, I'm off celebrating with my friends. Anyway, I'm off celebrating with my friends.

View File

@ -1,16 +1,9 @@
--- +++
title: "Ruby On Rails for PHP: CakePHP" date = "2006-10-23"
kind: article title = "Ruby On Rails for PHP: CakePHP"
slug: ruby-on-rails-for-php-cakephp tags = ["General", "Everything", "Blog", "Web Development", "RubyOnRails", "CakePHP"]
created_at: 2006-10-23 slug = "ruby-on-rails-for-php-cakephp"
tags: +++
- General
- Everything
- Blog
- Web Development
- RubyOnRails
- CakePHP
---
The framework has been around for some time, but I found out about it a few days ago: <a href="http://www.cakephp.org">CakePHP</a>. The framework has been around for some time, but I found out about it a few days ago: <a href="http://www.cakephp.org">CakePHP</a>.
@ -27,3 +20,5 @@ After giving it a try I found that CakePHP is a pretty good alternative to Rails
If you're an agile developer but you don't want to nail yourself down on hosting with Ruby or if you really want to use PHP, CakePHP is a great framework to use! If you're an agile developer but you don't want to nail yourself down on hosting with Ruby or if you really want to use PHP, CakePHP is a great framework to use!
<a href="http://www.cakephp.org">http://www.cakephp.org</a> <a href="http://www.cakephp.org">http://www.cakephp.org</a>

View File

@ -1,14 +1,9 @@
--- +++
title: "Do your ads pay your (blogging) bills?" date = "2006-10-29"
kind: article title = "Do your ads pay your (blogging) bills?"
slug: do-your-ads-pay-your-blogging-bills tags = ["General", "Everything", "Blog", "AdSense"]
created_at: 2006-10-29 slug = "do-your-ads-pay-your-blogging-bills"
tags: +++
- General
- Everything
- Blog
- AdSense
---
I've read many articles on earning money with <a href="http://www.google.com/adsense">Google's AdSense</a>. Some guru's claim to recieve five figure checks from Google every month. I've read many articles on earning money with <a href="http://www.google.com/adsense">Google's AdSense</a>. Some guru's claim to recieve five figure checks from Google every month.
The trick with these people is that they have a lot of content. More content, means more visitors, which means more clicks and thus more money. The content is written to attract certain keywords which are known earn a lot of money. Of course, professionals don't just have one site, they have several. In order to cope with all this content they have an almost full-time job. That's not bad if you earn a five figure amount every month. The trick with these people is that they have a lot of content. More content, means more visitors, which means more clicks and thus more money. The content is written to attract certain keywords which are known earn a lot of money. Of course, professionals don't just have one site, they have several. In order to cope with all this content they have an almost full-time job. That's not bad if you earn a five figure amount every month.
@ -21,3 +16,5 @@ I mean, is there really anyone, except the kick-ass professional bloggers, who c
Please let me know or post any relevant articles here. I'm looking forward to your reponse! Please let me know or post any relevant articles here. I'm looking forward to your reponse!

View File

@ -1,15 +1,9 @@
--- +++
title: "Adsense Resource Inventory" date = "2006-10-30"
kind: article title = "Adsense Resource Inventory"
slug: adsense-resource-inventory tags = ["General", "Everything", "Blog", "Links", "AdSense"]
created_at: 2006-10-30 slug = "adsense-resource-inventory"
tags: +++
- General
- Everything
- Blog
- Links
- AdSense
---
In addition to my <a href="http://ariejan.net/2006/10/29/do-your-ads-pay-your-blogging-bills/">previous post</a> I have gathered some popular resources from around the web that talk about making money off <a href="http://www.google.com/adsense">Google Adsense</a>. I hope this sums up all you need to start making money yourself. In addition to my <a href="http://ariejan.net/2006/10/29/do-your-ads-pay-your-blogging-bills/">previous post</a> I have gathered some popular resources from around the web that talk about making money off <a href="http://www.google.com/adsense">Google Adsense</a>. I hope this sums up all you need to start making money yourself.
@ -44,3 +38,5 @@ So, how to get those ads setup right so you generate the most revenue possible.
</ol> </ol>
Please post a comment if I have missed anything important. Please post a comment if I have missed anything important.

View File

@ -1,18 +1,14 @@
--- +++
title: "Cheat sheets? Look here!" date = "2006-10-30"
kind: article title = "Cheat sheets? Look here!"
slug: cheat-sheets-look-here tags = ["General", "Everything", "Blog", "Links"]
created_at: 2006-10-30 slug = "cheat-sheets-look-here"
tags: +++
- General
- Everything
- Blog
- Links
---
Getting confused of all the tools you use on a daily basis? Don't remember all the exact method names and possibilities of SubVersion, Apache, HTML, CSS, MySQL, Ruby on Rails, CVS, AJAX, JavaScript, FireFox, Google, etc. etc.? There is a solution! Cheat sheets make your daily work easier by providing you all you need to know on a single paper! Getting confused of all the tools you use on a daily basis? Don't remember all the exact method names and possibilities of SubVersion, Apache, HTML, CSS, MySQL, Ruby on Rails, CVS, AJAX, JavaScript, FireFox, Google, etc. etc.? There is a solution! Cheat sheets make your daily work easier by providing you all you need to know on a single paper!
Here's a <a href="http://www.smashingmagazine.com/2006/10/30/cheat-sheet-round-up-ajax-css-latex-ruby/">very comprehensive list</a> of cheat sheets. Here's a <a href="http://www.smashingmagazine.com/2006/10/30/cheat-sheet-round-up-ajax-css-latex-ruby/">very comprehensive list</a> of cheat sheets.
Cheat sheets are simple put a collection of all important (if not just all) functions and methods you can use for a given product, framework or language. They're great to have on your desk if you just can't quite remember what function to use. Check 'em out, print 'em out and start loving 'em! Cheat sheets are simple put a collection of all important (if not just all) functions and methods you can use for a given product, framework or language. They're great to have on your desk if you just can't quite remember what function to use. Check 'em out, print 'em out and start loving 'em!
<!--more--> <!--more-->

View File

@ -1,16 +1,12 @@
--- +++
title: "Confused about CSS Columns?" date = "2006-10-30"
kind: article title = "Confused about CSS Columns?"
slug: confused-about-css-columns tags = ["General", "Everything", "Blog", "Web Development"]
created_at: 2006-10-30 slug = "confused-about-css-columns"
tags: +++
- General
- Everything
- Blog
- Web Development
---
I'm mainly confused on how to make different layouts with pure CSS. Back in the time when tables were okay, it was rather easy. But with CSS it's gotten rather tricky. I'm mainly confused on how to make different layouts with pure CSS. Back in the time when tables were okay, it was rather easy. But with CSS it's gotten rather tricky.
<a href="http://www.dynamicdrive.com/style/layouts/">Dynamic Drive</a> has some great examples (with CSS code!) of different kinds of layouts. It's great to use as a starting point for your design! <a href="http://www.dynamicdrive.com/style/layouts/">Dynamic Drive</a> has some great examples (with CSS code!) of different kinds of layouts. It's great to use as a starting point for your design!
<!--more--> <!--more-->

View File

@ -1,15 +1,9 @@
--- +++
title: "How does your site look on &#8230;?" date = "2006-10-30"
kind: article title = "How does your site look on …?"
slug: how-does-your-site-look-on tags = ["General", "Everything", "Blog", "Web Development", "Links"]
created_at: 2006-10-30 slug = "how-does-your-site-look-on"
tags: +++
- General
- Everything
- Blog
- Web Development
- Links
---
When designing a web site you always check how the site looks in different browsers, even maybe at different resolutions. But how many browsers do you really use? Firefox, Safari when on Mac, Internet Explorer when on Windows and that's mostly it. When designing a web site you always check how the site looks in different browsers, even maybe at different resolutions. But how many browsers do you really use? Firefox, Safari when on Mac, Internet Explorer when on Windows and that's mostly it.
@ -17,4 +11,5 @@ When designing a web site you always check how the site looks in different brows
I don't need to tell you this is a great resource. It's great to check if your design works and it's even better to get a screenshot generated from your new designs. Only problem is that you'll have to put them online first. I don't need to tell you this is a great resource. It's great to check if your design works and it's even better to get a screenshot generated from your new designs. Only problem is that you'll have to put them online first.
Check out some screenshots <a href="http://browsershots.org/screenshots/">here</a>. Check out some screenshots <a href="http://browsershots.org/screenshots/">here</a>.

View File

@ -1,14 +1,9 @@
--- +++
title: "WordpressMu: Don&#8217;t allow new blogs" date = "2006-10-31"
kind: article title = "WordpressMu: Dont allow new blogs"
slug: wordpressmu-dont-allow-new-blogs tags = ["General", "Everything", "Features", "WordPressMu"]
created_at: 2006-10-31 slug = "wordpressmu-dont-allow-new-blogs"
tags: +++
- General
- Everything
- Features
- WordPressMu
---
If you're using <a href="http://mu.wordpress.org">WordpressMu</a>, the blog hosting tool used on <a href="http://www.wordpress.com">Wordpress.com</a>, you may want to disable the creation of blogs by your visitors. If you're using <a href="http://mu.wordpress.org">WordpressMu</a>, the blog hosting tool used on <a href="http://www.wordpress.com">Wordpress.com</a>, you may want to disable the creation of blogs by your visitors.
Whatever your reasons for this are, I wanted to prevent this, because I (and my team of editors) want to maintain several blogs on different topics. Users are free to register and post comments, but creating new blogs is reserved for the administrator. Whatever your reasons for this are, I wanted to prevent this, because I (and my team of editors) want to maintain several blogs on different topics. Users are free to register and post comments, but creating new blogs is reserved for the administrator.
@ -19,10 +14,11 @@ First, open up wp-signup.php. If you access a blog that does not exist, you'll b
Open up wp-singup.php en just above the get_header(); call, place the following code: Open up wp-singup.php en just above the get_header(); call, place the following code:
:::php
if (!is_user_logged_in() || $user_identity != 'admin') { if (!is_user_logged_in() || $user_identity != 'admin') {
header("Location: http://example.com/gofishatthispage/"); header("Location: http://example.com/gofishatthispage/");
exit(); exit();
} }
What this does is make sure that only a logged in user named 'admin' is allowed to proceed to the blog creation form. Others will be redirected to a location of your choice. A good idea is to send people to a page that explains why they can't' create a blog or what they have to do to get an administrator to create one for them. What this does is make sure that only a logged in user named 'admin' is allowed to proceed to the blog creation form. Others will be redirected to a location of your choice. A good idea is to send people to a page that explains why they can't' create a blog or what they have to do to get an administrator to create one for them.

View File

@ -1,15 +1,9 @@
--- +++
title: "CUPS: 426 - Upgrade Required" date = "2006-11-13"
kind: article title = "CUPS: 426 - Upgrade Required"
slug: cups-426-upgrade-required tags = ["General", "Everything", "Features", "Linux", "Ubuntu"]
created_at: 2006-11-13 slug = "cups-426-upgrade-required"
tags: +++
- General
- Everything
- Features
- Linux
- Ubuntu
---
As I was installing my printer on my Ubuntu 6.06 Dapper LTS server with CUPS I noticed the following error: As I was installing my printer on my Ubuntu 6.06 Dapper LTS server with CUPS I noticed the following error:
@ -27,3 +21,5 @@ There are several options, Never, IfRequired and Required. By setting this to Ne
and you're good to go. and you're good to go.

View File

@ -1,15 +1,9 @@
--- +++
title: "Ubuntu 6.10 Live DVD on the Apple MacBook" date = "2006-11-15"
kind: article title = "Ubuntu 6.10 Live DVD on the Apple MacBook"
slug: ubuntu-610-live-dvd-on-the-apple-macbook tags = ["General", "Everything", "Blog", "Linux", "Ubuntu"]
created_at: 2006-11-15 slug = "ubuntu-610-live-dvd-on-the-apple-macbook"
tags: +++
- General
- Everything
- Blog
- Linux
- Ubuntu
---
Since I teach various Linux courses at Fontys Centrum IT, I want to run a live CD or DVD on my MacBook. First off, here are my specs: Since I teach various Linux courses at Fontys Centrum IT, I want to run a live CD or DVD on my MacBook. First off, here are my specs:
@ -76,3 +70,5 @@ I also turned on sub-pixel smoothing in System -> Preferences -> Fonts to get so
That's all. I can now boot-up the Ubuntu Live DVD and get the native resolution for my MacBook. That's all. I can now boot-up the Ubuntu Live DVD and get the native resolution for my MacBook.
For those who want to keep the native resolution on their installed Ubuntu, just install the 915resolution package mentioned above and you're set. Easy as that. For those who want to keep the native resolution on their installed Ubuntu, just install the 915resolution package mentioned above and you're set. Easy as that.

View File

@ -1,17 +1,13 @@
--- +++
title: "Announcing CSE-Tool: Deploy you Google CSE with ease" date = "2006-11-17"
kind: article title = "Announcing CSE-Tool: Deploy you Google CSE with ease"
slug: announcing-cse-tool-deploy-you-google-cse-with-ease tags = ["General", "Everything", "Blog", "CSE-Tool"]
created_at: 2006-11-17 slug = "announcing-cse-tool-deploy-you-google-cse-with-ease"
tags: +++
- General
- Everything
- Blog
- CSE-Tool
---
This is just a short note to let you know that <a href="http://www.sourceforge.net/projects/cse-tool/">CSE-Tool 1.0</a> has been released. This is just a short note to let you know that <a href="http://www.sourceforge.net/projects/cse-tool/">CSE-Tool 1.0</a> has been released.
The CSE-Tool allows you to easily (just copy-paste a few items presented to you by Google) deploy your Custom Search Engine. All you need is a CSE (of course) and optionally a Google Analytics account to track who's coming by. The CSE-Tool allows you to easily (just copy-paste a few items presented to you by Google) deploy your Custom Search Engine. All you need is a CSE (of course) and optionally a Google Analytics account to track who's coming by.
System requirements are pretty low. You'll only need PHP 4.3.x or better. Check out the <a href="http://www.sourceforge.netl/projects/cse-tool/">SourceForge Project Page</a> or jump directly to the <a href="http://sourceforge.net/project/showfiles.php?group_id=182622&package_id=211849&release_id=464420">downloads section</a>. System requirements are pretty low. You'll only need PHP 4.3.x or better. Check out the <a href="http://www.sourceforge.netl/projects/cse-tool/">SourceForge Project Page</a> or jump directly to the <a href="http://sourceforge.net/project/showfiles.php?group_id=182622&package_id=211849&release_id=464420">downloads section</a>.

View File

@ -1,14 +1,9 @@
--- +++
title: "CSE-Tool 1.1.0 Released" date = "2006-11-21"
kind: article title = "CSE-Tool 1.1.0 Released"
slug: cse-tool-110-released tags = ["General", "Everything", "Blog", "CSE-Tool"]
created_at: 2006-11-21 slug = "cse-tool-110-released"
tags: +++
- General
- Everything
- Blog
- CSE-Tool
---
Hot of the press! CSE-Tool 1.1.0 has been released just a few minutes ago! <a href="http://sourceforge.net/project/showfiles.php?group_id=182622&package_id=211849&release_id=465386">Grab the code now</a> or check a <a href="http://www.search-london.net/">live demonstration</a>! Hot of the press! CSE-Tool 1.1.0 has been released just a few minutes ago! <a href="http://sourceforge.net/project/showfiles.php?group_id=182622&package_id=211849&release_id=465386">Grab the code now</a> or check a <a href="http://www.search-london.net/">live demonstration</a>!
@ -20,4 +15,5 @@ Donations are handled by <a href="http://www.sourceforge.net">SourceForge</a>.
<a href="http://sourceforge.net/project/project_donations.php?group_id=182622"><strong>Please consider making a donation to the project. Thank you!</strong></a> <a href="http://sourceforge.net/project/project_donations.php?group_id=182622"><strong>Please consider making a donation to the project. Thank you!</strong></a>
To see how I manage a the creation of a release through SubVersion, check <a href="http://ariejan.net/2006/11/21/svn-how-to-release-software-properly/">this post over here</a>. To see how I manage a the creation of a release through SubVersion, check <a href="http://ariejan.net/2006/11/21/svn-how-to-release-software-properly/">this post over here</a>.

View File

@ -1,15 +1,9 @@
--- +++
title: "SVN: How to release software properly" date = "2006-11-21"
kind: article title = "SVN: How to release software properly"
slug: svn-how-to-release-software-properly tags = ["General", "Everything", "Web Development", "Features", "Subversion"]
created_at: 2006-11-21 slug = "svn-how-to-release-software-properly"
tags: +++
- General
- Everything
- Web Development
- Features
- Subversion
---
Many projects use SubVersion nowadays to store their project code. I do this also at work, and for my personal projects like <a href="http://ariejan.net/tags/cse-tool/">CSE-Tool</a>. Many projects use SubVersion nowadays to store their project code. I do this also at work, and for my personal projects like <a href="http://ariejan.net/tags/cse-tool/">CSE-Tool</a>.
The question, however, is how to release your current code properly to the public. You probably don't want your users to check out your current development code. Either you want them to check out a certain version (release) or you want to present them with a download archive containing the code. The question, however, is how to release your current code properly to the public. You probably don't want your users to check out your current development code. Either you want them to check out a certain version (release) or you want to present them with a download archive containing the code.
@ -64,3 +58,5 @@ With the REL-1.1.0 tag we can create an archive that we can distribute to our us
$ svn export https://svn.sourceforge.net/svnroot/cse-tool/tags/REL-1.1.0 cse-tool-1.1.0 $ svn export https://svn.sourceforge.net/svnroot/cse-tool/tags/REL-1.1.0 cse-tool-1.1.0
Next I can tar up the cse-tool-1.1.0 directory and put the files on SourceForge. (<a href="http://sourceforge.net/project/showfiles.php?group_id=182622&package_id=211849">Download them here :)</a>) Next I can tar up the cse-tool-1.1.0 directory and put the files on SourceForge. (<a href="http://sourceforge.net/project/showfiles.php?group_id=182622&package_id=211849">Download them here :)</a>)

View File

@ -1,16 +1,9 @@
--- +++
title: "Google Project Hosting: SourceForge Competitor" date = "2006-11-22"
kind: article title = "Google Project Hosting: SourceForge Competitor"
slug: google-project-hosting-sourceforge-competitor tags = ["General", "Everything", "Blog", "Web Development", "Links", "Google"]
created_at: 2006-11-22 slug = "google-project-hosting-sourceforge-competitor"
tags: +++
- General
- Everything
- Blog
- Web Development
- Links
- Google
---
I just found out that <a href="http://code.google.com/">Google Code</a> is now offering <a href="http://code.google.com/hosting/">Project Hosting</a>! It's in the same style as <a href="http://www.sourceforge.net">SourceForge</a>, but the Google way! I just found out that <a href="http://code.google.com/">Google Code</a> is now offering <a href="http://code.google.com/hosting/">Project Hosting</a>! It's in the same style as <a href="http://www.sourceforge.net">SourceForge</a>, but the Google way!
@ -18,4 +11,5 @@ As a Google user you can create a project with a built-in issue tracker and Subv
This is really a nice package Google is offering and it looks like a serious competitor for SourceForge. This is really a nice package Google is offering and it looks like a serious competitor for SourceForge.
It's just that I didn't find any possibility to release files yet, but other than that, I'd like to move there! It's just that I didn't find any possibility to release files yet, but other than that, I'd like to move there!

View File

@ -1,15 +1,9 @@
--- +++
title: "Plugins used on Ariejan.net" date = "2006-11-22"
kind: article title = "Plugins used on Ariejan.net"
slug: plugins-used-on-ariejannet tags = ["General", "Everything", "Wordpress", "Ariejan.net", "Blog"]
created_at: 2006-11-22 slug = "plugins-used-on-ariejannet"
tags: +++
- General
- Everything
- Wordpress
- Ariejan.net
- Blog
---
After I released <a href="http://ariejan.net/2006/11/21/iariejan-wordpress-theme-10/">iAriejan</a> I got some questions about what plugins I run on Ariejan.net. So, upon your request, here is the full listing. After I released <a href="http://ariejan.net/2006/11/21/iariejan-wordpress-theme-10/">iAriejan</a> I got some questions about what plugins I run on Ariejan.net. So, upon your request, here is the full listing.
@ -50,3 +44,5 @@ This is a brilliant plugin. It uses Javascript to create reflections of images.
Well that's all there is. If you can think of any plugin that I should use (but am currently not using), feel free to drop a comment. Well that's all there is. If you can think of any plugin that I should use (but am currently not using), feel free to drop a comment.
Edit: I completely forgot to mention <a href="http://www.mikesmullin.com/2006/06/05/ajax-comments-20/">AJAX Comments</a>. It has been added to the list. Edit: I completely forgot to mention <a href="http://www.mikesmullin.com/2006/06/05/ajax-comments-20/">AJAX Comments</a>. It has been added to the list.

View File

@ -1,15 +1,9 @@
--- +++
title: "SVN: How to fix bugs properly" date = "2006-11-22"
kind: article title = "SVN: How to fix bugs properly"
slug: svn-how-to-fix-bugs-properly tags = ["General", "Everything", "Web Development", "Features", "Subversion"]
created_at: 2006-11-22 slug = "svn-how-to-fix-bugs-properly"
tags: +++
- General
- Everything
- Web Development
- Features
- Subversion
---
I've already told you about <a href="http://ariejan.net/2006/11/21/svn-how-to-release-software-properly/">releasing your project with help from Subversion</a>. Now I want to talk to you about using Subversion to fix bugs in your application. I've already told you about <a href="http://ariejan.net/2006/11/21/svn-how-to-release-software-properly/">releasing your project with help from Subversion</a>. Now I want to talk to you about using Subversion to fix bugs in your application.
Fixing bugs can be as easy as fixing a few lines of code or as hard as rewriting a significant portion of your application. Both situations need a different approach from us. Let's talk about the easy stuff first. Fixing bugs can be as easy as fixing a few lines of code or as hard as rewriting a significant portion of your application. Both situations need a different approach from us. Let's talk about the easy stuff first.
@ -82,3 +76,5 @@ It's clear that fixing bugs the easy way is the preferred method. Try to use thi
Putting the bug report number into Subversion comments is a good way to keep track of what code changes have been made based on what bug report. Most bug tracking tools can make use of this and link bug reports to the appropriate revisitons and visa-versa. If your bug tracking tool doesn't have this ability, it's a good idea to comment the appropriate revision number or tags on the bug so that others know where to look for the fix. Putting the bug report number into Subversion comments is a good way to keep track of what code changes have been made based on what bug report. Most bug tracking tools can make use of this and link bug reports to the appropriate revisitons and visa-versa. If your bug tracking tool doesn't have this ability, it's a good idea to comment the appropriate revision number or tags on the bug so that others know where to look for the fix.
Happy bug fixing! Happy bug fixing!

View File

@ -1,15 +1,9 @@
--- +++
title: "WordPress: Author comment highlighting" date = "2006-11-22"
kind: article title = "WordPress: Author comment highlighting"
slug: wordpress-author-comment-highlighting tags = ["General", "Everything", "Wordpress", "Web Development", "Features"]
created_at: 2006-11-22 slug = "wordpress-author-comment-highlighting"
tags: +++
- General
- Everything
- Wordpress
- Web Development
- Features
---
I've seen it lots of times before, but I just added it to Ariejan.net (and the next release of the iAriejan theme). Sometimes there are lots of comments and it's nice for visitors to see what the official reaction of the blog author is. I've seen it lots of times before, but I just added it to Ariejan.net (and the next release of the iAriejan theme). Sometimes there are lots of comments and it's nice for visitors to see what the official reaction of the blog author is.
Since I haven't really looked into a plugin or anything, this is just a very simple theme hack. Since I haven't really looked into a plugin or anything, this is just a very simple theme hack.
@ -18,19 +12,16 @@ You can apply it to your current theme with almost no effort at all.
~ ~
Open up your comments.php file in your themes directory. And look for the following code: Open up your comments.php file in your themes directory. And look for the following code:
:::php
<li class="<?php echo $oddcomment; ?>" id="comment-< ?php comment_ID() ?>" id="comment-< ?php comment_ID() ?>"> <li class="<?php echo $oddcomment; ?>" id="comment-< ?php comment_ID() ?>" id="comment-< ?php comment_ID() ?>">
and replace it with and replace it with
:::php
<li class="<?php if ( $comment->comment_author_email == get_the_author_email() ) echo 'authorcomment'; else echo $oddcomment; ?>" id="comment-< ?php comment_ID() ?>" id="comment-< ?php comment_ID() ?>"> <li class="<?php if ( $comment->comment_author_email == get_the_author_email() ) echo 'authorcomment'; else echo $oddcomment; ?>" id="comment-< ?php comment_ID() ?>" id="comment-< ?php comment_ID() ?>">
What this will do is match the e-mail address of the poster with the e-mail address of the post author. This is in some way spoofable, as users may be able to post a comment with your e-mail address on it. What this will do is match the e-mail address of the poster with the e-mail address of the post author. This is in some way spoofable, as users may be able to post a comment with your e-mail address on it.
If you posted the comment an extra CSS class named 'authorcomment' is added. So add the following to your style.css file. (You may change this to suit your own taste of course): If you posted the comment an extra CSS class named 'authorcomment' is added. So add the following to your style.css file. (You may change this to suit your own taste of course):
:::css
.authorcomment { .authorcomment {
background-color: #363636; background-color: #363636;
border: 1px solid #969696; border: 1px solid #969696;
@ -38,3 +29,5 @@ If you posted the comment an extra CSS class named 'authorcomment' is added. So
To prevent this you can add your e-mail address (the one you use with your WP account) to Options -> Discussion -> Comment Moderation. This will keep any post that contains your email address back for moderation by you. This is the only fool-proof method I know right now to keep people from spoofing. There might be some other hacks for this, but I haven't had time to think about that yet. To prevent this you can add your e-mail address (the one you use with your WP account) to Options -> Discussion -> Comment Moderation. This will keep any post that contains your email address back for moderation by you. This is the only fool-proof method I know right now to keep people from spoofing. There might be some other hacks for this, but I haven't had time to think about that yet.

View File

@ -1,14 +1,9 @@
--- +++
title: "SVN: How to structure your repository" date = "2006-11-24"
kind: article title = "SVN: How to structure your repository"
slug: svn-how-to-structure-your-repository tags = ["General", "Everything", "Features", "Subversion"]
created_at: 2006-11-24 slug = "svn-how-to-structure-your-repository"
tags: +++
- General
- Everything
- Features
- Subversion
---
_You are reading an article about Subversion. That's great, because it _You are reading an article about Subversion. That's great, because it
means you're thinking about the benefits of version control for your means you're thinking about the benefits of version control for your
project. However, I have long since moved from Subversion to Git. I project. However, I have long since moved from Subversion to Git. I
@ -102,3 +97,5 @@ You probably don't check out bug fix tags, but you want to reference them when m
Read more on <a href="http://ariejan.net/2006/11/22/svn-how-to-fix-bugs-properly/">fixing bugs wiht subversion</a> in my other article. Read more on <a href="http://ariejan.net/2006/11/22/svn-how-to-fix-bugs-properly/">fixing bugs wiht subversion</a> in my other article.

View File

@ -1,15 +1,9 @@
--- +++
title: "The Three Corner Stones of Developerhood" date = "2006-11-25"
kind: article title = "The Three Corner Stones of Developerhood"
slug: the-three-corner-stones-of-developerhood tags = ["General", "Everything", "Blog", "Web Development", "Lists"]
created_at: 2006-11-25 slug = "the-three-corner-stones-of-developerhood"
tags: +++
- General
- Everything
- Blog
- Web Development
- Lists
---
As a developer, there are just some things you can't do without. I have found that there are three things that I need. Really need. If one of them is missing, I have trouble doing my job properly. As a developer, there are just some things you can't do without. I have found that there are three things that I need. Really need. If one of them is missing, I have trouble doing my job properly.
@ -34,3 +28,5 @@ I can't tell you how many problems I've solved by using <a href="http://www.goog
Of course, you can just insert any search engine here, but Google is really my favourite. With <a href="http://groups.google.com">Google Groups</a> I can find stuff in news groups easily, and as a developer, news groups are a very valuable resource of information. Of course, you can just insert any search engine here, but Google is really my favourite. With <a href="http://groups.google.com">Google Groups</a> I can find stuff in news groups easily, and as a developer, news groups are a very valuable resource of information.
It's very well possible that you have three other corner stones. Feel free to comment them below and let me know. It's very well possible that you have three other corner stones. Feel free to comment them below and let me know.

View File

@ -1,17 +1,13 @@
--- +++
title: "Rails: Security Check-up" date = "2006-11-30"
kind: article title = "Rails: Security Check-up"
slug: rails-security-check-up tags = ["General", "Everything", "RubyOnRails", "Blogroll"]
created_at: 2006-11-30 slug = "rails-security-check-up"
tags: +++
- General
- Everything
- RubyOnRails
- Blogroll
---
Is your Rails app secure? Really? Maybe you need to perform a major check-up of your Rails application to make sure. Is your Rails app secure? Really? Maybe you need to perform a major check-up of your Rails application to make sure.
Here's a <a href="http://rubythis.blogspot.com/2006/11/rails-security-checklist.html">comprehensive list</a> that will take you through the most common mistakes and forgotten security risks in your Rails application. Here's a <a href="http://rubythis.blogspot.com/2006/11/rails-security-checklist.html">comprehensive list</a> that will take you through the most common mistakes and forgotten security risks in your Rails application.
It's a great post. Print it, hang it on your wall and create secure Rails apps from now on. It's a great post. Print it, hang it on your wall and create secure Rails apps from now on.

View File

@ -1,16 +1,9 @@
--- +++
title: "How to setup a Ubuntu development server - Part 1" date = "2006-12-01"
kind: article title = "How to setup a Ubuntu development server - Part 1"
slug: how-to-setup-a-ubuntu-development-server-part-1 tags = ["General", "Everything", "Web Development", "Features", "Ubuntu", "Subversion"]
created_at: 2006-12-01 slug = "how-to-setup-a-ubuntu-development-server-part-1"
tags: +++
- General
- Everything
- Web Development
- Features
- Ubuntu
- Subversion
---
Since I'm starting some real work on my final school project, I want to install a Ubuntu development server here at home. I have a Pentium 4 box here that will perform that task. Since I'm starting some real work on my final school project, I want to install a Ubuntu development server here at home. I have a Pentium 4 box here that will perform that task.
In this first part I will show you how to install Subversion over WebDAV. All of this will be done in such a way that it's easy to serve multiple projects at once. In this first part I will show you how to install Subversion over WebDAV. All of this will be done in such a way that it's easy to serve multiple projects at once.
@ -199,3 +192,5 @@ All users in you passwd file can write to all repositories. I've not yet found a
Subversion repositories are always readable by anonymous people. You should remove the LimitExcept block from dav_svn.conf to make sure all users authenticated themselves before accessing your repository. Subversion repositories are always readable by anonymous people. You should remove the LimitExcept block from dav_svn.conf to make sure all users authenticated themselves before accessing your repository.
If you add more repositories, you always have to chown them to your apache's user and group. After that you can use them through WebDAV. If you add more repositories, you always have to chown them to your apache's user and group. After that you can use them through WebDAV.

View File

@ -1,15 +1,9 @@
--- +++
title: "How to setup a Ubuntu development server - Part 2" date = "2006-12-02"
kind: article title = "How to setup a Ubuntu development server - Part 2"
slug: how-to-setup-a-ubuntu-development-server-part-2 tags = ["General", "Everything", "Web Development", "Features", "Ubuntu"]
created_at: 2006-12-02 slug = "how-to-setup-a-ubuntu-development-server-part-2"
tags: +++
- General
- Everything
- Web Development
- Features
- Ubuntu
---
Also read <a href="http://ariejan.net/2006/12/01/how-to-setup-a-ubuntu-development-server-part-1/">Part 1 - Subversion</a>. Also read <a href="http://ariejan.net/2006/12/01/how-to-setup-a-ubuntu-development-server-part-1/">Part 1 - Subversion</a>.
@ -99,3 +93,5 @@ Save the file and off you go. Login as the administrator user you specified earl
Enjoy your trac! Next time (in Part 3) I will talk about setting up a commit-hook so Trac tickets are updated by posting subversion commit messages (throught commit-hooks). Enjoy your trac! Next time (in Part 3) I will talk about setting up a commit-hook so Trac tickets are updated by posting subversion commit messages (throught commit-hooks).
Also read <a href="http://ariejan.net/2006/12/01/how-to-setup-a-ubuntu-development-server-part-1/">Part 1 - Subversion</a> on how to install Subversion over WebDAV. Also read <a href="http://ariejan.net/2006/12/01/how-to-setup-a-ubuntu-development-server-part-1/">Part 1 - Subversion</a> on how to install Subversion over WebDAV.

View File

@ -1,14 +1,9 @@
--- +++
title: "Installing Rails on Ubuntu Dapper / Edgy" date = "2006-12-03"
kind: article title = "Installing Rails on Ubuntu Dapper / Edgy"
slug: installing-rails-on-ubuntu-dapper-edgy tags = ["General", "Everything", "RubyOnRails", "Features"]
created_at: 2006-12-03 slug = "installing-rails-on-ubuntu-dapper-edgy"
tags: +++
- General
- Everything
- RubyOnRails
- Features
---
<em>Update 2010-03-25: Bumped to RubyGems version 1.3.6.</em> <em>Update 2010-03-25: Bumped to RubyGems version 1.3.6.</em>
<em>Update 2009-02-19: Bumped to RubyGems version 1.3.1 and MySQL 5 libraries. This guide now works for all recent version of Ubuntu and Debian. Enjoy!</em> <em>Update 2009-02-19: Bumped to RubyGems version 1.3.1 and MySQL 5 libraries. This guide now works for all recent version of Ubuntu and Debian. Enjoy!</em>
@ -80,3 +75,5 @@ For SQLite 3 you need to install some packages before installing the gem.
<h3>If things go wrong</h3> <h3>If things go wrong</h3>
If things go wrong, make sure you installed all recommended packages mentioned above. Also , check any log files that the error message refers to. If things go wrong, make sure you installed all recommended packages mentioned above. Also , check any log files that the error message refers to.

View File

@ -1,15 +1,9 @@
--- +++
title: "Install ruby-mysql on Mac OS X 10.4 Tiger" date = "2006-12-06"
kind: article title = "Install ruby-mysql on Mac OS X 10.4 Tiger"
slug: install-ruby-mysql-on-mac-os-x-104-tiger tags = ["General", "Everything", "RubyOnRails", "Features", "Mac OS X"]
created_at: 2006-12-06 slug = "install-ruby-mysql-on-mac-os-x-104-tiger"
tags: +++
- General
- Everything
- RubyOnRails
- Features
- Mac OS X
---
You probably know that the built-in mysql code in Rails sucks. To rephrase that, the ruby-mysql gem contains better code, so you want that. Rails automatically detects if you have ruby-mysql installed or not, and uses it if you have it. You probably know that the built-in mysql code in Rails sucks. To rephrase that, the ruby-mysql gem contains better code, so you want that. Rails automatically detects if you have ruby-mysql installed or not, and uses it if you have it.
@ -31,4 +25,5 @@ $ sudo ruby extconf.rb --with-mysql-lib=/usr/local/mysql/lib --with-mysql-includ
$ sudo make $ sudo make
$ sudo make install</pre> $ sudo make install</pre>
Now, you have the ruby-mysql gem installed and ready to go! No more dropped MySQL connections for Rails! Now, you have the ruby-mysql gem installed and ready to go! No more dropped MySQL connections for Rails!

View File

@ -1,15 +1,9 @@
--- +++
title: "Announcing &#8220;Subversion Kick-Start&#8221;" date = "2006-12-11"
kind: article title = "Announcing “Subversion Kick-Start”"
slug: announcing-subversion-kick-start tags = ["General", "Everything", "Blog", "Subversion", "kickstart"]
created_at: 2006-12-11 slug = "announcing-subversion-kick-start"
tags: +++
- General
- Everything
- Blog
- Subversion
- kickstart
---
With this post I officially announce my first book, "<strong>Subversion Kick-Start</strong>". With this post I officially announce my first book, "<strong>Subversion Kick-Start</strong>".
@ -20,4 +14,5 @@ SKS is for every software engineer who wants to learn how to put Subverstion to
Subversion Kick-Start is aimed at getting you and Subversion up and running as quickly as possible with the minimal amount of effort required. Subversion Kick-Start is aimed at getting you and Subversion up and running as quickly as possible with the minimal amount of effort required.
Please subscribe to my <a href="http://ariejan.net/subscribe/">feed newsletter</a> or <a href="http://feeds.feedburner.com/Ariejan">RSS feed</a> and stay up-to-date! You'll be the first to know when the book is available. Please subscribe to my <a href="http://ariejan.net/subscribe/">feed newsletter</a> or <a href="http://feeds.feedburner.com/Ariejan">RSS feed</a> and stay up-to-date! You'll be the first to know when the book is available.
<!--more--> <!--more-->

View File

@ -1,16 +1,9 @@
--- +++
title: "Show the current SVN revision in your Rails app" date = "2006-12-13"
kind: article title = "Show the current SVN revision in your Rails app"
slug: show-the-current-svn-revision-in-your-rails-app tags = ["General", "Everything", "RubyOnRails", "Features", "Subversion", "Capistrano"]
created_at: 2006-12-13 slug = "show-the-current-svn-revision-in-your-rails-app"
tags: +++
- General
- Everything
- RubyOnRails
- Features
- Subversion
- Capistrano
---
I'm current developing a Rails application. I deploy this application to a demonstration server using <a href="http://manuals.rubyonrails.com/read/book/17">capistrano</a>. I'm current developing a Rails application. I deploy this application to a demonstration server using <a href="http://manuals.rubyonrails.com/read/book/17">capistrano</a>.
@ -57,4 +50,5 @@ That's it. When I deploy the application, the current code is checked out and an
You could also leave the layouts/_revision.rhtml files empty and update it for your demonstration server, but not for your production box. This way there won't be a revision added. You could also leave the layouts/_revision.rhtml files empty and update it for your demonstration server, but not for your production box. This way there won't be a revision added.
Of course, you could also create a deploy_demonstration method in deploy.rb and call publish_revision manually from there. Of course, you could also create a deploy_demonstration method in deploy.rb and call publish_revision manually from there.

View File

@ -1,14 +1,9 @@
--- +++
title: "SVN: How often should you commit?" date = "2006-12-20"
kind: article title = "SVN: How often should you commit?"
slug: svn-how-often-should-you-commit tags = ["General", "Everything", "Features", "Subversion"]
created_at: 2006-12-20 slug = "svn-how-often-should-you-commit"
tags: +++
- General
- Everything
- Features
- Subversion
---
I often hear discussion about how often developers should commit their work to the central repository. Some say that you should only commit when you're next 'release' is ready. Others say that you should commit every change you make in your code. There are even people who say you should commit your changes only at the end of the day. I often hear discussion about how often developers should commit their work to the central repository. Some say that you should only commit when you're next 'release' is ready. Others say that you should commit every change you make in your code. There are even people who say you should commit your changes only at the end of the day.
@ -36,4 +31,5 @@ Okay, you get the picture. Why would you work like this? Subversion allows you t
The most logical way of keeping track of changes is atomic actions. If you decide later that you don't want the installed version of the acts_as_authenticated plugin, but a later release. You can see what files were added when you installed the plugin. The most logical way of keeping track of changes is atomic actions. If you decide later that you don't want the installed version of the acts_as_authenticated plugin, but a later release. You can see what files were added when you installed the plugin.
By using atomic actions you create atomic changesets in Subversion. This way you can easily jump between different states (revisions) of you code without breaking things. It keeps your code working and it allows you to easily track changes you made and to what purpose. By using atomic actions you create atomic changesets in Subversion. This way you can easily jump between different states (revisions) of you code without breaking things. It keeps your code working and it allows you to easily track changes you made and to what purpose.

View File

@ -1,14 +1,9 @@
--- +++
title: "SVN: Merge a branch with your trunk" date = "2006-12-20"
kind: article title = "SVN: Merge a branch with your trunk"
slug: svn-merge-a-branch-with-your-trunk tags = ["General", "Everything", "Features", "Subversion"]
created_at: 2006-12-20 slug = "svn-merge-a-branch-with-your-trunk"
tags: +++
- General
- Everything
- Features
- Subversion
---
When created a TRY-branch a few days back to try some fancy new AJAX technology in my application. Not problems there, so now I want to merge the code in the branch with my trunk. When created a TRY-branch a few days back to try some fancy new AJAX technology in my application. Not problems there, so now I want to merge the code in the branch with my trunk.
@ -31,4 +26,5 @@ Since the files from the trunk and the beginning of the TRY-branch are still exa
<pre lang="bash">$ svn ci -m "Merge TRY-AJAX branch with trunk"</pre> <pre lang="bash">$ svn ci -m "Merge TRY-AJAX branch with trunk"</pre>
That's it. You have now merged the branch with your trunk. Enjoy! That's it. You have now merged the branch with your trunk. Enjoy!

View File

@ -1,15 +1,9 @@
--- +++
title: "Textmate+Rails: Easy partials for better code" date = "2006-12-22"
kind: article title = "Textmate+Rails: Easy partials for better code"
slug: textmaterails-easy-partials-for-better-code tags = ["General", "Everything", "RubyOnRails", "Features", "Textmate"]
created_at: 2006-12-22 slug = "textmaterails-easy-partials-for-better-code"
tags: +++
- General
- Everything
- RubyOnRails
- Features
- Textmate
---
As you may know, I use <a href="http://macromates.com/">TextMate</a> for editing Rails code. As you may know, I use <a href="http://macromates.com/">TextMate</a> for editing Rails code.
@ -92,4 +86,5 @@ After all this the same ERb template looks like this:
< %= render :partial => 'options' %> < %= render :partial => 'options' %>
< % end -%></pre> < % end -%></pre>
Now, isn't that more readable? Even, if you want to change a profile, you can just edit _profile.rhtml and you're done. Now, isn't that more readable? Even, if you want to change a profile, you can just edit _profile.rhtml and you're done.

View File

@ -1,14 +1,9 @@
--- +++
title: "Rails: Group results by week (using group_by)" date = "2007-01-12"
kind: article title = "Rails: Group results by week (using group_by)"
slug: rails-group-results-by-week-using-group_by tags = ["General", "Everything", "RubyOnRails", "Features"]
created_at: 2007-01-12 slug = "rails-group-results-by-week-using-group_by"
tags: +++
- General
- Everything
- RubyOnRails
- Features
---
The Enumerable class in Rails contains a method named 'group_by'. This method is pure magic for a developer's point of view. I'll give you a simple example that shows the power of group_by. The Enumerable class in Rails contains a method named 'group_by'. This method is pure magic for a developer's point of view. I'll give you a simple example that shows the power of group_by.
@ -20,7 +15,6 @@ First of all, in the controller, just get all the posts you need. In this case,
Controller: Controller:
:::ruby
def list def list
@posts = Post.find :all @posts = Post.find :all
end end
@ -29,21 +23,18 @@ As you can see, I perform no ordering or whatsoever here.
Now, in your view you normally would iterate over all posts like this: Now, in your view you normally would iterate over all posts like this:
:::html
<%= render :partial => 'post', :collection => @posts %> <%= render :partial => 'post', :collection => @posts %>
But, as I said, we want to group the posts by week. To make life easy, I add a method to the Post class that returns the week number in which a post was written: But, as I said, we want to group the posts by week. To make life easy, I add a method to the Post class that returns the week number in which a post was written:
Model Post: Model Post:
:::ruby
def week def week
self.created_at.strftime('%W') self.created_at.strftime('%W')
end end
Now, the magic will happen in our view: Now, the magic will happen in our view:
:::html
<% @posts.group_by(&:week).each do |week, posts| %> <% @posts.group_by(&:week).each do |week, posts| %>
<div id="week"> <div id="week">
<h2>Week < %= week %></h2> <h2>Week < %= week %></h2>
@ -61,7 +52,8 @@ As normal, we can now show the week number and iterate over the posts.
The result of group_by is not guaranteed to be ordered in any way. Simply call 'sort' before each and you're set: The result of group_by is not guaranteed to be ordered in any way. Simply call 'sort' before each and you're set:
:::ruby
@posts.group_by(&:week).sort.each do |week, posts| @posts.group_by(&:week).sort.each do |week, posts|
Mostly, you'll find that the posts for every group are not sorted either. With the example above I think it's easy to figure out how to do that now. (hint: .sort) Mostly, you'll find that the posts for every group are not sorted either. With the example above I think it's easy to figure out how to do that now. (hint: .sort)

View File

@ -1,14 +1,9 @@
--- +++
title: "&#8220;Print this page&#8221; with Ruby on Rails" date = "2007-01-19"
kind: article title = "“Print this page” with Ruby on Rails"
slug: print-this-page-with-ruby-on-rails tags = ["General", "Everything", "RubyOnRails", "Features"]
created_at: 2007-01-19 slug = "print-this-page-with-ruby-on-rails"
tags: +++
- General
- Everything
- RubyOnRails
- Features
---
You have put a lot of effort into creating a sexy overview of whatever data your application stores and allow your users to manipulate that data through AJAX controls. But, some people just want to print their data. You have put a lot of effort into creating a sexy overview of whatever data your application stores and allow your users to manipulate that data through AJAX controls. But, some people just want to print their data.
@ -41,4 +36,5 @@ The final touch is adding a "Print this page" link to your navigation on screen.
<pre lang="ruby">link_to_function("Print this Page", "javascript:print()")</pre> <pre lang="ruby">link_to_function("Print this Page", "javascript:print()")</pre>
That's it. Just hit the Print this Page button and your browsers print dialog will pop up and use your fancy new print stylesheet. That's it. Just hit the Print this Page button and your browsers print dialog will pop up and use your fancy new print stylesheet.

View File

@ -1,15 +1,11 @@
--- +++
title: "Why Ruby Rocks - Convince your fellow developers" date = "2007-01-19"
kind: article title = "Why Ruby Rocks - Convince your fellow developers"
slug: why-ruby-rocks-convince-your-fellow-developers tags = ["General", "Everything", "Blog", "Ruby"]
created_at: 2007-01-19 slug = "why-ruby-rocks-convince-your-fellow-developers"
tags: +++
- General
- Everything
- Blog
- Ruby
---
I often hear questions from my Java and PHP oriented friends about what makes Ruby so great and easy to use. Until today I've shown them some of my Rails feats (AJAX Scaffold always amazes people). Now, I came across this <a href="http://www.ruby-lang.org/en/documentation/quickstart/">20 minute Ruby introduction</a>. Starting with the basic "Hello World" item, this article show step by step improvements to end up with blocks, objects and all that makes Ruby really worth while. I often hear questions from my Java and PHP oriented friends about what makes Ruby so great and easy to use. Until today I've shown them some of my Rails feats (AJAX Scaffold always amazes people). Now, I came across this <a href="http://www.ruby-lang.org/en/documentation/quickstart/">20 minute Ruby introduction</a>. Starting with the basic "Hello World" item, this article show step by step improvements to end up with blocks, objects and all that makes Ruby really worth while.
So, if you need to show developers what Ruby (and not so much Rails) can do, show 'em this! It impresses the shit out of 'em. So, if you need to show developers what Ruby (and not so much Rails) can do, show 'em this! It impresses the shit out of 'em.

View File

@ -1,13 +1,9 @@
--- +++
title: "New in Rails: Resource Scaffold Generator" date = "2007-01-23"
kind: article title = "New in Rails: Resource Scaffold Generator"
slug: new-in-rails-resource-scaffold-generator tags = ["General", "RubyOnRails", "Features"]
created_at: 2007-01-23 slug = "new-in-rails-resource-scaffold-generator"
tags: +++
- General
- RubyOnRails
- Features
---
Oh boy! Rails 1.2 is all about resources. A product entry in your application is not just a rendered HTML page, but it "is" data. Rails 1.2 allows you to add a .xml extension to your url to retrieve the same product information in XML format! Oh boy! Rails 1.2 is all about resources. A product entry in your application is not just a rendered HTML page, but it "is" data. Rails 1.2 allows you to add a .xml extension to your url to retrieve the same product information in XML format!
@ -30,4 +26,5 @@ As you can see in config/routes.rb, Rails has automatically generated routes for
Now you can start up your Rails app and access http://localhost:8000/products. Add some products if you like. Now if you got to http://localhost:8000/products/1 you a nice HTML scaffold. If you add .xml: http://localhost:8000/products/1.xml you'll get nice XML! Now you can start up your Rails app and access http://localhost:8000/products. Add some products if you like. Now if you got to http://localhost:8000/products/1 you a nice HTML scaffold. If you add .xml: http://localhost:8000/products/1.xml you'll get nice XML!
Well, writing a seperate desktop application that retrieves informatin from your web application just got 100x easier! Well, writing a seperate desktop application that retrieves informatin from your web application just got 100x easier!

View File

@ -1,13 +1,9 @@
--- +++
title: "Rails: Nested resource scaffold" date = "2007-01-23"
kind: article title = "Rails: Nested resource scaffold"
slug: rails-nested-resource-scaffold tags = ["General", "Everything", "Features"]
created_at: 2007-01-23 slug = "rails-nested-resource-scaffold"
tags: +++
- General
- Everything
- Features
---
In my <a href="http://ariejan.net/2007/01/23/new-in-rails-resource-scaffold-generator/">previous post</a> I told you about the resource scaffold. What you'll be doing a lot is nesting these resources. Ingredients in recipes, comments on posts, options for products. You name it, you nest it! In my <a href="http://ariejan.net/2007/01/23/new-in-rails-resource-scaffold-generator/">previous post</a> I told you about the resource scaffold. What you'll be doing a lot is nesting these resources. Ingredients in recipes, comments on posts, options for products. You name it, you nest it!
@ -99,4 +95,5 @@ And, at last, make sure the create method of your ingredients controller attache
You may now start your webserver and check out http://localhost:8000/recipes . Create some recipes and click 'ingredients'. You can now add ingredients for this recipe! You may now start your webserver and check out http://localhost:8000/recipes . Create some recipes and click 'ingredients'. You can now add ingredients for this recipe!
The next step will be customizing each method to suit your own needs.</em></pre> The next step will be customizing each method to suit your own needs.</em></pre>

View File

@ -1,19 +1,14 @@
--- +++
title: "Updates: Wordpress 2.1, Themes and Social" date = "2007-01-23"
kind: article title = "Updates: Wordpress 2.1, Themes and Social"
slug: updates-wordpress-21-themes-and-social tags = ["General", "Everything", "Wordpress", "Ariejan.net", "Blog"]
created_at: 2007-01-23 slug = "updates-wordpress-21-themes-and-social"
tags: +++
- General
- Everything
- Wordpress
- Ariejan.net
- Blog
---
You can't really see it, but Ariejan.net has been upgraded to <a href="http://wordpress.org">Wordpress 2.1</a>. I've been running 2.1 beta's on a private server for some time now, so there weren't any surprises during the upgrade. You can't really see it, but Ariejan.net has been upgraded to <a href="http://wordpress.org">Wordpress 2.1</a>. I've been running 2.1 beta's on a private server for some time now, so there weren't any surprises during the upgrade.
I've also updated the theme to something more stylish and sober. Google Ads are less annoying now and merge nicely with the content. I've also re-enabled the social bookmark links so you can quickly bookmark articles on Del.icio.us or Digg. I've also updated the theme to something more stylish and sober. Google Ads are less annoying now and merge nicely with the content. I've also re-enabled the social bookmark links so you can quickly bookmark articles on Del.icio.us or Digg.
Hope you like the new style. Some minor tweaks will be applied the following days where needed. Please let me know your thoughts on ariejan.net! Hope you like the new style. Some minor tweaks will be applied the following days where needed. Please let me know your thoughts on ariejan.net!
<!--more--> <!--more-->

View File

@ -1,28 +1,23 @@
--- +++
title: "Ruby: Sort an array of objects by an attribute" date = "2007-01-28"
kind: article title = "Ruby: Sort an array of objects by an attribute"
slug: ruby-sort-an-array-of-objects-by-an-attribute tags = ["General", "Features", "Ruby"]
created_at: 2007-01-28 slug = "ruby-sort-an-array-of-objects-by-an-attribute"
tags: +++
- General
- Features
- Ruby
---
In this example I'll show you how easy it is to sort an array of (the same kind of) objects by an attribute. Let's say you have an array of User objects that have the attributes 'name' and 'login_count'. First, find all users. In this example I'll show you how easy it is to sort an array of (the same kind of) objects by an attribute. Let's say you have an array of User objects that have the attributes 'name' and 'login_count'. First, find all users.
:::ruby
@users = User.find(:all) @users = User.find(:all)
Now, we have to sort this array by 'name'. Since we don't know if any user used capitals in his name or not, we use 'downcase' to sort without case sensitivity. Now, we have to sort this array by 'name'. Since we don't know if any user used capitals in his name or not, we use 'downcase' to sort without case sensitivity.
A small not. 'sort' returns a new array and leaves the original unchanged. You may want to just reorder the @users array, so use the 'sort!' method. The '!' indicates it's a destructive method. It will overwrite the current @users array with the new sorting. A small not. 'sort' returns a new array and leaves the original unchanged. You may want to just reorder the @users array, so use the 'sort!' method. The '!' indicates it's a destructive method. It will overwrite the current @users array with the new sorting.
:::ruby
@users.sort! { |a,b| a.name.downcase <=> b.name.downcase } @users.sort! { |a,b| a.name.downcase <=> b.name.downcase }
That's all! Since strings are comparable, this will sort you user objects alphabetically by name. Want to sort on login_count instead? That's all! Since strings are comparable, this will sort you user objects alphabetically by name. Want to sort on login_count instead?
:::ruby
@users.sort! { |a,b| a.login_count <=> b.login_count } @users.sort! { |a,b| a.login_count <=> b.login_count }
So, now you can easily sort any object in an array just like you want it too! So, now you can easily sort any object in an array just like you want it too!

View File

@ -1,13 +1,9 @@
--- +++
title: "Hobo - And you thought Rails made life easy!" date = "2007-01-29"
kind: article title = "Hobo - And you thought Rails made life easy!"
slug: hobo-and-you-thought-rails-made-life-easy tags = ["General", "Blog", "RubyOnRails"]
created_at: 2007-01-29 slug = "hobo-and-you-thought-rails-made-life-easy"
tags: +++
- General
- Blog
- RubyOnRails
---
If you've seen anything of <a href="http://www.rubyonrails.org">Ruby on Rails</a>, you know it makes your life really easy with all its generators and plugins. Well, check out <a href="http://hobocentral.net/blog/">Hobo</a>! If you've seen anything of <a href="http://www.rubyonrails.org">Ruby on Rails</a>, you know it makes your life really easy with all its generators and plugins. Well, check out <a href="http://hobocentral.net/blog/">Hobo</a>!
@ -18,4 +14,5 @@ Hobo is an Open-Source project that makes development with Rails even faster tha
<ul> <ul>
<li>A template engine that extends Rails' standard ERB templates with user-defined tags</li> <li>A template engine that extends Rails' standard ERB templates with user-defined tags</li>
<li>A powerful library of pre-defined tags for knocking up ajaxified data-driven sites in a snap <li>A powerful library of pre-defined tags for knocking up ajaxified data-driven sites in a snap
(lots still to do (lots still to do

View File

@ -1,13 +1,9 @@
--- +++
title: "My photo&#8217;s on Flickr" date = "2007-02-09"
kind: article title = "My photos on Flickr"
slug: my-photos-on-flickr tags = ["General", "Everything", "Blog"]
created_at: 2007-02-09 slug = "my-photos-on-flickr"
tags: +++
- General
- Everything
- Blog
---
<style type="text/css"> <style type="text/css">
.flickr-photo { border: solid 2px #000000; } .flickr-photo { border: solid 2px #000000; }
@ -26,4 +22,5 @@ tags:
In an idle moment I decided to up all my photo's to Flickr. Normally I burn my photo's to disk or zip them up on an external harddisk. But then, I never look at them again and there a few nice pictures there. <br /> In an idle moment I decided to up all my photo's to Flickr. Normally I burn my photo's to disk or zip them up on an external harddisk. But then, I never look at them again and there a few nice pictures there. <br />
<br /> <br />
Feel free to check out <a href="http://www.flickr.com/photos/ariejan/">my photo's</a> now. Oh, keep track of more new stuff there. I'm planning on making some very nice pictures this weekend. Feel free to check out <a href="http://www.flickr.com/photos/ariejan/">my photo's</a> now. Oh, keep track of more new stuff there. I'm planning on making some very nice pictures this weekend.
</p> </p>

View File

@ -1,13 +1,9 @@
--- +++
title: "Goals in the Park" date = "2007-02-17"
kind: article title = "Goals in the Park"
slug: goals-in-the-park tags = ["General", "Everything", "Blog"]
created_at: 2007-02-17 slug = "goals-in-the-park"
tags: +++
- General
- Everything
- Blog
---
<style type="text/css"> <style type="text/css">
.flickr-photo { border: solid 2px #000000; } .flickr-photo { border: solid 2px #000000; }
@ -26,4 +22,5 @@ tags:
My new hobby is photography, if you didn't know already. Today I was strolling the park and I took this picture. Actually, I took three pictures and created a HDR (<a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">High Dynamic Range</a>) image of them.<br /> My new hobby is photography, if you didn't know already. Today I was strolling the park and I took this picture. Actually, I took three pictures and created a HDR (<a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">High Dynamic Range</a>) image of them.<br />
<br /> <br />
Hope you enjoy the view and let me know if you want more information on this subjejct! Hope you enjoy the view and let me know if you want more information on this subjejct!
</p> </p>

View File

@ -1,13 +1,9 @@
--- +++
title: "RoR: link_to_remote with a text_field value as an argument" date = "2007-02-21"
kind: article title = "RoR: link_to_remote with a text_field value as an argument"
slug: ror-link_to_remote-with-a-text_field-value-as-an-argument tags = ["General", "RubyOnRails", "Features"]
created_at: 2007-02-21 slug = "ror-link_to_remote-with-a-text_field-value-as-an-argument"
tags: +++
- General
- RubyOnRails
- Features
---
Forms are very well supported in Ruby on Rails. But in some cases you want to get information about a value a user has entered in a form, but without submitting the entire form. A good example of this is the sign up procedure at Yahoo. You enter your desired username, click "check availability" and you know if the name is available to you. Forms are very well supported in Ruby on Rails. But in some cases you want to get information about a value a user has entered in a form, but without submitting the entire form. A good example of this is the sign up procedure at Yahoo. You enter your desired username, click "check availability" and you know if the name is available to you.
@ -52,4 +48,5 @@ The next question is how to integrate this with our link_to_remote tag. The :wit
:action => 'check_address', :action => 'check_address',
:address => @location.address :address => @location.address
}, },
:with => "'address='+encodeURIComponent($F( :with => "'address='+encodeURIComponent($F(

View File

@ -1,13 +1,9 @@
--- +++
title: "Subversion Cheat Sheet 1.0!" date = "2007-02-23"
kind: article title = "Subversion Cheat Sheet 1.0!"
slug: subversion-cheat-sheet-10 tags = ["General", "Features", "Subversion"]
created_at: 2007-02-23 slug = "subversion-cheat-sheet-10"
tags: +++
- General
- Features
- Subversion
---
I've noticed a huge interest in my <a href="/tags/subversion?phpMyAdmin=umjo2KeaY3NOkOP-0%2Czc9FZ9J96">Subversion articles</a> lately and I thought to create a nice cheat sheet for all you. I've noticed a huge interest in my <a href="/tags/subversion?phpMyAdmin=umjo2KeaY3NOkOP-0%2Czc9FZ9J96">Subversion articles</a> lately and I thought to create a nice cheat sheet for all you.
@ -33,4 +29,5 @@ Topics covered in this cheat sheet are:
<li>Experimenting</li> <li>Experimenting</li>
</ul> </ul>
Please let me know if anything's missing. Please let me know if anything's missing.

View File

@ -1,13 +1,9 @@
--- +++
title: "4 Unusual uses for Subversion" date = "2007-02-26"
kind: article title = "4 Unusual uses for Subversion"
slug: 4-unusual-uses-for-subversion tags = ["General", "Features", "Subversion"]
created_at: 2007-02-26 slug = "4-unusual-uses-for-subversion"
tags: +++
- General
- Features
- Subversion
---
The most common use of Subversion is to keep source code of applications versioned and secure. However, there are quite a few other options that are not so common at all. The most common use of Subversion is to keep source code of applications versioned and secure. However, there are quite a few other options that are not so common at all.
@ -30,4 +26,5 @@ Put your entire home directory in Subversion. You'll always have a backup handy
It's a bit like coding. You could use Subversion to write a story (or manuscript or book or ...) as a community. It's a bit like a wiki, but you can all use your favourite editors. You'll have to agree on an ASCII based file format, though. It's a bit like coding. You could use Subversion to write a story (or manuscript or book or ...) as a community. It's a bit like a wiki, but you can all use your favourite editors. You'll have to agree on an ASCII based file format, though.
Maybe you know some very cool way to use Subversion as well? Please comment below! Maybe you know some very cool way to use Subversion as well? Please comment below!

View File

@ -1,13 +1,9 @@
--- +++
title: "Subversion Cheat Sheet Update: 1.0.1" date = "2007-03-06"
kind: article title = "Subversion Cheat Sheet Update: 1.0.1"
slug: subversion-cheat-sheet-update-101 tags = ["General", "Blog", "Subversion"]
created_at: 2007-03-06 slug = "subversion-cheat-sheet-update-101"
tags: +++
- General
- Blog
- Subversion
---
I've just uploaded version 1.0.1 of the <a href="http://ariejan.net/svncheatsheet">Subversion Cheat Sheet</a> to Ariejan.net. I've just uploaded version 1.0.1 of the <a href="http://ariejan.net/svncheatsheet">Subversion Cheat Sheet</a> to Ariejan.net.
@ -17,4 +13,5 @@ Please download this new version and get the following change:
<li>Fixed typo. Thanks to Gregory Gerard.</li> <li>Fixed typo. Thanks to Gregory Gerard.</li>
</ul> </ul>
Head to the <a href="http://ariejan.net/svncheatsheet">Subversion Cheat Sheet</a> page now and download the new version. Head to the <a href="http://ariejan.net/svncheatsheet">Subversion Cheat Sheet</a> page now and download the new version.

View File

@ -1,14 +1,9 @@
--- +++
title: "Wordpress Plugin: AutoFlickr 1.0" date = "2007-03-07"
kind: article title = "Wordpress Plugin: AutoFlickr 1.0"
slug: wordpress-plugin-autoflickr-10 tags = ["General", "Wordpress", "Features", "AutoFlickr"]
created_at: 2007-03-07 slug = "wordpress-plugin-autoflickr-10"
tags: +++
- General
- Wordpress
- Features
- AutoFlickr
---
This post announces my first Wordpress Plugin: AutoFlickr. This post announces my first Wordpress Plugin: AutoFlickr.
@ -54,4 +49,5 @@ Please leave a comment or <a href="http://ariejan.net/contact">contact me</a> di
<h3>New versions?</h3> <h3>New versions?</h3>
Please subscribe to my <a href="http://feeds.feedburner.com/Ariejan">RSS Feed</a> (or use <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=411105">e-mail subscription</a>) to get automatic updates about Ariejan.net and this plugin. Please subscribe to my <a href="http://feeds.feedburner.com/Ariejan">RSS Feed</a> (or use <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=411105">e-mail subscription</a>) to get automatic updates about Ariejan.net and this plugin.

View File

@ -1,13 +1,9 @@
--- +++
title: "8 Great ways to use Google for your start-up" date = "2007-03-20"
kind: article title = "8 Great ways to use Google for your start-up"
slug: 8-great-ways-to-use-google-for-your-start-up tags = ["General", "Blog", "Google"]
created_at: 2007-03-20 slug = "8-great-ways-to-use-google-for-your-start-up"
tags: +++
- General
- Blog
- Google
---
<a href="http://www.google.com">Google</a> is more than a search engine or an advertising company. Of course, it's their core business, but Google has more to offer. In this article I'll describe how you can put Google to work for your start-up (or existing business!). Oh, did I mention you can do all of this for free? <a href="http://www.google.com">Google</a> is more than a search engine or an advertising company. Of course, it's their core business, but Google has more to offer. In this article I'll describe how you can put Google to work for your start-up (or existing business!). Oh, did I mention you can do all of this for free?
@ -54,4 +50,5 @@ Personally I think Google Apps are a great investment in your start-up company.
<li>Nothing really.</li> <li>Nothing really.</li>
</ul> </ul>
Let me know if you have any experience with Google Apps. Did I miss some feature? Please let me know! Let me know if you have any experience with Google Apps. Did I miss some feature? Please let me know!

View File

@ -1,15 +1,9 @@
--- +++
title: "How I made 6 figures with Google Adsense in 10 days" date = "2007-03-20"
kind: article title = "How I made 6 figures with Google Adsense in 10 days"
slug: how-i-made-6-figures-with-google-adsense-in-10-days tags = ["General", "Blog", "Google", "AdSense", "Sarcasm"]
created_at: 2007-03-20 slug = "how-i-made-6-figures-with-google-adsense-in-10-days"
tags: +++
- General
- Blog
- Google
- AdSense
- Sarcasm
---
There has been a lot of talk about making money with Google Adsense. There are claims of people earning over $10.000 every month by just putting a few ads up on their site. There has been a lot of talk about making money with Google Adsense. There are claims of people earning over $10.000 every month by just putting a few ads up on their site.
@ -56,4 +50,5 @@ If you're feeling adventurous you may also setup an Adwords campaign yourself an
Now you wait ten days and then quit your job (you have a two weeks notice anyway). After those ten days you'll have made a nice 6 figures in hard currency. Just wait for the check to arrive and you're done! Now you wait ten days and then quit your job (you have a two weeks notice anyway). After those ten days you'll have made a nice 6 figures in hard currency. Just wait for the check to arrive and you're done!
Oh, don't forget to ***** my *** since I gave you this very valuable information and I still need to reach my 6 figures for this month. Thank you. Oh, don't forget to ***** my *** since I gave you this very valuable information and I still need to reach my 6 figures for this month. Thank you.

View File

@ -1,13 +1,9 @@
--- +++
title: "26 Things you can do with an old PC" date = "2007-03-21"
kind: article title = "26 Things you can do with an old PC"
slug: 26-things-you-can-do-with-an-old-pc tags = ["General", "Blog", "Fun"]
created_at: 2007-03-21 slug = "26-things-you-can-do-with-an-old-pc"
tags: +++
- General
- Blog
- Fun
---
We've all been there. Your old trusty PC dies. First thing you do is buy a new one. After you're done playing with all the new bells and whistles your old PC didn't have, it's time to thing what to do with the old fella. We've all been there. Your old trusty PC dies. First thing you do is buy a new one. After you're done playing with all the new bells and whistles your old PC didn't have, it's time to thing what to do with the old fella.
@ -52,4 +48,5 @@ The monitor (CRT) can be used for various purposes as well:
<li>Ash tray</li> <li>Ash tray</li>
<li>CD / DVD Rack</li> <li>CD / DVD Rack</li>
</ol> </ol>
Got your own personal favourite? Please post a comment and share it with us all! Got your own personal favourite? Please post a comment and share it with us all!

View File

@ -1,14 +1,9 @@
--- +++
title: "Rails Tip Snippet: Logging informational messages to your log" date = "2007-03-22"
kind: article title = "Rails Tip Snippet: Logging informational messages to your log"
slug: rails-tip-snippet-logging-informational-messages-to-your-log tags = ["General", "RubyOnRails", "Features", "TipSnippets"]
created_at: 2007-03-22 slug = "rails-tip-snippet-logging-informational-messages-to-your-log"
tags: +++
- General
- RubyOnRails
- Features
- TipSnippets
---
This "Rails Tip Snippet" is one in a series of small blocks of code that will make your life developing Rails applications a bit easier. This "Rails Tip Snippet" is one in a series of small blocks of code that will make your life developing Rails applications a bit easier.
@ -24,4 +19,5 @@ Line 4 will put a string like "User account 'johnlocke" delete by user ariejan"
You may also use the logger to inspect variables: You may also use the logger to inspect variables:
<pre lang="ruby">logger.info("article inspection: #{@article.inspect}")</pre> <pre lang="ruby">logger.info("article inspection: #{@article.inspect}")</pre>
Until next time! Any tips are welcome at <a href="mailto:tips@ariejan.net">tips@ariejan.net</a>. Until next time! Any tips are welcome at <a href="mailto:tips@ariejan.net">tips@ariejan.net</a>.

View File

@ -1,16 +1,9 @@
--- +++
title: "Be productive! 37 things you can do on the toilet" date = "2007-03-23"
kind: article title = "Be productive! 37 things you can do on the toilet"
slug: be-productive-37-things-you-can-do-on-the-toilet tags = ["General", "Blog", "Features", "Lists", "Fun", "Productivity"]
created_at: 2007-03-23 slug = "be-productive-37-things-you-can-do-on-the-toilet"
tags: +++
- General
- Blog
- Features
- Lists
- Fun
- Productivity
---
We all have to go. Most of us once a day. Others have to do it more often. However, we can be much more productive while doing or daily duty at the toilet. We all have to go. Most of us once a day. Others have to do it more often. However, we can be much more productive while doing or daily duty at the toilet.
@ -91,4 +84,5 @@ Besides the old "joke book" and "newspaper" what can you do on the toilet to kil
<strong>37. Do nothing</strong> - Old fashioned Number 2. Just sit there, do your thing and go! <strong>37. Do nothing</strong> - Old fashioned Number 2. Just sit there, do your thing and go!
Do you know other tasks you may perform while doing a number 2? Please continue the list in the comments. Thanksk for sharing! Do you know other tasks you may perform while doing a number 2? Please continue the list in the comments. Thanksk for sharing!

View File

@ -1,13 +1,9 @@
--- +++
title: "Speedlinking: Top 28 startup resources" date = "2007-03-25"
kind: article title = "Speedlinking: Top 28 startup resources"
slug: speedlinking-top-28-startup-resources tags = ["General", "Blog", "Links"]
created_at: 2007-03-25 slug = "speedlinking-top-28-startup-resources"
tags: +++
- General
- Blog
- Links
---
I've been reading a lot about startups this weekend. Here is a quick post with all the articles I came across this weekend and found worth mentioning: I've been reading a lot about startups this weekend. Here is a quick post with all the articles I came across this weekend and found worth mentioning:
<ol> <ol>
@ -40,4 +36,5 @@ I've been reading a lot about startups this weekend. Here is a quick post with a
<li><a href="http://onstartups.com/home/tabid/3339/bid/69/Startup-Suicide-Five-Ways-To-Kill-Your-Startup-Which-Will-You-Pick.aspx">Startup Suicide: Five Ways To Kill Your Startup, Which Will You Pick?</a></li> <li><a href="http://onstartups.com/home/tabid/3339/bid/69/Startup-Suicide-Five-Ways-To-Kill-Your-Startup-Which-Will-You-Pick.aspx">Startup Suicide: Five Ways To Kill Your Startup, Which Will You Pick?</a></li>
<li><a href="http://www.miketaber.net/articles/StartupsForTheRestOfUs.aspx">Startups for the rest of us</a></li> <li><a href="http://www.miketaber.net/articles/StartupsForTheRestOfUs.aspx">Startups for the rest of us</a></li>
</ol> </ol>
Got any articles that are not on the list? Please add a comment to let me know! Got any articles that are not on the list? Please add a comment to let me know!

View File

@ -1,14 +1,9 @@
--- +++
title: "Rails Tip Snippet: Create a comma-seperate list" date = "2007-03-27"
kind: article title = "Rails Tip Snippet: Create a comma-seperate list"
slug: rails-tip-snippet-create-a-comma-seperate-list tags = ["General", "RubyOnRails", "Features", "TipSnippets"]
created_at: 2007-03-27 slug = "rails-tip-snippet-create-a-comma-seperate-list"
tags: +++
- General
- RubyOnRails
- Features
- TipSnippets
---
Do you have the need to create a list of roles a certain user belongs to? Enumerate the users attached to a company? All you want is a simple list with the names seperated by commas. Do you have the need to create a list of roles a certain user belongs to? Enumerate the users attached to a company? All you want is a simple list with the names seperated by commas.
@ -16,4 +11,5 @@ Users: John, Dick, Harry
With Ruby on Rails this is really easy. You probably have a collection of user objects. All you want is a list of names: With Ruby on Rails this is really easy. You probably have a collection of user objects. All you want is a list of names:
<pre lang="ruby">@users.collect{|u| u.name}.join(', ')</pre> <pre lang="ruby">@users.collect{|u| u.name}.join(', ')</pre>
Read more <a href="http://ariejan.net/tags/tipsnippets/">Tip Snippets</a>? Read more <a href="http://ariejan.net/tags/tipsnippets/">Tip Snippets</a>?

Some files were not shown because too many files have changed in this diff Show More