﻿Test by piotrz :)
junheider is Top Posting this file�people hate this on mailing lists.

Flex committers can use this file to check their svn access.
"I love work; it fascinates me; I can sit and watch it for hours." -- Jerome K. Jerome
It is COLD today in Boston!  But today it is hot and humid!
It is RAINY today in Seattle!
Apathy - i could take it or leave it.
s9tpepper was here.

rduartes wrote this here:
(you have to listen to this being recited by Douglas Campbell in Loreena McKennit's Lullaby song)

Oh for a voice like Thunder, and a tongue to drown the voice of war,
When the soul is driven to madness,
WHO CAN STAND ?
When the souls of the oppressed fight in the troubled air that rages,
WHO CAN STAND ?
When the whirlwind of fury comes from the throne of GOD,
WHO CAN STAND ?
Testing CR-LF on commit / only this line was changed.
When the frowns of his countenance drive the nations together,
WHO CAN STAND?
When sin claps his broad wings over the battle, and sails rejoicing in the flood of death,
When the souls are torn to everlasting fire, and fiends of Hell rejoice upon the slain,
Oh who can stand?
Oh who has caused this?
Oh who can answer at the throne of God?
The Kings and Nobles of the land have done it,
Hear it not Heaven,
Thy Ministers have done it !

William Blake

Surfing on sine waves is the only way to get through life - mschmalle

A dyslexic man walks into a bra. - Tink

Dear diary: Jackpot. -Glen Quagmire (via jonbcampos)

"In Soviet Russia, code debug you" - peterelst

"Programming is 10% science, 20% ingenuity, and 70% getting the ingenuity to work with the science." - akpetteroe

"Oh, God help us. We're in the hands of engineers." -Ian Malcom (via sdelamater)

"Any fool can criticize, condemn and complain and most fools do" Benjamin Franklin (via espenskogen)

"Experience is a dear teacher, and only fools will learn from no other." Ben Franklin (via frishy)

"A foolish consistency is the hobgoblin of little minds" Ralph Waldo Emerson (via jmclean)

"Money is only important to those who don't have any" (via quetwo)

"Beware the young doctor and old barber" (Ben Franklin)

The World was all before them, where to choose
Thir place of rest, and Providence thir guide:
They hand in hand with wandring steps and slow,
Through Eden took thir solitarie way.
(John Milton, last lines of Paradise Lost, via gordonsmith)

"We can do so much more. We can save this world... with the right leadership." (Adrian Veidt, Ozymandias in Watchmen Graphic Novel, via carlosrovira)

Testing from another computer Frédéric Thomas (fthomas).

It's a trap!

Checking to see if I'm able to push this back to origin.

Me too.  Woot.

mamsellem git commit first try (2013/09/29)

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. (Brian Kernighan)
