scarpe 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (239) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -0
  3. data/.yardopts +11 -0
  4. data/Gemfile +3 -0
  5. data/Gemfile.lock +112 -0
  6. data/README.md +31 -24
  7. data/Rakefile +13 -1
  8. data/docs/yard/catscradle.md +44 -0
  9. data/docs/yard/template/default/fulldoc/html/setup.rb +13 -0
  10. data/docs/yard/template/default/layout/html/setup.rb +9 -0
  11. data/examples/background_with_image.rb +16 -0
  12. data/examples/bloopsaphone/working/bronx_army_knife.rb +66 -0
  13. data/examples/bloopsaphone/working/morning_serenity.rb +21 -0
  14. data/examples/bloopsaphone/working/simpsons_theme_song_by_why.rb +6 -4
  15. data/examples/button_go_away.rb +1 -1
  16. data/examples/check.rb +18 -0
  17. data/examples/clear_and_append.rb +24 -0
  18. data/examples/download_and_show_image.rb +28 -0
  19. data/examples/edit_box.rb +3 -5
  20. data/examples/fonts.rb +2 -2
  21. data/examples/get_headers.rb +10 -0
  22. data/examples/highlander.rb +2 -0
  23. data/examples/link.rb +2 -2
  24. data/examples/local_fonts.rb +4 -0
  25. data/examples/local_images.rb +4 -0
  26. data/examples/motion_events.rb +20 -0
  27. data/examples/parse_xl_funnies.rb +58 -0
  28. data/examples/radio/radio.rb +16 -0
  29. data/examples/radio/radio_groups.rb +18 -0
  30. data/examples/radio/radio_same_slot.rb +6 -0
  31. data/examples/ruby_racer.rb +13 -15
  32. data/examples/selfitude.rb +18 -0
  33. data/examples/shapes/shapes_fill.rb +4 -3
  34. data/examples/shoes_school.rb +2 -4
  35. data/examples/show_hide.rb +6 -0
  36. data/examples/skip_ci/change_my_audio_source.rb +21 -0
  37. data/examples/skip_ci/guitar_fretboard.rb +137 -0
  38. data/examples/video.rb +10 -0
  39. data/exe/scarpe +42 -66
  40. data/fonts/Pacifico.ttf +0 -0
  41. data/lacci/Gemfile +22 -0
  42. data/lacci/Gemfile.lock +72 -0
  43. data/lacci/Rakefile +12 -0
  44. data/lacci/lacci.gemspec +37 -0
  45. data/lacci/lib/lacci/scarpe_cli.rb +70 -0
  46. data/lacci/lib/lacci/scarpe_core.rb +21 -0
  47. data/lacci/lib/lacci/version.rb +13 -0
  48. data/lacci/lib/shoes/app.rb +264 -0
  49. data/{lib/scarpe → lacci/lib/shoes}/background.rb +1 -1
  50. data/{lib/scarpe → lacci/lib/shoes}/border.rb +1 -1
  51. data/{lib/scarpe → lacci/lib/shoes}/colors.rb +1 -1
  52. data/lacci/lib/shoes/constants.rb +29 -0
  53. data/{lib/scarpe → lacci/lib/shoes}/display_service.rb +40 -45
  54. data/lacci/lib/shoes/download.rb +123 -0
  55. data/lacci/lib/shoes/log.rb +71 -0
  56. data/lacci/lib/shoes/spacing.rb +9 -0
  57. data/{lib/scarpe → lacci/lib/shoes}/widget.rb +63 -43
  58. data/{lib/scarpe → lacci/lib/shoes/widgets}/alert.rb +3 -3
  59. data/{lib/scarpe → lacci/lib/shoes/widgets}/arc.rb +7 -5
  60. data/{lib/scarpe → lacci/lib/shoes/widgets}/button.rb +3 -3
  61. data/lacci/lib/shoes/widgets/check.rb +28 -0
  62. data/lacci/lib/shoes/widgets/document_root.rb +20 -0
  63. data/{lib/scarpe → lacci/lib/shoes/widgets}/edit_box.rb +10 -5
  64. data/{lib/scarpe → lacci/lib/shoes/widgets}/edit_line.rb +2 -2
  65. data/lacci/lib/shoes/widgets/flow.rb +22 -0
  66. data/lacci/lib/shoes/widgets/font.rb +14 -0
  67. data/{lib/scarpe → lacci/lib/shoes/widgets}/image.rb +3 -7
  68. data/lacci/lib/shoes/widgets/line.rb +18 -0
  69. data/{lib/scarpe → lacci/lib/shoes/widgets}/link.rb +2 -2
  70. data/{lib/scarpe → lacci/lib/shoes/widgets}/list_box.rb +2 -2
  71. data/{lib/scarpe → lacci/lib/shoes/widgets}/para.rb +4 -26
  72. data/lacci/lib/shoes/widgets/radio.rb +35 -0
  73. data/lacci/lib/shoes/widgets/shape.rb +37 -0
  74. data/lacci/lib/shoes/widgets/slot.rb +75 -0
  75. data/{lib/scarpe → lacci/lib/shoes/widgets}/span.rb +2 -2
  76. data/lacci/lib/shoes/widgets/stack.rb +24 -0
  77. data/{lib/scarpe → lacci/lib/shoes/widgets}/star.rb +6 -9
  78. data/lacci/lib/shoes/widgets/subscription_item.rb +60 -0
  79. data/lacci/lib/shoes/widgets/text_widget.rb +51 -0
  80. data/lacci/lib/shoes/widgets/video.rb +15 -0
  81. data/lacci/lib/shoes/widgets.rb +29 -0
  82. data/lacci/lib/shoes.rb +127 -0
  83. data/lacci/test/test_colors.rb +39 -0
  84. data/lacci/test/test_helper.rb +9 -0
  85. data/lacci/test/test_lacci.rb +9 -0
  86. data/lib/scarpe/cats_cradle.rb +249 -0
  87. data/lib/scarpe/evented_assertions.rb +88 -0
  88. data/lib/scarpe/version.rb +1 -1
  89. data/lib/scarpe/wv/alert.rb +3 -2
  90. data/lib/scarpe/wv/app.rb +30 -8
  91. data/lib/scarpe/wv/arc.rb +5 -6
  92. data/lib/scarpe/wv/background.rb +10 -1
  93. data/lib/scarpe/wv/border.rb +5 -3
  94. data/lib/scarpe/wv/button.rb +11 -9
  95. data/lib/scarpe/wv/check.rb +29 -0
  96. data/lib/scarpe/wv/control_interface.rb +14 -20
  97. data/lib/scarpe/wv/control_interface_test.rb +13 -28
  98. data/lib/scarpe/wv/document_root.rb +3 -45
  99. data/lib/scarpe/wv/edit_box.rb +5 -7
  100. data/lib/scarpe/wv/edit_line.rb +2 -2
  101. data/lib/scarpe/wv/flow.rb +10 -20
  102. data/lib/scarpe/wv/font.rb +36 -0
  103. data/lib/scarpe/wv/html.rb +3 -2
  104. data/lib/scarpe/wv/image.rb +7 -2
  105. data/lib/scarpe/wv/line.rb +4 -7
  106. data/lib/scarpe/wv/link.rb +1 -0
  107. data/lib/scarpe/wv/list_box.rb +3 -3
  108. data/lib/scarpe/wv/para.rb +16 -14
  109. data/lib/scarpe/wv/radio.rb +34 -0
  110. data/lib/scarpe/wv/shape.rb +44 -8
  111. data/lib/scarpe/wv/slot.rb +81 -0
  112. data/lib/scarpe/wv/spacing.rb +1 -1
  113. data/lib/scarpe/wv/span.rb +10 -8
  114. data/lib/scarpe/wv/stack.rb +10 -30
  115. data/lib/scarpe/wv/star.rb +11 -12
  116. data/lib/scarpe/wv/subscription_item.rb +50 -0
  117. data/lib/scarpe/wv/video.rb +34 -0
  118. data/lib/scarpe/wv/web_wrangler.rb +238 -58
  119. data/lib/scarpe/wv/webview_local_display.rb +27 -5
  120. data/lib/scarpe/wv/webview_relay_display.rb +18 -119
  121. data/lib/scarpe/wv/webview_relay_util.rb +143 -0
  122. data/lib/scarpe/wv/widget.rb +80 -11
  123. data/lib/scarpe/wv/wv_display_worker.rb +17 -4
  124. data/lib/scarpe/wv.rb +33 -4
  125. data/lib/scarpe/wv_local.rb +1 -1
  126. data/lib/scarpe/wv_relay.rb +1 -1
  127. data/lib/scarpe.rb +3 -32
  128. data/scarpe-components/.gitignore +1 -0
  129. data/scarpe-components/Gemfile +22 -0
  130. data/scarpe-components/README.md +35 -0
  131. data/scarpe-components/Rakefile +12 -0
  132. data/scarpe-components/lib/scarpe/components/base64.rb +29 -0
  133. data/scarpe-components/lib/scarpe/components/file_helpers.rb +65 -0
  134. data/scarpe-components/lib/scarpe/components/modular_logger.rb +113 -0
  135. data/scarpe-components/lib/scarpe/components/print_logger.rb +43 -0
  136. data/{lib/scarpe → scarpe-components/lib/scarpe/components}/promises.rb +102 -35
  137. data/scarpe-components/lib/scarpe/components/segmented_file_loader.rb +170 -0
  138. data/scarpe-components/lib/scarpe/components/unit_test_helpers.rb +217 -0
  139. data/scarpe-components/lib/scarpe/components/version.rb +7 -0
  140. data/scarpe-components/scarpe-components.gemspec +38 -0
  141. data/scarpe-components/test/test_components.rb +9 -0
  142. data/scarpe-components/test/test_helper.rb +23 -0
  143. data/scarpe-components/test/test_promises.rb +260 -0
  144. data/scarpe-components/test/test_segmented_app_files.rb +182 -0
  145. data/{lib/scarpe → spikes}/glibui/widget.rb +2 -2
  146. data/{lib/scarpe → spikes}/glibui.rb +1 -1
  147. data/templates/basic_class_template.erb +1 -1
  148. data/templates/class_template_with_event_bind.erb +1 -1
  149. data/templates/class_template_with_shapes.erb +1 -1
  150. data/templates/webview_template.erb +0 -3
  151. metadata +165 -117
  152. data/examples/fill.rb +0 -25
  153. data/examples/legacy/not_checked/shoes-contrib/basic/class-book.yaml +0 -387
  154. data/examples/legacy/not_checked/shoes-contrib/good/good-clock.rb +0 -51
  155. data/examples/legacy/not_checked/shoes-contrib/good/good-follow.rb +0 -26
  156. data/examples/legacy/not_checked/shoes-contrib/good/good-reminder.rb +0 -174
  157. data/examples/legacy/not_checked/shoes-contrib/good/good-vjot.rb +0 -56
  158. data/examples/legacy/not_checked/shoes-contrib/simple/simple-timer.rb +0 -13
  159. data/examples/legacy/not_checked/shoes-dep-samples/good-clock.rb +0 -51
  160. data/examples/legacy/not_checked/shoes-dep-samples/good-follow.rb +0 -26
  161. data/examples/legacy/not_checked/shoes-dep-samples/good-reminder.rb +0 -174
  162. data/examples/legacy/not_checked/shoes-dep-samples/good-vjot.rb +0 -56
  163. data/examples/legacy/not_checked/shoes-dep-samples/simple-accordion.rb +0 -75
  164. data/examples/legacy/not_checked/shoes-dep-samples/simple-anim-shapes.rb +0 -17
  165. data/examples/legacy/not_checked/shoes-dep-samples/simple-anim-text.rb +0 -13
  166. data/examples/legacy/not_checked/shoes-dep-samples/simple-arc.rb +0 -23
  167. data/examples/legacy/not_checked/shoes-dep-samples/simple-bounce.rb +0 -24
  168. data/examples/legacy/not_checked/shoes-dep-samples/simple-calc.rb +0 -70
  169. data/examples/legacy/not_checked/shoes-dep-samples/simple-chipmunk.rb +0 -26
  170. data/examples/legacy/not_checked/shoes-dep-samples/simple-control-sizes.rb +0 -24
  171. data/examples/legacy/not_checked/shoes-dep-samples/simple-curve.rb +0 -26
  172. data/examples/legacy/not_checked/shoes-dep-samples/simple-dialogs.rb +0 -29
  173. data/examples/legacy/not_checked/shoes-dep-samples/simple-draw.rb +0 -13
  174. data/examples/legacy/not_checked/shoes-dep-samples/simple-editor.rb +0 -28
  175. data/examples/legacy/not_checked/shoes-dep-samples/simple-form.rb +0 -28
  176. data/examples/legacy/not_checked/shoes-dep-samples/simple-form.shy +0 -0
  177. data/examples/legacy/not_checked/shoes-dep-samples/simple-mask.rb +0 -21
  178. data/examples/legacy/not_checked/shoes-dep-samples/simple-menu.rb +0 -31
  179. data/examples/legacy/not_checked/shoes-dep-samples/simple-menu1.rb +0 -35
  180. data/examples/legacy/not_checked/shoes-dep-samples/simple-rubygems.rb +0 -29
  181. data/examples/legacy/not_checked/shoes-dep-samples/simple-slide.rb +0 -45
  182. data/examples/legacy/not_checked/shoes-dep-samples/simple-sphere.rb +0 -28
  183. data/examples/legacy/not_checked/shoes-dep-samples/simple-sqlite3.rb +0 -13
  184. data/examples/legacy/not_checked/shoes-dep-samples/simple-timer.rb +0 -13
  185. data/examples/legacy/not_checked/shoes-dep-samples/simple-video.rb +0 -13
  186. data/examples/legacy/not_checked/simple/anim-text.rb +0 -13
  187. data/examples/legacy/not_checked/simple/arc.rb +0 -23
  188. data/examples/legacy/not_checked/simple/bounce.rb +0 -24
  189. data/examples/legacy/not_checked/simple/chipmunk.rb +0 -26
  190. data/examples/legacy/not_checked/simple/curve.rb +0 -26
  191. data/examples/legacy/not_checked/simple/dialogs.rb +0 -29
  192. data/examples/legacy/not_checked/simple/downloader.rb +0 -40
  193. data/examples/legacy/not_checked/simple/draw.rb +0 -13
  194. data/examples/legacy/not_checked/simple/mask.rb +0 -21
  195. data/examples/legacy/not_checked/simple/slide.rb +0 -45
  196. data/examples/legacy/not_checked/simple/sphere.rb +0 -28
  197. data/lib/constants.rb +0 -5
  198. data/lib/scarpe/app.rb +0 -78
  199. data/lib/scarpe/document_root.rb +0 -20
  200. data/lib/scarpe/fill.rb +0 -23
  201. data/lib/scarpe/flow.rb +0 -19
  202. data/lib/scarpe/line.rb +0 -25
  203. data/lib/scarpe/logger.rb +0 -155
  204. data/lib/scarpe/shape.rb +0 -19
  205. data/lib/scarpe/spacing.rb +0 -9
  206. data/lib/scarpe/stack.rb +0 -70
  207. data/lib/scarpe/text_widget.rb +0 -42
  208. data/lib/scarpe/unit_test_helpers.rb +0 -163
  209. data/lib/scarpe/widgets.rb +0 -30
  210. data/lib/scarpe/wv/fill.rb +0 -30
  211. data/lib/scarpe/wv/shape_helper.rb +0 -44
  212. /data/{lib/scarpe → spikes}/glibui/README.md +0 -0
  213. /data/{lib/scarpe → spikes}/glibui/alert.rb +0 -0
  214. /data/{lib/scarpe → spikes}/glibui/app.rb +0 -0
  215. /data/{lib/scarpe → spikes}/glibui/background.rb +0 -0
  216. /data/{lib/scarpe → spikes}/glibui/border.rb +0 -0
  217. /data/{lib/scarpe → spikes}/glibui/button.rb +0 -0
  218. /data/{lib/scarpe → spikes}/glibui/dimensions.rb +0 -0
  219. /data/{lib/scarpe → spikes}/glibui/document_root.rb +0 -0
  220. /data/{lib/scarpe → spikes}/glibui/edit_box.rb +0 -0
  221. /data/{lib/scarpe → spikes}/glibui/edit_line.rb +0 -0
  222. /data/{lib/scarpe → spikes}/glibui/flow.rb +0 -0
  223. /data/{lib/scarpe → spikes}/glibui/html.rb +0 -0
  224. /data/{lib/scarpe → spikes}/glibui/image.rb +0 -0
  225. /data/{lib/scarpe → spikes}/glibui/link.rb +0 -0
  226. /data/{lib/scarpe → spikes}/glibui/local_display.rb +0 -0
  227. /data/{lib/scarpe → spikes}/glibui/para.rb +0 -0
  228. /data/{lib/scarpe → spikes}/glibui/spacing.rb +0 -0
  229. /data/{lib/scarpe → spikes}/glibui/stack.rb +0 -0
  230. /data/{lib/scarpe → spikes}/glibui/text_widget.rb +0 -0
  231. /data/{lib/scarpe → spikes}/libui/alert.rb +0 -0
  232. /data/{lib/scarpe → spikes}/libui/button.rb +0 -0
  233. /data/{lib/scarpe → spikes}/libui/colors.rb +0 -0
  234. /data/{lib/scarpe → spikes}/libui/core.rb +0 -0
  235. /data/{lib/scarpe → spikes}/libui/flow.rb +0 -0
  236. /data/{lib/scarpe → spikes}/libui/libui.rb +0 -0
  237. /data/{lib/scarpe → spikes}/libui/notepad.md +0 -0
  238. /data/{lib/scarpe → spikes}/libui/para.rb +0 -0
  239. /data/{lib/scarpe → spikes}/libui/stack.rb +0 -0
