Tilted Forum Project Discussion Community  

Go Back   Tilted Forum Project Discussion Community > Creativity > Tilted Literature


 
 
LinkBack Thread Tools
Old 01-23-2005, 10:28 PM   #1 (permalink)
Drifting
 
amonkie's Avatar
 
Administrator
Location: Windy City
Writing Challenge #2

Week 1 was a success, who's in for Challenge #2??? After seeing such quick responses, I think you guys are up for a little harder challenge this time.

Here's what to do:

Below, there is an article that I found, and using only the words in this article, write your own original story or poem or other masterpiece. Obviously, you do not have to use all the words. You can use any word as many times as you wish, but the word MUST be in this article. You must use the WHOLE word. No one is going to be the police and check your words, but follow the spirit of the exercise and check your words,pretty please ?

For those interested:

Article By Joel Spolsky, taken from http://www.joelonsoftware.com/index.html

By Joel Spolsky

Quote:
Netscape 6.0 is finally going into its first public beta. There never was a version 5.0. The last major release, version 4.0, was released almost three years ago. Three years is an awfully long time in the Internet world. During this time, Netscape sat by, helplessly, as their market share plummeted.

It's a bit smarmy of me to criticize them for waiting so long between releases. They didn't do it on purpose, now, did they?

Well, yes. They did. They did it by making the single worst strategic mistake that any software company can make:

They decided to rewrite the code from scratch.

Netscape wasn't the first company to make this mistake. Borland made the same mistake when they bought Arago and tried to make it into dBase for Windows, a doomed project that took so long that Microsoft Access ate their lunch, then they made it again in rewriting Quattro Pro from scratch and astonishing people with how few features it had. Microsoft almost made the same mistake, trying to rewrite Word for Windows from scratch in a doomed project called Pyramid which was shut down, thrown away, and swept under the rug. Lucky for Microsoft, they had never stopped working on the old code base, so they had something to ship, making it merely a financial disaster, not a strategic one.

We're programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We're not excited by incremental renovation: tinkering, improving, planting flower beds.

There's a subtle reason that programmers always want to throw away the code and start over. The reason is that they think the old code is a mess. And here is the interesting observation: they are probably wrong. The reason that they think the old code is a mess is because of a cardinal, fundamental law of programming:
It's harder to read code than to write it.

This is why code reuse is so hard. This is why everybody on your team has a different function they like to use for splitting strings into arrays of strings. They write their own function because it's easier and more fun than figuring out how the old function works.

As a corollary of this axiom, you can ask almost any programmer today about the code they are working on. "It's a big hairy mess," they will tell you. "I'd like nothing better than to throw it out and start over."

Why is it a mess?

"Well," they say, "look at this function. It is two pages long! None of this stuff belongs in there! I don't know what half of these API calls are for."

Before Borland's new spreadsheet for Windows shipped, Philippe Kahn, the colorful founder of Borland, was quoted a lot in the press bragging about how Quattro Pro would be much better than Microsoft Excel, because it was written from scratch. All new source code! As if source code rusted.

The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they've been fixed. There's nothing wrong with it. It doesn't acquire bugs just by sitting around on your hard drive. Au contraire, baby! Is software supposed to be like an old Dodge Dart, that rusts just sitting in the garage? Is software like a teddy bear that's kind of gross if it's not made out of all new material?

Back to that two page function. Yes, I know, it's just a simple function to display a window, but it has grown little hairs and stuff on it and nobody knows why. Well, I'll tell you why: those are bug fixes. One of them fixes that bug that Nancy had when she tried to install the thing on a computer that didn't have Internet Explorer. Another one fixes that bug that occurs in low memory conditions. Another one fixes that bug that occurred when the file is on a floppy disk and the user yanks out the disk in the middle. That LoadLibrary call is ugly but it makes the code work on old versions of Windows 95.

Each of these bugs took weeks of real-world usage before they were found. The programmer might have spent a couple of days reproducing the bug in the lab and fixing it. If it's like a lot of bugs, the fix might be one line of code, or it might even be a couple of characters, but a lot of work and time went into those two characters.

When you throw away code and start from scratch, you are throwing away all that knowledge. All those collected bug fixes. Years of programming work.

You are throwing away your market leadership. You are giving a gift of two or three years to your competitors, and believe me, that is a long time in software years.

