Browse Source

Import from private repo

main
Mark Cornick 6 months ago
commit
af4b7ac8f8
Signed by: mcornick GPG Key ID: 9435772627061005
  1. 15
      .build.yml
  2. 1
      .envrc
  3. 3
      .gitignore
  4. 3
      .gitmodules
  5. 8
      archetypes/blog.md
  6. 5
      archetypes/default.md
  7. 7
      archetypes/show.md
  8. 9
      build.sh
  9. 24
      config.toml
  10. 33
      content/_index.md
  11. 8
      content/blog/_index.md
  12. 17
      content/blog/back-in-the-saddle.md
  13. 22
      content/blog/dc-vs-washington.md
  14. 32
      content/blog/five-answers.md
  15. 8
      content/blog/gemini.md
  16. 35
      content/blog/my-home-vps-test-lab.md
  17. 22
      content/blog/old-hardware.md
  18. 12
      content/blog/starting-over.md
  19. 21
      content/blog/unix-refused-to-die.md
  20. 10
      content/show/_index.md
  21. 26
      content/show/episode1.md
  22. 27
      content/show/episode2.md
  23. 28
      content/show/episode3.md
  24. 26
      content/show/episode4.md
  25. 23
      content/show/episode5.md
  26. 19
      content/show/episode6.md
  27. 18
      content/show/episode7.md
  28. 18
      content/show/episode8.md
  29. 19
      content/show/episode9.md
  30. 3
      layouts/partials/custom-comments.html
  31. 7
      layouts/partials/favicon.html
  32. 1
      layouts/partials/logo.html
  33. 8
      layouts/partials/tags.html
  34. 1
      layouts/shortcodes/melink.html
  35. 8
      layouts/shortcodes/recentblog.html
  36. 8
      layouts/shortcodes/recentshow.html
  37. 9
      shell.nix
  38. BIN
      static/android-chrome-192x192.png
  39. BIN
      static/android-chrome-512x512.png
  40. BIN
      static/apple-touch-icon.png
  41. 9
      static/browserconfig.xml
  42. 154
      static/css/theme-nord.css
  43. BIN
      static/favicon-16x16.png
  44. BIN
      static/favicon-32x32.png
  45. BIN
      static/favicon.ico
  46. BIN
      static/mstile-150x150.png
  47. 104
      static/pgpkey.asc
  48. 2944
      static/safari-pinned-tab.svg
  49. 19
      static/site.webmanifest
  50. 10
      static/twtxt.txt
  51. 1
      themes/hugo-theme-learn
  52. 3
      toot-recent-blog.py
  53. 3
      toot-recent-show.py
  54. 26
      tooter.py

15
.build.yml

@ -0,0 +1,15 @@
---
image: alpine/latest
packages:
- findutils
- hugo
- rsync
sources:
- git@git.sr.ht:~mcornick/www
secrets:
- 787b7e72-53fc-4876-a293-01c1100aea97
tasks:
- deploy: |
umask 022
cd www
./build.sh

1
.envrc

@ -0,0 +1 @@
use nix

3
.gitignore

@ -0,0 +1,3 @@
*.pyc
*.secret
public

3
.gitmodules

@ -0,0 +1,3 @@
[submodule "themes/hugo-theme-learn"]
path = themes/hugo-theme-learn
url = https://github.com/matcornic/hugo-theme-learn.git

8
archetypes/blog.md

@ -0,0 +1,8 @@
+++
title = "{{ replace .Name "-" " " | title }}"
date = {{ .Date }}
copyright = "BY-ND"
tags = ["blog"]
draft = true
+++

5
archetypes/default.md

@ -0,0 +1,5 @@
+++
title = "{{ replace .Name "-" " " | title }}"
date = {{ .Date }}
+++

7
archetypes/show.md

@ -0,0 +1,7 @@
+++
title = "{{ replace .Name "-" " " | title }}"
date = {{ .Date }}
tags = ["tilderadio"]
draft = true
+++

9
build.sh

@ -0,0 +1,9 @@
#!/bin/sh -e
ssh="ssh -o StrictHostKeyChecking=no"
rm -rf public
hugo --quiet
chmod -R ug+w public
find public -type d -exec chmod g+s {} \;
rsync --rsh="$ssh" --quiet -a public/ mcornick@ns2.conhugecorp.com:/srv/www/mcornick

24
config.toml

@ -0,0 +1,24 @@
baseURL = "https://mcornick.com/"
enableGitInfo = true
languageCode = "en-us"
theme = "hugo-theme-learn"
title = "Mark Cornick"
[outputs]
home = ["HTML", "RSS", "JSON"]
page = ["HTML"]
section = ["HTML", "RSS"]
taxonomy = ["HTML"]
taxonomyTerm = ["HTML"]
[params]
disableLandingPageButton = true
disableNextPrev = true
themeVariant = "nord"
[permalinks]
blog = "/blog/:year/:month/:day/:slug/"
show = "/show/:year/:month/:day/:slug/"
[taxonomies]
tag = "tags"

