GOPHERSPACE.DE - P H O X Y
gophering on dusted.dk
It's 5:17
I'm in Tallinn airport, the airport shuttle picked me up at our apartment
at 2:30, I'll be home around 17:00, oh, and I woke up, yesterday at 7:30.
I was planning to start writing the server class for gopher-lib, I even
prepared cygwin for it, and got the RFC locally, but I forgot how toasted
a brain becomes from lack of sleep, so I doubt anything useful will come
out of my head the next many hours. It's a nice airport though, definitely
the nicest I've been to, both when it comes to general coziness, good places
to sit without buying anything, and the choice of shops and cafes if one does
wish to buy something. The prices here are very reasonable as well. I just
had a well sized, tasty ceasar salad with salmon for what a crappy greasedog
would set me back (and did) in Copenhagen. So yeah, Tallinn airport is
recommended! Also, I mentioned the shuttle? That's a service for when you
have early/late flights and there's no bus at a reasonable time. Then you
pay 20 Euro to be picked up, at your place, and driven to the main entrance
at the airport. Mind you, that's a 3 hour taxi drive, which you sometimes
have to share with one or two other people, but most times have to yourself.
Now it's 5:31, I'm not that tired, but not very awake either. I think I'll
have a go at sketching out the API for the server class.


                       /
                      /
         ____________/
 _______/
/       \
         \
          (Sketch)

It's 7:05
I'm in Copenhagen airport, it is everything Tallinn airport is not, in a bad
way. Large, but with few places to be, consumerism run amok.
Any hope of comfort must be abandoned by those who do not wish to consume.
In Tallinn, you buy a coffee or hot chocolate because you want a coffee or
hot chocolate. Here you buy it for the privilegde of sitting comfortably.
If you can get yourself to pay the ridiculously high price (which I can not).
Even such basic services like wireless Internet access was paid service until
very recently, when they decided to include it with other basics such as
air, comfortable seating and access to toilets, soap and running water.
Except, of course, here, comfortable seating is reserved for those who are
willing to pay. Because, you know, it's not like we already paid an airport
fee to be here in the first place.. So here I am, at an
empty gate, or whatever it is, in a rather worn down "Danish Design" sofa-bench
abomination that, in the complete absence of padding to the back, was likely no
more comfortable when it was brand new and much overpriced than it is now.
Then there are the obnoxious hipsters, no, let's not go there.
Short story long; I don't like it here in particular.

Don't get me started on boarding an airplane
I did get started, because it's a clusterfuck of proportion to watch each and
every single damned time. Here's how to board like a bag of complete human
genetic waste:

 1. Make sure to put on your jacket before entering the plane, if you have
    scarves, hats, gloves or personal protection gear, don that too!
 2. Feel like you're likely to go poo poo in the next two hours ?
    Wait for gods sake, don't spent the hour in the airport using roomy,
    well-ventilated and sanitary facilities .
 3. Remember your phone/book/glasses/mints/controller for your girlfriends
    vibrator? The one that's in the pocket of your jacket? Yeah that, leave
    it there for now.
 4. Backpack? Equip that shit well! Over both shoulders with it, and if you've
    got some extra straps/locks, be sure to lock those tight, we don't want to
    lose our backpack on the runway!
 5. You should buy something that can't fit in your carry-on luggage.
 6. Do everyone a favor, and bring the maximum-size carry-on, and be sure to
    also bring a 15 liter Gucchi "hand bag" and a laptop bag for you 23 inch
    hopsterbook-pro.
 7. Maybe glue on your headphones and sunglasses as well.

