Files
kfitz-site/technology-updates/index.html
2025-02-17 08:15:48 -05:00

715 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Technology Updates</title>
<meta name="description" content="The long-running and erratically updated blog of Kathleen Fitzpatrick.">
<link rel="alternate" href="feed/feed.xml" type="application/atom+xml" title="kfitz">
<script async="" src="https://talk.hyvor.com/embed/embed.js" type="module"></script>
<link rel="webmention" href="https://webmention.io/kfitz.info/webmention">
<link rel="pingback" href="https://webmention.io/kfitz.info/xmlrpc">
<style>/**
* okaidia theme for JavaScript, CSS and HTML
* Loosely based on Monokai textmate theme by http://www.monokai.nl/
* @author ocodia
*/
code[class*="language-"],
pre[class*="language-"] {
color: #f8f8f2;
background: none;
text-shadow: 0 1px rgba(0, 0, 0, 0.3);
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
font-size: 1em;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
border-radius: 0.3em;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #272822;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: #8292a2;
}
.token.punctuation {
color: #f8f8f2;
}
.token.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted {
color: #f92672;
}
.token.boolean,
.token.number {
color: #ae81ff;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #a6e22e;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string,
.token.variable {
color: #f8f8f2;
}
.token.atrule,
.token.attr-value,
.token.function,
.token.class-name {
color: #e6db74;
}
.token.keyword {
color: #66d9ef;
}
.token.regex,
.token.important {
color: #fd971f;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
/*
* New diff- syntax
*/
pre[class*="language-diff-"] {
--eleventy-code-padding: 1.25em;
padding-left: var(--eleventy-code-padding);
padding-right: var(--eleventy-code-padding);
}
.token.deleted {
background-color: hsl(0, 51%, 37%);
color: inherit;
}
.token.inserted {
background-color: hsl(126, 31%, 39%);
color: inherit;
}
/* Make the + and - characters unselectable for copy/paste */
.token.prefix.unchanged,
.token.prefix.inserted,
.token.prefix.deleted {
-webkit-user-select: none;
user-select: none;
display: inline-flex;
align-items: center;
justify-content: center;
padding-top: 2px;
padding-bottom: 2px;
}
.token.prefix.inserted,
.token.prefix.deleted {
width: var(--eleventy-code-padding);
background-color: rgba(0,0,0,.2);
}
/* Optional: full-width background color */
.token.inserted:not(.prefix),
.token.deleted:not(.prefix) {
display: block;
margin-left: calc(-1 * var(--eleventy-code-padding));
margin-right: calc(-1 * var(--eleventy-code-padding));
text-decoration: none; /* override del, ins, mark defaults */
color: inherit; /* override del, ins, mark defaults */
}
/* This is an arbitrary CSS string added to the bundle */
/* Defaults */
@font-face {
font-family: "Atkinson Hyperlegible";
src: url('/css/files/atkinson-hyperlegible-latin-400-normal.woff2') format('woff2');
font-display: swap;
}
@font-face {
font-family: "Atkinson Hyperlegible";
font-weight: bold;
src: url('/css/files/atkinson-hyperlegible-latin-700-normal.woff2') format('woff2');
font-display: swap;
}
@font-face {
font-family: "Atkinson Hyperlegible";
font-style: italic
src: url('/css/files/atkinson-hyperlegible-latin-400-italic.woff2') format('woff2');
font-display: swap;
}
:root {
--font-family: "Atkinson Hyperlegible", -apple-system, system-ui, sans-serif;
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
font-size: 18px;
}
/* Theme colors */
:root {
--color-gray-20: #e0e0e0;
--color-gray-50: #C0C0C0;
--color-gray-90: #333;
--background-color: #fff;
--text-color: var(--color-gray-90);
--text-color-link: #d61d4a;
--text-color-link-active: #853439;
--text-color-link-visited: #e8325e;
--syntax-tab-size: 2;
}
@media (prefers-color-scheme: dark) {
:root {
--color-gray-20: #e0e0e0;
--color-gray-50: #C0C0C0;
--color-gray-90: #dad8d8;
/* --text-color is assigned to --color-gray-_ above */
--text-color-link: #1493fb;
--text-color-link-active: #6969f7;
--text-color-link-visited: #a6a6f8;
--background-color: #15202b;
}
}
/* Global stylesheet */
* {
box-sizing: border-box;
}
@view-transition {
navigation: auto;
}
html,
body {
padding: 0;
margin: 0 auto;
font-family: var(--font-family);
color: var(--text-color);
background-color: var(--background-color);
}
html {
overflow-y: scroll;
}
body {
max-width: 40em;
}
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
.visually-hidden {
clip: rect(0 0 0 0);
clip-path: inset(50%);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
}
p:last-child {
margin-bottom: 0;
}
p {
line-height: 1.5;
}
li {
line-height: 1.5;
}
a[href] {
color: var(--text-color-link);
}
a[href]:visited {
color: var(--text-color-link-visited);
}
a[href]:hover,
a[href]:active {
color: var(--text-color-link-active);
}
main,
footer {
padding: 1rem;
}
main :first-child {
margin-top: 0;
}
header {
border-bottom: 1px dashed var(--color-gray-20);
}
header:after {
content: "";
display: table;
clear: both;
}
footer {
border-top: 1px dashed var(--color-gray-50);
}
.links-nextprev {
display: flex;
justify-content: space-between;
gap: .5em 1em;
list-style: "";
border-top: 1px dashed var(--color-gray-20);
padding: 1em 0;
}
.links-nextprev > * {
flex-grow: 1;
}
.links-nextprev-next {
text-align: right;
}
table {
margin: 1em 0;
}
table td,
table th {
padding-right: 1em;
}
pre,
code {
font-family: var(--font-family-monospace);
}
pre:not([class*="language-"]) {
margin: .5em 0;
line-height: 1.375; /* 22px /16 */
-moz-tab-size: var(--syntax-tab-size);
-o-tab-size: var(--syntax-tab-size);
tab-size: var(--syntax-tab-size);
-webkit-hyphens: none;
-ms-hyphens: none;
hyphens: none;
direction: ltr;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
overflow-x: auto;
}
code {
word-break: break-all;
}
/* Header */
header {
display: flex;
gap: 1em .5em;
flex-wrap: wrap;
align-items: center;
padding: 1em;
}
.home-link {
font-size: 1.5em; /* 16px /16 */
font-weight: 700;
margin-right: 2em;
}
.home-link:link:not(:hover) {
text-decoration: none;
}
/* Nav */
.nav {
display: flex;
padding: 0;
margin: 0;
list-style: none;
}
.nav-item {
display: inline-block;
margin-right: 1em;
}
.nav-item a[href]:not(:hover) {
text-decoration: none;
}
.nav a[href][aria-current="page"] {
text-decoration: underline;
}
/* Posts list */
.postlist {
list-style: none;
padding: 0;
padding-left: 1.5rem;
}
.postlist-item {
display: flex;
flex-wrap: wrap;
align-items: baseline;
counter-increment: start-from -1;
margin-bottom: 1em;
}
.postlist-item:before {
display: inline-block;
pointer-events: none;
content: "" counter(start-from, decimal-leading-zero) ". ";
line-height: 100%;
text-align: right;
margin-left: -1.5rem;
}
.postlist-date,
.postlist-item:before {
font-size: 0.8125em; /* 13px /16 */
color: var(--color-gray-90);
}
.postlist-date {
word-spacing: -0.5px;
}
.postlist-link {
font-size: 1.1875em; /* 19px /16 */
font-weight: 700;
flex-basis: calc(100% - 1.5rem);
padding-left: .25em;
padding-right: .5em;
text-underline-position: from-font;
text-underline-offset: 0;
text-decoration-thickness: 1px;
}
.postlist-item-active .postlist-link {
font-weight: bold;
}
/* Archive list */
.archivelist {
padding: 0;
padding-left: 2.5rem;
}
.archivelist-item {
align-items: baseline;
margin-bottom: 1em;
}
.archivelist-item::marker {
text-align: right;
margin-left: -1.5rem;
font-size: 0.8125em; /* 13px /16 */
color: var(--color-gray-90);
}
.archivelist-date {
font-size: 0.8125em; /* 13px /16 */
color: var(--color-gray-90);
word-spacing: -0.5px;
}
.archivelist-link {
font-size: 1.1875em; /* 19px /16 */
font-weight: 700;
flex-basis: calc(100% - 1.5rem);
padding-left: .25em;
padding-right: .5em;
text-underline-position: from-font;
text-underline-offset: 0;
text-decoration-thickness: 1px;
}
.archivelist-item-active .archivelist-link {
font-weight: bold;
}
/* Tags */
.post-tag {
display: inline-flex;
align-items: center;
justify-content: center;
text-transform: capitalize;
font-style: italic;
}
.postlist-item > .post-tag {
align-self: center;
}
/* Tags list */
.post-metadata {
display: inline-flex;
flex-wrap: wrap;
gap: .5em;
list-style: none;
border-top: 1px dashed var(--color-gray-20);
border-bottom: 1px dashed var(--color-gray-20);
padding: 3px 0px 3px 0px;
margin: 0;
font-size: .8em;
}
.post-metadata time {
margin-right: 1em;
}
/* Direct Links / Markdown Headers */
.header-anchor {
text-decoration: none;
font-style: normal;
font-size: 1em;
margin-left: .1em;
}
a[href].header-anchor,
a[href].header-anchor:visited {
color: transparent;
}
a[href].header-anchor:focus,
a[href].header-anchor:hover {
text-decoration: underline;
}
a[href].header-anchor:focus,
:hover > a[href].header-anchor {
color: #aaa;
}
h2 + .header-anchor {
font-size: 1.5em;
font-weight: bold;
}
h1 {
font-weight: bolder;
}
summary {
font-size: 1.5em;
font-weight: bold;
margin-bottom: .5em;
}
img {
display: block;
margin-left: auto;
margin-right: auto;
}
blockquote {
display: block;
margin-left: 2em;
margin-right: 3em;
padding-left: 10px;
border-left: 10px solid var(--text-color-link);
}
hr.new {
border: none;
border-top: 1px dashed var(--color-gray-50);
}
/* Webmention Section */
.webmentions {
display:block;
text-align: left;
}
.webmentions__facepile {
display:flex;
align-items: center;
flex-wrap: wrap;
}
.webmentions__face {
width: 2rem;
height: 2rem;
border-radius: 50%;
object-fit: cover;
flex: none;
}
.webmentions__list {
list-style-type: none;
padding:0;
}
.webmentions__item {
margin-bottom: 2rem;
}
/* Single Webmention */
.webmention {
display:block;
}
.webmention__meta,
.webmention__author {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.webmention__meta {
margin-bottom:.5rem;
}
.webmention__author {
margin-right:.25rem;
}
.webmention__author__photo {
height: 3rem;
width: 3rem;
border-radius: 50%;
object-fit: cover;
margin-right:.5rem;
}
.webmention__pubdate {
font-style: italic;
}
/* Message Box */
.message-box {
--color-message-box: #ffc;
display: block;
background-color: var(--color-message-box);
color: var(--color-gray-90);
padding: 1em 0.625em; /* 16px 10px /16 */
}
.message-box ol {
margin-top: 0;
}
@media (prefers-color-scheme: dark) {
.message-box {
--color-message-box: #082840;
}
}</style>
</head>
<body>
<a href="#skip" class="visually-hidden">Skip to main content</a>
<header>
<a href="/" class="home-link">kfitz</a>
<nav>
<h2 class="visually-hidden" id="top-level-navigation-menu">Top level navigation menu</h2>
<ul class="nav">
<li class="nav-item"><a href="/">Home</a></li>
<li class="nav-item"><a href="/blog/">Archive</a></li>
<li class="nav-item"><a href="/about/">About</a></li>
<li class="nav-item"><a href="/projects/">Projects</a></li>
<li class="nav-item"><a href="/presentations/">Presentations</a></li>
<li class="nav-item"><a href="/teaching/">Teaching</a></li>
<li class="nav-item"><a href="/feed/feed.xml">Feed</a></li>
</ul>
</nav>
</header>
<link href="/pagefind/pagefind-ui.css" rel="stylesheet">
<script src="/pagefind/pagefind-ui.js"></script>
<div id="search"></div>
<script>
window.addEventListener('DOMContentLoaded', (event) => {
new PagefindUI({ element: "#search", showSubResults: true });
});
</script>
<main id="skip">
<heading-anchors>
<h1 id="technology-updates">Technology Updates</h1>
<ul class="post-metadata">
<li><time datetime="2008-04-05">05 April 2008</time></li>
<li><a href="/tags/computers/" class="post-tag">computers</a>, </li>
<li><a href="/tags/software/" class="post-tag">software</a></li>
</ul>
<p>Of which there are several:</p>
<ul>
<li>While I was on my last trip (to New Orleans), I discovered that the 12-inch Powerbook G4 that Ive been attached to for the last three years suddenly had a battery life of about 20 minutes. Id been planning on replacing it before this summers travels anyhow, so I stepped up the timeline a bit, and this Sunday came home from the Apple store with <a href="http://www.apple.com/macbookair">one of these</a>. Im almost completely, perfectly in love.</li>
<li>Im running a bit of an experiment on that machine, trying to see how long I can go before Im forced to install <a href="http://www.microsoft.com/mac/default.mspx">anything related to this</a>. Ive left instructions for those files to open in <a href="http://www.apple.com/iwork">this</a>; well see how long that works.</li>
<li>This weekend, Im in San Francisco. Yesterday, <a href="http://infocult.typepad.com/">Bryan Alexander</a> actually managed to convince me to start doing <a href="http://twitter.com/kfitz">this</a>. Im as surprised as anyone; I was convinced that this was one of the two recent technologies that Id never see the value in. (Ill save the other one for another time.)</li>
<li>This morning, I upgraded my system to the new version of <a href="http://wordpress.org/">this</a>. So far, I really like the look and feel of it, though Ive got the sense that its going to take me a while to find everything.</li>
</ul>
<p>I think thats all of them, for now, at least…</p>
<ul class="links-nextprev"><li class="links-nextprev-prev">← Previous<br> <a href="/in-the-absence-of-thoughts-cat-blogging/">In the Absence of Thoughts, Cat Blogging</a></li><li class="links-nextprev-next">Next →<br><a href="/pardon-the-dust/">Pardon the Dust</a></li>
</ul>
<hyvor-talk-comments website-id="9100" page-id="/technology-updates/"></hyvor-talk-comments>
<div class="webmentions" id="webmentions">
<h3 id="webmentions-2">Webmentions</h3>
<p>No replies yet.</p>
</div>
</heading-anchors>
</main>
<footer>
<p><em>Built with <a href="https://www.11ty.dev/">Eleventy v3.0.0</a>. All content <a href="https://creativecommons.org/licenses/by/4.0/deed.en">CC BY 4.0</a> if you're human.</em></p><p></p>
</footer>
<!-- This page `/technology-updates/` was built on 2025-02-17T13:14:01.553Z -->
<script type="module" src="/dist/rJ3_G-2ArF.js"></script>
</body>
</html>