local

Stuff posted in this site by me.

You’re a Graph Point

These terms distinguish operating systems by the problems they solve for the user. However, a disturbing trend is emerging in which the user is not the party whose problems are being solved, and perhaps this calls for a new term. I propose “vendor-purpose operating system”.

Source: General-purpose OS, special-purpose OS, and now: vendor-purpose OS | Drew DeVault’s Blog

In this instance, you’re not even the vendor’s _user_, that title goes to whomever the vendor is selling to, i.e. the client who is using the OS at scale.

You’re now a byproduct. You’re just something for the vendor to brag about on quarterly meetings with Wall Street.

Nice

Pretty sure this is the longest I’ve been able to keep a server alive without having to reboot for whatever reason.

FTP now has a new meaning.

Black Lives Matter

Organize, provide mutual aid, help out with street cleanup.

Abolish the police.

In their current form, they’re a tool of oppression.

Defund the police.

Don’t want to go the full mile? I’ll meet you at the 900 yard marker. Them pigs do not need hand-me-down military weaponry.

Fuck The Police

Tmux Alt/Meta + Arrow keys don’t work on Windows Terminal

Putting this up ‘cos I will forget how to do this at some point in the future.

Say you’re using the following keybindings on tmux:

# switch panes using Alt-arrow without prefix
bind -n M-Left  select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up    select-pane -U
bind -n M-Down  select-pane -D

And they work okay on Windows Bash but they don’t work on Windows Terminal. This is the cause, and this is the solution:

// Add any keybinding overrides to this array.
// To unbind a default keybinding, set the command to "unbound"
"keybindings": [
    { "command": "unbound", "keys": "alt+down" }, 
                  { "command": "unbound", "keys": "alt+left" }, 
                  { "command": "unbound", "keys": "alt+right" }, 
                  { "command": "unbound", "keys": "alt+up" }
]

This will unbind all uses of the Alt key on the terminal itself and pass them on to tmux.

Wiki.js 2 with Nginx Installation

For the past few months I’ve been using Tiddlywiki as a memory dump but been having some issues. First started with the dreaded XMLHttpRequest error:

Error retrieving skinny tiddler list: XMLHttpRequest error code: 404

Which the available documentation offers no help with and the developers just shrug at. Then it just ate a fucken shotgun shell deep down its throat:

Internal JavaScript Error: TypeError: etag is null

We en’t here for that shit so on we went looking for an alternative that treats markdown as a first-class white citizen in apartheid america. Found wiki.js, which seems to have that, and here we are.

What follows is a guide written after a week of bashing our head against multiple desks because devlopers are morons who don’t know how to write documentation, if they even bother writing any. What is available for wiki.js is fucken laughable or only applies to the 1.x series. Real developers are extinct, by the way.


This is what worked for us on Debian 9. You will have to adapt this for your own OS and hosting configuration. We’re not at fault if the results eat your pet, fuck your significant other, and make your mom call them daddy.

Ingredients

This assumes DNS is already routing properly, outgoing mail works, and you’ve already dealt with your firewall. This setup gets you a wiki.js installation with nginx as a reverse proxy running security.

All commands are executed as root.

Installation

Install what you need

# aptitude install nginx-extras postgresql postgresql-contrib pgcli nodejs certbot python-3-certbot-nginx

Download and extract wiki.js (assuming we’re at /var/www) like the documentation says:

# wget https://github.com/Requarks/wiki/releases/download/2.3.81/wiki-js.tar.gz
# mkdir wiki
# tar xzf wiki-js.tar.gz -C ./wiki
# cd ./wiki
# mv config.sample.yml config.yml

Configuration

Nginx

Edit your configuration file for nginx so it passes everything to the wiki cleanly through nginx. The original configuration was generated by nginxconfig.io and incorporates stuff from the official documentation

