diff --git a/lib/sloane_sh/front_matter.ex b/lib/sloane_sh/front_matter.ex
index c4bca00..b0f2369 100644
--- a/lib/sloane_sh/front_matter.ex
+++ b/lib/sloane_sh/front_matter.ex
@@ -4,7 +4,7 @@ defmodule SloaneSH.FrontMatter do
"""
def parse("+++" <> rest) do
- [toml, body] = String.split(rest, ["+++\n", "+++\r\n"], parts: 2)
+ [toml, body] = String.split(rest, ["+++\n", "+++\r\n"], parts: 2) |> dbg()
with {:ok, attrs} <- Toml.decode(toml, keys: :atoms) do
{:ok, attrs, body}
diff --git a/lib/sloane_sh/layouts/helpers.ex b/lib/sloane_sh/layouts/helpers.ex
index 80a11a9..ce8cabe 100644
--- a/lib/sloane_sh/layouts/helpers.ex
+++ b/lib/sloane_sh/layouts/helpers.ex
@@ -14,14 +14,18 @@ defmodule SloaneSH.Layouts.Helpers do
end
def sorted_post_attrs(%Context{} = ctx) do
- ctx.posts
- |> Enum.map(& &1.attrs)
- |> Enum.sort_by(& &1[:date], {:desc, Date})
+ {drafts, others} =
+ ctx.posts
+ |> Enum.map(& &1.attrs)
+ |> Enum.split_with(&is_nil(&1[:date]))
+
+ others = Enum.sort_by(others, & &1[:date], {:desc, Date})
+
+ drafts ++ others
end
- def fmt_date(date) do
- Timex.format!(date, "{Mfull} {D}, {YYYY}")
- end
+ def fmt_date(nil), do: "Draft"
+ def fmt_date(date), do: Timex.format!(date, "{Mfull} {D}, {YYYY}")
def picture(ctx, src, alt \\ "", class \\ "") do
image =
diff --git a/lib/sloane_sh/layouts/partials.ex b/lib/sloane_sh/layouts/partials.ex
index 80113ae..2153656 100644
--- a/lib/sloane_sh/layouts/partials.ex
+++ b/lib/sloane_sh/layouts/partials.ex
@@ -14,6 +14,9 @@ defmodule SloaneSH.Layouts.Partials do
<%= if attrs[:title] do %>
<%= attrs[:title] %>
<% end %>
+ <%= if attrs[:date] do %>
+ <%= fmt_date(attrs[:date]) %>
+ <% end %>
diff --git a/priv/site/layouts/root.html.eex b/priv/site/layouts/root.html.eex
index d0f3f8c..a9dafd2 100644
--- a/priv/site/layouts/root.html.eex
+++ b/priv/site/layouts/root.html.eex
@@ -7,7 +7,7 @@
<%= prefix_title("sloane.sh", attrs[:page_title]) %>
-
+
<%= inner_content %>
diff --git a/priv/site/posts/2024-03-09-uses.md b/priv/site/posts/2024-03-09-uses.md
new file mode 100644
index 0000000..9772874
--- /dev/null
+++ b/priv/site/posts/2024-03-09-uses.md
@@ -0,0 +1,60 @@
++++
+title = "\"Uses This\""
+page_title = "uses"
+permalink = "/uses"
+date = 2024-03-09
++++
+
+> **Have you considered added a `/uses page to your own site, answering the same questions?**
+> \- [Daniel](https://wafer.baby/@d) of [usesthis.com](https://usesthis.com/)
+
+## Who are you, and what do you do?
+
+I'm a professional software engineer and once engineering manager. I work a day job but I'm also working with a good friend and former boss to bring [screen.garden](https://screen.garden), a real-time collaboration tool for PKMs and the web, to life.
+
+In my free time I sing with a local queer TTBB chorus, play table-top RPGs, watch Formula 1, and play video games.
+
+## What hardware do you use?
+
+I work atop a sit-stand desk I bought when I first started working remotely in 2017. It stays in the "sit" position 99% of the time. For work I use whatever machine my employer provides. Right now that's a 14in M3 MacBook Pro. Personally, I have an M1 MacBook Air which I love. A single thunderbolt cable runs from either of those machines to a [CalDigit TS4](https://www.caldigit.com/thunderbolt-station-4/) which connects it to power, ethernet, a USB hub, and my display.
+
+I use just the one display, a [GIGABYTE M32U](https://www.gigabyte.com/Monitor/M32U), which is a 32 inch, 4k, 144Hz monitor. Whenever someone is talking about replacing their monitor I always bring up refresh rate. It's one of those things that sounds like you wouldn't notice but it actually makes looking at a screen for most of your day a lot more pleasant. I've sat a no-name-brand monitor light and a Logitech webcam atop it.
+
+I have a collection of mechanical keyboards ([ErgoDox EZ](https://ergodox-ez.com/), [Keyboardio Atreus](https://shop.keyboard.io/products/keyboardio-atreus), to name a couple) which all live in a drawer while I type away on my [Glorious GMMK Pro](https://www.gloriousgaming.com/products/glorious-gmmk-pro-75-barebone-black) with [Glorious Panda tactile switches](https://www.gloriousgaming.com/products/glorious-panda-mechanical-switches?variant=37691905933487). I think Glorious's branding is a bit "cringe" to say the least but they were the only custom keyboard option I could get same-day at the nearby Micro Center when I needed to replace my [Pok3r](https://drop.com/buy/vortex-poker-iii-compact-keyboard) following a coffee spill incident.
+
+I talk to my coworkers and friends through a [Blue Yeti mic](https://www.bestbuy.com/site/blue-microphones-blue-yeti-professional-multi-pattern-usb-condenser-microphone/9737441.p?skuId=9737441) that I bought when a former employer gave everyone a couple hundred dollars for work-from-home equipment in early 2020 (despite my having already worked from my home my entire tenure there).
+
+At the edges of my desk are piles of scrunchies, a couple hair clips, my AirPods Pros, a pair of Sennheiser HD 600s, my iPhone 14 Pro Max (I always go "Max" or "Plus" for the extra battery life), an [Aquaphor lip balm stick](https://www.aquaphorus.com/products/lip-care/lip-repair-stick), some hand lotion, and a nice candle.
+
+Away from my desk I have a collection of cameras but the one I use the most is my Leica M6 which I usually shoot with a Voigtlander Nokton Classic 35mm f/1.4. I digitize my negatives with a beat-up Sony a6000, a cheap macro lens, and a [Valoi easy35](https://www.valoi.co/easy35).
+
+I have a couple Apple TV 4ks to stream content from the cloud and also the Plex Media Server running on a Synology NAS. I have a couple TVs in different rooms but the Xbox Series X stays connected to the 65 inch LG C1 OLED (once again which a high refresh rate).
+
+Finally, currently sitting on my nightstand wrapped in some FiiO IEMs is a 5th iPod Classic (aka an iPod Video) whose hard disk I've [replaced with a 512gb microSD card](https://www.iflash.xyz/). It's really incredible how well it still works.
+
+## And what software?
+
+These days I'm macOS all-the-way. I'm fully integrated into the ecosystem and the ergonomics and reliability of development on the platform is unparalleled in my opinion. Obviously I use a ton of software so I'll limit (mostly) to things I keep pinned to my dock (although most of the time I'm launching things from [Alfred](https://www.alfredapp.com/)):
+
+- [Firefox](https://www.mozilla.org/en-US/firefox/new/) to browse the web
+- [Fantastical](https://flexibits.com/fantastical) to manage several calendar accounts. I could just use Calendar.app but there are few features (like travel time and automatic event merging) that keep me renewing my subscription.
+- Mail.app for emails...
+- [Things 3](https://culturedcode.com/things/) makes sure I get things done. I switched from an Android phone to an iPhone many years ago just so I could use Things while I was away from my computer.
+- [Kitty](https://sw.kovidgoyal.net/kitty/) to run all of my command line apps. I always work within a `tmux` session so my terminal emulator doesn't really matter all that much (because I'm never using tabs or splits or whatever) but Kitty is quick and the [alternative icon](https://github.com/DinkDonk/kitty-icon) I use for it is really cute. I'm a vim user (neovim really) and have been since 2015. My neovim setup could be its own post...
+- Music - I switch between two libraries: 1. My local library which I sync with my iPod and 2. My iCloud, Apple Music backed library
+- [Dash 6](https://kapeli.com/dash) (usually via Alfred) to quickly reference documentation. Elixir / Hex package docs support is incredible
+- [Obsidian](https://obsidian.md) for personal, work, and TTRPG notes. I keep my plugins list slip with just Templater, DataView, Tasks, Periodic Notes, and of course screen.garden.
+- [Readwise Reader](https://readwise.io/read) as my read-later service
+
+I have to shout-out Lightroom with [Negative Lab Pro](https://www.negativelabpro.com/) for converting scans/photos of film negatives.
+
+
+## What would be your dream setup?
+
+I've obviously spoiled myself already so I'd keep most things the same but...
+
+I'd love a thunderbolt KVM of some kind that would let me swap _quickly_ between machines at the press of a button. I also feel like I'd benefit from a larger desk.
+
+I think about replacing my webcam with the Sony a6000 and replacing that with a newer, higher resolution mirrorless camera.
+
+I'm really hoping the ARM desktop / server market continues to become more accessible to the consumer market because the Synology NAS is looking a little worse-for-wear these days. I've thought about replacing it with a custom build x64 machine but the additional power consumption and heat keep me from doing it (I'm spoiled by these Apple ARM machines...).