<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>🛠️ buildinpublic ☕️ coffee 👨‍💻 programmer 🎸music ✝Christ follower 💭 sharing his thoughts • Monitor your site ☁️ http://sitesure.net • 💌  https://mailcast.io&#xA;#ElixirLang</description><link>https://bsky.app/profile/andrewtimberlake.com</link><title>@andrewtimberlake.com - Andrew Timberlake</title><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lzg7vx46tc2n</link><description>The last jump was from 3m to 1y. Showing up every day for a year is a huge commitment. This app did almost nothing to help me celebrate the success and then I immediately felt like the next 365d were going to be a slog.&#xA;I’ve stopped. Not because of the app, but it didn’t help.</description><pubDate>22 Sep 2025 10:41 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lzg7vx46tc2n</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lz46ha7uhu2k</link><description>Vibe coding cleanup 💻🧹</description><pubDate>18 Sep 2025 10:49 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lz46ha7uhu2k</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lz2awnpeq42r</link><description>Reddit is not a terrible place to do business. Good marketing is offering a solution to a problem people have when they need it. When you do that, you can see good results anywhere.</description><pubDate>17 Sep 2025 16:28 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lz2awnpeq42r</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lydki7lzqs2h</link><description>The difference between girls and boys&#xA;Mom to the girls, “help yourself to vegetables”. The boys get theirs dished.</description><pubDate>08 Sep 2025 15:47 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lydki7lzqs2h</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lxwzwkg3gm2d</link><description>Been digging through logs and picking up interesting bugs. Watching customers work with your software is a great source of learning. Error logs is another one.</description><pubDate>03 Sep 2025 16:19 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lxwzwkg3gm2d</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lxrdh4rbvr2b</link><description>So true&#xA;“It’s tempting to fear AI slop, because it’s here and it’s going to get worse. But there’s human slop all over the internet, and it’s getting worse as well.”&#xA;https://seths.blog/2025/09/walk-away-or-dance/&#xA;http://seths.blog/2025/09/walk-away-or-dance/</description><pubDate>01 Sep 2025 09:54 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lxrdh4rbvr2b</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lxqznhqec22k</link><description>If you want to bleed money, leave a few snapshots on AWS EC2 that you don’t need</description><pubDate>01 Sep 2025 06:58 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lxqznhqec22k</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lxh4bd6hu32y</link><description>There’s nothing quite as frustrating as a test that fails when running the whole suite but passes on its own.</description><pubDate>28 Aug 2025 08:18 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lxh4bd6hu32y</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lxewvdvu542v</link><description>Added configurable spam blocking to Mailcast.io&#xA;You can now set the score at which to block spam. And you can see what’s being blocked in the logs so you always know what’s happening with every email.</description><pubDate>27 Aug 2025 11:37 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lxewvdvu542v</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lxemvauo6p27</link><description>I hate it when I know I’ve definitely solved this problem before, but cannot remember in which project 🤦‍♂️</description><pubDate>27 Aug 2025 08:38 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lxemvauo6p27</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lxeha56tnz2e</link><description>Sometimes you only want validation to be applied if some condition is met.&#xA;In one of my projects the first workflow step always runs immediately (0 days) and the rest have to be at least 1 day apart (&gt;= 1 day), so I only wanted validation from the second step.&#xA;#MyElixirStatus</description><pubDate>27 Aug 2025 06:57 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lxeha56tnz2e</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lxbxbdsjp427</link><description>My favourite email reply. Personal reply always. No AI automation</description><pubDate>26 Aug 2025 07:06 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lxbxbdsjp427</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lx7lhq3e5o2t</link><description>I had an hour and a half video chat with a customer who only bought a $2/m plan on Mailcast, but it was worth it.&#xA;I watched them struggle. I identified where I had to point out things that I thought were obvious.&#xA;Today I’m changing a bunch of UI based on that learning.</description><pubDate>25 Aug 2025 08:29 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lx7lhq3e5o2t</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lwyjp6zudc22</link><description>Confirmable button in #Phoenix #LiveView #ElixirLang&#xA;Also my first colocated hook which makes sharing something like this super easy.</description><pubDate>22 Aug 2025 13:09 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lwyjp6zudc22</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lvupakpd2z2u</link><description>Just overhauled Mailcast’s test suite. Lot’s of global state in GenServers. Every test is now async: true and it’s ended up more reliable and twice as fast&#xA;#MyElixirStatus #ElixirLang</description><pubDate>08 Aug 2025 07:12 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lvupakpd2z2u</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lvkr7ai6ml2u</link><description>You know you’re in “the zone” when you take a sip of cold coffee</description><pubDate>04 Aug 2025 08:21 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lvkr7ai6ml2u</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lsdjezgslk2x</link><description>TIL&#xA;#ElixirLang #MyElixirStatus&#xA;from: https://burakaymakci.com/why-did-the-elixir-application-keep-running-despite-dependency-shutdown/</description><pubDate>24 Jun 2025 06:57 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lsdjezgslk2x</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lqum2szmnb2z</link><description>Cooking 👩‍🍳</description><pubDate>05 Jun 2025 15:09 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lqum2szmnb2z</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lpthl7ywfx24</link><description>Abusing LiveView to have events that update data but don’t re-render and abusing LiveComponents to get change tracking on comprehensions&#xA;#MyElixirStatus #ElixirLang</description><pubDate>23 May 2025 10:51 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lpthl7ywfx24</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lnhiaeyans2d</link><description>My very almost six year old to me this morning, “Dad, have you already bought my presents, or do you need to go shopping today?”</description><pubDate>23 Apr 2025 05:41 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lnhiaeyans2d</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lmzdlh6ida24</link><description>Scopes in Phoenix make it much easier to add user specific, global UI elements (like an unread count)&#xA;#ElixirLang #phoenix</description><pubDate>17 Apr 2025 14:40 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lmzdlh6ida24</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lmyp4ayzgt2s</link><description>Ah, that one commit that calms everything down 🍬</description><pubDate>17 Apr 2025 08:34 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lmyp4ayzgt2s</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lmhd2fwm5j2j</link><description>When you ask for a change to a form and you get an entirely new form layout&#xA;#VibeCoding</description><pubDate>10 Apr 2025 10:43 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lmhd2fwm5j2j</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lmgmt3jcmy2r</link><description>It’s always the assumptions that get you.&#xA;Don’t assume. Test</description><pubDate>10 Apr 2025 04:05 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lmgmt3jcmy2r</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lmezieumt626</link><description>I published an updated blog post on how to use Font Awesome (or any other SVG based icon library) with Phoenix and Tailwind 4&#xA;#ElixirLang #Phoenix&#xA;https://andrewtimberlake.com/blog/2025/04/use-fontawesome-icons-in-phoenix</description><pubDate>09 Apr 2025 12:46 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lmezieumt626</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lmcrucjtgs2s</link><description>Upward doing live upgrades in action&#xA;Give it a try at upward.andrewtimberlake.com&#xA;#ElixirLang #Phoenix #LiveView</description><pubDate>08 Apr 2025 15:24 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lmcrucjtgs2s</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lmc5ey2pku2i</link><description>I love how José manages Elixir. He makes you feel great when you contribute, even for small, seemingly insignificant updates.</description><pubDate>08 Apr 2025 09:18 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lmc5ey2pku2i</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3lm7zcaxfym2s</link><description>Runtime config doesn’t play nice with hot code upgrades. But, I think I have a solution in upward.&#xA;#ElixirLang</description><pubDate>07 Apr 2025 13:00 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3lm7zcaxfym2s</guid></item><item><link>https://bsky.app/profile/andrewtimberlake.com/post/3llecnnkgci2j</link><description>The problem with treating AI like a junior programer is that it’s not going to remember what I “taught” it tomorrow 🤦‍♂️</description><pubDate>27 Mar 2025 12:32 +0000</pubDate><guid isPermaLink="false">at://did:plc:m472tnbotwfkitaglfcivocf/app.bsky.feed.post/3llecnnkgci2j</guid></item></channel></rss>