﻿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 ?
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)

Frédéric Thomas (fthomas)

It's a trap!

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



