Pirates
Nothing happened in the last week that I didn't log in the ship's log. At least not what you want to hear, I get it. You don't need to know every time I take a shit or what I had for breakfast, right? Anyway, the whores pretty much behaved themselves. Like the log says, robots were trying to fix the busted generator but I knew they couldn't. They do what they're programmed to do no matter how impossible.
Anyway, after a week there were some more little rocks in our way, but these were mapped; we could just go around them. The computers would do the actual steering but I have to sit in the pilot seat in case the four of them disagree about something and I have to make a decision. I've never seen that happen, though.
While we were driving around the rocks, Wild Bill called over the MASER link. "John, Bill here. I'm about a light minute ahead of you and I'm standing still again, but this time it's on purpose. There's pirates ahead, and I can't outrun them on batteries. If your systems are all in good shape, run like hell. If you're having problems you should stop."
Shit. I could out run them on one generator but what if the other one went out? Hell, I could just detour around them. Too bad Bill didn't have that advantage, batteries just didn't hold enough energy.
I answered him back. "Pirates? This far out? Are you sure they're pirates?"
It would be a couple of minutes before I heard back. I put the course correction into the computers' input console while I waited, then addressed the folks on board. "Passengers and cargo, attention. Prepare for unexpected gravity changes. That is all."
Bill answered. "It's a fleet and they're not listed in the computer. Hell if I know what they're doing out here."
Damn. Bill was a damned good friend who had helped me out of jams more than once. And he was hauling tons of different metals, a valuable cargo inside a valuable ship. His short circuit could have been sabotage; pirates have been known to infiltrate the company before. The company wouldn't too much mind pirates killing Bill but they'd hate to lose the ship and cargo, so maybe I wouldn't get in too much trouble for what I planned. I picked up the phone and addressed the ship's P.A. System. You can probably get a lot more detail from the computers, but anyway I got on the P.A. "Attention, ladies, this is the captain," I said. "Strap down, we're going to have some crazy gravity in a few minutes. That is all."
I strapped myself into the pilot's chair myself. I turned the boat around and decelerated, shut down half the engines, made one look like it was sputtering, and informed Bill to get ready. Then I went toward the pirates while the computers figured out the trajectory for what I'd planned. I'm glad I have those computers, I could never do the math myself.
They saw me, and I pretended I'd just noticed them and changed course. I wasn't kidding when I told the women gravity was going to be weird.
They took chase. I went just slow enough to keep them the right distance and get where I was headed when I was headed there. From the radar it looked like they were steering those things by hand. Good, that raised my chances. Actually there wasn't any danger to me since I could outrun 'em easy and they can't shoot at me or anything that might damage the boat and cargo, which is what their goal is. But it raised my chances of saving Bill's ship.
You know how the pirate fleets work, with a lead ship carrying an EMP. They don't know we designed these ships with pirates in mind and their EMP wouldn't stop us. And I didn't want them to know so I sent them a nice little present, fired from the rail.
I hear the pirates still use gunpowder.
The bastard's ship exploded and we were almost there –
When I reached the right spot we took off like a bat out of hell. Ten seconds later the poor pirates got caught in the rain, as we say. They probably all died. I sure hope so, murderous bastards after my friend!
I set the course back to Mars and addressed the ladies. "You can unstrap now."
Time for inspection, since I'd pushed her hard on one generator.
Like it says in the log, it was fine but a little warm. The engines were in good shape, too, but I shut down the one I made stutter for twenty four hours, just like the book says.
This called for a beer. Hell, this called for champagne but I didn't have any. I started back to my quarters for a beer.
To be continued.
I've been a little busy this week, too busy to spend much time soylenting. I've only written about three more paragraphs of Mars, Ho!; I've been working on Nobots and The Paxil Diaries. The Paxil Diaries was waiting on my porch when I got home from Patty's Tuesday evening, and boy was it a mess. I've mostly been working on it. It's funny how much easier it is for me to notice mistakes on paper I miss on screen.
I finished editing it again last night and am waiting for another copy, which they haven't shipped yet. When it comes I'll go over it again, upload the revisions and buy another copy. It may be green outside before you can get a copy after all.
Nobots needed more sales outlets, so I worked on that, too. You should be able to get it at bookstores in a few weeks. If you bought a copy last year, you may own a rare book. If my name is on the bottom right of the front cover instead of right under the title, you have one of fewer than two dozen copies. It should be worth something in a decade or so.
I may work on the Mars book today, but then again I might just take the day off, take the computer to Felber's and watch Cosmos on Hulu since channel 55 was off the air last night; their web site said there was equipment failure. And drink beer in the beer garden and listen to music and enjoy the 65 degrees they're forecasting.
Or maybe sweep the floor... nah.
I'd planned on traveling to Cincinnati last Monday to visit my daughter and came down with the flu. I called Patty and told her it would be the next Monday; she works full time and is a full time student at Cincinnati State, and Monday is the only day she has off.
I looked her address up on Google Maps. It looked pretty easy to find. "Don't trust Google," Patty said. "They're doing road construction and it will try to send you down a road that's closed. Take the Hoppit exit, turn right and I'll meet you at the Shell station.
My nose was still producing copious amounts of snot, I was still coughing up lots of mucus but felt a hell of a lot better than I had last week. I woke up about 5:30 Monday morning, did my morning routine functions, especially coffee, one function of which was checking my phone. Three missed calls and a voicemail from Patty. I called, knowing she wouldn't answer because she's never awake that early and left a message that I was on my way and to call when she woke up.
I have a big laptop bag and a small laptop; the bag had cost me $5 and came with a broken laptop. I put spare clothing, charging accessories in it and loaded it, my battery jumper, and Patty's cat's ashes in the car.
I had a half tank of gas and figured it would get me to Indiana, where fuel would surely be cheaper. After all, it's a red state and Republicans hate taxes, right? No such luck, I was down to an eighth of a tank by the time I reached Bloomington.
It's a little frustrating that Cincinnati is southeast of Springfield, but you have to go northeast to get there unless you want to drive over three hundred miles of two lane road with 30 to 45 MPH speed limits and lots of stop signs and so forth. It would take forever that way.
Gas was a nickle cheaper than Springfield; $3.55. I put twenty bucks in, figuring I'd fill up in Indiana and started on my way again. I had my phone plugged into the car stereo for times there was no music and I'd heard all the CDs, which I'd neglected to change before I left. There was a rest area so I stopped to urinate and change CDs. I checked the phone; Patty had called. I called back, and again she warned me about Google.
Apparently people from Illinois aren't welcome in Indiana, as the usual "Welcome to [state]" sign was nowhere in evidence. The only way I knew I'd crossed state lines was that the pavement got a lot worse. I-74 had apparently been badly neglected for years in Indiana, except for a stretch by Indianapolis. Gasoline was more expensive than at home.
The sun was shining, the pavement was dry, and there was little traffic. "Welcome to Ohio!" the big sign proudly proclaimed in bright graphics as the pavement improved. I reached Cincinnati and the traffic was terrible. I-74 East split into I-75 north and south; I guessed south but wasn't sure. I pulled over to the shoulder and called Patty to make sure I wasn't going the wrong way. I wasn't.
The next exit was the Hoppit exit. I met Patty at the gas station. "You shaved!" she said.
"Yeah, my upper lip hasn't seen the sun since before you were born." Patty had never seen me completely shaven; most of her life I've had a beard, or at least a mustache when my chin hair went gray.
"I don't like it," she said, frowning."
"Neither do I. I'm growing it back this fall." I noticed the gas cap door on her car was open as she pulled out and was about to honk to let her know when she pulled over and shut it.
We got to her apartment and we hugged and I shook her fiance's hand an gave Patty the metal box and envelopes. I hadn't opened one of them, which had come from Coble Animal Hospital. I'd thought it contained Princess' ashes but they called a week later to inform me I could pick her up.
"Ooh, this is a pretty box," she said. "What's in it?"
I still can't believe I spent over three hundred dollars for a dead cat, part for the vet to tell me she was dying and part to have her cremated, since the ground was frozen and I couldn't bury her. I discovered that animals and humans are cremated in the same crematorium, which is why it's so expensive. If Little One dies in the winter I'm storing her in a deep freeze until the ground thaws.
Patty opened the unopened envelope and started crying. It was a plastic placard that read "PRINCESS" and had her paw prints in it. No, I guess I didn't spend $300 on a dead cat, I spent it on my daughter. "Put this with Calie under the tree," she instructed. "When you move, take it and Calie's grave marker with you."
Colby had planned on making Reuben sandwiches for lunch but the corned beef was still frozen. "Let's go to Chick Filet," he said. "OK," I replied,"but then Patty needs a phone." Her iPhone had been broken for months, its screen cracked. And she'd liked my phone and especially liked my low phone bill.
We had chicken sandwiches and went to Best Buy. The price of the phone was half what I'd paid for mine. She was trying to decide between it and a more expensive one with a front facing camera but decided she liked the idea of it being waterproof and resistant to shock.
"Lets buy a TV while we're here" she said to Colby. After they talked for a while she said "well, I'm buying a TV. I have the money." They have an old twenty two inch tube TV that doesn't work and a little nineteen inch widescreen.
But she didn't like the prices so we went to H.H. Gregg, whose prices were no better than Best Buy's. Best Buy's crack Geek Squad couldn't activate Patty's new phone so we took it home and did it ourselves.
I'd bought Gravity, which had come from Amazon amazingly the day before it was supposedly released for sale. It was a "combo pack" with a DVD, Blu-Ray and download. I'd brought the Blu-Ray for Patty, and we watched it using her Playstation and little TV set.
None of us had seen the previous night's Cosmos so she fired up Hulu plus on the Playstation. After watching it and an episode of Doctor Who I decided that I wanted Hulu Plus.
The next morning she gave me a big bowl of corned beef, cabbage, carrots, and potatoes, and two T shirts. One was almost a joke; a St. Patrick's Day Reds shirt. The other was hawking some video game, a nerdy shirt I'll wear proudly.
She wanted to see how badly Google would have set me astray so I gave her my phone. She was amazed. "They got it perfect, that's how I told you to go." I loaded up the car, we said our goodbyes and I set off on the long journey home.
The trip home was as unpleasant as the trip there had been pleasant. First, I missed my turn to get on I-74. Five miles later I got on I-75, saw I was headed to Dayton and took the next exit. I stopped at a gas station, got gas, and consulted the map.
It would be nice of these things came with manuals. I think it ironic that everything used to have a detailed manual when technology was primitive enough you didn't need one, and now that interfaces have only icons and no way to discern WTF they mean, they don't. Let's see, looks like I go that way...
The radio was playing commercials so I switched it to the phone to listen to KSHE. The disk jockey started giving directions! "Go west on" whatever street the gas station was on "point seven miles and turn right." It wasn't KSHE, it was Google Maps. It easily got me back on I-74 north and it wouldn't shut up so I switched back to the radio.
Traffic was horrible; a semi that read "TARGET" zoomed past me doing at least twenty miles above the speed limit and almost made me miss my exit. Looks like it isn't just their IT that could use more training.
A little green sign with white lettering said "Welcome to Indiana". It started snowing. Twenty miles later visibility was poor, and twenty minutes after that the pavement was covered.
It was a miserable trip. The snow stopped around Indianapolis and the traffic was almost as bad as Cincinnati. Halfway to Illinois the wind started blowing. A couple of semis almost got blown off the highway.
Gas in Bloomington was $3.49.
When I got home there was a box on my doorstep; The Paxil Diaries had arrived. I'd screwed it up terribly. So you still can't have a copy yet...
So I'm pretty sure you're all aware, but I've gone through and done a massive amount of work on the backend and infrastructure in the name of sanity, proper user permissions and such, and documenting as much as I can.
As a note, a lot of this was brought on by the fact we have relatively credible threat against the site, so I wanted to go through and make sure everything was in good shape and hardened (there's a lot of good bits here). I might have gone overboard. Here's the cliff notes version of what was done.
* Static Status Page
http://status.soylentnews.org
This is on boron in /var/www, we should probably move it to Oxygen in case the entire linode DC goes down, but its fine there for now
* Through documentation on node access, SSH, etc.
Basically, the links here http://wiki.soylentnews.org/wiki/SystemAdministration are required reading for all staff who play with dev, or production.
There are still gaps, varnish, slash, and apache only have limited documentation which is outdated, but I'll try and get those written in the next few days
* Node renaming
This one might seem silly, but its sometimes hard to know what we're refering to when we talk about webserver/etc and a specific node. While at the moment we have no redundancy, I changed the hostnames of everything. The original soylent-* names are aliased in the internal DNS. List is here:
http://wiki.soylentnews.org/wiki/SystemAdministration/TheHitchhikersGuideToTheli694-22Domain
* Internal DNS
Major thanks to xlefay for getting this up and running. All nodes exist in an internal li694-22 TLD, and are both forward and reverse resolvable (needed to make kerberos work properly, and make life easier).
* Dev server
Announced, but falls into stuff done this weekend :-).
* Varnish
I drastically reworked the varnish configuration file for better performance. The server is considerably more responsive than it used to with apache hit considerably less. As a side effect, slash hitcounts will be skewed as ACs will not be counted.
Rate limiting to prevent DOS was implemented, and xlefay pounded the dev server with some impressive apachebench numbers to confirm we won't go down. The dev server is much more loaded than production due to sharing the database, so I'm optimistic it will take a serious effort to pound us into oblivion with just ab or similar tools from a few nodes.
* Disabled static page generation
This has been a PITA and on the TODO for awhile. Dynamically generated pages are now used for articles and comments. Varnish caches for ACs on a 5 minute basis. Logged in users get access to the site directly
* SSL on Production
Doesn't fully work, but I reworked the nginx termination, and the varnish configuration so it is possible to login and use SSL. slash redirects the login to http, but the cookie gets properly set now so if you login SSL then reload the SSL page, it works. Need someone to dig into slash and figure out why ConnectionIsSSL is returning false. Need a volunteer to setup nginx termination on dev to debug.
* LDAP setup
God, this was a pain, but we have a full LDAP setup on helium now. Replication to boron is on the TODO list, so if helium goes down, SSH authethication goes down, which is a bad thing. People with linode accounts can access the console and log in as root directly
Documentation (with pictures!) here: http://wiki.soylentnews.org/wiki/SystemAdministration/LDAPManagementForDummies
* Passwords logged and recorded
Went through, made sure every password is saved in a master PW file which is in helium in root's home directory. sysops should keep a local copy of this file as its needed to use lish to access boxes should LDAP be down. Other important passwords like mysql, LDAP, and kerberos are also in this file.
* Centralized ACLs
All machines require that a user be in the correct POSIX group to access them. List of groups is available here. This ensures that also everyone who has access can have it
http://wiki.soylentnews.org/wiki/SystemAdministration/GroupPermissions
* SSH Policy
This one probably going to cause me some flack, but you need to go through the staff box (boron) to access any more. I don't like having open SSH ports on any of our nodes because it feels like we have our balls in the wind and a misconfiguration can leave us vulnerable.
I'm not kidding on that last bit. On production for the last month, slash:slash has worked as a username and password to log into the slash account. Using LDAP doesn't solve this as we still have local accounts for things LIKE slash.
Everyone must use SSH public key to autheticate; keys are stored in LDAP and are pulled on the fly by OpenSSH (this required updating OpenSSH on all nodes with a backport).
I know that due to slashd seizing up at a bad time this caused people to get locked out as I haven't gotten SSH keys from most people. I've got 8 users now with keys in LDAP. Right now, I don't have all the sudo files fully massaged, so if you have access to the dev server, you also have full sudo on all nodes. This isn't really desirable as I believe in limiting permissions, but this is a case of preventing us from going SNAP. Looking for someone to work out the necessary sudo voodoo
Also need someone to write upstart files for apache 1.3 so it comes back on a restart (xlefay is doing this, but feel free to work with him)
* New Node Bringups
lithium (dev server), carbon (IRC server), and oxygen (offsite backup) were brought up this weekend. Bringup documentation was written here: http://wiki.soylentnews.org/wiki/SystemAdministration/TheRiseAndFallOfNewNodeManagement
* OpenVPN
Setup a OpenVPN server on boron with magic iptables setup to allow oxygen to access all nodes. There's a fair bit of magic going on here, and I don't have the setup documented yet, but its basically following the Ubuntu Serer documentation for OpenVPN, plus a few iptable rules (saved in /etc/iptables.rules) on boron. Should be pretty self-explainatory.
* Kerberos
To handle users that can't use ProxyCommand, to make life easier for internode stuff, and to be sexy, kerberos was setup to allow single signon. As most people probably never have managed Kerberos, the quick start guide is here: http://wiki.soylentnews.org/wiki/SystemAdministration/KerberosAdministration
Kerberos replication is setup, but not running as I need to make sure everything is sane. KDC master is helium, slave is boron.
* AppArmored Apache
This was the real reason for the scheduled downtime last week as we had to migrate to apparmor capable kernels. AppArmor is basically SELinux but less braindead, and I handwrote a config that essentially puts Slash in a straightjacket. This should prevent things like process exploitation or a bug in slash from getting any traction. The apparmor config is installed on both lithium and hydrogen and is in /etc/apparmor.d. If you take a look, Apache can't take a piss without explicate permission :-).
(note, this doesn't do much to help us with SQL injections but every bit helps. Nothing short of a full rewrite of MySQL.pm to use stored procedures will fix this. Any takesr? (or migrating us to pgSQL then doing this?)
There's more to do here, slashd should be apparmored as well, but thats more difficult, and as its not directly user accessible, I'm less concerned that with apache itself. Ideally, every userfacing component should be apparmored (nginx, varnish, and slashd), but the former two run under very restrictive user accounts, and slashd only works with data in the database that already passed through Apache, and for the most part is just simple maintenance scripts, so its not that easy to attack.
I need to write up and document apparmor like I did for other things, but its relatively idiot proof to write files, and it makes good logs in /var/log/syslog.
* Preparations for offsite backup
We've got a dedicated server (oxygen) with a 500 GIB HDD from http://www.kimsufi.com/en/ for €10 a month in France (oxygen) This will be used for offsite backups. xlefay looking and will be implementing this for all nodes.
* Ubuntu package repo
As we need to maintain at least one backport, and need other things packaged, I setup a Launchpad PPA to do package building and binary distribution to all nodes: https://launchpad.net/~li69422-staff/+archive/backports-for-precise
This repo is added on all nodes. As you need to know how to do Debian packaging to use it, build an example package or two, and then I'll add you to the team. Its pretty straight forward on how to do this.
* Staff userdir
Any staff can generate a userdir on boron by creating a public_html and using staff.soylentnews.org/~username
If you're the owner of a copy of Nobots, you now own a rare book. Fewer than two dozen were printed. If you don't yet have a copy, the price is a little higher.
When I originally published I was brand-new to all of this. I guess I still am. Until now the only place it was for sale was Lulu; I hadn't properly registered its ISBN and the bar code on the cover was wrong (Lulu put it there).
When I was readying The Paxil DiariesI got better at navigating Lulu's interface and figured out how to add one of my ISBNs and get it for sale at Amazon, B&N, etc., and get it listed on Google Book Search. I fixed the front cover, too. It now looks like it does on my web site.
Those fewer than two dozen copies will be worth quite a bit in a few years. I worked with a fellow named (iirc) Dave Luttrell a couple of decades ago when computers were expensive. His sister won the lottery and fulfilled his dream of writing a book about his time in the Vietnam jungles. She bought him a computer for him to write it on, and a small local publishing house published it.
There was only a single printing, I don't know how big the print run was, but the local library had a copy. Interesting book, could have been better edited.
Years after I'd last seen Dave, Amy was telling me about her late uncle who had written a book about Vietnam and I realized that Dave was Amy's uncle. She was wishing she had a copy of his book and tried to find one.
The Elf Shelf, a used bookstore here, had a waterlogged copy for $250. So hang on to those books!
No sooner than I'd ordered a galley proof of The Paxil Diaries when I found a huge blunder -- a lot of chapter numbers were wrong and there were no page numbers. That's now fixed, and barring any further stupidity on my part you should be able to get a copy in a few weeks at the latest -- they shipped the galley proof three days ago.
Alarm
The alarm went off when we were watching a movie; a real one this time, a modern holo rather than the ancient two dimensional ones we'd been watching. So of course I thought "damned whores."
"Sorry, hon, we have a fire in the commons. I'll be back when I can." Damned whores.
When the yellow light flashes over most doors, they can only be opened from the outside. When it flashes red outside it won't let you in, when it flashes red on the inside you'd better get the hell out of there.
There were a few exceptions, like my quarters. It would only keep me in if there was a vacuum or a fire outside the door. It only flashed yellow as a warning.
I went to the commons and another alarm went off. What the hell? This one was in the passenger section, apartment 12. Nobody should be in there. Whores? More electric problems?
The commons was closer and I had to make sure the cargo had evacuated.
There were no whores and no fire. My tablet reported it was a scheduled drill. That explained number twelve, sometimes they simulated more than one fire.
It went off again. "Cargo section, #6." I laughed, the computer was posing a conundrum for me. And the cargo. If your quarters caught fire you were supposed to go to the commons but what if it were on fire, too?
Number six... that was the Thai girls, wasn't it?
There was screaming from the other side of the door. "Computer, open the door" I ordered.
"Unable to comply. Danger to ship, passengers, other cargo, and crew."
"Report."
"Fire in cargo hold six. Fire suppression technologies deployed."
The damned thing talks like it's went to college.
"Let those girls out, damn it!!"
"Unable to com..."
"GOD DAMN IT!!"
And then another damned alarm went off. Son of a bitch! "Computer, source of new alarm."
"Meteor shower ahead." The door opened and the girles stumbled out, along with the fat blonde, coughing. Smoke billowed from the door before it closed.
"Meet me in the commons, I have an emergency." I ran to the pilot room on my sore legs.
This time, like most times, meteors meant slow down. I reduced gravity to 10%. This time I wasn't going to face the whores until it was over, we were already behind schedule.
After the rocks all passed in front of us I sped back up and adjusted course to make up for the damned rocks.
I checked the passenger quarters and sure enough it was a drill. What morons program this shit, anyway? Having emergency drills when there's a real emergency? That's dangerous. Stupid dangerous. Those bozos might have went to college but they were morons. God damned idiots!
What? Yeah, yeah, just shut up and let me talk, I want to get this over. Anyway, the three girls were still sitting on the medic outside their apartment sucking oxygen. The door light was red but no longer flashing.
"So what happened?" I asked them.
"Don't know," the blonde said. I can never remember her name. Anyway, she says "we were just talking when that damned noisy maid burst into flames and the room locked us in! We were scared shitless!"
It happened sometimes, but they usually smoked for a while before they started burning, and then only when they were old and worn out. I hoped the ship had a robot that made robots.
The light went out, the door opened, the Thai women went in and the blonde went home. So did I.
Destiny had fallen asleep, so I got a beer and put the movie back to where I'd left off.
Pressure
When I woke up, all my muscles were on fire. We would have had to turn the ship around today, and in fact that's what was scheduled, except for the meteors and the drama that followed.
Destiny was sleeping peacefully. I got up, thankful that we weren't at Earth gravity but wishing we had turned around for deceleration then, because they have it plotted so that you start the journey close to the planet you're leaving's gravity, and reach your destination close to that planet's gravity. We were at half Earth gravity now and it would gradually be lowering to Mars' gravity.
The girls didn't like half Earth gravity, they were going to hate Mars. I guess these girls were being well paid or something, they sure were paying me good. Except that from what I'd learned about these women they probably just promised free drops. Drops were the addicts' only motivation, only goal, only thing that mattered to them.
God but my muscles were all on fire. I sat down on the couch and had the robot make a cup of shitty coffee, my legs hurt. I had it bring me water and Naproxin and drank the lousy coffee. Yech. Why can't they program those damned things to make drinkable coffee? I should have went to college and learned programming.
I only drank half of the nasty brew and hauled myself painfully to the shower. A hot shower would do wonders for my aching muscles.
The hot water felt as good as the coffee had tasted bad. I took a really long one. It helped ease the pain, and the pill had started working some, too.
I took one sip of the remaining cold, nasty coffee and started a pot. Damned stupid robots.
I was just pouring a cup when Destiny came in. "John!" she said. "You look like hell!"
"I feel like hell. All that damned climbing yesterday nearly killed me. And I still have to check the instruments and inspect the boat."
"You did inspection yesterday. I thought inspections were weekly?"
"Yeah, normally, but yesterday wasn't the least bit normal. I have to inspect that busted generator since it would have cooled enough by now, and the other one, too, since it's working harder now that there's only one."
"Poor baby!"
"Well, at least I don't have to inspect cargo today. Want to watch a movie later?"
"Sure. Isn't it almost time to check your instrumentation?"
"Yeah, it is." I kissed her. "See you in a while."
I went towards the pilot room, which was really just outside my quarters. Yesterday I'd been wishing for a bicycle, today I was wishing for a cane.
All the readouts were normal except one – air pressure in the port generator was twenty kilopascal low. That wasn't a good sign at all, I was going to need a suit and tether in case a bulkhead blew while I was in there.
I noted the log and stopped by our cabin... heh, "our cabin," how about that? Anyway I stopped to fill a bug mug and summon a medic.
Medics are robots that look kind of like narrow tables with padded tops and appendages to measure bodily functions and administer medicine. Planetside they called them "gurneys" but everything is named different on a boat. Like port and starboard.
I sat on the medic and ordered it to the port generator and got another robot on the fone to fetch the suit from the starboard hold where Destiny had gone out the airlock.
After I'd suited up and tethered, the difference in pressure made it hard to get the hatch open. I tried a crowbar and couldn't even make it hiss. So I lowered the pressure where I was and the door popped open by itself. I took a floater with me to hunt for the leak.
A floater is just a small balloon filled with helium with a small counterweight to make it gravity neutral. It goes where the air goes.
I found where the air was escaping and patched it. Why can't they program robots to do that? Stupid robots, they could act as maids and medical doctors and all sorts of other functions but the damned things can't patch a hole or make a decent cup of coffee. At least they're cheap.
The pressure was slowly rising so I sat on the medic and waited until it matched the rest of the ship so I could get out of the room. I hadn't needed the suit, but left it on just to keep my ears from popping.
The gauge said pressure was normal so I tried the hatch. It opened easy, so I took off the suit and gave it to a robot and rode the medic back to my rooms.
I was dying of thirst, even after downing that big glass of water when I took the naproxin. I said something to Destiny about it when I got back, taking another pill and drinking more water.
She laughed. "You're dehydrated, dummy. You told me yesterday you thought you were going to drown in your suit from sweating. You probably need electrolytes, too."
"And I'm hungry, I just didn't feel like eating when I got up. You hungry?"
"I could eat. Robot eggs okay or do you want me to cook?"
"No, robots cook okay as long as it doesn't involve coffee. How do you want your eggs?"
"Ham and cheese omelette is okay, maybe with some hash browns."
"Okay. Robot, a ham and cheese omelet, a Denver omelette, two hash browns and toast. No coffee!"
Them damn robots suck at coffee, and they can't patch a hole at all. I'm glad they can cook.
We've recently had a credible threat made against the site w.r.t. to a security exploit on slash. While details are somewhat vague, what little information was posted, combined with my knowledge of slash, and reviewing old security posts on slashcode.com suggests we're looking at a potential SQL injection technique.
While slash does considerable data sanitization, and escapes information coming in (so you can't just "; drop table users;"), there are values that require special sanitization on top of the normal. This has been the source of other XSS and SQL exploits against Slash historically (look at the articles on the main index).
I took a brief look at Environment.pm (where the supposed exploit is supposed to live) and said sanitization, and didn't seen anything that immediately jumped out at me, but it is a *lot* of code to look through. A grep through the access logs suggests that no one has tried to execute raw SQL on the site, but its impossible to know for sure.
If you or someone you know is interested in trying help secure SoylentNews, grab the dev VM, the current git tree, and get auditing. If we're informed of any security exploits (which should be sent by mail, and not posted in the comments), we will patch it here, and informal all other slashcode sites that we aware of about the exploit before releasing information about it publicly on the main index.
Do note that IP addresses, and passwords are hashed in the database (although only with MD5; upgrading to stronger hashing is on the TODO list), so an information leak, while bad, is not catastrophic. We do take regular snapshots of the database and of the machines themselves as well, and we'll make sure to post immediately if we become aware of any specific exploit against the site.
Cargo
I started the long walk back to the pilot room wishing again for a bicycle or something.
A robot wheeled past. Hell, I should just flag down a robot. But, of course there was a reason for not having transportation; I remembered the climb up the boat when the whores locked me out and how tiring it was. A body needs exercise and the most I was going to get on a boat with two-thirds gravity was walking.
Destiny and Tammy were in the commons with a few other women; I say "women" because these were acting halfway civilized, despite their lack of clothing.
"Done already?" Destiny asked.
"No," I sighed. "Trouble. One of the generators blew out and we're off course again. I just saw you and thought I'd say 'hi', I can't stay. Too much damned work."
"what do you have to do? How long will it take?"
"I don't know. When I get us back on course I have to see what the robots are doing with the generator."
"How bad is it?" Tammy asked. "How many generators are there?"
"Only two. I wish this was an old tub, they originally had just one fission generator and got retrofitted with fusions. If our other generator dies it's batteries.
"What then?"
"We're late. But there isn't much chance of losing both generators. We'll be okay. But speaking of generators, I gotta go." I kissed Destiny and headed to the generator.
It had cooled enough for the robots to go in to work, but was a bulkhead removed from where a human could tolerate it. I had two more engines I hadn't checked off so I inspected them. Of course, if there was anything wrong I'd have been clueless.
The repair robots said the generator was shot.
Shit.
I walked past the commons to my quarters, Destiny and Tammy weren't in there although there were a few unclothed whores. Damn, ladies, put some pants on!
Destiny and Tammy were in my living room drinking coffee. As I walked in, Destiny said "John, you're damned lucky Tammy's here."
As I'd suspected. "You're supplying the drops," I said, sitting down.
"Yeah."
"The whores would have killed us without them."
"Yeah."
"How much you got?"
"Plenty."
"Enough to get to Mars?"
"Don't worry. I know my chemistry, I know how much they need."
I said "don't give any to the bitches in confinement."
"You don't know what you're talking about. With drops they're harmless. Take them away, and well, it isn't pretty."
I was confused. "What can they do locked up?"
"They're liable to suicide."
Crap. Losing cargo is a pretty bad thing.
"Crap! Damn but I'm glad you're here. I'm going to suggest to the company that they send someone like you on all these runs."
She laughed. "The company wouldn't want to spend the money necessary. The bean counters know how much loss is acceptable."
Destiny said "I made coffee."
"Thanks, but after the day I've had I want a beer."
"I'm still trying to wake up," she said.
"Yeah, you napped for a couple of hours after you went for a stroll outside. I would have thought the oxygen would have woke you up."
"Actually it put me to sleep."
Where the hell was that robot with my beer? "Robot! Beer, damn it, are you deaf?" A robot rolled over with my beer. I'm glad this boat has the older robots. The newer ones talk, and it's annoying as hell. If I want output from the computer I'll use my fone or tablet.
Tammy said she had whores to study and excused herself. The robots made dinner and we watched some really dumb old movie from a couple hundred years ago, laughing all the way through it although they say when it was made, it was meant to be serious.
Then we went to bed. I hoped tomorrow would be less stressful. My muscles all ached from the walking and climbing, I was going to be in pain the next day.
Continues. I need to think of some other trouble that Knolls can get into. Suggestions?