33
content/_index.md

@ -0,0 +1,33 @@
+++
date = 2021-01-02
layout = "home"
title = "Mark Cornick"
+++
# Mark Cornick
Chaotic good. Professional cloud plumber and Kubernetes pilot.
Unprofessional father/widower/DJ/soccer supporter. "It seemed like
a good idea at the time." He/him.
## The Mentos The Freshmaker Show
I host The Mentos The Freshmaker Show. It is a streaming radio show featuring my
varied and generally somewhat obscure tastes, including rock, jazz, and soul,
much like I played on college radio in the 80s and 90s.
{{< recentshow >}}
## Blog posts
Recently on my blog:
{{< recentblog >}}
## More stuff elsewhere
* {{< melink link="https://git.sr.ht/~mcornick" title="git" >}}
* {{< melink link="https://tilde.zone/@mcornick" title="mastodon" >}}
You can mail me at <mcornick@mcornick.com>.
You can use [this PGP key](pgpkey.asc) if you want to encrypt it.

8
content/blog/_index.md

@ -0,0 +1,8 @@
+++
date = 2021-01-01
title = "Mark's Blog"
+++
I have a history of not blogging frequently, but I'm trying to change that. The fruits of that labor are below.
Everything in the blog section reflects my opinion, and only my opinion.

17
content/blog/back-in-the-saddle.md

@ -0,0 +1,17 @@
+++
copyright = "BY-ND"
date = 2021-01-04T23:49:15-05:00
tags = ["radio"]
title = "Back in the Saddle"
+++
I did my first episode of the Moose Hour tonight. This was the first time I've done a radio show, live or otherwise, since I graduated from university way back in 1996. Yep, 25 years. That's a long time.
And, aside from a few minor technical glitches (which are to be expected, after all) it went great! It felt like old times, just playing music and talking about it. I'm looking forward to doing it again.
I'm going to be accumulating playlists in a section of this site. It's linked from the home page and the first playlist from tonight's show is already up.
I'm grateful to the folks at [tilderadio][1] for giving me a time slot and to my fellow DJs and other listeners who tuned in. I very much appreciate the community-oriented, people-over-profit approach of the [tildeverse][2] and urge other people who remember the way the Internet "used to be" to check it out.
[1]: https://tilderadio.org/
[2]: https://tildeverse.org/

22
content/blog/dc-vs-washington.md

