236 karma · joined July 30, 2022
My general take on HTMX is:
1) You need to have your act together on your server. Because HTMX pushes more onto your backend, you need to know what you're doing back there (with whatever tech stack you happen to be using).
I have a friend who teaches at a coding boot camp and they do not teach students about server-rendered HTML at all. Folks coming from this world are going to have a tougher time ramping up on something like HTMX.
2) HTMX is great for the 90%+ of common UI paradigms shared by most apps (form submissions, validation, error messages, partial page reloads, lazy loading, CRUD UIs, etc).
If you have a key, critical experience that demands highly dynamic or novel interactivity, you're going to find yourself reaching to either (a) extend HTMX, or (b) create an island powered by raw JS, React, etc.
--
I love HTMX. It's a fantastic tool for delivering quality product (often with much lower engineering cost).
I once had my account with a major cloud provider terminated for "violating our terms of service". After contacting support, they then claimed that someone had gained access to my credentials.
What evidence did they have? None. I just updated a VM's metadata too frequently (about once a minute). This tripped an ML model, which caused them to automatically terminate my account and send an automated email saying that I had been a bad boy.
This took down a key part of my business for about 5 hours (while I navigated my way through layers of customer support and ultimately temporarily moved this functionality to another cloud provider). Customers were not happy.
It took about 2 weeks and multiple support tickets for the full story to come out. I got them to refund a few months of charges (amounted to several hundred dollars at the time) and restore my account. There was never any recognition that they made a mistake.
I get that companies need to resort to automated means to handle fraud or abuse. But they should also own up to it, add some humility in their automated outreach to customers ("our automated system has detected possible X" instead of "you are guilty"), provide clear escalation paths to talk to a human, and provide a way to "shield" your account (identity verification, upfront deposit of $X, etc) that forces them to contact you before any enforcement action.
In my case, I upgraded to a paid support plan ($100+ per month) in the hopes that their system will be a little less trigger happy with my account in the future. I don't use support at all, it's purely a lame form of insurance that may or may not actually protect against anything.
I'm also a Backblaze B2 customer, which I also highly recommend and has slightly different trade-offs (R2 is slightly faster in my experience, but B2 is 2-3x cheaper storage, so I use it mostly for backups other files that I'm likely to store a long time).
Wanted to share a new tool I just built and thought it might be useful for some of you.
It will transcribe your audio or video files (voice memos, lectures, podcasts, interviews, whatever!) and then allow you to quickly import the transcripts into ChatGPT with a variety of initial prompts to get you started (summaries, blog posts, outlines, social media posts, etc). It's part of the AI transcription product I created (TurboScribe).
I've been using it to summarize podcasts, write initial drafts of content from voice memos (kind of like a ghost writer), and transform long audio lectures into detailed summaries (w/ section headings and reference timestamps).
I made the first 4 daily audio/video transcriptions free (up to 30 min long) to make it easy to try.
Thoughts and feedback welcome. Cheers!
I think high-quality AI transcription should be a lot cheaper.
It's pretty simple: Unlimited transcription (powered by Whisper) for $10/month. Upload your audio/video files, get your transcripts (and export to many common formats).
There's a free tier of 4 transcripts (i.e. up to 2 hours) per day if you'd like to check it out.
TurboScribe is especially designed for individuals who need to transcribe larger volumes of audio/video (i.e. dozens or hundreds of hours, including at the highest Whisper large_v2 quality level) or just don't want to have to worry about getting billed by the hour, hitting some ridiculously low cap, etc.
* Can represent sets `#{1 2 3 4 "foo" "bar" true false}` (JSON only supports arrays)
* Maps/sets can contain arbitrary EDN as keys/values. `{[1 2] "foo", 5 :a, "5" :b, true -1, false 5}` or `#{[1 2] #{3 4} (5 6)}` (JSON only supports string keys on "objects")
* Supports clojure types like keywords (`:foo`, `:bar/baz`) and symbols (`foo`, `bar/baz`), and can be extended to support other values as well