wowana.me

website source


commit 74adaa64a819ebd139fc7dcc3f0f1956e56e708a
parent 6104d647cc477fd9197ffc07e55dee16dea54b9e
Author: opal hart <opal@wowana.me>
Date:   Thu,  9 May 2019 19:28:30 +0000

add timestamps to blog sources

also recover one article I originally only had the html source for

Diffstat:
Msrc/blog/a-musing-on-sharing-and-receiving-opinions.md | 1+
Msrc/blog/a-new-era-for-hidden-answers.md | 1+
Msrc/blog/acme-client-letskencrypt-dns-01-how-to.md | 81+++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/blog/are-passwords-the-right-solution.md | 1+
Msrc/blog/chen-hosting-goals-and-difficulties.md | 1+
Msrc/blog/learning-how-to-learn.md | 1+
Msrc/blog/my-and-your-pgp-habits-could-be-better.md | 1+
Msrc/blog/paving-the-road-for-the-future-of-technology.md | 1+
Msrc/blog/site-update.md | 1+
Msrc/blog/testing-patches-made-to-bashblog-script.md | 1+
Msrc/blog/the-grey-area-of-paedophilia.md | 1+
Msrc/blog/trying-new-software.md | 1+
Msrc/blog/why-i-no-longer-use-github.md | 1+
Asrc/blog/why-program-efficiency-and-usability-matters.md | 45+++++++++++++++++++++++++++++++++++++++++++++
14 files changed, 97 insertions(+), 41 deletions(-)