You are putting yourself in an extremely dangerous position where you will be shipping an old version of the code for several years, completely unable to make any strategic changes or react to new features that the market demands, because you don't have shippable code. You might as well just close for business for the duration.

You are wasting an outlandish amount of money writing code that already exists.

Is there an alternative? The consensus seems to be that the old Netscape code base was really bad. Well, it might have been bad, but, you know what? It worked pretty darn well on an awful lot of real world computer systems.

When programmers say that their code is a holy mess (as they always do), there are three kinds of things that are wrong with it.

First, there are architectural problems. The code is not factored correctly. The networking code is popping up its own dialog boxes from the middle of nowhere; this should have been handled in the UI code. These problems can be solved, one at a time, by carefully moving code, refactoring, changing interfaces. They can be done by one programmer working carefully and checking in his changes all at once, so that nobody else is disrupted. Even fairly major architectural changes can be done without throwing away the code. On the Juno project we spent several months rearchitecting at one point: just moving things around, cleaning them up, creating base classes that made sense, and creating sharp interfaces between the modules. But we did it carefully, with our existing code base, and we didn't introduce new bugs or throw away working code.

A second reason programmers think that their code is a mess is that it is inefficient. The rendering code in Netscape was rumored to be slow. But this only affects a small part of the project, which you can optimize or even rewrite. You don't have to rewrite the whole thing. When optimizing for speed, 1% of the work gets you 99% of the bang.

Third, the code may be doggone ugly. One project I worked on actually had a data type called a FuckedString. Another project had started out using the convention of starting member variables with an underscore, but later switched to the more standard "m_". So half the functions started with "_" and half with "m_", which looked ugly. Frankly, this is the kind of thing you solve in five minutes with a macro in Emacs, not by starting from scratch.

It's important to remember that when you start from scratch there is absolutely no reason to believe that you are going to do a better job than you did the first time. First of all, you probably don't even have the same programming team that worked on version one, so you don't actually have "more experience". You're just going to make most of the old mistakes again, and introduce some new problems that weren't in the original version.

The old mantra build one to throw away is dangerous when applied to large scale commercial applications. If you are writing code experimentally, you may want to rip up the function you wrote last week when you think of a better algorithm. That's fine. You may want to refactor a class to make it easier to use. That's fine, too. But throwing away the whole program is a dangerous folly, and if Netscape actually had some adult supervision with software industry experience, they might not have shot themselves in the foot so badly.
__________________
Calling from deep in the heart, from where the eyes can't see and the ears can't hear, from where the mountain trails end and only love can go... ~~~ Three Rivers Hare Krishna
amonkie is offline  
Old 01-23-2005, 10:34 PM   #2 (permalink)
Chilled to Perfection
 
ICER's Avatar
 
Location: Dallas, TX
hhmmm, this may take awhile
__________________
What's the difference between congress and a penitentiary?
One is filled with tax evaders, blackmailers and threats to society.
The other is for housing prisoners.
~~David Letterman
ICER is offline  
Old 01-24-2005, 09:46 AM   #3 (permalink)
 
roachboy's Avatar
 
Super Moderator
Location: essex ma
if you are writing experimentally,
you may want to rip up the function
you wrote last week

there are architectural problems
this is why reuse is so hard

architects
get to a site
bulldoze the place

splitting strings into arrays of strings



even fairly major architectural changes can be done without throwing away the code
don't rewrite the whole thing
1% of the work gets you 99% of the bang


the idea that new code is better than old is absurd
__________________
a gramophone its corrugated trumpet silver handle
spinning dog. such faithfulness it hear

it make you sick.

-kamau brathwaite
roachboy is offline  
Old 01-24-2005, 10:15 AM   #4 (permalink)
Drifting
 
amonkie's Avatar
 
Administrator
Location: Windy City
And we're off and rolling! Great job roachboy
__________________
Calling from deep in the heart, from where the eyes can't see and the ears can't hear, from where the mountain trails end and only love can go... ~~~ Three Rivers Hare Krishna
amonkie is offline  
Old 01-24-2005, 12:59 PM   #5 (permalink)
peekaboo
 
ngdawg's Avatar
 
