various enhancements, including valid atom and rss feeds
authorAmin Bandali <bandali@gnu.org>
Sat, 12 Dec 2020 06:13:21 +0000 (01:13 -0500)
committerAmin Bandali <bandali@gnu.org>
Sat, 12 Dec 2020 06:13:21 +0000 (01:13 -0500)
GNUmakefile
arch-macbook-air.m4
computing.m4
header.html
index.m4
meta_feed_atom.m4
meta_feed_rss.m4

index 4eaaf04..bbf2bb5 100644 (file)
@@ -7,8 +7,9 @@ all: $(OUTPUTS) out/notes.atom out/notes.rss out/style.css out/GNUmakefile $(STA
 out/%.html: %.m4 header.html footer.html
        @mkdir -p $(@D)
        m4 $< > $@
-out/notes.atom: meta_feed_atom.m4 ; m4 $< > $@
-out/notes.rss: meta_feed_rss.m4 ; m4 $< > $@
+out/notes.%: meta_feed_%.m4 $(SRC) header.html footer.html
+       m4 $< > $@
+       sed -i 's|href="/\([^/]\)|href="https://bndl.org/\1|' $@
 out/GNUmakefile: GNUmakefile ; ln -s $(PWD)/$< $@
 $(STATIC): ; ln -s $(PWD)/static/$(@F) $@
 
@@ -25,7 +26,7 @@ clean:
 
 deploy:
        rsync -avzLP out/ abandali@bndl.org:www/bndl.org/
-       ssh abandali@bndl.org mv www/bndl.org/.htaccess-www www/.htaccess
+#      ssh abandali@bndl.org mv www/bndl.org/.htaccess-www www/.htaccess
 
 watch:
        while true; do \
index 4435a94..d1991c8 100644 (file)
@@ -8,9 +8,9 @@ include(header.html)dnl
 <p>This post summarizes how I install and dual-boot Arch GNU/Linux
 with Full-Disk Encryption alongside macOS.  It is not meant to be a
 replacement for the
-<a href="//wiki.archlinux.org/index.php/installation%5Fguide">Installation
+<a href="https://wiki.archlinux.org/index.php/installation%5Fguide">Installation
 Guide</a> or the former
-<a href="//csdietz.github.io/arch-beginner-guide/">Beginner's
+<a href="https://csdietz.github.io/arch-beginner-guide/">Beginner's
 Guide</a>.  Rather, it mostly serves as a small summary with a few
 useful notes about the gotchas.</p>
 
@@ -32,7 +32,7 @@ then come back!</p>
 <h2>Creating a bootable Arch Installer USB</h2>
 <p>There are different ways of creating a bootable Arch USB, all
 documented on the
-<a href="//wiki.archlinux.org/index.php/USB%5Fflash%5Finstallation%5Fmedia">USB
+<a href="https://wiki.archlinux.org/index.php/USB%5Fflash%5Finstallation%5Fmedia">USB
 flash installation media</a> page on the Arch wiki, but the simplest
 one is using <code>dd</code> if you already have access to another
 UNIX system.</p>
@@ -80,13 +80,13 @@ status</code>.</p>
 
 <h2>Partitioning</h2>
 <p>I won't dive into partitioning and instead, I will refer you to the
-<a href="//wiki.archlinux.org/index.php/Partitioning">Partitioning</a>
+<a href="https://wiki.archlinux.org/index.php/Partitioning">Partitioning</a>
 page of Arch wiki.  Of the available partitioning tools, I personally
 prefer <code>cfdisk</code>.</p>
 
 <h2>Setting up LVM &amp; LUKS</h2>
 <p>I use an
-<a href="//wiki.archlinux.org/index.php/Dm-crypt/Encrypting%5Fan%5Fentire%5Fsystem#LVM%5Fon%5FLUKS">LVM
+<a href="https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting%5Fan%5Fentire%5Fsystem#LVM%5Fon%5FLUKS">LVM
 on LUKS</a> setup, where I set up LVM on top of the encrypted
 partition.</p>
 
@@ -100,7 +100,7 @@ cryptsetup -v --cipher aes-xts-plain64 --key-size 512 --hash sha512 \
 <p>where <code>/dev/sdaX</code> is the partition you created in the
 last step (e.g. <code>/dev/sda4</code>).  For more information about
 the <code>cryptsetup</code> options, see the
-<a href="//wiki.archlinux.org/index.php/Dm-crypt/Device%5Fencryption#Encryption%5Foptions%5Ffor%5FLUKS%5Fmode">LUKS
+<a href="https://wiki.archlinux.org/index.php/Dm-crypt/Device%5Fencryption#Encryption%5Foptions%5Ffor%5FLUKS%5Fmode">LUKS
 encryption options</a>.</p>
 
 <p>Then we open the container:</p>
@@ -234,9 +234,9 @@ reboot
 <p>Congratulations!  You now have a minimal Arch installation.</p>
 
 <p>At this point, I usually install my favorite AUR helper,
-<a href="//aur.archlinux.org/packages/pacaur/">pacaur</a>, then I
-install the
-<a href="//aur.archlinux.org/packages/mba6x%5Fbl-dkms/">mba6x_bl-dkms</a>
+<a href="https://aur.archlinux.org/packages/pacaur/">pacaur</a>, then
+install the
+<a href="https://aur.archlinux.org/packages/mba6x%5Fbl-dkms/">mba6x_bl-dkms</a>
 backlight driver to fix the post suspend/resume issue where there's no
 brightness after waking up from suspend, and the only available
 brightness would be 100%.</p>
@@ -256,7 +256,7 @@ pacaur -S mba6x_bl-dkms
 </ul>
 
 <p>Check out the
-<a href="//wiki.archlinux.org/index.php/General%5Frecommendations">General
+<a href="https://wiki.archlinux.org/index.php/General%5Frecommendations">General
 recommendations</a> for more details.</p>
 
 <h2>References</h2>
@@ -264,12 +264,12 @@ recommendations</a> for more details.</p>
 bits and pieces, about installing Arch on a MacBook:</p>
 
 <ul>
-<li><a href="//github.com/pandeiro/arch-on-air">pandeiro/arch-on-air</a></li>
-<li><a href="//loicpefferkorn.net/2015/01/arch-linux-on-macbook-pro-retina-2014-with-dm-crypt-lvm-and-suspend-to-disk/">Arch Linux on MacBook Pro Retina 2014 with DM-Crypt, LVM and suspend to disk</a></li>
-<li><a href="//www.frankshin.com/2014/installing-archlinux-on-macbook-air-2013/">Installing Archlinux on Macbook Air 2013</a></li>
+<li><a href="https://github.com/pandeiro/arch-on-air">pandeiro/arch-on-air</a></li>
+<li><a href="https://loicpefferkorn.net/2015/01/arch-linux-on-macbook-pro-retina-2014-with-dm-crypt-lvm-and-suspend-to-disk/">Arch Linux on MacBook Pro Retina 2014 with DM-Crypt, LVM and suspend to disk</a></li>
+<li><a href="https://www.frankshin.com/2014/installing-archlinux-on-macbook-air-2013/">Installing Archlinux on Macbook Air 2013</a></li>
 <li><a href="http://panks.me/posts/2013/06/arch-linux-installation-with-os-x-on-macbook-air-dual-boot/">Arch Linux Installation with OS X on Macbook Air (Dual Boot)</a></li>
-<li><a href="//alexeyzabelin.com/arch-on-mac">Installing Arch Linux on a MacBook Air 2013</a></li>
-<li><a href="//medium.com/phils-thought-bubble-of-recent-stuff/arch-linux-running-on-my-macbook-2ea525ebefe3">Arch Linux running on my MacBook</a></li>
+<li><a href="https://alexeyzabelin.com/arch-on-mac">Installing Arch Linux on a MacBook Air 2013</a></li>
+<li><a href="https://medium.com/phils-thought-bubble-of-recent-stuff/arch-linux-running-on-my-macbook-2ea525ebefe3">Arch Linux running on my MacBook</a></li>
 <li><a href="http://codylittlewood.com/arch-linux-on-macbook-pro-installation/">Dual boot Arch Linux on MacBook Pro Installation</a></li>
 </ul>
 
index 8b647ac..9b65cdd 100644 (file)
@@ -5,52 +5,53 @@ define(__upd, 2020-07-17T12:00:00Z)dnl
 define(__id, 2)dnl
 include(header.html)dnl
 
-<p class="box">Inspired by the computing pages of
-<a href="//stallman.org/stallman-computing.html">rms</a> and
-<a href="//blog.vimuser.org/leah-computing.html">Leah Rowe</a>.</p>
+<p class="box">Inspired by the computing page of
+<a href="https://stallman.org/stallman-computing.html">rms</a>.</p>
 
 <h2>Computers</h2>
-<p>My <a href="//libreboot.org">librebooted</a> ThinkPad X200 computer
-is the machine I use the most and where I do most of my computing.  I
-also have the privilege of having access to a fleet of servers through
-our school's
-<a href="//csclub.uwaterloo.ca">Computer Science Club</a> that I use
-for some more computationally intensive tasks every now and again, and
-also for hosting this very website.</p>
+<p>My <a href="https://libreboot.org">librebooted</a> ThinkPad X200
+computer is the machine I use the most and where I do most of my
+computing.  I also have the privilege of having access to a fleet of
+servers through our school's
+<a href="https://csclub.uwaterloo.ca">Computer Science Club</a> that I
+use for some more computationally intensive tasks every now and again,
+and also for hosting this very website.</p>
 
 <h2>GNU/Linux distributions</h2>
 <p>I have used a wide variety of GNU/Linux distros over the years; but
 as of late, I find myself using
-<a href="//trisquel.info">Trisquel</a>,
-<a href="//guix.gnu.org">Guix System</a>, and
-<a href="//www.debian.org">Debian</a> (with no <code>contrib</code> or
-<code>non-free</code>) almost exclusively.  For the kernel, I mostly
-use <a href="//www.fsfla.org/ikiwiki/selibre/linux-libre/">GNU
+<a href="https://trisquel.info">Trisquel</a>,
+<a href="https://guix.gnu.org">Guix System</a>, and
+<a href="https://www.debian.org">Debian</a> (with
+no <code>contrib</code> or <code>non-free</code>) almost exclusively.
+For the kernel, I mostly use
+<a href="https://www.fsfla.org/ikiwiki/selibre/linux-libre/">GNU
 Linux-libre</a>.  Guix System comes with GNU Linux-libre out of the
 box, and on Debian-based distros I tend to install it from
-jxself's <a href="//jxself.org/linux-libre/">APT repository</a>.</p>
+jxself's <a href="https://jxself.org/linux-libre/">APT
+repository</a>.</p>
 
 <h2>Actual computing</h2>
 <p>I spend most of my time in
-<a href="//www.gnu.org/software/emacs/">GNU Emacs</a>.</p>
+<a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>.</p>
 <p>TODO: elaborate</p>
 
 <h2 id="colophon">Maintaining this site</h2>
 <p>I took a great amount of inspiration
-from <a href="//technomancy.us/colophon">Phil Hagelberg</a>'s setup.
-The pages of this site are written in plain HTML using GNU Emacs,
-with <a href="//gnu.org/s/m4">GNU M4</a> acting as a full-featured
-template engine.
+from <a href="https://technomancy.us/colophon">Phil Hagelberg</a>'s
+setup.  The pages of this site are written in plain HTML using GNU
+Emacs, with <a href="https://gnu.org/s/m4">GNU M4</a> acting as a
+full-featured template engine.
 A <a href="/GNUmakefile"><code>GNUmakefile</code></a> provides
 convenient <code>make</code> rules to build and publish the site.  The
 bibliography of my <a href="/publications">publications</a> is
 generated from <a href="/bandali.bib"><code>bandali.bib</code></a>
-using <a href="//www.lri.fr/~filliatr/bibtex2html/">bibtex2html</a>,
-and further processed and put together
-using <a href="//gnu.org/s/sed">GNU sed</a> and another
-<code>GNUmakefile</code>.  The git repository containing all the
-sources used to build this site is
-available <a href="//git.emacsconf.org/bandali/bndl.org">here</a>.</p>
+using <a href="https://www.lri.fr/~filliatr/bibtex2html/">bibtex2html</a>,
+and further processed and put together using
+<a href="https://gnu.org/s/sed">GNU sed</a> and
+another <code>GNUmakefile</code>.  The git repository containing all
+the sources used to build this site is available
+<a href="https://git.emacsconf.org/bandali/bndl.org">here</a>.</p>
 
 define(__copy, `2019, 2020')dnl
 include(footer.html)dnl
index 3a14408..9371905 100644 (file)
@@ -3,9 +3,9 @@ ifdef(`__slug',,`define(__slug, _get(`notes', __id))')dnl
 ifdef(`__feed_atom',
 `<entry xml:base="https://bndl.org">
 <author><name>bandali</name></author>
-<id>tag:bndl.org,atom,notes:__slug</id>
+<id>tag:bndl.org,2020:notes.atom:__slug</id>
 <published>__pub</published>
-<updated>__upd</updated>
+ifdef(`__upd',`<updated>__upd</updated>',`<updated>__pub</updated>')
 <link href="https://bndl.org/__slug" rel="alternate" type="text/html"/>
 <title>__title</title>
 <content type="html">',
@@ -13,8 +13,9 @@ ifdef(`__feed_atom',
 `<item>
 <title>__title</title>
 <link>https://bndl.org/__slug</link>
-<guid isPermaLink="false">tag:bndl.org,rss,notes:__slug</guid>
+<guid isPermaLink="false">tag:bndl.org,2020:notes.rss:__slug</guid>
 <pubDate>syscmd(date "-uRd __pub" | tr -d \\n)</pubDate>
+ifdef(`__upd',`<atom:updated>__upd</atom:updated>')dnl
 <description>',
 `<!doctype html>
 <html lang="en">
@@ -23,7 +24,8 @@ ifdef(`__feed_atom',
 <meta name="author" content="bandali"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>__title`'ifdef(`__nts',,` &mdash; bandali')</title>
-<link rel="alternate" href="/atom.xml" type="application/atom+xml"/>
+<link rel="alternate" href="/notes.atom" type="application/atom+xml"/>
+<link rel="alternate" href="/notes.rss" type="application/rss+xml"/>
 <link rel="icon" href="/gnu.ico"/>
 <link rel="stylesheet" href="/style.css"/>
 <link rel="index" href="/"/>
index 02fc07d..23c4639 100644 (file)
--- a/index.m4
+++ b/index.m4
@@ -6,45 +6,45 @@ include(header.html)dnl
 
 <section id="intro" class="justify">
 <p>Hi, I'm bandali.  I am
-a <a href="//www.gnu.org/philosophy/free-sw.html">free software</a>
-activist and a computing scientist.  I graduated from the University
-of Waterloo with a <a href="/mmath">Master of Mathematics</a> degree
-in Computer Science, where I did research in formal logic, model
-checking, and verification supervised
-by <a href="//cs.uwaterloo.ca/~nday/">Prof. Nancy Day</a>, with the
-main goal of improving <strong>software and systems
+a <a href="https://www.gnu.org/philosophy/free-sw.html">free
+software</a> activist and a computing scientist.  I graduated from the
+University of Waterloo with a <a href="/mmath">Master of
+Mathematics</a> degree in Computer Science, where I did research in
+formal logic, model checking, and verification supervised
+by <a href="https://cs.uwaterloo.ca/~nday/">Prof. Nancy Day</a>, with
+the main goal of improving <strong>software and systems
 reliability</strong> through application of
-<a href="//en.wikipedia.org/wiki/Formal_methods">formal methods</a>.
-My research areas of interest include programming languages, proof
-assistants, and their type systems.</p>
+<a href="https://en.wikipedia.org/wiki/Formal_methods">formal
+methods</a>.  My research areas of interest include programming
+languages, proof assistants, and their type systems.</p>
 
 <p>I am currently employed
-by <a href="//savoirfairelinux.com/en">Savoir-faire Linux</a> as a
-Free Software Consultant, where I get to hack on various parts
-of <a href="//jami.net">Jami</a>, work with the maintainers of Jami
-packages in various GNU/Linux distributions like Debian and Trisquel
-to help keep up-to-date the version of Jami available in the official
-repositories of those distributions, and generally serve as a
+by <a href="https://savoirfairelinux.com/en">Savoir-faire Linux</a> as
+Free Software Consultant, where I get to hack on various parts
+of <a href="https://jami.net">Jami</a>, work with the maintainers of
+Jami packages in various GNU/Linux distributions like Debian and
+Trisquel to help keep up-to-date the version of Jami available in the
+official repositories of those distributions, and generally serve as a
 community liaison between the Jami core development team and the wider
 free software community around Jami.  To be sure, the views or
 opinions expressed on this site are solely my own, and do not
 necessarily represent those of my employer or anyone else.</p>
 
-<p>On the side, I
-enjoy <a href="//stallman.org/articles/on-hacking.html">hacking</a>
-on <a href="//www.gnu.org/software/emacs/manual/elisp.html">Emacs
-Lisp</a>.  I'm a
-GNU <a href="//www.gnu.org/people/people.html#bandali">maintainer</a>,
-<a href="//www.gnu.org/people/webmeisters.html#bandali">webmaster</a>,
-and <a href="//savannah.gnu.org/maintenance/SavannahHacker/">Savannah
-hacker</a>; and an <a href="//www.fsf.org/associate/">associate
+<p>On the side, I enjoy
+<a href="https://stallman.org/articles/on-hacking.html">hacking</a> on
+<a href="https://www.gnu.org/software/emacs/manual/elisp.html">Emacs
+Lisp</a>.  I'm a GNU
+<a href="https://www.gnu.org/people/people.html#bandali">maintainer</a>,
+<a href="https://www.gnu.org/people/webmeisters.html#bandali">webmaster</a>,
+and <a href="https://savannah.gnu.org/maintenance/SavannahHacker/">Savannah
+hacker</a>; and an <a href="https://www.fsf.org/associate/">associate
 member</a> of the Free Software Foundation (FSF).  I'm currently the
-chief organizer of the <a href="//emacsconf.org">EmacsConf</a>
+chief organizer of the <a href="https://emacsconf.org">EmacsConf</a>
 conference, and the co-host of the
-<a href="//emacsel.com">Emacs.el</a> podcast with
-<a href="//www.pygopar.com">Daniel Gopar</a>.  I am also a member of
+<a href="https://emacsel.com">Emacs.el</a> podcast with
+<a href="https://www.pygopar.com">Daniel Gopar</a>.  I am also a member of
 the Systems Committee of the
-<a href="//csclub.uwaterloo.ca">Computer Science Club</a> of the
+<a href="https://csclub.uwaterloo.ca">Computer Science Club</a> of the
 University of Waterloo.</p>
 </section>
 
index d9da718..72ac296 100644 (file)
@@ -2,8 +2,9 @@ include(meta_defs.m4)dnl
 <?xml version="1.0" encoding="UTF-8"?>
 <feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
 <title>Amin Bandali's Personal Site</title>
-<id>tag:bndl.org,atom,notes/</id>
+<id>tag:bndl.org,2020:notes.atom</id>
 <link href="https://bndl.org/notes.atom" rel="self" type="application/atom+xml"/>
+<link href="https://bndl.org/notes.rss" rel="alternate" type="application/rss+xml" />
 <link href="https://bndl.org" rel="alternate" type="text/html"/>
 <updated>syscmd(date -Iseconds -u | tr -d \\n)</updated>
 define(__feed_atom)dnl
index c0e30c9..a9feeb3 100644 (file)
@@ -1,6 +1,6 @@
 include(meta_defs.m4)dnl
 <?xml version="1.0" encoding="UTF-8" ?>
-<rss version="2.0">
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
 <channel>
 <title>Amin Bandali's Personal Site</title>
 <description>Notes and blog posts by Amin Bandali</description>
@@ -8,6 +8,9 @@ include(meta_defs.m4)dnl
 <lastBuildDate>syscmd(date -uR | tr -d \\n)</lastBuildDate>
 <pubDate>syscmd(date -uR | tr -d \\n)</pubDate>
 <ttl>1800</ttl>
+<atom:link href="https://bndl.org/notes.rss" rel="self" type="application/rss+xml" />
+<atom:link href="https://bndl.org/notes.atom" rel="alternate" type="application/atom+xml" />
+<atom:link href="https://bndl.org" rel="alternate" type="text/html" />
 define(__feed_rss)dnl
 define(`fordown',`ifelse($#,0,``$0'',`ifelse(eval($2>=$3),1,
   `pushdef(`$1',$2)$4`'popdef(`$1')$0(`$1',decr($2),$3,`$4')')')')