Thicket data repository for the EEG
1{
2 "id": "https://ryan.freumh.org/2025-02-25.html",
3 "title": "25 Feb 2025",
4 "link": "https://ryan.freumh.org/2025-02-25.html",
5 "updated": "2025-02-25T00:00:00",
6 "published": "2025-02-25T00:00:00",
7 "summary": "<div>\n <span> Previous: <a href=\"2025-02-17.html\">17 Feb 2025</a> </span>\n <span> Next: <a href=\"2025-03-03.html\"> 3 Mar 2025</a> </span>\n </div>\n \n \n\n <ol>\n<li><p><span>Babel: opam repository with <a href=\"https://github.com/RyanGibb/pubgrub-opam\">pubgrub-opam</a></span></p>\n<ol>\n<li><p><span>A Debian/Alpine encoding in PubGrub, which I\nthink should be much simpler than Opam</span></p>\n<ol>\n<li><p><span><span>X</span> Got the basics\nin <a href=\"https://github.com/RyanGibb/pubgrub-debian\">pubgrub-debian</a></span></p>\n<p><span>Here’s a solve of openssh-server:</span></p>\n<pre><code>(openssh-server, 1:7.9p1-10+deb10u2) -> (libssl1.1, >=1.1.1), (openssh-client, 1:7.9p1-10+deb10u2), (libc6, >=2.26), (libcom-err2, >=1.43.9), (procps, *), (lsb-base, >=4.1+Debian3), (libaudit1, >=1:2.2.1), (dpkg, >=1.9.0), (ucf, >=0.28), (libselinux1, >=1.32), (libgssapi-krb5-2, >=1.17), (libsystemd0, *), (debconf: >=0.5 | debconf-2.0: *, *), (libpam0g, >=0.99.7.1), (openssh-sftp-server, *), (libpam-runtime, >=0.76-14), (libpam-modules, >=0.72-9), (zlib1g, >=1:1.1.4), (adduser, >=3.9), (libkrb5-3, >=1.13~alpha1+dfsg), (libwrap0, >=7.6-4~)\n(libssl1.1, 1.1.1n-0+deb10u3) -> (libc6, >=2.25), (debconf: >=0.5 | debconf-2.0: *, *)\n(openssh-client, 1:7.9p1-10+deb10u2) -> (dpkg, >=1.7.0), (libselinux1, >=1.32), (libssl1.1, >=1.1.1), (libgssapi-krb5-2, >=1.17), (libc6, >=2.26), (libedit2, >=2.11-20080614-0), (passwd, *), (adduser, >=3.10), (zlib1g, >=1:1.1.4)\n(libc6, 2.28-10+deb10u1) -> (libgcc1, *)\n(libcom-err2, 1.44.5-1+deb10u3) -> (libc6, >=2.17)\n(procps, 2:3.3.15-2) -> (libtinfo6, >=6), (lsb-base, >=3.0-10), (libprocps7, >=2:3.3.15-1), (init-system-helpers, >=1.29~), (libc6, >=2.27), (libncurses6, >=6), (libncursesw6, >=6)\n(lsb-base, 10.2019051400)\n(libaudit1, 1:2.8.4-3) -> (libcap-ng0, >=0.7.9), (libaudit-common, >=1:2.8.4-3), (libc6, >=2.14)\n(dpkg, 1.19.8) -> (tar, >=1.28-1)\n(ucf, 3.0038+nmu1) -> (sensible-utils, *), (coreutils, >=5.91), (debconf, >=1.5.19)\n(libselinux1, 2.8-1+b1) -> (libpcre3, *), (libc6, >=2.14)\n(libgssapi-krb5-2, 1.17-3+deb10u4) -> (libkeyutils1, >=1.4), (libkrb5support0, >=1.15~beta1), (libkrb5-3, 1.17-3+deb10u4), (libc6, >=2.27), (libk5crypto3, >=1.16), (libcom-err2, >=1.43.9)\n(libsystemd0, 241-7~deb10u8)\n(debconf: >=0.5 | debconf-2.0: *, debconf) -> (debconf, >=0.5)\n(libpam0g, 1.3.1-5) -> (libc6, >=2.14), (debconf: >=0.5 | debconf-2.0: *, *), (libaudit1, >=1:2.2.1)\n(openssh-sftp-server, 1:7.9p1-10+deb10u2) -> (libc6, >=2.26), (openssh-client, 1:7.9p1-10+deb10u2)\n(libpam-runtime, 1.3.1-5) -> (debconf: >=0.5 | debconf-2.0: *, *), (debconf: >=1.5.19 | cdebconf: *, *), (libpam-modules, >=1.0.1-6)\n(libpam-modules, 1.3.1-5)\n(zlib1g, 1:1.2.11.dfsg-1+deb10u1) -> (libc6, >=2.14)\n(adduser, 3.118) -> (debconf: >=0.5 | debconf-2.0: *, *), (passwd, *)\n(libkrb5-3, 1.17-3+deb10u4) -> (libkeyutils1, >=1.5.9), (libssl1.1, >=1.1.0), (libkrb5support0, 1.17-3+deb10u4), (libc6, >=2.16), (libk5crypto3, >=1.15~beta1), (libcom-err2, >=1.43.9)\n(libwrap0, 7.6.q-28) -> (libc6, >=2.14)\n(libedit2, 3.1-20181209-1) -> (libtinfo6, >=6), (libc6, >=2.14), (libbsd0, >=0.0)\n(passwd, 1:4.5-1.1) -> (libselinux1, >=1.32), (libpam-modules, *), (libsemanage1, >=2.0.3), (libc6, >=2.14), (libpam0g, >=0.99.7.1), (libaudit1, >=1:2.2.1)\n(libgcc1, 1:8.3.0-6) -> (libc6, >=2.14), (gcc-8-base, 8.3.0-6)\n(libtinfo6, 6.1+20181013-2+deb10u2) -> (libc6, >=2.16)\n(libprocps7, 2:3.3.15-2) -> (libsystemd0, >=209), (libc6, >=2.14)\n(init-system-helpers, 1.56+nmu1) -> (perl-base, >=5.20.1-3)\n(libncurses6, 6.1+20181013-2+deb10u2) -> (libtinfo6, 6.1+20181013-2+deb10u2), (libc6, >=2.14)\n(libncursesw6, 6.1+20181013-2+deb10u2) -> (libtinfo6, 6.1+20181013-2+deb10u2), (libc6, >=2.14)\n(libcap-ng0, 0.7.9-2) -> (libc6, >=2.8)\n(libaudit-common, 1:2.8.4-3)\n(tar, 1.30+dfsg-6)\n(sensible-utils, 0.0.12)\n(coreutils, 8.30-3)\n(debconf, 1.5.71+deb10u1)\n(libpcre3, 2:8.39-12) -> (libc6, >=2.14)\n(libkeyutils1, 1.6-6) -> (libc6, >=2.14)\n(libkrb5support0, 1.17-3+deb10u4) -> (libc6, >=2.14), (libkeyutils1, >=1.4)\n(libk5crypto3, 1.17-3+deb10u4) -> (libc6, >=2.14), (libkrb5support0, >=1.16), (libkeyutils1, >=1.4)\n(debconf: >=1.5.19 | cdebconf: *, debconf) -> (debconf, >=1.5.19)\n(libbsd0, 0.9.1-2+deb10u1) -> (libc6, >=2.25)\n(libsemanage1, 2.8-2) -> (libselinux1, >=2.8), (libsepol1, >=2.8), (libsemanage-common, 2.8-2), (libc6, >=2.14), (libbz2-1.0, *), (libaudit1, >=1:2.2.1)\n(gcc-8-base, 8.3.0-6)\n(perl-base, 5.28.1-6+deb10u1)\n(libsepol1, 2.8-1) -> (libc6, >=2.14)\n(libsemanage-common, 2.8-2)\n(libbz2-1.0, 1.0.6-9.2~deb10u1) -> (libc6, >=2.4)\n\nSolution Set:\n (libssl1.1, 1.1.1n-0+deb10u3)\n (libaudit-common, 1:2.8.4-3)\n (libprocps7, 2:3.3.15-2)\n (init-system-helpers, 1.56+nmu1)\n (libc6, 2.28-10+deb10u1)\n (libedit2, 3.1-20181209-1)\n (libcom-err2, 1.44.5-1+deb10u3)\n (libgcc1, 1:8.3.0-6)\n (libkeyutils1, 1.6-6)\n (libsemanage-common, 2.8-2)\n (libncursesw6, 6.1+20181013-2+deb10u2)\n (openssh-server, 1:7.9p1-10+deb10u2)\n (libaudit1, 1:2.8.4-3)\n (dpkg, 1.19.8)\n (ucf, 3.0038+nmu1)\n (libgssapi-krb5-2, 1.17-3+deb10u4)\n (libsystemd0, 241-7~deb10u8)\n (libpam0g, 1.3.1-5)\n (libpam-modules, 1.3.1-5)\n (passwd, 1:4.5-1.1)\n (libbz2-1.0, 1.0.6-9.2~deb10u1)\n (sensible-utils, 0.0.12)\n (libkrb5support0, 1.17-3+deb10u4)\n (adduser, 3.118)\n (libkrb5-3, 1.17-3+deb10u4)\n (libwrap0, 7.6.q-28)\n (libncurses6, 6.1+20181013-2+deb10u2)\n (libpcre3, 2:8.39-12)\n (openssh-client, 1:7.9p1-10+deb10u2)\n (libbsd0, 0.9.1-2+deb10u1)\n (libsemanage1, 2.8-2)\n (perl-base, 5.28.1-6+deb10u1)\n (tar, 1.30+dfsg-6)\n (procps, 2:3.3.15-2)\n (coreutils, 8.30-3)\n (debconf, 1.5.71+deb10u1)\n (libcap-ng0, 0.7.9-2)\n (libk5crypto3, 1.17-3+deb10u4)\n (lsb-base, 10.2019051400)\n (zlib1g, 1:1.2.11.dfsg-1+deb10u1)\n (libselinux1, 2.8-1+b1)\n (gcc-8-base, 8.3.0-6)\n (libsepol1, 2.8-1)\n (openssh-sftp-server, 1:7.9p1-10+deb10u2)\n (libpam-runtime, 1.3.1-5)\n (libtinfo6, 6.1+20181013-2+deb10u2)\n\nResolved Dependency Graph:\n (adduser, 3.118) -> (debconf, 1.5.71+deb10u1), (passwd, 1:4.5-1.1)\n (coreutils, 8.30-3)\n (debconf, 1.5.71+deb10u1)\n (dpkg, 1.19.8) -> (tar, 1.30+dfsg-6)\n (gcc-8-base, 8.3.0-6)\n (init-system-helpers, 1.56+nmu1) -> (perl-base, 5.28.1-6+deb10u1)\n (libaudit-common, 1:2.8.4-3)\n (libaudit1, 1:2.8.4-3) -> (libaudit-common, 1:2.8.4-3), (libc6, 2.28-10+deb10u1), (libcap-ng0, 0.7.9-2)\n (libbsd0, 0.9.1-2+deb10u1) -> (libc6, 2.28-10+deb10u1)\n (libbz2-1.0, 1.0.6-9.2~deb10u1) -> (libc6, 2.28-10+deb10u1)\n (libc6, 2.28-10+deb10u1) -> (libgcc1, 1:8.3.0-6)\n (libcap-ng0, 0.7.9-2) -> (libc6, 2.28-10+deb10u1)\n (libcom-err2, 1.44.5-1+deb10u3) -> (libc6, 2.28-10+deb10u1)\n (libedit2, 3.1-20181209-1) -> (libbsd0, 0.9.1-2+deb10u1), (libc6, 2.28-10+deb10u1), (libtinfo6, 6.1+20181013-2+deb10u2)\n (libgcc1, 1:8.3.0-6) -> (gcc-8-base, 8.3.0-6), (libc6, 2.28-10+deb10u1)\n (libgssapi-krb5-2, 1.17-3+deb10u4) -> (libc6, 2.28-10+deb10u1), (libcom-err2, 1.44.5-1+deb10u3), (libk5crypto3, 1.17-3+deb10u4), (libkeyutils1, 1.6-6), (libkrb5-3, 1.17-3+deb10u4), (libkrb5support0, 1.17-3+deb10u4)\n (libk5crypto3, 1.17-3+deb10u4) -> (libc6, 2.28-10+deb10u1), (libkeyutils1, 1.6-6), (libkrb5support0, 1.17-3+deb10u4)\n (libkeyutils1, 1.6-6) -> (libc6, 2.28-10+deb10u1)\n (libkrb5-3, 1.17-3+deb10u4) -> (libc6, 2.28-10+deb10u1), (libcom-err2, 1.44.5-1+deb10u3), (libk5crypto3, 1.17-3+deb10u4), (libkeyutils1, 1.6-6), (libkrb5support0, 1.17-3+deb10u4), (libssl1.1, 1.1.1n-0+deb10u3)\n (libkrb5support0, 1.17-3+deb10u4) -> (libc6, 2.28-10+deb10u1), (libkeyutils1, 1.6-6)\n (libncurses6, 6.1+20181013-2+deb10u2) -> (libc6, 2.28-10+deb10u1), (libtinfo6, 6.1+20181013-2+deb10u2)\n (libncursesw6, 6.1+20181013-2+deb10u2) -> (libc6, 2.28-10+deb10u1), (libtinfo6, 6.1+20181013-2+deb10u2)\n (libpam-modules, 1.3.1-5)\n (libpam-runtime, 1.3.1-5) -> (debconf, 1.5.71+deb10u1), (libpam-modules, 1.3.1-5)\n (libpam0g, 1.3.1-5) -> (debconf, 1.5.71+deb10u1), (libaudit1, 1:2.8.4-3), (libc6, 2.28-10+deb10u1)\n (libpcre3, 2:8.39-12) -> (libc6, 2.28-10+deb10u1)\n (libprocps7, 2:3.3.15-2) -> (libc6, 2.28-10+deb10u1), (libsystemd0, 241-7~deb10u8)\n (libselinux1, 2.8-1+b1) -> (libc6, 2.28-10+deb10u1), (libpcre3, 2:8.39-12)\n (libsemanage-common, 2.8-2)\n (libsemanage1, 2.8-2) -> (libaudit1, 1:2.8.4-3), (libbz2-1.0, 1.0.6-9.2~deb10u1), (libc6, 2.28-10+deb10u1), (libselinux1, 2.8-1+b1), (libsemanage-common, 2.8-2), (libsepol1, 2.8-1)\n (libsepol1, 2.8-1) -> (libc6, 2.28-10+deb10u1)\n (libssl1.1, 1.1.1n-0+deb10u3) -> (debconf, 1.5.71+deb10u1), (libc6, 2.28-10+deb10u1)\n (libsystemd0, 241-7~deb10u8)\n (libtinfo6, 6.1+20181013-2+deb10u2) -> (libc6, 2.28-10+deb10u1)\n (libwrap0, 7.6.q-28) -> (libc6, 2.28-10+deb10u1)\n (lsb-base, 10.2019051400)\n (openssh-client, 1:7.9p1-10+deb10u2) -> (adduser, 3.118), (dpkg, 1.19.8), (libc6, 2.28-10+deb10u1), (libedit2, 3.1-20181209-1), (libgssapi-krb5-2, 1.17-3+deb10u4), (libselinux1, 2.8-1+b1), (libssl1.1, 1.1.1n-0+deb10u3), (passwd, 1:4.5-1.1), (zlib1g, 1:1.2.11.dfsg-1+deb10u1)\n (openssh-server, 1:7.9p1-10+deb10u2) -> (adduser, 3.118), (debconf, 1.5.71+deb10u1), (dpkg, 1.19.8), (libaudit1, 1:2.8.4-3), (libc6, 2.28-10+deb10u1), (libcom-err2, 1.44.5-1+deb10u3), (libgssapi-krb5-2, 1.17-3+deb10u4), (libkrb5-3, 1.17-3+deb10u4), (libpam-modules, 1.3.1-5), (libpam-runtime, 1.3.1-5), (libpam0g, 1.3.1-5), (libselinux1, 2.8-1+b1), (libssl1.1, 1.1.1n-0+deb10u3), (libsystemd0, 241-7~deb10u8), (libwrap0, 7.6.q-28), (lsb-base, 10.2019051400), (openssh-client, 1:7.9p1-10+deb10u2), (openssh-sftp-server, 1:7.9p1-10+deb10u2), (procps, 2:3.3.15-2), (ucf, 3.0038+nmu1), (zlib1g, 1:1.2.11.dfsg-1+deb10u1)\n (openssh-sftp-server, 1:7.9p1-10+deb10u2) -> (libc6, 2.28-10+deb10u1), (openssh-client, 1:7.9p1-10+deb10u2)\n (passwd, 1:4.5-1.1) -> (libaudit1, 1:2.8.4-3), (libc6, 2.28-10+deb10u1), (libpam-modules, 1.3.1-5), (libpam0g, 1.3.1-5), (libselinux1, 2.8-1+b1), (libsemanage1, 2.8-2)\n (perl-base, 5.28.1-6+deb10u1)\n (procps, 2:3.3.15-2) -> (init-system-helpers, 1.56+nmu1), (libc6, 2.28-10+deb10u1), (libncurses6, 6.1+20181013-2+deb10u2), (libncursesw6, 6.1+20181013-2+deb10u2), (libprocps7, 2:3.3.15-2), (libtinfo6, 6.1+20181013-2+deb10u2), (lsb-base, 10.2019051400)\n (sensible-utils, 0.0.12)\n (tar, 1.30+dfsg-6)\n (ucf, 3.0038+nmu1) -> (coreutils, 8.30-3), (debconf, 1.5.71+deb10u1), (sensible-utils, 0.0.12)\n (zlib1g, 1:1.2.11.dfsg-1+deb10u1) -> (libc6, 2.28-10+deb10u1)\n</code></pre></li>\n<li><p><span><span>O</span> <a href=\"https://www.debian.org/doc/debian-policy/ch-relationships.html#virtual-packages-provides\">provides</a>\nwith virtual packages</span></p></li>\n<li><p><span><span>O</span> other fields\nincluding <a href=\"https://www.debian.org/doc/debian-policy/ch-relationships.html#binary-dependencies-depends-recommends-suggests-enhances-pre-depends\">recommends,\nsuggests</a>, <a href=\"https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts\">conflicts</a></span></p></li>\n<li><p><span><span>O</span> support\nsolving architecture</span></p>\n<p><span>currently we just ignore this field</span></p>\n<ol>\n<li><p><span><span>O</span> index\nrepositories for each architecture</span></p></li>\n</ol></li>\n</ol></li>\n<li><p><span><span>O</span> cross\necosystem resolutions between opam and debian</span></p></li>\n<li><p><span><span>O</span> read up on\nanswer set programming</span></p>\n<p><span><a href=\"https://pubgrub-rs-guide.pages.dev/internals/intro\">https://pubgrub-rs-guide.pages.dev/internals/intro</a>\nis a good starting point</span></p></li>\n</ol></li>\n<li><p><span>Teaching</span></p>\n<ol>\n<li><p><span>Supervision 3 of Robinson Computer\nNetworking</span></p>\n<ol>\n<li><p><span>Went over cyclic redundancy checks implemented\nin shift registers.</span></p>\n<p><span><img src=\"images/2025-02-24-crc.jpg\">\n<img src=\"images/2025-02-24-crc-whiteboard.jpg\"></span></p></li>\n<li><p><span>Showed a HTTPS request in wireshark</span></p>\n<p><span>An unnamed student was perturbed that IP addresses\nand ports were publicly visible for all their traffic. While IPsec /\nVPNs can encrypt IP traffic, it isn’t necessarily a requirement (despite\nadvertising claims).</span></p>\n<p><span>Below I include selection of Cloudflare blog posts\nto explain why a VPN isn’t necessarily necessary to browse the Web\nprivately and securely.</span></p>\n<ol>\n<li>DNS over HTTPS/TLS allows for encrypted DNS queries <a href=\"https://blog.cloudflare.com/dns-encryption-explained/\">https://blog.cloudflare.com/dns-encryption-explained/</a></li>\n<li>unbinding IP address from host names <a href=\"https://blog.cloudflare.com/addressing-agility/\">https://blog.cloudflare.com/addressing-agility/</a>\n(can you see any downsides to this centralisation in big reverse proxies\nlike Cloudflare?)</li>\n<li>encrypting the server name indicator (domain name) in the TLS\nhandshake <a href=\"https://blog.cloudflare.com/encrypted-client-hello/\">https://blog.cloudflare.com/encrypted-client-hello/</a></li>\n</ol>\n<p><span>also of interest:</span></p>\n<ul>\n<li>how to cryptographically authenticate DNS query answers</li>\n</ul>\n<p><span><a href=\"https://blog.cloudflare.com/dnssec-done-right/\">https://blog.cloudflare.com/dnssec-done-right/</a></span></p>\n<ul>\n<li>why IP blocking is bad <a href=\"https://blog.cloudflare.com/consequences-of-ip-blocking/\">https://blog.cloudflare.com/consequences-of-ip-blocking/</a></li>\n<li>depreciating a certain DNS query time as without the TCP 3-way\nhandshake it’s an attack vector for amplification attacks <a href=\"https://blog.cloudflare.com/what-happened-next-the-deprecation-of-any/\">https://blog.cloudflare.com/what-happened-next-the-deprecation-of-any/</a></li>\n</ul></li>\n</ol></li>\n</ol></li>\n</ol>",
8 "content": "<div>\n <span> Previous: <a href=\"2025-02-17.html\">17 Feb 2025</a> </span>\n <span> Next: <a href=\"2025-03-03.html\"> 3 Mar 2025</a> </span>\n </div>\n \n \n\n <ol>\n<li><p><span>Babel: opam repository with <a href=\"https://github.com/RyanGibb/pubgrub-opam\">pubgrub-opam</a></span></p>\n<ol>\n<li><p><span>A Debian/Alpine encoding in PubGrub, which I\nthink should be much simpler than Opam</span></p>\n<ol>\n<li><p><span><span>X</span> Got the basics\nin <a href=\"https://github.com/RyanGibb/pubgrub-debian\">pubgrub-debian</a></span></p>\n<p><span>Here’s a solve of openssh-server:</span></p>\n<pre><code>(openssh-server, 1:7.9p1-10+deb10u2) -> (libssl1.1, >=1.1.1), (openssh-client, 1:7.9p1-10+deb10u2), (libc6, >=2.26), (libcom-err2, >=1.43.9), (procps, *), (lsb-base, >=4.1+Debian3), (libaudit1, >=1:2.2.1), (dpkg, >=1.9.0), (ucf, >=0.28), (libselinux1, >=1.32), (libgssapi-krb5-2, >=1.17), (libsystemd0, *), (debconf: >=0.5 | debconf-2.0: *, *), (libpam0g, >=0.99.7.1), (openssh-sftp-server, *), (libpam-runtime, >=0.76-14), (libpam-modules, >=0.72-9), (zlib1g, >=1:1.1.4), (adduser, >=3.9), (libkrb5-3, >=1.13~alpha1+dfsg), (libwrap0, >=7.6-4~)\n(libssl1.1, 1.1.1n-0+deb10u3) -> (libc6, >=2.25), (debconf: >=0.5 | debconf-2.0: *, *)\n(openssh-client, 1:7.9p1-10+deb10u2) -> (dpkg, >=1.7.0), (libselinux1, >=1.32), (libssl1.1, >=1.1.1), (libgssapi-krb5-2, >=1.17), (libc6, >=2.26), (libedit2, >=2.11-20080614-0), (passwd, *), (adduser, >=3.10), (zlib1g, >=1:1.1.4)\n(libc6, 2.28-10+deb10u1) -> (libgcc1, *)\n(libcom-err2, 1.44.5-1+deb10u3) -> (libc6, >=2.17)\n(procps, 2:3.3.15-2) -> (libtinfo6, >=6), (lsb-base, >=3.0-10), (libprocps7, >=2:3.3.15-1), (init-system-helpers, >=1.29~), (libc6, >=2.27), (libncurses6, >=6), (libncursesw6, >=6)\n(lsb-base, 10.2019051400)\n(libaudit1, 1:2.8.4-3) -> (libcap-ng0, >=0.7.9), (libaudit-common, >=1:2.8.4-3), (libc6, >=2.14)\n(dpkg, 1.19.8) -> (tar, >=1.28-1)\n(ucf, 3.0038+nmu1) -> (sensible-utils, *), (coreutils, >=5.91), (debconf, >=1.5.19)\n(libselinux1, 2.8-1+b1) -> (libpcre3, *), (libc6, >=2.14)\n(libgssapi-krb5-2, 1.17-3+deb10u4) -> (libkeyutils1, >=1.4), (libkrb5support0, >=1.15~beta1), (libkrb5-3, 1.17-3+deb10u4), (libc6, >=2.27), (libk5crypto3, >=1.16), (libcom-err2, >=1.43.9)\n(libsystemd0, 241-7~deb10u8)\n(debconf: >=0.5 | debconf-2.0: *, debconf) -> (debconf, >=0.5)\n(libpam0g, 1.3.1-5) -> (libc6, >=2.14), (debconf: >=0.5 | debconf-2.0: *, *), (libaudit1, >=1:2.2.1)\n(openssh-sftp-server, 1:7.9p1-10+deb10u2) -> (libc6, >=2.26), (openssh-client, 1:7.9p1-10+deb10u2)\n(libpam-runtime, 1.3.1-5) -> (debconf: >=0.5 | debconf-2.0: *, *), (debconf: >=1.5.19 | cdebconf: *, *), (libpam-modules, >=1.0.1-6)\n(libpam-modules, 1.3.1-5)\n(zlib1g, 1:1.2.11.dfsg-1+deb10u1) -> (libc6, >=2.14)\n(adduser, 3.118) -> (debconf: >=0.5 | debconf-2.0: *, *), (passwd, *)\n(libkrb5-3, 1.17-3+deb10u4) -> (libkeyutils1, >=1.5.9), (libssl1.1, >=1.1.0), (libkrb5support0, 1.17-3+deb10u4), (libc6, >=2.16), (libk5crypto3, >=1.15~beta1), (libcom-err2, >=1.43.9)\n(libwrap0, 7.6.q-28) -> (libc6, >=2.14)\n(libedit2, 3.1-20181209-1) -> (libtinfo6, >=6), (libc6, >=2.14), (libbsd0, >=0.0)\n(passwd, 1:4.5-1.1) -> (libselinux1, >=1.32), (libpam-modules, *), (libsemanage1, >=2.0.3), (libc6, >=2.14), (libpam0g, >=0.99.7.1), (libaudit1, >=1:2.2.1)\n(libgcc1, 1:8.3.0-6) -> (libc6, >=2.14), (gcc-8-base, 8.3.0-6)\n(libtinfo6, 6.1+20181013-2+deb10u2) -> (libc6, >=2.16)\n(libprocps7, 2:3.3.15-2) -> (libsystemd0, >=209), (libc6, >=2.14)\n(init-system-helpers, 1.56+nmu1) -> (perl-base, >=5.20.1-3)\n(libncurses6, 6.1+20181013-2+deb10u2) -> (libtinfo6, 6.1+20181013-2+deb10u2), (libc6, >=2.14)\n(libncursesw6, 6.1+20181013-2+deb10u2) -> (libtinfo6, 6.1+20181013-2+deb10u2), (libc6, >=2.14)\n(libcap-ng0, 0.7.9-2) -> (libc6, >=2.8)\n(libaudit-common, 1:2.8.4-3)\n(tar, 1.30+dfsg-6)\n(sensible-utils, 0.0.12)\n(coreutils, 8.30-3)\n(debconf, 1.5.71+deb10u1)\n(libpcre3, 2:8.39-12) -> (libc6, >=2.14)\n(libkeyutils1, 1.6-6) -> (libc6, >=2.14)\n(libkrb5support0, 1.17-3+deb10u4) -> (libc6, >=2.14), (libkeyutils1, >=1.4)\n(libk5crypto3, 1.17-3+deb10u4) -> (libc6, >=2.14), (libkrb5support0, >=1.16), (libkeyutils1, >=1.4)\n(debconf: >=1.5.19 | cdebconf: *, debconf) -> (debconf, >=1.5.19)\n(libbsd0, 0.9.1-2+deb10u1) -> (libc6, >=2.25)\n(libsemanage1, 2.8-2) -> (libselinux1, >=2.8), (libsepol1, >=2.8), (libsemanage-common, 2.8-2), (libc6, >=2.14), (libbz2-1.0, *), (libaudit1, >=1:2.2.1)\n(gcc-8-base, 8.3.0-6)\n(perl-base, 5.28.1-6+deb10u1)\n(libsepol1, 2.8-1) -> (libc6, >=2.14)\n(libsemanage-common, 2.8-2)\n(libbz2-1.0, 1.0.6-9.2~deb10u1) -> (libc6, >=2.4)\n\nSolution Set:\n (libssl1.1, 1.1.1n-0+deb10u3)\n (libaudit-common, 1:2.8.4-3)\n (libprocps7, 2:3.3.15-2)\n (init-system-helpers, 1.56+nmu1)\n (libc6, 2.28-10+deb10u1)\n (libedit2, 3.1-20181209-1)\n (libcom-err2, 1.44.5-1+deb10u3)\n (libgcc1, 1:8.3.0-6)\n (libkeyutils1, 1.6-6)\n (libsemanage-common, 2.8-2)\n (libncursesw6, 6.1+20181013-2+deb10u2)\n (openssh-server, 1:7.9p1-10+deb10u2)\n (libaudit1, 1:2.8.4-3)\n (dpkg, 1.19.8)\n (ucf, 3.0038+nmu1)\n (libgssapi-krb5-2, 1.17-3+deb10u4)\n (libsystemd0, 241-7~deb10u8)\n (libpam0g, 1.3.1-5)\n (libpam-modules, 1.3.1-5)\n (passwd, 1:4.5-1.1)\n (libbz2-1.0, 1.0.6-9.2~deb10u1)\n (sensible-utils, 0.0.12)\n (libkrb5support0, 1.17-3+deb10u4)\n (adduser, 3.118)\n (libkrb5-3, 1.17-3+deb10u4)\n (libwrap0, 7.6.q-28)\n (libncurses6, 6.1+20181013-2+deb10u2)\n (libpcre3, 2:8.39-12)\n (openssh-client, 1:7.9p1-10+deb10u2)\n (libbsd0, 0.9.1-2+deb10u1)\n (libsemanage1, 2.8-2)\n (perl-base, 5.28.1-6+deb10u1)\n (tar, 1.30+dfsg-6)\n (procps, 2:3.3.15-2)\n (coreutils, 8.30-3)\n (debconf, 1.5.71+deb10u1)\n (libcap-ng0, 0.7.9-2)\n (libk5crypto3, 1.17-3+deb10u4)\n (lsb-base, 10.2019051400)\n (zlib1g, 1:1.2.11.dfsg-1+deb10u1)\n (libselinux1, 2.8-1+b1)\n (gcc-8-base, 8.3.0-6)\n (libsepol1, 2.8-1)\n (openssh-sftp-server, 1:7.9p1-10+deb10u2)\n (libpam-runtime, 1.3.1-5)\n (libtinfo6, 6.1+20181013-2+deb10u2)\n\nResolved Dependency Graph:\n (adduser, 3.118) -> (debconf, 1.5.71+deb10u1), (passwd, 1:4.5-1.1)\n (coreutils, 8.30-3)\n (debconf, 1.5.71+deb10u1)\n (dpkg, 1.19.8) -> (tar, 1.30+dfsg-6)\n (gcc-8-base, 8.3.0-6)\n (init-system-helpers, 1.56+nmu1) -> (perl-base, 5.28.1-6+deb10u1)\n (libaudit-common, 1:2.8.4-3)\n (libaudit1, 1:2.8.4-3) -> (libaudit-common, 1:2.8.4-3), (libc6, 2.28-10+deb10u1), (libcap-ng0, 0.7.9-2)\n (libbsd0, 0.9.1-2+deb10u1) -> (libc6, 2.28-10+deb10u1)\n (libbz2-1.0, 1.0.6-9.2~deb10u1) -> (libc6, 2.28-10+deb10u1)\n (libc6, 2.28-10+deb10u1) -> (libgcc1, 1:8.3.0-6)\n (libcap-ng0, 0.7.9-2) -> (libc6, 2.28-10+deb10u1)\n (libcom-err2, 1.44.5-1+deb10u3) -> (libc6, 2.28-10+deb10u1)\n (libedit2, 3.1-20181209-1) -> (libbsd0, 0.9.1-2+deb10u1), (libc6, 2.28-10+deb10u1), (libtinfo6, 6.1+20181013-2+deb10u2)\n (libgcc1, 1:8.3.0-6) -> (gcc-8-base, 8.3.0-6), (libc6, 2.28-10+deb10u1)\n (libgssapi-krb5-2, 1.17-3+deb10u4) -> (libc6, 2.28-10+deb10u1), (libcom-err2, 1.44.5-1+deb10u3), (libk5crypto3, 1.17-3+deb10u4), (libkeyutils1, 1.6-6), (libkrb5-3, 1.17-3+deb10u4), (libkrb5support0, 1.17-3+deb10u4)\n (libk5crypto3, 1.17-3+deb10u4) -> (libc6, 2.28-10+deb10u1), (libkeyutils1, 1.6-6), (libkrb5support0, 1.17-3+deb10u4)\n (libkeyutils1, 1.6-6) -> (libc6, 2.28-10+deb10u1)\n (libkrb5-3, 1.17-3+deb10u4) -> (libc6, 2.28-10+deb10u1), (libcom-err2, 1.44.5-1+deb10u3), (libk5crypto3, 1.17-3+deb10u4), (libkeyutils1, 1.6-6), (libkrb5support0, 1.17-3+deb10u4), (libssl1.1, 1.1.1n-0+deb10u3)\n (libkrb5support0, 1.17-3+deb10u4) -> (libc6, 2.28-10+deb10u1), (libkeyutils1, 1.6-6)\n (libncurses6, 6.1+20181013-2+deb10u2) -> (libc6, 2.28-10+deb10u1), (libtinfo6, 6.1+20181013-2+deb10u2)\n (libncursesw6, 6.1+20181013-2+deb10u2) -> (libc6, 2.28-10+deb10u1), (libtinfo6, 6.1+20181013-2+deb10u2)\n (libpam-modules, 1.3.1-5)\n (libpam-runtime, 1.3.1-5) -> (debconf, 1.5.71+deb10u1), (libpam-modules, 1.3.1-5)\n (libpam0g, 1.3.1-5) -> (debconf, 1.5.71+deb10u1), (libaudit1, 1:2.8.4-3), (libc6, 2.28-10+deb10u1)\n (libpcre3, 2:8.39-12) -> (libc6, 2.28-10+deb10u1)\n (libprocps7, 2:3.3.15-2) -> (libc6, 2.28-10+deb10u1), (libsystemd0, 241-7~deb10u8)\n (libselinux1, 2.8-1+b1) -> (libc6, 2.28-10+deb10u1), (libpcre3, 2:8.39-12)\n (libsemanage-common, 2.8-2)\n (libsemanage1, 2.8-2) -> (libaudit1, 1:2.8.4-3), (libbz2-1.0, 1.0.6-9.2~deb10u1), (libc6, 2.28-10+deb10u1), (libselinux1, 2.8-1+b1), (libsemanage-common, 2.8-2), (libsepol1, 2.8-1)\n (libsepol1, 2.8-1) -> (libc6, 2.28-10+deb10u1)\n (libssl1.1, 1.1.1n-0+deb10u3) -> (debconf, 1.5.71+deb10u1), (libc6, 2.28-10+deb10u1)\n (libsystemd0, 241-7~deb10u8)\n (libtinfo6, 6.1+20181013-2+deb10u2) -> (libc6, 2.28-10+deb10u1)\n (libwrap0, 7.6.q-28) -> (libc6, 2.28-10+deb10u1)\n (lsb-base, 10.2019051400)\n (openssh-client, 1:7.9p1-10+deb10u2) -> (adduser, 3.118), (dpkg, 1.19.8), (libc6, 2.28-10+deb10u1), (libedit2, 3.1-20181209-1), (libgssapi-krb5-2, 1.17-3+deb10u4), (libselinux1, 2.8-1+b1), (libssl1.1, 1.1.1n-0+deb10u3), (passwd, 1:4.5-1.1), (zlib1g, 1:1.2.11.dfsg-1+deb10u1)\n (openssh-server, 1:7.9p1-10+deb10u2) -> (adduser, 3.118), (debconf, 1.5.71+deb10u1), (dpkg, 1.19.8), (libaudit1, 1:2.8.4-3), (libc6, 2.28-10+deb10u1), (libcom-err2, 1.44.5-1+deb10u3), (libgssapi-krb5-2, 1.17-3+deb10u4), (libkrb5-3, 1.17-3+deb10u4), (libpam-modules, 1.3.1-5), (libpam-runtime, 1.3.1-5), (libpam0g, 1.3.1-5), (libselinux1, 2.8-1+b1), (libssl1.1, 1.1.1n-0+deb10u3), (libsystemd0, 241-7~deb10u8), (libwrap0, 7.6.q-28), (lsb-base, 10.2019051400), (openssh-client, 1:7.9p1-10+deb10u2), (openssh-sftp-server, 1:7.9p1-10+deb10u2), (procps, 2:3.3.15-2), (ucf, 3.0038+nmu1), (zlib1g, 1:1.2.11.dfsg-1+deb10u1)\n (openssh-sftp-server, 1:7.9p1-10+deb10u2) -> (libc6, 2.28-10+deb10u1), (openssh-client, 1:7.9p1-10+deb10u2)\n (passwd, 1:4.5-1.1) -> (libaudit1, 1:2.8.4-3), (libc6, 2.28-10+deb10u1), (libpam-modules, 1.3.1-5), (libpam0g, 1.3.1-5), (libselinux1, 2.8-1+b1), (libsemanage1, 2.8-2)\n (perl-base, 5.28.1-6+deb10u1)\n (procps, 2:3.3.15-2) -> (init-system-helpers, 1.56+nmu1), (libc6, 2.28-10+deb10u1), (libncurses6, 6.1+20181013-2+deb10u2), (libncursesw6, 6.1+20181013-2+deb10u2), (libprocps7, 2:3.3.15-2), (libtinfo6, 6.1+20181013-2+deb10u2), (lsb-base, 10.2019051400)\n (sensible-utils, 0.0.12)\n (tar, 1.30+dfsg-6)\n (ucf, 3.0038+nmu1) -> (coreutils, 8.30-3), (debconf, 1.5.71+deb10u1), (sensible-utils, 0.0.12)\n (zlib1g, 1:1.2.11.dfsg-1+deb10u1) -> (libc6, 2.28-10+deb10u1)\n</code></pre></li>\n<li><p><span><span>O</span> <a href=\"https://www.debian.org/doc/debian-policy/ch-relationships.html#virtual-packages-provides\">provides</a>\nwith virtual packages</span></p></li>\n<li><p><span><span>O</span> other fields\nincluding <a href=\"https://www.debian.org/doc/debian-policy/ch-relationships.html#binary-dependencies-depends-recommends-suggests-enhances-pre-depends\">recommends,\nsuggests</a>, <a href=\"https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts\">conflicts</a></span></p></li>\n<li><p><span><span>O</span> support\nsolving architecture</span></p>\n<p><span>currently we just ignore this field</span></p>\n<ol>\n<li><p><span><span>O</span> index\nrepositories for each architecture</span></p></li>\n</ol></li>\n</ol></li>\n<li><p><span><span>O</span> cross\necosystem resolutions between opam and debian</span></p></li>\n<li><p><span><span>O</span> read up on\nanswer set programming</span></p>\n<p><span><a href=\"https://pubgrub-rs-guide.pages.dev/internals/intro\">https://pubgrub-rs-guide.pages.dev/internals/intro</a>\nis a good starting point</span></p></li>\n</ol></li>\n<li><p><span>Teaching</span></p>\n<ol>\n<li><p><span>Supervision 3 of Robinson Computer\nNetworking</span></p>\n<ol>\n<li><p><span>Went over cyclic redundancy checks implemented\nin shift registers.</span></p>\n<p><span><img src=\"images/2025-02-24-crc.jpg\">\n<img src=\"images/2025-02-24-crc-whiteboard.jpg\"></span></p></li>\n<li><p><span>Showed a HTTPS request in wireshark</span></p>\n<p><span>An unnamed student was perturbed that IP addresses\nand ports were publicly visible for all their traffic. While IPsec /\nVPNs can encrypt IP traffic, it isn’t necessarily a requirement (despite\nadvertising claims).</span></p>\n<p><span>Below I include selection of Cloudflare blog posts\nto explain why a VPN isn’t necessarily necessary to browse the Web\nprivately and securely.</span></p>\n<ol>\n<li>DNS over HTTPS/TLS allows for encrypted DNS queries <a href=\"https://blog.cloudflare.com/dns-encryption-explained/\">https://blog.cloudflare.com/dns-encryption-explained/</a></li>\n<li>unbinding IP address from host names <a href=\"https://blog.cloudflare.com/addressing-agility/\">https://blog.cloudflare.com/addressing-agility/</a>\n(can you see any downsides to this centralisation in big reverse proxies\nlike Cloudflare?)</li>\n<li>encrypting the server name indicator (domain name) in the TLS\nhandshake <a href=\"https://blog.cloudflare.com/encrypted-client-hello/\">https://blog.cloudflare.com/encrypted-client-hello/</a></li>\n</ol>\n<p><span>also of interest:</span></p>\n<ul>\n<li>how to cryptographically authenticate DNS query answers</li>\n</ul>\n<p><span><a href=\"https://blog.cloudflare.com/dnssec-done-right/\">https://blog.cloudflare.com/dnssec-done-right/</a></span></p>\n<ul>\n<li>why IP blocking is bad <a href=\"https://blog.cloudflare.com/consequences-of-ip-blocking/\">https://blog.cloudflare.com/consequences-of-ip-blocking/</a></li>\n<li>depreciating a certain DNS query time as without the TCP 3-way\nhandshake it’s an attack vector for amplification attacks <a href=\"https://blog.cloudflare.com/what-happened-next-the-deprecation-of-any/\">https://blog.cloudflare.com/what-happened-next-the-deprecation-of-any/</a></li>\n</ul></li>\n</ol></li>\n</ol></li>\n</ol>",
9 "content_type": "html",
10 "categories": [],
11 "source": "https://ryan.freumh.org/atom.xml"
12}