From 71e0905acd31c793e8bd86e17dcfa596200168c6 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Thu, 15 Nov 2018 18:40:25 -0500 Subject: [PATCH] new blogposts --- blog/.backup.tar.gz | Bin 44268 -> 48965 bytes blog/.yesterday.tar.gz | Bin 44268 -> 48965 bytes blog/all_posts.html | 114 +- blog/all_tags.html | 7 +- blog/feed.rss | 1828 +++++++++++++++-------------- blog/index.html | 508 ++++---- blog/november-13-post-mortem.html | 83 ++ blog/november-13-post-mortem.md | 31 + blog/proactive-redundancy.html | 73 ++ blog/proactive-redundancy.md | 23 + blog/tag_linux.html | 136 ++- blog/tag_post-mortem.html | 81 ++ blog/tag_sysadmin.html | 202 ++-- blog/tag_tilde.html | 236 ++-- sshpubkey.txt | 1 + 15 files changed, 1934 insertions(+), 1389 deletions(-) create mode 100644 blog/november-13-post-mortem.html create mode 100644 blog/november-13-post-mortem.md create mode 100644 blog/proactive-redundancy.html create mode 100644 blog/proactive-redundancy.md create mode 100644 blog/tag_post-mortem.html create mode 100644 sshpubkey.txt diff --git a/blog/.backup.tar.gz b/blog/.backup.tar.gz index f51b2cebc769799a37a8554039c248b5cb1a85f3..a3b14abb197128fe0efb6d98351a7fc3624ccc9c 100644 GIT binary patch literal 48965 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

