139 karma · joined May 18, 2015
Markdown (although it doesn't adhere to a strict standard) is ubiquitous, and support for Ledge notebooks degrades gracefully. If one doesn't have Ledge installed to run it, it can be assumed that their editor is able to render markdown. Even opened in a plain text editor, markdown is a lot easier on the eyes than org (IMHO).
UX matters.
One needs to spend less time on devices. Go analogue. Pen and paper. The best tool that I have found is the Bullet Journal Method. It takes time, effort, and there is a learning curve. The ROI is higher than from any app. No other tool has impacted my life and productivity more.
That said, I have found some tertiary apps to be helpful, though my BuJo is my compass. Endel for time boxing/Pomodoro, and sleep. Headspace for guided meditation.
No, it doesn’t have to be aesthetic, with pretty lettering and doodles (as seen in social media).
Although VSCode is impressive, at the end of the day, I'm an emacser. I went back to: emacs in a terminal over mosh, accessed with Blink Shell on the iPad; or access the same instance over Microsoft Remote Desktop for a desktop experience.
The Scala community caters a lot to JVM/Java inter-op, and to recruitment of Java engineers. In the peak-hype days, Java compatibility, and Scala for Java engineers learning resources were a huge selling point for Scala. Now it is one of its greatest weaknesses holding it back. Even as late as June 2023, the second edition of Functional Programming in Scala is catered toward Java programmers.
Functional purity is an option in Scala (no pun intended), and the org/team must have the collective discipline to write pure code in-order to make it work.
Pure/lazy effect handling is not included, one must use a 3rd party library. There should be one, or a small handful of compiler options which would enforce purity by the compiler. There isn't. The -Xlint options are not easily discoverable. WartRemover is a 3rd party library, which doesn't get enough visibility. Some of the "good stuff" from Typelevel should be absorbed into the standard lib.
The numeric types are not ergonomic, there is no natural number type for example.
I haven't had issues with Haskell tooling, though I also use Nix. On the flip side, I've never heard anyone say "I love SBT". Yes there are alternatives to SBT (Mill for example), but again they suffer from low visibility. Martin Odersky has admitted faults with SBT, and praised Mill; yet, what does the Scala community push... SBT.
Anyone with emacs can do this today, for free. The huge caveat is that it requires emacs. Where this tool shines, is that it's a superset of markdown, and thus not tied to any particular editor.