As of right now (2020-05-16_14-28) they are valid and working server blocks

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name wiki.domain.invalid;

    # SSL
    ssl_certificate /etc/letsencrypt/live/wiki.domain.invalid/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/wiki.domain.invalid/privkey.pem; #managed by Certbot
    ssl_trusted_certificate /etc/letsencrypt/live/wiki.domain.invalid/chain.pem;

    # security headers
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-XSS-Protection "1; mode=block" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header Referrer-Policy "no-referrer-when-downgrade" always;
    #add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline'" always;
    add_header Strict-Transport-Security "max-age=0" always;

    # . files
    location ~ /\.(?!well-known) {
        deny all;
    }

    # logging
    access_log /var/log/nginx/wiki.domain.invalid.access.log;
    error_log /var/log/nginx/wiki.domain.invalid.error.log warn;

    # reverse proxy
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version                  1.1;
        #proxy_cache_bypass                  http_upgrade;
        proxy_set_header Upgradehttp_upgrade;
        proxy_set_header Connection         "upgrade";
        proxy_set_header Host               http_host;
        proxy_set_header X-Real-IPremote_addr;
        #proxy_set_header X-Forwarded-For    proxy_add_x_forwarded_for;
        #proxy_set_header X-Forwarded-Protoscheme;
        #proxy_set_header X-Forwarded-Host   host;
        #proxy_set_header X-Forwarded-Portserver_port;
                proxy_next_upstream error timeout http_502 http_503 http_504;
    }

    # gzip
    gzip on;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_types text/plain text/css text/xml application/json application/javascript application/rss+xml application/atom+xml image/svg+xml;
}

    # HTTP redirect
server {
    listen 80;
    listen [::]:80;

    server_name wiki.domain.invalid;

    # ACME-challenge
    location ^~ /.well-known/acme-challenge/ {
        root /var/www/_letsencrypt;
    }

    location / {
        return 301 https://wiki.domain.invalid$request_uri;
    }

 }

SSL

Using Let’s Encrypt SSL certificates:

# certbot

Go through the wizard and it will automatically fix the SSL entries on your server blocks. You could also do this if you know what you’re doing and don’t want certbot to mess around with your files:

# certbot certonly --webroot -d wiki.domain.invalid --email mail@domain.invalid -w /var/www/_letsencrypt -n --agree-to-tos

Nginx Testing

Test and reload your configuration:

# nginx -t
# service nginx reload

Watch out for any errors, as usual. At this point Nginx will be serving files but as wiki.js isn’t setup yet you’ll get HTTP 502 errors if you try to visit the site on a browser. This configuration plays well with other sites being hosted on the same server.

Postgres

Secure your Postgres installation:

# sudo su postgres
$ passwd

Then setup your database. pgcli has smart completions turned on by default and looks pretty.

$ pgcli

> create DATABASE wikijs;
> create USER wikijs_user with ENCRYPTED PASSWORD 'Strong password';
> grant ALL PRIVILEGES on DATABASE wikijs to wikijs_user;
> \c wikijs
> CREATE EXTENSION pg_trgm;
> exit

$ exit

Wiki.js

Edit config.yml and make the appropriate changes:

  • Port should match what was configured in the nginx https server block (3000)
  • In db section, enter your database credentials
  • Do not enable SSL unless you are not to run this behind a proxy. This might work on a developer workstation but on the public internet you’re asking to get it up the ass, no lube.

Once this is done, start the application and watch for any errors

# node server

At this point you can visit your site and go through the installation wizard.

Configuration

There are a bunch of things the official wiki.js documentation only mentions offhandedly, or that you’ll only find out if you go rooting around in the issues tracker.

Home Page

You can name it anything you want but if you make the path anything other than /home wiki.js will freak out on you and send you on a loop.

File Storage

By default wiki.js will keep all its shit on the DB, which is a fucken stupid bad decision. We like making good decisions so we need to tell wiki.js to keep its shit in the filesystem:

  1. Go to Administration > Storage
  2. Enter the desired absolute path for your stuff, like /var/www/wiki.domain.invalid/wiki-content
  3. Enable the target
  4. Apply the changes

We’re unsure if this means wiki.js will actually use file storage to begin with, but at least you’ll be able to create quick backups of all your stuff. You have backups and you test them, right?

Search Engine

The default search is slow AF, so we’re going to use something better

  1. Go to Administration > Search Engine
  2. Select Database – PostgreSQL
  3. Apply the changes

Finishing thoughts