Location: on the back, bitch
Six years of college. He knew what his destiny would be from the time he was old enough to reach the keyboard. A programmer. Programmer extraordinaire. People all over the world would depend on his code for everything they did on their computers. He knew this in his heart.
Four years behind a desk, anonymous to everyone until something had to be fixed. That wasn’t too often. But when the requests came, they came in a frenzy and he was often left behind as the others went home to their tidy 3 bedroom, 2.5 bath houses, driving their leased imported SUV’s . “Minions”, he thought. “Simple-minded worker ants”. Alone at his desk, he plotted and planned for his destiny.
Five hours before another workday begins, but now, in his small apartment, he is still tinkering away. Constantly changing small details. Checking, rechecking. It wouldn’t be long now before he changed the world. Sleep would just have to wait.
One more hour and he would be gone from this cubical maze forever. His time had come. What little personal touches he had added to his corner didn’t even fill the box he procured. He had made his goal and the urge to dance atop his cheap desk was almost overwhelming. No more fixing everyone else’s holy mess. No more enduring the frantic calls from his clueless bosses.
Seven million dollars. He took it. He didn’t need anything material, really. A place to sleep. A way to get around. The true satisfaction came in knowing he did what others only dreamed of. He had invented a completely new code. A new language. He had invented for all the computers of the world, for every user, a way to make things simple. A way to make things run smoothly. He invented code that used only the English language. No symbols, no numbers, no intricate combinations of either.
He laughed all the way to the bank.
ngdawg is offline  
Old 01-24-2005, 01:52 PM   #6 (permalink)
Chilled to Perfection
 
ICER's Avatar
 
Location: Dallas, TX
Whao, Ngdawg. That is a brilliant piece of work.
__________________
What's the difference between congress and a penitentiary?
One is filled with tax evaders, blackmailers and threats to society.
The other is for housing prisoners.
~~David Letterman
ICER is offline  
Old 01-25-2005, 07:20 PM   #7 (permalink)
peekaboo
 
ngdawg's Avatar
 
Location: on the back, bitch
Ok, I messed up regarding the rules. Sorry.....
ngdawg is offline  
Old 01-25-2005, 09:51 PM   #8 (permalink)
Darth Mojo
 
mojodragon's Avatar
 
Location: Right behind you...
"We're going to build a new ship." They had decided.

The old ship was a big mess. The drive systems were extremely dangerous. The windows had a large scratch. We should just bulldoze the old ship and build a new Dart Class ship, the "Quattro".

The architects had the experience, what they didn't have was the money. Where in the world
would they get the money for this?

Finally, one of their business competitors found an idea, absurd as that source may have been. They should start with the holy cardinal. The cardinal was a hairy outlandish one, that probably didn't know the law.

"Money? I'll fix you up with the money, on three conditions. First, you have to spend several weeks of mantra optimizing under my supervision."

"What?"

"I want to underscore the strategic reason for this. Using this standard mantra, under my supervision, you will introduce a new axiom. What can be, will be."

"Second, you have to reuse this rendering of the Holy Pyramid. The project is doomed without this on it."

I had supposed there were problems with the cardinal. It occured to them that the cardinal had carefully grown a teddy bear from little hairs completely made from stuff found on bugs. This new knowledge was ugly.

"Third, the whole ship has to function from the existing base."

These demands made little sense, but they didn't react. In the middle of the work, one of the features of the new ship shot over the garage and made a major bang. This mistake stopped the project for three years. Finally, the new ship was released, called "Lucky".
mojodragon is offline  
Old 01-25-2005, 09:54 PM   #9 (permalink)
Darth Mojo
 
mojodragon's Avatar
 
Location: Right behind you...
Ok, that was harder than I thought it would be. I liked the challenge! Please come up with more challenges!
mojodragon is offline  
Old 01-25-2005, 10:08 PM   #10 (permalink)
Upright
 
Location: /dev/null, WV
There's a subtle reason.
There's a dangerous folly.
There's a better alternative.
An extremely grand
Corollary of this
Absurd mantra,
This ugly position
Throwing away a gift.
__________________
This space available for rent. Reasonable rates!
neonscreamer is offline  
Old 01-25-2005, 10:55 PM   #11 (permalink)
Drifting
 
amonkie's Avatar
 
Administrator
Location: Windy City
Quote:
Originally Posted by ngdawg
Ok, I messed up regarding the rules. Sorry.....

