Biking is THE fucking best

Bikes may still look roughly the same, but looks can be deceiving.

Source: How bicycles have changed in the last 25 years | Ars Technica

Linking to this as I look at my Trek 2018 FX2 I bought after my trusty Gary Fisher was stolen from my apartment building’s basement; by the looks of it one of the tenants is a motherfucking thief as signs have gone up about parts and bikes being stolen.

Oh right, back to the subject at hand… I remember bikes 25 years ago looked very different from what they look like now. Wondering what bikes are going to look 25 years from now.

Biked while listening to The River, by KT Tunstall. Makes it easier.

Alright so tonight after work I decided I wanted a fancy drink because I’m looking at working 34 days straight an’ shit. So I went out after working at FOHjob. Hit up [fancy basement bar] and had a couple of fancy drinks and was feeling good but they have a 0100 bar close. Closed out my tab, then went up the block to [breakfast to beer] joint cos why not?

Big mistake.

I get there, sit down, and order a Tito’s and soda. Then strike a conversation with the gal next to me. She bides me to sit next to her, I oblige. Start drinking, she immediately wants to make out.

I’m all for making out but at least let me get yer bloody name, girl. She’s not that young, I’m thinking she’s in her 50s so she’s been around the block a few times. Yet here she is, hitting up a perfect stranger for some hot PDA.

So we make out until bar close (which at 0200 is okay-ish. I’m thinking MN should move to 0300).

During this entire exchange of salivary gland fluids I didn’t volunteer my name, nor did she. I got called adorable, cute, smart, intelligent, adorable (again) and what was it I did again? (server bitch at FOHjob). Every time I’d try to answer she’d try to shut me up with her lips.

I’m okay with that. I love making out. But I also like knowing who I am making out with. Kept trying to make conversation, to no avail; she would not have it. I close our tab (I paid for her drinks too, thankfully she hadn’t drunk that much) and start walking to her place, with frequent stops for warming up, as it were. She kept saying she lived three blocks from the bar and did not try to get an Uber right from the get go so I thought we were good.

We get to her place and then she says “I’m not comfortable with you.”

Wait, what?

I’m confused. You’re giving me all the signals but… fine, whatever. Yes, I am disappointed because I would like to touch someone and I would like to be touched. Fine. FINE. FINE.

So I bid her goodnight as she’s walking up the stairs to her door. Then she realizes she’s too drunk to find her keys, walks down the stairs and opens her garage. Last I saw of her was her smile as the garage door closed.

Well, okay. That was… disappointing, to say the least.

I made my way back to my bike, biked to my place and now here I am typing this up at three in the bloody morning as a lesson to myself to not trust any random women hitting me up at the bar:

Elle the Enabler
@WhatThe__Elle
@nullrend Your past self saved your future self. Smart.
3:05am · 11 Nov 2018 · Twitter for iPhone

Maybe she’s right. I just didn’t want to spend the night alone, is all.

Also, fuck you, Mozilla.

