Prologue
I don't know why they're making me write this damned report, I never had to write a report before. Ain't like I been to college or nothing. I didn't have to write a report after Vesta, why now? Maybe because this trip was so damned out of the ordinary? I don't know, I'm just talking into this thing and I don't know where to start, so I'll just start.
The Meeting
I was scared shitless; the CEO had called me into his office. Jesus, the fucking CEO! Why would a CEO want a lowly boat captain to talk to him? Yeah, centuries ago ship captains were really important guys, but that was back when they needed crews. I was a glorified bus driver and babysitter.
I liked hauling passengers because at least I'd have somebody to talk to. It takes a long time to get from planet to planet, and it's usually a boring trip. They pay pretty damned good, too -- cargo boats don't need babysitters.
Jesus! The CEO! I was shaking as I walked into his office. If I was going to get fired for that little incident on Vesta my chief would have sacked me.
"Have a seat, Mister Knolls. Coffee?"
"Uh," I said, "Uh, thank you, sir." I fidgeted in my chair. His assistant gave me a cup.
"Knolls, your supervisor told me all about Vesta."
I almost pissed my pants. Shit, they were going to sue me.
"That was some damned good work, Knolls."
My head kind of exploded. "Sir? Two men died!"
"Yes, Mister Knolls, but you saved ten million dollars in equipment and the wrongful death suits were only a million each. God damned good work!"
"Uh, thank you, sir," I said, wondering how damned evil this man could be.
"I have a new assignment for you," he said. "Your supervisor told me you didn't like cargo runs, but this time you'll have someone to talk to."
My head kind of stopped working right then.
"This assignment is important. You're the man for this job and we're giving you a fifty percent raise."
"Uh, sir, uh, what's my cargo and where am I taking it?"
The CEO smiled. "Women. You're to transport two hundred woman to Mars."
"Women?" I asked, my brain still not working properly.
"Whores, Knolls."
Taking a couple hundred whores to Mars? Wow.
"So, Knolls, are you taking the assignment?"
What could I say? Of course, not ever having met any whores I had no idea how much of a pain in the ass it would be or that I would regret my decision. "Yes, sir, how could I not? Of course! When do I leave?"
I wish my brain would have been working. God, what a mistake.
This is a crude, rough draft. Continues...
The book I'm working on now is the same name as the title of this journal. It was started at slashot, but will be finished here. I'll post it there, but the soyled get it first.
Except that it's already started and from what I can tell, none of the folks here at soylent know me. So for the next few days I'll be posting Martian whores here.
You had no idea what you were getting into, did you?
Neither did I.
What you will read is a crude, first draft. Stuff will be added to existing chapters, stuff will go away, and the order of some will most likely be changed. For an example, look at this finished, edited version of Nobots chapter 7 (which stands on its own as a story) compared to the draft.
I'll start posting chapters tomorrow. Wish Soylent had a "sci-fi" category...
The Slashcott is extended until the end of February.
(I thought about extending it through the end of March just so I could pop up the next day and say "April Fools! It's not over after all!", but that's just got too many moving parts)
This time, however, the extension is unofficial, which means you are free to break Slashcott and go over to /. and talk about how the Slashcott is still going on.
Just to mess with Dice's head.
This journal probably fits the other site better, since I don't think any of my old fans have come here yet, but I did say I'd post journals here first.
Ten years ago K5 was thriving, and my diaries got popular there. Folks wanted me to make a book out of them, and I promised I would.
I never got around to it, despite people periodically nagging me to. I finally did put together a PDF. I'd excised much of it, thinking it was too long, and emailed copies to those who asked.
Last Fall when I released the hardcover of Nobots I was again chided to get The Paxil Diaries on cellulose.
I'd discovered that no, it wasn't too long at all, and the abridged version was too short. So I redid the whole thing. I've been working on it almost exclusively for months and neglecting Mars, Ho! which I haven't done anything to since fall.
All that's left before publication is registering a copyright (it's half done in another tab), registering an ISBN (I have nine in reserve) and making a cover.
The cover is the sticking point. It's going to be a photo of downtown Springfield with Betty Boop photoshopped in, and I'm waiting for Springtime to take the photo.
So if anyone reading this has been urging me to release a physical book, I'm projecting sometime in April.
work in progress
a minor difficulty i'm having with wrapping my head around slashcode is figuring out where functions are declared. i can use a search tool like sagasu, but i've done something similar to this for php so i thought it would be a fun perl project.
objective: parse code files in a directory tree and output page with linked index of files and functions
doc.pl
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
use strict;
use warnings;##########################
sub doc__main {
print "<!DOCTYPE HTML>\n";
print "<html>\n";
print "<head>\n";
print "<title>Slashcode Doc</title>\n";
print "<meta name=\"description\" content=\"\">\n";
print "<meta name=\"keywords\" content=\"\">\n";
print "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\">\n";
print "</head>\n";
print "<body>\n";
print "<p>blah</p>\n";
print "</body>\n";
print "</html>\n";
}##########################
sub doc__functionTree {
my($structure, $allDeclaredFunctions, $allFunctions, $allFiles) = @_;
}##########################
sub doc__recurse {
my($structure, $allDeclaredFunctions, $allFunctions, $allFiles, $allTreeItems, $caption, $type, $level, $id) = @_;
}##########################
sub doc__aboutFile {
my($structure, $allFunctions, $allFiles, $fileName) = @_;
}##########################
sub doc__aboutFunction {
my($structure, $allFunctions, $allFiles, $functionName) = @_;
}##########################
sub doc__linkFile {
my($allFiles, $fileName) = @_;
}##########################
sub doc__linkFunction {
my($allFunctions, $functionName) = @_;
}##########################
sub doc__allFiles {
my($structure) = @_;
}##########################
sub doc__allFunctions {
my($structure) = @_;
}##########################
sub doc__declaredFunctions {
my($structure) = @_;
}##########################
sub doc__loadStructure {
}##########################
sub doc__parseFile {
my($structure, $fileName) = @_;
}##########################
doc__main();
1;
So why did I move the release date up? Soylent! Or rather, a... uh, what do we call ourselves? Folks at K5 used to call themselves Kurobots, at slashdot they're slashdotters. What are we? Soylents? Anyway, a fellow here commented "Damn you! I went to see what your book was about and before I knew it I'm on chapter 7 and feel the urge to finish it tonight (otherwise I wont sleep). I've had plans for tonight..."
I'd just gotten my first check for books that had been sold the day before, but comments like that are even better than the check. I mean, I didn't write it to make money, I wrote it to be enjoyed. I walked around with a smile on my face all day and thought "gee, I need to let that poor fellow finish the book." So now you can!
If you're using FireFox to read it, PDF isn't the version to choose since FireFox sucks at rendering PDFs. It is, however, faithful to the printed version. Actually it was used to produce the printed version, and there may be some words in the HTML versions that should be italicized but aren't, I've found and fixed one or two but I'm sure I've missed some. Also, the PDF and printed versions are Gentium Book Basic while the HTML versions are Times New Roman. There is one passage that is Aral and renders funky in the HTML, and later in the book there's a Venusian nursery rhyme that is Comic Sans Serif in the printed and PDF versions.
I haven't posted the e-book version yet because I'm not satisfied with it.
If you select single file HTML (which you can download, of course) the screen will change only slightly, with links to PDF and e-book missing. Links to chapters are internal links.
I hope you folks enjoy it, that's why I wrote it.
No idea why this keeps getting rejected by Soylent eds, but anyway, there's a full 30-minute TV interview done with Snowden (in Russia) for German TV. 15 minute versions are floating around on the mainstream news outlets (except for from the broadcaster for Germans only), but you can see the interview on LiveLeak or the Internet Archive. Full transcript available from NPR.
I'm a perl noob. Hopefully if I do some journal writing on my experience it will help keep me motivated.
Got some sort of perl server configuration going. Google not very helpful since most guides are for mod_perl pre 2.0 and apache foundation docs are jibberish to me (maybe I'm just stupid).
Anyway, here's a conf that I kinda butchered up based on a bunch of different sources:
<VirtualHost *:80>
ServerName slash
DocumentRoot /var/www/slash/
Redirect 404 /favicon.ico
<Directory />
Order Deny,Allow
Deny from all
Options None
AllowOverride None
</Directory>
<Directory /var/www/slash/>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
Order Allow,Deny
Allow from all
</Directory>
LogLevel warn
ErrorLog /var/www/log/slash/error.log
CustomLog /var/www/log/slash/access.log combined
</VirtualHost>
By the way, this is for Debian Squeeze.
My first hellow world script was also a bit more of an adventure than expected. Most tutorials leave out a header in examples.
/var/www/slash/test.pl
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
use strict;
use warnings;
print "Hello world.\n";
I could (probably should) have used a text/plain mime header, but it worked nonetheless.
Also I can apparently use the following to add a path to @INC
use lib "/var/www/slash/Slash";
I downloaded the soylent/slashcode master branch from https://github.com/SoylentNews/slashcode/archive/master.zip so that I could have a squiz and see if I could be of any help with debugging etc, but although I can read some of it, I need to go to perl school before I can contribute.
My bread and butter programming languages are Delphi and PHP.
This explains a lot about the beginning of slashcode functions that aren't familiar to me:
http://stackoverflow.com/questions/17151441/perl-function-declaration
Perl does not have type signatures or formal parameters, unlike other languages like C:// C code
int add(int, int);int sum = add(1, 2);
int add(int x, int y) {
return x + y;
}Instead, the arguments are just passed as a flat list. Any type validation happens inside your code; you'll have to write this manually. You have to unpack the arglist into named variables yourself. And you don't usually predeclare your subroutines:
my $sum = add(1, 2);sub add {
my ($x, $y) = @_; # unpack arguments
return $x + $y;
}
Is it possible to do pass by reference in Perl?
http://www.perlmonks.org/?node_id=6758
Subroutines:
http://perldoc.perl.org/perlsub.html