This commit is contained in:
Ben Harris 2021-03-23 22:11:03 -04:00
commit da6f1270b8
71 changed files with 1868 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
public/

6
archetypes/default.md Normal file
View File

@ -0,0 +1,6 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---

8
config.toml Normal file
View File

@ -0,0 +1,8 @@
baseURL = "."
languageCode = "en-us"
title = "blog // ~ben"
theme = "gruvbox"
uglyurls = true
[taxonomies]
tag = "tags"

View File

@ -0,0 +1,40 @@
---
title: '4k gaming with a gtx1080ti'
date: 201710021609.26
tags:
- '4k-gaming'
- 'pc-master-race'
- 'gtx1080ti'
---
i recently picked up a gtx1080ti on newegg (and a 4k monitor earlier in
the summer on prime day). i can't stop playing the witcher 3. even
though it's a couple years old, it just looks so good. plus, the story
and gameplay are incredible as well. i find myself dreaming about the
game and longing to play it when i'm not. i'll have to say it is
definitively the best game i've ever played.
some of the other games that i'm looking forward to exploring more of in
4k are:
- destiny 2
- prey
- overwatch (not that this will look insanely good, it will just be
super silky smooth)
- fallout 4
- battlefield 1
- dishonored
- dishonored 2
- dying light
- battlefront
- pubg
- doom (2016)
- gta5
- just cause 3
- hellblade: senua's sacrifice
- watch dogs 2
- many others
tags: [4k-gaming](tag_4k-gaming.html),
[pc-master-race](tag_pc-master-race.html),
[gtx1080ti](tag_gtx1080ti.html)

21
content/8values.md Normal file
View File