@ -0,0 +1,22 @@
+++
copyright = "BY-ND"
date = 2021-01-02
tags = ["dc"]
title = "The District vs. Washington"
+++
I live in the District of Columbia, known locally as "DC", and worldwide as the location of Washington, the capital of the United States.
Outside DC, people tend to use the terms interchangeably, but here, we like to make a distinction:
* "DC" or "the District" is a city where people live, work, play, and generally go about their business just like any other large city in the United States or the world. Many people who live in DC actually have nothing at all more to do with the federal government than people living anywhere else. DC is not a state, but has a local government that performs most of the functions of a state government as well as a local one.
* "Washington" is the "federal city", the seat of government, the location of Congress, the White House, the Supreme Court, etc. The federal government, with all of the bureaucracy and corruption and general inhumanity people associate with it, is conducted from Washington, not DC. When you elect people to go to the White House or Congress and they let you down, you sent them to Washington, not DC. DC doesn't even get to send people to Washington other than one non-voting "delegate" to the House and zero Senators. (We do get to vote for President, though.)
* "The DMV" is a recently popular term for "the District, Maryland, and Virginia", i.e., DC plus the surrounding parts of the other two states. People say this instead of something like "the DC Metro", because around here, "Metro" refers to the subway.
So remember, when you're complaining about the government in Washington, don't blame DC. DC doesn't like Washington any more than you do; in fact, most of us like it even less because of the countless ways Washington screws us over.
Thanks!
(Some of you will say "well, actually, DC is the Federal District provided for in the Constitution which contains the city of Washington blah blah blah..." You are technically correct, the worst kind of correct. You win nothing. Please don't say DC when you mean Washington. Thanks.)

32
content/blog/five-answers.md

@ -0,0 +1,32 @@
+++
copyright = "BY-ND"
date = 2021-01-27T10:44:59-05:00
tags = ["blog"]
title = "Five Answers"
+++
Answers to [Christina's Five Questions][1] (in native Gemini format [here][2]):
_This year, did you try reading a book in a genre you usually don't gravitate to? What did you think of it?_
Not yet. I honestly don't read much for pleasure. (Shock! Horror!) But I'll probably get to this eventually.
_Have you ever made a New Year's resolution that you stuck to? (Are you still sticking to it?)_
I resolved to lose weight this year, and I was down about 19 pounds at last weigh-in, due to diet changes and an adjustment to my blood sugar medication. I'm pretty psyched about this but also realize there's more that I can do. So yes, I'm sticking to it.
_What does "healthy" mean to you?_
Good question. For a long time I have been reasonably well and un-sick, while also having a few chronic conditions under control (see previous answer.) By those terms, I could be considered "healthy" and I did so consider myself. But recent deaths and unwellness in the family have made me reconsider this and try to take a more active approach towards eliminating chronic conditions or at least having them reduced to less concerning levels (such as my weight - again, see previous answer.) So maybe I consider myself less "healthy" overall, although certainly not in imminent danger of death. tl;dr I dunno?
_Are you an early bird or a night owl?_
Definitely a night owl.
_Will you get the COVID vaccine? Why or why not?_
Yes. I am at high risk due to having ruptured and subsequently lost my spleen when hit by an out-of-control driver on the Beltway many years ago, as well as other underlying conditions. I trust in science and medicine, and believe it is the right thing to do for me and those who depend on me. That said, I was already a crowd-avoider before the pandemic, and continue thus, so if I have to wait my turn for the vaccine (and it appears, based on current DC Health guidelines, that I will) it is not a big deal to me.
[1]: https://portal.mozz.us/gemini/gemini.circumlunar.space/users/christina/
[2]: gemini://gemini.circumlunar.space/users/christina/

8
content/blog/gemini.md

@ -0,0 +1,8 @@
+++
title = "Gemini Is Back"
date = 2021-03-07T12:22:12-05:00
copyright = "BY-ND"
tags = ["meta"]
+++
I recently had to turn off my Gopher and Gemini sites because keeping them in sync with the HTML versions of the site using my [static site generator of choice](https://gohugo.io) was proving to be too much of a pain in the ass. However, I still appreciate the idea of Gemini as a less-heavy, less-too-much protocol, so I've spent some time recently creating a new [Gemini capsule](gemini://mcornick.com/) based on, but not linked to, this HTML version. Gemini is definitely a niche, enthusiast protocol at this point, but I'm happy to do my part to expand the Gemini space. Future posts that are only relevant to Gemini interests will only go there, so if that's your thing, go set a bookmark now. And thanks for your patience!

35
content/blog/my-home-vps-test-lab.md

@ -0,0 +1,35 @@
+++
copyright = "BY-ND"
date = 2021-01-23T09:27:33-05:00
tags = ["proxmox"]
title = "My Home VPS Test Lab"
+++
I learn by doing; always have. If I want to learn how something is done, the most effective way for me is not to read about it, or to listen to someone talk about it, but to get my hands dirty doing it. It's true for so many things I've learned, but especially my trade of UNIX system administration. Ever since I first got root on a UNIX system (my first Slackware installation way back in 1994) it's been this way. Sure, I've looked at the man pages from time to time, and read a tutorial or two, but mostly, it's just been a matter of, to use old BASIC terminology, poking and peeking and seeing where it gets me.
Over the past several years, that experimentation has often taken place on VPS instances I've rented from various providers. For $5/month, you can have a VPS with about a gigabyte of ram, one CPU, and a big enough disk to install the OS and a bunch of packages, from any of a number of providers. This makes the cost of entry for experimental instances pretty low, and I've had great success trying things this way.
And yet, I was ignoring a resource available to me essentially for free (in that I've already paid for it): a PC under my desk that I used to use for gaming. I put Debian on it several months ago, and it works great, but I wasn't using it to its full potential. My daily driver these days is a MacBook Air, so the PC was mostly sitting there.
And then one day I heard about [Proxmox Virtual Environment][1], a customized Debian distribution which provides a solid UI around the QEMU/KVM hypervisor system. From its web UI, you can create and monitor virtual machines running all kinds of operating systems. While there are paid subscriptions available, Proxmox is perfectly usable without one.
The machine has 12 Intel i7-8700 cores, 32 GB of RAM, and 2 TB of disk (not including the NVMe boot disk.) That's plenty of horsepower to run a bunch of instances comparable to the VPSes I mentioned above. In the end, I settled on 12 VMs with 1 CPU, 2 GB of RAM, and 32 GB of disk each, with the following operating systems:
* Alpine Linux 3.13.0
* Arch Linux
* CentOS Stream 8.3
* Debian 10.7
* Fedora 33
* FreeBSD 12.2-RELEASE
* NetBSD 9.1
* NixOS 20.09
* OmniOS CE r151036
* OpenBSD 6.8
* openSUSE Leap 15.2
* Ubuntu 20.04
That's 12 systems, running the gamut from Linux to BSD to Solaris, all at my fingertips whenever I'm at home (which, let's be fair, is pretty much all the time under current conditions), all for essentially nothing (given that the hardware is already paid for.) And I've got plenty of room to try other things if I want.
If you've got a spare PC at home and want to explore the world of open-source virtualization, give Proxmox a try! It's powerful yet very approachable, and you can have a home VPS test lab like mine in no time.
[1]: https://www.proxmox.com/en/proxmox-ve

22
content/blog/old-hardware.md

@ -0,0 +1,22 @@
+++
title = "In Praise Of Old Hardware"
date = 2021-03-01T22:39:28-05:00
copyright = "BY-ND"
tags = ["thinkpad", "hardware"]
+++
I have been fortunate over the years to use a variety of state-of-the-art hardware for my work and play. I've used several generations of MacBooks, as well as highly tuned modern Windows machines. Whether supplied by my employers or purchased for my own use, I've had access to the best.
And yet, these days, the machine I find myself using the most (including to write this very post) is a ThinkPad W500, which hasn't been state-of-the-art for at least a decade now, probably longer. Why is that?
For one thing, the build quality is superb. ThinkPads of the W500's generation are famous for their quality keyboards, the TrackPoint device, and their bento-box design. Yes, the thing is as heavy as two or three MacBooks, but I'm not hauling it to too many places these days.
Unlike many modern machines, the ThinkPad was also designed to be repaired. Swapping the old, slow wifi card for a newer model was a matter of removing several screws, gently removing the keyboard, removing a few more screws, and switching the card. Same went for swapping in new RAM when one of the old DIMMs went bad. Switching to an SSD was even easier. None of this is impossible on modern systems, but they make it a whole lot harder.
The limited horsepower compared to this year's model is not a big problem for me. I don't run things like machine learning or AAA games on this machine. I've tried several versions of Linux (and recently settled on NixOS; maybe that's a future post) as well as the BSDs, and they all run fine. I even use this ThinkPad to stream my [weekly radio show](https://mcornick.com/show/) using the excellent and free [Mixxx](https://mixxx.org/) DJ software, without the machine suffering at all. Sure, this would all run fine on the latest and greatest, but it's not required.
This machine is even hackable to remove the proprietary BIOS (which needed to be done to support that newer, faster widi card) and replace it with [Coreboot](https://www.coreboot.org/). I got someone else to do this for me, but if I felt like acquiring the necessary tools and expertise, I could've done it myself. Try that with today's increasingly-locked-down machines.
And lastly, I'm happy knowing I've taken some steps off the planned-obsolescence cycle. When I moved last year, I threw out (well, responsibly recycled) lots of old electronics. I don't anticipate throwing out this machine any time soon. With the repairability I mentioned earlier, and spare parts fairly easy to find, it'll take something extremely complex and heavyweight to make this machine unusable. This is good for sustainability, the planet, etc. as well as my wallet.
Granted, it's not for everyone. If you are a gamer, or a high-end graphics specialist, or just the type of person who wants "nothing but the best", my ThinkPad probably isn't for you. But if your needs are more like mine, you can probably get a machine much like this one for much less than you'd pay for something newer, less flexible, with a shorter life span. And it just might work for you like it does for me. Good luck!

12
content/blog/starting-over.md

@ -0,0 +1,12 @@
+++
copyright = "BY-ND"
date = 2021-01-01
tags = ["meta"]
title = "Starting Over"
+++
I've tried blogging at various times over the years. My most recent run was from 2013-2017 in which I averaged about one post a year. Suffice it to say, I wasn't into it.
I'm trying to get back into it. Recently I've renewed my focus on the Internet outside of the big social networks; the network as it used to be, back when I first cut my teeth in the 1990s and 2000s. As part of that, I'm making a 2021 goal of writing more, or at least more often. And it starts here, now.
Thanks for reading!

21
content/blog/unix-refused-to-die.md

@ -0,0 +1,21 @@
+++
copyright = "BY-ND"
date = 2021-01-11T09:38:43-05:00
tags = ["unix"]
title = "UNIX - the operating system that refused to die"
+++
The UNIX operating system traces its roots to 1970. On UNIX, time is calculated as the number of seconds since midnight UTC on January 1, 1970. At that time, it was an internal system within Bell Labs. Within a few years, UNIX was available to the public at large. And thus began a journey that, remarkably, continues unabated to the current day.
Almost no one runs the original UNIX any more. Along the way, various hardware manufacturers created their own versions. Sun had SunOS (later Solaris), SGI had IRIX, HP had HP/UX, IBM had AIX, and so on and so forth. Academics tended to prefer the Berkeley Software Distributions (BSD) from the University of California. And by the 1990s, Linux, a free version of the kernel of UNIX, combined with various other free software from BSD, the GNU project, and others, meant everyone could run a UNIX-style system on commodity PC hardware. Linux, plus free BSD variants like FreeBSD, NetBSD and OpenBSD, opened up UNIX to a whole new audience.
The continued rise and expansion of UNIX and descendants paralleled the explosion of the Internet. Although non-UNIX systems have always been present on the net, UNIX, and especially Linux, have made up a significant percentage of systems that serve email, the web, and so on. There's a very good chance that any web site you go to is powered at some point by some version of UNIX. The same can be said for your email.
Along the way, public UNIX systems (or "pubnix" systems) have popped up. These allow the public at large to connect to a UNIX server and receive mail, interact with other users, and so on. Before the era of telecom companies providing email, and later services like Hotmail and Gmail, this was how a lot of people got their first experience with the Internet.
[SDF][1] is a longtime pubnix host that is still going strong after more than 30 years. Recently, a number of ["tilde"][2] pubnix servers have popped up and a new generation of people are discovering UNIX. I've been exploring these servers this new year, and it's been a lot of fun. Each of them runs versions of UNIX that are similar enough to be familiar, yet quirky enough to be interesting and differentiate themselves. For an "old school" UNIX guy like me, that's interesting.
More than 50 years on, UNIX has thrived where other operating systems have fallen to the wayside. And it's not just thriving on web servers that no one ever really logs into, but on multi-user systems that bring back a sense of what the net used to be. That makes me smile.
[1]: https://sdf.org/
[2]: https://tildeverse.org/

10
content/show/_index.md

@ -0,0 +1,10 @@
+++
date = 2021-01-01
title = "The Mentos The Freshmaker Show"
+++
__"Hello And Welcome!"__ - Daryl Grove (1979-2020)
The Mentos The Freshmaker Show (formerly known as Moose Hour) is my weekly streaming radio show. I play a variety of stuff suiting my varied and generally somewhat obscure tastes, including rock, jazz, and soul, much like I played on college radio in the 80s and 90s, when I was known as DJ Mentos the Freshmaker (hence the name of this show.)
The show currently airs on [tilderadio](https://tilderadio.org/) at 0000 UTC on Tuesdays.

26
content/show/episode1.md

@ -0,0 +1,26 @@
+++
date = 2021-01-05T00:00:00-00:00
slug = "episode-1"
tags = ["tilderadio"]
title = 'Episode 1: "Twenty-Five Years"'
+++
## Main Set List
* Sonic Youth - Tom Violence
* Hüsker Dü - Don't Want to Know If You Are Lonely
* Replacements - Can't Hardly Wait (The Tim Version)
* Mission of Burma - Academy Fight Song
* Big Black - Kerosene
* Ornette Coleman - Lonely Woman
* And You Will Know Us By the Trail Of Dead - Isis Unveiled
* Eleventh Dream Day - Testify
* Slint - Glenn
## Incidental Music
* The Budos Band - Up From The South
* Thievery Corporation - Un Simple Histoire
* Kaytranada - Weight Off
* 5ive Style - Deep Marsh

27
content/show/episode2.md

@ -0,0 +1,27 @@
+++
date = 2021-01-12T00:00:00-00:00
slug = "episode-2"
tags = ["tilderadio"]
title = 'Episode 2: "Our Own Correspondent"'
+++
## Main Set List
* Wire - Reuters
* Suicide - Ghost Rider
* Ultravox - Rockwrok
* Drive Like Jehu - Here Come The Rome Plows
* Fugazi - Smallpox Champion
* Girls Against Boys - Rockets Are Red
* Minutemen - Corona
* The Bad Plus - Velouria
* ESG - UFO
* Stereolab - French Disko
* Broadcast - Come On Let's Go
* Saint Etienne - Nothing Can Stop Us
## Incidental Music
* The Budos Band - Up From The South
* Kaytranada - Weight Off
* 5ive Style - Deep Marsh

28
content/show/episode3.md

@ -0,0 +1,28 @@
+++
date = 2021-01-26T00:00:00-00:00
slug = "episode-3"
tags = ["tilderadio"]
title = 'Episode 3: "New Day Rising"'
+++
## Main Set List
* Hüsker Dü - New Day Rising
* Polvo - Batradar
* PJ Harvey - Rid Of Me
* The Wedding Present - Dalliance
* Unrest - Teenage Suicide
* Yeah Yeah Yeahs - Y Control
* My Bloody Valentine - You Made Me Realise
* Hole - Violet
* Ride - Like A Daydream
* Loop - Vapour
* Wire - 12XU
* Devo - Uncontrollable Urge
## Incidental Music
* The Budos Band - Up From The South
* Khruangbin - Summer Madness
* MF DOOM - Coco Mango (FloFliz Remix) (Instrumental)
* 5ive Style - Deep Marsh

26
content/show/episode4.md

@ -0,0 +1,26 @@
+++
date = 2021-02-02T00:00:00-00:00
slug = "episode-4"
tags = ["tilderadio"]
title = 'Episode 4: "THINK"'
+++
## Main Set List
* Spoon - You Got Yr. Cherry Bomb
* Gnarls Barkley - Smiley Faces
* Beastie Boys - Looking Down the Barrel of a Gun
* DJ Shadow - Building Steam With a Grain of Salt
* Tune-Yards - Gangsta
* TV On The Radio - Wolf Like Me
* Spiritualized - Electricity
* Arcade Fire - Sprawl II (Mountains Beyond Mountains)
* Beauty Pill - You Are Right to Be Afraid
* My Morning Jacket - How Do You Know
* The Mars Volta - The Widow
* WU LYF - We Bros
## Incidental Music
* The Budos Band - Up From The South
* 5ive Style - Deep Marsh

23
content/show/episode5.md

@ -0,0 +1,23 @@
+++
date = 2021-02-09T00:00:00-00:00
slug = "episode-5"
tags = ["tilderadio"]
title = 'Episode 5: "Technical Difficulties"'
+++
This show featured no voiceovers due to me having a sore throat,
and a few tracks were played at the wrong speed due to... reasons.
* Poster Children - Water
* Bauhaus - In The Flat Field
* Sonic Youth - Schizophrenia
* Don Caballero - Lucky Father Brown
* Animal Collective - My Girls
* Arcwelder - Raleigh
* My Bloody Valentine - Only Shallow
* Earth - Introduction
* Pitchblende - Redcap
* Pixies - Gigantic
* The Clash - Up In Heaven (Not Only Here)
* Wire - Lowdown
* Spacemen 3 - When Tomorrow Hits

19
content/show/episode6.md

@ -0,0 +1,19 @@
+++
date = 2021-02-16T00:00:00-00:00
slug = "episode-6"
tags = ["tilderadio"]
title = 'Episode 6: "Less Talk, More Rock"'
+++
* New Order - Blue Monday
* Sonic Youth - Teen Age Riot
* Faraquet - Cut Self Not
* Arcade Fire - Black Mirror
* Interpol - Untitled
* Killing Joke - Love Like Blood
* Echo & The Bunnymen - The Killing Moon
* The Birthday Party - Mr Clarinet
* The Slits - Newtown
* The Damned - Wait for the Blackout
* The Dream Syndicate - Tell Me When It's Over
* LCD Soundsystem - New York, I Love You but You're Bringing Me Down

18
content/show/episode7.md

@ -0,0 +1,18 @@
+++
date = 2021-02-23T00:00:00-00:00
slug = "episode-7"
tags = ["tilderadio"]
title = 'Episode 7: "Drop Out Of B.U."'
+++
* Queens Of The Stone Age - You Think I Ain't Worth A Dollar, But I Feel Like A Millionaire
* A Certain Ratio - Do The Du
* Kraftwerk - The Robots
* Handsome Boy Modeling School - Holy Calamity (Bear Witness II)
* Dinosaur Jr. - Just Like Heaven
* The Afghan Whigs - My World Is Empty Without You
* Chuck Brown and the Soul Searchers - Bustin' Loose
* The Art Of Noise - Beat Box (Diversion One)
* Romeo Void - Never Say Never
* The Modern Lovers - Modern World
* A Flock Of Seagulls - Space Age Love Song

18
content/show/episode8.md

@ -0,0 +1,18 @@
+++
date = 2021-03-02T00:00:00-00:00
slug = "episode-8"
tags = ["tilderadio"]
title = 'Episode 8: "The Bingo Game That Made The Man"'
+++
* Spacemen 3 - Revolution
* Can - Vitamin C
* Massive Attack - Be Thankful for What You’ve Got
* A.C. Newman - The Palace at 4 A.M.
* Spiritualized - Feel So Sad (7″ single version)
* Explosions in the Sky - Your Hand in Mine
* Daniel Lanois - Sonho Dourado
* Pale Saints - Kinky Love
* Low - Especially Me
* Bailterspace - EIP
* Girls Against Boys - She's Lost Control

19
content/show/episode9.md

@ -0,0 +1,19 @@
+++
date = 2021-03-09T00:00:00-00:00
slug = "episode-9"
tags = ["tilderadio"]
title = 'Episode 9: "Daydream Sparks"'
+++
* Sleater‐Kinney - Entertain
* Lush - Ladykillers
* Tsunami - Water's Edge
* Nancy Sinatra & Lee Hazlewood - Some Velvet Morning
* Donny Hathaway - A Song for You
* Nina Simone - Don’t Let Me Be Misunderstood
* Godspeed You! Black Emperor - East Hastings (excerpt)
* Steroid Maximus - ¡Quilombo!
* Sonic Youth - Rain King
* Crescent - Sun
* The Church - The Unguarded Moment
* The United States of America - Coming Down

3
layouts/partials/custom-comments.html

@ -0,0 +1,3 @@
<div id="license">
This page is licensed under a <a href="https://creativecommons.org/licenses/{{ if isset .Params "copyright" }}{{ lower .Params.Copyright }}{{ else }}by{{ end }}/4.0/">Creative Commons {{ if isset .Params "copyright" }}{{ .Params.Copyright }}{{ else }}BY{{ end }} 4.0</a> license.
</div>

7
layouts/partials/favicon.html

@ -0,0 +1,7 @@
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">

1
layouts/partials/logo.html

@ -0,0 +1 @@
<img src="/android-chrome-512x512.png">

8
layouts/partials/tags.html

@ -0,0 +1,8 @@
{{ if .Params.tags }}
<div class="tags">
{{range .Params.tags}}
<a class="tag-link" href="{{ "/tags/" | relLangURL }}{{ . | urlize }}">{{ . }}</a>
{{end}}
{{ .Date.Format "January 2, 2006" }}
</div>
{{end}}

1
layouts/shortcodes/melink.html

@ -0,0 +1 @@
<a rel="me" href="{{ .Get "link" }}">{{ .Get "title" }}</a>

8
layouts/shortcodes/recentblog.html

@ -0,0 +1,8 @@
<ul>
{{ with .Site.GetPage "/blog" }}
{{ range first 3 .RegularPages.ByDate.Reverse }}
<li><a href="{{ .Page.Permalink }}">{{ .Page.Title }}</a> ({{ .Page.Date.Format "January 2, 2006" }})</li>
{{ end }}
<li><a href="{{ .Permalink }}">Complete archives</a></li>
{{ end }}
</ul>

8
layouts/shortcodes/recentshow.html

@ -0,0 +1,8 @@
<ul>
{{ with .Site.GetPage "/show" }}
{{ range first 1 .RegularPages.ByDate.Reverse }}
<li>Most recently: <a href="{{ .Page.Permalink }}">{{ .Page.Title }}</a> ({{ .Page.Date.Format "January 2, 2006" }})</li>
{{ end }}
<li><a href="{{ .Permalink }}">Schedule and playlist archives</a></li>
{{ end }}
</ul>

9
shell.nix

@ -0,0 +1,9 @@
{ pkgs ? import <nixpkgs> { } }:
pkgs.mkShell {
buildInputs = [
pkgs.hugo
pkgs.python3
pkgs.python38Packages.mutagen
pkgs.python38Packages.requests
];
}

BIN
static/android-chrome-192x192.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

BIN
static/android-chrome-512x512.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 KiB

BIN
static/apple-touch-icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

9
static/browserconfig.xml

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>

154
static/css/theme-nord.css

@ -0,0 +1,154 @@
:root{
--MAIN-TEXT-color:#eceff4; /* Color of text by default */
--MAIN-TITLES-TEXT-color:#eceff4; /* Color of titles h2-h3-h4-h5 */
--MAIN-LINK-color:#88c0d0; /* Color of links */
--MAIN-LINK-HOVER-color:#88c0d0; /* Color of hovered links */
--MAIN-ANCHOR-color: #88c0d0; /* color of anchors on titles */
--MENU-HEADER-BG-color:#2e3440; /* Background color of menu header */
--MENU-HEADER-BORDER-color:#2e3440; /*Color of menu header border */
--MENU-SEARCH-BG-color:#434c5e; /* Search field background color (by default borders + icons) */
--MENU-SEARCH-BOX-color: #4c566a; /* Override search field border color */
--MENU-SEARCH-BOX-ICONS-color: #eceff4; /* Override search field icons color */
--MENU-SECTIONS-ACTIVE-BG-color:#2e3440; /* Background color of the active section and its childs */
--MENU-SECTIONS-BG-color:#2e3440; /* Background color of other sections */
--MENU-SECTIONS-LINK-color: #d8dee9; /* Color of links in menu */
--MENU-SECTIONS-LINK-HOVER-color: #eceff4; /* Color of links in menu, when hovered */
--MENU-SECTION-ACTIVE-CATEGORY-color: #e5e9f0; /* Color of active category text */
--MENU-SECTION-ACTIVE-CATEGORY-BG-color: #4c566a; /* Color of background for the active category (only) */
--MENU-VISITED-color: #33a1ff; /* Color of 'page visited' icons in menu */
--MENU-SECTION-HR-color: #ff0000; /* Color of <hr> separator in menu */
}
body {
color: var(--MAIN-TEXT-color) !important;
background-color: #3b4252;
}
textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
border-color: none;
box-shadow: none;
}
h1, h2, h3, h4, h5 {
color: var(--MAIN-TITLES-TEXT-color) !important;
}
a {
color: var(--MAIN-LINK-color);
}
.anchor {
color: var(--MAIN-ANCHOR-color);
}
a:hover {
color: var(--MAIN-LINK-HOVER-color);
}
#sidebar ul li.visited > a .read-icon {
color: var(--MENU-VISITED-color);
}
#body a.highlight:after {
display: block;
content: "";
height: 1px;
width: 0%;
-webkit-transition: width 0.5s ease;
-moz-transition: width 0.5s ease;
-ms-transition: width 0.5s ease;
transition: width 0.5s ease;
background-color: var(--MAIN-LINK-HOVER-color);
}
#sidebar {
background-color: var(--MENU-SECTIONS-BG-color);
}
#sidebar #header-wrapper {
background: var(--MENU-HEADER-BG-color);
color: var(--MENU-SEARCH-BOX-color);
border-color: var(--MENU-HEADER-BORDER-color);
}
#sidebar .searchbox {
border-color: var(--MENU-SEARCH-BOX-color);
background: var(--MENU-SEARCH-BG-color);
}
#sidebar ul.topics > li.parent, #sidebar ul.topics > li.active {
background: var(--MENU-SECTIONS-ACTIVE-BG-color);
}
#sidebar .searchbox * {
color: var(--MENU-SEARCH-BOX-ICONS-color);
}
#sidebar a {
color: var(--MENU-SECTIONS-LINK-color);
}
#sidebar a:hover {
color: var(--MENU-SECTIONS-LINK-HOVER-color);
}
#sidebar ul li.active > a {
background: var(--MENU-SECTION-ACTIVE-CATEGORY-BG-color);
color: var(--MENU-SECTION-ACTIVE-CATEGORY-color) !important;
}
#sidebar hr {
border-color: var(--MENU-SECTION-HR-color);
}
#top-bar {
background: #4c566a;
}
.hljs, pre {
background: #2e3440 !important;
color: #eceff4;
}
code {
color: #eceff4;
background: #2e3440;
border: 1px;
}
.copy-to-clipboard {
background-color:#d8dee9;
}
.copy-to-clipboard:hover {
background-color:#e5e9f0;
}
pre .copy-to-clipboard {
background-color:#d8dee9;
}
pre .copy-to-clipboard:hover {
background-color:#e5e9f0;
}
#body .tags a.tag-link {
background: #434c5e;
}
#body .tags a.tag-link::before {
border-right-color: #434c5e;
}
blockquote {
border-left: 5px solid #638897;
}
blockquote p {
color: #eceff4;
}
th {
background: none;
}