{KNi}rj;17vNyHr<${e1z|c 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 diff --git a/blog/.yesterday.tar.gz b/blog/.yesterday.tar.gz index f51b2cebc769799a37a8554039c248b5cb1a85f3..a3b14abb197128fe0efb6d98351a7fc3624ccc9c 100755 GIT binary patch literal 48965 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

{KNi}rj;17vNyHr<${e1z|c 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 diff --git a/blog/all_posts.html b/blog/all_posts.html index 8a1fe23..66510b0 100644 --- a/blog/all_posts.html +++ b/blog/all_posts.html @@ -25,77 +25,55 @@

all posts

-

September 2018

+

November 2018

-

August 2018

+

October 2018

-

July 2018

- -

June 2018

- -

March 2018

- -

February 2018

- -

January 2018

- -

December 2017

- -

November 2017

- -

October 2017

-
diff --git a/blog/all_tags.html b/blog/all_tags.html index 7e3cad1..d071e64 100644 --- a/blog/all_tags.html +++ b/blog/all_tags.html @@ -49,7 +49,7 @@
  • jokes — 2 posts
  • linguistics — 1 post
  • links — 1 post
  • -
  • linux — 6 posts
  • +
  • linux — 7 posts
  • lyrics — 1 post
  • mastodon — 1 post
  • music — 1 post
  • @@ -60,12 +60,13 @@
  • podcast — 2 posts
  • poetry — 1 post
  • politics — 1 post
  • +
  • post-mortem — 1 post
  • save-for-later — 1 post
  • snow — 1 post
  • social-networks — 1 post
  • ssh — 1 post
  • -
  • sysadmin — 4 posts
  • -
  • tilde — 6 posts
  • +
  • sysadmin — 6 posts
  • +
  • tilde — 7 posts
  • travel — 1 post
  • ubuntu — 2 posts
  • update — 1 post
  • diff --git a/blog/feed.rss b/blog/feed.rss index 30cf34d..bfb55ac 100644 --- a/blog/feed.rss +++ b/blog/feed.rss @@ -2,190 +2,89 @@ blog // ~benhttps://tilde.team/~ben/blog/index.html a blog about tildes and other thingsen -Mon, 01 Oct 2018 00:40:34 -0400 -Mon, 01 Oct 2018 00:40:34 -0400 +Thu, 15 Nov 2018 18:39:28 -0500 +Thu, 15 Nov 2018 18:39:28 -0500 -italy +proactive redundancy i just got back from a 10-day backpacking trip to italy and i'd like to share some of the photos i took!

    +

    after the fiasco 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 travel plan was rome -> venice -> florence -> naples -> pompei/vesuvius -> capri -> amalfi

    +

    the first thing that i set up was a handful of additional ircd nodes: see the tilde.chat wiki 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.

    -

    this is the roman forum (with colosseum in the background) as seen from the palatine.

    +

    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 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. 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).

    -
    -]]>
    https://tilde.team/~ben/blog/italy.html -https://tilde.team/~ben/blog/./italy.html -~ben -Thu, 20 Sep 2018 17:32:33 -0400
    - -utterances -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.

    -

    i somehow stumbled upon utterances today at lunch. (i think someone had it forked on their github page).

    +

    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.

    -

    no matter how i found it, i still decided to add it to my blog here with bashblog. utterances is a commenting system that leverages github issues. so, for example a comment on a post shows up on github like this.

    +

    i'd like to consider at least this risk to be mitigated.

    -

    now we just need to figure out if it can be pointed at a gitea instance like tildegit. might be time for a PR!

    - -

    tags: blog

    +

    thanks for reading,

    +

    ~ben

    +

    tags: sysadmin, tilde

    -]]>
    https://tilde.team/~ben/blog/utterances.html -https://tilde.team/~ben/blog/./utterances.html +]]>https://tilde.team/~ben/blog/proactive-redundancy.html +https://tilde.team/~ben/blog/./proactive-redundancy.html ~ben -Wed, 05 Sep 2018 21:34:13 -0400
    +Thu, 15 Nov 2018 18:39:26 -0500 -no more google +november 13 post mortem not sure if this is appropriately tagged, but i didn't feel like making a new -one.

    +

    we had something of an outage on november 13, 2018 on tilde.team.

    -

    i figured i should probably get some notes down about moving off google.

    +

    i awoke, not suspecting anything to be amiss. as soon as i logged in to check my email and irc mentions, it became clear.

    -

    to start, i'll get a list of the things i was able to easily replace:

    +

    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.

    +
    -

    i'm still using:

    +

    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.

    -
      -
    • 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
    • -
    +

    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 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!

    -

    tags: linux, net-neutrality

    +

    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 (#!, ~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.

    +

    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 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 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, linux, sysadmin

    -]]>
    https://tilde.team/~ben/blog/no-more-google.html -https://tilde.team/~ben/blog/./no-more-google.html +]]>https://tilde.team/~ben/blog/november-13-post-mortem.html +https://tilde.team/~ben/blog/./november-13-post-mortem.html ~ben -Tue, 14 Aug 2018 23:36:05 -0400
    +Tue, 13 Nov 2018 20:20:33 -0500 -upsides of new dns nameservers +quote of the day -
  • no more google
  • -
  • no more google
  • -
  • automated certbot validation for letsencrypt wildcard certs!! no more manual TXT records every three months!
  • - +

    Be Alert! - the world needs more Lerts.

    -

    tags: dns, linux, tilde

    +

    Tags: quotes

    - -]]>
    https://tilde.team/~ben/blog/upsides-of-new-dns-nameservers.html -https://tilde.team/~ben/blog/./upsides-of-new-dns-nameservers.html -~ben -Tue, 14 Aug 2018 15:05:38 -0400
    - -dns shenanigans post-mortem -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 responded -with namesilo. 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, sysadmin, tilde, dns

    - - - - - - -]]>
    https://tilde.team/~ben/blog/dns-shenanigans-post-mortem.html -https://tilde.team/~ben/blog/./dns-shenanigans-post-mortem.html -~ben -Tue, 14 Aug 2018 15:03:49 -0400
    - -lxd networking and additional IPs -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 or email if you have experience with this.

    - -

    tags: linux, sysadmin, ubuntu

    - - - - - - -]]>
    https://tilde.team/~ben/blog/lxd-networking-and-additional-ips.html -https://tilde.team/~ben/blog/./lxd-networking-and-additional-ips.html -~ben -Thu, 26 Jul 2018 15:34:50 -0400
    - -dotfiles -finally got around to updating my dotfiles to use gnu stow. -i adapted ~tomasino's 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, dotfiles, git

    - - - @@ -195,21 +94,31 @@ already exists.

    -]]>
    https://tilde.team/~ben/blog/dotfiles.html -https://tilde.team/~ben/blog/./dotfiles.html +]]>https://tilde.team/~ben/blog/quote-of-the-day.html +https://tilde.team/~ben/blog/./quote-of-the-day.html ~ben -Sun, 22 Jul 2018 19:26:26 -0400
    +Tue, 23 Oct 2018 13:04:08 -0400 -bashblog and your gopherhole +thought of the day i've created a repo for the tilde.team customizations to bashblog.

    +

    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

    + + + + + + + + + + + -

    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, blog

    @@ -222,21 +131,31 @@ bashblog and your gopherhole -]]>
    https://tilde.team/~ben/blog/bashblog-and-your-gopherhole.html -https://tilde.team/~ben/blog/./bashblog-and-your-gopherhole.html -~ben -Sun, 22 Jul 2018 11:44:03 -0400
    +]]>https://tilde.team/~ben/blog/thought-of-the-day14302.html +https://tilde.team/~ben/blog/./thought-of-the-day14302.html +ben +Tue, 23 Oct 2018 13:04:08 -0400 -more drone photos +thought of the day i finally got my drone out this summer to take some more pics!

    +

    everything in the universe either is or isn't a potato.

    + +

    Tags: thought-of-the-day, words

    + + + + + + + + + + + -

    -

    more here

    -

    tags: dji, drone, photography

    @@ -249,23 +168,31 @@ more drone photos -]]>
    https://tilde.team/~ben/blog/more-drone-photos.html -https://tilde.team/~ben/blog/./more-drone-photos.html -~ben -Sun, 15 Jul 2018 23:15:46 -0400
    +]]>https://tilde.team/~ben/blog/thought-of-the-day2227.html +https://tilde.team/~ben/blog/./thought-of-the-day2227.html +ben +Tue, 23 Oct 2018 13:04:08 -0400 -tildeverse.org +Thought of the Day 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.

    +

    “Arguing with religious people – It’s 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, quotes

    + + + + + + + + + + -

    among those are gitea and the new link aggregator (which runs the same source as lobste.rs).

    -

    i've also started a phlog in my gopherhole with ~tomasino's new burrow gopherhole tool!

    -

    i'll try to post a bit more often too with updates from the tildeverse!

    -

    Tags: tilde, internet, links, git

    @@ -278,10 +205,84 @@ tildeverse.org -]]>
    https://tilde.team/~ben/blog/tildeverseorg.html -https://tilde.team/~ben/blog/./tildeverseorg.html -~ben -Sun, 15 Jul 2018 23:09:22 -0400
    +]]>https://tilde.team/~ben/blog/thought-of-the-day22873.html +https://tilde.team/~ben/blog/./thought-of-the-day22873.html +ben +Tue, 23 Oct 2018 13:04:08 -0400 + +thought of the day +wherever you go, there you are

    + +

    Tags: thought-of-the-day

    + + + + + + + + + + + + + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/thought-of-the-day27904.html +https://tilde.team/~ben/blog/./thought-of-the-day27904.html +ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +Thought of the day +things are not what they appear to be. nor are they otherwise.

    + +

    Tags: thought-of-the-day

    + + + + + + + + + + + + + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/thought-of-the-day.html +https://tilde.team/~ben/blog/./thought-of-the-day.html +ben +Tue, 23 Oct 2018 13:04:08 -0400
    tilde.team news https://tilde.team/~ben/blog/tildeteam-news.html https://tilde.team/~ben/blog/./tildeteam-news.html ~ben -Wed, 13 Jun 2018 15:07:45 -0400 +Tue, 23 Oct 2018 13:04:08 -0400 -white pride vs black pride +tildeverse.org What White Nationalists Don't Get

    +

    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.

    -

    A common and seemingly reasonable argument for white pride or white nationalism is: why cant I be proud of my culture?

    +

    among those are gitea and the new link aggregator (which runs the same source as lobste.rs).

    -

    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

    +

    i've also started a phlog in my gopherhole with ~tomasino's new burrow gopherhole tool!

    +

    i'll try to post a bit more often too with updates from the tildeverse!

    +

    Tags: tilde, internet, links, git

    @@ -351,378 +344,49 @@ white pride vs black pride -]]>
    https://tilde.team/~ben/blog/white-pride-vs-black-pride.html -https://tilde.team/~ben/blog/./white-pride-vs-black-pride.html +]]>https://tilde.team/~ben/blog/tildeverseorg.html +https://tilde.team/~ben/blog/./tildeverseorg.html ~ben -Wed, 07 Mar 2018 16:49:51 -0500
    +Tue, 23 Oct 2018 13:04:08 -0400 -phoenix +upsides of new dns nameservers inspired by oodsnet, (and my pull request to add darkmode), -i started to create my own tilde.team fork (now forum.tilde.team).

    - -

    the first step was to switch out the css to the tilde.team standard 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 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. 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.

    - -

    the thing that i'm most impressed with is the speed of the erlang runtime :D

    - -

    check out these response times. sub-millisecond!?!?!

    - -

    - -

    give it a look, and join the tilde.team if you want to come hang out!

    - -

    tags: internet, dev

    - - - - - - - +
      +
    • no more google
    • +
    • no more google
    • +
    • automated certbot validation for letsencrypt wildcard certs!! no more manual TXT records every three months!
    • +
    +

    tags: dns, linux, tilde

    -]]>
    https://tilde.team/~ben/blog/phoenix.html -https://tilde.team/~ben/blog/./phoenix.html +]]>https://tilde.team/~ben/blog/upsides-of-new-dns-nameservers.html +https://tilde.team/~ben/blog/./upsides-of-new-dns-nameservers.html ~ben -Mon, 26 Feb 2018 11:57:10 -0500
    +Tue, 23 Oct 2018 13:04:08 -0400 -otm +utterances

    - -

    just heard the latest episode of on the media. this is a super helpful guide i found on their twitter.

    - -

    tags: podcast

    - - - - - - - - +

    i somehow stumbled upon utterances 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. utterances is a commenting system that leverages github issues. so, for example a comment on a post shows up on github like this.

    +

    now we just need to figure out if it can be pointed at a gitea instance like tildegit. might be time for a PR!

    +

    tags: blog

    -]]>
    https://tilde.team/~ben/blog/otm.html -https://tilde.team/~ben/blog/./otm.html +]]>https://tilde.team/~ben/blog/utterances.html +https://tilde.team/~ben/blog/./utterances.html ~ben -Thu, 15 Feb 2018 13:33:16 -0500
    - -quote of the day -Be Alert! - the world needs more Lerts.

    - -

    Tags: quotes

    - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/quote-of-the-day.html -https://tilde.team/~ben/blog/./quote-of-the-day.html -~ben -Tue, 13 Feb 2018 09:55:06 -0500
    - -webassembly -according to this post 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.

    - - - - - -

    this will make so many things possible in the browser that never were before!

    - -

    i decided to follow this tutorial and ended up with this.

    - -

    i don't know what to do next. any ideas?

    - -

    Tags: wasm, dev, internet

    - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/webassembly.html -https://tilde.team/~ben/blog/./webassembly.html -~ben -Wed, 17 Jan 2018 13:09:13 -0500
    - -pop quiz -is this real?

    - -

    4k witcher 3

    - -

    hint: it's not. it's the witcher 3. and it looks like a real place.

    - -

    Tags: 4k-gaming, gaming, gtx1080ti, pc-master-race

    - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/pop-quiz.html -https://tilde.team/~ben/blog/./pop-quiz.html -~ben -Tue, 16 Jan 2018 17:26:40 -0500
    - -git remotes with ssh aliases -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, ssh

    - - - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/git-remotes-with-ssh-aliases.html -https://tilde.team/~ben/blog/./git-remotes-with-ssh-aliases.html -ben -Fri, 12 Jan 2018 13:30:26 -0500
    - -cold -why is it so cold

    - -

    - -

    i'm so done with winter

    - -

    tags: cold, weather, winter, snow

    - - - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/cold.html -https://tilde.team/~ben/blog/./cold.html -ben -Fri, 05 Jan 2018 09:49:42 -0500
    - -8values -not that i'm very surprised by this, but i took the quiz again (after losing my results url) and got these results.

    - -

    - -

    take the quiz here

    - -

    my results again as a link

    - -

    tags: 8values, ideology, politics

    - - - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/8values.html -https://tilde.team/~ben/blog/./8values.html -ben -Wed, 03 Jan 2018 12:41:09 -0500
    - -mastodon -hi everyone.

    - -

    i started hosting a mastodon instance at social.tilde.team.

    - -

    check it out if you want some federated open source social goodness :)

    - -

    send me a toot @ben@tilde.team (from any mastodon instance!)

    - -

    thanks!

    - -

    tags: social-networks, mastodon, tilde

    - - - - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/mastodon.html -https://tilde.team/~ben/blog/./mastodon.html -ben -Fri, 22 Dec 2017 16:28:45 -0500
    - -loading... - -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

    - -

    tags: jokes, humor

    - - - - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/loading.html -https://tilde.team/~ben/blog/./loading.html -ben -Thu, 21 Dec 2017 16:09:45 -0500
    +Tue, 23 Oct 2018 13:04:08 -0400 vr https://tilde.team/~ben/blog/vr.html https://tilde.team/~ben/blog/./vr.html ben -Mon, 18 Dec 2017 13:36:04 -0500 +Tue, 23 Oct 2018 13:04:08 -0400 -net neutrality vote today +webassembly 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 -(the shortcut John Oliver made to the hard-to-find FCC comment page)
    2. -
    3. Click on the 17-108 link (Restoring Internet Freedom)
    4. -
    5. Click on "express"
    6. -
    7. Be sure to hit "ENTER" after you put in your name & info so it registers.
    8. -
    9. In the comment section write, "I strongly support net neutrality backed by Title 2 oversight of ISPs."
    10. -
    11. Click to submit, done. - Make sure you hit submit at the end!
    12. -
    - -

    Copy and paste this into your own status update! -Seriously, this is simple and so important. Do it.

    - -

    tags: net-neutrality, internet

    - - - - - +

    according to this post 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.

    + + +

    this will make so many things possible in the browser that never were before!

    +

    i decided to follow this tutorial and ended up with this.

    +

    i don't know what to do next. any ideas?

    +

    Tags: wasm, dev, internet

    @@ -815,145 +466,10 @@ Seriously, this is simple and so important. Do it.

    -]]>
    https://tilde.team/~ben/blog/net-neutrality-vote-today.html -https://tilde.team/~ben/blog/./net-neutrality-vote-today.html -ben -Thu, 14 Dec 2017 06:26:55 -0500
    - -hey dere bub! -if you haven't checked it out yet, give my new podcast a listen!

    - -

    heyderebub logo

    - -

    episode 5 was uploaded today.

    - -
    -]]>
    https://tilde.team/~ben/blog/hey-dere-bub.html -https://tilde.team/~ben/blog/./hey-dere-bub.html -ben -Wed, 13 Dec 2017 19:12:51 -0500
    - -pan galactic gargle blaster -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, hhgtg

    - - - - - - - - - - - - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/pan-galactic-gargle-blaster.html -https://tilde.team/~ben/blog/./pan-galactic-gargle-blaster.html -ben -Thu, 07 Dec 2017 16:41:40 -0500
    - -don't be a coconut - -

    i've got nothing to say -don't be a coconut

    - - -

    Ask Me Anything - The Strokes (on First Impressions of Earth)

    - -

    tags: music, lyrics, words

    - - - - - - - - - - - - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/dont-be-a-coconut.html -https://tilde.team/~ben/blog/./dont-be-a-coconut.html -ben -Tue, 05 Dec 2017 13:25:47 -0500
    - -thought of the day -everything in the universe either is or isn't a potato.

    - -

    Tags: thought-of-the-day, words

    - - - - - - - - - - - - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/thought-of-the-day2227.html -https://tilde.team/~ben/blog/./thought-of-the-day2227.html -ben -Sun, 03 Dec 2017 13:47:36 -0500
    +]]>https://tilde.team/~ben/blog/webassembly.html +https://tilde.team/~ben/blog/./webassembly.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400 where to find me elsewhere on the web https://tilde.team/~ben/blog/where-to-find-me-elsewhere-on-the-web.html https://tilde.team/~ben/blog/./where-to-find-me-elsewhere-on-the-web.html ben -Tue, 28 Nov 2017 16:22:42 -0500 +Tue, 23 Oct 2018 13:04:08 -0400 -blog update +white pride vs black pride sorry for the blast of posts. i recreated them from a wordpress blog on motd.org.

    +

    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

    + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/white-pride-vs-black-pride.html +https://tilde.team/~ben/blog/./white-pride-vs-black-pride.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +4k gaming with a 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, pc-master-race, gtx1080ti

    + + -

    i plan on posting some random thoughts here from time to time. thanks for checking in.

    -

    tags: blog, update

    @@ -1037,26 +613,23 @@ blog update -]]>
    https://tilde.team/~ben/blog/blog-update.html -https://tilde.team/~ben/blog/./blog-update.html -ben -Mon, 27 Nov 2017 20:48:10 -0500
    +]]>https://tilde.team/~ben/blog/4k-gaming-with-a-gtx1080ti.html +https://tilde.team/~ben/blog/./4k-gaming-with-a-gtx1080ti.html +tildeman +Tue, 23 Oct 2018 13:04:08 -0400 -thought of the day +8values wherever you go, there you are

    - -

    Tags: thought-of-the-day

    - - - - - +

    not that i'm very surprised by this, but i took the quiz again (after losing my results url) and got these results.

    +

    +

    take the quiz here

    +

    my results again as a link

    +

    tags: 8values, ideology, politics

    @@ -1074,10 +647,10 @@ thought of the day -]]>
    https://tilde.team/~ben/blog/thought-of-the-day27904.html -https://tilde.team/~ben/blog/./thought-of-the-day27904.html +]]>https://tilde.team/~ben/blog/8values.html +https://tilde.team/~ben/blog/./8values.html ben -Mon, 27 Nov 2017 16:58:50 -0500
    +Tue, 23 Oct 2018 13:04:08 -0400 antiwitze https://tilde.team/~ben/blog/antiwitze.html https://tilde.team/~ben/blog/./antiwitze.html ben -Mon, 27 Nov 2017 16:58:17 -0500 +Tue, 23 Oct 2018 13:04:08 -0400 -thought of the day +bashblog and your gopherhole why do they tell us to use the stairs in case of fire? shouldn't we be using a fire extinguisher?

    +

    i've created a repo for the tilde.team customizations to bashblog.

    -

    Tags: thought-of-the-day

    +

    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, blog

    + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/bashblog-and-your-gopherhole.html +https://tilde.team/~ben/blog/./bashblog-and-your-gopherhole.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +blog update +sorry for the blast of posts. i recreated them from a wordpress blog on motd.org.

    + +

    i plan on posting some random thoughts here from time to time. thanks for checking in.

    + +

    tags: blog, update

    @@ -1156,84 +758,10 @@ thought of the day -]]>
    https://tilde.team/~ben/blog/thought-of-the-day14302.html -https://tilde.team/~ben/blog/./thought-of-the-day14302.html +]]>https://tilde.team/~ben/blog/blog-update.html +https://tilde.team/~ben/blog/./blog-update.html ben -Mon, 27 Nov 2017 16:56:36 -0500
    - -Nonsense -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 doesn’t take rocket appliances to get two birds stoned at once. It’s 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 mother’s mating name that when you put the petal to the medal you will pass with flying carpets like it’s a peach of cake.

    - -

    tags: nonsense, words

    - - - - - - - - - - - - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/nonsense.html -https://tilde.team/~ben/blog/./nonsense.html -ben -Mon, 27 Nov 2017 16:55:29 -0500
    - -Thought of the Day -“Arguing with religious people – It’s 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, quotes

    - - - - - - - - - - - - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/thought-of-the-day22873.html -https://tilde.team/~ben/blog/./thought-of-the-day22873.html -ben -Mon, 27 Nov 2017 16:54:07 -0500
    +Tue, 23 Oct 2018 13:04:08 -0400 Christian Morgenstern – “verkehrte Welt” ]]>https://tilde.team/~ben/blog/christian-morgenstern---verkehrte-welt.html https://tilde.team/~ben/blog/./christian-morgenstern---verkehrte-welt.html ben -Mon, 27 Nov 2017 16:52:49 -0500 +Tue, 23 Oct 2018 13:04:08 -0400 -Joe on Sporty-ball-z +cold For every nerd calling something sportsball there needs to be a jock that walks into a library and yells “WHAT’S UP WITH ALL THESE WORD BURGERS”

    +

    why is it so cold

    -

    Tags: thought-of-the-day, quotes

    +

    + +

    i'm so done with winter

    + +

    tags: cold, weather, winter, snow

    + + + + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/cold.html +https://tilde.team/~ben/blog/./cold.html +ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +dns shenanigans post-mortem +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 responded +with namesilo. 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, sysadmin, tilde, dns

    + + + + + + +]]>
    https://tilde.team/~ben/blog/dns-shenanigans-post-mortem.html +https://tilde.team/~ben/blog/./dns-shenanigans-post-mortem.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +don't be a coconut + +

    i've got nothing to say +don't be a coconut

    + + +

    Ask Me Anything - The Strokes (on First Impressions of Earth)

    + +

    tags: music, lyrics, words

    @@ -1362,10 +974,38 @@ Joe on Sporty-ball-z -]]>
    https://tilde.team/~ben/blog/joe-on-sporty-ball-z.html -https://tilde.team/~ben/blog/./joe-on-sporty-ball-z.html +]]>https://tilde.team/~ben/blog/dont-be-a-coconut.html +https://tilde.team/~ben/blog/./dont-be-a-coconut.html ben -Mon, 27 Nov 2017 16:51:42 -0500
    +Tue, 23 Oct 2018 13:04:08 -0400 + +dotfiles +finally got around to updating my dotfiles to use gnu stow. +i adapted ~tomasino's 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, dotfiles, git

    + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/dotfiles.html +https://tilde.team/~ben/blog/./dotfiles.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400
    fun words in german https://tilde.team/~ben/blog/fun-words-in-german.html https://tilde.team/~ben/blog/./fun-words-in-german.html ben -Mon, 27 Nov 2017 16:50:40 -0500 +Tue, 23 Oct 2018 13:04:08 -0400 -Thought of the day +git remotes with ssh aliases things are not what they appear to be. nor are they otherwise.

    - -

    Tags: thought-of-the-day

    +

    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, ssh

    @@ -1440,49 +1096,25 @@ Thought of the day -]]>
    https://tilde.team/~ben/blog/thought-of-the-day.html -https://tilde.team/~ben/blog/./thought-of-the-day.html +]]>https://tilde.team/~ben/blog/git-remotes-with-ssh-aliases.html +https://tilde.team/~ben/blog/./git-remotes-with-ssh-aliases.html ben -Mon, 27 Nov 2017 16:49:29 -0500
    +Tue, 23 Oct 2018 13:04:08 -0400 -links to save for later +hey dere bub! cool pics -gatsby ssg -tachyons

    +

    if you haven't checked it out yet, give my new podcast a listen!

    -

    tags: links, bookmarks, save-for-later

    +

    heyderebub logo

    +

    episode 5 was uploaded today.

    - - - - - - - - - - - - - - - - - - - - - - - - -]]>
    https://tilde.team/~ben/blog/links-to-save-for-later.html -https://tilde.team/~ben/blog/./links-to-save-for-later.html +
    +]]>https://tilde.team/~ben/blog/hey-dere-bub.html +https://tilde.team/~ben/blog/./hey-dere-bub.html ben -Fri, 20 Oct 2017 16:18:28 -0400
    +Tue, 23 Oct 2018 13:04:08 -0400 hi there https://tilde.team/~ben/blog/hi-there.html https://tilde.team/~ben/blog/./hi-there.html tildeman -Mon, 02 Oct 2017 16:11:13 -0400 +Tue, 23 Oct 2018 13:04:08 -0400 -4k gaming with a gtx1080ti +italy 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.

    +

    i just got back from a 10-day backpacking trip to italy and i'd like to share some of the photos i took!

    -

    some of the other games that i'm looking forward to exploring more of in 4k are:

    +

    the travel plan was rome -> venice -> florence -> naples -> pompei/vesuvius -> capri -> amalfi

    -
      -
    • 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, pc-master-race, gtx1080ti

    +

    this is the roman forum (with colosseum in the background) as seen from the palatine.

    +

    +
    +]]>
    https://tilde.team/~ben/blog/italy.html +https://tilde.team/~ben/blog/./italy.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +Joe on Sporty-ball-z +For every nerd calling something sportsball there needs to be a jock that walks into a library and yells “WHAT’S UP WITH ALL THESE WORD BURGERS”

    +

    Tags: thought-of-the-day, quotes

    @@ -1589,8 +1213,452 @@ hi there -]]>
    https://tilde.team/~ben/blog/4k-gaming-with-a-gtx1080ti.html -https://tilde.team/~ben/blog/./4k-gaming-with-a-gtx1080ti.html -tildeman -Mon, 02 Oct 2017 16:09:26 -0400
    +]]>https://tilde.team/~ben/blog/joe-on-sporty-ball-z.html +https://tilde.team/~ben/blog/./joe-on-sporty-ball-z.html +ben +Tue, 23 Oct 2018 13:04:08 -0400 + +links to save for later +cool pics +gatsby ssg +tachyons

    + +

    tags: links, bookmarks, save-for-later

    + + + + + + + + + + + + + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/links-to-save-for-later.html +https://tilde.team/~ben/blog/./links-to-save-for-later.html +ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +loading... + +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

    + +

    tags: jokes, humor

    + + + + + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/loading.html +https://tilde.team/~ben/blog/./loading.html +ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +lxd networking and additional IPs +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 or email if you have experience with this.

    + +

    tags: linux, sysadmin, ubuntu

    + + + + + + +]]>
    https://tilde.team/~ben/blog/lxd-networking-and-additional-ips.html +https://tilde.team/~ben/blog/./lxd-networking-and-additional-ips.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +mastodon +hi everyone.

    + +

    i started hosting a mastodon instance at social.tilde.team.

    + +

    check it out if you want some federated open source social goodness :)

    + +

    send me a toot @ben@tilde.team (from any mastodon instance!)

    + +

    thanks!

    + +

    tags: social-networks, mastodon, tilde

    + + + + + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/mastodon.html +https://tilde.team/~ben/blog/./mastodon.html +ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +more drone photos +i finally got my drone out this summer to take some more pics!

    + +

    + +

    more here

    + +

    tags: dji, drone, photography

    + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/more-drone-photos.html +https://tilde.team/~ben/blog/./more-drone-photos.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +net neutrality vote today +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 +(the shortcut John Oliver made to the hard-to-find FCC comment page)
    2. +
    3. Click on the 17-108 link (Restoring Internet Freedom)
    4. +
    5. Click on "express"
    6. +
    7. Be sure to hit "ENTER" after you put in your name & info so it registers.
    8. +
    9. In the comment section write, "I strongly support net neutrality backed by Title 2 oversight of ISPs."
    10. +
    11. Click to submit, done. - Make sure you hit submit at the end!
    12. +
    + +

    Copy and paste this into your own status update! +Seriously, this is simple and so important. Do it.

    + +

    tags: net-neutrality, internet

    + + + + + + + + + + + + + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/net-neutrality-vote-today.html +https://tilde.team/~ben/blog/./net-neutrality-vote-today.html +ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +no more google +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:

    + + + +

    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, net-neutrality

    + + + + + + +]]>
    https://tilde.team/~ben/blog/no-more-google.html +https://tilde.team/~ben/blog/./no-more-google.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +Nonsense +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 doesn’t take rocket appliances to get two birds stoned at once. It’s 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 mother’s mating name that when you put the petal to the medal you will pass with flying carpets like it’s a peach of cake.

    + +

    tags: nonsense, words

    + + + + + + + + + + + + + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/nonsense.html +https://tilde.team/~ben/blog/./nonsense.html +ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +otm +

    + +

    just heard the latest episode of on the media. this is a super helpful guide i found on their twitter.

    + +

    tags: podcast

    + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/otm.html +https://tilde.team/~ben/blog/./otm.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +pan galactic gargle blaster +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, hhgtg

    + + + + + + + + + + + + + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/pan-galactic-gargle-blaster.html +https://tilde.team/~ben/blog/./pan-galactic-gargle-blaster.html +ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +phoenix +inspired by oodsnet, (and my pull request to add darkmode), +i started to create my own tilde.team fork (now forum.tilde.team).

    + +

    the first step was to switch out the css to the tilde.team standard 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 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. 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.

    + +

    the thing that i'm most impressed with is the speed of the erlang runtime :D

    + +

    check out these response times. sub-millisecond!?!?!

    + +

    + +

    give it a look, and join the tilde.team if you want to come hang out!

    + +

    tags: internet, dev

    + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/phoenix.html +https://tilde.team/~ben/blog/./phoenix.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400
    + +pop quiz +is this real?

    + +

    4k witcher 3

    + +

    hint: it's not. it's the witcher 3. and it looks like a real place.

    + +

    Tags: 4k-gaming, gaming, gtx1080ti, pc-master-race

    + + + + + + + + + + + + + + + +]]>
    https://tilde.team/~ben/blog/pop-quiz.html +https://tilde.team/~ben/blog/./pop-quiz.html +~ben +Tue, 23 Oct 2018 13:04:08 -0400
    diff --git a/blog/index.html b/blog/index.html index 151e2c4..08ce816 100644 --- a/blog/index.html +++ b/blog/index.html @@ -24,260 +24,326 @@
    a blog about tildes and other things
    -

    -italy +

    +proactive redundancy

    - -
    September 20, 2018 — + +
    November 15, 2018 — ~ben
    -

    i just got back from a 10-day backpacking trip to italy and i'd like to share some of the photos i took!

    +

    after the fiasco 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 travel plan was rome -> venice -> florence -> naples -> pompei/vesuvius -> capri -> amalfi

    +

    the first thing that i set up was a handful of additional ircd nodes: see the tilde.chat wiki 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.

    -

    this is the roman forum (with colosseum in the background) as seen from the palatine.

    +

    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 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. 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).

    -

    read more...

    -

    -utterances +

    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.

    + +

    i'd like to consider at least this risk to be mitigated.

    + +

    thanks for reading,

    + +

    ~ben

    + +

    tags: sysadmin, tilde

    + +

    +november 13 post mortem

    - -
    September 05, 2018 — + +
    November 13, 2018 — ~ben
    -

    i somehow stumbled upon utterances today at lunch. (i think someone had it forked on their github page).

    +

    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 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 (#!, ~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.

    + +

    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 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 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, linux, sysadmin

    + +

    +quote of the day +

    + +
    February 13, 2018 — +~ben +
    + + +

    Be Alert! - the world needs more Lerts.

    + +

    Tags: quotes

    + + + + + + + + -

    no matter how i found it, i still decided to add it to my blog here with bashblog. utterances is a commenting system that leverages github issues. so, for example a comment on a post shows up on github like this.

    -

    now we just need to figure out if it can be pointed at a gitea instance like tildegit. might be time for a PR!

    -

    tags: blog

    -

    -no more google +

    +thought of the day

    - -
    August 14, 2018 — + +
    November 27, 2017 — +ben +
    + + +

    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

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +thought of the day +

    + +
    December 03, 2017 — +ben +
    + + +

    everything in the universe either is or isn't a potato.

    + +

    Tags: thought-of-the-day, words

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Thought of the Day +

    + +
    November 27, 2017 — +ben +
    + + +

    “Arguing with religious people – It’s 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, quotes

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +thought of the day +

    + +
    November 27, 2017 — +ben +
    + + +

    wherever you go, there you are

    + +

    Tags: thought-of-the-day

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Thought of the day +

    + +
    November 27, 2017 — +ben +
    + + +

    things are not what they appear to be. nor are they otherwise.

    + +

    Tags: thought-of-the-day

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +tilde.team news +

    + +
    June 13, 2018 — ~ben
    -

    not sure if this is appropriately tagged, but i didn't feel like making a new -one.

    +

    hey hi hello!

    -

    i figured i should probably get some notes down about moving off google.

    +

    it seems that i haven't written anything on my blog in quite a while...

    -

    to start, i'll get a list of the things i was able to easily replace:

    +

    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:

    -

    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, net-neutrality

    - - - - - - -

    -upsides of new dns nameservers -

    - -
    August 14, 2018 — -~ben -
    - - -
      -
    • no more google
    • -
    • no more google
    • -
    • automated certbot validation for letsencrypt wildcard certs!! no more manual TXT records every three months!
    • -
    - -

    tags: dns, linux, tilde

    - - - - - - -

    -dns shenanigans post-mortem -

    - -
    August 14, 2018 — -~ben -
    - - -

    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 responded -with namesilo. 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, sysadmin, tilde, dns

    - - - - - - -

    -lxd networking and additional IPs -

    - -
    July 26, 2018 — -~ben -
    - - -

    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 or email if you have experience with this.

    - -

    tags: linux, sysadmin, ubuntu

    - - - - - - -

    -dotfiles -

    - -
    July 22, 2018 — -~ben -
    - - -

    finally got around to updating my dotfiles to use gnu stow. -i adapted ~tomasino's 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, dotfiles, git

    - - - - - - - - - - - - -

    -bashblog and your gopherhole -

    - -
    July 22, 2018 — -~ben -
    - - -

    i've created a repo for the tilde.team customizations to 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, blog

    - - - - - - - - - - - - -

    -more drone photos -

    - -
    July 15, 2018 — -~ben -
    - - -

    i finally got my drone out this summer to take some more pics!

    - -

    - -

    more here

    - -

    tags: dji, drone, photography

    - - - - - - - +

    i'd like to make use of our new mailserver, so shoot me some mail. +i never get enough personal mail. it's all still privacy policy update notices. :(

    +

    see you soon!

    +

    tags: tilde, sysadmin

    diff --git a/blog/november-13-post-mortem.html b/blog/november-13-post-mortem.html new file mode 100644 index 0000000..39b57b5 --- /dev/null +++ b/blog/november-13-post-mortem.html @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + +november 13 post mortem + +
    + +
    +
    +
    +

    blog // ~ben

    +
    a blog about tildes and other things
    +
    +
    + +

    +november 13 post mortem +

    + +
    November 13, 2018 — +~ben +
    + + +

    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 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 (#!, ~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.

    + +

    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 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 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, linux, sysadmin

    + + +
    + +
    + + +
    +
    + diff --git a/blog/november-13-post-mortem.md b/blog/november-13-post-mortem.md new file mode 100644 index 0000000..420a09e --- /dev/null +++ b/blog/november-13-post-mortem.md @@ -0,0 +1,31 @@ +november 13 post mortem + +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, linux, sysadmin diff --git a/blog/proactive-redundancy.html b/blog/proactive-redundancy.html new file mode 100644 index 0000000..4e6f3c0 --- /dev/null +++ b/blog/proactive-redundancy.html @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + +proactive redundancy + +
    + +
    +
    +
    +

    blog // ~ben

    +
    a blog about tildes and other things
    +
    +
    + +

    +proactive redundancy +

    + +
    November 15, 2018 — +~ben +
    + + +

    after the fiasco 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 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 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. 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.

    + +

    i'd like to consider at least this risk to be mitigated.

    + +

    thanks for reading,

    + +

    ~ben

    + +

    tags: sysadmin, tilde

    + + +
    + +
    + + +
    +
    + diff --git a/blog/proactive-redundancy.md b/blog/proactive-redundancy.md new file mode 100644 index 0000000..4adc900 --- /dev/null +++ b/blog/proactive-redundancy.md @@ -0,0 +1,23 @@ +proactive redundancy + +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 + + +tags: sysadmin, tilde diff --git a/blog/tag_linux.html b/blog/tag_linux.html index 8bdf2a6..9d022b8 100644 --- a/blog/tag_linux.html +++ b/blog/tag_linux.html @@ -24,41 +24,45 @@
    a blog about tildes and other things

    -

    -no more google +

    +november 13 post mortem

    - -
    August 14, 2018 — + +
    November 13, 2018 — ~ben
    -

    not sure if this is appropriately tagged, but i didn't feel like making a new -one.

    +

    we had something of an outage on november 13, 2018 on tilde.team.

    -

    i figured i should probably get some notes down about moving off google.

    +

    i awoke, not suspecting anything to be amiss. as soon as i logged in to check my email and irc mentions, it became clear.

    -

    to start, i'll get a list of the things i was able to easily replace:

    +

    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.

    +
    -

    i'm still using:

    +

    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.

    -
      -
    • 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
    • -
    +

    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 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!

    -

    tags: linux, net-neutrality

    +

    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 (#!, ~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.

    +

    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 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 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, linux, sysadmin

    upsides of new dns nameservers @@ -129,35 +133,6 @@ as soon as it all propagates through the fickle beast that is dns.

    - -

    -lxd networking and additional IPs -

    - -
    July 26, 2018 — -~ben -
    - - -

    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 or email if you have experience with this.

    - -

    tags: linux, sysadmin, ubuntu

    - - - - -

    dotfiles @@ -231,6 +206,71 @@ tildeman + + + + + + +

    +lxd networking and additional IPs +

    + +
    July 26, 2018 — +~ben +
    + + +

    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 or email if you have experience with this.

    + +

    tags: linux, sysadmin, ubuntu

    + + + + + + +

    +no more google +

    + +
    August 14, 2018 — +~ben +
    + + +

    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:

    + + + +

    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, net-neutrality

    diff --git a/blog/tag_post-mortem.html b/blog/tag_post-mortem.html new file mode 100644 index 0000000..e7817d2 --- /dev/null +++ b/blog/tag_post-mortem.html @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + +blog // ~ben — posts tagged "post-mortem" + +
    + +
    +
    +
    +

    blog // ~ben

    +
    a blog about tildes and other things
    +
    +
    +

    +november 13 post mortem +

    + +
    November 13, 2018 — +~ben +
    + + +

    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 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 (#!, ~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.

    + +

    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 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 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, linux, sysadmin

    + +
    + +
    + + +
    +
    + diff --git a/blog/tag_sysadmin.html b/blog/tag_sysadmin.html index 22a4602..cc047c1 100644 --- a/blog/tag_sysadmin.html +++ b/blog/tag_sysadmin.html @@ -24,6 +24,113 @@
    a blog about tildes and other things

    +

    +proactive redundancy +

    + +
    November 15, 2018 — +~ben +
    + + +

    after the fiasco 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 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 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. 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.

    + +

    i'd like to consider at least this risk to be mitigated.

    + +

    thanks for reading,

    + +

    ~ben

    + +

    tags: sysadmin, tilde

    + +

    +november 13 post mortem +

    + +
    November 13, 2018 — +~ben +
    + + +

    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 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 (#!, ~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.

    + +

    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 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 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, linux, sysadmin

    + +

    +tilde.team news +

    + +
    June 13, 2018 — +~ben +
    + + +

    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:

    + + + +

    i'd like to make use of our new mailserver, so shoot me some mail. +i never get enough personal mail. it's all still privacy policy update notices. :(

    + +

    see you soon!

    + +

    tags: tilde, sysadmin

    + + +

    dns shenanigans post-mortem

    @@ -71,72 +178,6 @@ as soon as it all propagates through the fickle beast that is dns.

    - -

    -lxd networking and additional IPs -

    - -
    July 26, 2018 — -~ben -
    - - -

    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 or email if you have experience with this.

    - -

    tags: linux, sysadmin, ubuntu

    - - - - - - -

    -tilde.team news -

    - -
    June 13, 2018 — -~ben -
    - - -

    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:

    - - - -

    i'd like to make use of our new mailserver, so shoot me some mail. -i never get enough personal mail. it's all still privacy policy update notices. :(

    - -

    see you soon!

    - -

    tags: tilde, sysadmin

    - -

    hi there @@ -181,6 +222,35 @@ tildeman + + + + + + +

    +lxd networking and additional IPs +

    + +
    July 26, 2018 — +~ben +
    + + +

    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 or email if you have experience with this.

    + +

    tags: linux, sysadmin, ubuntu

    diff --git a/blog/tag_tilde.html b/blog/tag_tilde.html index 79e272a..4f85b1b 100644 --- a/blog/tag_tilde.html +++ b/blog/tag_tilde.html @@ -24,6 +24,73 @@
    a blog about tildes and other things

    +

    +proactive redundancy +

    + +
    November 15, 2018 — +~ben +
    + + +

    after the fiasco 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 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 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. 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.

    + +

    i'd like to consider at least this risk to be mitigated.

    + +

    thanks for reading,

    + +

    ~ben

    + +

    tags: sysadmin, tilde

    + +

    +tilde.team news +

    + +
    June 13, 2018 — +~ben +
    + + +

    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:

    + + + +

    i'd like to make use of our new mailserver, so shoot me some mail. +i never get enough personal mail. it's all still privacy policy update notices. :(

    + +

    see you soon!

    + +

    tags: tilde, sysadmin

    + + +

    upsides of new dns nameservers

    @@ -45,6 +112,34 @@ upsides of new dns nameservers + +

    +bashblog and your gopherhole +

    + +
    July 22, 2018 — +~ben +
    + + +

    i've created a repo for the tilde.team customizations to 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, blog

    + + + + + + + + + + +

    dns shenanigans post-mortem @@ -93,109 +188,6 @@ as soon as it all propagates through the fickle beast that is dns.

    - -

    -bashblog and your gopherhole -

    - -
    July 22, 2018 — -~ben -
    - - -

    i've created a repo for the tilde.team customizations to 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, blog

    - - - - - - - - - - - - -

    -tilde.team news -

    - -
    June 13, 2018 — -~ben -
    - - -

    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:

    - - - -

    i'd like to make use of our new mailserver, so shoot me some mail. -i never get enough personal mail. it's all still privacy policy update notices. :(

    - -

    see you soon!

    - -

    tags: tilde, sysadmin

    - - - -

    -mastodon -

    - -
    December 22, 2017 — -ben -
    - - -

    hi everyone.

    - -

    i started hosting a mastodon instance at social.tilde.team.

    - -

    check it out if you want some federated open source social goodness :)

    - -

    send me a toot @ben@tilde.team (from any mastodon instance!)

    - -

    thanks!

    - -

    tags: social-networks, mastodon, tilde

    - - - - - - - - - - - - - - - - -

    hi there @@ -236,6 +228,44 @@ tildeman + + + + + + + + + + +

    +mastodon +

    + +
    December 22, 2017 — +ben +
    + + +

    hi everyone.

    + +

    i started hosting a mastodon instance at social.tilde.team.

    + +

    check it out if you want some federated open source social goodness :)

    + +

    send me a toot @ben@tilde.team (from any mastodon instance!)

    + +

    thanks!

    + +

    tags: social-networks, mastodon, tilde

    + + + + + + + + diff --git a/sshpubkey.txt b/sshpubkey.txt new file mode 100644 index 0000000..38799f9 --- /dev/null +++ b/sshpubkey.txt @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC0Sf4AJXVn1CKWLPTXoV+bi3LNTGrGDPjWNGnJsIC11frQxDH1D4MM72WBTTERjT2ZpV48sZaPrmeQj960n7RxQAwoE0sDBMO4aKs3TXtaAY+RJarVSRPP3beo6ELONYRvdymnNPOxInWAzsPPjunZ0ufQDUt6Iyy+hTb7FsNgq4A736CxMb4oGSP/AT2Yfb0jUX0vtCxvgQC2T0oYrj8OInv8Qu0/0I0YQErZlkUO92b47B39hMxAIeTX2+0M0g8M5nJAc05gK6eoq27amysXsSm8aM/5ikY1Z4mabfAFtXzxsdFNzQ2TYCqbEnXUr5tTLyjfGYkSd97pbJtaaDBC+NAfX5m8QmrgG/5Ad9dlQH6g5JLng7yeRJYfzTlVW2gvmMnrAplHjCEIwCO0LA4zotzs6XkVrxQDmj2VGDdyFu4Z8fv9Ruf0lCE8PG03TnX7yJiE9RtT6KX3m+12xr71rdfVONRuZVkQlPlGKllGLQ7ZM5QJ2aVPDI1s2ZHFF9bm8lzg8u49KEmAJZpZPm+wc1b43inuiN/ftcl7oe1ZIxilUmJXaG74xbhfLSZa+S93WryhZ9cjoSy9p3q0QmZZh2ePSNyc6R3xJQnPjDozpJ0D3CRVeGJomGHS2E8wrHtWs5L2q0A3CjlVaducD1M2MgnQNEDmiKVob1utOKwrLw== openpgp:0x2206A906