2026-01-05 19:58:10 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< meta
name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
< meta
http-equiv="X-UA-Compatible"
content="ie=edge">
< meta
name="theme-color"
content="#fff"
id="theme-color">
< meta
name="description"
content="AKLabs">
< link
rel="icon"
href="/">
2026-01-06 02:51:57 +00:00
< title > Current Plans and Recent Updates< / title >
2026-01-05 19:58:10 +00:00
< meta
property="og:title"
2026-01-06 02:51:57 +00:00
content="Current Plans and Recent Updates">
2026-01-05 19:58:10 +00:00
< meta
property="og:url"
content="https://aklabs.net/now/index.html">
< meta
property="og:img"
content="/images/akesterson.webp">
< link rel = "preload" href = "//at.alicdn.com/t/font_1946621_i1kgafibvw.css" as = "style" >
< link rel = "preload" href = "//at.alicdn.com/t/font_1952792_89b4ac4k4up.css" as = "style" >
< link rel = "preload" href = "/css/main.css" as = "style" >
< link rel = "modulepreload" href = "//instant.page/5.1.0" >
< link rel = "stylesheet" href = "/css/main.css" >
< link rel = "stylesheet" href = "//at.alicdn.com/t/font_1946621_i1kgafibvw.css" >
< link rel = "stylesheet" href = "//at.alicdn.com/t/font_1952792_89b4ac4k4up.css" >
< script >
function loadScript(url, cb) {
var script = document.createElement('script');
script.src = url;
if (cb) script.onload = cb;
script.async = true;
document.body.appendChild(script);
}
function loadCSS(href, data, attr) {
var sheet = document.createElement('link');
sheet.ref = 'stylesheet';
sheet.href = href;
sheet.dataset[data] = attr;
document.head.appendChild(sheet);
}
function changeCSS(cssFile, data, attr) {
var oldlink = document.querySelector(data);
var newlink = document.createElement("link");
newlink.setAttribute("rel", "stylesheet");
newlink.setAttribute("href", cssFile);
newlink.dataset.prism = attr;
document.head.replaceChild(newlink, oldlink);
}
< / script >
2026-01-11 03:04:02 +00:00
< script >
function prismThemeChange() {
if(document.getElementById('theme-color').dataset.mode === 'dark') {
if(document.querySelector('[data-prism]')) {
changeCSS('/js/lib/prism/prism-tomorrow.min.css', '[data-prism]', 'prism-tomorrow');
} else {
loadCSS('/js/lib/prism/prism-tomorrow.min.css', 'prism', 'prism-tomorrow');
}
} else {
if(document.querySelector('[data-prism]')) {
changeCSS('/js/lib/prism/prism-defauult.min.css', '[data-prism]', 'prism-defauult');
} else {
loadCSS('/js/lib/prism/prism-defauult.min.css', 'prism', 'prism-defauult');
}
}
}
prismThemeChange()
< / script >
< link rel = "stylesheet" href = "/js/lib/prism/prism-line-numbers.min.css" >
2026-01-05 19:58:10 +00:00
< script >
// control reverse button
var reverseDarkList = {
dark: 'light',
light: 'dark'
};
var themeColor = {
dark: '#1c1c1e',
light: '#fff'
}
// get the data of css prefers-color-scheme
var getCssMediaQuery = function() {
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
};
// reverse current darkmode setting function
var reverseDarkModeSetting = function() {
var setting = localStorage.getItem('user-color-scheme');
if(reverseDarkList[setting]) {
setting = reverseDarkList[setting];
} else if(setting === null) {
setting = reverseDarkList[getCssMediaQuery()];
} else {
return;
}
localStorage.setItem('user-color-scheme', setting);
return setting;
};
// apply current darkmode setting
< / script >
< script >
var setDarkmode = function(mode) {
var setting = mode || localStorage.getItem('user-color-scheme');
if(setting === getCssMediaQuery()) {
document.documentElement.removeAttribute('data-user-color-scheme');
localStorage.removeItem('user-color-scheme');
document.getElementById('theme-color').content = themeColor[setting];
document.getElementById('theme-color').dataset.mode = setting;
2026-01-11 03:04:02 +00:00
prismThemeChange();
2026-01-05 19:58:10 +00:00
} else if(reverseDarkList[setting]) {
document.documentElement.setAttribute('data-user-color-scheme', setting);
document.getElementById('theme-color').content = themeColor[setting];
document.getElementById('theme-color').dataset.mode = setting;
2026-01-11 03:04:02 +00:00
prismThemeChange();
2026-01-05 19:58:10 +00:00
} else {
document.documentElement.removeAttribute('data-user-color-scheme');
localStorage.removeItem('user-color-scheme');
document.getElementById('theme-color').content = themeColor[getCssMediaQuery()];
document.getElementById('theme-color').dataset.mode = getCssMediaQuery();
2026-01-11 03:04:02 +00:00
prismThemeChange();
2026-01-05 19:58:10 +00:00
}
};
setDarkmode();
< / script >
< link rel = "preload" href = "/js/lib/lightbox/baguetteBox.min.js" as = "script" >
< link rel = "preload" href = "/js/lib/lightbox/baguetteBox.min.css" as = "style" >
< link rel = "preload" href = "/js/lib/lozad.min.js" as = "script" >
< meta name = "generator" content = "Hexo 6.0.0" > < link rel = "alternate" href = "/atom.xml" title = "AKLabs" type = "application/atom+xml" >
< / head >
< body >
< div class = "wrapper" >
< nav class = "navbar" >
< div class = "navbar-logo" >
< a class = "navbar-logo-main" href = "/" >
< span class = "navbar-logo-dsc" > AKLabs< / span >
< / a >
< / div >
< div class = "navbar-menu" >
< a
href="/now"
class="navbar-menu-item">
~/.plan
< / a >
< a
href="/archives"
class="navbar-menu-item">
Archive
< / a >
< a
href="/categories"
class="navbar-menu-item">
Categories
< / a >
< a
href="/about"
class="navbar-menu-item">
About
< / a >
< a
href="/contact"
class="navbar-menu-item">
Contact
< / a >
< button
class="navbar-menu-item darknavbar navbar-menu-btn"
aria-label="Toggle dark mode"
id="dark">
< i class = "iconfont icon-weather" > < / i >
< / button >
< button
class="navbar-menu-item searchnavbar navbar-menu-btn"
aria-label="Toggle search"
id="search">
<!-- <i
class="iconfont icon-search"
style="font-size: 1.2rem; font-weight: 400;">
< / i > -->
< svg xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" aria-hidden = "true" role = "img"
class="iconify iconify--ion" width="28" height="28" preserveAspectRatio="xMidYMid meet" viewBox="0 0 512 512">
< path fill = "none" stroke = "currentColor" stroke-miterlimit = "10" stroke-width = "28"
d="M256 80a176 176 0 1 0 176 176A176 176 0 0 0 256 80Z">< / path >
< path fill = "none" stroke = "currentColor" stroke-miterlimit = "10" stroke-width = "28"
d="M232 160a72 72 0 1 0 72 72a72 72 0 0 0-72-72Z">< / path >
< path fill = "none" stroke = "currentColor" stroke-linecap = "round" stroke-miterlimit = "10" stroke-width = "28"
d="M283.64 283.64L336 336">< / path >
< / svg >
< / button >
< / div >
< / nav >
< div
id="local-search"
style="display: none">
< input
class="navbar-menu-item"
id="search-input"
placeholder="请输入搜索内容..." />
< div id = "search-content" > < / div >
< / div >
< div class = "section-wrap" >
< div class = "container" >
< div class = "columns" >
< aside class = "left-column" >
< div class = "card card-author" >
< img
src="/images/akesterson.webp"
class="author-img"
width="88"
height="88"
alt="author avatar">
< p class = "author-name" > Andrew Kesterson< / p >
2026-05-21 08:49:21 -04:00
< p class = "author-description" > < center > < i > "Love God. Live Righteously. Die Well."< / i > < br / > < br / > < a target = "_blank" rel = "noopener" href = "https://source.starfort.tech/andrew" > Source Code< / a > || < a target = "_blank" rel = "noopener" href = "https://www.linkedin.com/in/andrewkesterson/" > LinkedIn< / a > < br / > < / center > < / p >
2026-01-05 19:58:10 +00:00
< div class = "author-message" >
< a
class="author-posts-count"
href="/archives">
2026-06-30 19:56:42 +00:00
< span > 37< / span >
2026-01-05 19:58:10 +00:00
< span > Posts< / span >
< / a >
< a
class="author-categories-count"
href="/categories">
2026-01-23 10:24:57 -05:00
< span > 9< / span >
2026-01-05 19:58:10 +00:00
< span > Categories< / span >
< / a >
< a
class="author-tags-count"
href="/tags">
< span > 0< / span >
< span > Tags< / span >
< / a >
< / div >
< / div >
< div class = "sticky-tablet" >
< article class = "card card-content categories-widget" >
< div class = "categories-card" >
< div class = "categories-header" >
< i
class="iconfont icon-fenlei"
style="padding-right: 2px;">
< / i > Categories
< / div >
< div class = "categories-list" >
< a href = "/categories/Books/" >
< div class = "categories-list-item" >
Books
2026-01-16 15:28:34 +00:00
< span class = "categories-list-item-badge" > 14< / span >
2026-01-05 19:58:10 +00:00
< / div >
< / a >
2026-06-30 19:56:42 +00:00
< a href = "/categories/Philosophy/" >
< div class = "categories-list-item" >
Philosophy
< span class = "categories-list-item-badge" > 9< / span >
< / div >
< / a >
2026-06-08 12:36:43 -04:00
< a href = "/categories/Faith/" >
2026-05-21 13:36:17 +00:00
< div class = "categories-list-item" >
2026-06-08 12:36:43 -04:00
Faith
2026-06-08 16:02:17 -04:00
< span class = "categories-list-item-badge" > 7< / span >
2026-01-05 19:58:10 +00:00
< / div >
< / a >
2026-06-27 17:38:19 +00:00
< a href = "/categories/Technology/" >
< div class = "categories-list-item" >
Technology
< span class = "categories-list-item-badge" > 16< / span >
< / div >
< / a >
2026-01-05 19:58:10 +00:00
< a href = "/categories/Outdoors/" >
< div class = "categories-list-item" >
Outdoors
< span class = "categories-list-item-badge" > 1< / span >
< / div >
< / a >
2026-06-27 17:38:19 +00:00
< a href = "/categories/Current-Events/" >
< div class = "categories-list-item" >
Current-Events
< span class = "categories-list-item-badge" > 6< / span >
< / div >
< / a >
2026-05-30 14:59:43 +00:00
< a href = "/categories/Leadership/" >
< div class = "categories-list-item" >
Leadership
< span class = "categories-list-item-badge" > 8< / span >
< / div >
< / a >
2026-05-21 13:36:17 +00:00
< a href = "/categories/History/" >
2026-01-05 19:58:10 +00:00
< div class = "categories-list-item" >
2026-05-21 13:36:17 +00:00
History
< span class = "categories-list-item-badge" > 1< / span >
2026-01-05 19:58:10 +00:00
< / div >
< / a >
2026-05-21 13:36:17 +00:00
< a href = "/categories/Liberal-Education/" >
2026-01-05 19:58:10 +00:00
< div class = "categories-list-item" >
2026-05-21 13:36:17 +00:00
Liberal-Education
< span class = "categories-list-item-badge" > 1< / span >
2026-01-23 10:01:43 -05:00
< / div >
< / a >
2026-01-05 19:58:10 +00:00
< / div >
< / div >
< / article >
< article class = "card card-content tags-widget" >
< div class = "tags-card" >
< div class = "tags-header" >
< i
class="iconfont icon-biaoqian"
style="padding-right: 2px;">
< / i > hot tags
< / div >
< div class = "tags-list" >
< / div >
< / div >
< / article >
< article class = "card card-content widescreen-archive archive-widget" >
< div class = "archive-card" >
< div class = "archive-card-header" >
< i
class="iconfont icon-wodebaobiao"
style="padding-right: 2px;">
< / i > Archive
< / div >
< div class = "archive-card-list" >
2026-01-07 03:36:49 +00:00
2026-01-08 14:23:28 +00:00
2026-01-11 03:04:02 +00:00
2026-01-16 15:28:34 +00:00
2026-01-19 16:58:08 -05:00
2026-01-23 10:01:43 -05:00
2026-01-25 11:00:31 -05:00
2026-01-31 12:08:30 -05:00
2026-02-09 07:12:10 -05:00
2026-03-24 18:25:16 -04:00
2026-05-21 08:49:21 -04:00
2026-05-30 14:59:43 +00:00
2026-06-08 12:36:43 -04:00
2026-06-08 16:02:17 -04:00
2026-06-18 17:13:39 -04:00
2026-06-24 07:52:17 -04:00
2026-06-27 17:38:19 +00:00
2026-06-30 12:43:55 +00:00
2026-06-30 19:56:42 +00:00
2026-01-11 03:04:02 +00:00
2026-01-08 14:23:28 +00:00
2026-01-05 19:58:10 +00:00
< a
href="/archives/2026"
class="archive-card-list-item">
2026
2026-06-30 19:56:42 +00:00
< span class = "archive-card-list-item-badge" > 20< / span >
2026-01-05 19:58:10 +00:00
< / a >
< a
href="/archives/2025"
class="archive-card-list-item">
2025
< span class = "archive-card-list-item-badge" > 1< / span >
< / a >
< a
href="/archives/2024"
class="archive-card-list-item">
2024
< span class = "archive-card-list-item-badge" > 5< / span >
< / a >
< a
href="/archives/2023"
class="archive-card-list-item">
2023
< span class = "archive-card-list-item-badge" > 6< / span >
< / a >
< a
href="/archives/2022"
class="archive-card-list-item">
2022
< span class = "archive-card-list-item-badge" > 5< / span >
< / a >
< / div >
< / div >
< / article >
< / div >
< / aside >
< main class = "main-column" >
< article class = "card card-content" >
< header >
< h1 class = "post-title" >
2026-01-06 02:51:57 +00:00
Current Plans and Recent Updates
2026-01-05 19:58:10 +00:00
< / h1 >
< / header >
< div class = "post-meta post-show-meta" >
2026-06-30 20:02:36 +00:00
< time datetime = "2026-06-30T19:59:56.002Z" >
2026-01-05 19:58:10 +00:00
< i
class="iconfont icon-calendar"
style="margin-right: 2px;">
< / i >
2026-06-30 12:43:55 +00:00
< span > 2026-06-30< / span >
2026-01-05 19:58:10 +00:00
< / time >
< span class = "dot" > < / span >
2026-06-23 09:36:30 -04:00
< span > 228 words< / span >
2026-01-05 19:58:10 +00:00
< / div >
< / header >
< div
id="section"
class="post-content">
2026-06-23 09:36:30 -04:00
< p > These days I’ m mostly focused on my day job, which means I won’ t publish a lot of personal code, but the good news is that most of my work is open source on Repo1, and you can < a target = "_blank" rel = "noopener" href = "https://repo1.dso.mil/akesterson/dotfiles/-/blob/main/.plan.md" > follow me there< / a > .< / p >
2026-01-05 19:58:10 +00:00
< ul >
2026-06-23 09:36:30 -04:00
< li > Learning embedded development. I’ m working through a process that will take me through Arduino on ESP32, then into bare metal programming on an STM32 Nucleo board, then mastering advanced stuff like trusted security modules on STM32H5, then RTOS with more STM32, then FPGA programming on an Artyx. Along the way I’ m experimenting with PIC microcontrollers and other embedded toys as well. I hope to complete this course by some time in 2027.< / li >
< li > Relaxing after a successful fire academy. The first half of every year is devoted to training firefighters in Marion County, Georgia. We just graduated 3 new support firefighters and 3 new suppression firefighters, so I’ m taking a break from training for a while to focus on other things.< / li >
< li > Working on a tinyhouse for my oldest daughter. She has been very patient with me to complete this project, but I absolutely need to bear down and get this done. She deserves it, and besides, I promised.< / li >
2026-01-05 19:58:10 +00:00
< / ul >
2026-06-23 09:36:30 -04:00
< p > < a target = "_blank" rel = "noopener" href = "https://source.starfort.tech/aklabs.net/www.aklabs.net/commits/branch/main/now/index.html" > My ~/ .plan history is on the Starfort Source Vault< / a > .< / p >
2026-01-05 19:58:10 +00:00
< h1 id = "Musings" > < a href = "#Musings" class = "headerlink" title = "Musings" > < / a > Musings< / h1 > <!-- musings here -->
2026-01-06 02:51:57 +00:00
< blockquote >
2026-05-27 13:16:12 +00:00
< p > You will stop at nothing to reach your objective, but only because your< br > brakes are defective.< / p >
2026-01-06 02:51:57 +00:00
< / blockquote >
2026-01-05 19:58:10 +00:00
< / div >
< div >
< / div >
< / article >
< div class = "nav" >
< / div >
< div
class="card card-content toc-card"
id="mobiletoc">
< div class = "toc-header" >
< i
class="iconfont icon-menu"
style="padding-right: 2px;">
< / i > TOC
< / div >
2026-06-23 09:36:30 -04:00
< ol class = "toc" > < li class = "toc-item toc-level-1" > < a class = "toc-link" href = "#Musings" > < span class = "toc-text" > Musings< / span > < / a > < / li > < / ol >
2026-01-05 19:58:10 +00:00
< / div >
< / main >
< aside class = "right-column" >
< div class = "sticky-widescreen" >
< article class = "card card-content" >
< div class = "recent-posts-card" >
< div class = "recent-posts-header" >
< i
class="iconfont icon-wenzhang_huaban"
style="padding-right: 2px;">
< / i > Recent Posts
< / div >
< div class = "recent-posts-list" >
2026-06-24 07:52:17 -04:00
< div class = "recent-posts-item" >
2026-06-30 12:43:55 +00:00
< div class = "recent-posts-item-title" > 2026-06-30< / div >
< a href = "/2026/06/30/News-2026-Week-2/" > < div class = "recent-posts-item-content" > News-2026-Week-2< / div > < / a >
< / div >
< div class = "recent-posts-item" >
< div class = "recent-posts-item-title" > 2026-06-30< / div >
2026-06-30 19:56:42 +00:00
< a href = "/2026/06/30/Be-Yourself/" > < div class = "recent-posts-item-content" > Just Be Yourself ... Whoever that is< / div > < / a >
2026-06-24 07:52:17 -04:00
< / div >
2026-06-18 17:13:39 -04:00
< div class = "recent-posts-item" >
2026-06-30 19:56:42 +00:00
< div class = "recent-posts-item-title" > 2026-06-30< / div >
< a href = "/2026/06/30/You-Cant-Go-Home-Again/" > < div class = "recent-posts-item-content" > You Cant Go Home Again< / div > < / a >
2026-06-18 17:13:39 -04:00
< / div >
2026-06-08 16:02:17 -04:00
< div class = "recent-posts-item" >
2026-06-30 19:56:42 +00:00
< div class = "recent-posts-item-title" > 2026-06-27< / div >
< a href = "/2026/06/27/Devlog-20260627/" > < div class = "recent-posts-item-content" > Devlog Entry - 27 June 2026< / div > < / a >
2026-06-08 16:02:17 -04:00
< / div >
2026-01-05 19:58:10 +00:00
< / div >
< / div >
< / article >
< article class = "card card-content" >
< div class = "archive-card" >
< div class = "archive-card-header" >
< i
class="iconfont icon-wodebaobiao"
style="padding-right: 2px;">
< / i > Archive
< / div >
< div class = "archive-card-list" >
2026-01-07 03:36:49 +00:00
2026-01-08 14:23:28 +00:00
2026-01-11 03:04:02 +00:00
2026-01-16 15:28:34 +00:00
2026-01-19 16:58:08 -05:00
2026-01-23 10:01:43 -05:00
2026-01-25 11:00:31 -05:00
2026-01-31 12:08:30 -05:00
2026-02-09 07:12:10 -05:00
2026-03-24 18:25:16 -04:00
2026-05-21 08:49:21 -04:00
2026-05-30 14:59:43 +00:00
2026-06-08 12:36:43 -04:00
2026-06-08 16:02:17 -04:00
2026-06-18 17:13:39 -04:00
2026-06-24 07:52:17 -04:00
2026-06-27 17:38:19 +00:00
2026-06-30 12:43:55 +00:00
2026-06-30 19:56:42 +00:00
2026-01-11 03:04:02 +00:00
2026-01-08 14:23:28 +00:00
2026-01-05 19:58:10 +00:00
< a
href="/archives/2026"
class="archive-card-list-item">
2026
2026-06-30 19:56:42 +00:00
< span class = "archive-card-list-item-badge" > 20< / span >
2026-01-05 19:58:10 +00:00
< / a >
< a
href="/archives/2025"
class="archive-card-list-item">
2025
< span class = "archive-card-list-item-badge" > 1< / span >
< / a >
< a
href="/archives/2024"
class="archive-card-list-item">
2024
< span class = "archive-card-list-item-badge" > 5< / span >
< / a >
< a
href="/archives/2023"
class="archive-card-list-item">
2023
< span class = "archive-card-list-item-badge" > 6< / span >
< / a >
< a
href="/archives/2022"
class="archive-card-list-item">
2022
< span class = "archive-card-list-item-badge" > 5< / span >
< / a >
< / div >
< / div >
< / article >
< / div >
< / aside >
< / div >
< / div >
< / div >
< / div >
< footer class = "footer" >
< div class = "footer-container" >
< div >
< div class = "footer-dsc" >
< span >
Copyright ©
-
2026
< / span >
< a
2026-01-08 14:23:28 +00:00
href="mailto:andrew@aklabs.net"
2026-01-05 19:58:10 +00:00
class="footer-link">
2026-01-08 14:23:28 +00:00
Andrew Kesterson
2026-01-05 19:58:10 +00:00
< / a >
2026-01-08 14:23:28 +00:00
< br / >
2026-01-05 19:58:10 +00:00
< / div >
< / div >
< div class = "footer-dsc" >
Powered by
< a
href="https://hexo.io/"
class="footer-link"
target="_blank"
rel="nofollow noopener noreferrer">
Hexo
< / a >
< span > | < / span >
Theme -
< a
href="https://github.com/theme-kaze"
class="footer-link"
target="_blank"
rel="nofollow noopener noreferrer">
Kaze
< / a >
< / div >
< / footer >
< a
role="button"
id="scrollbutton"
class="basebutton"
aria-label="回到顶部">
< i class = "iconfont icon-arrowleft button-icon" > < / i >
< / a >
< a
role="button"
id="menubutton"
aria-label="menu button"
class="basebutton">
< i class = "iconfont icon-menu button-icon" > < / i >
< / a >
< a
role="button"
id="popbutton"
class="basebutton"
aria-label="控制中心">
< i class = "iconfont icon-expand button-icon" > < / i >
< / a >
< a
role="button"
id="darkbutton"
class="basebutton darkwidget"
aria-label="夜色模式">
< i class = "iconfont icon-weather button-icon" > < / i >
< / a >
< a
role="button"
id="searchbutton"
class="basebutton searchwidget"
aria-label="搜索">
< i class = "iconfont icon-search button-icon" > < / i >
< / a >
< script src = "/js/main.js" > < / script >
< script >
var addLazyload = function () {
var observer = lozad('.lozad', {
load: function (el) {
el.srcset = el.getAttribute('data-src')
},
loaded: function (el) {
el.classList.add('loaded')
},
})
observer.observe()
}
< / script >
< script >
loadScript('/js/lib/lozad.min.js', addLazyload)
< / script >
< script src = "//instant.page/5.1.0" type = "module"
integrity="sha384-by67kQnR+pyfy8yWP4kPO12fHKRLHZPfEsiSXR8u2IKcTdxD805MGUXBzVPnkLHw">< / script >
< script >
var googleAnalytics = function () {
window.dataLayer = window.dataLayer || []
function gtag() {
dataLayer.push(arguments)
}
gtag('js', new Date())
gtag('config', 'G-S3YLF516N6')
}
< / script >
< script >
loadScript(
'https://www.googletagmanager.com/gtag/js?id=' +
'G-S3YLF516N6',
googleAnalytics
)
< / script >
< / body >
< / html >