Created
August 13, 2008 00:53
-
-
Save Mikoangelo/5168 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
»Hey, Danny! Why don't you just go,« he asked teasingly. His little brother stood only fifty feet from him. The ideal distance, he thought. No, he didn't think. He hadn't thought for the last two years of his life. He knew. | |
»Why don't you just go?« He repeated the taunt, knowing full well what his two years younger sibling was thinking. Ever since kindergarten, he had been a little distanced from the world, as if he lived slightly out of phase with it. As if only a fraction of the world's truths were real to him. | |
He was always entranced by a movie, a comic, a sci-fi book, a cartoon. Always just sitting, never talking -- but always getting mom's attention. | |
»Mom said not to go over the street until it's empty,« Danny replied, having trouble getting his 9-year-old voice to be audible over the noise of the street. He looked at his brother standing against the lamp-post, wondering why he didn't come nearer. As usual, when something didn't make sense to him, he discarded it as his own silliness. That's what mom had always said. | |
»Look, the car's aren't gonna hurt you. Haven't you watched cartoons?« Danny loved watching Road Runner. | |
»It's your first day alone in traffic, do you really wanna make everyone think you're bad at it?« | |
»Are you sure? Mom said ...« | |
»Of course I'm sure.« He said it with a light, slightly worried laugh, and a shake of the head. Why would he do that? He was behaving very oddly. | |
»But what'll happen if a car hits me? Wouldn't it hurt?« | |
»I told you, it won't hurt!« | |
»Well, okay then ...« He pulled his bike a little forward under him, and started moving forward. | |
»Now,« the older brother said, with a weird intonation of his voice -- almost as if he was scared. The younger didn't know it was a cover, the older played the part too well. | |
»Just go!« He shouted, and started running at his brother, looking positively frightened. | |
It made no sense to Danny, so he turned his head to see what his brother was doing. | |
* * * | |
Mom came driving down the busy street running parallel to the one on which she lived. She'd just given her youngest son permission to cycle unaided in traffic. She wondered, absentmindedly, if she's made the right choice. | |
She saw the silhouette -- the sun was setting in front of her -- of a young boy at the road side, standing with a bike between his legs, looking intently at the traffic. An older boy was talking to him. He looked like he was discouraging the other from something, shaking his head a little. | |
The older boy, whom she now recognized as her older son, started running towards his brother, apparently screaming »No!« Too late she realized what was going on, and started swerving frantically. | |
* * * | |
He felt a sudden change in the direction of the wind. His childish cape, which he always wore, moved abruptly from the slow left-going breeze float, to a violent horizontal attempt to escape its wearers neck. | |
Danny moved his head quickly to the direction of the wind, and realized in that very moment what had caused that high-pitched noise. The brakes on his mother's car had little effect now, however, but gave Danny the chances of seeing his mother in sheer terror for a tenth of a second longer. | |
* * * | |
At the funeral, he was the one who cried the loudest. | |
© 2007 Mikael Høilund | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
»Hey, Danny! Why don't you just go,« he asked teasingly. His little | |
brother stood only fifty feet from him. The ideal distance, he thought. | |
No, he didn't think. He hadn't thought for the last two years of his | |
life. He knew. | |
»Why don't you just go?« He repeated the taunt, | |
knowing full well what his two years younger sibling was thinking. Ever | |
since kindergarten, he had been a little distanced from the world, as if | |
he lived slightly out of phase with it. As if only a fraction of the | |
world's truths were real to him. | |
He was always entranced by a movie, a | |
comic, a sci-fi book, a cartoon. Always just sitting, never talking -- | |
but always getting mom's attention. | |
»Mom said not to go over the | |
street until it's empty,« Danny replied, having trouble getting his 9- | |
year-old voice to be audible over the noise of the street. He looked at | |
his brother standing against the lamp-post, wondering why he didn't come | |
nearer. As usual, when something didn't make sense to him, he discarded | |
it as his own silliness. That's what mom had always said. | |
»Look, the | |
car's aren't gonna hurt you. Haven't you watched cartoons?« Danny loved | |
watching Road Runner. | |
»It's your first day alone in traffic, do you | |
really wanna make everyone think you're bad at it?« | |
»Are you sure? | |
Mom said ...« | |
»Of course I'm sure.« He said it with a light, | |
slightly worried laugh, and a shake of the head. Why would he do that? | |
He was behaving very oddly. | |
»But what'll happen if a car hits me? | |
Wouldn't it hurt?« | |
»I told you, it won't hurt!« | |
»Well, okay | |
then ...« He pulled his bike a little forward under him, and started | |
moving forward. | |
»Now,« the older brother said, with a weird | |
intonation of his voice -- almost as if he was scared. The younger | |
didn't know it was a cover, the older played the part too well. | |
»Just | |
go!« He shouted, and started running at his brother, looking positively | |
frightened. | |
It made no sense to Danny, so he turned his head to see | |
what his brother was doing. | |
* * * | |
Mom came driving down the busy | |
street running parallel to the one on which she lived. She'd just given | |
her youngest son permission to cycle unaided in traffic. She wondered, | |
absentmindedly, if she's made the right choice. | |
She saw the | |
silhouette -- the sun was setting in front of her -- of a young boy at | |
the road side, standing with a bike between his legs, looking intently | |
at the traffic. An older boy was talking to him. He looked like he was | |
discouraging the other from something, shaking his head a little. | |
The | |
older boy, whom she now recognized as her older son, started running | |
towards his brother, apparently screaming »No!« Too late she realized | |
what was going on, and started swerving frantically. | |
* * * | |
He felt a | |
sudden change in the direction of the wind. His childish cape, which he | |
always wore, moved abruptly from the slow left-going breeze float, to a | |
violent horizontal attempt to escape its wearers neck. | |
Danny moved his | |
head quickly to the direction of the wind, and realized in that very | |
moment what had caused that high-pitched noise. The brakes on his | |
mother's car had little effect now, however, but gave Danny the chances | |
of seeing his mother in sheer terror for a tenth of a second longer. | |
* | |
* * | |
At the funeral, he was the one who cried the loudest. | |
© 2007 | |
Mikael Høilund | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'rubygems' | |
require 'stringray' | |
class String | |
include StringRay | |
# Constantizes a string, changing it from snake_case or 'space case' to | |
# TitleCase, however necessary | |
def constantize | |
str = self | |
str = str.gsub /\s/, '_' | |
str = str.gsub(/(^|_)(\w)/) { "#{$2.capitalize}" } | |
end | |
def /(o) | |
File.join(self, o.to_s) | |
end | |
def indent spaces | |
if spaces.respond_to? :to_s # duck, | |
self.split("\n").map {|s| [spaces, s].join }.join("\n") | |
elsif spaces.respond_to? :to_i # duck, | |
self.split("\n").map {|s| [(' ' * spaces), s].join }.join("\n") | |
else # goose! | |
raise ArgumentError, "#{spaces} is neither string-ish nor numeric-ish" | |
end | |
end | |
# Simply returns an array of two string pieces split at +length+. | |
def split_at length | |
self.scan /.{1,#{length}}/ | |
end | |
# Wraps a string, *intelligently* | |
def wrap width, min = nil | |
raise ArgumentError, "#{width} is not numeric-ish" unless width.respond_to? :to_i | |
min ||= (width.to_i * 0.75).to_i # Default to about a third of the full width | |
raise ArgumentError, "#{min} is not numeric-ish" unless min.respond_to? :to_i | |
self.inject([""]) do |wrapped, word| | |
#puts "word: #{word.inspect}, current line: #{wrapped.last.inspect}" | |
# If we're still short enough to fit the word, do so | |
if wrapped.last.length + word.rstrip.length <= width | |
#puts "- new length #{wrapped.last.length + word.rstrip.length} (#{wrapped.last.length} + #{word.rstrip.length}) is less than #{width}\n\n" | |
wrapped.last << word | |
# Else, if we're less than minimum width | |
elsif wrapped.last.length < min | |
#puts "- new length #{wrapped.last.length + word.rstrip.length} (#{wrapped.last.length} + #{word.rstrip.length}) would be more than #{width}" | |
#puts "- current length #{wrapped.last.length} is less than #{min}\n\n" | |
bits = word.split_at(width - wrapped.last.length) | |
wrapped.last << bits.shift | |
bits.join.split_at(width) | |
bits.each {|bit| wrapped << bit} | |
# Else if neither can fit on current line, nor is line short enough; and | |
# the word is short enough to fit on the new line | |
elsif word.chomp.length < width | |
#puts "- new length #{wrapped.last.length + word.rstrip.length} (#{wrapped.last.length} + #{word.rstrip.length}) would be more than #{width}" | |
#puts "- current length #{wrapped.last.length} is more than #{min}" | |
#puts "- word's length #{word.chomp.length} is less than #{width}\n\n" | |
wrapped << word | |
# If it can't fit on the current line, and it can't fit wholly on a line | |
# by it's own | |
else | |
#puts "- new length #{wrapped.last.length + word.rstrip.length} (#{wrapped.last.length} + #{word.rstrip.length}) would be more than #{width}" | |
#puts "- current length #{wrapped.last.length} is more than #{min}" | |
#puts "- word's length #{word.chomp.length} is more than #{width}" | |
bits = word.split_at(width) | |
bits.each {|bit| wrapped << bit} | |
end | |
wrapped | |
end.join("\n") | |
end | |
end | |
File.open('danny_wrapped.txt', 'w') do |f| | |
f.write File.read('danny.txt').wrap(72) | |
end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment