I'm building a SaaS with #Clojure, and I found it was quite easy to send emails using #postal github.com/drewr/postal over the weekend. Do I just stick with it, or do I need to use something like Resend?
@whatacold
Falling in love with #clojure, #clojurescript, and #emacs. Building Chrome extensions and websites using them. C++ dev by day. GitHub: http://github.com/whatacold YouTube: https://www.youtube.com/@kenhuang-tech Blog: https://whatacold.io
I'm building a SaaS with #Clojure, and I found it was quite easy to send emails using #postal github.com/drewr/postal over the weekend. Do I just stick with it, or do I need to use something like Resend?
Comments about babashka from hackernews
From hackernews π #babashka #clojure
The image shows a computer screen with a dark-themed program window open, running within Emacs (a popular text editor). At the top, the window lists "Active filters: [!omit]", indicating some files are filtered from view. Below this, there's a green line showing available disk space (169 GiB available), followed by a list of files and directories: - Some file names are written in light blue, such as a patch file. - Certain file names are highlighted in orange and prefixed by an asterisk β these are various "ChangeLog" files with numeric suffixes. - Other standard files and folders are shown in white and blue text. In the bottom-left corner of the screen, a pop-up menu is open, likely from a macOS system. This pop-up displays options for sending files, such as "AirDrop," "Mail," "Messages," and others, with "AirDrop" currently selected. The pop-up mentions that there are 5 documents, totaling 17.1 MB. The background behind the program is a blurred, colorful abstract pattern in blue, tan, and orange hues. In summary: The image shows a file manager in a programmer's editor window, listing files and folders, with a macOS pop-up menu open for sharing files. The overall appearance is clean, modern, and uses a dark mode color scheme for accessibility.
#Emacs send-to (aka #macOS sharing) merged upstream
xenodium.com/emacs-send-t...
I'm glad I gave it a chance indieweb.social/@xenodium/11...
Released Ring 1.14.2 to fix a vulnerability with Apache FileUpload (https://nvd.nist.gov/vuln/detail/CVE-2025-48976)
#clojure
π₯· Clojure Pro Tip 4
In case you donβt know it, we can use raw strings, like embedding JS code, in hiccup.
I just found out we can use `raw` to prevent strings from getting escaped.
I shouldβve found this at the beginning, as itβs mentioned on the homepage, but somehow I missed it.
Which means, weβre not a nerdπ
Congrats! A good start!
For Wu Bai you could try ηεηδΊΊ εεΊ¦ιηΈι’ ζ΅ͺδΊΊζ ζ. ι»ζ ζηεΏε€ͺδΉ± for Chou.
I like songs of δΌδ½° and ε¨δΌ ι, I also tend to like "old" songs.
π₯· Clojure Pro Tip 3
Sometimes, we may want a few examples of a #clojure API for inspiration.
With #cider in #Emacs, we can run M-x cider-doc to see the docstring for the symbol. We can even use M-x cider-clojuredocs for examples if the symbol is from the language core.
Clojure Pro Tipπ₯· 2
So you're more than excited to find out how #clojure thread macros can make code clean and concise, you just love it! But at some point you'll be trapped a bit as the threaded argument's positions are inconsistent using -> or ->>.
Luckily, you can use as-> (see the pic)
It's amazingly easy to group things in #Clojure. The core provides a group-by function directly. Together with many built-in functions or key functions, it creates tons of possibilities, and we can also bake our grouping function if none is satisfying.
Example from github.com/functional-k...
Added a demo project and a demo video: Collecting events to Google Analytics in ClojureScript Projects
youtu.be/r8D0vb94MeA
Clojure Pro Tipπ₯·
In #clojure, we can use comment for tests in development. However, since a comment evaluates to nil, you may run into surprising results/errors if you misuse it.
In these cases, you may tend to use ; to comment them out, but a better choice is to use the discard reader symbol #_.
Clojure practice tipπ‘
Even if we might not have the opportunity to code in #clojure at work, we can still use it for ad-hoc scripting or proofs of concept. I promise itβs a lot of fun, thanks to the interactive development approach. We can try out ideas, building stuff bottom-up or top-down.
ANN: a small #clojurescript lib for collecting events for google analytics, you can use it in a web app or a chrome extension.
github.com/whatacold/go...
Emacs Pro Tipπ₯·
Having too many buffers isn't good for switching buffers in #emacs.
After finishing a project, we'd better close all its buffers. How?
1. C-x C-b opens up ibuffer
2. Click at the top to sort by that column, or hit s f
3. Mark them by m, then hit D to close them
Hmm, I wasnβt aware of dot dot before, so usually I used the thread macro.
Thanks a lot!
Thanks! I was trying to use Emacs on Mac a bit these days, and I tried to install Emacs-plus via brew, it installed successfully and I can run Emacs from the term, but I couldnβt find it in spotlight search, do you happen to know why? Thanks.
In the end, I installed the one from emacsformacosx.com.
Hi Gosha, which Emacs build do you use on Mac OSX?
I tried two builds right now. First, I tried `brew install emacs-plus`, it took a long time to build and I could start it from CLI, but I couldn't find it in the launchpad, which was weird.
Then I tried emacsformacosx.com, it just worked.
Trying #emacs on a Macbook a little bit, not productive at all right now. Which build do you use? And how do you deal with no right ctrl?
Sometimes the best way to gain new insights on how to get things to work is to check out the source code.
Just found out how to set thread numbers by setting :min-threads and :max-threads for #ring and #jetty in #clojure:
github.com/ring-clojure...
And personally I use the official #clojure cheat sheet quite often: clojure.org/api/cheatsheet
Thanks! It looks fantastic! And here is the page for #clojure: learnxinyminutes.com/clojure/
Noj in a JAR - setup-free Clojure for beginners:
https://www.youtube.com/watch?v=gHwFCOkBb_o
#clojure #datascience
Congrats!
Thank you! didibus on slack also pointed that out to me, and I've updated my post a little bit. It's an interesting topic and I'll come back to it in the future, thanks!