1,051 karma · joined April 12, 2013
It has been suggested ([1],[2]) that writing by hand helps with memory retention and probably other aspects of cognition; in my case, it may just be that writing [edit: by hand] "feels calmer," so, if I have a hard problem to think through, the pen usually comes out.
[1] https://pubmed.ncbi.nlm.nih.gov/33815075/
[2] https://journals.sagepub.com/doi/abs/10.1177/095679761452458...
I also have an alias to save existing chats as text files so I can go back and review history.
Finally, there is an alias to load a question up in an editor if I need to enter multiline text, e.g. to discuss code fragments, etc.
I expect command-line workflows to be pretty individualized and I'm curious what others do. For me (old programmer), using a command line REPL feels much more natural (and blissfully noise-free) than going to a Web page to talk to, say, ChatGPT.
Not my/my family's experience - in fact MRI were used to clarify CAT scan false alarms / rule out real issues.
When I was learning Go I had Copilot on most of the time. I was amazed at how much progress I could make despite being new to the language. And, when switching to Emacs, I'd notice myself reflexively waiting for Copilot to supply autocompletions that weren't there.
Yet, strangely enough, I can actually write Go code now (with or without Copilot). All the troubleshooting, refactoring, redesigning, bug fixing, etc. that I still had to go through saw to that. (Presumably having programmed already for many years didn't hurt.) Repeated and quick exposure to the relevant idioms supplied by my tooling seems to have helped at least as much as it set me back.
On the lisp (Clojure, Elisp, ...) side of things, I have found Copilot (and ChatGPT) much less helpful, presumably because of the relative paucity of training data. Simple things such as matching parentheses seem to elude these tools, and hallucinations are worse and more frequent. I'm still feeling out how this difference w.r.t VSCode/Copilot and other languages affects my experience and the quality of my output, but it definitely feels different (and, frankly, a little clumsier).
Over time I've learned how helpful different kind of tools are for making software. Learning one's editor well. Writing good (and fast) tests. Using linters and code formatters. Using type systems when available. The new AI tools certainly involve trade-offs, but as I gain experience with them I am becoming convinced that putting them aside will make programming a different, and probably much slower, experience than what most programmers come to experience. (Slow can be good, but probably not what most of us want.)
Go provides a set of nice features (fast startup, easy cross-platform building, great tooling, good package management) that can be hard to come by with other languages. It is not unreasonable to want to have your cake (all of the above features) and eat it too (occasionally use functional idioms in addition to the usual imperative ones).
For this reason I try to keep abreast of the various FP libraries in Go, though I have yet to use one in anger.
"I post things here related to programming and art..... You can also find many blog posts written during ten trips to Antarctica here."
edit: add clarifying word
[1] https://en.wikipedia.org/wiki/Arc_(programming_language)
Am happy to see Phillip Glass is on Bandcamp. I found an old cassette copy of Koyaanisqatsi kicking around but also just got a digital copy of the soundtrack there; happy to support a living artist.
I still find Lein a little easier to use, and use it for personal projects, but appreciate Deps's more data-driven, "simpler" approach -- and it seems faster.
Common Lisp / SBCL equivalent for me is 41MB.
Clojure überjar size for the same is 4.6MB.
There is a cost to having so much language ("all the language, all the time") available at different stages of the program lifecycle (macroexpand, compile, runtime, ...). Not sure if a Janet program can run eval, but it still has a garbage collector, etc.
Even a Go equivalent is 1.9MB.
I've been to Sister Bay many times, usually headed to Washington Island. "Near the Canadian border" is a bit of a stretch -- but a cute town.
Am surprised nobody has mentioned Libro.FM here - I get most of my audiobooks from them. They claim to give a portion to my local bookseller, though they don't provide any evidence to this effect and I would continue to use them even if they didn't. It's a monthly subscription which gives you a new book every month, but you can pause any time and the books are still around, then resume when you need more books. Your mileage may vary; the model works well for me.
Taking a four-day compiler course[1] (now five days) whetted my appetite for implementing languages and learning new ones, and led to a number of toy language projects. Also mentioned here, the book Crafting Interpreters is wonderful.
The world may not need many more programming languages, but making your own is a heck of a lot of fun. I find it especially satisfying when tests written in the new language start to surprise me by already passing, because enough of the language is working.
The pattern is rare enough that there is a cultural barrier, at least in the US (and possibly worse elsewhere?). I accept that there will be fewer opportunities, and plan to do outstanding work during the hours I'm engaged. My employer gets a happy me and benefits from (by now) decades of experience. I hope that more tech (and non-tech) workers will join me in advocating for this sort of arrangement so it becomes more common.