Eh, you still wrote SOMETHING I liked it anyway!
__________________
Calling from deep in the heart, from where the eyes can't see and the ears can't hear, from where the mountain trails end and only love can go... ~~~ Three Rivers Hare Krishna
amonkie is offline  
Old 01-25-2005, 11:16 PM   #12 (permalink)
Chilled to Perfection
 
ICER's Avatar
 
Location: Dallas, TX
Quote:
Originally Posted by ngdawg
Ok, I messed up regarding the rules. Sorry.....
Actually, if you hadn't have said anything, I never would have noticed. It's still a great piece of work
__________________
What's the difference between congress and a penitentiary?
One is filled with tax evaders, blackmailers and threats to society.
The other is for housing prisoners.
~~David Letterman
ICER is offline  
Old 01-25-2005, 11:40 PM   #13 (permalink)
Drifting
 
amonkie's Avatar
 
Administrator
Location: Windy City
years splitting strings
rusted ships made doomed
something grand, thrown
a mess of hearts tinkering
in the middle of nowhere
old mistakes a memory
improving the original
__________________
Calling from deep in the heart, from where the eyes can't see and the ears can't hear, from where the mountain trails end and only love can go... ~~~ Three Rivers Hare Krishna
amonkie is offline  
Old 01-26-2005, 09:29 PM   #14 (permalink)
Addict
 
Location: 3rd coast area
Here is the interesting observation:

Three years is an awfully long time.

A doomed project ate their lunch and
their market share plummeted.

But this only affects a small part of the project,

Cleaning them up, may be doggone ugly as
they might have shot themselves.

Frankly, this is the kind of thing you solve
when optimizing for speed.

It's important to remember that when you
start from scratch some adult supervision
is a dangerous folly.
__________________
Hail to ALL the troops and shadow warriors.
mrsandman is offline  
Old 01-27-2005, 08:13 PM   #15 (permalink)
Oh dear God he breeded
 
Seer666's Avatar
 
Location: Arizona
Took a while, and was kind of hard given the limitations, but I am pretty happy with the outcome. hope you like.


A pyramid mantra
The axiom of observation
To the windows of the world
Program the programmers
To introduce function to purpose
And purpose to function
A dangerous folly
To throw away the old
When optimizing the new
Helplessly they plummeted
Creating outlandish modules
Of changing interfaces
Doomed
Doomed
Doomed
Is the mantra
Of fundamental real world problems
Over throw with reason
And excel by optimizing observation
__________________
Bad spellers of the world untie!!!

I am the one you warned me of

I seem to have misplaced the bullet with your name on it, but I have a whole box addressed to occupant.
Seer666 is offline  
Old 01-27-2005, 08:59 PM   #16 (permalink)
Forget me not...
 
Amnesia620's Avatar
 
Location: See that dot on the map? I don't live there.
Good job, Seer. Nice way to meet the challenge.
__________________
For example, I find that a lot of college girls are barbie doll carbon copies with few differences...Sadly, they're dumb, ditzy, immature, snotty, fake, or they are the gravitational center to orbiting drama. - Amnesia620
Amnesia620 is offline  
Old 01-27-2005, 11:21 PM   #17 (permalink)
Drifting
 
amonkie's Avatar
 
Administrator
Location: Windy City
Glad to see you guys workin on it, I know this week was hard. I've you got ANY ideas, PM me so that I can include them! I'll pick something a little easier for next week
__________________
Calling from deep in the heart, from where the eyes can't see and the ears can't hear, from where the mountain trails end and only love can go... ~~~ Three Rivers Hare Krishna
amonkie is offline  
Old 01-28-2005, 07:01 PM   #18 (permalink)
Illusionary
 
tecoyah's Avatar
 
Back to the top...absurd
Theres nothing wrong with it
You might as well close for buisiness
The old codes a mess...but works
May be doggone inefficient
So install the thing on a computer and fix it
"it's a Big Hairy Mess", written from scratch
__________________
Holding onto anger is like grasping a hot coal with the intent of throwing it at someone else; you are the one who gets burned. - Buddha
tecoyah is offline  
Old 01-28-2005, 08:54 PM   #19 (permalink)
Curious
 
Shpoop's Avatar
 
