Janet A. Carr @janetacarr.com · 25/11/2025well this is surprising apparently someone is impersonating me on @discord.com ? my discord username is "janetacarr" ( formerly janetacarr#0930) photo sent by a viewer (note the _ in the impersonator's username). careful out there 140
Janet A. Carr @janetacarr.com · 10/06/2025Wow this is cool. I just learned this “live” thingy is in beta for certain twitch streamers. 180
Janet A. Carr @janetacarr.com · 01/03/2025It's always so remarkable to me how simple a tree traversal algorithm can be in Clojure This is 10 lines of code (sans docstring of course). 4262
Janet A. Carr @janetacarr.com · 17/11/2024Oh wow it’s been a while since I posted on my blog but Google clearly views my website as an authority on Clojure This photo is from my blog 🥹 0241
Janet A. Carr @janetacarr.com · 16/11/2024Man do I ever hate owning a MacBook right now Send help 230
Janet A. Carr @janetacarr.com · 15/11/2024Oh you’re a staff engineer? Name all the services then. 2170
Janet A. Carr @janetacarr.com · 12/11/2024This is a great opportunity to point out, again, that a container is just an isolated user space I’m not a lawyer, but Even if this didn’t contain only OSS, Mac users should be able to build and then run this docker file. (Downloading an image might be different though) 180
Janet A. Carr @janetacarr.com · 09/11/2024New "Source-Available" license just dropped: I call it the MITease license 190
Janet A. Carr @janetacarr.com · 09/11/2024Friction and generalization I bet CIDER Debugger for Clojure is far easier to use than GNU Debugger to debug a binary. Struggling with GDB might lead someone to shy away from debuggers. Plus, Taking time to use a debugger when printing works well enough. Clearly, I'm team debugger tho 250
Janet A. Carr @janetacarr.com · 05/11/2024Sometimes I like to go back to old code & reminisce `with-setters` Description A macro I wrote that adds setters to mutable fields in Clojure type definitions (for my game dev stuff) When to use it When you want to piss off every future Clojure developer to touch your code 👇 020
Janet A. Carr @janetacarr.com · 22/09/2024Was just reminded of the Null Object pattern and how it relates to Clojure's nil Fun fact, nil is both a value and a type, meaning you can extend nil with protocols in Clojure 👇 (and no, it's not lost on me you can just assert or branch on nil for this example😅) 093
Janet A. Carr @janetacarr.com · 29/09/2023Only three(ish) reasons to use #Clojure macros - Need to stop evaluation - Clj doesn't support use case - Maybe Reduce code duplication (big maybe). Here's a few examples of Effective Macro use in Clojure 👇 130
Janet A. Carr @janetacarr.com · 28/09/2023More mindset shifts I had for pure functional programming (FP): -Using recursion instead loops -Modelling a state machine without "state" In FP you can model a state machine by using recursion, lexical bindings, higher-order functions #Clojure example, but could be haskell 👇 0122
Janet A. Carr @janetacarr.com · 21/09/2023Just a sneak peek at some of the script's code I'm using to teach functional programming in #Clojure for Pros 😉 (this is not the actual script, just bits and pieces) 041
Janet A. Carr @janetacarr.com · 20/09/2023Wow, I (oddly) had no idea you could do this in #Clojure Clojure's pretty print (pprint) has different formatters you can dispatch on for printing and vars for altering out This probably would have made some of my REPL-driven dev a lot easier😅 010
Janet A. Carr @janetacarr.com · 20/09/2023Unsurprisingly, Higher-order functions form the foundation of functional programming If a programming language supports callbacks/closures/HOF, you can recreate things like reducers Check out this example in #Go👇 010
Janet A. Carr @janetacarr.com · 04/06/2023When to use try/catch vs types (truthyness or :error keywords) in #Clojure Chances are, in a pure functional code path, you can use truthyness to indicate when something went wrong (wrong value, empty input) If you're doing side-effects or Java interop, best you use try/catch 000
Janet A. Carr @janetacarr.com · 02/06/2023It’s out there now. I had the pleasure of writing the foreword for @unclebobmartin‘s upcoming book Functional Design! :) 001