6.033

Triolet Challenge

In the continual effort of MIT to promote artistic abilities, students in Steve Ward's sections were invited to submit, as a weekly writing assignment, a triolet (in lieu of the 1-page writeup). The triolet did not have to address the specific question of the assignment directly, but had to relate (at least marginally) to the topic.

You may be wondering, what is a triolet? Dictionary definition:

tri.o.let: a poem or stanza of eight lines in which the first line is repeated at the fourth and seventh and the second line as the eight with a rhyme scheme of ABaAabAB.

The trick to writing a good triolet is to arrange that the repeated lines take on slightly different roles, semantically or even syntactically, in their various positions.

What follows is a collection of Triolets we have received during the course of the term. They are currently organized by topic. Thanks to all of the 6.033 poets who had the creativity to come up with these. Enjoy!

  1. Threads and Deadlocks
  2. Virtual Memory
  3. Ethernet and Autonet
  4. End-to-End Argument
  5. Kerberos
  6. Code Signing

------------

Rime of the Ancient Mutex
by Owen Ozier
Deadlocking processes - Out of my code!
Never lets go of its semaphore stash.
Scheduler kills all the threads that have showed
deadlocking; processes out of my code
pathological pointers from their cyclic abode.
My hero, my schedule will struggle to slash
deadlocking processes out of my code;
Never lets go of its semaphore stash!

Threads
by Jon Heiner
"Three threads are better than One!"
Replied the Wise Man to the Fool,
"False!-'twould be furious folly to function Fibonacci!-if that's
what you were to run...
Three threads are better than One
is Not True." "Then I will not use them," replied the Fool.
"For I am coding but a webserving tool."
"Three threads are better than One,"
replied the Wise Man to the Fool.

Untitled
by David Weitzberg
Running programs like woven threads.
How to prevent a lock?
Well, we must use our heads,
running programs like woven threads.
To protect where a program treads,
the data it carefully must block,
running programs like woven threads.
How to prevent a lock.

Threads and Deadlocking
by Jesse Kornblum
He knows when you are sleeping
And when you're only paused
the thread manager is always peeping.
He knows when you are sleeping
and he'll leave you cycles for reaping.
In fact it's really Santa Claus
He knows when you are sleeping
and when you're only paused.

Untitled
by Cheng Cheng
Multiple threads can lead to deadlocks.
one would have to wait;
while the other thread blocks.
Multiple threads can lead to deadlocks,
then the program locks,
and the user screams, "great!!!"
Multiple threads can lead to deadlocks.
One would have to wait.

The Case of the Deadlocked Threads
by Matthew Goldman
Deadlocked threads in the same address space,
oh if the scheduler could detect
the modified program data to replace.
Deadlocked threads in the same address space
can ruin systems without a trace
and leave important calculations wrecked.
Deadlocked threads in the same address space,
oh if the scheduler could detect!

Concurrency
by Derek Bruening
Concurrency can cause an emergency
Resulting in deadlock of threads -- useless!
But frequency in telling with urgency:
"Concurrency can cause an emergency"
And prudency on top of efficiency
Can lead to executional correctness.
Concurrency can cause an emergency,
Resulting in deadlock of threads. Useless?

Butchered
by John Thele
Virtual memory is like a knife sharpened carefully;
The programmer like the sculptor in search of perfection.
Each whittles ardently, for a stray cut spells catastrophe.

Virtual memory is like a knife sharpened carefully;
The operating system like the butcher serving many.
Each chops quickly, their concern not for optimization.

Virtual memory is like a knife sharpened carefully;
The programmer like the sculptor, in search of perfection.

Hacker's Epic: Plight of the Abstractionless Programmer
by Owen Ozier
Abstracted paging makes virtual memories;
Only with kernels can one optimize paging.
Renegades try to outrun modularities.
Abstracted paging makes virtual memories
for them of a time that saw great generalities.
Finally the renegade wishes he were using
abstracted paging; Makes virtual memories
only with kernels. Can one optimize paging?

Ethernet Triolet
by Eileen Tanghal
Down corridors and between buildings,
computer networks grew.
A branching broadcast communication system came about.
Down corridors and between building,
Ethernet is here to stay, without a doubt.
Perhaps, one day, they'll come up with something that switches faster, something new.
Down corridors and between buildings,
computer networks grew.

Untitled
by Peter Finch
There's one thing that's true,
that's that systems will fail.
Though you've debugged through and through,
There's one thing that's true,
It'll happen to you.
Though you've planned out every detail,
There's one thing that's true,
that's that systems will fail.

Indecision
by Owen Ozier
System's always switching, never stopping,
Vying for the path to quick success.
Others don't have switching, but have flopping
Systems. Always switching, never stopping,
High-speed schedules fear of dropping
Packets. Corporate types can't help but reassess
Systems. Always switching, never stopping,
Vying for the path to quick success.

Untitled
by Stacey Blau
With all this mess, you'd have to convince me
Life is somewhere in this maze of switches
That drive packets through networks endlessly.
With all this mess, you'd have to convince me
That something presides over sanity
Through new landscapes of thousands of glitches...
With all this mess, you'd have to convince me
Life is somewhere in this maze of switches.

Networks
by Kevin Burleigh
ATM or Ethernet,
which way should we go
to transmit a packet?
ATM or Ethernet,
which one is going to hack it
as technology improves so?
ATM or Ethernet -
Which way should we go?

End-to-End and Ethernet
by Matthew Goldman
Ethernet and End-to-End go hand in hand,
the low-level link layer does not waste time
checking packets; that stays in TCP land.
Ethernet and End-to-End go hand in hand
since time is precious due to width of the band
and the protocols handle reliability just fine.
Ethernet and End-to-End go hand in hand,
the low level link layer does not waste time.

Saltzer's Therac
by Owen Ozier
From first end to last end, I must send a packet.
The function in question, correct and complete.
Information in danger - I must try to track it
From first end to last end. I must send a packet
And count all the counters while registers back it
Up, saving the status. There will be no delete
From first end to last end. I must send a packet:
The function in question, correct and complete.

Untitled
by Charles Coffing
Seals and authentication
are only part of the design
to protect our information.
Seals and authentication
allow the authorization
of only those who are benign.
Seals and authentication
are only part of the design!

Untitled
by Jenny Sappington
Security mechanisms are a must
To guard against a web of strangers.
Unless their mobile code you trust,
Security mechanisms are a must.
And you'd better make them quite robust,
For many are the potential dangers.
Security mechanisms are a must
To guard against a web of strangers.

Users of IE3 beware:
Authenticode's a risk!
You can't trust Microsoft software.
Users of IE3 beware.
Download only if you dare,
You might destroy your disk.
Users of IE3 beware:
Authenticode's a risk.

Java's sandbox has a weakness.
No, it's not exactly foolproof,
For access relies on DNS.
Java's sandbox has a weakness.
Grant access to an IP address
or else fall victim to a spoof.
Java's sandbox has a weakness--
No, it's not exactly foolproof.

------------

Questions or comments regarding the Triolet page? Send email to Scott MacGregor, macgrego@mit.edu.

Top

Last updated on 04/30/97.