BIN
static/favicon-16x16.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
static/favicon-32x32.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
static/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/mstile-150x150.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

104
static/pgpkey.asc

@ -0,0 +1,104 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=TTsT
-----END PGP PUBLIC KEY BLOCK-----

2944
static/safari-pinned-tab.svg

File diff suppressed because it is too large

After

Width:  |  Height:  |  Size: 194 KiB

19
static/site.webmanifest

@ -0,0 +1,19 @@
{
"name": "",
"short_name": "",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

10
static/twtxt.txt

@ -0,0 +1,10 @@
2021-01-08T11:43:44-05:00 Hello! I'm experimenting with twtxt as a complement to Mastodon and other services. Watch this space.
2021-01-08T11:46:27-05:00 Oops, that wasn't quite right. Let's try that again.
2021-01-08T21:23:19-05:00 Experimenting with Gemini tonight. Check out gemini://tilde.team/~mcornick/ for the first draft!
2021-01-11T12:25:29-05:00 UNIX - the operating system that refused to die: https://mcornick.com/blog/2021/01/11/unix-the-operating-system-that-refused-to-die/
2021-01-11T20:05:38-05:00 Episode 2: Our Own Correspondent https://mcornick.com/show/2021/01/12/episode-2/
2021-01-17T19:48:57-05:00 Moose Hour is cancelled for this week, but I will be back next week, same Moose-time, same Moose-station (https://tilderadio.org/)
2021-01-23T09:58:13-05:00 My Home VPS Test Lab: https://mcornick.com/blog/2021/01/23/my-home-vps-test-lab/
2021-01-25T20:04:51-05:00 Episode 3: "New Day Rising": https://mcornick.com/show/2021/01/26/episode-3/
2021-02-01T23:30:03-05:00 Episode 4: "THINK": https://mcornick.com/show/2021/02/02/episode-4/
2021-02-07T18:17:16-05:00 This feed has been discontinued. Thanks for reading! You can follow me on Mastodon at https://tilde.zone/@mcornick/

1
themes/hugo-theme-learn

@ -0,0 +1 @@
Subproject commit 0c0b906ae12f740c89c2d746060e58a3bf5ffb99

3
toot-recent-blog.py

@ -0,0 +1,3 @@
#!/usr/bin/env python3
import tooter
tooter.toot_most_recent('blog')

3
toot-recent-show.py

@ -0,0 +1,3 @@
#!/usr/bin/env python3
import tooter
tooter.toot_most_recent('show', True)

26
tooter.py

@ -0,0 +1,26 @@
import csv
import io
import re
import requests
import subprocess
def toot_most_recent(section, include_text=False):
subprocess.check_output(['hugo'])
stream = io.StringIO(subprocess.run(
['hugo', 'list', 'all'], stdout=subprocess.PIPE
).stdout.decode('utf-8'))
posts = [p for p in csv.DictReader(stream) if re.match(
r'^content/{}'.format(section),
p['path']
)]
last_post = sorted(posts, key=lambda p: p['date'])[-1]
status = "{}: {}".format(last_post['title'], last_post['permalink'])
if include_text:
text = ''.join(open(last_post['path']).readlines()[7:])
status += '\n\n{}'.format(text)
token = open('usercred.secret').read().strip()
url = 'https://tilde.zone/api/v1/statuses'
auth = {'Authorization': 'Bearer {}'.format(token)}
params = {'status': status}
requests.post(url, data=params, headers=auth)
Loading…
Cancel
Save