diff --git a/.ignore b/.ignore index 155ebcb..980c851 100644 --- a/.ignore +++ b/.ignore @@ -1,2 +1 @@ -themes/ static/ diff --git a/content/posts/what-do-you-want-in-a-phone.md b/content/posts/what-do-you-want-in-a-phone.md index 00bdfb2..c39ea24 100644 --- a/content/posts/what-do-you-want-in-a-phone.md +++ b/content/posts/what-do-you-want-in-a-phone.md @@ -2,14 +2,14 @@ date: 2026-02-24T23:45:11-07:00 description: "I just dropped my phone in my dog's water bowl -- I'm thinking what I want from my phone" image: "" -lastmod: 2026-02-25T00:42:51-07:00 -showTableOfContents: false +lastmod: 2026-02-25T12:06:38-07:00 +showTableOfContents: true tags: ["phone", "technology"] title: "What Do You Want in a Phone" type: "post" --- -# +# Phone Woes I only moments ago dropped my Pixel Fold into a freshly cleaned stainless steel bowl of water. @@ -35,13 +35,31 @@ I'm almost hoping my fold is broken just so I can pursue this self experimentati I have tried quite a few different phones over the last five-ish years. +### Linux In My Pocket! + I purchased [the original PinePhone (pine64)](https://pine64.org/devices/pinephone/) when it launched, even got the keyboard case. It was barely usable as a linux computer, let alone a phone. I wanted it to work so badly I persisted despite my wife's pleas to have a way to be contacted consistently. I relented after a month or so. +### Google Normie + Then a Pixel 4. It was fine. I ran [CalyxOS](https://calyxos.org/) on it at first and then [GrapheneOS (homepage)](https://grapheneos.org/) I think. Both custom flavors of Android that have a privacy focus, spoofing or sandboxing required Google services to respect your data just a bit more. -I jumped back in the mobile linux pool for another month about a year ago with a OnePlus 6T. It was much more usable, phone calls worked fairly well (provided you weren't doing any bluetooth tomfoolery), and once I compiled a custom VoLTE package I was even able to make calls on 4G networks! (Oh yeah, I'm remembering, if I wanted to receive calls, I had to be sure to set my phone to 2G networks only, so having the VoLTE setup was super convenient. Data was a "only turn on when using" sort of thing). +### Linux In My Pocket! Continued... + +I jumped back in the mobile linux pool for another month about a year ago with a OnePlus 6T. It was much more usable, phone calls worked fairly well (provided you weren't doing any bluetooth tomfoolery), and once I compiled a custom VoLTE package I was even able to make calls on 4G networks! + +{{< aside caption="Oh yeah..." >}} I'm remembering, if I wanted to receive calls, I had to be sure to set my phone to 2G networks only, so having the VoLTE setup was super convenient. I desperately wanted mobile linux to work. I dropped many calls, missed group chats, my family for a while thought they couldn't call me :sob: so I'm not a linux-hater, I think the people at [PostMarketOS (homepage)](https://postmarketos.org/) are doing awesome stuff, it just needs more time in the oven, and ALOT more love AKA money / donated development. +{{< /aside >}} + +{{< aside >}} +Looks like they have made lots of improvements since I last used my OP 6T! (which is not surprising) The [wiki page (postmarket wiki)](https://wiki.postmarketos.org/wiki/OnePlus_6_(oneplus-enchilada)) has a good summary of functional parts +{{< /aside >}} + +### Flip Minimalism + I also tried a flip phone for a minute. I ended up purchasing a [TCL Flip 2 (product page)](https://us.tcl.com/products/flip-2). Incredible how cheap it was, and it worked surprisingly well! I put some custom software on it, unfortunately I didn't document the process, but managed to install a custom cursor tool to set a button to toggle controlling a cursor on its 2.5" screen. This made using some of the apps much easier / possible than using the simple ^ v <- -> controls. It got me detoxed off my phone and showed me just how much time I can spend on it. Then, I switched back, telling myself I could handle the raw power of these internet-connected, eye-catching attention bricks. +### Flip Maxxing + Back to my Pixel. Until I dropped it and it wouldn't keep a charge. The phone would only power on while plugged in, essentially unusable as a mobile device. I then got my favorite phone to date, the Pixel Fold! Second hand from a chap in my area for $400. Not a bad deal if you ask me. @@ -88,7 +106,7 @@ Its so apparent when watching other people how locked in they seem on their devi [Fairphone (home page)](https://www.fairphone.com/en/) -
+--- It doesn't make sense to me to purchase any other phones at this point. diff --git a/layouts/shortcodes/aside.html b/layouts/shortcodes/aside.html new file mode 100644 index 0000000..eefbe92 --- /dev/null +++ b/layouts/shortcodes/aside.html @@ -0,0 +1,8 @@ +
+ {{ with .Get "caption" }} + {{ . }} + {{ end }} +
+ {{ .Inner | strings.TrimSpace | .Page.RenderString }} +
+
diff --git a/themes/gokarna/assets/css/dark.css b/themes/gokarna/assets/css/dark.css index dc438e5..f4f520b 100644 --- a/themes/gokarna/assets/css/dark.css +++ b/themes/gokarna/assets/css/dark.css @@ -1,24 +1,69 @@ :root { - --dark-primary-color: 34, 34, 34; /* Kimber base00 #222222 */ - --dark-secondary-color: #313131; /* Kimber base01 */ - --dark-tertiary-color: #555D55; /* Kimber base02 */ - --dark-text-color: #DEDEE7; /* Kimber base05 */ - --dark-muted-color: #C3C3B4; /* Kimber base06 dates/blockquotes */ - --dark-shadow-color: 49, 49, 49; /* Kimber base01 as RGB triplet */ + /* Kimber base00 #222222 */ + /* Kimber base01 */ + /* Kimber base02 */ + /* Kimber base05 */ + /* Kimber base06 dates/blockquotes */ + /* Kimber base01 as RGB triplet */ + + /* Slightly dimmed vs base05 #DEDEE7 text */ + + /* Kimber base00 background */ + --color-00: #222222; + --dark-background-color: #222222; + /* Kimber base01 borders/dividers */ + --color-01: #313131; + --dark-secondary-color: #313131; + --dark-shadow-color: #313131; + /* Kimber base 02 */ + --color-02: #555d55; + --dark-tertiary-color: #555D55; + /* Kimber base 03 */ + --color-03: #644646; + /* Kimber base04 */ + --color-04: #5a5a5a; + /* Kimber base05 text/code */ + --color-05: #dedee7; + --dark-text-color: #DEDEE7; + /* Kimber base06 */ + --color-06: #c3c3b4; + --dark-muted-color: #C3C3B4; + /* --link-color: #c3c3b4; */ + --link-font-weight: 500; + /*Kimber base07 */ + --color-07: #ffffe6; + /*Kimber base08 */ + --color-08: #c88c8c; + /*Kimber base09 */ + --color-09: #476c88; + /*Kimber base0A */ + --color-0A: #d8b56d; + /*Kimber base0B */ + --color-0B: #99c899; + /*Kimber base0C */ + --color-0C: #78b4b4; + /*Kimber base0D */ + --color-0D: #537c9c; + --link-color-dark: #537c9c; + /*Kimber base0E */ + --color-0E: #86cacd; + /*Kimber base0F */ + --color-0F: #704f4f; + --aside-block-highlight: #704f4f; } html { - background-color: rgb(var(--dark-primary-color)); + background-color: var(--dark-background-color); color: var(--dark-text-color); fill: var(--dark-text-color); } .header { - background-color: rgba(var(--dark-primary-color), 0.95); + background-color: var(--dark-background-color); } .nav-hamburger-list { - background: rgba(var(--dark-primary-color), 1); + background: var(--dark-background-color); } .nav-links .nav-icons-divider { @@ -31,7 +76,7 @@ a:hover .feather-moon { } .gk-social-icons-list .gk-social-icon, -.gk-social-icons-list .gk-social-icon a:visited { +.gk-social-icons-list .gk-social-icon a:visited { fill: var(--dark-text-color); } @@ -41,16 +86,17 @@ a:hover .feather-moon { .post-tags .post-tag:hover { background-color: var(--dark-text-color); - color: rgb(var(--dark-primary-color)); + color: var(--dark-background-color); } .post-title-tag { border-color: var(--dark-tertiary-color); color: var(--dark-muted-color); } + .post-title-tag:hover { background-color: var(--dark-text-color); - color: rgb(var(--dark-primary-color)); + color: var(--dark-background-color); border-color: var(--dark-text-color); } @@ -60,7 +106,7 @@ a:hover .feather-moon { .tags-list .post-tags .post-tag:hover a .tag-posts-count { background-color: var(--dark-text-color); - color: rgb(var(--dark-primary-color)); + color: var(--dark-background-color); } .footer { @@ -90,16 +136,18 @@ pre { background-color: var(--dark-secondary-color) !important; } -:not(pre) > code { +:not(pre)>code { background-color: var(--dark-tertiary-color) !important; color: var(--dark-text-color); } .header-shadow { - box-shadow: rgb(var(--dark-shadow-color)) 0px -1px 0px 0px inset; + box-shadow: var(--dark-shadow-color) 0px -1px 0px 0px inset; } -.post .post-date, .prev-post-date, .next-post-date { +.post .post-date, +.prev-post-date, +.next-post-date { color: var(--dark-muted-color); } @@ -125,10 +173,32 @@ pre { } /* TODO: Check if this is needed or not */ + +/* Content links: dark mode color override */ +.post-content a:not(.post-tag):not(.post-title-tag), +.markdown-content a { + color: var(--link-color-dark); +} + +.post-content a:not(.post-tag):not(.post-title-tag):hover, +.markdown-content a:hover { + color: var(--accent-color); +} + +/* Aside blocks: dark mode overrides */ +.aside-block { + background-color: var(--dark-secondary-color); + border-color: var(--aside-block-highlight); +} + +.aside-caption { + color: var(--dark-background-color); +} + /* img, video { filter: hue-rotate(180deg) contrast(100%) invert(100%); -webkit-filter: hue-rotate(180deg) contrast(100%) invert(100%); } -*/ +*/ \ No newline at end of file diff --git a/themes/gokarna/assets/css/main.css b/themes/gokarna/assets/css/main.css index 1406f68..febe433 100644 --- a/themes/gokarna/assets/css/main.css +++ b/themes/gokarna/assets/css/main.css @@ -2,13 +2,48 @@ --content-width: 1120px; --container-width: 810px; - --light-primary-color: 255, 255, 230; /* Kimber base07 #FFFFE6 warm cream */ - --light-secondary-color: #C3C3B4; /* Kimber base06 borders/dividers */ - --light-tertiary-color: #222222; /* Kimber base00 code block bg */ - --light-text-color: #222222; /* Kimber base00 primary text */ - --light-muted-color: #5A5A5A; /* Kimber base04 dates/blockquotes */ - --light-code-color: #DEDEE7; /* Kimber base05 code foreground */ - --light-shadow-color: 195, 195, 180; /* Kimber base06 as RGB triplet */ + /* Kimber base00 background */ + --light-color-00: #222222; + --light-background-alt-color: #222222; + /* Kimber base01 borders/dividers */ + --light-color-01: #313131; + --light-text-color: #313131; + /* Kimber base 02 */ + --light-color-02: #555d55; + --link-color: #555d55; + /* Kimber base 03 */ + --light-color-03: #644646; + /* Kimber base04 */ + --light-color-04: #5a5a5a; + --light-shadow-color: #5a5a5a; + --light-muted-color: #5a5a5a; + /* Kimber base05 text/code */ + --light-color-05: #dedee7; + --light-code-color: #dedee7; + /* Kimber base06 */ + --light-color-06: #c3c3b4; + --light-secondary-color: #c3c3b4; + /* --link-color: #c3c3b4; */ + --link-font-weight: 500; + /*Kimber base07 */ + --light-color-07: #ffffe6; + --light-background-color: #ffffe6; + /*Kimber base08 */ + --light-color-08: #c88c8c; + /*Kimber base09 */ + --light-color-09: #476c88; + /*Kimber base0A */ + --light-color-0A: #d8b56d; + /*Kimber base0B */ + --light-color-0B: #99c899; + /*Kimber base0C */ + --light-color-0C: #78b4b4; + /*Kimber base0D */ + --light-color-0D: #537c9c; + /*Kimber base0E */ + --light-color-0E: #86cacd; + /*Kimber base0F */ + --light-color-0F: #704f4f; } @font-face { @@ -24,7 +59,7 @@ } html { - background-color: rgb(var(--light-primary-color)); + background-color: var(--light-background-color); color: var(--light-text-color); font-family: "Lato", sans-serif; font-size: var(--font-size); @@ -61,7 +96,7 @@ main#content { width: var(--content-width); } -main#content > .container { +main#content>.container { margin: auto; width: 75%; max-width: var(--container-width); @@ -131,7 +166,7 @@ img { /* HEADER */ .header { - background-color: rgba(var(--light-primary-color), 0.95); + background-color: color-mix(in srgb, var(--light-background-color) 95%, transparent); color: inherit; height: 50px; left: 0; @@ -145,6 +180,7 @@ img { .header a { text-decoration: none; } + .header .header-nav { height: 50px; margin-top: 0; @@ -156,6 +192,7 @@ img { height: 100%; margin-left: 15px; } + .header-nav .avatar img { border-radius: 100%; display: block; @@ -164,49 +201,59 @@ img { overflow: hidden; width: 38px; } + .header-nav .nav-title { display: inline-block; height: 100%; line-height: 50px; padding-left: 15px; } + .nav-title a { height: 50px; } + .header-nav .nav-links { float: right; line-height: 50px; margin-right: 10px; } + .nav-links .nav-link { display: inline-block; padding: 0 2px; } + .nav-links .nav-link a { display: block; padding: 0 6px; } + .nav-link a svg { height: 20px; margin: -3px auto; stroke-width: 2; width: 20px; } + .nav-item a svg { height: 20px; margin: -3px auto; stroke-width: 2; width: 20px; } + .nav-links .nav-link.icon a { padding: 0 8px; } + .nav-links .nav-icons-divider { border-color: inherit; border-left: 1.5px solid; color: var(--light-secondary-color); margin: 0 10px; } + .nav-links .dark-theme-toggle:hover { cursor: pointer; } @@ -222,17 +269,20 @@ a:hover .feather-sun { stroke-linejoin: round; width: 22px; } + #hamburger-menu-toggle { display: none; } + #hamburger-menu-toggle .feather { height: 24px; stroke-linecap: round; stroke-linejoin: round; width: 24px; } + .nav-hamburger-list { - background: rgb(var(--light-primary-color)); + background: var(--light-background-color); border-bottom: solid 1.5px var(--light-secondary-color); border-top: solid 1.5px var(--light-secondary-color); list-style-type: none; @@ -244,6 +294,7 @@ a:hover .feather-sun { width: 100%; z-index: 5; } + .nav-hamburger-list a:hover { text-decoration: underline; } @@ -280,7 +331,7 @@ a:hover .feather-sun { } .header-shadow { - box-shadow: rgb(var(--light-shadow-color)) 0px 1px 5px; + box-shadow: var(--light-shadow-color) 0px 1px 5px; } /* TAGS */ @@ -288,6 +339,7 @@ a:hover .feather-sun { list-style-type: none; padding: 0; } + .post-tags .post-tag { border: 1.5px solid; border-radius: 4px; @@ -296,10 +348,12 @@ a:hover .feather-sun { display: inline-block; font-size: 14px; } + .post-tags .post-tag:hover { background-color: var(--light-text-color); - color: rgb(var(--light-primary-color)); + color: var(--light-background-color); } + .post-tag a { color: inherit; display: block; @@ -311,6 +365,7 @@ a:hover .feather-sun { .post-title-tags { margin-top: 4px; } + .post-title-tag { display: inline-block; font-size: 0.7rem; @@ -322,16 +377,17 @@ a:hover .feather-sun { margin-right: 4px; margin-bottom: 2px; } + .post-title-tag:hover { background-color: var(--light-text-color); - color: rgb(var(--light-primary-color)); + color: var(--light-background-color); border-color: var(--light-text-color); } /* CODE BLOCKS */ code, pre { - background-color: var(--light-tertiary-color); + background-color: var(--light-background-alt-color); box-sizing: border-box; color: var(--light-code-color); } @@ -348,7 +404,7 @@ code { font-size: 0.8em; } -:not(pre) > code { +:not(pre)>code { background-color: var(--light-secondary-color) !important; color: var(--light-text-color); padding: 1px 4px; @@ -492,43 +548,53 @@ table td { margin: 0 auto; align-items: center; } + .home-grid .home-posts { width: auto; } + .home-posts-column { flex: 3; min-width: 0; } + .home-projects-card { flex: 1; min-width: 200px; border: 1px solid var(--light-secondary-color); border-radius: 8px; padding: 1rem 1.2rem; - background-color: rgba(var(--light-primary-color), 0.5); + background-color: var(--light-background-color); } + .home-projects-card h2 { margin-top: 0; font-size: 1.1rem; } + .home-project-entry { margin-bottom: 0.9rem; } + .home-project-entry:last-of-type { margin-bottom: 0.5rem; } + .home-project-entry a { text-decoration: none; font-weight: 500; } + .home-project-entry a:hover { text-decoration: underline; } + .home-project-meta { font-size: 0.8rem; color: var(--light-muted-color); margin-top: 0.15rem; } + .home-project-status { display: inline-block; padding: 1px 6px; @@ -537,6 +603,7 @@ table td { font-weight: 500; vertical-align: middle; } + .home-projects-card .view-all { display: block; margin-top: 0.8rem; @@ -546,6 +613,7 @@ table td { border-top: 1px solid var(--light-secondary-color); padding-top: 0.6rem; } + .home-projects-card .view-all:hover { text-decoration: underline; } @@ -555,59 +623,131 @@ table td { font-size: 1.1em; font-style: italic; } + .post { /* Prevent long strings from overflowing */ overflow-wrap: break-word; } -.post .post-date, .prev-post-date, .next-post-date { + +.post .post-date, +.prev-post-date, +.next-post-date { color: var(--light-muted-color); } + .post .post-content { line-height: 1.7; margin-top: 50px; letter-spacing: 0.5px; } -.post-content h1, .post-content h2, .post-content h3, .post-content h4 { + +.post-content h1, +.post-content h2, +.post-content h3, +.post-content h4 { scroll-margin-top: 55px; } + .post-content h1 { margin-top: 40px; } + .post-content h2 { margin-top: 35px; } + .post-content h3 { margin-top: 30px; } + .post-content h4 { margin-top: 25px; } + .post-content h5 { margin-top: 20px; } + .post-content img { display: block; margin-left: auto; margin-right: auto; } +/* Content links: slightly bolder and dimmed vs body text */ +.post-content a:not(.post-tag):not(.post-title-tag), +.markdown-content a { + font-weight: var(--link-font-weight); + color: var(--link-color); +} + +.post-content a:not(.post-tag):not(.post-title-tag):hover, +.markdown-content a:hover { + color: var(--accent-color); +} + +/* ASIDE BLOCKS */ +.aside-block { + border-left: 4px solid var(--light-color-08); + border-bottom: 4px solid var(--light-color-08); + border-radius: 10px; + background-color: color-mix(in srgb, var(--light-shadow-color) 15%, transparent); + margin: 1.5rem 0; + padding: 0.8rem 1rem 0.6rem; +} + +.aside-caption { + display: inline-block; + background-color: var(--accent-color); + color: var(--light-background-alt-color); + font-size: 1.1rem; + font-weight: 700; + padding: 1px 10px; + border-radius: 10px; + position: relative; + top: -1.5em; + margin-bottom: -2em; + margin-left: 0.2rem; +} + +.aside-caption+.aside-content { + margin-top: -1em; +} + +.aside-content { + line-height: 1.25; +} + +.aside-content>*:first-child { + margin-top: 0; +} + +.aside-content>*:last-child { + margin-bottom: 0; +} + /* LIST */ .list-posts .list-title { text-align: center; } + .list-posts .posts-year { margin-top: 70px; } + .list-posts .post-title { margin: 18px 0 0 15px; } + .list-posts .post-title a { text-decoration: none; } + .post-title .post-link, .post-title .post-date { display: inline-block; } + .post-title .post-link { /* This magic number is the largest width that keeps the post-date div from * causing the line to wrap with the longest possible date string @@ -615,23 +755,29 @@ table td { */ width: 73%; } + .tags-list .post-tags { margin-top: 50px; } + .tags-list .post-tags .post-tag { margin: 2px 5px; padding: 0; } + .tags-list .post-tags .post-tag a { border-radius: inherit; padding: 0; } + .tags-list .post-tags .post-tag a div { display: inline-block; } + .tags-list .post-tags .post-tag a .tag-name { padding: 5px 8px; } + .tags-list .post-tags .post-tag a .tag-posts-count { background-color: var(--light-secondary-color); border-radius: inherit; @@ -641,9 +787,10 @@ table td { position: relative; z-index: 0; } + .tags-list .post-tags .post-tag:hover a .tag-posts-count { background-color: var(--light-text-color); - color: rgb(var(--light-primary-color)); + color: var(--light-background-color); } .text-404 { @@ -687,7 +834,8 @@ table td { width: auto; } - .home-content, .home-posts { + .home-content, + .home-posts { width: auto; margin: 0; } @@ -716,7 +864,7 @@ table td { } #toc { - display:none; + display: none; } .list-posts { @@ -769,7 +917,8 @@ table td { text-align: right; } -.prev-post, .next-post { +.prev-post, +.next-post { max-width: 33%; } @@ -786,21 +935,21 @@ table td { position: fixed; right: 20px; z-index: 5; - background-color: var(--light-tertiary-color); + background-color: var(--light-background-alt-color); width: 25px; height: 25px; } -.arrow-logo path{ +.arrow-logo path { fill: var(--light-secondary-color) } .arrow-logo:hover { - fill: var(--accent-color); + fill: var(--accent-color); } @media screen and (max-width: 600px) { #btt-button { - visibility: hidden; + visibility: hidden; } -} +} \ No newline at end of file