This thing has potential but it’s got a long way to go before it can look up to MediaWiki. If you find issues with this holler at me on the twitters.

It’s a deep, deep, rabbit hole

In this case the old West Indian world, of which Tennessee lay at the northern fringe. It’s the shatter-zone of the slave diaspora. Circulating currents. We gave Jamaica blues. Jamaica gave us ska. Jamaica gave us dub, we gave back hip-hop. It’s been happening for four hundred years.

Source: That Chop on the Upbeat

More than you thought you’d want to learn about the origins of ska.

Dell Wireless 1703 on Windows Server 2019

Recently at work I had to install this OS (with the Desktop Experience feature set) on a Dell XPS 8700. Windows was able to recognize everything properly and all components but the network adapter would show up in Device Manager. Tried the usual things to fix this:

  • Installing the driver from Dell; it would install but Windows would fail to make use of it.
  • Updating the driver using “Search automatically for updated driver software”. This would fail with Windows complaining about an issue with the INF.
  • Manually pick a driver from the filesystem. It would also fail with an error about the INF.

Looked at the INF file but there wasn’t anything in it that would make Windows Server just up and refuse to install the thing, and given there isn’t that much difference between Windows 10 and Windows Server the issue had to lie elsewhere.

There is one thing that Windows 10 does, however, and that’s automatically start WLAN services, since usually you’d see Windows Server be installed on enterprise hardware or have it connected to the network via Ethernet. Turns out Windows Server does not even install this feature on its own.