Since Mozilla discontinued the ability of extensions to make modifications to the UI the customization ability of Firefox has gone to shit. Hence tricks like (this)[https://github.com/andreicristianpetcu/UserChrome-Tweaks] and (this)[https://github.com/Aris-t2/CustomCSSforFx] that kick back to how you’d have to do it back in the Phoenix/Firebird days.

Fuck I’m old.

Anyway I’m using the following in userChrome.css to get:

  • Tabs under the navigation/address bar
  • Multi-row tabs. No more fucking scrolling side to side. Who came up with that? It’s bloody stupid.
  • A prettier look in general
  • Makes you feel like you’re using a real browser instead of a toy browser like Chrome.

Firefox menu, navigation, and tab bars

I grabbed a couple things from the links above and made the tab bar a bit narrower. but other than that no changes. If you need to learn how to make this all work visit (this link)[https://www.userchrome.org/what-is-userchrome-css.html].

Here’s the CSS code:


/* Firefox Quantum userChrome.css tweaks ************************************************/ /* Github: https://github.com/aris-t2/customcssforfx ************************************/ /****************************************************************************************/ :root { --colored_menubar_background_image: linear-gradient(#f9f9fa,#f9f9fa); --general_toolbar_color_toolbars: linear-gradient(#f9f9fa,#f9f9fa); --general_toolbar_color_navbar: linear-gradient(#f9f9fa,#f9f9fa); --tabs_toolbar_color_tabs_not_on_top: linear-gradient(#f9f9fa,#f9f9fa); --tabs_toolbar_border-tnot_normal_mode_size: 1px; --tabs_toolbar_border-tnot_normal_mode: var(--tabs-border-color); --classic_squared_tabs_tab_text_color: black; --classic_squared_tabs_new_tab_icon_color: black; --classic_squared_tabs_tab_text_shadow: transparent; --tab-min-height_tnot: 32px; } :root[uidensity=compact] { --tab-min-height_tnot: 25px; } :root[uidensity=touch] { --tab-min-height_tnot: 40px; } /* tabs toolbar adjustment */ #main-window[tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #TabsToolbar { -moz-padding-start: 2px !important; } #main-window[tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar:-moz-lwtheme, #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar:-moz-lwtheme, #main-window[uidensity=compact][tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar:-moz-lwtheme, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar:-moz-lwtheme, #TabsToolbar:-moz-lwtheme, #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[sizemode="maximized"] #TabsToolbar, #main-window[tabsintitlebar]:not([style*='--lwt-header-image']):-moz-lwtheme #navigator-toolbox #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"]:not([style*='--lwt-header-image']):-moz-lwtheme #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar]:not([style*='--lwt-header-image']):-moz-lwtheme #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"]:not([style*='--lwt-header-image']):-moz-lwtheme #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[tabsintitlebar]:not([style*='--lwt-header-image']):-moz-lwtheme #TabsToolbar { -moz-padding-start: 0px !important; } #main-window[tabsintitlebar][sizemode="normal"]:not([sizemode="fullscreen"]) #TabsToolbar { margin-top: 0px !important; } #main-window[tabsintitlebar][sizemode="normal"][chromehidden~="menubar"] #TabsToolbar, #main-window[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"][chromehidden~="menubar"] #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar { padding-top: 0px !important; } #main-window[tabsintitlebar] #toolbar-menubar[autohide="true"]:not([inactive="true"]) ~ #TabsToolbar, #main-window[tabsintitlebar] #toolbar-menubar[autohide="false"] ~ #TabsToolbar{ margin-top: 0px !important; } /* tab title in titlebar support */ #main-window[tabsintitlebar][sizemode="normal"] #navigator-toolbox #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="normal"] #navigator-toolbox #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"] #navigator-toolbox #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"] #navigator-toolbox #TabsToolbar, #main-window[tabsintitlebar][sizemode="normal"] #navigator-toolbox #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="normal"] #navigator-toolbox #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"] #navigator-toolbox #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"] #navigator-toolbox #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar{ margin-top: 0px !important; } /* titlebar button support */ #main-window[tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #nav-bar{ margin-top: 2px !important; } /* fix for application/hamburger button in titlebar */ #main-window[tabsintitlebar][sizemode="fullscreen"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #nav-bar #PanelUI-button { visibility: collapse !important; } #main-window[inDOMFullscreen="true"] #TabsToolbar { opacity: 0 !important; } /* tab height */ #tabbrowser-tabs, #tabbrowser-tabs > .tabbrowser-arrowscrollbox, .tabbrowser-tabs[positionpinnedtabs] > .tabbrowser-tab[pinned] { min-height: var(--tab-min-height_tnot) !important; } /* toolbar order (start) ************************************/ #print-preview-toolbar, #printedit-toolbar, #titlebar { -moz-box-ordinal-group: 0 !important; } #navigator-toolbox #toolbar-menubar { -moz-box-ordinal-group: 1 !important; } /* navigation toolbar */ #navigator-toolbox #nav-bar { -moz-box-ordinal-group: 2 !important; } /* bookmarks toolbar */ #navigator-toolbox #PersonalToolbar { -moz-box-ordinal-group: 3 !important; } /* 3rd party toolbars */ #navigator-toolbox toolbar { -moz-box-ordinal-group: 10 !important; } /* tabs toolbar */ #navigator-toolbox #TabsToolbar { -moz-box-ordinal-group: 100 !important; } /* toolbar order (end) **************************************/ /* toolbar colors */ #main-window:not([tabsintitlebar]) #toolbar-menubar:not(:-moz-lwtheme) { background-image: var(--colored_menubar_background_image) !important; border: 0px !important; margin-bottom: -1px !important; } #nav-bar:not(:-moz-lwtheme) { -moz-appearance: none !important; background: var(--general_toolbar_color_navbar, inherit) !important; } toolbar:not(#TabsToolbar):not(#toolbar-menubar):not(#nav-bar):not(:-moz-lwtheme) { -moz-appearance: none !important; background: var(--general_toolbar_color_toolbars, inherit) !important; } #TabsToolbar:not(:-moz-lwtheme){ -moz-appearance: none !important; background-image: var(--tabs_toolbar_color_tabs_not_on_top) !important; } /* remove color overlay for lw-themes */ #main-window[style*='--lwt-header-image'] :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar):-moz-lwtheme{ background: unset !important; } /* adjust compact themes background color */ #main-window:not([style*='--lwt-header-image']) #TabsToolbar:-moz-lwtheme { -moz-appearance: none !important; background-image: linear-gradient(var(--toolbar-bgcolor),var(--toolbar-bgcolor)) !important; } #main-window:not(:-moz-lwtheme) #TabsToolbar :-moz-any(.tabs-newtab-button,.scrollbutton-up,.scrollbutton-down), #main-window:not(:-moz-lwtheme) #TabsToolbar > toolbarbutton, #main-window:not([style*='--lwt-header-image']):-moz-lwtheme:-moz-lwtheme-darktext #TabsToolbar :-moz-any(.tabs-newtab-button,.scrollbutton-up,.scrollbutton-down), #main-window:not([style*='--lwt-header-image']):-moz-lwtheme:-moz-lwtheme-darktext #TabsToolbar > toolbarbutton { fill: var(--classic_squared_tabs_new_tab_icon_color) !important; color: var(--classic_squared_tabs_new_tab_icon_color) !important; } /* toolbar borders */ #main-window #navigator-toolbox::after { opacity: 0 !important; } #TabsToolbar{ margin-bottom: 0px !important; border-bottom: 1px solid #5f7181 !important; } #main-window[sizemode="normal"] #navigator-toolbox :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar) { border-left: var(--tabs_toolbar_border-tnot_normal_mode_size) solid var(--tabs_toolbar_border-tnot_normal_mode) !important; border-right: var(--tabs_toolbar_border-tnot_normal_mode_size) solid var(--tabs_toolbar_border-tnot_normal_mode) !important; background-clip: padding-box !important; } #main-window[sizemode="maximized"] #navigator-toolbox :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar) { border-left: 0px !important; border-right: 0px !important; } #main-window[style*='--lwt-header-image'][sizemode="normal"] #navigator-toolbox :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar):-moz-lwtheme, #main-window[style*='--lwt-header-image'][sizemode="maximized"] #navigator-toolbox :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar):-moz-lwtheme { border-top: 0px !important; border-left: 0px !important; border-right: 0px !important; } #main-window:not([style*='--lwt-header-image']):-moz-lwtheme-brighttext #TabsToolbar:-moz-lwtheme { border-bottom: 1px solid #323234 !important; } #main-window:not([style*='--lwt-header-image']):-moz-lwtheme:-moz-lwtheme-brighttext #TabsToolbar:-moz-lwtheme { border-bottom: 1px solid #323234 !important; } #main-window:not([sizemode="fullscreen"])[tabsintitlebar] #TabsToolbar{ -moz-margin-end: 0px !important; } #main-window[tabsintitlebar] #TabsToolbar .titlebar-placeholder{ visibility: collapse !important; } #main-window[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"][inactive="true"] { margin-top: 21px !important; } #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] { margin-top: 20px !important; } #tabbrowser-tabs .tab-drop-indicator { margin-bottom: 0px !important; } #PersonalToolbar:-moz-lwtheme, #nav-bar:-moz-lwtheme { background-image: none !important; box-shadow: none !important; border-top: none !important; border-bottom: none !important; } /* remove tab fog */ #TabsToolbar:not(:-moz-lwtheme), #TabsToolbar:not(:-moz-lwtheme)::before, #TabsToolbar:not(:-moz-lwtheme)::after { box-shadow: unset !important; } /* remove 'dragging tab' margin/padding nonsense */ #TabsToolbar[movingtab] { padding-bottom: unset !important; } #TabsToolbar[movingtab] > .tabbrowser-tabs { padding-bottom: unset !important; margin-bottom: unset !important; } #TabsToolbar[movingtab] + #nav-bar { margin-top: unset !important; } /* scroll buttons */ #TabsToolbar:not(:-moz-lwtheme) #alltabs-button, #TabsToolbar:not(:-moz-lwtheme) .tabbrowser-arrowscrollbox > .scrollbutton-up, #TabsToolbar:not(:-moz-lwtheme) .tabbrowser-arrowscrollbox > .scrollbutton-down { fill: black !important; } /* Fx58+ titlebar placeholders */ #TabsToolbar .titlebar-placeholder[type="pre-tabs"], #TabsToolbar .titlebar-placeholder[type="post-tabs"]{ display: none !important; } @media (-moz-os-version: windows-win10) { #main-window[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"][inactive="true"] { margin-top: 30px !important; } #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] { margin-top: 30px !important; } } @media (-moz-windows-classic) { /* tweaks for Windows Classic theme */ #nav-bar:not(:-moz-lwtheme), #PersonalToolbar:not(:-moz-lwtheme), #main-window:not([tabsintitlebar]) #TabsToolbar:not(:-moz-lwtheme) { border-left: unset !important; border-right: unset !important; background: unset !important; } #main-window[sizemode="normal"] #navigator-toolbox :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar) { border-left: 0px !important; border-right: 0px !important; } #main-window:not([tabsintitlebar]) #toolbar-menubar:not(:-moz-lwtheme) { background: unset !important; box-shadow: unset !important; border-bottom: unset !important; } #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #navigator-toolbox, #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #nav-bar, #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #navigator-toolbox::before, #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #nav-bar::before, #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #navigator-toolbox::after, #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #nav-bar::after { background: unset !important; box-shadow: unset !important; border: unset !important; border-image: unset !important; } #main-window:not([tabsintitlebar]) toolbar:not(#TabsToolbar):not(#toolbar-menubar):not(#nav-bar):not(:-moz-lwtheme) { background: unset !important; } } /* tab text colors */ #TabsToolbar:not(:-moz-lwtheme) .tabbrowser-tab { color: var(--classic_squared_tabs_tab_text_color) !important; text-shadow: 1px 1px 1px var(--classic_squared_tabs_tab_text_shadow) !important; } /* fix Windows 7s default tab background (remove dark purple bg color)*/ @media (-moz-os-version: windows-win7) { @media (-moz-windows-default-theme) { .tabbrowser-tab:not([selected]):not(:hover):not(:-moz-lwtheme) { background-color: #e3e4e6 !important; } .tabbrowser-tab:not([selected]):hover:not(:-moz-lwtheme) { background-color: #cccdcf !important; } } } /* Firefox Quantum userChrome.css tweaks ************************************************/ /* Github: https://github.com/aris-t2/customcssforfx ************************************/ /****************************************************************************************/ /****************************************************************************************/ /* multirow / multiple tab lines - modified for CustomCSSforFx **************************/ /* all credits go to the original author: ***********************************************/ /* https://www.reddit.com/r/FirefoxCSS/comments/7dclp7/multirow_tabs_in_ff57/ ***********/ /****************************************************************************************/ :root { --tabs-lines: 3; /* 3 rows, increase for more */ --tab_min_width_mlt: 120px; --tab_max_width_mlt: 200px; --tab-min-height_mlt: var(--tab-min-height,25px); /* set own value here, if used without configuration files */ } .tabbrowser-tab[fadein]:not([pinned]) { flex-grow: 1; min-width: var(--tab_min_width_mlt) !important; max-width: var(--tab_max_width_mlt) !important; } .tabbrowser-tab,.tab-background { min-height: var(--tab-min-height_mlt); } .tabs-newtab-button { vertical-align: bottom !important; height: var(--tab-min-height_mlt); margin-bottom: -1px !important; } .tab-stack { width: 100%; } /* fix tab position */ #tabbrowser-tabs, #tabbrowser-tabs > .tabbrowser-arrowscrollbox { min-height: var(--tab-min-height_mlt) !important; } :root[uidensity=touch] .tabbrowser-tab:not([pinned]) .tab-content .close-icon { padding-top: 0px !important; padding-bottom: 0px !important; } /**/ #tabbrowser-tabs .scrollbox-innerbox { display: flex; flex-wrap: wrap; overflow-x: collapse !important; overflow-y: auto !important; min-height: var(--tab-min-height_mlt); max-height: calc( var(--tabs-lines) * var(--tab-min-height_mlt) ) !important; } #tabbrowser-tabs .arrowscrollbox-scrollbox { overflow-x: collapse; overflow: visible; display: block; } #tabbrowser-tabs .scrollbutton-up, #tabbrowser-tabs .scrollbutton-down, #TabsToolbar #alltabs-button, .tabbrowser-tab:not([fadein]){ display: none; } #main-window[tabsintitlebar] #tabbrowser-tabs { -moz-window-dragging: no-drag !important; } .tabbrowser-arrowscrollbox > .arrowscrollbox-overflow-start-indicator:not([collapsed]), .tabbrowser-arrowscrollbox > .arrowscrollbox-overflow-end-indicator:not([collapsed]) { opacity: 0 !important; } #tabbrowser-tabs * { overflow-x: none !important; } #main-window[customizing] #tabbrowser-tabs .scrollbox-innerbox { display: block !important; } #tabbrowser-tabs .scrollbox-innerbox { -moz-padding-end: 4px !important; } #TabsToolbar[currentset^="tabbrowser-tabs,new-tab-button"] #tabbrowser-tabs .scrollbox-innerbox { -moz-padding-end: 0px !important; } /* remove crap set by Firefox 58+ */ .tabbrowser-tab::after, .tabbrowser-tab::before { border-left: unset !important; border-image: unset !important; border-image-slice: unset !important; border: 0 !important; } #TabsToolbar .titlebar-placeholder[type="pre-tabs"], #TabsToolbar .titlebar-placeholder[type="post-tabs"]{ opacity: 0 !important; }

Goddamnit, Amazon

Source: Gordon’s Notes: Amazon reviews now unreliable – negative reviews filtered (Anker example)

I thought I was running into isolated issues as I rarely have to give negative reviews but knowing there is systemic bias in the reviews available makes all of those reviews useless to me. I’ll probably end up having to make use of the return policy much more often now.

Where else might we see this? It makes shopping online that much harder knowing the website you’re shopping at is actively fucking with your perception of it.

Should’ve gone elsewhere

Writing this at the bar as the boss sits on the spot two places to my left. Wish I were fucking joking but I en’t.

Given past… Situations I have faced with her it makes it difficult to find a common social point that won’t get me in trouble with her at work even if the events happen outside of work.

Service industry blues, am I right.

Let’s Encrypt Renewal

Yeah yeah, SSL certificates expired like what, a month and a half ago? Anyway, I needed to renew it but it attached a bunch of domains to the certificate on this host and I needed to start over. There are a bunch of options but the most straighforward for me was to just delete everything and start over. So, in the shell:

# cp /etc/letsencrypt /etc/letsencrypt.backup -r
# rm -rf /etc/letsencrypt/live
# rm -rf /etc/letsencrypt/archive
# rm -rf /etc/letsencrypt/renewal/YOURCERTIFICATEDOMAIN.conf
# certbot certonly

At this point it’ll ask you for webroot an’ stuff so just answer the questions and nobody gets hurt. These instructions work for Apache but I’m using NginX, so then you have to edit the configuration for the site(s) in /etc/nginx/sites-available/. There will be a couple lines going like:

ssl_certificate /etc/letsencrypt/live/OLDCERTIFICATEDOMAIN/fullchain.pem; # managed by Certbot
ssl_certificate /etc/letsencrypt/archive/OLDCERTIFICATEDOMAIN/fullchain.pem; # managed by Certbot

Just update them to point to the most current certification location, then restart NginX with service nginx restart

Ugh, doubles. My personal scourge.

Due to scheduling vagaries at my two jobs I end up working doubles three times a week at the least. And not just regular doubles, but “clopenings”; that is, when you close the night and then open the next day. Never any fun to be had during those days… Specially in the weekends.

I work brunch.

FML.

Sooo I guess I’m back on my bullshit

I just picked up another full-time job at a kitchen in downtown. Went and staged today and by the end of it got offered the job. I took it.

That means I now have FOHjob, in which I’m just a wait assistant with nary a chance of moving up the chain; and BOHjob, in which I’m supposed to show up at ungodly hours of the morning and… Do kitchen stuff? I’m not even sure what I’m going to be doing yet.

loud sigh

My issue is going to be scheduling. Oftentimes I end up closing at FOHjob, which will cut into my sleeping time and increases the risk I’ll be late to BOHjob. It’s not a nice feeling…

Never grow up, kids. It leads to situations like these.

You did good!

After two years…. it was time to retire my trusty Thinkpad T60 that I turned into a WiFi AP for my LAN. Its name is blackslab and it’s been with me for about 8 years now. She’s earned a nice long break.

Thinkpad T60

I had been running into a ton of issues lately:

  • There are way too many wireless networks around me. A quick look at the network selector on Windows has 11 networks in there. This was interfering with my gaming.
  • Debian is a fucking bitch to deal with these days. Systemd is polluting everything in it.
  • Network instability is a thing. After every reboot I had to manually bring the WAN interface up. It’s a thing and I just didn’t want to deal with it anymore.

So now I’m setting up FreeBSD on a small form factor PC to take its place. It’s not the cheapest when it comes to energy use but it should do the trick. In the interim I’ve got a cheap ASUS router running things since Windows ICS is so fucking unreliable; tried setting up FreeBSD through it and it was a slog.

Hopefully I’ll be able to stop banging my head against PF sometime in the next 12 hours so I can actually set the thing up as the main LAN controller.

Frustrating…

The fear of the blank page is real, goddamnit.

Every time I open up the WP editor I forget what I was going to write about. Need to figure out a better way to get what in my head out into the screen.

Only scratching the surface, here.

I fucking hate my job now.

It was okay for a long, long while. Certainly less stressful than working at the biting squad but it certainly had its share of trouble.

But now all of the low lying brush-fires that consume the company are threatening my very sanity. I dread going to work so much I try to sleep as much as possible, which is the opposite of me staying up until 0300 on teh twitter derp corn or playing videogames.

Hopefully something good will pop-up soon because THIS IS SO, SO BAD.

How bad, you ask? We have clients who are literal nazi sympathizers. I asked my Pa about it and he says that technically makes me a nazi collaborator. The kicker? The boss is Jewish.

Hopefully next job I’ll actually be given a chance to move up? Either way, I’m over this place.

You get retweets turned off! And you! And YOU TOO!!!

A modest proposal to improve Twitter—and perhaps the world

Source: The Case Against Retweets – The Atlantic

I went ahead and made the change on tweetdeck, the interface I use on the desktop:

tweetdeck settings

But this doesn’t take any effect on my mobile client of choice, Talon, and it’s a total pain in the ass to go hunting down a tweet that scrolled off the screen.

Meaning I had to rethink my approach. In the next few days I’ll be disabling retweets for pretty much everyone I notice retweeting more than they actually tweet or reply to other’s tweets. Just in the time I wrote up this blog post I disabled RTs for ten people. The threshold seems to be when someone hits the RT button for more than 4 tweets out of every 10.

It’d be nice if twitter enabled an option to disable RTs globally and then you decide if you want to turn them on for someone… but this does not favor their advertising model since you’re purposely limiting the amount of viral content making it to your timeline regardless of the client you’re using.

This is probably a good thing, all in all.

The Rise and Fall of the American SRO – CityLab

The same cities that struggle to provide affordable housing today eliminated their critical-but-maligned flexible housing stock after World War II.

Source: The Rise and Fall of the American SRO – CityLab

This is important. I live by myself and I am paying over a third of my monthly income in rent and the housing situation in Minneapolis only keeps getting worse. It is likely I will not be able to afford purchasing a home within city limits for the next 10 years and landlords keep rising their rents, advancing the gentrification troubling my part of the city.

There is something quietly comforting about a bowl of miso in front of the computer while you watch life scroll by on twitter.

Code isn’t racist… or so you would think

I researched white supremacist groups and visited the same sites that my husband frequented. After a month of clicking on platforms that ranged from The Drudge Report to The Daily Stormer and reading about the alleged takeover of Illuminati Elite, my computer turned into a Nazi.

Up until then I hadn’t realized that my computer, like me, was ethnically Jewish. The ads that normally filtered through my Facebook feed were preoccupied with celebrity gossip, yarn sales and timely reminders from Chabad.org advising me to pre-order kosher lamb legs for Pesach.

Source: I Married A White Supremacist – Eugene Weekly

This is what constant optimization in the name of marketing does to computing systems. A never ending echo chamber that will happily keep feeding you the same things over and over as they cannot tell what is “wrong” or “right” or “uncouth” or “proper”. They can only do as they’re told.

Then there is the fact there is software that is inherently racist, misogynist and discriminating in all sorts of ways.

Part of the problem is that my current depression not being tied to any particular trauma
Not that I would ever wish something bad on myself or anyone But boy howdy is it easier to figure out when you can point and be like THAT IS WHY SAD

— GhostEsq via twitter

Already got this one

I guess I’ll never be cool because I’m not interested in having a Medium blog.

This site might not be much but I don’t see any service out there putting up with everything I’ve written/reblogged/reposted for over a decade.

When you pay attention to what you type on

At work I use a Thinkpad w510. It’s one of those big slabs of computing that brings you joy to use. It has ye olde scissor switch keyboard that everyone knows and loves. I hear the new chiclet style keyboard is decent… but just that, decent. This keyboard is the real deal, behold:

Thinkpad W510 Keyboard

There’s only one problem. The machine has a Nvidia Quadro FX 880M. This is a really damn nice GPU to have on a laptop and I’m thankful for it. The problem is it runs hot, uncomfortably so for the workloads that I throw at it. This means I ended up having to use an external keyboard to avoid having my left hand run a full 10° higher than the rest of my body. I ended up with this, a regular Apple iMac keyboard:

Apple iMac Keyboard

Since I’m using it on Windows I have to deal with Apples outright disregard for its hardware users on platforms that are not macOS. Now, with this said, I’ve been looking for years for a PC keyboard that has the same key feel as the stuff Apple makes plus a few things:

  • Volume control buttons.
  • Media control buttons.
  • Full set of home keys and numeric keyboard. None of that weird ultra-minimalist keyboards that make you regret using a computer.
  • A full set of F-keys
  • Macro keys would be nice to have
  • Have it be wired. Wireless sucks and it’s insecure. If it must be wireless then give people the option to use an USB cable instead.
  • USB hub.

At home I use a Corsair Gaming K55 RGB keyboard. It’s got all the goodies I outlined above minus the USB hub but it does have backlighting:

Corsair K55 RGB Gaming Keyboard

It’s a nice piece of kit. Not that loud since it uses regular plastic switches as opposed to mechanical, but you can still feel a nice clack when the keys bottom out.

So basically what I want is a flat keyboard like Apple makes but with a bunch of extra keys. Got some benefits for it:

  • Wired means you don’t have to worry about battery life.
  • Flat means you can pack it in a bag with a minimum of fuss.
  • The minimalist look will make people lose their shit.
  • The keys will still feel really nice on long typing sessions.
  • They won’t hear you typing at the coffeehouse across the street.

I’ve been looking for something like this for years, and no manufacturer has stepped up to the plate. They’re all trying to chase the look Apple has but they come up severely lacking when it comes to the functionality. This would be a keyboard for people who are not afraid of buttons on their devices— say, DIP switches on the back to emulate various settings, like the CODE keyboards do. If some Chinese upstart were to start making a device like this and not load it up with a secret keylogger it would probably do pretty well for itself.

But what do I know. After all I’m only looked at as a kitchen hand these days.

What does one do when you’re alone?

I am having to face this question now. About a year ago I was able to answer the question without issues:

  • Nap.
  • Fuck around on the computer.
  • Try to learn how to play the guitar.
  • Read.
  • Read some more (I did not own a telly at the time).
  • Fuck around on the twitter dot com.
  • Work out when able to overcome the ennui.
  • Cook.

Now… I’m not so sure I can answer it without having to face a abyss of self-doubt, recriminations, and the certainty of having broken a heart.

It’s a hard thing to deal with.

I can’t work too hard off the clock because then I will lose myself in work again. As this was my favorite mechanism to deal with things I don’t think it augurs glad tidings that it is back on the table. At least not with the people I work for. At least in a kitchen they would chase me out.

So, what now? I’m kinda sorta sure I’ll find something that I’ll be able to throw myself into… But in the meantime it will Be Hard™.

I do have one thing to hold on to: the need to leave this town. Maybe I’ll be able to make it happen.

Never been to the Atlantic Ocean yet.

It’s more fun to yell at people anyway

A nicely set table, fresh flowers, candles, and music are well and good, but if you have to look at a heap of pots and pans while you’re eating, that special effort you’ve put into dinner into is lost. Guess what? Close the door. Problem solved.

from Why I Will Never Switch to an Open Kitchen

The author raises a very good point, and this is one of the reasons why people just love to go out for dinner. You don’t have to worry about buying the ingredients, prepping them, cooking them, and then washing those dishes to be put away at some later time.

Hell, I like to cook and I felt tired from just writing that. So people go out for dinner.

Another benefit of an enclosed kitchen: When you burn something — which you will if you cook for long enough — you don’t risk having the entire studio/apartment fill up with smoke and then smelling weird for days, possibly weeks.

Press This

WordPress removed the “Press This” bookmarklet because:

  • WordPress developers are fucking idiots.
  • WordPress developers fucking hate you, the user.

Most of the links I put up on this site were usually through the bookmarklet. “We just want to increase security”, they say, then break the functionality without a proper equivalent in place.

They’re probably friends with Firefox developers, who also like to break with the past without regard to their users.

But what do users know, right? Developers always know better.

(Signed off)

Tonight I encountered a bad surprise:

This was the first time in over a decade after being murdered (electronically, that is) I connected to this network. I… I do feel like something has gone into the night, never to return. I expected for there to be at least three or four people. The hardcore users who, no matter what, would be there to show a friendly /whois to anyone who cared to join.

I was a hardcore IRC user. I jumped IPs, ran bnc, shells, anything to hide my real location and identity.