PageSourceSearch

https://jeremysawesome.com/

html jeremysawesome.com collected 2026-10-08 10:42:48 UTC 113,552 bytes, 1,100 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US" class="no-js">
3<head>
4	<meta charset="UTF-8">
5	<meta name="viewport" content="width=device-width, initial-scale=1.0">
6	<link rel="profile" href="https://gmpg.org/xfn/11">
7		
7<script>
8(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);
9//# sourceURL=twentysixteen_javascript_detection
10</script>
10
11<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
12
13	<!-- This site is optimized with the Yoast SEO plugin v27.8 - https://yoast.com/product/yoast-seo-wordpress/ -->
14	<title>Jeremys Awesome Blog - About Coding, Music, Family and anything else I want</title>
15	<meta name="description" content="About Coding, Music, Family and anything else I want" />
16	<link rel="canonical" href="https://jeremysawesome.com/" />
17	<link rel="next" href="https://jeremysawesome.com/page/2/" />
18	<meta property="og:locale" content="en_US" />
19	<meta property="og:type" content="website" />
20	<meta property="og:title" content="Jeremys Awesome Blog" />
21	<meta property="og:description" content="About Coding, Music, Family and anything else I want" />
22	<meta property="og:url" content="https://jeremysawesome.com/" />
23	<meta property="og:site_name" content="Jeremys Awesome Blog" />
24	
24<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"CollectionPage","@id":"https:\/\/jeremysawesome.com\/","url":"https:\/\/jeremysawesome.com\/","name":"Jeremys Awesome Blog - About Coding, Music, Family and anything else I want","isPartOf":{"@id":"https:\/\/jeremysawesome.com\/#website"},"description":"About Coding, Music, Family and anything else I want","breadcrumb":{"@id":"https:\/\/jeremysawesome.com\/#breadcrumb"},"inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https:\/\/jeremysawesome.com\/#breadcrumb","itemListElement":[]},{"@type":"WebSite","@id":"https:\/\/jeremysawesome.com\/#website","url":"https:\/\/jeremysawesome.com\/","name":"Jeremys Awesome Blog","description":"About Coding, Music, Family and anything else I want","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jeremysawesome.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script>
24
25	<!-- / Yoast SEO plugin. -->
26
27
28<link rel="alternate" type="application/rss+xml" title="Jeremys Awesome Blog &raquo; Feed" href="https://jeremysawesome.com/feed/" />
29<link rel="alternate" type="application/rss+xml" title="Jeremys Awesome Blog &raquo; Comments Feed" href="https://jeremysawesome.com/comments/feed/" />
30		<!-- This site uses the Google Analytics by MonsterInsights plugin v11.3.0 - Using Analytics tracking - https://www.monsterinsights.com/ -->
31		<!-- Note: MonsterInsights is not currently configured on this site. The site owner needs to authenticate with Google Analytics in the MonsterInsights settings panel. -->
32					<!-- No tracking code set -->
33				<!-- / Google Analytics by MonsterInsights -->
34		<style id="wp-img-auto-sizes-contain-inline-css">
35img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
36/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
37</style>
38<style id="wp-emoji-styles-inline-css">
39
40	img.wp-smiley, img.emoji {
41		display: inline !important;
42		border: none !important;
43		box-shadow: none !important;
44		height: 1em !important;
45		width: 1em !important;
46		margin: 0 0.07em !important;
47		vertical-align: -0.1em !important;
48		background: none !important;
49		padding: 0 !important;
50	}
51/*# sourceURL=wp-emoji-styles-inline-css */
52</style>
53<style id="wp-block-library-inline-css">
54:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
54--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-color]){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
55
56/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
57</style>
58<style id="wp-block-heading-inline-css">
59h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}
60/*# sourceURL=https://jeremysawesome.com/wp-includes/blocks/heading/style.min.css */
61</style>
62<style id="wp-block-image-inline-css">
63.wp-block-image>a,.wp-block-image>figure>a{display:inline-block}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}@media not (prefers-reduced-motion){.wp-block-image img.hide{visibility:hidden}.wp-block-image img.show{animation:show-content-image .4s}}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull>a,.wp-block-image.alignwide>a{width:100%}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-image.is-style-circle-mask img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img){border-radius:9999px}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;backdrop-filter:blur(16px) saturate(180%);background-color:#5a5a5a40;border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;width:20px;z-index:100}@media not (prefers-reduced-motion){.wp-lightbox-container button{transition:opacity .2s ease}}.wp-lightbox-container button:focus-visible{outline:3px auto #5a5a5a40;outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:#5a5a5a40;border:none}.wp-lightbox-overlay{box-sizing:border-box;
63cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .wp-lightbox-close-button{align-items:center;cursor:pointer;display:flex;font-family:inherit;gap:8px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 4px;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .wp-lightbox-close-button:focus,.wp-lightbox-overlay .wp-lightbox-close-button:hover,.wp-lightbox-overlay .wp-lightbox-close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-icon svg{height:1em;width:1em}.wp-lightbox-overlay .wp-lightbox-close-icon svg{display:block}.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{align-items:center;bottom:16px;cursor:pointer;display:flex;font-family:inherit;gap:4px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 8px;position:absolute;z-index:2000002}.wp-lightbox-overlay .wp-lightbox-navigation-button-next[hidden],.wp-lightbox-overlay .wp-lightbox-navigation-button-prev[hidden]{display:none}@media (min-width:960px){.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{bottom:50%;transform:translateY(-50%)}}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:not(:hover):not(:active):not(.has-background),.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:not(:hover):not(:active):not(.has-background){background:none;border:none;padding:0 8px}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg{display:block;height:1.5em;width:1.5em}.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{left:calc(env(safe-area-inset-left) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-button-next{right:calc(env(safe-area-inset-right) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-icon svg{vertical-align:middle}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:2000001}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{visibility:visible}@media not (prefers-reduced-motion){.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}
63@keyframes show-content-image{0%{visibility:hidden}99%{visibility:hidden}to{visibility:visible}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}
64/*# sourceURL=https://jeremysawesome.com/wp-includes/blocks/image/style.min.css */
65</style>
66<style id="wp-block-image-theme-inline-css">
67:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.wp-block-image{margin:0 0 1em}
68/*# sourceURL=https://jeremysawesome.com/wp-includes/blocks/image/theme.min.css */
69</style>
70<style id="wp-block-list-inline-css">
71ol,ul{box-sizing:border-box}:root :where(.wp-block-list.has-background){padding:1.25em 2.375em}
72/*# sourceURL=https://jeremysawesome.com/wp-includes/blocks/list/style.min.css */
73</style>
74<style id="wp-block-paragraph-inline-css">
75.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
76/*# sourceURL=https://jeremysawesome.com/wp-includes/blocks/paragraph/style.min.css */
77</style>
78<style id="wp-block-video-inline-css">
79.wp-block-video{box-sizing:border-box}.wp-block-video video{height:auto;vertical-align:middle;width:100%}@supports (position:sticky){.wp-block-video [poster]{object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video :where(figcaption){margin-bottom:1em;margin-top:.5em}
80/*# sourceURL=https://jeremysawesome.com/wp-includes/blocks/video/style.min.css */
81</style>
82<style id="wp-block-video-theme-inline-css">
83.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:#ffffffa6}.wp-block-video{margin:0 0 1em}
84/*# sourceURL=https://jeremysawesome.com/wp-includes/blocks/video/theme.min.css */
85</style>
86<style id="wp-block-code-inline-css">
87.wp-block-code{box-sizing:border-box}.wp-block-code code{direction:ltr;display:block;font-family:inherit;overflow-wrap:break-word;text-align:initial;white-space:pre-wrap}
88/*# sourceURL=https://jeremysawesome.com/wp-includes/blocks/code/style.min.css */
89</style>
90<style id="wp-block-code-theme-inline-css">
91.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}
92/*# sourceURL=https://jeremysawesome.com/wp-includes/blocks/code/theme.min.css */
93</style>
94
95<style id="classic-theme-styles-inline-css">
96/*! This file is auto-generated */
97.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
98/*# sourceURL=/wp-includes/css/classic-themes.min.css */
99</style>
100
101<style id="global-styles-inline-css">
102:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--dark-gray: #1a1a1a;--wp--preset--color--medium-gray: #686868;--wp--preset--color--light-gray: #e5e5e5;--wp--preset--color--blue-gray: #4d545c;--wp--preset--color--bright-blue: #007acc;--wp--preset--color--light-blue: #9adffd;--wp--preset--color--dark-brown: #402b30;--wp--preset--color--medium-brown: #774e24;--wp--preset--color--dark-red: #640c1f;--wp--preset--color--bright-red: #ff675f;--wp--preset--color--yellow: #ffef8e;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
1020) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-dark-gray-color{color: var(--wp--preset--color--dark-gray) !important;}.has-medium-gray-color{color: var(--wp--preset--color--medium-gray) !important;}.has-light-gray-color{color: var(--wp--preset--color--light-gray) !important;}.has-blue-gray-color{color: var(--wp--preset--color--blue-gray) !important;}.has-bright-blue-color{color: var(--wp--preset--color--bright-blue) !important;}.has-light-blue-color{color: var(--wp--preset--color--light-blue) !important;}.has-dark-brown-color{color: var(--wp--preset--color--dark-brown) !important;}.has-medium-brown-color{color: var(--wp--preset--color--medium-brown) !important;}.has-dark-red-color{color: var(--wp--preset--color--dark-red) !important;}.has-bright-red-color{color: var(--wp--preset--color--bright-red) !important;}.has-yellow-color{color: var(--wp--preset--color--yellow) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-dark-gray-background-color{background-color: var(--wp--preset--color--dark-gray) !important;}.has-medium-gray-background-color{background-color: var(--wp--preset--color--medium-gray) !important;}.has-light-gray-background-color{background-color: var(--wp--preset--color--light-gray) !important;}.has-blue-gray-background-color{background-color: var(--wp--preset--color--blue-gray) !important;}.has-bright-blue-background-color{background-color: var(--wp--preset--color--bright-blue) !important;}.has-light-blue-background-color{background-color: var(--wp--preset--color--light-blue) !important;}.has-dark-brown-background-color{background-color: var(--wp--preset--color--dark-brown) !important;}.has-medium-brown-background-color{background-color: var(--wp--preset--color--medium-brown) !important;}.has-dark-red-background-color{background-color: var(--wp--preset--color--dark-red) !important;}.has-bright-red-background-color{background-color: var(--wp--preset--color--bright-red) !important;}.has-yellow-background-color{background-color: var(--wp--preset--color--yellow) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-dark-gray-border-color{border-color: var(--wp--preset--color--dark-gray) !important;}.has-medium-gray-border-color{border-color: var(--wp--preset--color--medium-gray) !important;}.has-light-gray-border-color{border-color: var(--wp--preset--color--light-gray) !important;}.has-blue-gray-border-color{border-color: var(--wp--preset--color--blue-gray) !important;}.has-bright-blue-border-color{border-color: var(--wp--preset--color--bright-blue) !important;}.has-light-blue-border-color{border-color: var(--wp--preset--color--light-blue) !important;}.has-dark-brown-border-color{border-color: var(--wp--preset--color--dark-brown) !important;}.has-medium-brown-border-color{border-color: var(--wp--preset--color--medium-brown) !important;}.has-dark-red-border-color{border-color: var(--wp--preset--color--dark-red) !important;}.has-bright-red-border-color{border-color: var(--wp--preset--color--bright-red) !important;}.has-yellow-border-color{border-color: var(--wp--preset--color--yellow) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
102.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
103/*# sourceURL=global-styles-inline-css */
104</style>
105
106<link rel='stylesheet' id='twentysixteen-fonts-css' href='https://jeremysawesome.com/wp-content/themes/twentysixteen/fonts/merriweather-plus-montserrat-plus-inconsolata.css?ver=20230328' media='all' />
107<link rel='stylesheet' id='genericons-css' href='https://jeremysawesome.com/wp-content/themes/twentysixteen/genericons/genericons.css?ver=20251101' media='all' />
108<link rel='stylesheet' id='twentysixteen-style-css' href='https://jeremysawesome.com/wp-content/themes/twentysixteen/style.css?ver=20260520' media='all' />
109<link rel='stylesheet' id='twentysixteen-block-style-css' href='https://jeremysawesome.com/wp-content/themes/twentysixteen/css/blocks.css?ver=20260105' media='all' />
110<script id="jquery-core-js" src="https://jeremysawesome.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 110
110
111<script id="jquery-migrate-js" src="https://jeremysawesome.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 111
111
112<script id="twentysixteen-script-js-extra">
113var screenReaderText = {"expand":"expand child menu","collapse":"collapse child menu"};
114//# sourceURL=twentysixteen-script-js-extra
115</script>
vendor: 1 bytes, line 115
115
116<script data-wp-strategy="defer" defer id="twentysixteen-script-js" src="https://jeremysawesome.com/wp-content/themes/twentysixteen/js/functions.js?ver=20230629"></script>
116
117<link rel="https://api.w.org/" href="https://jeremysawesome.com/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://jeremysawesome.com/xmlrpc.php?rsd" />
118<meta name="generator" content="WordPress 7.0.7" />
119<style>.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style><link rel="icon" href="https://jeremysawesome.com/wp-content/uploads/2015/10/cropped-2500689-32x32.jpg" sizes="32x32" />
120<link rel="icon" href="https://jeremysawesome.com/wp-content/uploads/2015/10/cropped-2500689-192x192.jpg" sizes="192x192" />
121<link rel="apple-touch-icon" href="https://jeremysawesome.com/wp-content/uploads/2015/10/cropped-2500689-180x180.jpg" />
122<meta name="msapplication-TileImage" content="https://jeremysawesome.com/wp-content/uploads/2015/10/cropped-2500689-270x270.jpg" />
123</head>
124
125<body class="home blog wp-embed-responsive wp-theme-twentysixteen hfeed">
126<div id="page" class="site">
127	<div class="site-inner">
128		<a class="skip-link screen-reader-text" href="#content">
129			Skip to content		</a>
130
131		<header id="masthead" class="site-header">
132			<div class="site-header-main">
133				<div class="site-branding">
134											<h1 class="site-title"><a href="https://jeremysawesome.com/" rel="home" aria-current="page">Jeremys Awesome Blog</a></h1>
135											<p class="site-description">About Coding, Music, Family and anything else I want</p>
136									</div><!-- .site-branding -->
137
138							</div><!-- .site-header-main -->
139
140					</header><!-- .site-header -->
141
142		<div id="content" class="site-content">
143
144	<div id="primary" class="content-area">
145		<main id="main" class="site-main">
146
147		
148			
149			
150<article id="post-536" class="post-536 post type-post status-publish format-standard hentry category-coding tag-ai tag-command-line tag-jetbrains tag-junie tag-tools tag-weird-issues">
151	<header class="entry-header">
152		
153		<h2 class="entry-title"><a href="https://jeremysawesome.com/2026/06/15/junie-cli-agent-not-starting/" rel="bookmark">Junie CLI Agent Not Starting</a></h2>	</header><!-- .entry-header -->
154
155	
156	
157	<div class="entry-content">
158		
159<p class="wp-block-paragraph">I just ran into this lame issue with Junie. <code>The system cannot find the batch label specified - after_channel_oneshot</code>.</p>
160
161
162
163<p class="wp-block-paragraph">Ok &#8211; so how did I get this? It&#8217;s super simple. I tried installing it via the command they give on their website: <a href="https://junie.jetbrains.com/">https://junie.jetbrains.com/</a></p>
164
165
166
167<p class="wp-block-paragraph">This is the command they give:<br><code>powershell -NoProfile -ExecutionPolicy Bypass -Command "iex (irm 'https://junie.jetbrains.com/install.ps1')"</code> <br>After running that command, you restart powershell and <code>junie</code> and it works, normally. This time it wasn&#8217;t. I went through a load of debugging steps. Deleting caches, deleting other bats, etc&#8230; But the one thing that actually helped came from <a href="https://stackoverflow.com/a/232674/296889">this StackOverflow post</a>. The Line endings were wrong.</p>
168
169
170
171<p class="wp-block-paragraph">So &#8211; how to fix? I downloaded the <code>install.ps1</code> file directly and converted the line endings to CRLF. I opened it in Notepad++ and used <strong>Edit</strong> > <strong>EOL Conversion</strong> > <strong>Windows (CR LF)</strong></p>
172
173
174
175<p class="wp-block-paragraph">Then I ran <code>powershell -ExecutionPolicy Bypass -File .\install.ps1</code> directly. BAM! It works. No more mad mad.</p>
176	</div><!-- .entry-content -->
177
178	<footer class="entry-footer">
179		<span class="byline"><img alt='' src='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=49&#038;d=retro&#038;r=g' srcset='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=98&#038;d=retro&#038;r=g 2x' class='avatar avatar-49 photo' height='49' width='49' decoding='async'/><span class="screen-reader-text">Author </span><span class="author vcard"><a class="url fn n" href="https://jeremysawesome.com/author/jeremiah-allangmail-com/">Jeremy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://jeremysawesome.com/2026/06/15/junie-cli-agent-not-starting/" rel="bookmark"><time class="entry-date published updated" datetime="2026-06-15T13:49:11-07:00">June 15, 2026</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://jeremysawesome.com/category/coding/" rel="category tag">Coding</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://jeremysawesome.com/tag/ai/" rel="tag">ai</a>, <a href="https://jeremysawesome.com/tag/command-line/" rel="tag">command line</a>, <a href="https://jeremysawesome.com/tag/jetbrains/" rel="tag">jetbrains</a>, <a href="https://jeremysawesome.com/tag/junie/" rel="tag">junie</a>, <a href="https://jeremysawesome.com/tag/tools/" rel="tag">tools</a>, <a href="https://jeremysawesome.com/tag/weird-issues/" rel="tag">
179weird issues</a></span><span class="comments-link"><a href="https://jeremysawesome.com/2026/06/15/junie-cli-agent-not-starting/#respond">Leave a comment<span class="screen-reader-text"> on Junie CLI Agent Not Starting</span></a></span>			</footer><!-- .entry-footer -->
180</article><!-- #post-536 -->
181
182<article id="post-534" class="post-534 post type-post status-publish format-standard hentry category-coding tag-ai tag-command-line tag-development tag-llm tag-thoughts tag-tools">
183	<header class="entry-header">
184		
185		<h2 class="entry-title"><a href="https://jeremysawesome.com/2026/06/11/kilo-ai-cli-coding-agent/" rel="bookmark">Kilo AI CLI Coding Agent</a></h2>	</header><!-- .entry-header -->
186
187	
188	
189	<div class="entry-content">
190		
191<p class="wp-block-paragraph">I&#8217;ve been working with Kilo CLI for the last day. So, this is first impressions. This is coming from working with Codex CLI for a few months. The following post comes from this experience. In this case I&#8217;m using <code>GPT-5.5 medium</code> in both Kilo and Codex. </p>
192
193
194
195<p class="wp-block-paragraph">The <a href="https://kilo.ai/" type="link" id="https://kilo.ai/">Kilo AI CLI</a> has some cool features. I really appreciate the ability to connect with your existing provider. I like the auto-model routing. The interface is pretty cool, with a lot of themes to choose from. There is a persistent status section in the CLI that shows usage, context available, tokens used, modified files. It&#8217;s really cool. </p>
196
197
198
199<p class="wp-block-paragraph">However, I&#8217;ve consistently run into issues since attempting to use Kilo. And it&#8217;s not with the interface or the functionality of the software. It&#8217;s with the underlying tooling. Something about Kilo causes the LLM to do things that I don&#8217;t want it to do. Here&#8217;s an excerpt from my AGENTS.md file.</p>
200
201
202
203<pre class="wp-block-code"><code>When the user pastes review feedback, follow the Review Feedback section below. Treat the feedback as a claim to verify, explain the conclusion, recommend the smallest correct fix, and ask before implementing unless the user explicitly asks for changes.
204...
205## Review Feedback
206
207When addressing merge request or code review feedback, treat each comment as a claim to verify, not as an instruction to apply automatically.
208
209- First confirm whether the reported problem is real by reading the relevant code paths and, when practical, reproducing or reasoning through the behavior.
210- Validate suggested solutions before implementing them; they may be incomplete, too broad, or aimed at the wrong boundary.
211- If the issue is valid, choose the smallest correct fix that changes the fewest lines and preserves existing intended behavior.
212- If the issue is not valid, explain why with concrete code references or behavior.
213- If a minimal fix could hide an inconsistent state, distinguish the legitimate case from the suspicious case and handle each explicitly.
214</code></pre>
215
216
217
218<p class="wp-block-paragraph">That&#8217;s pretty clear about what I expect. My expectation is no changes unless it&#8217;s verified with me. Or unless I tell the agent to explicitly fix it. Over the last day I&#8217;ve given feedback to the agent and it continues to ignore my instructions, opting instead to make a change without verifying it with me. That&#8217;s frustrating.</p>
219
220
221
222<h3 class="wp-block-heading">Kilo Modes</h3>
223
224
225
226<p class="wp-block-paragraph">Kilo comes with several modes out of the box. There&#8217;s a Code mode, a Plan mode, an Ask mode, a Debug mode, and an Orchestrator mode. Now, this frustration could be my fault for using the tool wrong. I started in &#8220;Code mode&#8221;. Perhaps, code mode, means that Kilo is going to strongly tell the LLM to write code, even if it contradicts my instructions. It could be my fault for not starting in ASK mode and then flipping to CODE mode. But&#8230; seriously. I&#8217;m not going to sit here switching modes all day when I expect the tool to be smart enough to follow instructions. If the tool is in code mode, and the instructions are &#8220;ask before coding&#8221; then the tool should ask. The mode should be inferred from the prompt. If the prompt is a question, then assume an answer is wanted. If the prompt is, fix this issue, then assume that a combination of debug+code is wanted. If the prompt is, implement this feature, then assume orchestrator+code is likely wanted. </p>
227
228
229
230<p class="wp-block-paragraph">Maybe that&#8217;s just me. But switching between modes seems like busy work for me.</p>
231
232
233
234<h3 class="wp-block-heading">Kilo Tooling</h3>
235
236
237
238<p class="wp-block-paragraph">I have <a href="https://github.com/rtk-ai/rtk" type="link" id="https://github.com/rtk-ai/rtk">RTK</a> set up on my machine and integrated into my AI agents. The tool exists as <code>rtk</code> and is callable by the AI agents. However, the code I was writing was in <code>php</code> and I don&#8217;t have php installed on my system. I do have it running in a container running on my system though. I have explicit instructions in my AGENTS.md file telling the Agent to look at local machine notes. My local machine notes tell the Agent all about how this current system uses Fedora and Podman for c
238ontainers. </p>
239
240
241
242<p class="wp-block-paragraph">Today, Kilo failed hard on a few things:<br>&#8211; It did not use rtk. It attempted to use <code>rtk php</code> and when that failed it assumed <code>rtk</code> did not exist and didn&#8217;t use it anymore.<br>&#8211; It did not read my local notes. And because it did not read my local notes (despite being told to in the AGENTS file) it failed to validate my code using php<br>&#8211; It tried to use <code>docker</code> multiple times even though the local notes tell it to use <code>podman</code></p>
243
244
245
246<h2 class="wp-block-heading">Working Verdict</h2>
247
248
249
250<p class="wp-block-paragraph">I really like the concept of Kilo. Super cool interface, super cool themes, super cool status window, an auto-model selector. Kilo has a lot of good stuff going for it. </p>
251
252
253
254<p class="wp-block-paragraph">I&#8217;ve worked with Kilo and attempted to use it. It&#8217;s been an incredibly frustrating experience. Kilo is not reliable and it doesn&#8217;t listen.</p>
255
256
257
258<p class="wp-block-paragraph">Despite all the cool, and the hype, when the rubber meets the road Kilo is not up to snuff. Kilo is not up to snuff because Kilo ignores explicit directions.</p>
259
260
261
262<p class="wp-block-paragraph">My plan is to use <a href="https://pi.dev/" type="link" id="https://pi.dev/">Pi.dev</a>. I&#8217;ve heard that it will work with the Kilo gateway. I probably won&#8217;t come back to Kilo, but who knows, they might update the tool to be more reliable. If they do, I&#8217;ll try it again.</p>
263
264
265
266<p class="wp-block-paragraph"></p>
267	</div><!-- .entry-content -->
268
269	<footer class="entry-footer">
270		<span class="byline"><img alt='' src='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=49&#038;d=retro&#038;r=g' srcset='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=98&#038;d=retro&#038;r=g 2x' class='avatar avatar-49 photo' height='49' width='49' decoding='async'/><span class="screen-reader-text">Author </span><span class="author vcard"><a class="url fn n" href="https://jeremysawesome.com/author/jeremiah-allangmail-com/">Jeremy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://jeremysawesome.com/2026/06/11/kilo-ai-cli-coding-agent/" rel="bookmark"><time class="entry-date published" datetime="2026-06-11T09:21:17-07:00">June 11, 2026</time><time class="updated" datetime="2026-06-11T09:21:27-07:00">June 11, 2026</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://jeremysawesome.com/category/coding/" rel="category tag">Coding</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://jeremysawesome.com/tag/ai/" rel="tag">ai</a>, <a href="https://jeremysawesome.com/tag/command-line/" rel="tag">command line</a>, <a href="https://jeremysawesome.com/tag/development/" rel="tag">development</a>, <a href="https://jeremysawesome.com/tag/llm/" rel="tag">llm</a>, <a href="https://jeremysawesome.com/tag/thoughts/" rel="tag">thoughts</a>, <a href="https://jeremysawesome.com/tag/tools/" rel="tag">tools</a></span><span class="comments-link"><a href="https://jeremysawesome.com/2026/06/11/kilo-ai-cli-coding-agent/#comments">1 Comment<span class="screen-reader-text"> on Kilo AI CLI Coding Agent</span></a></span>			</footer><!-- .entry-footer -->
271</article><!-- #post-534 -->
272
273<article id="post-527" class="post-527 post type-post status-publish format-standard hentry category-coding tag-stackoverflow tag-tools">
274	<header class="entry-header">
275		
276		<h2 class="entry-title"><a href="https://jeremysawesome.com/2026/05/15/remember-stack-overflow/" rel="bookmark">Remember Stack Overflow?</a></h2>	</header><!-- .entry-header -->
277
278	
279	
280	<div class="entry-content">
281		
282<p class="wp-block-paragraph">It&#8217;s one of those places that I used to spend a lot of time on. But then the community got all pretentious and it became more important to users to show you all the ways your question had already been answered instead of just answer it.</p>
283
284
285
286<p class="wp-block-paragraph">About the time I started really disliking StackOverflow, ChatGPT came around and&#8230; well it doesn&#8217;t yell at me for my questions.</p>
287
288
289
290<figure class="wp-block-image size-large"><a href="https://jeremysawesome.com/wp-content/uploads/2026/05/RememberStackOverflow.png"><img fetchpriority="high" decoding="async" width="683" height="1024" src="https://jeremysawesome.com/wp-content/uploads/2026/05/RememberStackOverflow-683x1024.png" alt="" class="wp-image-530" srcset="https://jeremysawesome.com/wp-content/uploads/2026/05/RememberStackOverflow-683x1024.png 683w, https://jeremysawesome.com/wp-content/uploads/2026/05/RememberStackOverflow-200x300.png 200w, https://jeremysawesome.com/wp-content/uploads/2026/05/RememberStackOverflow-768x1152.png 768w, https://jeremysawesome.com/wp-content/uploads/2026/05/RememberStackOverflow.png 1024w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /></a></figure>
291	</div><!-- .entry-content -->
292
293	<footer class="entry-footer">
294		<span class="byline"><img alt='' src='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=49&#038;d=retro&#038;r=g' srcset='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=98&#038;d=retro&#038;r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy' decoding='async'/><span class="screen-reader-text">Author </span><span class="author vcard"><a class="url fn n" href="https://jeremysawesome.com/author/jeremiah-allangmail-com/">Jeremy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://jeremysawesome.com/2026/05/15/remember-stack-overflow/" rel="bookmark"><time class="entry-date published updated" datetime="2026-05-15T16:04:52-07:00">May 15, 2026</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://jeremysawesome.com/category/coding/" rel="category tag">Coding</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://jeremysawesome.com/tag/stackoverflow/" rel="tag">stackoverflow</a>, <a href="https://jeremysawesome.com/tag/tools/" rel="tag">tools</a></span><span class="comments-link"><a href="https://jeremysawesome.com/2026/05/15/remember-stack-overflow/#comments">2 Comments<span class="screen-reader-text"> on Remember Stack Overflow?</span></a></span>			</footer><!-- .entry-footer -->
295</article><!-- #post-527 -->
296
297<article id="post-521" class="post-521 post type-post status-publish format-standard hentry category-gaming tag-command-line tag-javascript tag-linux tag-mineos tag-problem-solving tag-tools tag-truenas-scale tag-video-game">
298	<header class="entry-header">
299		
300		<h2 class="entry-title"><a href="https://jeremysawesome.com/2026/04/30/truenas-scale-mineos-server-not-starting/" rel="bookmark">Truenas SCALE MineOS Server Not Starting</a></h2>	</header><!-- .entry-header -->
301
302	
303	
304	<div class="entry-content">
305		
306<p class="wp-block-paragraph">This post is to serve basically as long term memory for me. I keep forgetting how to do this, and <a href="https://discourse.codeemo.com/t/solution-truenas-scale-mineos-server-not-starting-quick-guide-for-installing-java-forge-vanilla-etc/7066" type="link" id="https://discourse.codeemo.com/t/solution-truenas-scale-mineos-server-not-starting-quick-guide-for-installing-java-forge-vanilla-etc/7066">the original post I used to refer to is gone</a>.  (Well, at the time of this writing it is). That said, WaybackMachine is awesome and I was able to access the <a href="https://web.archive.org/web/20251216075550/https://discourse.codeemo.com/t/solution-truenas-scale-mineos-server-not-starting-quick-guide-for-installing-java-forge-vanilla-etc/7066" type="link" id="https://web.archive.org/web/20251216075550/https://discourse.codeemo.com/t/solution-truenas-scale-mineos-server-not-starting-quick-guide-for-installing-java-forge-vanilla-etc/7066">archived original post</a> there.</p>
307
308
309
310<p class="wp-block-paragraph">However, for ease, I&#8217;m just going to repeat the steps here because it&#8217;s easy enough to do. </p>
311
312
313
314<h2 class="wp-block-heading">Install the right Java Version</h2>
315
316
317
318<p class="wp-block-paragraph">As of this writing, the TrueNAS Scale MineOS App, does not come with Java 21 pre-installed. Every time the MineOS App is updated, Java 21 is blown away. So, you have to re-install it in the MineOS App Container.</p>
319
320
321
322<p class="wp-block-paragraph"><strong>Step 1 &#8211; Access the MineOS App Shell</strong></p>
323
324
325
326<figure class="wp-block-image size-large"><a href="https://jeremysawesome.com/wp-content/uploads/2026/04/mineos_shell.png"><img loading="lazy" decoding="async" width="1024" height="364" src="https://jeremysawesome.com/wp-content/uploads/2026/04/mineos_shell-1024x364.png" alt="Accessing the TrueNAS Scale MineOS shell" class="wp-image-522" srcset="https://jeremysawesome.com/wp-content/uploads/2026/04/mineos_shell-1024x364.png 1024w, https://jeremysawesome.com/wp-content/uploads/2026/04/mineos_shell-300x107.png 300w, https://jeremysawesome.com/wp-content/uploads/2026/04/mineos_shell-768x273.png 768w, https://jeremysawesome.com/wp-content/uploads/2026/04/mineos_shell-1536x546.png 1536w, https://jeremysawesome.com/wp-content/uploads/2026/04/mineos_shell-1200x427.png 1200w, https://jeremysawesome.com/wp-content/uploads/2026/04/mineos_shell.png 1636w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></a></figure>
327
328
329
330<p class="wp-block-paragraph"><strong>Step 2 &#8211; Run <code>apt update</code></strong></p>
331
332
333
334<p class="wp-block-paragraph"><strong>Step 3 &#8211; Run <code>apt install openjdk-21-jdk</code></strong></p>
335
336
337
338<h2 class="wp-block-heading">Start The Servers</h2>
339
340
341
342<p class="wp-block-paragraph">Ok &#8211; now that you&#8217;ve updated the java version, you can go in and start your MineOS servers. </p>
343
344
345
346<ol class="wp-block-list">
347<li>Visit the Server page</li>
348
349
350
351<li>Select the correct profile from the <strong>Server Actions</strong> box. (i.e. 1.21.4)</li>
352
353
354
355<li>Select the correct runnable jar from the <strong>Java Settings</strong> box (i.e. <code>minecraft_server.1.21.4.jar</code>)</li>
356
357
358
359<li>Push the big green Start button</li>
360
361
362
363<li>
363Wait a bit and you should see the Server status checkbox flip from a red &#8220;Down&#8221; to a green &#8220;Up&#8221;</li>
364</ol>
365
366
367
368<p class="wp-block-paragraph">Here&#8217;s a couple screenies to help you get your bearings. </p>
369
370
371
372<figure class="wp-block-image size-large"><a href="https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-start-server.png"><img loading="lazy" decoding="async" width="1024" height="300" src="https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-start-server-1024x300.png" alt="" class="wp-image-524" srcset="https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-start-server-1024x300.png 1024w, https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-start-server-300x88.png 300w, https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-start-server-768x225.png 768w, https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-start-server.png 1160w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></a></figure>
373
374
375
376<figure class="wp-block-image size-large"><a href="https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-up.png"><img loading="lazy" decoding="async" width="1024" height="300" src="https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-up-1024x300.png" alt="" class="wp-image-525" srcset="https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-up-1024x300.png 1024w, https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-up-300x88.png 300w, https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-up-768x225.png 768w, https://jeremysawesome.com/wp-content/uploads/2026/04/mineos-up.png 1160w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></a></figure>
377	</div><!-- .entry-content -->
378
379	<footer class="entry-footer">
380		<span class="byline"><img alt='' src='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=49&#038;d=retro&#038;r=g' srcset='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=98&#038;d=retro&#038;r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy' decoding='async'/><span class="screen-reader-text">Author </span><span class="author vcard"><a class="url fn n" href="https://jeremysawesome.com/author/jeremiah-allangmail-com/">Jeremy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://jeremysawesome.com/2026/04/30/truenas-scale-mineos-server-not-starting/" rel="bookmark"><time class="entry-date published updated" datetime="2026-04-30T09:58:36-07:00">April 30, 2026</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://jeremysawesome.com/category/gaming/" rel="category tag">Gaming</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://jeremysawesome.com/tag/command-line/" rel="tag">command line</a>, <a href="https://jeremysawesome.com/tag/javascript/" rel="tag">JavaScript</a>, <a href="https://jeremysawesome.com/tag/linux/" rel="tag">linux</a>, <a href="https://jeremysawesome.com/tag/mineos/" rel="tag">mineos</a>, <a href="https://jeremysawesome.com/tag/problem-solving/" rel="tag">problem solving</a>, <a href="https://jeremysawesome.com/tag/tools/" rel="tag">tools</a>, <a href="https://jeremysawesome.com/tag/truenas-scale/" rel="tag">truenas scale</a>, <a href="https://jeremysawesome.com/tag/video-game/" rel="tag">video game</a></span><span class="comments-link"><a href="https://jeremysawesome.com/2026/04/30/truenas-scale-mineos-server-not-starting/#respond">Leave a comment<span class="screen-reader-text"> on Truenas SCALE MineOS Server Not Starting</span></a></span>			</footer><!-- .entry-footer -->
381</article><!-- #post-521 -->
382
383<article id="post-514" class="post-514 post type-post status-publish format-standard hentry category-coding tag-ai tag-command-line tag-jetbrains tag-junie tag-llm tag-phpstorm tag-thoughts tag-tools">
384	<header class="entry-header">
385		
386		<h2 class="entry-title"><a href="https://jeremysawesome.com/2026/04/10/phpstorm-classic-mode/" rel="bookmark">PHPStorm Classic Mode</a></h2>	</header><!-- .entry-header -->
387
388	
389	
390	<div class="entry-content">
391		
392<p class="wp-block-paragraph">So, one of the most annoying things IN MY LIFE has been when JetBrains started adding all of this random AI Assistant autocompletes to their IDE&#8217;s. I know I&#8217;m not alone, because there are even tickets like this one, <a href="https://youtrack.jetbrains.com/issue/WI-
39275355">How to Shut Off All this AI Crap?</a>. </p>
393
394
395
396<p class="wp-block-paragraph">It&#8217;s not that I&#8217;m anti-AI &#8211; I&#8217;m <strong>anti-Intrusion</strong>. When I&#8217;m driving the car, I get to drive the car, not the AI Assistant. Unfortunately, the way JetBrains is adding AI into it&#8217;s editor feels very intrusive. And, also unfortunately, it&#8217;s a slog to go through all of the IDE settings to try and find every single little thing that needs to be turned off. </p>
397
398
399
400<p class="wp-block-paragraph">Luckily, you don&#8217;t need to! JetBrains has added some files that will allow you to selectively use AI tools. My favorite is dropping a <code><a href="https://www.jetbrains.com/help/ai-assistant/disable-ai-assistant.html#restrict-ai-assistant-usage-for-project">.noai</a></code> file in your project root. It&#8217;s easy to do, navigate to your project root in Powershell and run <code>touch .noai</code>. That&#8217;s it, all you need is an empty file to disable all the AI stuff in PHPStorm. </p>
401
402
403
404<p class="wp-block-paragraph">Now you can get back to PHPStorm Classic mode. LFG? Molten Core? &#8230; oops wrong classic mode.</p>
405
406
407
408<h2 class="wp-block-heading">But what about Junie?</h2>
409
410
411
412<p class="wp-block-paragraph">That&#8217;s a valid question. Like I said, I&#8217;m not anti-AI. I actually like the coding agents, I&#8217;ve found them extremely helpful in certain circumstances. So, I wondered, will <code>.noai</code> disable all coding agents? Nope! It won&#8217;t. As of this writing <code>.noai</code> will disable the AI Assistant features in the IDE &#8211; but you can still use the Junie agent window. I don&#8217;t know if that&#8217;s an oversight or not, I actually recently heard that the Junie agent window is going away as they consolidate underneath the AI Assistant chat window. </p>
413
414
415
416<h3 class="wp-block-heading">The Better Junie Option (imo)</h3>
417
418
419
420<p class="wp-block-paragraph">The better option, in my opinion, is to just use the <a href="https://junie.jetbrains.com/">Junie CLI</a>. It&#8217;s currently in beta, and appears very usable from my testing. It&#8217;s integrated with your current JetBrains AI pricing model, so if you pay to use Junie within your IDE, then you are paying to use the CLI tool as well. I&#8217;ve found that I can open my own custom terminal, or use the built in IDE terminal, and open Junie via CLI. This gives me the best of both worlds, a powerful IDE and a powerful coding agent. I can use both when I want. </p>
421
422
423
424<h2 class="wp-block-heading">Not Quite .noai</h2>
425
426
427
428<p class="wp-block-paragraph">Despite .noai working in most circumstances, I&#8217;m noticing little bits of AI crop back up. For example, inline Code Completion. I&#8217;m wanting classic intellisense, but JetBrains is giving me inline completion using cloud and local models. I had expected this to not happen, and indeed thought it wasn&#8217;t happening. But today, as I&#8217;m coding, I noticed phpstorm giving me ghosted AI completion hints. So, I navigated to phpstorm settings <strong>Editor</strong> > <strong>General</strong> > <strong>Code Completion</strong> > <strong>Inline</strong> and unchecked the <strong>Enable inline completion using language models:</strong> option.</p>
429
430
431
432<figure class="wp-block-image size-full"><a href="https://jeremysawesome.com/wp-content/uploads/2026/04/image.png"><img loading="lazy" decoding="async" width="924" height="722" src="https://jeremysawesome.com/wp-content/uploads/2026/04/image.png" alt="" class="wp-image-518" srcset="https://jeremysawesome.com/wp-content/uploads/2026/04/image.png 924w, https://jeremysawesome.com/wp-content/uploads/2026/04/image-300x234.png 300w, https://jeremysawesome.com/wp-content/uploads/2026/04/image-768x600.png 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></a><figcaption class="wp-element-caption">.noai seems to have no effect on this setting</figcaption></figure>
433	</div><!-- .entry-content -->
434
435	<footer class="entry-footer">
436		<span class="byline"><img alt='' src='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=49&#038;d=retro&#038;r=g' srcset='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=98&#038;d=retro&#038;r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy' decoding='async'/><span class="screen-reader-text">Author </span><span class="author vcard"><a class="url fn n" href="https://jeremysawesome.com/author/jeremiah-allangmail-com/">Jeremy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://jeremysawesome.com/2026/04/10/phpstorm-classic-mode/" rel="bookmark"><time class="entry-date published" datetime="2026-04-10T11:13:13-07:00">April 10, 2026</time><time class="updated" datetime="2026-04-18T07:52:21-07:00">April 18, 2026</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://jeremysawesome.com/category/coding/" rel="category tag">Coding</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://jeremysawesome.com/tag/ai/" rel="tag">ai</a>, <a href="https://jeremysawesome.com/tag/command-line/" rel="tag">command line</a>, <a href="https://jeremysawesome.com/tag/jetbrains/" rel="tag">jetbrains</a>, <a href="https://jeremysawesome.com/tag/junie/" rel="tag">junie</a>, <a href="https://jeremysawesome.com/tag/llm/" rel="tag">llm</a>, <a href="https://jeremysawesome.com/tag/phpstorm/" rel="tag">PHPStorm</a>, <a href="https://jeremysawesome.com/tag/thoughts/" rel="tag">thoughts</a>, <a href="https://jeremysawesome.com/tag/tools/" rel="tag">tools</a></span><span class="comments-link"><a href="https://jeremysawesome.com/2026/04/10/phpstorm-classic-mode/#respond">Leave a comment<span class="screen-reader-text"> on PHPStorm Classic Mode</span></a></span>			</footer><!-- .entry-footer -->
437</article><!-- #post-514 -->
438
439<article id="post-505" class="post-505 post type-post status-publish format-standard hentry category-useful tag-development tag-fedora tag-kde tag-linux tag-problem-solving tag-sharex tag-tools">
440	<header class="entry-header">
441		
442		<h2 class="entry-title"><a href="https://jeremysawesome.com/2026/04/02/capturing-animated-gifs-on-linux-with-spectacle/" rel="bookmark">Capturing Animated GIFS on Linux with Spectacle</a></h2>	</header><!-- .entry-header -->
443
444	
445	
446	<div class="entry-content">
447		
448<p class="wp-block-paragraph">OK. Honestly, I&#8217;m just dropping a quick one in here because it&#8217;s necessary. You can easily capture Animated GIFS, Screen Recordings, Animated PNGS on Linux with KDE Spectacle.</p>
449
450
451
452<h2 class="wp-block-heading">
452Background</h2>
453
454
455
456<p class="wp-block-paragraph">Here&#8217;s the deal. Windows 10 be complaining that it&#8217;s End-of-Life and it won&#8217;t run on my laptop anymore and they need me to update my hardware. You know what OS doesn&#8217;t need me to update my hardware? That&#8217;s right, it&#8217;s Linux. So I went ahead and dropped Fedora KDE Plasma Desktop on my laptop and it&#8217;s working great. I used Kubuntu years ago and I&#8217;m super impressed at how far Linux has come along. There&#8217;s pretty much a Linux alternative to all the tools I use, not to mention that a lot of the tools I use are Linux native anyways.</p>
457
458
459
460<p class="wp-block-paragraph">The one thing that I couldn&#8217;t quite replicate is ShareX on Linux. I used ShareX on Windows to do the following things:</p>
461
462
463
464<ol class="wp-block-list">
465<li>Capture screenshots</li>
466
467
468
469<li>Capture screen recordings</li>
470</ol>
471
472
473
474<p class="wp-block-paragraph">And that&#8217;s it. I don&#8217;t use any sharing features. Try as I may, I couldn&#8217;t find something that would allow me to do that easily in KDE. I tried <a href="https://flameshot.org/">Flameshot</a>, and it&#8217;s pretty cool, but I found it&#8217;s not quite as good as what I&#8217;m used to with ShareX. My experience is that opening flameshot basically took a screenshot of what&#8217;s on my screen and then tried to give me a selection tool. But the way it worked was it offset all my screens so just opening Flameshot made everything on my screen look different. </p>
475
476
477
478<p class="wp-block-paragraph">There&#8217;s also a very promising ShareX fork called <a href="https://github.com/SnapXL/SnapX">SnapX</a>. It looks pretty cool, basically like ShareX but for everywhere! However, it&#8217;s still very much in active development and I didn&#8217;t feel like trying to beta test the tool. </p>
479
480
481
482<h2 class="wp-block-heading">Solution</h2>
483
484
485
486<p class="wp-block-paragraph">Enter <a href="https://apps.kde.org/spectacle/">Spectacle</a>. Yeah, I know what you&#8217;re thinking. That&#8217;s just a simple screenshot tool, it&#8217;s not going to check off both your boxes. But, here&#8217;s the thing. It does check off both boxes. The docs don&#8217;t tell you about it, nothing published seems to say anything about it, but the ability to capture both a screenshot and a screen recording is legit right there in the interface for Spectacle. (I&#8217;ll go ahead and drop in a super grainy picture of my monitor to illustrate).</p>
487
488
489
490<figure class="wp-block-image size-large"><a href="https://jeremysawesome.com/wp-content/uploads/2026/04/spectacle-interface.png"><img loading="lazy" decoding="async" width="1024" height="369" src="https://jeremysawesome.com/wp-content/uploads/2026/04/spectacle-interface-1024x369.png" alt="" class="wp-image-506" srcset="https://jeremysawesome.com/wp-content/uploads/2026/04/spectacle-interface-1024x369.png 1024w, https://jeremysawesome.com/wp-content/uploads/2026/04/spectacle-interface-300x108.png 300w, https://jeremysawesome.com/wp-content/uploads/2026/04/spectacle-interface-768x277.png 768w, https://jeremysawesome.com/wp-content/uploads/2026/04/spectacle-interface-1536x554.png 1536w, https://jeremysawesome.com/wp-content/uploads/2026/04/spectacle-interface-2048x738.png 2048w, https://jeremysawesome.com/wp-content/uploads/2026/04/spectacle-interface-1200x433.png 1200w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></a></figure>
491
492
493
494<p class="wp-block-paragraph">See &#8211; it&#8217;s right there. Spectacle gives you the opportunity to take a screenshot or a screen recording, right there with sweet rectangular selection, window, or fullscreen options. </p>
495
496
497
498<p class="wp-block-paragraph">How can you save animated gifs or png&#8217;s though? You just need to set that as the output format in Spectacle&#8217;s settings. The way I accessed that is by clicking the <strong>Options</strong> button just to the right of &#8220;New Recording&#8221; (see above uber grainy screenshot of monitor). From there you can navigate to <strong>Video Saving</strong>. Right next to the <strong>Filename</strong> text field there is a file type dropdown. Your options are <strong>WebM/VP9</strong>, <strong>MP4/H.264</strong>, <strong>Animated WebP (better than GIF)</strong>, and <strong>GIF (compatible, but inefficient)</strong>. Sweet right?</p>
499
500
501
502<figure class="wp-block-image size-full"><a href="https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_101026.png"><img loading="lazy" decoding="async" width="930" height="671" src="https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_101026.png" alt="" class="wp-image-511" srcset="https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_101026.png 930w, https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_101026-300x216.png 300w, https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_101026-768x554.png 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></a></figure>
503
504
505
506<p class="wp-block-paragraph"><strong>Important Note: Screenshots are stored in your Pictures/Screenshots folder and screen recordings are stored in your Videos/Screencasts folder.</strong></p>
507
508
509
510<p class="wp-block-paragraph">Here&#8217;s a list of the keyboard shortcuts available to use. </p>
511
512
513
514<h2>KDE Spectacle &#8211; Screenshot &#038; Recording Keyboard Shortcuts</h2>
515
516<table>
517  <caption>Global keyboard shortcuts available in KDE Spectacle for screenshots and screen recording.</caption>
518  <thead>
519    <tr>
520      <th>Action</th>
521      <th>Global Shortcut</th>
522      <th>Global Alternate</th>
523    </tr>
524  </thead>
525  <tbody>
526    <tr>
527      <td>Capture Active Window</td>
528      <td>Meta+Print</td>
529      <td></td>
530    </tr>
531    <tr>
532      <td>Capture Current Monitor</td>
533      <td>Shift+Print</td>
534      <td></td>
535    </tr>
536    <tr>
537      <td>Capture Entire Desktop</td>
538      <td>Meta+Shift+Print</td>
539      <td></td>
540    </tr>
541    <tr>
542      <td>Capture Rectangular Region</td>
543      <td>Meta+Shift+Print</td>
544      <td></td>
545    </tr>
546    <tr>
547      <td>Capture Selected Window</td>
548      <td>Meta+Ctrl+Print</td>
549      <td></td>
550    </tr>
551    <tr>
552      <td>Launch Spectacle</td>
553      <td>Print</td>
554      <td>Meta+Shift+S</td>
555    </tr>
556    <tr>
557      <td>Launch Spectacle without capturing</td>
558      <td></td>
559      <td></td>
560    </tr>
561    <tr>
562      <td>Start/Stop Region Recording</td>
563      <td>Meta+Shift+R</td>
564      <td>Meta+R</td>
565    </tr>
566    <tr>
567      <td>Start/Stop Screen Recording</td>
568      <td>Meta+Alt+R</td>
569      <td></td>
570    </tr>
571    <tr>
572      <td>Start/Stop Window Recording</td>
573      <td>Meta+Ctrl+R</td>
574      <td></td>
575    </tr>
576  </tbody>
577</table>
578
579
580
581<h2 class="wp-block-heading">Proof</h2>
582
583
584
585<figure class="wp-block-image size-large"><a href="https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_100100.png"><img loading="lazy" decoding="async" width="1024" height="733" src="https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_100100-1024x733.png" alt="" class="wp-image-507" srcset="https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_100100-1024x733.png 1024w, https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_100100-300x215.png 300w, https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_100100-
585768x550.png 768w, https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_100100-1200x859.png 1200w, https://jeremysawesome.com/wp-content/uploads/2026/04/Screenshot_20260402_100100.png 1481w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></a><figcaption class="wp-element-caption">A Screenshot taken with Spectacle</figcaption></figure>
586
587
588
589<figure class="wp-block-video"><video height="1018" style="aspect-ratio: 1449 / 1018;" width="1449" controls src="https://jeremysawesome.com/wp-content/uploads/2026/04/Screencast_20260402_100033.webm"></video><figcaption class="wp-element-caption">A Screen recording taken with Spectacle</figcaption></figure>
590
591
592
593<figure class="wp-block-image size-full"><a href="https://jeremysawesome.com/wp-content/uploads/2026/04/Screencast_20260402_101731.gif"><img loading="lazy" decoding="async" width="670" height="260" src="https://jeremysawesome.com/wp-content/uploads/2026/04/Screencast_20260402_101731.gif" alt="" class="wp-image-509"/></a><figcaption class="wp-element-caption">An Animated GIF taken with Spectacle</figcaption></figure>
594
595
596
597<h2 class="wp-block-heading">Final Thoughts</h2>
598
599
600
601<p class="wp-block-paragraph">While it was frustrating to find this tool, and that it doesn&#8217;t seem to be documented main stream &#8211; it&#8217;s awesome that it exists and it&#8217;s built in to KDE! Props to the Spectacle team.</p>
602
603
604
605<p class="wp-block-paragraph">Get the word out, you can screen capture and screen record right from Spectacle. The tool is awesome 💥</p>
606
607
608
609<p class="wp-block-paragraph"></p>
610	</div><!-- .entry-content -->
611
612	<footer class="entry-footer">
613		<span class="byline"><img alt='' src='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=49&#038;d=retro&#038;r=g' srcset='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=98&#038;d=retro&#038;r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy' decoding='async'/><span class="screen-reader-text">Author </span><span class="author vcard"><a class="url fn n" href="https://jeremysawesome.com/author/jeremiah-allangmail-com/">Jeremy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://jeremysawesome.com/2026/04/02/capturing-animated-gifs-on-linux-with-spectacle/" rel="bookmark"><time class="entry-date published" datetime="2026-04-02T10:22:49-07:00">April 2, 2026</time><time class="updated" datetime="2026-04-02T10:25:31-07:00">April 2, 2026</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://jeremysawesome.com/category/useful/" rel="category tag">Useful</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://jeremysawesome.com/tag/development/" rel="tag">development</a>, <a href="https://jeremysawesome.com/tag/fedora/" rel="tag">Fedora</a>, <a href="https://jeremysawesome.com/tag/kde/" rel="tag">KDE</a>, <a href="https://jeremysawesome.com/tag/linux/" rel="tag">linux</a>, <a href="https://jeremysawesome.com/tag/problem-solving/" rel="tag">problem solving</a>, <a href="https://jeremysawesome.com/tag/sharex/" rel="tag">sharex</a>, <a href="https://jeremysawesome.com/tag/tools/" rel="tag">tools</a></span><span class="comments-link"><a href="https://jeremysawesome.com/2026/04/02/capturing-animated-gifs-on-linux-with-spectacle/#respond">Leave a comment<span class="screen-reader-text"> on Capturing Animated GIFS on Linux with Spectacle</span></a></span>			</footer><!-- .entry-footer -->
614</article><!-- #post-505 -->
615
616<article id="post-500" class="post-500 post type-post status-publish format-standard hentry category-useful tag-thoughts tag-tools tag-weird-issues">
617	<header class="entry-header">
618		
619		<h2 class="entry-title"><a href="https://jeremysawesome.com/2025/09/08/the-morning-everything-went-wrong-and-still-worked-out/" rel="bookmark">The Morning Everything Went Wrong (and Still Worked Out)</a></h2>	</header><!-- .entry-header -->
620
621	
622	
623	<div class="entry-content">
624		
625<p class="wp-block-paragraph">LOL &#8211; first day of school for the kids today.</p>
626
627
628
629<p class="wp-block-paragraph">Obviously, I slept in. Planned to leave by 8:20 but woke up at 7:30. We&#8217;re out of bread. And my son was going to make a sandwich for lunch. That&#8217;s ok, I have time to run to the store and back.</p>
630
631
632
633<p class="wp-block-paragraph">Head out to the car. It&#8217;s not unlocking with the button, which is kind of odd. Open it up with the key. The light selector is turned to running lights… oh boy. I forgot to check the knobs after taking the toddler out of the front seat yesterday. I tried to turn the car on. Nothin.</p>
634
635
636
637<p class="wp-block-paragraph">
637I searched through two of our emergency kits. I have two sets of jumper cables, odd brands of band-aids, flashlights, batteries, foil blankets, cigarette lighter air compressors… but nothing to help me jump my car.</p>
638
639
640
641<p class="wp-block-paragraph">Not a problem, there&#8217;s a dude chillin in his truck two houses down. I walked over, he seemed annoyed but drove over to help me jump my car. I open the hood. I can&#8217;t find the battery, neither of us can. Where in the heck is the battery on this transit?!</p>
642
643
644
645<p class="wp-block-paragraph">Oh… it&#8217;s underneath the drivers seat. You have to literally take the drivers seat out to reach the battery. I apologize to my neighbor for wasting his time. It&#8217;s 7:58.</p>
646
647
648
649<p class="wp-block-paragraph">I figure I&#8217;d search the internet for how to jump a Ford Transit. Oh &#8211; there are specific jumper terminals in the main engine compartment. I found them. Turns out our transit is missing the very noticeable red jumper cable label that points directly to the terminal on most other Transits. It must&#8217;ve broken off. Had it been there my neighbor and I (first time I met him by the way) would&#8217;ve found it.</p>
650
651
652
653<p class="wp-block-paragraph">Great I found the terminals! But, my neighbor is gone…</p>
654
655
656
657<p class="wp-block-paragraph">I called my brother-in-law, he lives a few minutes away. Asked if he could come jump my car. He could. It would take him a bit to head over. My son probably isn&#8217;t going to get his sandwich.</p>
658
659
660
661<p class="wp-block-paragraph">Brother-in-law is here, I glance at the clock. It&#8217;s 8:15. Alright, I hope the car jumps. It totally does. Whew! I thank my brother-in-law profusely. He takes off, it&#8217;s 8:19. The kids get in the car. We&#8217;re out of there by 8:20am and I get the kids dropped off at school on time. My son doesn&#8217;t have a sandwich.</p>
662
663
664
665<p class="wp-block-paragraph">Yes, our kids are homeschooled. But for highschool they have a brand new co-op they are going to. They get 1 day of in class lessons from the teacher a week, and the rest of the week is homeschooled.</p>
666
667
668
669<p class="wp-block-paragraph">If only I would&#8217;ve &#8220;jumped&#8221; on a post from my boss 6 years ago 🤣<br></p>
670
671
672
673<figure class="wp-block-image size-full"><a href="https://jeremysawesome.com/wp-content/uploads/2025/09/image.png"><img loading="lazy" decoding="async" width="709" height="312" src="https://jeremysawesome.com/wp-content/uploads/2025/09/image.png" alt="" class="wp-image-501" srcset="https://jeremysawesome.com/wp-content/uploads/2025/09/image.png 709w, https://jeremysawesome.com/wp-content/uploads/2025/09/image-300x132.png 300w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /></a></figure>
674
675
676
677<p class="wp-block-paragraph">Anyways, after this whole situation I bought one of these Wolfbox things. Gonna be totally prepared next time. You never know when your toddler will leave your car lights on.</p>
678
679
680
681<p class="wp-block-paragraph"><a href="https://amzn.to/3JW5tYe">https://amzn.to/3JW5tYe</a> 👈 (this is totally an affiliate link. 😆)<br>💡<em>Heads up: I may earn a small commission if you buy through this link &#8211; at no extra cost to you!</em></p>
682
683
684
685<p class="wp-block-paragraph"></p>
686	</div><!-- .entry-content -->
687
688	<footer class="entry-footer">
689		<span class="byline"><img alt='' src='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=49&#038;d=retro&#038;r=g' srcset='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=98&#038;d=retro&#038;r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy' decoding='async'/><span class="screen-reader-text">Author </span><span class="author vcard"><a class="url fn n" href="https://jeremysawesome.com/author/jeremiah-allangmail-com/">Jeremy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://jeremysawesome.com/2025/09/08/the-morning-everything-went-wrong-and-still-worked-out/" rel="bookmark"><time class="entry-date published" datetime="2025-09-08T11:45:36-07:00">September 8, 2025</time><time class="updated" datetime="2025-09-08T13:38:28-07:00">September 8, 2025</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://jeremysawesome.com/category/useful/" rel="category tag">Useful</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://jeremysawesome.com/tag/thoughts/" rel="tag">thoughts</a>, <a href="https://jeremysawesome.com/tag/tools/" rel="tag">tools</a>, <a href="https://jeremysawesome.com/tag/weird-issues/" rel="tag">
689weird issues</a></span><span class="comments-link"><a href="https://jeremysawesome.com/2025/09/08/the-morning-everything-went-wrong-and-still-worked-out/#respond">Leave a comment<span class="screen-reader-text"> on The Morning Everything Went Wrong (and Still Worked Out)</span></a></span>			</footer><!-- .entry-footer -->
690</article><!-- #post-500 -->
691
692<article id="post-490" class="post-490 post type-post status-publish format-standard hentry category-useful tag-keyboard tag-sharex tag-tools tag-weird-issues tag-windows">
693	<header class="entry-header">
694		
695		<h2 class="entry-title"><a href="https://jeremysawesome.com/2025/04/11/fixing-sharex-hotkeys-the-print-screen-conflict-with-logi-options/" rel="bookmark">Fixing ShareX Hotkeys: The Print Screen Conflict with Logi Options</a></h2>	</header><!-- .entry-header -->
696
697	
698	
699	<div class="entry-content">
700		
701<p class="wp-block-paragraph">Somewhat recently, I found that my <strong>ShareX hotkeys</strong> were not working. I tried a number of different things: re-installing ShareX, updating ShareX, and resetting the ShareX hotkey settings. <strong>Nothing worked.</strong></p>
702
703
704
705<p class="wp-block-paragraph">And so, since I had more important things to do, I just left the situation alone and manually triggered the ShareX features via the menu when I needed them.</p>
706
707
708
709<p class="wp-block-paragraph">This morning, I attempted to use a <strong>ShareX hotkey</strong> again. However, I noticed something I&#8217;ve never noticed before—a little <strong>Logi Options logo</strong> appeared on my Windows taskbar for a brief moment. And that got me thinking… what am I doing to trigger Logi Options to show up?</p>
710
711
712
713<p class="wp-block-paragraph">So obviously, I opened up <strong>Logi Options</strong>. In the settings for my keyboard, I discovered that <strong>Print Screen</strong> is a <strong>configurable key.</strong> It was set, at some point, to <strong>Screen Capture</strong>. While that <em>sounds</em> good—it’s what <strong>Print Screen</strong> is supposed to do—this actually <strong>isn&#8217;t good!</strong> <strong>Screen Capture</strong> tells Logi Options to take a screenshot for you. It behaves almost like a native Windows <strong>Print Screen,</strong> and so it’s hard to notice.</p>
714
715
716
717<p class="wp-block-paragraph">In order to <strong>fix your ShareX hotkeys,</strong> you need to choose the <strong>Print Screen</strong> option. This tells Logi Options to get out of the way and treat a <strong>Print Screen</strong> press like normal.</p>
718
719
720
721<figure class="wp-block-image size-large"><a href="https://jeremysawesome.com/wp-content/uploads/2025/04/image.png"><img loading="lazy" decoding="async" width="1024" height="584" src="https://jeremysawesome.com/wp-content/uploads/2025/04/image-1024x584.png" alt="Correcting the Print Screen behavior" class="wp-image-492" srcset="https://jeremysawesome.com/wp-content/uploads/2025/04/image-1024x584.png 1024w, https://jeremysawesome.com/wp-content/uploads/2025/04/image-300x171.png 300w, https://jeremysawesome.com/wp-content/uploads/2025/04/image-768x438.png 768w, https://jeremysawesome.com/wp-content/uploads/2025/04/image-1200x684.png 1200w, https://jeremysawesome.com/wp-content/uploads/2025/04/image.png 1534w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></a></figure>
722	</div><!-- .entry-content -->
723
724	<footer class="entry-footer">
725		<span class="byline"><img alt='' src='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=49&#038;d=retro&#038;r=g' srcset='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=98&#038;d=retro&#038;r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy' decoding='async'/><span class="screen-reader-text">Author </span><span class="author vcard"><a class="url fn n" href="https://jeremysawesome.com/author/jeremiah-allangmail-com/">Jeremy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://jeremysawesome.com/2025/04/11/fixing-sharex-hotkeys-the-print-screen-conflict-with-logi-options/" rel="bookmark"><time class="entry-date published" datetime="2025-04-11T10:27:41-07:00">April 11, 2025</time><time class="updated" datetime="2025-04-11T10:33:53-07:00">April 11, 2025</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://jeremysawesome.com/category/useful/" rel="category tag">Useful</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://jeremysawesome.com/tag/keyboard/" rel="tag">keyboard</a>, <a href="https://jeremysawesome.com/tag/sharex/" rel="tag">sharex</a>, <a href="https://jeremysawesome.com/tag/tools/" rel="tag">tools</a>, <a href="https://jeremysawesome.com/tag/weird-issues/" rel="tag">
725weird issues</a>, <a href="https://jeremysawesome.com/tag/windows/" rel="tag">windows</a></span><span class="comments-link"><a href="https://jeremysawesome.com/2025/04/11/fixing-sharex-hotkeys-the-print-screen-conflict-with-logi-options/#comments">3 Comments<span class="screen-reader-text"> on Fixing ShareX Hotkeys: The Print Screen Conflict with Logi Options</span></a></span>			</footer><!-- .entry-footer -->
726</article><!-- #post-490 -->
727
728<article id="post-486" class="post-486 post type-post status-publish format-standard hentry category-rocketchat tag-annoyed tag-thoughts tag-tools">
729	<header class="entry-header">
730		
731		<h2 class="entry-title"><a href="https://jeremysawesome.com/2025/01/25/rocketchat-is-the-worst/" rel="bookmark">RocketChat is the Worst</a></h2>	</header><!-- .entry-header -->
732
733	
734	
735	<div class="entry-content">
736		
737<p class="wp-block-paragraph">Ok. I&#8217;ve tried it. I&#8217;ve attempted to run a RocketChat server on digital ocean for a few years now. My goal was to provide an easy to use alternative to our families group text messages. Group text messages are terrible, they are unorganized, and often times people are left out of the conversation or added into the middle and left wondering &#8220;what the heck is going on?!&#8221; </p>
738
739
740
741<p class="wp-block-paragraph">I&#8217;d remembered looking into RocketChat years ago and decided to give it a try. My family was excited to try this new approach to communication. Right off the bat there was an issue. One of our family members attempted to change their profile picture via the RocketChat app. It didn&#8217;t work. So they decided not to use the program, just like that. I&#8217;ll say it again, in their first experience with RocketChat, it didn&#8217;t work, so they would not use it. </p>
742
743
744
745<p class="wp-block-paragraph">The rest of my family was more forgiving of the program. However, they too had issues. RocketChat was unreliable. My family members would find that they&#8217;d been logged out of the app, and so were not getting notifications. They&#8217;d have to log back in periodically. That&#8217;s annoying for them. So, I lost a few more users. </p>
746
747
748
749<p class="wp-block-paragraph">In addition to these issues, the RocketChat server will randomly stop. The result is that the app and web site will respond with Bad Gateway&#8230; Or just not load. I have to then ssh into the server to attempt to restart the service. Sometimes a simple reboot does the trick, other times I have to literally navigate to the RocketChat server directory and manually install npm packages. That&#8217;s crazy! </p>
750
751
752
753<p class="wp-block-paragraph">This morning I woke up early to work on a personal project I&#8217;ve been excited to work on. However, I spent all of my time trying to figure out how to get RocketChat up and running again. And, after a couple of hours of work, RocketChat still won&#8217;t start, and I&#8217;ve run out of the time that I had to work on my personal project, I spent it all on RocketChat. That&#8217;s incredibly frustrating.</p>
754
755
756
757<p class="wp-block-paragraph">So. I&#8217;m pretty much done with RocketChat. I won&#8217;t recommend anyone use it. It&#8217;s not worth the time investment required. It&#8217;s not user friendly. It&#8217;s the worst.</p>
758
759
760
761<p class="wp-block-paragraph"></p>
762	</div><!-- .entry-content -->
763
764	<footer class="entry-footer">
765		<span class="byline"><img alt='' src='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=49&#038;d=retro&#038;r=g' srcset='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=98&#038;d=retro&#038;r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy' decoding='async'/><span class="screen-reader-text">Author </span><span class="author vcard"><a class="url fn n" href="https://jeremysawesome.com/author/jeremiah-allangmail-com/">Jeremy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://jeremysawesome.com/2025/01/25/rocketchat-is-the-worst/" rel="bookmark"><time class="entry-date published updated" datetime="2025-01-25T09
765:47:43-08:00">January 25, 2025</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://jeremysawesome.com/category/rocketchat/" rel="category tag">RocketChat</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://jeremysawesome.com/tag/annoyed/" rel="tag">annoyed</a>, <a href="https://jeremysawesome.com/tag/thoughts/" rel="tag">thoughts</a>, <a href="https://jeremysawesome.com/tag/tools/" rel="tag">tools</a></span><span class="comments-link"><a href="https://jeremysawesome.com/2025/01/25/rocketchat-is-the-worst/#comments">2 Comments<span class="screen-reader-text"> on RocketChat is the Worst</span></a></span>			</footer><!-- .entry-footer -->
766</article><!-- #post-486 -->
767
768<article id="post-484" class="post-484 post type-post status-publish format-standard hentry category-food tag-cooking tag-food-2">
769	<header class="entry-header">
770		
771		<h2 class="entry-title"><a href="https://jeremysawesome.com/2024/07/02/hawaiian-macaroni-salad/" rel="bookmark">Hawaiian Macaroni Salad</a></h2>	</header><!-- .entry-header -->
772
773	
774	
775	<div class="entry-content">
776		
777<p class="wp-block-paragraph">Reproducing this recipe from the website &#8220;inspired2cook.com&#8221; which doesn&#8217;t seem to exist anymore. <a href="https://web.archive.org/web/20111227065251/www.inspired2cook.com/2009/09/30/hawaiian-macaroni-salad" target="_blank" rel="noreferrer noopener nofollow">Here&#8217;s a link to the WaybackMachine</a> if you want to see the original.</p>
778
779
780
781<h2 class="wp-block-heading">Ingredients</h2>
782
783
784
785<p class="wp-block-paragraph">These will be used throughout the recipe</p>
786
787
788
789<ul class="wp-block-list">
790<li><strong>2 Cups Whole Milk</strong> (not low-fat because it makes the dressing too thin)</li>
791
792
793
794<li><strong>2 Cups Mayonnaise</strong> (not low-fat because it makes the dressing too thin)</li>
795
796
797
798<li><strong>1 Tablespoon Brown Sugar</strong></li>
799
800
801
802<li><strong>1 pound Elbow Macaroni</strong></li>
803
804
805
806<li><strong>1/2 cup apple cider vinegar</strong></li>
807
808
809
810<li><strong>4 green onions, sliced thin</strong></li>
811
812
813
814<li><strong>1 large carrot, peeled and grated </strong></li>
815
816
817
818<li><strong>1 celery rib, chopped fine</strong></li>
819
820
821
822<li><strong>Salt &amp; Pepper</strong></li>
823</ul>
824
825
826
827<h3 class="wp-block-heading">Make Dressing</h3>
828
829
830
831<p class="wp-block-paragraph">Whisk the following in a bowl:</p>
832
833
834
835<ul class="wp-block-list">
836<li>1 ½ cups milk</li>
837
838
839
840<li>1 cup mayonnaise</li>
841
842
843
844<li>1 Tablespoon brown sugar</li>
845
846
847
848<li>1/2 teaspoon salt</li>
849
850
851
852<li>2 teaspoons pepper</li>
853</ul>
854
855
856
857<h3 class="wp-block-heading">Cook Pasta</h3>
858
859
860
861<p class="wp-block-paragraph">Bring 4 quarts of water to boil in a large pot. Add 1 tablespoon salt and the pasta and cook for about 15 minutes.</p>
862
863
864
865<h3 class="wp-block-heading">Make Salad Step 1</h3>
866
867
868
869<ol class="wp-block-list">
870<li>Drain the pasta and transfer to a suitable sized bowl</li>
871
872
873
874<li>Mix 1/2 cup Apple Cider Vinegar into the pasta</li>
875
876
877
878<li>Cool Pasta &#8211; I usually cover it and put it in the fridge for about an hour</li>
879
880
881
882<li>Stir about half the dressing into the pasta</li>
883
884
885
886<li>Cool Completely &#8211; I usually cover it and put it in the fridge overnight</li>
887</ol>
888
889
890
891<h3 class="wp-block-heading">Make Salad Step 2</h3>
892
893
894
895<p class="wp-block-paragraph">Add the following ingredients to the cooled salad and stir</p>
896
897
898
899<ul class="wp-block-list">
900<li>the remaining half of the dressing</li>
901
902
903
904<li>4 Green Onions, sliced thin</li>
905
906
907
908<li>1 large carrot, peeled and grated</li>
909
910
911
912<li>1 celery rib, chopped fine</li>
913
914
915
916<li>1/2 cup milk</li>
917
918
919
920<li>up to 1 cup mayonnaise (play around with this, could be you don&#8217;t want any, depends on how you want the consistency of the salad)</li>
921
922
923
924<li>Salt and Pepper (to your liking, I usually grind bunch of pepper over the top so that the top is nicely speckled ?)</li>
925</ul>
926	</div><!-- .entry-content -->
927
928	<footer class="entry-footer">
929		<span class="byline"><img alt='' src='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=49&#038;d=retro&#038;r=g' srcset='https://secure.gravatar.com/avatar/fc942f50ad25ed9e39952c9edf856ecc9c2bd2eab1e10db2717eec8ae56bde76?s=98&#038;d=retro&#038;r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy' decoding='async'/><span class="screen-reader-text">Author </span><span class="author vcard"><a class="url fn n" href="https://jeremysawesome.com/author/jeremiah-allangmail-com/">Jeremy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://jeremysawesome.com/2024/07/02/hawaiian-macaroni-salad/" rel="bookmark">
929<time class="entry-date published updated" datetime="2024-07-02T15:18:39-07:00">July 2, 2024</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://jeremysawesome.com/category/food/" rel="category tag">Food</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://jeremysawesome.com/tag/cooking/" rel="tag">cooking</a>, <a href="https://jeremysawesome.com/tag/food-2/" rel="tag">food</a></span><span class="comments-link"><a href="https://jeremysawesome.com/2024/07/02/hawaiian-macaroni-salad/#respond">Leave a comment<span class="screen-reader-text"> on Hawaiian Macaroni Salad</span></a></span>			</footer><!-- .entry-footer -->
930</article><!-- #post-484 -->
931
932	<nav class="navigation pagination" aria-label="Posts pagination">
933		<h2 class="screen-reader-text">Posts pagination</h2>
934		<div class="nav-links"><span aria-current="page" class="page-numbers current"><span class="meta-nav screen-reader-text">Page </span>1</span>
935<a class="page-numbers" href="https://jeremysawesome.com/page/2/"><span class="meta-nav screen-reader-text">Page </span>2</a>
936<span class="page-numbers dots">&hellip;</span>
937<a class="page-numbers" href="https://jeremysawesome.com/page/9/"><span class="meta-nav screen-reader-text">Page </span>9</a>
938<a class="next page-numbers" href="https://jeremysawesome.com/page/2/">Next page</a></div>
939	</nav>
940		</main><!-- .site-main -->
941	</div><!-- .content-area -->
942
943
944	<aside id="secondary" class="sidebar widget-area">
945		<section id="search-2" class="widget widget_search">
946<form role="search" method="get" class="search-form" action="https://jeremysawesome.com/">
947	<label>
948		<span class="screen-reader-text">
949			Search for:		</span>
950		<input type="search" class="search-field" placeholder="Search &hellip;" value="" name="s" />
951	</label>
952	<button type="submit" class="search-submit"><span class="screen-reader-text">
953		Search	</span></button>
954</form>
955</section>
956		<section id="recent-posts-2" class="widget widget_recent_entries">
957		<h2 class="widget-title">Recent Posts</h2><nav aria-label="Recent Posts">
958		<ul>
959											<li>
960					<a href="https://jeremysawesome.com/2026/06/15/junie-cli-agent-not-starting/">Junie CLI Agent Not Starting</a>
961									</li>
962											<li>
963					<a href="https://jeremysawesome.com/2026/06/11/kilo-ai-cli-coding-agent/">Kilo AI CLI Coding Agent</a>
964									</li>
965											<li>
966					<a href="https://jeremysawesome.com/2026/05/15/remember-stack-overflow/">Remember Stack Overflow?</a>
967									</li>
968											<li>
969					<a href="https://jeremysawesome.com/2026/04/30/truenas-scale-mineos-server-not-starting/">Truenas SCALE MineOS Server Not Starting</a>
970									</li>
971											<li>
972					<a href="https://jeremysawesome.com/2026/04/10/phpstorm-classic-mode/">PHPStorm Classic Mode</a>
973									</li>
974					</ul>
975
976		</nav></section><section id="rss-2" class="widget widget_rss"><h2 class="widget-title"><a class="rsswidget rss-widget-feed" href="https://jeremysawesome.com/feed/"><img class="rss-widget-icon" style="border:0" width="14" height="14" src="https://jeremysawesome.com/wp-includes/images/rss.png" alt="RSS" loading="lazy" /></a> <a class="rsswidget rss-widget-title" href="https://jeremysawesome.com/">Jeremys Awesome Feed</a></h2><nav aria-label="Jeremys Awesome Feed"><ul><li><a class='rsswidget' href='https://jeremysawesome.com/2026/06/15/junie-cli-agent-not-starting/'>Junie CLI Agent Not Starting</a></li></ul></nav></section><section id="recent-comments-2" class="widget widget_recent_comments"><h2 class="widget-title">Recent Comments</h2><nav aria-label="Recent Comments"><ul id="recentcomments"><li class="recentcomments"><span class="comment-author-link">Helob</span> on <a href="https://jeremysawesome.com/2026/06/11/kilo-ai-cli-coding-agent/#comment-15937">Kilo AI CLI Coding Agent</a></li><li class="recentcomments"><span class="comment-author-link">Helob</span> on <a href="https://jeremysawesome.com/2026/05/15/remember-stack-overflow/#comment-15608">Remember Stack Overflow?</a></li><li class="recentcomments"><span class="comment-author-link">Helob</span> on <a href="https://jeremysawesome.com/2026/05/15/remember-stack-overflow/#comment-15606">Remember Stack Overflow?</a></li><li class="recentcomments"><span class="comment-author-link">Jeremy</span> on <a href="https://jeremysawesome.com/2025/01/25/rocketchat-is-the-worst/#comment-15346">RocketChat is the Worst</a></li><li class="recentcomments"><span class="comment-author-link">Helob</span> on <a href="https://jeremysawesome.com/2025/01/25/rocketchat-is-the-worst/#comment-15318">RocketChat is the Worst</a></li></ul></nav></section><section id="archives-2" class="widget widget_archive"><h2 class="widget-title">Archives</h2><nav aria-label="Archives">
977			<ul>
978					<li><a href='https://jeremysawesome.com/2026/06/'>June 2026</a></li>
979	<li><a href='https://jeremysawesome.com/2026/05/'>May 2026</a></li>
980	<li><a href='https://jeremysawesome.com/2026/04/'>April 2026</a></li>
981	<li><a href='https://jeremysawesome.com/2025/09/'>September 2025</a></li>
982	<li><a href='https://jeremysawesome.com/2025/04/'>April 2025</a></li>
983	<li><a href='https://jeremysawesome.com/2025/01/'>January 2025</a></li>
984	<li><a href='https://jeremysawesome.com/2024/07/'>July 2024</a></li>
985	<li><a href='https://jeremysawesome.com/2024/04/'>April 2024</a></li>
986	<li><a href='https://jeremysawesome.com/2024/01/'>January 2024</a></li>
987	<li><a href='https://jeremysawesome.com/2023/12/'>December 2023</a></li>
988	<li><a href='https://jeremysawesome.com/2023/09/'>September 2023</a></li>
989	<li><a href='https://jeremysawesome.com/2023/05/'>May 2023</a></li>
990	<li><a href='https://jeremysawesome.com/2023/04/'>April 2023</a></li>
991	<li><a href='https://jeremysawesome.com/2023/01/'>January 2023</a></li>
992	<li><a href='https://jeremysawesome.com/2022/11/'>November 2022</a></li>
993	<li><a href='https://jeremysawesome.com/2022/08/'>August 2022</a></li>
994	<li><a href='https://jeremysawesome.com/2022/06/'>June 2022</a></li>
995	<li><a href='https://jeremysawesome.com/2022/02/'>February 2022</a></li>
996	<li>
996<a href='https://jeremysawesome.com/2021/11/'>November 2021</a></li>
997	<li><a href='https://jeremysawesome.com/2020/06/'>June 2020</a></li>
998	<li><a href='https://jeremysawesome.com/2020/05/'>May 2020</a></li>
999	<li><a href='https://jeremysawesome.com/2020/01/'>January 2020</a></li>
1000	<li><a href='https://jeremysawesome.com/2019/11/'>November 2019</a></li>
1001	<li><a href='https://jeremysawesome.com/2019/08/'>August 2019</a></li>
1002	<li><a href='https://jeremysawesome.com/2019/06/'>June 2019</a></li>
1003	<li><a href='https://jeremysawesome.com/2018/12/'>December 2018</a></li>
1004	<li><a href='https://jeremysawesome.com/2018/09/'>September 2018</a></li>
1005	<li><a href='https://jeremysawesome.com/2018/03/'>March 2018</a></li>
1006	<li><a href='https://jeremysawesome.com/2017/07/'>July 2017</a></li>
1007	<li><a href='https://jeremysawesome.com/2017/06/'>June 2017</a></li>
1008	<li><a href='https://jeremysawesome.com/2017/05/'>May 2017</a></li>
1009	<li><a href='https://jeremysawesome.com/2017/03/'>March 2017</a></li>
1010	<li><a href='https://jeremysawesome.com/2016/12/'>December 2016</a></li>
1011	<li><a href='https://jeremysawesome.com/2016/10/'>October 2016</a></li>
1012	<li><a href='https://jeremysawesome.com/2016/09/'>September 2016</a></li>
1013	<li><a href='https://jeremysawesome.com/2016/08/'>August 2016</a></li>
1014	<li><a href='https://jeremysawesome.com/2016/07/'>July 2016</a></li>
1015	<li><a href='https://jeremysawesome.com/2016/06/'>June 2016</a></li>
1016	<li><a href='https://jeremysawesome.com/2016/05/'>May 2016</a></li>
1017	<li><a href='https://jeremysawesome.com/2016/03/'>March 2016</a></li>
1018	<li><a href='https://jeremysawesome.com/2016/02/'>February 2016</a></li>
1019	<li><a href='https://jeremysawesome.com/2016/01/'>January 2016</a></li>
1020	<li><a href='https://jeremysawesome.com/2015/12/'>December 2015</a></li>
1021	<li><a href='https://jeremysawesome.com/2015/11/'>November 2015</a></li>
1022	<li><a href='https://jeremysawesome.com/2015/10/'>October 2015</a></li>
1023	<li><a href='https://jeremysawesome.com/2015/07/'>July 2015</a></li>
1024	<li><a href='https://jeremysawesome.com/2015/06/'>June 2015</a></li>
1025	<li><a href='https://jeremysawesome.com/2015/03/'>March 2015</a></li>
1026	<li><a href='https://jeremysawesome.com/2015/02/'>February 2015</a></li>
1027	<li><a href='https://jeremysawesome.com/2015/01/'>January 2015</a></li>
1028	<li><a href='https://jeremysawesome.com/2014/12/'>December 2014</a></li>
1029	<li><a href='https://jeremysawesome.com/2014/08/'>August 2014</a></li>
1030	<li><a href='https://jeremysawesome.com/2014/05/'>May 2014</a></li>
1031	<li><a href='https://jeremysawesome.com/2014/04/'>April 2014</a></li>
1032	<li><a href='https://jeremysawesome.com/2013/09/'>September 2013</a></li>
1033	<li><a href='https://jeremysawesome.com/2013/08/'>August 2013</a></li>
1034	<li><a href='https://jeremysawesome.com/2013/07/'>July 2013</a></li>
1035	<li><a href='https://jeremysawesome.com/2013/06/'>June 2013</a></li>
1036			</ul>
1037
1038			</nav></section><section id="categories-2" class="widget widget_categories"><h2 class="widget-title">Categories</h2><nav aria-label="Categories">
1039			<ul>
1040					<li class="cat-item cat-item-122"><a href="https://jeremysawesome.com/category/books/">Books</a>
1041</li>
1042	<li class="cat-item cat-item-2"><a href="https://jeremysawesome.com/category/coding/">Coding</a>
1043</li>
1044	<li class="cat-item cat-item-42"><a href="https://jeremysawesome.com/category/food/">Food</a>
1045</li>
1046	<li class="cat-item cat-item-60"><a href="https://jeremysawesome.com/category/gaming/">Gaming</a>
1047</li>
1048	<li class="cat-item cat-item-75"><a href="https://jeremysawesome.com/category/movies/">Movies</a>
1049</li>
1050	<li class="cat-item cat-item-3"><a href="https://jeremysawesome.com/category/music/">Music</a>
1051</li>
1052	<li class="cat-item cat-item-116"><a href="https://jeremysawesome.com/category/rocketchat/">RocketChat</a>
1053</li>
1054	<li class="cat-item cat-item-77"><a href="https://jeremysawesome.com/category/services/">Services</a>
1055</li>
1056	<li class="cat-item cat-item-65"><a href="https://jeremysawesome.com/category/technology/">Technology</a>
1057</li>
1058	<li class="cat-item cat-item-83"><a href="https://jeremysawesome.com/category/thoughts/">Thoughts</a>
1059</li>
1060	<li class="cat-item cat-item-1"><a href="https://jeremysawesome.com/category/uncategorized/">Uncategorized</a>
1061</li>
1062	<li class="cat-item cat-item-94"><a href="https://jeremysawesome.com/category/useful/">Useful</a>
1063</li>
1064			</ul>
1065
1066			</nav></section>
1066<section id="text-2" class="widget widget_text"><h2 class="widget-title">About</h2>			<div class="textwidget"><p><strong>Jeremy&#8217;s Awesome LLC</strong> — a limited liability company<br />
1067registered in Oregon, USA.</p>
1068<p>Contact: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="55363a3b21343621153f302730382c26342230263a38307b363a38">[email&#160;protected]</a></p>
1069<p>&copy; Jeremy&#8217;s Awesome LLC. All rights reserved.</p>
1070</div>
1071		</section>	</aside><!-- .sidebar .widget-area -->
1072
1073		</div><!-- .site-content -->
1074
1075		<footer id="colophon" class="site-footer">
1076			
1077			
1078			<div class="site-info">
1079								<span class="site-title"><a href="https://jeremysawesome.com/" rel="home">Jeremys Awesome Blog</a></span>
1080								<a href="https://wordpress.org/" class="imprint">
1081					Proudly powered by WordPress				</a>
1082			</div><!-- .site-info -->
1083		</footer><!-- .site-footer -->
1084	</div><!-- .site-inner -->
1085</div><!-- .site -->
vendor: 110 bytes, lines 1085-1087
1085
1086
1087<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1087<script type="speculationrules">
1088{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/twentysixteen/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
1089</script>
vendor: 1 bytes, line 1089
1089
1090<script id="wp-emoji-settings" type="application/json">
1091{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://jeremysawesome.com/wp-includes/js/wp-emoji-release.min.js?ver=7.0.7"}}
1092</script>
vendor: 1 bytes, line 1092
1092
1093<script type="module">
1094/*! This file is auto-generated */
1095var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
1096//# sourceURL=https://jeremysawesome.com/wp-includes/js/wp-emoji-loader.min.js
1097</script>
vendor: 1 bytes, line 1097
1097
1098<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"0c5bcd97b8474969af0e42af27341004","r":1,"spa":2}' crossorigin="anonymous"></script>
1098
1099</body>
1100</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.