I read this as hyperbole, not a literal statement. I interpreted this statement to mean "these people that work at Cognition are excellent and I'm exited to work with them."
Did you or any of your fellow devs have ADD or ADHD? How did they adapt to dynamic types?
I have ADD and I once heard that devs with ADD/ADHD have an incredibly small heap size for context but compensate for their weakness by being great at solving logical problems in that small heap. Types have been essential for me when functioning in code bases. I really struggle with pure JS and untyped Python.
Clojure was similarly hard for me. What tools and/or techniques do such folks use for comprehending already written Clojure code?
Not everyone with ADHD struggles with small heap size.
Even if I have a smaller total heap size (maybe), personally my hyper focus allows me to nearly dedicate all the heap space to the specific task at hand. I probably outperform neurotypical people here. I just can't have anything else in my head. Task switching kills me.
So it is hard to say cause everyone is a bit different.
For me the interactive, REPL-based workflow makes my ADHD brain very happy. Always having a program running is really nice.
Plus immutability makes it much easier to reason about things.
I do like static typing as well and I could see how it might help. I strongly believe that gradual typing allows for the best of two worlds, so that you can do both exploratory, interactive programming and type driven programming, depending on your needs.
Not sure how well the solutions for gradual typing in Clojure work though. I have only experience with Common Lisp. Coalton might the exactly what you need: https://github.com/coalton-lang/coalton
Reducing cognitive load is the key. Several approaches I usually take are:
1. Make strict rules for code convention, especially naming things, and stick to that.
2. Use intermediate variables (let binding) often
3. Turn meaningful code block to a function often
4. Write Clojure specs and turn them to docstrings
In addition to that, a real REPL programming really helps to do small tests and understand the code quickly, immutable data structures with data-oriented approach and locally scoped code blocks combined with structural editor are godsend as well.
Do you have any resources showing what this type of coding works in the real world? I keep running into this same types issue when I use languages without types specified everywhere, where the cognitive load gets too much for non-trivial projects. I would be pretty unhappy writing python without type hints and tools that check these for correctness built into my workflow for example.
This was from my experience that I thought may work for others too.
Types may help in some sense, but is not enough and sometimes even add extra load especially on heterogenous data structures.
Before using any tools beside basic IDE features, I think there are fundamental things you can do to reduce cognitive load, such as focusing more on code design, convention, structures, naming, testing, documentation, which can be applied whatever language you use.
Clojure (and Common Lisp) is strongly typed, so if you expect type A and you give a value of type B, an error will be raised.
On Common Lisp, which is an interactive development language, you just inspect the stack frame where the error was raised, find the problem, correct the code, recompile your function (while the code is running), and "restart" the stack frame, so the execution continues (without having to restart or redeploy everything and try to replicate the bug). Thus, it is no big deal at all.
On Clojure i'm not so sure how extensive is the interactive support. But there is "spec", which can help.
Lawrence Fossi's older substack articles go into great depth about the ought-to-be-illegal level of control that Musk has over the board. Lawrence is a commercial trial lawyer so he views Musk's nonsense in a different, more rigorous light. Link: https://montanaskeptic.substack.com/
Well, they shut down two music services. The first was Songza, which they bought. They then took everything Songza had- namely their awesome mood-based, artisanally curated playlists- and put it into Google Play Music. Then they seemingly let go of everyone who maintained the playlists and never updated them again? Those playlists on Songza were _excellent_ and the Snoop Dog collabs were just delightful.
Not sure how Google internally makes decision but I imagine it works entirely quarter by quarter trying to measure individual Impact with no overarching vision or direction.