@ -0,0 +1,21 @@
---
title: '8values'
date: 201801031241.09
tags:
- '8values'
- 'ideology'
- 'politics'
---
not that i'm very surprised by this, but i took the quiz again (after
losing my results url) and got these results.
![](https://bhh.sh/pub/photos/8values.png)
[take the quiz here](https://8values.github.io)
[my results again as a
link](https://8values.github.io/results.html?e=95.7&d=92.6&g=78.5&s=92.3)
tags: [8values](tag_8values.html), [ideology](tag_ideology.html),
[politics](tag_politics.html)

6
content/_index.md Normal file
View File

@ -0,0 +1,6 @@
---
title: 'blog // ~ben'
---
a blog about tildes and stuff

7
content/all_posts.md Normal file
View File

@ -0,0 +1,7 @@
---
title: ''
date:
tags:
---

7
content/all_tags.md Normal file
View File

@ -0,0 +1,7 @@
---
title: ''
date:
tags:
---

21
content/antiwitze.md Normal file
View File

@ -0,0 +1,21 @@
---
title: 'antiwitze'
date: 201711271658.17
tags:
- 'german'
- 'jokes'
- 'antiwitze'
---
- uebern berg ist schneller als zu fuss sagte der wanderer und schwamm
los
- Was ist der Unterschied zwischen einem Vogel? Beide Beine sind
gleich lang. Besonders das linke.
- Nachts ist es kälter als draußen.
- Wer später bremst, fährt länger schnell.
- Cola schmeckt besser als aus dem Glas!!!
- Zu Fuß ist schneller als übern Berg!
- Was ist weiss und wandert den Berg hinauf? Eine Lawine mit Heimweh.
tags: [german](tag_german.html), [jokes](tag_jokes.html),
[antiwitze](tag_antiwitze.html)

View File

@ -0,0 +1,19 @@
---
title: 'bashblog and your gopherhole'
date: 201807221144.03
tags:
- 'tilde'
- 'blog'
---
i've created [a repo](https://git.tildeverse.org/meta/bashblog) for the
tilde.team customizations to
[bashblog](https://github.com/cfenollosa/bashblog).
it will now make sure that your ~/public\_gopher exists and symlink your
blog into it with a nice gophermap to list all the markdown styled
posts.
try it out and let me know if there are any problems!
tags: [tilde](tag_tilde.html), [blog](tag_blog.html)

15
content/blog-update.md Normal file
View File

@ -0,0 +1,15 @@
---
title: 'blog update'
date: 201711272048.10
tags:
- 'blog'
- 'update'
---
sorry for the blast of posts. i recreated them from a wordpress blog on
[motd.org](http://motd.org).
i plan on posting some random thoughts here from time to time. thanks
for checking in.
tags: [blog](tag_blog.html), [update](tag_update.html)

View File

@ -0,0 +1,48 @@
---
title: 'Christian Morgenstern “verkehrte Welt”'
date: 201711271652.49
tags:
- 'german'
- 'words'
- 'poetry'
- 'nonsense'
---
Dunkel wars der Mond schien helle, Schnee bedeckt die grüne Flur als
ein Auto blitzeschnelle, langsam um die Ecke fuhr.
Drinnen saßen stehend Leute, schweigend ins Gespräch vertieft, als ein
totgeschossner Hase, auf der Sandbank Schlittschuh lief.
Und der Wagen fuhr im Trabe, rückwärts einen Berg hinauf. Droben zog ein
alter Rabe grade eine Turmuhr auf.
Ringsumher herrscht tiefes schweigen und mit fürchterlichem Krach,
spielen in des Grases Zweigen zwei Kamele lautlos Schach.
Und auf einer roten Parkbank, die blau angestrichen war, saß ein
blondgelockter Jüngling mit kohlrabenschwarzem Haar.
Neben ihm ne alte Schrulle, zählte kaum erst 16 Jahr, In der Hand ne
Butterstulle, die mit Schmalz bestrichen war.
Droben auf dem Apfelbaume, der sehr süße Birnen trug, hing des Frühlings
letzte Pflaume und an Nüssen noch genug.
Von der regennassen Straße wirbelte der Staub empor und der Junge bei
der Hitze mächtig an den Ohren fror.
Beide Hände in den Taschen hielt er sich die Augen zu. Denn er konnte
nicht ertragen, wie nach Veilchen roch die Kuh.
Holder Engel, süßer Bengel, furchtbar liebes Trampeltier. Du hast Augen
wie Sardellen, alle Ochsen gleichen Dir.
Und zwei Fische liefen munter, durch das Blaue Kornfeld hin. Endlich
ging die Sonne unter und der graue Tag erschien.
Und das alles dichtet Goethe Als er in der Morgenröte Liegend auf dem
Nachttopf saß Und dabei die Zeitung las.
tags: [german](tag_german.html), [words](tag_words.html),
[poetry](tag_poetry.html), [nonsense](tag_nonsense.html)

18
content/cold.md Normal file
View File

@ -0,0 +1,18 @@
---
title: 'cold'
date: 201801050949.42
tags:
- 'cold'
- 'weather'
- 'winter'
- 'snow'
---
why is it so cold
![](https://bhh.sh/pub/photos/Screenshot_20180105-094720.png)
i'm so done with winter
tags: [cold](tag_cold.html), [weather](tag_weather.html),
[winter](tag_winter.html), [snow](tag_snow.html)

View File

@ -0,0 +1,57 @@
---
title: 'default branch name'
date: 202101101526.29
tags:
- 'git'
- 'linux'
- 'dev'
---
changing gits default branch name has come up recently as an easy
action we can take to update our language and remove harmful ideas from
our daily usage.
im concerned that this effort to change the language used is ultimately
a symbolic gesture to avoid scrutiny into actual change (notably
githubs push for this change and continued contracts with ICE).
however, its an easy change to make.
------------------------------------------------------------------------
lets have a look at how to change it for new repos:
mkdir -p ~/.config/git/template
echo "ref: refs/head/main" > ~/.config/git/template/HEAD
git config --global init.templateDir ~/.config/git/template
note that you can put this template dir anywhere you like.
you can also set this system-wide (not just for your user) in
/usr/share, but note that this might get overriden by package updates.
echo "ref: refs/head/main" | sudo tee /usr/share/git-core/templates/HEAD
the next time you `git init`, youll be on a branch named main.
to change an existing repo, you can use the `-m` switch of `git-branch`:
git checkout master
git branch -m master main
push with `-u` to your remote if needed and update the default branch in
the repo settings in the hosting platform of choice.
its a relatively easy change, but dont kid yourself that it makes any
real impact. go protest, [donate and sign
petitions](https://blacklivesmatter.carrd.co/), and get out there to fix
the actual problems.
## update:
as of git 2.28, theres a new configuration option and you dont need to
use the templateDir option:
git config --global init.defaultBranch main
tags: [git](tag_git.html), [linux](tag_linux.html), [dev](tag_dev.html)

View File

@ -0,0 +1,49 @@
---
title: 'dns shenanigans post-mortem'
date: 201808141503.49
tags:
- 'linux'
- 'sysadmin'
- 'tilde'
- 'dns'
---
let's start by saying i probably should have done a bit more research
before diving head-first into this endeavor.
i've been thinking about transferring my domains off google domains for
some time now, as part of my personal goal to self host and limit my
dependence on google and other large third-party monstrosities. along
that line, i asked for registrar recommendations.
[~tomasino](https://tomasino.tilde.team) responded with
[namesilo](https://namesilo.com). i found that they had $3.99
registrations for .team and .zone domains, which is 1/10th the cost of
the $40 registration on google domains.
i started out by getting the list of domains from the google console. 2
or 3 of them had been registered within the last 60 days, so i wasn't
able to transfer those just yet. i grabbed all the domain unlock codes
and dropped them into namesilo. i failed to realize that the dns panel
on google domains would disappear as soon as it went through, but more
importantly that the nameservers would be left pointing to the old
defunct google domains ones.
i updated the nameservers as soon as i realized this error from the
namesilo panel. some of the domains propagated quickly. others, not so
much. tilde.team was still in a state of flux between the old and new
nameservers.
in a rush to get the dns problem fixed, and under recommendation from
several people on irc, i decided to switch the nameservers for
tilde.team and tilde.zone to cloudflare, leaving another layer of flux
for the dns to be stuck in...
of the five domains that i moved to cloudflare, 3 returned with a dnssec
error, claiming that i needed to remove the DS record from that zone.
d'oh!
i removed the dnssec from those affected domains, so we should be good
to go as soon as it all propagates through the fickle beast that is dns.
tags: [linux](tag_linux.html), [sysadmin](tag_sysadmin.html),
[tilde](tag_tilde.html), [dns](tag_dns.html)

View File

@ -0,0 +1,15 @@
---
title: ''
date: 201712051325.47
tags:
- 'music'
- 'lyrics'
- 'words'
---
> i've got nothing to say don't be a coconut
Ask Me Anything - The Strokes (on First Impressions of Earth)
tags: [music](tag_music.html), [lyrics](tag_lyrics.html),
[words](tag_words.html)

20
content/dotfiles.md Normal file
View File

@ -0,0 +1,20 @@
---
title: 'dotfiles'
date: 201807221926.26
tags:
- 'linux'
- 'dotfiles'
- 'git'
---
finally got around to updating my
[dotfiles](https://git.tilde.team/ben/dotfiles) to use gnu stow. i
adapted [~tomasino's
makefile](https://github.com/jamestomasino/dotfiles/blob/master/Makefile)
for use with the configs that i'm keeping with it.
now i just need to figure out why my ssh config doesn't copy/symlink my
config to ~/.ssh when it already exists.
tags: [linux](tag_linux.html), [dotfiles](tag_dotfiles.html),
[git](tag_git.html)

View File

@ -0,0 +1,15 @@
---
title: 'fun words in german'
date: 201711271650.40
tags:
- 'german'
- 'words'
- 'linguistics'
---
- Tschechisches Streichholzschächtelchen
- Rindfleischettikettierungsüberwachungsaufgabensübertragungsgesetz
- Donaudampfschifffahrtsgesellschaftskapitän
tags: [german](tag_german.html), [words](tag_words.html),
[linguistics](tag_linguistics.html)

39
content/general-update.md Normal file
View File

@ -0,0 +1,39 @@
---
title: 'general update'
date: 202002032006.43
tags:
- 'update'
- 'sysadmin'
---
it's been quite a long time since i posted anything here on this blog.
i've been playing with [gruvbox-css](https://github.com/xe/gruvbox-css),
decided to switch my blog to use it and finally realized it's been
almost a year since i posted anything at all.
i don't have anything in particular to post today so i figured it would
be good to give a general update since the last time i posted.
------------------------------------------------------------------------
we've moved physical hosts again ([/news
post](https://tilde.team/news/028_back_up)), which is now a vm on a
large dedicated machine i rent from
[ovh](%20https://www.ovh.com/world/dedicated-servers/infra/infra-2/). my
current vm setup is proxmox, which i'm quite happy with. the new box is
pricier but has a lot more resources and room to grow.
it appears that i haven't posted anything in so long that i don't yet
have any pictures of my dog on my blog!
i got her last may (2019) and she's the best. she's an english springer
spaniel and her name is Hope.
[![hope](https://bhh.sh/pub/photos/doggos/hope6.jpg)](%20https://bhh.sh/pub/photos/doggos/?filter=hope)
click the photo to see some more!
otherwise, i've just been hanging out on irc, so stop by and say hello
:)
tags: [update](tag_update.html), [sysadmin](tag_sysadmin.html)

View File

@ -0,0 +1,38 @@
---
title: 'git remotes with ssh aliases'
date: 201801121330.26
tags:
- 'git'
- 'ssh'
---
did you know that `~/.ssh/config` aliases work for git remotes??
~/.ssh/config
Host gh
HostName github.com
User git
IdentityFile ~/.ssh/gh_key
you can now use `gh:username/repo` as the remote in place of
`git@github.com:username/repo`, which is much shorter and easier to type
many times!
`git clone gh:benharri/learngit`
there are many other use cases for the `ssh_config` file. for example,
here is my config for the tilde machine for easy ssh connections.
Host tilde
HostName tilde.team
User ben
then use `ssh tilde` to start a new ssh session. this also works with
`scp`: try something like this `scp file.txt tilde:workspace/.` in place
of `scp file.txt ben@tilde.team:workspace/.`
the ssh\_config file is super useful. check `man ssh_config` for a full
list of options!
tags: [git](tag_git.html), [ssh](tag_ssh.html)

31
content/hey-dere-bub.md Normal file
View File

@ -0,0 +1,31 @@
---
title: 'hey dere bub!'
date: 201712131912.51
tags:
- 'heyderebub'
- 'podcast'
---
if you haven't checked it out yet, give [my new
podcast](https://heyderebub.com) a listen!
[![heyderebub
logo](https://heyderebub.com/images/itunes_image.jpg)](https://heyderebub.com)
[episode
5](https://heyderebub.com/?name=2017-12-13_hey_dere_bub_ep__5.mp3) was
uploaded today.
------------------------------------------------------------------------
we're on [twitter](https://twitter.com/heyderebub),
[facebook](https://facebook.com/heyderebub), and of course [our own
website](https://heyderebub.com)
give us a shout on twitter or [shoot us an
email](mailto:hello@heyderebub.com) and let us know what you thought and
if there is anything you'd like us to talk about in the future.
thanks!
tags: [heyderebub](tag_heyderebub.html), [podcast](tag_podcast.html)

22
content/hi-there.md Normal file
View File

@ -0,0 +1,22 @@
---
title: 'hi there'
date: 201710021611.13
tags:
- 'linux'
- 'sysadmin'
- 'ubuntu'
- 'tilde'
---
welcome to my tildeblog
you are here.
i like to mess around with linux sysadmin shtuff.
[tilde.team](https://tilde.team) is my baby. let me know if you want to
get involved.
thanks for being awesome. keep it up.
tags: [linux](tag_linux.html), [sysadmin](tag_sysadmin.html),
[ubuntu](tag_ubuntu.html), [tilde](tag_tilde.html)

76
content/italy.md Normal file
View File

@ -0,0 +1,76 @@
---
title: 'italy'
date: 201809201732.33
tags:
- 'travel'
---
i just got back from a 10-day backpacking trip to italy and i'd like to
share some of the photos i took!
the travel plan was rome -> venice -> florence -> naples ->
pompei/vesuvius -> capri -> amalfi
this is the roman forum (with colosseum in the background) as seen from
the palatine.
![](https://bhh.sh/pub/photos/italy/roman-forum.jpg)
------------------------------------------------------------------------
here's me standing next to the same piece of ancient rome as i did the
last time i visited in 2015. see [my github
profile](https://github.com/benharri)
![](https://bhh.sh/pub/photos/italy/threeyearslater.jpg)
the inside of st. pete's basilica. climbed the 551 steps to the top of
it for a crazy view of rome.
![](https://bhh.sh/pub/photos/italy/st-petes.jpg)
venice was the next stop. this is the grand canal.
![](https://bhh.sh/pub/photos/italy/venice-grand-canal.jpg)
we visited all the main museums in firenze (aka florence, but firenze is
far cooler). this is the view from the roof of our hostel.
![](https://bhh.sh/pub/photos/italy/firenze.jpg)
after arriving in naples, we headed out to see vesuvius and the ruins of
pompei. i'm not sure why pompei has an extra 'i' in english, but it only
has one in modern-day italian. look at the ruts left from the ancience
chariots in the basalt stone!
![](https://bhh.sh/pub/photos/italy/pompei-ruts.jpg)
here see vesuvius from pompei's main square.
![](https://bhh.sh/pub/photos/italy/vesuvius-from-pompei.jpg)
we did a tour around the island of capri. (think capri pants, caprese
salads, etc). we also took a chairlift to the top of the island for the
stunning view. unfortunately, photos just don't show the scale and sheer
drop from the cliff.
![](https://bhh.sh/pub/photos/italy/capri-rocks.jpg)
this is the view from our airbnb in amalfi. it was quite a pain to get
to... but it was worth it!
![](https://bhh.sh/pub/photos/italy/airbnb-view.jpg)
here's me and [~supercock789](https://tilde.team/~supercock789/)
somewhere along the path of the gods.
![](https://bhh.sh/pub/photos/italy/me-and-nick.jpg)
what a whirlwind! i'm pretty sure we visited all the major tourist
attractions in the cities that we visited. and in quite a short time!
there are [a few extra photos here](https://bhh.sh/pub/photos/italy/)
thanks for stopping by!
tags: [travel](tag_travel.html)

View File

@ -0,0 +1,14 @@
---
title: 'Joe on Sporty-ball-z'
date: 201711271651.42
tags:
- 'thought-of-the-day'
- 'quotes'
---
For every nerd calling something sportsball there needs to be a jock
that walks into a library and yells “WHATS UP WITH ALL THESE WORD
BURGERS”
tags: [thought-of-the-day](tag_thought-of-the-day.html),
[quotes](tag_quotes.html)

View File

@ -0,0 +1,14 @@
---
title: 'links to save for later'
date: 201710201618.28
tags:
- 'links'
- 'bookmarks'
- 'save-for-later'
---
[cool pics](http://novatogatorop.com/gallery/alaska) [gatsby
ssg](https://gatsbyjs.org) [tachyons](http://tachyons.io)
tags: [links](tag_links.html), [bookmarks](tag_bookmarks.html),
[save-for-later](tag_save-for-later.html)

31
content/loading.md Normal file
View File

@ -0,0 +1,31 @@
---
title: 'loading...'
date: 201712211609.45
tags:
- 'jokes'
- 'humor'
---
```
const loadingmsgs = [
"Proving P=NP...",
"Computing 6 x 9...",
"Mining Bitcoin...",
"Dividing by 0...",
"Initializing Skynet...",
"[REDACTED]",
"Downloading more RAM...",
"Ordering 1s and 0s...",
"Navigating neural network...",
"Importing machine learning...",
"Issuing Alice and Bob one-time pads...",
"Generating random sequence from key inputs while trying to exit vim...",
"for i in range(additional): Pylon()",
"(creating unresolved tension...",
"Symlinking vim to nano and ed...",
];
```
[sauce](https://twitter.com/0xdade/status/943573845469827072)
tags: [jokes](tag_jokes.html), [humor](tag_humor.html)

View File

@ -0,0 +1,29 @@
---
title: 'lxd networking and additional IPs'
date: 201807261534.50
tags:
- 'linux'
- 'sysadmin'
- 'ubuntu'
---
now that tilde.team is on a fancy-shmancy new dedi server, i've tried to
get a secondary IP address assigned to a lxd container (which i plan to
use for my personal stuff). lxd shows that the secondary IP is being
picked up by that container, but i'm still seeing the host machine's IP
as the external address.
i'm not sure how i'll need to configure the network settings on the host
machine (now that we're running ubuntu 18.04 and it uses netplan for
configs and not /etc/network/interfaces). another confusing thing is
that the main config in /etc/netplan says that the network config is
handled by systemd-networkd...
at least i have through the end of the year when my current vps runs out
to get this up and running.
ping me on [irc](https://tilde.chat) or [email](mailto:ben@tilde.team)
if you have experience with this.
tags: [linux](tag_linux.html), [sysadmin](tag_sysadmin.html),
[ubuntu](tag_ubuntu.html)

View File

@ -0,0 +1,58 @@
---
title: 'mastodon postgres upgrade fun'
date: 202010281631.39
tags:
- 'sysadmin'
- 'tilde'
- 'social-networks'
---
howdy friends!
if youre a mastodon user on [tilde.zone](https://tilde.zone) (the
tildeverse mastodon instance), you mightve noticed some downtime
recently.
heres a quick recap of what went down during the upgrade process.
------------------------------------------------------------------------
we run the current stable version of postgresql from the [postgres apt
repos](https://wiki.postgresql.org/wiki/Apt). postgres
[13](https://www.postgresql.org/docs/release/13.0/) was released
recently and the apt upgrades automatically created a new cluster
running 13.
the database for mastodon has gotten quite large (about 16gb) which
complicates this upgrade a bit. this was my inital plan:
- drop the 13 cluster created by the apt package upgrades
- upgrade the 12-main cluster to 13
- drop the 12 cluster
these steps appeared to work fine, but closer inspection afterwards led
me to discover that the new cluster had ended up with `SQL_ASCII`
encoding somehow. this is not a situation we want to be in. time to fix
it.
heres the new plan:
- stop mastodon
` for i in streaming sidekiq web; do systemctl stop mastodon-$i; done`
- dump current database state ` pg_dump mastodon_production > db.dump`
- drop and recreate cluster with utf8 encoding
` pg_dropcluster 13 main --stop pg_createcluster --locale=en_US.UTF8 13 main --start`
- restore backup
` sudo -u postgres psql -c "create user mastodon createdb;" sudo -u mastodon createdb -E utf8 mastodon_production sudo -u mastodon psql < db.dump`
im still not 100% sure how the encoding reverted to ascii but it seems
that the locale was not correctly set while running the apt upgrades…
if this happens to you, hopefully this helps you wade out while keeping
all your data :)
tags: [sysadmin](tag_sysadmin.html), [tilde](tag_tilde.html),
[social-networks](tag_social-networks.html)

23
content/mastodon.md Normal file
View File

@ -0,0 +1,23 @@
---
title: 'mastodon'
date: 201712221628.45
tags:
- 'social-networks'
- 'mastodon'
- 'tilde'
---
hi everyone.
i started hosting a [mastodon](https://joinmastodon.org) instance at
[social.tilde.team](https://social.tilde.team).
check it out if you want some federated open source social goodness :)
send me a toot [@ben@tilde.team](https://social.tilde.team/@ben) (from
any mastodon instance!)
thanks!
tags: [social-networks](tag_social-networks.html),
[mastodon](tag_mastodon.html), [tilde](tag_tilde.html)

View File

@ -0,0 +1,17 @@
---
title: 'more drone photos'
date: 201807152315.46
tags:
- 'dji'
- 'drone'
- 'photography'
---
i finally got my drone out this summer to take some more pics!
![](https://bhh.sh/pub/photos/drone/DJI_0097.thumb.jpg)
[more here](https://bhh.sh/pub/photos/drone/)
tags: [dji](tag_dji.html), [drone](tag_drone.html),
[photography](tag_photography.html)

View File

@ -0,0 +1,31 @@
---
title: 'net neutrality vote today'
date: 201712140626.55
tags:
- 'net-neutrality'
- 'internet'
---
Everybody! We only have UNTIL TOMORROW to fight the FCC & the repeal of
\#NetNeutrality! Repealing Net Nutrality would result in an unequal
access to online content including research, social/political
organizing, and personal media. It would also allow powerhouse companies
providing internet to charge more for regular quality internet, and
charge certain users more than others. HERE'S A WAY TO ACT - takes less
than a minute.
1. Go to [gofccyourself.com](http://gofccyourself.com) (the shortcut
John Oliver made to the hard-to-find FCC comment page)
2. Click on the 17-108 link (Restoring Internet Freedom)
3. Click on "express"
4. Be sure to hit "ENTER" after you put in your name & info so it
registers.
5. In the comment section write, "I strongly support net neutrality
backed by Title 2 oversight of ISPs."
6. Click to submit, done. - Make sure you hit submit at the end!
**Copy and paste this into your own status update!** Seriously, this is
simple and so important. Do it.
tags: [net-neutrality](tag_net-neutrality.html),
[internet](tag_internet.html)

View File

@ -0,0 +1,63 @@
---
title: 'networking nonsense'
date: 201902110240.20
tags:
- 'tilde'
- 'linux'
- 'sysadmin'
---
i've recently been working on setting up [drone
ci](https://drone.tildegit.org) on the tilde.team machine. however,
there's been something strange going on with the networking on there.
------------------------------------------------------------------------
starting up drone with
[docker-compose](https://tildegit.org/tildeverse/drone/src/branch/master/docker-compose.yml)
didn't seem to be working: `netstat -tulpn` showed the port binding
properly to 127.0.0.1:8888 but i was completely unable to get anything
from it (using curl the nginx proxy that was to come).
i ended up scrapping docker on the ~team box itself and moving it into a
lxd container (pronounced "lex-dee") with nesting enabled.
this got us in to another problem that had been seen before when using
nginx to proxy to apps running in other containers. requests were
dropped intermittently, sometimes hanging for upwards of 30 seconds.
getting frustrated with this error, i tried to reproduce it on another
host. both the docker-proxy and nginx-&gt;lxd proxies work on the first
try yielded no clues as to where things were going wrong.
in a half-awake stupor last saturday evening, i decided to try rule out
ipv6 by disabling it system-wide. as is expected for sleepy work, it
didn't fix the problem and created more in the process.
feeling satisfied that the problem didn't lie with ipv6, i re-enabled
it, only to find that i was unable to bind nginx to my allocated /64. i
may or may not have ranted a bit about this on irc but i was able to get
it back up and running by restarting systemd-networkd.
one step forwards broke something and now we're back to where we started
with the original problem of the intermittent hangups to the lxd
container.
seeing my troubles on irc, [jchelpau](https://tilde.team/~jchelpau/)
offered to help dig in to the problem with a a fresh set of eyes. he
noted right away that pings over ipv6 to the containers worked fine, but
ipv4 did not.
we ended up looking at the firewall configurations, only to find that
one of the subnets i blocked after november's [nmap
incident](november-13-post-mortem.html) included lxdbr0's subnet (the
bridge device used by lxd).
now that i made the exeption for lxdbr0, everything is working as
expected!
thanks to [fosslinux](https://tilde.team/~fosslinux/) and
[jchelpau](https://tilde.team/~jchelpau/) for their debugging help!
tags: [tilde](tag_tilde.html), [linux](tag_linux.html),
[sysadmin](tag_sysadmin.html)

27
content/no-more-google.md Normal file
View File

@ -0,0 +1,27 @@
---
title: 'no more google'
date: 201808142336.05
tags:
- 'linux'
- 'net-neutrality'
---
not sure if this is appropriately tagged, but i didn't feel like making
a new one.
i figured i should probably get some notes down about moving off google.
to start, i'll get a list of the things i was able to easily replace:
- gmail =&gt; [@tilde.team mail](https://tilde.team/wiki/?page=email)
- google drive =&gt; [syncthing](https://syncthing.net) (with a
persistent node running on my personal vps)
i'm still using:
- gplay music/youtube
- google maps (open streetmap isn't good enough to replace it)
- google photos - but this is going to be replaced long-term with
syncthing
tags: [linux](tag_linux.html), [net-neutrality](tag_net-neutrality.html)

33
content/nonsense.md Normal file
View File

@ -0,0 +1,33 @@
---
title: 'Nonsense'
date: 201711271655.29
tags:
- 'nonsense'
- 'words'
---
I hole-hardedly agree, but allow me to play doubles advocate here for a
moment. For all intensive purposes I think you are wrong. In an age
where false morals are a diamond dozen, true virtues are a blessing in
the skies. We often put our false morality on a petal stool like a bunch
of pre-Madonnas, but you all seem to be taking something very valuable
for granite. So I ask of you to mustard up all the strength you can
because it is a doggy dog world out there. Although there is some merit
to what you are saying it seems like you have a huge ship on your
shoulder. In your argument you seem to throw everything in but the kids
Nsync, and even though you are having a feel day with this I am here to
bring you back into reality. I have a sick sense when it comes to these
types of things. It is almost spooky, because I cannot turn a blonde eye
to these glaring flaws in your rhetoric. I have zero taller ants when it
comes to people spouting out hate in the name of moral righteousness.
You just need to remember what comes around is all around, and when
supply and command fails you will be the first to go. Make my words,
when you get down to brass stacks it doesnt take rocket appliances to
get two birds stoned at once. Its clear who makes the pants in this
relationship, and sometimes you just have to swallow your prize and
accept the facts. You might have to come to this conclusion through
denial and error but I swear on my mothers mating name that when you
put the petal to the medal you will pass with flying carpets like its a
peach of cake.
tags: [nonsense](tag_nonsense.html), [words](tag_words.html)

View File

@ -0,0 +1,67 @@
---
title: 'november 13 post mortem'
date: 201811132020.33
tags:
- 'post-mortem'
- 'linux'
- 'sysadmin'
---
we had something of an outage on november 13, 2018 on tilde.team.
i awoke, not suspecting anything to be amiss. as soon as i logged in to
check my email and irc mentions, it became clear.
tilde.team was at the least inaccessible, and at the worst, down
completely. according the message in my inbox, there hade been an
attempted "attack" from my IP.
------------------------------------------------------------------------
> We have indications that there was an attack from your server. Please
> take all necessary measures to avoid this in the future and to solve
> the issue.
at this point, i have no idea what could have happened over night while
i'm sleeping. the timestamp shows that it arrive only 30 minutes after
i'd turned in for the night.
when i finally log on in the morning to check mails and irc mentions, i
find that i'm unable to connect to tilde.team... strange, but ok; time
to troubleshoot. i refresh the [webmail](https://mail.tilde.team) to see
what i'm missing. it ends up failing to find the server. even stranger!
i'd better get the mails off my phone if they're on my @tilde.team mail!
here, i launch in to full debugging mode: what command was it? who ran
it?
search `~/.bash_history` per user was not very successful. nothing i
could find was related to net or map. i had checked
`sudo grep nmap /home/*/.bash_history` and many other commands.
at this point, i had connected with other ~teammates across other irc
nets ([\#!](https://hashbang.sh/), [~town](https://tilde.town), etc).
among suggestions to check `/var/log/syslog`, `/var/log/kern.log`, and
`dmesg`, i finally decided to check `ps`. `ps -ef | grep nmap` yielded
nmap on an obscured uid and gid, which is shortly established to belong
to a container i had provisioned for [~fosslinux](/~fosslinux/).
i'm not considering methods of policing access to any site over port 80
and port 443. this is crazy. how do you police `nmap` when it isn't
scanning on every port?
after a bit of shit-talking and reassurance from other sysadmins, i
reexamined and realized that [~fosslinux](/~fosslinux/) had only run
`nmap` for addresses in the `10.0.0.0/8` space. the `10/8` address space
is intended to not be addressable outside the local space. how could
[hetzner](https://hetzner.com) have found out about a localhost network
probe!?
finally, after speaking with more people than i expected to speak with
in one day, i ended up sending three different support emails to hetzner
support, which finally resulted in them unlocking the ip.
it's definitely time to research redundancy options!
tags: [post-mortem](tag_post-mortem.html), [linux](tag_linux.html),
[sysadmin](tag_sysadmin.html)

14
content/otm.md Normal file
View File

@ -0,0 +1,14 @@
---
title: 'otm'
date: 201802151333.16
tags:
- 'podcast'
---
![](https://bhh.sh/pub/photos/IMG_20180215_121947.jpg)
just heard the [latest
episode](https://www.wnyc.org/story/safety-net-just-got-a-little-less-safe)
of on the media. this is a super helpful guide i found on their twitter.
tags: [podcast](tag_podcast.html)

View File

@ -0,0 +1,18 @@
---
title: 'pan galactic gargle blaster'
date: 201712071641.40
tags:
- 'beer'
- 'hhgtg'
---
short's brewery released another batch of their pan galactic gargle
blaster imperial IPA. i had one last night and was very excited to have
it once again.
> “The Hitch-Hiker's Guide to the Galaxy also mentions alcohol. It says
> that the best drink in existence is the Pan Galactic Gargle Blaster,
> the effect of which is like having your brains smashed out with a
> slice of lemon wrapped round a large gold brick.”
tags: [beer](tag_beer.html), [hhgtg](tag_hhgtg.html)

38
content/phoenix.md Normal file
View File

@ -0,0 +1,38 @@
---
title: 'phoenix'
date: 201802261157.10
tags:
- 'internet'
- 'dev'
---
inspired by [oodsnet](http://oods.net), (and my pull request to add
[darkmode](https://github.com/exezin/oodsnet/pull/5)), i started to
create my own tilde.team fork (now
[forum.tilde.team](https://forum.tilde.team/)).
the first step was to switch out the css to the [tilde.team
standard](https://tilde.team/css/) and update the classes for bootstrap.
once i got it going and integrated with the tilde.team linux auth
service, i asked other tildeans for input and suggestions.
[~micaiah](/~micaiah/) was interested in helping, but also wanted to
learn a new language and/or framework, so we decided to start over,
recreating the entire forum with
[elixir/phoenix](http://phoenixframework.org). we'd discussed elixir
previously, but never had a convincing use case to force us to learn it.
the project is live, with the source code on
[github](https://github.com/tilde-team/forum).
the thing that i'm most impressed with is the speed of the erlang
runtime :D
check out these response times. sub-millisecond!?!?!
![](https://bhh.sh/pub/photos/phx.png)
give it a look, and [join the tilde.team](https://tilde.team/signup) if
you want to come hang out!
tags: [internet](tag_internet.html), [dev](tag_dev.html)

20
content/pop-quiz.md Normal file
View File

@ -0,0 +1,20 @@
---
title: 'pop quiz'
date: 201801161726.40
tags:
- '4k-gaming'
- 'gaming'
- 'gtx1080ti'
- 'pc-master-race'
---
is this real?
![4k witcher
3](https://bhh.sh/pub/photos/The%20Witcher%203%20Screenshot%202017.09.12%20-%2023.44.17.73.png)
hint: it's not. it's the witcher 3. and it looks like a real place.
tags: [4k-gaming](tag_4k-gaming.html), [gaming](tag_gaming.html),
[gtx1080ti](tag_gtx1080ti.html),
[pc-master-race](tag_pc-master-race.html)

View File

@ -0,0 +1,55 @@
---
title: 'proactive redundancy'
date: 201811151839.26
tags:
- 'sysadmin'
- 'tilde'
---
after the [fiasco](november-13-post-mortem.html) earlier this week, i've
been taking steps to minimize the impact if tilde.team were to go down.
it's still a large spof (single-point-of-failure), but i'm reasonably
certain that at least the irc net will remain up and functional in the
event of another outage.
------------------------------------------------------------------------
the first thing that i set up was a handful of additional ircd nodes:
see [the tilde.chat wiki](https://tilde.chat/wiki/?page=servers) for a
full list. slash.tilde.chat is on my personal vps, and bsd.tilde.chat is
hosted on the bsd vps that i set up for tilde.team.
i added the ipv4 addresses for these machines, along with the ip for
yourtilde.com as A records for tilde.chat, creating a dns round-robin.
`host tilde.chat` will return all four. requesting the dns record will
return any one of them, rotating them in a semi-random fashion. this
means that when connecting to tilde.chat on 6697 for irc, you might end
up on any of `{your,team,bsd,slash}.tilde.chat`.
this creates the additional problem that visiting the [tilde.chat
site](https://tilde.chat) will end up at any of those 4 machines in much
the same way. for the moment, the site is deployed on all of the boxes,
making site setup issues hard to
[debug](https://tildegit.org/tildeverse/tilde.chat/issues/8). the
solution to this problem is to use a subdomain as the roundrobin host,
as other networks like freenode do (see `host chat.freenode.net` for the
list of servers).
i'm not sure how to make any of the other services more resilient. it's
something that i have been and will continue to research moving forward.
the other main step that i have taken to prevent the same issue from
happening again was to configure the firewall to drop outgoing requests
to the subnets as defined in [rfc
1918](https://tools.ietf.org/html/rfc1918).
i'd like to consider at least this risk to be mitigated.
thanks for reading,
~ben
**update**: the round robin host is now *irc*.tilde.chat, which resolves
the site issues that we were having, due to the duplicated deployments.
tags: [sysadmin](tag_sysadmin.html), [tilde](tag_tilde.html)

View File

@ -0,0 +1,10 @@
---
title: 'quote of the day'
date: 201802130955.06
tags:
- 'quotes'
---
Be Alert! - the world needs more Lerts.
tags: [quotes](tag_quotes.html)

57
content/raid-nonsense.md Normal file
View File

@ -0,0 +1,57 @@
---
title: 'raid nonsense'
date: 201901131328.45
tags:
- 'tilde'
- 'sysadmin'
---
last week i did some
[maintenance](https://tilde.team/news/?page=025_raid_reboot) on the
tilde.team box. probably should have written about it sooner but i
didn't make time for it until now.
------------------------------------------------------------------------
the gist of the problem was that the default images provided by
[hetzner](https://hetzner.com) default to raid1 between the available
disks. our box has two 240gb SSDs, which resulted in 200gb usable space
for /. it also defaulted to giving us a huge swap partition which i deem
unnecessary for a box with 64gb ram.
the only feasible solution that i've found involved using the rescue
system and the
[installimage](https://wiki.hetzner.de/index.php/Installimage/en)
software to reconfigure the disk partitions.
[deepend](https://yourtilde.com/~deepend/) recently upgraded to a
beefier dedi (more threads and more disk space) and had a bit of
contract time on the old one. he offered to let me use it as a staging
box for the meantime while i reinstalled and reconfigured my raid
settings.
i've migrated tilde.team twice before (from linode -&gt; woothosting
-&gt; hetzner -&gt; and now back to hetzner on the same box) using a
slick little rsync that i've put together.
` rsync -auHxv --numeric-ids \ --exclude=/etc/fstab \ --exclude=/etc/network/* \ --exclude=/proc/* \ --exclude=/tmp/* \ --exclude=/sys/* \ --exclude=/dev/* \ --exclude=/mnt/* \ --exclude=/boot/* \ --exclude=/root/* \ root@oldbox:/* /`
as long as the destination and source boxen are running the same
distro/version, you should be good to go after rebooting the destination
box!
the only thing to watch out for is running databases. it happened to me
this time with mysql. there were 3 pending transactions that were left
open during the rsync backup. it kept failing to start after i got the
box back up, along with all the other services that depend on it.
eventually i was able to get mysqld back up and running in recovery mode
(basically read-only) and got a mysqldump of all databases. i then
purged all existing mysql data, reinstalled mariadb-server, and restored
the mysqldump. everything came up as expected and we were good to go!
the raid is now in a raid0 config, leaving us with 468gb (not GiB)
available space. thanks for tuning in to this episode of sysadmin
adventures!
tags: [tilde](tag_tilde.html), [sysadmin](tag_sysadmin.html)

View File

@ -0,0 +1,10 @@
---
title: 'Thought of the day'
date: 201711271649.29
tags:
- 'thought-of-the-day'
---
things are not what they appear to be. nor are they otherwise.
tags: [thought-of-the-day](tag_thought-of-the-day.html)

View File

@ -0,0 +1,11 @@
---
title: 'thought of the day'
date: 201711271656.36
tags:
- 'thought-of-the-day'
---
why do they tell us to use the stairs in case of fire? shouldn't we be
using a fire extinguisher?
tags: [thought-of-the-day](tag_thought-of-the-day.html)

View File

@ -0,0 +1,12 @@
---
title: 'thought of the day'
date: 201712031347.36
tags:
- 'thought-of-the-day'
- 'words'
---
everything in the universe either is or isn't a potato.
tags: [thought-of-the-day](tag_thought-of-the-day.html),
[words](tag_words.html)

View File

@ -0,0 +1,13 @@
---
title: 'Thought of the Day'
date: 201711271654.07
tags:
- 'nonsense'
- 'quotes'
---
“Arguing with religious people Its like playing chess with a pigeon;
no matter how good I am at chess, the pigeon is just going to knock over
the pieces, crap on the board and strut around victorious” Anonymous
tags: [nonsense](tag_nonsense.html), [quotes](tag_quotes.html)

View File

@ -0,0 +1,10 @@
---
title: 'thought of the day'
date: 201711271658.50
tags:
- 'thought-of-the-day'
---
wherever you go, there you are
tags: [thought-of-the-day](tag_thought-of-the-day.html)

37
content/tildeteam-news.md Normal file
View File

@ -0,0 +1,37 @@
---
title: 'tilde.team news'
date: 201806131507.45
tags:
- 'tilde'
- 'sysadmin'
---
hey hi hello!
it seems that i haven't written anything on my blog in quite a while...
time to fix that! i've been quite busy in the last month or so with a
lot of new ideas an energy for tilde.team.
after rediscovering my account on tilde.town, i hopped in the irc there
and my enthusiasm translated into a couple new members over here on the
~team.
our irc has been somewhat more active recently which is awesome:)
some of the new updates in the last month:
- [tildegit (our own gitea instance)](https://git.tilde.team)
- [tildemail](https://mail.tilde.team) with postfix and dovecot for
smtp/imap as well as local command line mail in mutt and alpine
- [`tilde`](https://git.tildeverse.org/team/tilde-launcher) user
script wrapper with submission and approval flows
- [password auth disabled](https://tilde.team/wiki/?page=ssh)
i'd like to make use of our new mailserver, so shoot me some
[mail](mailto:ben@tilde.team). i never get enough personal mail. it's
all still privacy policy update notices. :(
see you soon!
tags: [tilde](tag_tilde.html), [sysadmin](tag_sysadmin.html)

27
content/tildeverseorg.md Normal file
View File

@ -0,0 +1,27 @@
---
title: 'tildeverse.org'
date: 201807152309.22
tags:
- 'tilde'
- 'internet'
- 'links'
- 'git'
---
since the last time i wrote a post here, i've registered the
tildeverse.org domain and started moving some services over that were
already intended for tildeverse use.
among those are [gitea](https://git.tildeverse.org) and [the new link
aggregator](https://links.tildeverse.org) (which runs the same source as
[lobste.rs](https://github.com/lobsters/lobsters)).
i've also started a phlog in my
[gopherhole](https://gopher.tilde.team/tilde.team/~ben) with
[~tomasino's](/~tomasino) new
[burrow](https://github.com/jamestomasino/burrow) gopherhole tool!
i'll try to post a bit more often too with updates from the tildeverse!
tags: [tilde](tag_tilde.html), [internet](tag_internet.html),
[links](tag_links.html), [git](tag_git.html)

View File

@ -0,0 +1,102 @@
---
title: 'tools and services'
date: 202003031402.47
tags:
- 'tilde'
- 'sysadmin'
---
inspired by [tomasino](https://tomasino.org)'s recent
[post](%20https://labs.tomasino.org/freelancing-tools-services/), i'd
like to detail some of the stuff that i rent and use.
------------------------------------------------------------------------
## recurring costs
some of these are monthly, others are annual
- [server
rental](https://www.ovh.com/world/dedicated-servers/infra/infra-2/)
- $135/month, 64gb model, 2yr contract discount
- [proxmox](https://www.proxmox.com) - my preferred hypervisor. i find
it useful enough and worth paying the annual license to use the
official package mirrors - $80/year
- domains - includes [tilde-related ones](https://tilde.wiki/domains)
and my personal ones (about 10 or so) - about 30 domains totaling
$500/year
- offsite backups at [rsync.net](https://www.rsync.net/) - i use the
[borg offering](%20https://www.rsync.net/products/attic.html) for a
discount since versioning is handled by my backup software - between
$60-$70/year
my out of pocket expenses are a little over $2k per year.
note that i use the server and backups for personal stuff in addition to
tilde related things.
the current expenses are totally manageable as is, but if you've got
some spare cash and want to pitch in towards tilde hosting costs, i have
a [donate page](%20https://bhh.sh/donate).
## software i run, use, and maintain
these are all free/open source.
#### operating systems
- [ubuntu](https://ubuntu.com)
- [debian](https://debian.org)
- [alpine linux](https://alpinelinux.org)
- [freebsd](https://freebsd.org)
#### platforms/software
these are things that i run and maintain for tilde.team and the
tildeverse
- [mastodon](https://joinmastodon.org):
[tilde.zone](https://tilde.zone)
- [pleroma](https://pleroma.social):
[pleroma.tilde.zone](https://pleroma.tilde.zone)
- [nextcloud](https://nextcloud.com):
[cloud.tilde.team](https://cloud.tilde.team)
- [gitea](https://gitea.io): [tildegit](https://tildegit.org)
- [inspircd](http://inspircd.org), [anope](http://anope.org):
[tilde.chat](https://tilde.chat)
- [postfix](http://www.postfix.org/), [dovecot](https://dovecot.org/),
[rspamd](https://rspamd.com/),
[rainloop](https://www.rainloop.net/): [tilde.team
email](https://mail.tilde.team)
- [cryptpad](https://github.com/xwiki-labs/cryptpad):
[pad.t.o](https://pad.tildeverse.org)
- [privatebin](https://privatebin.info/):
[paste.t.o](https://paste.tildeverse.org)
- [0x0](https://github.com/lachs0r/0x0): [ttm.sh](https://ttm.sh)
- [lobsters](https://github.com/lobsters/lobsters):
[tilde.news](https://tilde.news)
- [tt-rss](https://tt-rss.org/): [rss.t.o](https://rss.tildeverse.org)
- [drone](https://drone.io):
[drone.tildegit.org](https://drone.tildegit.org)
- [mailman](https://docs.mailman3.org/en/latest/):
[lists.t.o](https://lists.tildeverse.org)
#### our own software
there are also a handful of other sites that we've written
collaboratively among tildeverse peeps:
- [quotes db](https://tildegit.org/tildeverse/quotes): [see it
live](https://quotes.tilde.chat)
- [tildeverse zine](https://tildegit.org/tildeverse/zine): [see it
live](https://zine.tildeverse.org)
see the [tildeverse org](https://tildegit.org/tildeverse) and [team
org](https://tildegit.org/team) on tildegit for more projects :)
this has diverged a bit from my costs into all the stuff that i do. i
suppose that means that the main cost is my time and energy. in general,
these things are hands-off in the day-to-day and only take time when
there are updates or something breaks.
tags: [tilde](tag_tilde.html), [sysadmin](tag_sysadmin.html)

View File

@ -0,0 +1,16 @@
---
title: 'upsides of new dns nameservers'
date: 201808141505.38
tags:
- 'dns'
- 'linux'
- 'tilde'
---
- no more google
- no more google
- automated certbot validation for letsencrypt wildcard certs!! no
more manual TXT records every three months!
tags: [dns](tag_dns.html), [linux](tag_linux.html),
[tilde](tag_tilde.html)

22
content/utterances.md Normal file
View File

@ -0,0 +1,22 @@
---
title: 'utterances'
date: 201809052134.13
tags:
- 'blog'
---
i somehow stumbled upon [utterances](https://utteranc.es) today at
lunch. (i think someone had it forked on their github page).
no matter how i found it, i still decided to add it to my blog here with
[bashblog](https://tildegit.org/team/bashblog). utterances is a
commenting system that leverages github issues. so, for example a
comment on [a
post](https://tilde.team/~ben/blog/upsides-of-new-dns-nameservers.html)
shows up on github [like
this](https://github.com/benharri/tilde/issues/1#issuecomment-418732788).
now we just need to figure out if it can be pointed at a gitea instance
like [tildegit](https://tildegit.org). might be time for a PR!
tags: [blog](tag_blog.html)

28
content/vr.md Normal file
View File

@ -0,0 +1,28 @@
---
title: 'vr'
date: 201712181336.04
tags:
- 'vr'
- 'virtual-reality'
- 'gaming'
---
i picked up an oculus rift after my last paycheck :P
it was half christmas present. these are some of the games that i'm most
excited for:
- elite dangerous
- lone echo / echo arena
- dirt rally
- gun club vr
- eagle flight
- robo recall
have you played any other cool vr games lately? are there any that i
should check out?
let me know!
tags: [vr](tag_vr.html), [virtual-reality](tag_virtual-reality.html),
[gaming](tag_gaming.html)

36
content/webassembly.md Normal file
View File

@ -0,0 +1,36 @@
---
title: 'webassembly'
date: 201801171309.13
tags:
- 'wasm'
- 'dev'
- 'internet'
---
according to [this
post](https://hacks.mozilla.org/2018/01/making-webassembly-even-faster-firefoxs-new-streaming-and-tiering-compiler/)
on the mozilla blog, we will be able to compile wasm as it streams into
the browser in much the same way that images are decoded. this is a huge
game changer from the current paradigm of loading javascript completely
before being able to parse and compile it.
> JavaScript code is much more expensive, byte for byte, than an image,
> because of the time spent parsing and compiling it. It's possible to
> parse and compile wasm as fast as it comes over the network, which
> makes it much more like an image than JavaScript code. Game changer!
>
> — Yehuda Katz (@wycats) [December 19,
> 2017](https://twitter.com/wycats/status/942908325775077376?ref_src=twsrc%5Etfw)
this will make [so many
things](https://github.com/WebAssembly/design/blob/master/UseCases.md)
possible in the browser that never were before!
i decided to follow this
[tutorial](http://webassembly.org/getting-started/developers-guide/) and
ended up with [this](https://tilde.team/~ben/wasm/hello.html).
i don't know what to do next. any ideas?
tags: [wasm](tag_wasm.html), [dev](tag_dev.html),
[internet](tag_internet.html)

95
content/weechat-setup.md Normal file
View File

@ -0,0 +1,95 @@
---
title: 'weechat setup'
date: 201811162311.30
tags:
- 'irc'
- 'linux'
- 'weechat'
---
so you decided to switch from irssi to weechat?
what options do you need to set? what plugins? what scripts?
i'll go over some of the most essential of these, and share my full
configs.
------------------------------------------------------------------------
## options
- `logger.level.irc` the default is 9, which includes joins and parts.
in most cases you can set this to 3, which only includes messages
- `weechat.look.buffer_notify_default` the default here is "all",
which will add joins and parts to your hotlist. set it to "message".
- `weechat.look.confirm_quit` set this to on. you'll thank me when you
type `/quit` and mean `/close`
- `weechat.look.highlight` add a comma-separated list of names/terms
you'd like to trigger a highlight here
- `weechat.look.prefix_align_max` set this to something between 10
and 20. otherwise, long nicks will crush your available screen real
estate.
- `buflist.format.indent` try something like
`${color:237}${if:${buffer.next_buffer.local_variables.type}=~^(channel|private)$?├:└}`
- `buflist.format.number` if you want to skip the . or space after the
number, set it to `${color:green}${number}`
- `irc.look.color_nicks_in_names` set this to on
- `irc.look.color_nicks_in_nicklist` set this to on
- `irc.look.server_buffer` set this to independent to prevent
automatic merges with the core weechat buffer. especially useful if
you plan on using
[autosort.py](https://weechat.org/scripts/source/autosort.py.html/)
- `irc.server_default.autoconnect` set this to on so you don't have to
set it for every new network you add.
## scripts
these scripts can be managed with the built in `/script` tool. press i,
then enter on the selected script to install it.
- [highmon.pl](https://weechat.org/scripts/source/highmon.pl.html/) -
set aside a buffer to list the places your nick has been mentioned
- [colorize\_nicks.py](https://weechat.org/scripts/source/colorize_nicks.py.html/) -
show nicks in chat with colors
- [go.py](https://weechat.org/scripts/source/go.py.html/) - fuzzy
quick jump by buffer number of channel name
- [autojoin.py](https://weechat.org/scripts/source/autojoin.py.html/) -
use `/autojoin --run` to save all the channels you're currently in
to be autojoined the next time you start weechat
- [autosort.py](https://weechat.org/scripts/source/autosort.py.html/) -
use this script in tandem with irc.look.server\_buffer=independent
to keep you channel and server list in order
- [colorize\_lines.pl](https://weechat.org/scripts/source/colorize_lines.pl.html/) -
i use this script to highlight the entire line of messages i've been
mentioned in. check the options in the source or with
`/help colorize_lines`
- [grep.py](https://weechat.org/scripts/source/grep.py.html/) -
quickly search history and buffers with `/grep`
## the rest of my configs
you can find the rest of my configs
[here](https://tildegit.org/ben/dotfiles/src/branch/master/weechat/.weechat).
if you have any questions, feel free to ping me on irc. i'm benharri on
freenode and ben on [tilde.chat](https://tilde.chat)
## screenshot
here's a screenshot of my current configs
![](https://bhh.sh/pub/screenies/weechat.png)
## bonus
if you have an existing setup, you can check the config changes you've
made with `/set diff`
additionally, feel free to [use my
.gitignore](https://tildegit.org/ben/dotfiles/src/branch/master/weechat/.weechat/.gitignore),
add your ~/.weechat to source control, and compare.
hope you've enjoyed customizing your weechat!
tags: [irc](tag_irc.html), [linux](tag_linux.html),
[weechat](tag_weechat.html)

View File

@ -0,0 +1,20 @@
---
title: 'where to find me elsewhere on the web'
date: 201711281622.42
tags:
- 'social'
- 'contact'
---
- [email](mailto:ben@tilde.team)
- [wire](https://wire.com) @bharris
- [matrix/riot](http://riot.im) @benh:matrix.org
- [telegram](https://t.me/bharris)
- [twitter](https://twitter.com/nebsirrah)
- [keybase](https://keybase.io/bharris)
- [my personal site](https://benharr.is)
- [github](https://github.com/benharri)
- [gitlab](https://gitlab.com/benharri)
- [tilde~ben](/~ben/)
tags: [social](tag_social.html), [contact](tag_contact.html)

View File

@ -0,0 +1,44 @@
---
title: 'white pride vs black pride'
date: 201803071649.51
tags:
- 'politics'
---
What White Nationalists Don't Get
A common and seemingly reasonable argument for white pride or white
nationalism is: why cant I be proud of my culture?
Well, you can. Always have been able to. We have Irish pride
celebrations, we have German drinking festivals, we have Serbian food
festivals. Any European culture you can think of has multiple
organizations in North America dedicated to taking pride in their
heritage and NO ONE gives them shit for it.
But, you see, when you start talking white pride, that's not a culture.
That's a skin color. There is no white culture, never was. There is no
pan-European culture, never was. Europe is a continent, not a culture or
ethnicity.
Now, some of you are probably about to go, but wait! Black pride! How is
that okay? Well, easy. Go find a black person and ask them if their
ancestors were slaves. When you find one who says yes, proceed to ask
them what country in Africa were your ancestors from? Do you know what
their answer will probably be? I don't know. This is because their
culture was taken from them. It was beaten out of them. They were
enslaved, Christianized, and then white washed. The one unifying feature
they have as a people is that history of slavery and that history of
being black. They cant have Liberian pride, or Congolese pride, or
insert African country pride because they have no fucking idea where
their ancestors came from other than the broad region of West Africa.
Meanwhile us white people can often trace our ancestors to specific
cities and regions. I can trace my mothers maiden name to a single
fucking village in Ireland. I know where I came from. I don't have white
culture, I have Irish culture.
So that's why white pride makes you an asshole but black pride actually
makes sense.
tags: [politics](tag_politics.html)

20
themes/gruvbox/LICENSE Normal file
View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2021 Ben Harris
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,2 @@
+++
+++

View File

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}">
{{- partial "head.html" . -}}
<body>
<main>
{{- partial "header.html" . -}}
{{- block "main" . }}{{- end }}
{{- partial "footer.html" . -}}
</main>
</body>
</html>

View File

@ -0,0 +1,10 @@
{{ define "main" }}
<h1>posts</h1>
{{ range .Pages }}
<article>
<h2>{{ .Title }}</h2>
{{ .Content }}
</article>
{{ end }}
{{ end }}

View File

@ -0,0 +1,18 @@
{{ define "title" }}
{{ .Title }} &ndash; {{ .Site.Title }}
{{ end }}
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
<script src="https://utteranc.es/client.js"
repo="benharri/tilde"
issue-term="title"
crossorigin="anonymous"
theme="github-dark"
async>
</script>
{{ end }}

View File

@ -0,0 +1,11 @@
<article>
<div>
<h2><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
{{ .Summary }}
</div>
{{ if .Truncated }}
<div>
<a href="{{ .RelPermalink }}">read more...</a>
</div>
{{ end }}
</article>

View File

@ -0,0 +1,14 @@
{{ define "header" }}
{{ partial "header.html" . }}
{{ end }}
{{ define "content" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
<!-- range all pages sorted by their title -->
{{ range sort .Site.Taxonomies.tags }}
<a class="badge badge-tag-list-page" href="{{ .Page.Permalink }}">{{ .Page.Title }} ({{ .Count }})</a>
{{ end }}
{{ end }}

View File

@ -0,0 +1,16 @@
{{ define "main" }}
<header class="homepage-header">
<h1>{{ .Title }}</h1>
{{ with .Params.subtitle }}
<span class="subtitle">{{ . }}</span>
{{ end }}
</header>
<div class="homepage-content">
{{ .Content }}
</div>
<div>
{{ range first 10 .Pages }}
{{ .Render "summary" }}
{{ end }}
</div>
{{ end }}

View File

@ -0,0 +1,3 @@
<footer>
CC by-nc-nd <a href="https://tilde.team/~ben/">~ben</a> &mdash; <a href="mailto:ben@tilde.team">ben&#64;tilde&#46;team</a>
</footer>

View File

@ -0,0 +1,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://tilde.team/~ben/gruvbox/gruvbox.min.css">
<title>{{ block "title" . }}{{ .Site.Title }}{{ end }}</title>
</head>

View File

@ -0,0 +1,54 @@
main {
-webkit-font-feature-settings: "liga" on, "calt" on;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: 'JetBrains Mono', 'Input Mono', monospace;
max-width: 38rem;
padding: 2rem;
margin: auto;
}
@media only screen and (max-device-width: 736px) {
main {
padding: 0rem;
}
}
::selection {
background: #d3869b;
}
body {
background: #282828;
color: #ebdbb2;
}
pre {
background-color: #3c3836;
padding: 1em;
border: 0;
}
a, a:active, a:visited {
color: #e491b6;
background-color: #1d2021;
}
h1, h2, h3, h4, h5 {
margin-bottom: .1rem;
}
blockquote {
border-left: 1px solid #bdae93;
margin: 0.5em 10px;
padding: 0.5em 10px;
}
footer {
align: center;
}
img {
max-width: 100%;
}

21
themes/gruvbox/theme.toml Normal file
View File

@ -0,0 +1,21 @@
# theme.toml template for a Hugo theme
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
name = "Gruvbox"
license = "MIT"
licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE"
description = ""
homepage = "http://example.com/"
tags = []
features = []
min_version = "0.41"
[author]
name = ""
homepage = ""
# If porting an existing theme
[original]
name = ""
homepage = ""
repo = ""