diff --git a/src/blog/a-musing-on-sharing-and-receiving-opinions.md b/src/blog/a-musing-on-sharing-and-receiving-opinions.md @@ -1,4 +1,5 @@ # a musing on sharing and receiving opinions +<!--[time 201809241140.36]--> from [my fediverse post](https://anime.website/notice/1098692): > am i perfect? no, far from it. i go out of my way to be an edgy fuck more than enough, i am quick to resort to namecalling, but overall i feel like i'm a reasonable person if you can look past that. while some people use edginess/insults to carry out their "race war now" politics, i simply use it because i'm used to it, i don't take offence to it when it's used against me, and i believe (to a fault) in "treat others how you want to be treated." diff --git a/src/blog/a-new-era-for-hidden-answers.md b/src/blog/a-new-era-for-hidden-answers.md @@ -1,4 +1,5 @@ # a new era for Hidden Answers +<!--[time 201804130055.08]--> this post is specifically for users of the Hidden Answers website. if you don't know what it is, this probably isn't worth reading. still, curious people who want to help out with the website are welcome to [contact me](/contact); any help is appreciated. diff --git a/src/blog/acme-client-letskencrypt-dns-01-how-to.md b/src/blog/acme-client-letskencrypt-dns-01-how-to.md @@ -1,4 +1,5 @@ # acme-client (letskencrypt) dns-01 how-to +<!--[time 201809211645.46]--> I just spent half my day literally yelling at the screen trying to figure out how to use [acme-client](https://kristaps.bsd.lv/acme-client) (formally known as letskencrypt) for dns-01 challenges. there's no examples in the man page, none online, and the source code didn't help much. @@ -10,46 +11,44 @@ anyway, after digging through an issue on github and dehydrated's source, I fina I use mksh, but with a bit of editing you can translate it to POSIX sh, or just replace the shebang with bash. as you can see, I didn't really place much effort into making this pretty; I just wanted it to work. -``` -#!/bin/mksh - -domains=( - 'anime.website anime.website' - 'krustykrab.restaurant bfbb.krustykrab.restaurant' - 'gentoo.today gentoo.today install.gentoo.today' - 'volatile.bz git.volatile.bz' - 'krustykrab.restaurant krustykrab.restaurant' - # ... -) -nsupdate_key=/etc/bind/ddns.key - -for line in "${domains[@]}"; do - zone=`cut -f1 <<<"$line"` - domainlist=`cut -f2 <<<"$line"` - echo "Updating '$domainlist' in $zone" - pemdir=/mnt/certs/`cut -d' ' -f1 <<<"$domainlist"` - mkdir -p $pemdir - acme-client -vnNmt dns-01 -c $pemdir -k $pemdir/privkey.pem $domainlist |& - while read -p type domain token; do - keyauth=`printf '%s' "$token" | openssl dgst -sha256 -binary | base64 | tr '+\/' '-_' | tr -d '='` - nsupdate -4l -k $nsupdate_key <<-EOF - zone $zone - update delete _acme-challenge.$domain TXT - update add _acme-challenge.$domain 60 TXT $keyauth - send - EOF - wait 10 - print -p "$type $domain $token" - done - wait - for domain in `echo $domainlist`; do - nsupdate -4l -k $nsupdate_key <<-EOF - zone $zone - update delete _acme-challenge.$domain TXT - send - EOF - done -done > /var/log/acme.log -``` + #!/bin/mksh + + domains=( + 'anime.website anime.website' + 'krustykrab.restaurant bfbb.krustykrab.restaurant' + 'gentoo.today gentoo.today install.gentoo.today' + 'volatile.bz git.volatile.bz' + 'krustykrab.restaurant krustykrab.restaurant' + # ... + ) + nsupdate_key=/etc/bind/ddns.key + + for line in "${domains[@]}"; do + zone=`cut -f1 <<<"$line"` + domainlist=`cut -f2 <<<"$line"` + echo "Updating '$domainlist' in $zone" + pemdir=/mnt/certs/`cut -d' ' -f1 <<<"$domainlist"` + mkdir -p $pemdir + acme-client -vnNmt dns-01 -c $pemdir -k $pemdir/privkey.pem $domainlist |& + while read -p type domain token; do + keyauth=`printf '%s' "$token" | openssl dgst -sha256 -binary | base64 | tr '+\/' '-_' | tr -d '='` + nsupdate -4l -k $nsupdate_key <<-EOF + zone $zone + update delete _acme-challenge.$domain TXT + update add _acme-challenge.$domain 60 TXT $keyauth + send + EOF + wait 10 + print -p "$type $domain $token" + done + wait + for domain in `echo $domainlist`; do + nsupdate -4l -k $nsupdate_key <<-EOF + zone $zone + update delete _acme-challenge.$domain TXT + send + EOF + done + done > /var/log/acme.log this script is under the same licence as the rest of my site (Creative Commons Zero) and is free to redistribute and modify. let me know if this has been of any use to you. diff --git a/src/blog/are-passwords-the-right-solution.md b/src/blog/are-passwords-the-right-solution.md @@ -1,4 +1,5 @@ # are passwords the right solution? +<!--[time 201801091051.38]--> [I have lacked motivation to write anything lately, but this week marks the beginning of my spring college semester, so I figured I'd force myself back into a schedule.] diff --git a/src/blog/chen-hosting-goals-and-difficulties.md b/src/blog/chen-hosting-goals-and-difficulties.md @@ -1,4 +1,5 @@ # Chen Hosting goals and difficulties +<!--[time 201803050429.31]--> since late 2015, I have hosted the website Hidden Answers [accessible via tor](http://answerstedhctbek.onion/) [and i2p](http://hiddenanswers.i2p/). the Hidden Answers administrator was upset by the constant downtime of Freedom Hosting 2 and was seeking another host. shortly after I decided to offer my hosting to anyone interested, thus starting [Chen Hosting](http://chchchiasaeljqgs.onion/) (available on i2p as [chen.i2p](http://chen.i2p/)). I wanted to do this both to learn more about web hosting, and to earn some cash while in college. two years in hidden service web hosting has given me plenty of time and experience that I can share with others. diff --git a/src/blog/learning-how-to-learn.md b/src/blog/learning-how-to-learn.md @@ -1,4 +1,5 @@ # "Learning how to learn" +<!--[time 201801231842.19]--> here's a verbatim essay I wrote in response to the common misconceptions held by many Tor users and <q>privacy freaks</q>: diff --git a/src/blog/my-and-your-pgp-habits-could-be-better.md b/src/blog/my-and-your-pgp-habits-could-be-better.md @@ -1,4 +1,5 @@ # my (and your) PGP habits could be better +<!--[time 201807150211.20]--> I am an opportunistic PGP user, and I've used PGP for quite some time. if you encrypt mail to me, I'll encrypt back. if a download has a signature, I'll check it. I sign every one of my blog posts automatically, thanks to some dirty hacks to [bashblog](https://github.com/cfenollosa/bashblog). diff --git a/src/blog/paving-the-road-for-the-future-of-technology.md b/src/blog/paving-the-road-for-the-future-of-technology.md @@ -1,4 +1,5 @@ # paving the road for the future of technology +<!--[time 201803270123.17]--> when computing first became a real thing, they were mainly geared toward big business, education, government, and science. networks were groups of trusted entities, there was less need for security or future-proofing, because nobody had anticipated that this technology would become for personal use in the future. early computing and programming pioneers were passionate about their work; software and hardware were built durably because it was still only a niche market, and everyone in the market cared deeply about quality. diff --git a/src/blog/site-update.md b/src/blog/site-update.md @@ -1,3 +1,4 @@ # site update +<!--[time 201803270130.09]--> by the way, you may be curious as to why some of my websites were down this week. something happened to one of my VPSes so I had to reinstall the operating system and set everything back up. the new install is now enjoying Alpine Linux just like all my other boxes. diff --git a/src/blog/testing-patches-made-to-bashblog-script.md b/src/blog/testing-patches-made-to-bashblog-script.md @@ -1,4 +1,5 @@ # testing patches made to bashblog script +<!--[time 201712212108.11]--> since I'm using a linux desktop now in place of my windows 8.1 laptop, I can now sanely use linux commands such as gpg and rsync (and the bashblog script itself) to locally sign my posts and transmit them to my server with minimum effort. the [original bashblog script](https://github.com/cfenollosa/bashblog) relies heavily on GNUisms especially in the `date` command, therefore requiring a little effort to adapt to alpine linux (which uses busybox and not coreutils) and the inability to use some of these odd GNU requirements. I wish people would pay attention to compatibility; everyone seems to focus only on GNU and BSD and completely forgets about POSIX standards and requirements. diff --git a/src/blog/the-grey-area-of-paedophilia.md b/src/blog/the-grey-area-of-paedophilia.md @@ -1,4 +1,5 @@ # the grey area of paedophilia +<!--[time 201804282038.43]--> before anyone gets shocked: **I am against rape and abuse of any kind.** this post is only to address the fact that most people -- those who claim to protect the rights of children -- are focusing in the wrong places. diff --git a/src/blog/trying-new-software.md b/src/blog/trying-new-software.md @@ -1,4 +1,5 @@ # trying new software +<!--[time 201802111201.13]--> I haven't been motivated to write anything lately, but I guess I can give an update on what software I am currently trying or going to try: diff --git a/src/blog/why-i-no-longer-use-github.md b/src/blog/why-i-no-longer-use-github.md @@ -1,4 +1,5 @@ # why I no longer use GitHub +<!--[time 201806211332.04]--> I have had issues with GitHub long before the Microsoft acquisition this year. in fact, Microsoft is the best thing that could have happened to it because it's an excuse for people to leave GitHub. but for everyone who continues to use it, who has built their FOSS projects on top of its infrastructure, they need a little more motivation to move than just an acquisition scare. and the fact that these projects stay behind inconveniences me, as a FOSS contributor, especially if they outright *refuse* to collaborate outside of GitHub and they *insist* on you making an account, opening pull requests and new issues through the web interface. diff --git a/src/blog/why-program-efficiency-and-usability-matters.md b/src/blog/why-program-efficiency-and-usability-matters.md @@ -0,0 +1,45 @@ +# why program efficiency [and usability] matters +<!--[time 201711241426.09]--> + +in 2016 I wrote a small rant about the current downward trend of software and web development, entitled <q>Why program efficiency matters</q>: + +> Computer hardware has become faster, more efficient, and more powerful in recent years, which means programmers are not constrained as much by memory and CPU cycles. But does that mean programmers should just give up trying to make their code more efficient? +> +> It doesn't matter if our programs are bigger! +> : I don't know about you, but I enjoy extra disk space for movies and music. Just because disk space is affordable doesn't mean programmers can excuse themselves for adding unnecessary fluff to their projects. +> +> It doesn't matter if our code takes up more memory! +> : Multitasking computers have been a thing for a while now. With that said, I would like my computer to actually multitask. I shouldn't have to constantly worry about how many programs I have running in the background and how much memory they consume. Also, there are plenty of older systems running in corporate and educational environments that simply cannot handle modern (and memory-hungry) software without constantly locking up. +> +> It doesn't matter if our code is slower! +> : Speed is always a value to strive for. Any sensible person would choose "faster" if presented with two programs that perform the exact same tasks but at different speeds. +> +> That said, if you have to sacrifice any of the above for security, please do so. Otherwise, if there is any way to make a program smaller or faster or more efficient, without changing the core functionality of the program, then take the time to improve in those aspects. Laziness is no excuse for a slow, fat program. At the same time, don't let yourself be consumed by trying to make your code perform better before you have even finished writing the program. + +this applies to desktop, server, mobile, and Web software all alike: + +* desktop operating systems are gradually becoming more bloated and new features are half-baked (such as later versions of Windows), people using Electron to develop fucking everything now (and I'll talk about Electron on its own in a bit). +* server software dependent on weightier languages such as node and python ([matrix.org] [1] for instance). this is very problematic because servers have much more stressful demands and none of us wish to spend resources we can better use to serve end-users. every bit of RAM and every CPU cycle counts under high load. +* mobile phones are mad useful for on-the-go matters (I'll have a blog post later, describing a smartphone's exact use compared to laptops and desktops) but they're becoming more powerful than most laptops now. many apps are Web-centric and it's quite possible that a lot of the mobile ecosystem is unoptimised: not just the apps but also the operating system and the virtual environments under which apps are designed to run. +* the Web used to have one thing: static content. then forms were introduced, allowing for greater user interaction and ease of use. after that, javascript, and now we have full-blown HTML5+javascript applications that run in your browser. and believe me, I understand the desire to have this capability: it's cross-platform and any device with a modern browser can use your app. however, there are a few things wrong with this: HTML was not really designed to represent full-blown applications, and web developers don't pay a thought to efficiency/accessibility and they will normally take the path of least resistance to deploy their applications. I'll talk more about what I believe the Web should be used for in a later post. + +[1]: <https://matrix.org/> + +I'm making this post today because someone sent me a link to a post Casper Beyer made regarding Electron, entitled <q>[Electron is Cancer] [2]</q>. I'll quote some notable passages from the post: + +> <q>Well, it works fine on my machine, and I only have 32 gigabytes of ram.</q> - Silicon Valley Developer, 2017 +> +> If that’s you, well then that’s good for you, but just because something performs <q>well enough</q> on your machine doesn’t mean there are not any performance problems. You are not your end-users, and you if you are a developer most likely do not run average hardware. +</blockquote> + +^ I made this point in my 2016 rant -- people have different hardware and developers need to keep this in mind, lest they want their programs only to run on a small set of machines in the world. + +> <q>Electron is so great, we did not have to hire new people we can just use your web designers that we already have in-house and it is so easy!</q> - Someone Actually Said That +> +> Okay, sure having a plumber cut out a square wheel from a plank is also a lot easier to do than having a woodworker carve a perfectly round wooden wheel, but it is gonna be one hell of a bumpy ride, and square wheels are actually fine, right? + +^ I've seen this a lot too; people have derived from <q>do one thing and do it right</q> philosophy, both in software and in expertise (although on the expertise side of things, it helps to be well-versed in several areas so you're more valuable in a job, but usually those areas are close enough together that they complement each other. you wouldn't want that plumber performing heart surgery on you, would you?) + +if you have time, read Beyer's full post because it covers a lot of good points about Electron and about modern software developers as a whole. it's a rarity to find a decent dev nowadays who cares about efficiency, usability, and accessibility; and that certainly affects where technology is going as a whole. as we depend more on technology in our everyday lives (mobile, IoT, business) there is really no room for sloppy code to run in banks, hospitals, vehicles, and other mission-critical devices. + +[2]: <https://medium.com/@caspervonb/electron-is-cancer-b066108e6c32>