Location: NJ (but just for college)
Today. Of all the days, today. Why today? Was there a mistake? No time to think over the reason, it is today. But it is not in a week, it is today! PUBLIC! ABSURD! Who came up with that idea?! It's a doggone mess! Do they think the code is done? Or do they think they will be throwing away more money if we work any more? Here, think about this: PUBLIC! All of our mistakes will be moving into observation and will underscore how inefficient our work is... will underscore how inefficient our work is. How inefficient their work is. Doomed. They that made the choice, I don't care about them. I never liked them. I have nothing to aquire from them...no leadership, no knowledge, no window into reason and experience. Well then, write them off as hopelessly outlandish! Let's go public!


____

sorry, i know its pretty crappy but its 12 and im tired

Last edited by Shpoop; 01-28-2005 at 09:02 PM..
Shpoop is offline  
Old 01-29-2005, 01:13 AM   #20 (permalink)
Addict
 
high_way's Avatar
 
Location: Australia
hey guys here is mine. sorry it has taken so long but i only got back in last time. is it me or is there a whole less lot people posting this week...? eh hope you like


The Mantra

The worst strategic mistake
Doomed major scratch code
Criticise the astonishing architects
Tinkering, improving, mess with and throw away

Bulldoze the disaster, what an interesting operation
Explore the Netscape for the experimentally inefficient
The mantra for the extremely outlandish is factored in the axiom lab
The simple fix is parentally absurd when compared to the hard use of splitting strings.

MARVIN DRAKE 2005
__________________
A stranger is just a friend you havent met yet.

Impostor of the imposturous
high_way is offline  
Old 01-29-2005, 07:31 AM   #21 (permalink)
Insane
 
Bryndian_Dhai's Avatar
 
Location: Louisiana
Ok, here goes....

*grins* I haven't written haiku since middle school.



Architectural
renovation fixes old,
Making ugly new.
__________________
“When facism comes to America it will be wrapped in the flag and carrying a cross.”
~Sinclair Lewis
Bryndian_Dhai is offline  
Old 01-29-2005, 08:30 AM   #22 (permalink)
Upright
 
Location: /dev/null, WV
*applauds*

that's a good one!
__________________
This space available for rent. Reasonable rates!
neonscreamer is offline  
Old 01-29-2005, 10:59 AM   #23 (permalink)
Insane
 
Bryndian_Dhai's Avatar
 
Location: Louisiana
Quote:
Originally Posted by neonscreamer
*applauds*

that's a good one!

*grins and curtsies*

Why thank you, thank you very much.
__________________
“When facism comes to America it will be wrapped in the flag and carrying a cross.”
~Sinclair Lewis
Bryndian_Dhai is offline  
Old 03-20-2006, 06:54 AM   #24 (permalink)
Crazy
 
Location: Omaha, NE
Okay, after a week's worth of evenings spent mulling over this story... I pulled the words that meant something to me and strung them together in a semi-rythmic way that actually does mean something, to me anyway. Everything else I did just read like a mad lib.



coloful explorer
in a changing world
interesting mantra
absurd demands
extremely dangerous
disrupted dialog
rendering original
astonishing architectural
window moving
into nowhere
__________________
I may not have gone where I intended to go, but I think I have ended up where I intended to be.
--Douglas Adams
ClostGoth is offline  
Old 08-13-2007, 02:14 PM   #25 (permalink)
Tilted
 
Yukimura's Avatar
 
Location: At a computer, obviously.
"Doggone code. What a mess. What a mess."

An ugly little programmer sat working hard on a bit of programming popping up on his computer.

"What is wrong with you?"

His business was one of fundamental tinkering, and so a mess. He was an architect...

"Your cardinal law is a bug! What a mistake. Rewritting the HEARTS."

Nancy sat by, helplessly, as the changes were made. She didn't do it on purpose, did she? Well yes, she did. And now the old HEARTS code was swept under the rug. Thrown away.

"Better now?"

"Yes."

Strategic changes in place, she was something grand again. HEARTS was a doomed project.
__________________
Maybe the answer is in the very light reflected off our blades. Maybe that's what it means to be this creature known as samurai.
Yukimura is offline  
 

Tags
challenge, writing


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -8. The time now is 01:29 AM.

Tilted Forum Project

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360