Goo, now you're ready to board!
 1. Because nobody fucking minds waiting for your idiot-ass while you unzip,
    untie, untangle and unwind your stupid jacket and then spend almost as
    long pushing it into the overhead compartment.
 2. Because there's nothing quite so social as sharing the excrement odors
    with complete strangers, it's a gift everyone can appreciate, and it makes
    the real actual emergency situation (where one is slightly too hungover and
    need urgently to use the facilities) so much more interesting (especially
    for the poor SOB next to.. one).
 3  Now that your jacked is mashed away under your (6) carry-on, the overhead
    compartment securely closed and you at your window seat with the guy next
    to you already fastened his seat-belt, this is a good time to jump up,
    make him move into the isle, so you can get your retarded-as-fuck-self out
    there and blocking everyone else while you open the overhead, pull out your
    carry-on (be sure to bump some innocent passenger in the head with your
    heavy plastic monstrosity with a "carbon look"), and start going through
    your jacket after whatever nonsense you decided you absolutely couldn't 
    live through the flight without, oh, and like everyone else, you're just an
    expert at finding the right pocket without actually putting your jacket on
    No? Okay, go ahead, we've all got plenty of fucking patience to wait.
 4. Because, removing a backpack is quicker the more securely it is secured to
    your mentally-inhibited self, right? Nobody is surely going to mind you
    hitting you with it as you struggle taking it off, because we appreciate
    the difficult situation you've landed in, of no fault of your own.
 5. Because with the delicate motor-skill and agility that you have, this will
    in no way hinder, slow down or make next to impossible, any of the other
    items on this list, you're just that good. And nobody minds waiting for it.
 6. Because you know, 25 cubic meters of crap just is not enough, and even when
    everyone brings a max-sized carry-on, there is always plenty of room for
    all the extras as well, and us with considerate, soft carry-on, we do not
    mind having it under the seat since your gigantic kryptonite case
    un-ever-so-fortunately won't fit under your seat.. I've got a suggestion
    where it could be made to fit.
 7. Because we all love listening to the security instructions, and you should
    join the fun, we don't mind waiting for the cabin-personal to personally go
    and give you the exact same instructions as were just on the speakers,
    which you'd be aware of if you'd ever flown before in your life.

Now that you're on the plane, here's a few things you can do to make sure that
everyone enjoys their flight.
 1. Don't hesitate to lean your seat all the way fucking back.
    Nobody behind you would mind, they're surely not going to use their seat
    table for anything, and they won't mind looking at your dandruff filled
    scalp for the remainder of the flight, much less get a whiff of whichever
    chemistry you've chosen to soak yourself in before entering. Personal space
    is so overrated anyway.
 2. Be sure to talk loudly to your friends 4 rows back, we don't mind, it's not
    like we have anything better to do than listen to your idiocracy.
 3. Deodorant and perfumes, lots of them! Sure beats a shower, and no synthetic
    odor could be as offensive as a slight scent of human, right?
 4. Be sure you're comfortable. Flight seats are one of the hardest substances
    known to man, and there's no possible way the person in front of you could
    ever notice your knees in the back of their seat (bonus points for swinging
    your legs or shaking your feet).
 5. Don't worry about hygiene, flights are sterilized completely after every
    landing, so sucking on your fingers after eating, and then proceeding to
    touch seats, seat-belt buckles, handles, and other surfaces should be no
    concern at all, go right ahead, and you're a good, clean human being, so
    no one would mind, right?

Back to coding
I got started on the skeleton API for the server, I need to decide if it is
reasonable to share the GoperResource between server and client. There are
some things that the client won't need (filepath for example) and some thing
that the server won't need (query, for instance). But I'm not entirely sure.
I've decided that the server will not serve files based on a filename, instead
it will always use a representation of a map, it might be a dynamic map created
from a directory, but the selector from the client will always be matched
against an in-memory structure. This also avoids any possibility of cheating
the server to send files that were not intended to be exposed.
Users of the server class can add resources to "root selectors" (for lack of
a better name), basically, a path, but without the / delimiter.
It will find the handler that most exactly matches the selector, then pass the
remainding string to that handler.

Brain broken
Anyway, there is now free wireless Internet, except, gopher and SSH is not
working, so it's more like free wireless world wide web.. :( I forgot why I
wanted to have access in the first place..

It's 0:51
I feel tired now, I'll go to bed.. Pushed something to a branch somewhere.