@@ -1,387 +0,0 @@
1
- - - The Milkman Who Couldn't Sleep
2
- - |
3
- Ronaldo was a milkman who found that he couldn’t sleep at night. Rather than fight it, he determined to leave his house and sell milk.
4
-
5
- The first door was answered by an elderly man who invited Ronaldo in for a glass of milk. Ronaldo sat at the table and said nothing until he realized that the old man was pouring him a glass of milk product from a competitor. Ronaldo went to stop the milk with his hands and his hands perished in the stream. As Ronaldo could no longer hold his own glass, the old man promptly ejected Ronaldo from his house.
6
-
7
- The second door was answered by a man named Milton who had no defining characteristics except for an orange hankerchief tied around his head, a bionic arm, and an unforgettable expression of loyalty to governments of all manner. Ronaldo offered him a milk bottle. Milton picked up the bottle with his bionic arm. Impressed, Ronaldo retrieved the bottle of milk back from Milton’s bionic arm. Milton uttered something in the language spoken by human internal organs. Ronaldo’s stomach and lungs turned on their jetpacks and flew skyward.
8
-
9
- The third door was answered by a priest millionaire. He had a giant cross made from crushed tens and twenties. As Ronaldo took a tour of the house, he looked around for spare internal organs and hands. As it happened the good Reverend took Ronaldo through a laboratory containing replacement body parts. Such excitement surged through Ronaldo that he ran toward a possible candidate stomach and lungs, running with such velocity so that he tripped and flew into a shoot that could only fit his lower body and his milk supplies. It was this remaining Ronaldo that was deposited outside the house and resumed the route.
10
-
11
- The fourth door was answered by a pair of white-clad gentleman who took a beltsaw and whittled Ronaldo down to just a leg.
12
-
13
- The fifth door was answered by a little colorblind girl with scorpions crawling all over her neck and arms. All she saw was the milk carton and Ronaldo’s leg. So she thanked the carton of milk and squeezed a glass of blood from the opening in Ronaldo’s leg.
14
-
15
- - - Emptiness
16
- - |
17
- Harriet and Clover were at the mall, trying on hats. Harriet happened to put on a certain hat that was loaded to the brim with mosquitoes. A few mosquitoes got the idea to hide there and a bunch of other mosquitoes simply copied the idea. They worked quickly on Harriet, devouring her to such an extent that when Clover came over to demonstrate a skirt, Clover screamed and dropped the skirt. Harriet had been replaced by emptiness.
18
-
19
- These days the universe is all about emptiness.
20
-
21
- - - Regrets
22
- - |
23
- Humphrey worked pouring concrete for over twenty-five years, when one day he discovered that he was pouring concrete on to a cat. He stopped the mixer to rescue the cat, but he discovered that several cats were now firmly encased in concrete. Reaching, lumpy, and buried cats. Firmly encased.
24
-
25
- Later that day, he wandered to an old job site and found that the sidewalk wound up and over the shapes of cats, dogs, birds and ostriches. His eyes darkened as he continued to visit curbs where he had inadvertantly paved over families, arcade machines, moving trucks. He was abhorred by his neglect and fiercely pounded his face with his fists.
26
-
27
- His regret was vast and contoured. He longed to set things right. He took up a jackhammer and began banging into the solidifed shape of a man on a hangglider, but couldn’t make progress. Consumed by his guilt, he took a long walk through a parkway where the cars screamed by furiously. He made up his mind to throw himself in front of a car.
28
-
29
- Fortunately, two stories above Humphrey, a minister happened to drop a massive Bible on Humphrey’s head, which crushed him instantly. A man should not have to kill himself if a large Bible can do it for him.
30
-
31
- - - The Berkowitz Manuevre
32
- - |
33
- Long before the actual city of New York, the city of New York existed in the mind of its creator. In this dream city, there lived an ordinary man. (Ordinary in the sense that only dream people can be. Which is to say: Extraordinarily plain for a very wispy, immaterial person.)
34
-
35
- This man drew no attention to himself. He walked in such a way that he completely complied with crowds. His height was such that he was constantly overshadowed, though always present. His home was situated in a place where no one would ever look and his street address consisted of an imaginary number, such that it didn’t translate from the dream into the mind. It is common for such people to live this way in a dream, and it is most orderly of him to do so.
36
-
37
- This ordinary man concealed a great secret from the mind of his creator. This secret was called the Berkowitz Manuevre. You know enough about it now, so please go away.
38
-
39
- - - Ignored
40
- - |
41
- Ormus the canary was born the size of a single atom. Which means that no one actually knew about him. He is much like the dream people and the other things that have happened so far.
42
-
43
- He attends martial arts exhibitions and has seen some pretty cheap shots in his time.
44
-
45
- - - Birthstones
46
- - |
47
- Because she drank malts to excessive degrees, Edgar divorced his wife and decided to go back to school. He purchased school supplies and enrolled at a community college. He looked around the big campus with wonderment and met a young girl with a green glitter pen over by the fountain.
48
-
49
- He stood by the fountain and said to her, “Hi, I’m Edgar. Do you like malts?”
50
-
51
- She said, “No,” and Edgar smiled deeply.
52
-
53
- Her name was Tepiolia and she identified Edgar’s birthstone as the sapphire. This startled Edgar, as he had never had any connection to jewelry before. He was flattered and laughed like a child.
54
-
55
- At the conclusion of their conversation, Edgar began his quest to find the world’s largest natural sapphire. He mountaineered for seventeen weeks and finally found a massive rock wall composed entirely of sapphire.
56
-
57
- He surveyed the surface of the glimmering mountain, his thoughts returning to Tepiolia and her glitter pen. How strangely it has glittered greenly. His heart beat thickly as he drove the pick into the mountainside, desiring an adequate stone to return home with. Look at these stones, he thought. Birthstones.
58
-
59
- From then on, everything he did involved sapphires and he missed out on some of the other brilliant things people do, such as playing pinball.
60
-
61
- - - Water
62
- - |
63
- Curdy Applehorn lived in a time when nothing existed except for a vast body of water. He felt serenity as he gazed upon the still waters.
64
-
65
- Then he said, “If there is nothing but water, then what am I? Am I mere water as well?”
66
-
67
- At this point I must interject. Of course Curdy is not water. He is a character in a novel that someone else has written and I have borrowed him for this story.
68
-
69
- And so Curdy wondered, “How delightful. I wonder what I am doing in the novel.”
70
-
71
- To which I add that the novel is a tale of a man named Curdy Applecorn, who (out of unsurpassed love) attempts to live with a species of oversized scorpions. As their only plaything, Curdy becomes subject to incessant stinging and a gradual excavation of his visceral cavity.
72
-
73
- So then Curdy came to dread the coming of the end of this story. But he came to realize that there was nothing else to talk about really, as there was not a suitable environment for plot, motif, or character development here. So he said goodbye to the water.
74
-
75
- - - Waking
76
- - |
77
- Though she has been suicidal for some five months, Ruthie awoke one morning in an excellent prescence of mind. She descended the staircase and entered the kitchen with her arms spread. She kissed all the children and all the house animals. She kissed her servants, her attendants and accountants, finally ending with a kiss to the center of the floor. She also did a twirl after that.
78
-
79
- The faces of her servants were especially grim, so she asked them, “Does my sudden change of face frighten you? Does it shock you really?”
80
-
81
- “No”, a maid said. “But did you forget? You locked the other maid Madeline in the meat locker last night and burned her possessions. Do you not remember? It was dreadful.”
82
-
83
- But Ruthie’s mind was in such a state of bliss that she couldn’t comprehend such disaster. And she did let Madeline out of the meat locker and gave her four days of paid vacation and $500 spending money.
84
-
85
- - - The Man
86
- - |
87
- A man built an automobile entirely from carrots and was known for it in several counties. When people spoke with him, they would speak of nothing but carrots. There came a day when the man realized that he couldn’t remember ever having non-carrot discussions. Fueled by an intense will to free himself from this cruel and perpetual cycle, the man set off to blaze a new trail for himself.
88
-
89
- The man rented a bird costume and jumped off the roof of a hotel in town. He didn’t survive the fall, which was probably best, as soon there wasn’t a man nor woman on Earth that didn’t drive a carrot car.
90
-
91
- - - Ghosts
92
- - |
93
- Spencer woke up one night to a crash downstairs in his manor. He raised the torch off the wall and crept silently to the stairs.
94
-
95
- The lights were on all across his estate. From his vantage point at the top of the stairs, he could see twelve ghosts painting his walls, touching up the trim, and hanging new drapes. He screamed in terror, possessed by the thought: These ghosts must think this house is theirs now. He turned to hide and sort out his strategy, but the ghosts sang in twelve-part harmony and soothed Spencer into a calming stupor. It was no time at all until Spencer determined that these were genuinely good ghosts that had simply come to remodel his beautiful palace.
96
-
97
- In the end, Spencer overworked the twelve ghosts to the point that each ghost wound up looking like a long thread with some bumps in it.
98
-
99
- - - The End
100
- - |
101
- Michel not only found a decent rope at the hardware store, but he purchased it at a discounted rate because the rope only had one end. He went to stow the rope in the garage, but his wife stopped him and poked him with her hand.
102
-
103
- She pointed back at all of the rope lingering outside the door and said, “Aren’t you going to wind this rope up on a spool?”
104
-
105
- “I can’t,” replied Michel helplessly. “This rope has no end. I could begin winding and never stop.”
106
-
107
- Michel’s wife then asked, “Well, then why didn’t you cut a section off?”
108
-
109
- He caught himself just as he was about to say, “I didn’t think of that.” He didn’t say it, as he knew it would confirm many of his wife’s suspicions about men. So he said, “Here,” and tossed the rope over his wife’s head and a coil of it landed in a box in the garage.
110
-
111
- He went upstairs to look at photographs through a magnifying glass.
112
-
113
- Michel’s wife ventured into the garage and poured gasoline on to the rope and let it burn, confirming many of Michel’s suspicions about women. The flame burned rope from their home to the hardware store, then began travelling along the rope through space, towards the point at which infinity begins.
114
-
115
- As it raced along, the tiny flame ignited the atmospheres of planets, each of which glowed brightly for a time and then crumbled distantly in the rope’s trail. Space crackled as the strength of the flame grew. Soon it was a comet and, soon, a blazing monstrosity. The fireball grew to fill an entire universe and its size began to grow quicker than its acceleration. And so it reached backwards toward Michel.
116
-
117
- At first, he was confused by the intense heat that came through the magnifying glass and lapped up his photographs. But soon he was no more.
118
-
119
- - - The Incident
120
- - |
121
- A crew of news reporters was wandering the neighborhoods, looking for incidents to report. They found several to choose from and finally focused on a certain infestation of fruit flies. They were alarmed at the quality and intimacy of the footage they recorded that afternoon and found it difficult to leave the scene of the incident.
122
-
123
- Taking some artistic license, the cameraman broadened the camera view to capture scenes of children who (hearing of the news crew) came to ride their bicycles and appear on the news. The cameraman continued to film one dark-haired boy and eventually followed the young man on to college at Stanford, also filming his adventures in London and the Slavic countries.
124
-
125
- Some stayed and lived with the fruit flies and others evaporated at sunset.
126
-
127
- - - Duck Typing
128
- - |
129
- Once there was a man who walked like a duck and talked like a duck. He was made into a very long pillow.
130
-
131
- - - The Man Who Happened to Reach Up
132
- - |
133
- There was a man who happened to reach up higher than anyone ever had before, so his hand got stuck in a cloud. And he got dragged all over the sky.
134
-
135
- A lot of his old buddies really got a kick out of seeing him fly by whenever they showed weather maps on the news.
136
-
137
- - - The Man Who Happened to Have Legs
138
- - |
139
- One of the first strange things to ever happen was when a man was born and turned out to be nothing more than twelve legs coming from a cloud. When people saw him, they usually ended up thinking that he was David Blaine or some other magician pulling a stunt.
140
-
141
- So David Blaine got a really bad rap about it and people started putting a lot of pressure on him to do regular card tricks that just told a story or something.
142
-
143
- - - The Skier
144
- - |
145
- One man had become such an impulsive skier that he started skiing down dirt roads in the summer. It actually wasn’t such a bad sport and the guy won a silver medal when Dust Country Skiing went national.
146
-
147
- The fashion these people wore was atrocious, though. It was common to see ski poles with leather tassles on the handles and such nonsense.
148
-
149
- - - Javek and The Candle
150
- - |
151
- Devilish beasts invaded the property of a man Javek and chased him from his premises. He ran for days, with only a small candle to help guide him. The chase became so exhausting and elaborate that Javek’s fear became absolutely perfect. Running from broad monsters and always hearing their thick breath, he viewed himself as a tiny creature, a morsel. He ultimately sought love and guardianship from the candle, which the candle willingly gave for many years, long after the monsters had lost interest in Javek.
152
-
153
- On a certain spring day, Javek sought shelter from the rain and walked along the parkway, peering into the village stores. One sign read:
154
-
155
- We need someone strong to watch our candles at night.
156
- Call us if you can do it.
157
-
158
- Javek walked into the store and forthrightly told the store manager, “Let me watch your candles. I am not strong, but I will show them such love! Here, see how I always carry a candle with me.”
159
-
160
- He held out the candle, which had formed its own grooves for Javek’s fingers. The store manager was in the middle of a sale and asked Javek to pardon him for a moment while he finished ringing up a customer’s bill. When the customer left, the manager told Javek that he had just sold all the candles in the store (to that customer who just left!) and was retiring. He no longer needed a candlewatcher. The manager apologized that Javek had come all the way down to the shop and encouraged Javek to call in advance next time.
161
-
162
- Javek raced from the store and followed the customer who had purchased the store’s supply of candles. He spied on the man all day, watching the man as he negotiated at the market and as he met up with a pilot friend for lunch.
163
-
164
- The day became evening and the man walked home. Javek shadowed the man, walking with soft, waxy steps. When they hit Hoyt Ave., the man turned into one of those devilish beasts.
165
-
166
- In that moment of terror, Javek’s first thought was, “Oh no, he’ll eat my candle!” Which was ridiculous. And Javek knew it was ridiculous, so he laughed. A person can only get so serious about a candle before he has to loosen up about it.
167
-
168
- (And for those of you who are wondering: No, the devilish beast didn’t hear Javek laughing. And no, the beast didn’t come and eat Javek. The beast went home and ate half a pig and a few candles, then slept soundly.)
169
-
170
- - - Milk Powers
171
- - |
172
- Trace was carrying five cartons of milk into her room and she lost control of them, spilled them all on to her bed. The milk made a decent bedspread.
173
-
174
- - - The Little Piece of Cloth
175
- - |
176
- Let us say that there was a little piece of cloth that could fly. And it was joined in midair by a tile which could fly in like manner. The little piece of cloth and the tile became extremely devoted to each other over the years. The little piece of cloth felt she was in love with the tile, though she never spoke candidly of it.
177
-
178
- It turns out that so much flying can cultivate love. And their love advanced to the point that they actually made a promise to each other. They promised on the number one that they would always fly with each other and never stop flying. (Cloth and tile are so simple as to only understand the number one. It is like God, but also like a discus.)
179
-
180
- The promise brought pleasure to their lives and they flew for a decade in a sleep, side-by-side. Their calmness settled upon the world as well and there was rich, warm silence.
181
-
182
- Slowly, the wind died down until it could carry them no longer and they fell straight into a pond. Though initially startled, the water refreshed them and their senses enlarged. And for some reason, they didn’t care to much about the promise. They gave each other sinister looks and laugh at their naughtiness. Ah, how lovely that good friends can easily fall into pools and laugh jointly at their broken promises!
183
-
184
- - - The Tandem Bicycle
185
- - |
186
- A man and his wife were vacationing on the beach and decided to rent a tandem bicycle. After browsing over the various models, they decided upon one which had seating enough for all of the world’s inhabitants. (This included all kinds of animals, crustaceans, plant life, etc.) They took the bike for a spin, kindly offering rides to everyone they met.
187
-
188
- Soon enough, the bike was full of all of the inhabitants of the entire Earth. The couple set a very relaxing pace, so no one got tired. Onwards the great string of entities calmly rode together, watching the skyline.
189
-
190
- Suddenly, it occured to the couple that if they could sneak off the bicycle, then they could steal the entire planet while no one was looking. They snuck off the bike, still moving their feet in the air, as if they were pedaling. The illusion worked perfectly and the husband conquered America while the wife took over Asia and Europe. It turns out that a little boy named Tyler had also snuck away and captured Africa, so he was adopted by the husband and wife.
191
-
192
- Everybody else stayed on the tandem bicycle. So, years later, when the husband and the wife and Tyler got bored and wanted to get back on the bike, they couldn’t find their old seats.
193
-
194
- - - The Queen-Sized
195
- - |
196
- Once there was a queen-sized mattress who had back problems of her own. This went on for years.
197
-
198
- Then, the movers came. The people who slept on her were moving. The movers picked up the weary mattress and a massive spinal cord fell out from the underside of the queen-sized. The movers screamed in horror, but the queen-sized felt such relief. Euphoria spread across her quilted lumps and she whispered to the movers, “Be still, my busy friends. (Though it be easier for me since my nervous system fled.)”
199
-
200
- And I just want you all to know that this story is not in any way about accepting paralysis or even wishing for it. I honestly can’t say it’s about much at all.
201
-
202
- - - Wristwatches
203
- - |
204
- A man had a talking wristwatch. It’s true. Unfortunately, this man was a very poor conversationalist and he rarely spoke to the poor watch. In time, the watch became estranged from its owner.
205
-
206
- But one day there was an attack on Earth. A roller coaster of aliens, with two to each seat, and with the over-the-shoulder restraints, came writhing through the atmosphere and started blasting away at all the people. The man with the wristwatch was there. He panicked. Sprinted through the streets looking for an obscure hiding place where he could never be found.
207
-
208
- The wristwatch screamed as well, “Get us out of here! Over in to the cathedral there!”
209
-
210
- In the hysteria, the man found himself naturally speaking with the watch, uninhibited. “I’m going to take care of you!” he yelled.
211
-
212
- The cathedral happened to be the alien homebase, though. When the man came in close proximity, his bones were ripped out of his body by a huge bone magnet the aliens had. Tragic, I know. The watch wailed horribly, but it used vibrate mode, so the sound didn’t attract the attention of the assailants.
213
-
214
- To swiftly close, let me add that the humans ended up winning the battle, saved by some quick thinking on the behalf of a bunch of inner city skateboarders. The rescue team secured the watch, who was immediately informed that he was not the only watch of his kind, that there were in fact millions of talking wristwatches. But he had a rough recovery, was left with a pretty bad tick, and it turned out that the other watches were a pretty ruthless group, so they referred to him by a derogatory term which isn’t a vulgarity for humans. Still, out of respect for these devices, I’ll curb my sharing of it with you.
215
-
216
- - - The Advisor
217
- - |
218
- It just so happened that Klaus Mashwitz was excellent at building robots and he built himself a robot to act as his personal confidante and close advisor. The Advisor accompanied him everywhere and the two were inseparable. Their fame spread. Klaus built other machines. He burned through forty million dollars and five marriages before The Advisor stopped him mid-stride, right when they were approaching the bamboo garden in Golden Gate Park.
219
-
220
- “I’ve been a good friend and a proper counselor these many years,” said The Advisor, his hand on Klaus’ chest, holding him still, “and yet, looking back, I can see that my advice has been worthless to you. You’ve ignored all of it, the very information you designed that I give to you. And now, your life is in ruin.”
221
-
222
- Klaus was silent and nodded carefully. He spread his fingers out and answered only with, “What can I tell you?”
223
-
224
- The Advisor was firm, “You can start taking my advice.”
225
-
226
- “I’ll tell you what,” said Klaus. “You’ve always been kind and good to me. So, I’ll strike a deal with you. You give me one bit of advice and I will follow it. If it works out, I will follow the next bit of advice. And so on. I’m an old guy now, but—who knows—maybe it’s time for me to put it in cruise control and hand things over to my oldest friend.”
227
-
228
- Now, you’re not going to believe this, but Klaus took the bit of advice offered by the shrewd robot, his advisor! Gruesome as it is, The Advisor asked Klaus to kill himself. That way, The Advisor could replace Klaus’ insides with new robotic viscerals and brain functions. A new Klaus which would live forever and live right and no one would know any different.
229
-
230
- And so, Klaus did the shooting and The Advisor did the gutting.
231
-
232
- Soon enough, the new Klaus was out on the streets, charming and dazzling mankind. Most people knew it wasn’t Klaus, though. The Advisor’s measurements were off a bit and about an inch of metal was exposed on the inside of Klaus’ left eye. And the new Klaus had such a weak stomach that he often disturbed family meals by vomiting diodes all over the place.
233
-
234
- But people got along with him. Good advice is good advice.
235
-
236
- - - Speaking of Flutes
237
- - |
238
- I am authorized to speak of flutes and certain floutists, one of whom was interested in furthering his career and in forcing flutework to the forefront of pop culture. So this floutist, he parachuted into small towns, playing trills all the way down.
239
-
240
- The first town he landed in was called Eccles. He captivated the crowd below, but fell straight through a new walnut bureau, crafted by a local artisan. Newpapers read: “Stray Piper Strikes Through Solid Drawers” or such nonsense.
241
-
242
- Fall came and he orchestrated a second drop over a larger city, Merriwealth. And, again, bedazzlement. People loved it. The city pool was also opening that day. Sadly, no ripples were made in its surface. And a child left his pet bat’s cage open. A suit store was robbed. The printed headlines broadly rang, “Charm Upon City Unstitches One Tailor’s Already Threadbare Pockets.”
243
-
244
- And the floutist also saw Rascot. A town which is nothing but forest. The preceding day, the town was ravaged by an upright dog. The floutist ran for ten miles before the monstrous dog overtook him and bellied him whole.
245
-
246
- So, from the newspapers: “Dog Man At Last Acts Favorably.”
247
-
248
- - - Kimothy's Mouth
249
- - |
250
- Kimothy’s mouth was a warp zone. Which meant that infrequently—gosh, let’s say about as often as two archers dive into an ocean simultaneously—a pair of trousers or a coupon book or something would fly off her tongue. This even happened at church and at job interviews.
251
-
252
- You should also know about one day in her history when a man dressed in radios all over ran up to her and said, “I need to deliver this Mondrian Cowl to the Dreyfrowns!” And he shoved a monkey statue in her mouth.
253
-
254
- Okay, so get this. A little while later she was waiting for a friend, down in this hotel lobby. And she was looking around and she saw that same monkey statue over by the fireplace! The one for the Dreyfrowns.
255
-
256
- She tucked her chin down and, very discreetly, nudged the monkey statue back into the fireplace. And, slowly, everso slowly, she let it topple out of her lips.
257
-
258
- The rest of the afternoon Kimothy spent swallowing coins and watching hot nickels land on the feet of people who went to warm their hands. That is, until a guy with giraffe hands came out of her mouth and said, “Stop screwing with our warp zone!” and he slapped her a memorable number of times right on the forehead with his flattened palm.
259
-
260
- - - The Jump Wanter
261
- - |
262
- After watching The Absent-Minded Professor, this kid named Esel Striff wanted his own bouncing shoes. He was a bright kid, so he invented a pair of shoes that could leap twelve solid feet into the air.
263
-
264
- His calculations were, sadly, very completely wrong. And when he went to try the shoes out, he found that he had not invented jumping shoes; but, instead, he had invented shoes which rumbled and popped, before transforming his legs into the thick, hairy legs of a Clydesdale horse.
265
-
266
- His legs were beautiful and most professional equestrians considered his legs to be “show quality.” One horse enthusiast, Liberty Shale, was intensely attracted to him, and pursued him shamelessly, having wanted a real centaur for herself since purchasing a pewter figurine (equipped with hair beads and a powderhorn) at the tender age of 25.
267
-
268
- This, along with the cloud of flies continually harvesting the mucus from his eyes, put tremendous strain on Esel’s psyche. He soon felt the only answer was to invent a complete set of bouncing horseshoes. (Yes, after a viewing of The Absent-Minded Professor.)
269
-
270
- And that’s why, to this day, you can spot a centaur with a lab coat, wandering the countryside with Korean food spontaneously spewing from his hooves. Esel Striff, ladies and gentlemen.
271
-
272
- - - The Life Guy
273
- - |
274
- This guy—the Life Guy—ate nothing but heat lamps and defecated only wholy intact live salmon. Such was his appetite. And talk about healthy. Renaissance painters could have spent years attempting to capture the rosiness in the Life Guy’s cheeks.
275
-
276
- At the coaxing of one of his roommates, who was pretty convinced that the Life Guy’s eating habits were a manifestation of deeper issues (the Life Guy lacked a solid father figure) and that perhaps the lamp devourings were shredding the esophagus, the Life Guy went in for a colonoscopy. Well, the doctor discovered that his insides were fine and that they simply consisted of a complex ecosystem of lifeforms. An entire world where the heat from the lamps fed the plants under the sea, which lifted the rivers up and pushed them along, which leaked springs and bubbled the lilypads, which stimulated the activity of crocodiles and caused their teeth to swell into marionettes which harvested fish as a pasttime—fish which were ultimately rubbish to the entire life cycle and were tossed in the rain gutter.
277
-
278
- Anyway, the gastroenterologist had kind of a crazy idea and, considering that such an opportunity was unlikely to present itself again, he went ahead and transplanted a dollhouse art museum in the very center of the universal innards. He then stitched up Life Guy and sent him on home.
279
-
280
- However, I am sad to report that the art museum’s grand opening was very well attended by the marionettes. So many guests arrived that the caterers of the event ended up tossing out leagues of soiled paper place settings, some of which they sent up in hot air balloons to clear off the driveways. When Life Guy woke up the next morning, every passageway was clogged, he tried popping a few Sudafed but suffocation couldn’t wait for its moment. You can blame the gastroenterologist if you like for the death of Life Guy, but it’s just another textbook case for microdecoration’s misplaced zeal.
281
-
282
- - - The Story Life Doesn't Explain
283
- - |
284
- Once there was another guy, same as The Life Guy: he ate heat lamps and crapped fish. But this one didn’t have an ecosystem inside. This time, it was just the guy’s diet.
285
-
286
- He went deepsea diving with his business partner, Jamie Tartreuse. While he was down there, he saw a swordfish swimming along that had a whole giraffe carcass stuck on its nose.
287
-
288
- The guy didn’t panick or anything, but he did say to himself, inside his mask, “From now on, life isn’t self-explanatory.” That guy hit the nail on the head.
289
-
290
- - - The Grieving Boar
291
- - |
292
- So this random boar lost his whole family in a missile attack. Some guerillas were camped out by his family’s cave and the whole thing went down bad. Worse yet, his favorite fruit, the seedless storkberry was wiped out during the attack. He wandered for three-hundred miles and found nothing close to the succulence and aroma of the seedless storkberry. Like I say, we have a grieving boar on our hands.
293
-
294
- Anyway, he resorted to eating live storks which happened to perch on low branches. He really acquired a taste for them, since they are seedless as well. And so, years later, when he happened to wander across an actual seedless storkberry tree, he didn’t even recognize it. In fact, he was in charge of a special ops team plagued by poor visibility and he didn’t think twice before blowing up the tree with a missile and feasting upon the blasted-out remains of the pile of storks who fell from the tree.
295
-
296
- He was a pretty despicable creature by now. When he couldn’t reach his kids on mobile phone, he’d have his subordinates dial the number over and over until someone picked up. My sister’s boss does the same thing to her and I simply refuse to write incidents about this kind of scum.
297
-
298
- - - Jentle and Pailey
299
- - |
300
- I don’t know how he figured it out, but this one particular 21st century human male discovered that by rubbing his face against a goat’s face, he could produce this ungodly wailing sound that was so loud most people in the countryside thought a village was getting ripped in half. One old man heard the sound through ten stacked windshields he fell asleep underneath. The soundmaker’s name was Jentle and he was a real troublesome guy, always kicking milk pails or running off to making that ungodly sound with the goat.
301
-
302
- Now believe it or not, on the other side of the world, exactly opposite Jentle was a little girl who could produce the same exact sound by running a frog along her shoe laces. It was truly startling! People thought an ocean liner had crashed into a dinosaur and the dinosaur had screamed. An indian fellow jumped out of his bathroom and threw his tomahawk for a new world record because of it! The little girl’s name was Pailey. Oh and, I forgot, a guy fell off his rollerblades.
303
-
304
- The sad part in all this is that these two, Jentle and Pailey, never got to meet each other. They both died of shattered bones because of sound waves which continued to ricochet in their skeletons. A reporter in Miami who was the first to piece together these two stories called it tragic and just another example of the growing dischord in our generation. I wouldn’t say it’s that bad, but I do think their names sound good together. Jentle and Pailey. When you say it like that, it is heart-breaking, no doubt about it.
305
-
306
- - - The Hand Which Fell Apart
307
- - |
308
- Years ago, I lost touch with Arthur Aide, but I just ran into him at the theater. Turns out he got into a huge fight with his girlfriend and she moved out after that. But instead of his heart breaking, his right hand broke. The minute she was gone, it fell to pieces.
309
-
310
- So he went to the hospital to get his digits stitched back on and during recooperation he started to reflect on his relationship and he remembered that this distressed hand was often the most committed part of him. It stroked her hair, it wiped the smudges from her chin, it snapped the photos, pushed the button, focused the lens. And often she would remark on how warm his hand was, such that he felt an obligation to run it under the hot faucet prior to their encounters. It really made sense. His hand loved his girlfriend more than he himself did—and its heart had broken.
311
-
312
- But this was entirely untrue. During a vacation, while hiking in Mexico, the girl had dropped a rock on Arthur Aide’s hand, killing it dead, but managed to keep the hand together with a willing telepathic maneuver. She had, with great effort, held the appendage intact for nearly a decade. And then she left.
313
-
314
- Well, the night they broke up, she slept at her friend Alloieann’s place for a few evenings and was astonished at how deep her restful state was. Normally she was taking four Excedrin a day. None of that. She jumped off a diving board for the first time in just as long. In fact, everything was just smashing until a waiter at Red Lobster dropped a tray and she involuntarily snagged it with her mental powers.
315
-
316
- The jig was up and Arthur says the last he heard, his girlfriend was sold to the FBI by her own father for $280,000 and a lifetime supply of cheesesteaks. My brother interrupted me just then to borrow five bucks, but have to admit that I was quite disappointed that she was unable to bamboozle her captors. Why didn’t she use the FBI’s neckties against them? Why didn’t she topple a jar of dice from an upper shelf upon them? Couldn’t there have been a sudden appearance by a jetski?
317
-
318
- I waited until after the matinee to catch up with Arthur again and I let the bell at city hall ring twice before taking the crosswalk.
319
-
320
- - - A Smart Curtsy
321
- - |
322
- Princess Tesgid of the Kingdom of Alsacious was universally loved by her subjects. And how genuine it was. Their wall-hangings were images of her. Their works of calligraphy all memorialized her finest sayings. They used her name so much that the air became more accustomed to that series of vocal vibrations and you could hear it repeating against the clouds and mountains. And rightfully so, she wrote very good poetry about the plight of her citizen’s poverty and was incredibly sympathetic toward them all.
323
-
324
- In her most recent anthology So Many Fingers Doth Dwindle and Chime, she wrote:
325
-
326
- When I see the urchin’s knees,
327
- shuffling through the clover patch,
328
- their socks let go miles past,
329
- their gloves reek as an ostrich gizzard
330
- and their eyes, oh,
331
- now their eyes do still give a smart curtsy.
332
-
333
- While you or I might neglect to sense the nuances of these words, I assure you that this was a terribly tragic stanza for the Princess and the message received by the street folk was: we have been coarsely mocked. In the ruling society, “a smart curtsy” would generally be regarded as a polite dip of the head with an underlying bouquet of wonderment. However, a divergent meaning had sprung from the darker slums and shipyard embankments which twisted the term “a smart curtsy” to describe the motion of beheading a child infected by the parasitic spirit of a deceased feral cat.
334
-
335
- What’s more, the clover patch reference was unmistakable! That was up Swollery’s Cliff, the field where those cats had been petrified into an upright column of maple sap. How dare this Princess rail against the totems. Be she in league with the cats now?
336
-
337
- The city stirred, many ill with worry of riots and looting, others retreating to quiet places where they could internalize the poems under the soft light of the moon and the warm pyres of freshly massacred cats. All were scraping that third line for meaning. Where did the socks let go? Discovering the exact location could possibly vindicate the Princess, particularly if it were at the national Cemetary of the Beloved. Or better yet, the dessert counter at Stage and Svenson’s. That would be quite hilarious actually!
338
-
339
- The Princess was aloof from all this, working at home on upgrading her word processing software which insisted that it needed Disk 3 when she was sure that very disk was in the slot right now!
340
-
341
- - - The Secret Sandwich
342
- - |
343
- Legend speaks of a sandwich—very discreet, somewhere—a sandwich well-concealed and expertly invisible. A sandwich so secret that its most vocal defenders absolutely doubt its existence. And they cite this prevelant doubt as the only actual proof of its existence. Sure, but do they have to say it with such skepticism?
344
-
345
- The only tangible proof was uncovered some years ago when an advertisement appeared in the Aberdeen Examiner. A mail-order cassette titled Sounds of the Secret Sandwich. A cassette which was largely blank, save for a brief conversation at 23’10”. A little child says, “Dad, dad!” and the wind is blowing. Then, this raspy voice says, “What is that? Are you wearing a beret?” The kid says really loud, “WHAT??” And the older voice says, “That’s cute, come here, show me, what is that you’re wearing on your head?” And there’s some movement and the kid is quiet, the wind dies down and the older voice says, “Oh, sure, I know what this is—it’s a—uh—it’s a dead bird.” So, I have my doubts about the validity of this recording.
346
-
347
- - - A Magic Milk
348
- - |
349
- So, one day, at about two in the afternoon, a furniture salesman named Shelts took a break and sat down to enjoy a glass of milk outside, a delicious glass of whole milk, above a velutinous panorama of hills and mists. Well, halfway into his glass, he almost gulped down a sock that was floating in the drink. Quickly, he fished it out. Aha! A long, wet tube sock with red stripes at the top.
350
-
351
- Shelts was absolutely grossed out, how revolting, especially considering that the bottom of the sock had some wear and tear, and he dashed off to chuck it over the cliff into the velutinous panorama. But before he let get of it, the sock cried out, “Please, Shelts! Don’t do it. Don’t throw me over! I will do anything!”
352
-
353
- He said to the sock, “Oh, really? What exactly can you do for me? I am really furious about this.”
354
-
355
- “Well,” said the sock, “I can talk. Do you happen to like conversation?”
356
-
357
- “Not really,” said Shelts. “I prefer peace and quiet.”
358
-
359
- “Oh, well, no problem,” said the sock. “I can just shut up and keep one of your feet all warm and cozy.”
360
-
361
- “Oh no no, that just sounds uneven,” said Shelts. “I really don’t like any of the options you’ve offered so far. What’s more I didn’t at all like the taste of you skulking around in my milk in the first place. So off you go.”
362
-
363
- And with that, he threw the sock off the cliff, off to drift down the hills and mists, off into the velutinous panorama. And that would have been the end of it, except that the magic of milk did not stop there. No, hardly.
364
-
365
- Milk enjoyed such a remunerative renaissance, this new kind of milk that could spontaneously generate sentient socks and curious coats of all kinds. Milk became the great worldwide seamstress and no gulp or swallow went without a complimentary sleeve streaming from the side of every cup.
366
-
367
- Eventually, it dawned upon Shelts that he had been quite unfair. And as the furniture business took one of its occassional plummets, Shelts found himself begging the cartons in his own refrigerator for some kind of gloves or vest. Even a sock, a worn tube sock, with a dirty sole and red stripes, perhaps? What a terrible spot Shelts had got himself into, not a single gallon or half would pay mind.
368
-
369
- Ah, but no matter, he didn’t last long. Milk and its magic soon learned to generate more milk and more milk magic. And the land was awash in self-reciprocating dairies, happily lapping against each other, so that there were no more roads and no furniture and no more furniture salesman to sell furniture and no hills or mists and no velutinous panoramas.
370
-
371
- All that was left in that whole world was a clumsy antelope who had gotten herself trapped in an airtight barrel, bored and snorting, bobbing across the many milks.
372
-
373
- - - Adventure of The Apple's Mom
374
- - |
375
- One of the most amazing things to ever happen in Peru happened to a monkey, an adorable, little trained female monkey, the property of one Emilio DeBuana. Emilio truly loved his pet monkey—I mean this animal had such a fantastic smile and huge pearly eyes.
376
-
377
- But, see here: this monkey’s life was suddenly tossed upside-down when she gave birth to an apple, well-polished with a squinty and agonized male face. The monkey worked hard to give the little apple a proper life, frantically soothing it and swaddling it in hot towels, breast-feeding it, but it was often inconsolable, moaning deeply night and morning.
378
-
379
- The monkey, once so happy and frolicsome, now found her life to be miserable. The crispy apricot leaves which had once made so her so ecstatic and backflippy, now dissolved in her pockets no thanks to the erosive stains left where the apple had soiled. She also could not count with her fingers, which crossed over themselves, perplexing the eyes. Everything had been cursed, had been smitten by the apple’s constant foul language. Her bookcase was even eaten by flies!
380
-
381
- So she planned her escape one night. She folded an origami tortilla airplane. She got inside. She set a course for the North Pole. And she sailed off the top of Mt. Abalacion.
382
-
383
- This left Emilio with custody of the apple. He planned to poison the apple or set a worm upon it. These plans did not come to fruition. He simply panicked and offered the apple some chewing tobacco, which the apple man gladly chomped down on with blocky porcelain teeth and the two made their days in a lazy trance on the front stoop, filling up spittoons and rolling bottles to each other and hitting dogs with slingshots.
384
-
385
- The monkey’s airplane eventually landed on a distant moon, a very fragile moon, delicate as an egg shell dipped in a mixture of thyme leaves and coconut milk. In fact, her plane had a very sharp nose which pricked a hole in the light shell of the moon. The inhabitants of other nearby planets had called it Nordium—which is to say The Best Ball. Now, after the plane crash, it was renamed Jenny, which translates Ruined For Everyone.
386
-
387
- For over a decade, the monkey sat stranded, managing to subsist on the milk fuzz inside the hollow moon. Oh, and tortilla. In time, a technician from the phone company dropped in to set the monkey up with basic cable and call waiting. He told her to hit the TALK button twice to click over to call waiting, but I swear she managed to hang up on every single monkey that tried to call.
@@ -1,51 +0,0 @@
1
- #
2
- # Shoes Clock by Thomas Bell
3
- # posted to the Shoes mailing list on 04 Dec 2007
4
- #
5
- Shoes.app :height => 260, :width => 250 do
6
- @radius, @centerx, @centery = 90, 126, 140
7
- animate(8) do
8
- @time = Time.now
9
- clear do
10
- draw_background
11
- stack do
12
- background black
13
- para @time.strftime("%a"),
14
- span(@time.strftime(" %b %d, %Y "), :stroke => "#ccc"),
15
- strong(@time.strftime("%I:%M"), :stroke => white),
16
- @time.strftime(".%S"), :align => "center", :stroke => "#666",
17
- :margin => 4
18
- end
19
- clock_hand @time.sec + (@time.usec * 0.000001),2,30,red
20
- clock_hand @time.min + (@time.sec / 60.0),5
21
- clock_hand @time.hour + (@time.min / 60.0),8,6
22
- end
23
- end
24
- def draw_background
25
- background rgb(230, 240, 200)
26
-
27
- fill white
28
- stroke black
29
- strokewidth 4
30
- oval @centerx - 102, @centery - 102, 204, 204
31
-
32
- fill black
33
- nostroke
34
- oval @centerx - 5, @centery - 5, 10, 10
35
-
36
- stroke black
37
- strokewidth 1
38
- line(@centerx, @centery - 102, @centerx, @centery - 95)
39
- line(@centerx - 102, @centery, @centerx - 95, @centery)
40
- line(@centerx + 95, @centery, @centerx + 102, @centery)
41
- line(@centerx, @centery + 95, @centerx, @centery + 102)
42
- end
43
- def clock_hand(time, sw, unit=30, color=black)
44
- radius_local = unit == 30 ? @radius : @radius - 15
45
- _x = radius_local * Math.sin( time * Math::PI / unit )
46
- _y = radius_local * Math.cos( time * Math::PI / unit )
47
- stroke color
48
- strokewidth sw
49
- line(@centerx, @centery, @centerx + _x, @centery - _y)
50
- end
51
- end
@@ -1,26 +0,0 @@
1
- trails = [[0, 0]] * 60
2
- Shoes.app :width => 200, :height => 200, :resizable => false do
3
- nostroke
4
- fill rgb(0x3, 0x1, 0x3, 0.6)
5
-
6
- # animation at 100 frames per second
7
- animate(60) do
8
- trails.shift
9
- trails << self.mouse[1, 2]
10
-
11
- clear do
12
- # change the background based on where the pointer is
13
- background rgb(
14
- 20 + (70 * (trails.last[0].to_f / self.width)).to_i,
15
- 20 + (70 * (trails.last[1].to_f / self.height)).to_i,
16
- 51)
17
-
18
- # draw circles progressively bigger
19
- trails.each_with_index do |(x, y), i|
20
- i += 1
21
- oval :left => x, :top => y, :radius => (i*0.5), :center => true
22
- end
23
- end
24
- end
25
-
26
- end