The code, and its propagation. We breeders - it's what we're all about. And once it enters your life it never leaves. Like most boys, I started just before my teens. An innocent, an amateur, fumbling with code alone in my bedroom, exploring BASIC fundamentals, what the hardware could do. A single note - a simple, endless repetition:
10 wank
20 goto 10
With my later teens were the dating/gaming years. And those games took over my life - every evening and weekend swallowed by the pursuit of a score. Sex was quick and competitive - rubbing her like I was getting a ZX Daley Thomson to run the 1500 metres. I hunted high and low for a girl's cheat codes - The secret combination of buttons that, pressed in the right order, would unlock her deeper levels. The kissed earlobe, the stroked inner thigh, the warm breath down the back of a neck, or over the phone. Thinking there was a short cut, a trick that would get me straight into her knickers:
UP-UP-DOWN-DOWN-LEFT-RIGHT-LEFT-RIGHT-FIRE!
But the gameplaying was simply that - distraction, when I should have been building my coding skills. In my early twenties, it became less about the quick, gratifying win, more about stamina and technique, having a firm recipe to follow. I found that, for a good hard old-fashioned fuck, you couldn't beat a bit of FORTRAN - artless and mechanical yes, but effective and reliable. The type of routine the two of you could run half-asleep, drugged and exhausted by each other, sexual automata:
*==============================================================*
PROGRAM SEX
*==============================================================*
* sex.f (FORTRAN 77)
* Program which calls sub-functions FOREPLAY, ORAL and FUCK
* Code (c) The Overnight Editor 2007
OPEN (RELATIONSHIP, PARAMETERS)
IMPLICIT (CONSENT)
REAL INTIMACY
AROUSAL_INITIAL = LOW
BOREDOM_INITIAL = LOW
DO LUST = 1, SLEEP
FOREPLAY(GENTLE, EXPLORATORY)
ORAL(SLOW, RELAXED)
FOREPLAY(CONCERTED, CERTAIN)
ORAL(FAST, INSISTENT)
FUCK(SLOW, LONG, MISSIONARY, PACED)
ORAL(BRIEF, DESPERATE)
FUCK(FAST, SHORTER, MISSIONARY, BUILDING)
FUCK(FRANTIC, BRIEF, DOGGYSTYLE, EXHAUSTING)
ENDDO
STOP
END
*--------------------------------------------------------------*
FUNCTION FOREPLAY(AROUSAL, BOREDOM)
*--------------------------------------------------------------*
INTEGER STROKE_HIM, STROKE_HER, AROUSAL_MAX, BOREDOM_MAX
AROUSAL_MAX = AROUSAL
BOREDOM_MAX = BOREDOM
AROUSAL = 0
BOREDOM = 0
STROKE_HIM = 0
STROKE_HER = 0
1 STROKE_HIM = STROKE_HIM + 1
STROKE_HER = STROKE_HER + 1
MAKENOISE(VOLUNTARY, GUTTURAL)
IF(AROUSAL.GT.AROUSAL_MAX) EXIT
IF(BOREDOM.GT.BOREDOM_MAX) END
AROUSAL = AROUSAL + 1
BOREDOM = BOREDOM + 1
GOTO 1
RETURN
END
*--------------------------------------------------------------*
FUNCTION ORAL(SPEED, APPETITE)
*--------------------------------------------------------------*
INTEGER TONGUE, LAPS_MAX
LAPS_MAX = SPEED * APPETITE
DO TONGUE = 1, LAPS_MAX
MAKENOISE(INVOLUNTARY, APPRECIATIVE)
ENDDO
RETURN
END
*--------------------------------------------------------------*
FUNCTION FUCK(SPEED, DURATION, POSITION, TIREDNESS)
*--------------------------------------------------------------*
READ (POSITION)
REAL THRUSTS
IF (THRUSTS.LE.TIREDNESS) THEN
DO
1 IF(THRUSTS.LE.DURATION) THEN
THRUSTS = THRUSTS + SPEED
GOTO 1
ENDDO
TIREDNESS = TIREDNESS + 1
STOP
ENDIF
RETURN
END
*==============================================================*
In my late twenties things changed again - sex became secondary to relationships. So a few years ago - and some years later than most of my peers - I started to learn Object-Oriented Programming. Languages such as Java, dedicated to describing the relationship of one thing to another, and the ways they interact:
public class TypicalRelationship(OvernightEditor,Woman)
{
public static void main(String args[])
int Encounters, NumberOfEncounters;
Woman.IsNiceTo(OvernightEditor,inadvertantly);
OvernightEditor.Misinterprets(Woman,situation);
while (Woman.Realises==FALSE)
{
for (Encounter = 0; Encounter < NumberOfEncounters; Encounter++)
{
Woman.IsNiceTo(OvernightEditor,inadvertantly);
OvernightEditor.delusion = OvernightEditor.delusion + 1;
if (OvernightEditor.delusion > Woman.Obviousness.Threshold)
Woman.realises = TRUE;
if ( Encounter = random || OvernightEditor.ClumsilyEngineered(Encounter) )
NumberOfEncounters = NumberOfEncounters + 1;
}
}
while (OvernightEditor.GetsMessage==FALSE)
{
if (woman.sobriety==FALSE)
{
Woman.SendsMessage(OvernightEditor,direct);
OvernightEditor.GetsMessage = TRUE;
}
else
{
Woman.Avoids(OvernightEditor);
Woman.SendsMessage(OvernightEditor,indirect);
OvernightEditor.confusion = OvernightEditor.confusion + OvernightEditor.delusion;
}
}
for (weeks=0; weeks==months; weeks++)
{
OvernightEditor.Loathing.Self = OvernightEditor.Loathing.Self + 1;
Woman.Guilt.Needless = Woman.Guilt.Needless + 1;
}
}
Finally, now in my early thirties, communication has become the key - where HOW something is said is at least as as important as WHAT, and how something will be interpreted depends, of course, on the other party's context. We are all in the realm of Extendable Mark-Up Langauge (XML) with its beguiling simplicity - hiding complexity - its love and lies; the indented stanzas of 21st century social intercourse:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited with XML HumanMale Communications Suite Version 0.9 -->
<link media="screen" href="http://overnighteditor.typepad.com/styles/common.css" type="text/css" rel="stylesheet"/>
<conversation>
<statement author="her">
<question type="rhetorical" intent="fishing">
Do you like this top? It's new.
</question>
</statement>
<statement author="him">
It's beautiful.
<lie class="abject" type="obvious">
I noticed it as soon as you walked in.
</lie>
<compliment sincerity=FALSE intent="flattery">
You look lovely tonight.
</compliment>
</statement>
<statement acceptance=FALSE provocation=TRUE>
Actually I wore it to that dinner party last week. I think you preferred the top the hostess was wearing.
</statement>
<statement annoyance="visible">
OK then, you look terrible. Is that better?
</statement>
</conversation>
What's next? Search me. The only constant in this part of my life has been that, as soon as I get close to mastering anything, something new comes along to take its place. I just hope I can grasp the new syntax quickly enough to keep pace.
//Begin Comment
function warmBreath(man, woman) {
var isMoist;
if(woman.horny>=man.horny) {
isMoist = man.ravish(woman);//I think I want to propagate your code...
}
}//At least you are aware of the limitation of your system, all my constants are unidentified.
// End Comment
Posted by: Callisto | 05 June 2007 at 06:44
[insert admiring comment]
Posted by: Cheerful One | 05 June 2007 at 08:21
I was never into any kind of programming.
Which would explain alot.
Posted by: Timbo | 05 June 2007 at 11:36
LOL, brilliant :-) Mebbe you need a Join Point Model...
Posted by: bobbins | 05 June 2007 at 11:50
I was considering an ill-advised comment about wanting to add my own coding in-joke, yet being unable to do so because my programming tools were on a floppy which I couldn't get to sync with her USB interface. Fortunately, I decided that was lewdness (and not even particularly funny lewdness) too far, so have withdrawn said comment.
Posted by: An Unreliable Witness | 05 June 2007 at 13:50
Oh God. This all makes so much sense now.
My sex life is a Microsoft system patch. You think it will give you what you need but just overcomplicates everything and makes you wonder why you bothered.
Posted by: Ben | 05 June 2007 at 15:17
Far too much talent here. Far too much.
Posted by: clarissa | 05 June 2007 at 20:34
er, what?
Posted by: peach | 05 June 2007 at 21:27
hmm, maybe too much code will lead to generation loss.....
ditch the code, stuff the programming, just go feral wild.
Posted by: isabelle | 05 June 2007 at 21:42
Magnificent. Personally I always got 'R - Tape Loading Error' about two minutes into the act. But magnificent.
Anyway. Carry on.
Posted by: JonnyB | 05 June 2007 at 22:22
Dear Mr Overnight Editor
Mmm… how do I word this so it doesn't sound like spam? Please can you drop me an email when you have a moment I would like to run a collaborative idea past you.
I am not selling pharmaceutical products or software. And, although I am indeed from Africa, this is not an offshore investment opportunity that requires your bank account details, just an email address so I can explain my ideas for world domination and how I would like you to assist.
regards
rat
Posted by: Rat | 06 June 2007 at 14:19
Cheerful One - [insert sage response]
Timbo - You should try it; the new Latin.
bobbins - It's always nice to excel at something... but there are some things where one wouldn't necessarily want to be identified as a *professional*
Unreliable Witness - Quite right. If there is to be any lewdness here, it will be me allewding to it.
Ben - Software is the secret knowledge. Know software and you need never be afraid of anything.
clarissa - thank you, although I fear my life remains steadfastly short of "talent"
peach - language which is written but not verbal... gets the hemispheres talking.
isabelle - My source code is open to you.
JonnyB - thank you! I've been an admirer of yours for a while.
rat - am I going to regret e-mailing you?
Posted by: oe | 07 June 2007 at 01:25
Amusingly the comments box "commented out" my comment to Callisto:
//!-- Callisto
//!-- I am right behind you.
//!-- Where I belong.
Posted by: oe | 07 June 2007 at 01:26
Regret is an interesting thing. If you mean in the short term because you’re concerned I may turn out to be a psychopathic, axe-murder, stalker type, then I can definitely say no. Regret in the long term sense: that we turn out to be great friends and one night we go out, get horribly drunk and I drive you home and at your house I run over your future son’s pet beagle and your then wife takes this as a final straw and divorces you leaving your life in tatters and you think back … If only I’d never emailed Rat!
Well, I can’t tell the future but I can say I’ll try to never let my karma ride over your dogma.
If you’re really concerned about the email thing, you can sign up for a random free account hotmail etc. and if you think I’m a pest you can just delete the account. The only reason I want an email is so I can tell you a long story about a project I would like to collaborate on and I do not want to clog up your comments page with my usually long winded blathering. ;)
Posted by: Rat | 07 June 2007 at 16:31
you absolutely must let us all know what rat is referring to. How exciting indeed. You could be famous next year and on GMTV and This Morning.
The first mini program you wrote made me laugh. I used to write these aged maybe 10. . . along the lines of
10 (sister) stinks
20 goto 10
run
......sometimes i would add colour. What fun could be had with my BBC MICRO 64K.......(which i still have)
Posted by: pocketpunk | 08 June 2007 at 05:42
you absolutely must let us all know what rat is referring to. How exciting indeed. You could be famous next year and on GMTV and This Morning.
The first mini program you wrote made me laugh. I used to write these aged maybe 10. . . along the lines of
10 (sister) stinks
20 goto 10
run
......sometimes i would add colour. What fun could be had with my BBC MICRO 64K.......(which i still have)
Posted by: pocketpunk | 08 June 2007 at 05:45
Boll-ocks
i was on my DS(nintendo)...didnt realise it posted me 2x
Posted by: pocketpunk | 08 June 2007 at 10:17
Woah, have you been peeking in my bedroom window? I mean uh, hi! I'm new around here and very impressed. Your Hay Fever post left me speechless (and a bit jealous...)
Posted by: Rhina B. | 08 June 2007 at 18:34
package postoftheweek.com {
class Nomination {
private var isShortlisted:Boolean;
private var blogowner:String;
private var postUrl:String;
public function Nomination(blogowner:String, postUrl:String ) {
this.blogowner = blogowner;
this.postUrl = postUrl;
}
public function setIsNominated(isNominated:Boolean):Void {
this.isNominated = isNominated;
}
}
}
import postoftheweek.Nomination;
var myNomination = new Nomination ("The Overnight Editor","sex_machine");
myNomination.setIsShortlisted(true);
// that should do it ;)
Posted by: Stray | 08 June 2007 at 23:53
public function setIsShortlisted(isNominated:Boolean):Void {
this.isShortlisted = isShortlisted;
}
/// missing code for above. duh.
Posted by: Stray | 08 June 2007 at 23:54
oh fuck it
Posted by: Stray | 08 June 2007 at 23:55
What's next? Marriage of course, and kids. No more need to try to try to communicate with the fair sex or write computer programs to encapsulate marital discourse, because there is none, at least while the kids are small and life is full of broken sleep and broken dreams. You will grunt at each other if that, or 'communicate' via talking about the kids:
Johnny needs new shoes, shall I buy them or will you?
or
Can you pick up an extra packet of laxatives when you go to the pharmacy?
Posted by: emma | 09 June 2007 at 16:05
Perhaps if you worried less about the coding, you'd get farther?
I think you're thinking too much.
Posted by: Beth | 10 June 2007 at 19:57
Thanks for comments all, I do read them, avidly!
This post came about partly because I was struck by the strange parallelism between the way my (strictly amateur) programming and (also strictly amatuer) relationships with the opposite sex have evolved over the years.
But it was mainly because:
(1) the first (BASIC) program amused me as a way to sum up my teenage years in just five words.
and (2) I've been wanting to write a sex scene in FORTRAN for ages!
Posted by: oe | 13 June 2007 at 01:47
From what I remember about BASIC, the semicolon would give you more bang for your buck.
So, turning this
10 wank
20 goto 10
into this
10 wank;
20 goto 10
would probably have caused a friction fire.
Posted by: Quink | 15 June 2007 at 18:30