To install it:

  1. Click Start button.
  2. Type “Turn features on or off”.
  3. Click Next 4 times (Before you Begin, Installation Type, Server Selection (which defaults to the local server), and Features.
  4. On the Features selection list, scroll down to Wireless LAN Service and select it.
  5. Click Install and wait for the OS to do its thing.
  6. Reboot system. This is required for it all to work.

After the system comes back up the network adapter should be installed and enabled in Device Manager.

Ah, right… in addition to this it turns out the “Dell Update Application” totally does not work under this OS so you have to manually download and install all device drivers; this took me a couple of hours, so mind your clock.

This is most annoying

Riot tells Ars kernel-level system could be removed if vulnerability is detected.

Source: Ring 0 of fire: Does Riot Games’ new anti-cheat measure go too far? | Ars Technica

Given Riot’s labor and cultural practices I’m not holding much hope for them being able to fix issues quickly when (not if) someone breaks their driver and turns it into a rootkit like Sony’s.

Another issue the article does not go into is the fact every major game publisher will develop their own kernel-mode driver or use a 3rd party service (like BattlEye) to do so, leading to issues within the kernel that will be:

  • A pain in the ass to diagnose
  • Hidden from the player
  • Likely will not provide any kind of error message since the developers will be afraid they could be used to break the driver.
  • The risk of collisions between drivers will be increased, with likely both publishers being the cause.

Microsoft can help but there’s only so much they can do before breaking compatibility with previous versions of Windows; Gamers don’t care as much but Microsoft does have to worry about their main customer base (enterprise) who will definitely not like having weird code fuck around with workstation kernels(like this, and what Swift is complaining about is mere user-level applications.

People with time and money will probably want to look at PCI Passthrough to be able to run games in a Windows VM and not have to worry about any of this fuckery. Something goes wrong? Just restore to a previous snapshot of the VM and carry on as usual.

*shrug*

Life hasn’t changed much since the current pandemic started.

I’m still working nights, so I don’t really get to see that many people. I still order pretty much everything for delivery.

The gf is staying with me during almost-quarantine since she was able to get a job in a restaurant (!!!).

Life goes on but I can see how it is changing for everyone around me.

This is my “I’m being a shill” moment

I recently discovered Instacart is able to deliver Costco and…

OMFG

GAME CHANGER. STUFF is CHEAP and at VOLUME.

Granted, not Commercial Foodservice Company cheap, but for home use this is fucken ferpect.

  • Got 20 lb Basmati rice for like, 20 bucks.
  • 6 lb of pasta elbows for *checks notes* 6 bucks
  • Eggs are stupid cheap, pick how many you want.
  • Bleach? I got me a lot of bleach.
  • EVOO! A gallon of it is 15 bucks!
  • Canola oil! 6 qt are 10 bucks!

I got some more things to round out the pantry for pasta production but for getting all of this stuff delivered? I can probably order once a month and 80% of my grocery shopping is done right there and then.

Now, they don’t have everything at the store available. They don’t have kosher salt (well they do but it’s the Kirkland brand. I prefer Morton or Diamond). The meat and fish selection is somewhat limited but they got the basics on there. Produce is good but I’d rather mosey down to the neighborhood coop for that.

Again, for me the angle here is the delivery; I bike everywhere and carrying all the stuff on my last order on my bike rack would probably require at least 5 trips, so the 8.99 delivery charge is totally worth it. This isn’t a promoted post (ugh) but there are many use cases for exactly this kind of thing at this volume, which is right in between “let’s pick up groceries on the way home” and “I need to open a sysco/us foods/reinhart account”:

  • People with more than two kids. Kids eat a fucken hell of a lot. You ate a lot when you were a kid, you just don’t remember it.
  • Disabled/sick people.
  • People who literally don’t have the time, like when you’re working 2 full-time jobs. Good luck finding time to cook, much less to buy the groceries.
  • People without cars, like myself.

Anyway, click on this here referral link so I get a fucken discount on my next order and you get cheap groceries. Everyone wins.

And in that moment I was happy

So the coffee grinder that I have is… mine! All mine!

First time in my life I’ve got a coffee grinder for my own use without having to depend on work to be able to grind beans using a quality device. It’s just a “cheap” Baratza Virtuoso I got off Amazon but… again, it’s all mine and no one else’s.

I won’t have to wait for a distracted barista at any of the coffee shops in town to grind the coffee for me. I’ll be able to do a good— nay, a great! cup of french press, or Hario V60 pourover. I’ll be able to do cold press in a good way without having to waste ground beans.

I won’t have to deal with the li’l temperamental pice grinder I’ve been using for years to brew my stuff. I can actually use to grind y’know, spices; at least until I get an actual burr grinder for said spices.

Yesterday I used it for the first time for a couple of cups of french press.

It was perfect.

I’d like to not stress about money kthx

I started working at SysadminJerb about… six months ago or so. I’m looking to pickup a second job hosting at a finer restaurant since I’d like to be able to talk to more people on a regular basis; Working by yourself in a datacenter is not conducive to long conversations in person.

So why is it that I’m having a hell of a time budgeting my money? I’m realizing I’m spending more than I really want to and right now I’m not sure… why. This isn’t a problem I had to face when I was working in a restaurant full time, so now I’m just spinning my wheels trying to figure out why this is happening, and more importantly, how.

I think I’ve got the why figured out: Since I have loads more free time than I ever did before, I now have that much more time available to spend the money I’m making even when I don’t mean to be spending that money.

The how it’s a bit harder but I think that, over the past few months, the average amount of money I spend in small transactions has gone up along with the amount of transactions that I do during a pay period, which follows the fact I have more time to be out and about than I did before.

So now I’m on the search for a budgeting tool that will help me with this. I’ve tried using Mint before but… at this point in time they haven’t added any new features in a while and I’ve had a devil of a time connecting it to my auto-pay accounts, so it let’s me track only some things instead of everything. I’ll try it again since it’s free but if it doesn’t work out I’ll just let it go and never look back.

I’m also looking at other tools like You Need a Budget and Financial Gym. Right now I’m thinking those are nice but… they’re paid and I would prefer to not add more pressure to my wallet.

So as a first step I’ll try Mint, then if that doesn’t work look around for a spreadsheet I can use on google sheets, then if that doesn’t work I’ll try YNAB and the rest. I don’t have a need to track everything but it would be nice to have a better overview than the stuff my bank has for me.

Right, this all reminds me: I can actually use these tools because my income is more or less stable now compared to what it was before: I can count on a solid 40 hour work-week month after month, and before I had to actively fight for working hours. So that’s a big change.

I probably just need to cut a few services here and there that I have not been using to their full potential, or ramp them up so I do use their full potential.

Going to be habit changing, to say the least…

Squats fucken destroy me

Going to the gym is doing good things for me, I think. I just need to find a better stretching routing that actually works for me; the one I have right now is about 15 minutes long but… I know I can do better.

As far as goals go I don’t really have one. Maybe I just want to look good naked?

Fucken softwer devlopers, got no backbone

There are a few things that annoy me to no end and one of them is when software developers have to give in to the marketing critters and start adding shit and cruft to their installers or to the configuration of whatever you install. Case in point, AMD:

Right-click context menu

AMD has zero need to put their stuff there, but they did. So I looked around for a way to remove it and found this post. Given corporation’s propensity to remove things from their forums without warning (looking at you, Intel), I’m just going to repeat the method here:

Hi man!!!

It was my problem too.

Open up regedit.exe through the start menu search or run box, and then browse down to the following key:

HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\ACE

Double-click on the (Default) value in the right-hand side, and then add some dashes in front of the value to disable it. You should be able to right-click on the desktop and see that the item is removed.

Turns out that specific registry key also contains the entries for other things, like Dropbox, VLC, etc etc, so I went around changing some things I found disagreeable.

Edit the registry at your own risk

Not my fault if you fuck up your Windows box.

Flickr, continued

A’ight so as I was typing before, Flickr has changed some things about how they do things after they got themselves bought by SmugMug. However, for our purposes the big change actually happened years and years ago, when Flickr officially deprecated the MetaWeblogAPI.

However, they did not disable it, as you can see on many posts on this here blargh site. What they did do is hide those URLs that are not longer supported, specifically this one:

Flickr: Your Blogs – https://www.flickr.com/blogs.gne

I’m putting that on it’s own line so it’s obvious where the hell you’re supposed to go. So once you’re on that page be aware you can remove links but you cannot add links. They also took away the ability to configure things on their end (like the size of images, the caption, that kind of shit).

Right now I’m thinking of letting it be since it doesn’t bother me too much, but I’m going to have to be on the lookout for a WP plugin that pulls photos in, as opposed to having Flickr push pictures onto here.

Flickr, interrupted

Flickr deprecated its support of the MetaWeblogAPI back in 2014 but it’s been working okay so far so I never thought of updating the thing since it was working Just Fine™ and I wasn’t going to start fucken about with this. I’m okay with the state of the thing as it is right now but it’s probably time to start looking at other solutions. Since I—

And then stuff at work went to shit while I was typing this, so I’m getting this from where I left off.

Don’t remember where I was at. I’ll pick up later. Shit to do.

Being healthy is the shit

Today is the first night when I actually feel healthy enough to think. I was sick for eight days with whatever strain of the flu that’s making the rounds right now and lemme tell ya, it put me on my ass for six of those days and it was not fun at all.

It started as the usual on a Tuesday— scratchy throat, hot flashes, sweats; unfortunately for me I had drunk a fair bit the night before so most of these symptoms were hidden away behind the hangover. By the time I realized what was actually going on it was too late. Missed work at both SysadminJerb and merBOHjob but at least I didn’t get anyone sick.

The next few days I actually got a migraine from sleeping so much. Started on Thursday and went away on Sunday night. On Monday I was functional but I still wasn’t feeling up to 100%.

But today! Today I could actually watch a show on the telly and follow along without feeling like it left me behind to take remedial notes.

I don’t think it’s the winter sads, either.

I have had no energy lately and it’s annoying the hell out of me.

Maybe it’s time to actually get myself to the gym. At least then I’ll have a good reason for just being a potato at home.

Start of daytime week

Bit of a status update.

Typing this at Bachelor Farmer Cafe. Expensive but there’s good wifi and the chairs are comfy. It’s becoming a bit of a habit after a shift at SysadminJerb but somehow the vibe here lets me think, which is nice. I can then go home and sleep and still feel productive about my night at work.

It’s getting cold. Got me a cool leather jacket but I will definitely need more heavy winter gear.

Still working at merBOHjob… which makes for long shifts when there are days when I have to work at both places at once. Staying up 30 hours or more is now a common occurrence and it would seem my psyche has stabilized enough to be able to do this and not feel like I’m losing myself anymore.

Chuckling as I type this cos one of the barists totally looks like she doesn’t want to be here, and she looks like the old GM at 112 that is a… colorful character, to me.

Oh right, I got kicked out of 112 this past Sunday. First time I’ve been kicked out of a restaurant. Just walked out, didn’t fight it. At least now I know for sure they don’t want my business, nor any business I might send their way. Guess I could send people to bFOHjob but I’m pretty sure they also fucken hate me.

Guess I’ll have to send people to Bachelor Farmer.

I can has sleep?

I seriously thought I’d be done working more than 12 hours in a single 24 hour period… but sadly I was wrong. Very, very wrong.

VERR_CPUM_INVALID_HWVIRT_CONFIG

The error message from Virtualbox reads:

"Cannot enable nested VT-x/AMD-V without nested-paging and unresricted guest execution!

(VERR_CPUM_INVALID_HWVIRT_CONFIG). "

Encountered this error when trying to run any VM under VirtualBox Version 6.0.12 r133076 (Qt5.6.2). I’m assuming all versions of VBox are affected when running under Windows 10.

Looking around the web found this reddit post where this solution is proposed:

PS C:\Windows\system32> bcdedit /set hypervisorlaunchtype off

On my system (Windows Version 10.0.18362.329) it didn’t ask for a reboot but even after rebooting VirtualBox still didn’t work. That’s when I remembered I had enabled the Virtual Machine Platform option in the “Turn Windows Features on or off” section of Programs and Features. Disabling this feature and rebooting allowed Virtualbox VMs to boot without issues.

Here’s how to disable the option through PowerShell with Admin rights:

PS C:\Windows\system32> Disable-WindowsOptionalFeature -online -FeatureName VirtualMachinePlatform

I’m not sure if other Hyper-V options would affect VirtualBox in the same way but it’d seem they do. Posting up here mostly so it doesn’t get lost in social media link morass.

This Galaxy is vast; its wonders and beauty are almost unfathomable. But the galaxy also hides dark secrets, some of which have lain dormant since the beginning of time itself. There is a danger in secrets, both in seeking and in knowing. Some things are meant to be hidden from view. Some mysteries defy understanding, and sometimes even the things we think we know are untrue. Some secrets should remain untouched. Secrets can tempt your primal instinct, and lead you again into war. The Halos were one such secret.

Cortana

It’s been over eleven years since we got an actual valid comment on this website. The rest has been all spam.

Back into the aether

Well, I just done and got me an IT job again. To actually keep it I:

  • Quit at tKitchenJob.
  • Ended up walking out at pbFOHjob. This place is a shithole and I don’t think I’ll ever see a paycheck from it; in the event I do I will probably never see my actual tips.
  • Reducing hours at merBOHjob. They don’t like it but what’cha gonna do? You can’t pay me.

I think I’ll call this IT job… honeyJerb. Jen would be proud.

2019/07/25

The GM put in his 30 day notice at tKitchenJob. That means they (we) will need a new GM. I believe I would be good at it. Yes in the beginning I would totally fucken suck at it… But I care about the place and I want it to be around for another ten years. I want it to be great. I want it to be the best.

At merBOHjob the KM sat down with me. He got dropped a bombshell: We have until September to come up with a new menu. They (as in “Company execs) were cagey about” when” in September, so we’re going with September 1st. There are limiters at work; first and foremost: People who are Not Cooks will cook the food. And execution is everything.

Picked up a bartender gig at rbFOHjob. The bar manager knows I am baby bartender but has told me to be patient and pay attention. This place is a shitshow but he has been able to make it move. Doesn’t really matter whether it moves forward or not… As long as you keep moving.

I am trying to figure out a time to interview in person at [popular bar in North Loop]. I don’t think this will go anywhere as they want me to start as something other than a server, yet they are hiring servers. I’ll just go collect intel and call it a day.

I will apply to the GM job at tKitchenJob. I would love to get the job but I’m pretty sure I’ll be told I’m not “what they’re looking for”. I’ll put in my two weeks if they say no. I kept telling family “While everyone else throws in their hat, I’ll throw me knife. Even if I don’t win everyone else will be one finger short”.

I’ll work on the menu thing. This will let me learn things in general. Need to learn things. MUST LEARN NEW THINGS.

At rbFOHjob… I’ll stick around, see what happens. Worse that can happen is I barback for everyone. Given what happened last shift… Guests will tell managers to make me a bartender. Can’t lose anything but the job.

That was A Week

Sunday, July 16

Massive fight cos I did not want to move from bed after a week of 12 to 14 hour days. The core of it was that her feelings about what other people might think about me are more important than my physical well-being. I hit myself in the head and downed a pint of cold-press concentrate.

She ended up going to her parents’ on her own. Now hopped up on caffeine I stayed at home and cleaned. Fell asleep on the couch.

Monday

16 hour day between a busy time prepping and cooking lunch service at tKitchenJob, then dealing with more covers than usual at bFOHjob while severely understaffed. Getting home I find a big-ass box in the middle of the living room and I immediately get pissed because at this point I have been the only one consistently cleaning for weeks on end. I get loud enough to wake 🐝, who says she wanted to show how much she appreciates it.

I replied we wouldn’t need it if she helped clean. I slept on the couch again.

Tuesday

tKitchenJob was steady, but things at bFOHjob were a repeat of Monday, replacing the two servers with another pair. Slept on the couch again.

Wednesday

Busy lunch at tKitchenJob, had a chance to relax a bit on their outside benches with a glass of wine. Then off to Yeasayer at the Fine Line Cafe. I am exhausted and dead on my feet, but we manage. We still end up getting in another fight so I barely move the rest of the show and concentrate on not falling asleep right there and then (I still think I fell asleep fully standing up for about ten minutes regardless of the loud music. At the end of the show she said she was going for drinks with friends.

I am aghast. I just asked for keys, went home, and fell asleep on the couch.

Thursday

Got fucked over at tKitchenJob, then got fucked over again at bFOHjob with the usual combination of high bookings and low staff. Getting home I find 🐝 has cleaned a bit; the conversation went a bit like this.

🐝: I have been a shitty girlfriend and I need to change things.
null: Good. I have been overreacting mostly because **I am tired** and it’s hard to work all day and then get home and have to clean.

I think we’re okay. We both sleep on the bed.

Friday

tKitchenJob was steady prepping throughout, something for which I am thankful. bFOHjob… fucken’ clusterfuck. Friday night, two servers, one food runner, one wait assistant. No host, the GM was hosting. We got hit hard that day.

At the end of the night the GM wanted a high-five for surviving the night. Bitch, please.

Getting home I eat something with 🐝. I am desperate for sleep but the food is appreciated.

Saturday

🐝 leaves for work early, she’s opening at work.

I get to bFOHjob in the afternoon; got a barback shift. Getting there and… going to have to prep in the changing room/locker/storage space cos there’s a bachelorette party out front. Fine.

Borrowed a decent knife from the kitchen and got a talking to from two cooks and the chef cos I used a knife that belongs to a specific cook instead of a house knife. Up until that point I had assumed house knives were left on the magnetic knife rails and everyone gathered their stuff in their knife rolls or bains. Fine.

Get through prep… we’re short like a million things. I make do. While trying to set up one of the kegs neither the other barback nor me realize there are hoses in the walk-in cooler to carbonate the keg. Hose blows out, really loudly. I get a talking to from five people.

GM tells me I make her nervous.

Five minutes later, Bar Manager tells me I got it wrong and now I have to re-do everything.

I leave. I text 🐝 when getting home about it, then fall asleep on the couch. Wake up to a text from her saying she’s on her way.

When she walks into the apartment she says she doesn’t feel safe and is leaving. With that, she leaves.

I go back to sleep.

Sunday, June 23

I think I woke up around 1500, ate something, went back to sleep.

Monday

First day at merBOHjob. It went well and I got cut early. Went out and got drunk. 🐝 texts saying she’ll move out on Wednesday. Frankly, my dear, I couldn’t care less.

Speed of Thought

Software is supposed to be faster than you.

This simple fact is something most software developers will ever fail to understand. The rest will drive themselves unto insanity having understood the implications.