I love the clojure, but I think a big downside is not being able to use it at work and now work feels like I'm being forced to work with stone age tools in comparison. That gets quite depressing sometimes.
Sometimes I think I was happier before I learned Clojure.
I love the clojure, but I think a big downside is not being able to use it at work and now work feels like I'm being forced to work with stone age tools in comparison.
Sometimes I think I was happier before I learned Clojure.
I never understood this sentiment. Even if nobody on my team uses Emacs or Vim, or Clojure, Rust, Zig or Nix, or some browser extensions, or any other tool, nobody could ever directly deny me access or restrict the use of any of that on my machine, some vm-box or EC2. And once I prove their usability to me personally, I show that to my colleagues and typically people when impressed they start using them. Once you have more than three people, you can start discussing rolling it out for general use. Just this past year alone, I have convinced my teammates to use a bunch of tools they'd never heard of before.
It's more depressing if you work in a big organization where decisions come down from on-high instead of letting teams decide what's best. (Especially if one of those decisions is so-called Agile practices which were about empowering teams against on-high global decisions from management, but that's a digression.)
But yes, treat it as a job, and make time for "fun time" after work at home using your favorite tools and languages and OSes, and you can still be happy, especially because the bills are being paid. And even in restrictive corporations there still may be opportunities to introduce a little of your favorite thing... Clojure itself "snuck in" at a lot of places because it was just another jar, and it's not too hard to shim in a bit of Java code that then turns things over to the Clojure system. You can also try getting away with internal-only tooling.
If I had stayed at my last job a little longer I would have tried putting more effort into sneaking Common Lisp in. I had a few slackbot tools I wrote in Lisp running on my machine that I turned over (with pre-built binaries) to someone else when I left (but I doubt they're running still). The main application was Java, and there was already mandates from security people and others not to use other JVM languages.. at least in application code. I was thinking (and got a prototype working) of sneaking in Lisp via ABCL, but only for selenium web driver tests. It was a neat trick to show some coworkers a difference in workflow: write or edit a web driver test, one of your asserts fails or an action click on some ID that's not there fails, in Java you get an exception and it's over, you'll have to restart the whole thing, which for us was expensive because these test suites typically spun up huge sets of state before starting. But with Lisp, exceptions don't automatically go back up the stack, but pause at the spot they occurred: from there you can do anything in the debugging REPL that you can do normally, redefine functions, classes, whatever, and then resume the computation from where it left off (or at some higher part of the call tree stack if you prefer), thus no expensive restart.
There's also ways to introduce things you like that aren't just different languages. My team started doing "lunch and learns" at most once a week (sometimes less often); if anyone wanted to talk about whatever for 30-60+ mins during a lunch period we'd get together and do it. Sometimes that would be about specific work things being built, sometimes it would be about external stuff, ideas (e.g. the Mikado Method) or tools. Once I did a brief presentation about property testing and later on got the quicktheories library for Java into the codebase and handling some tests, and ended up not being the only one to occasionally make use of it.
An example of me solving an Advent of Code with clojure and repl. You can see i never interact with the repl directly, I just send code to it via my editor and get results inline.
Man, I probably say no to like 40% of the requests I get as a dev. Often we will come up with a better way of doing things by just spending 15-30 mins talking to the business about the actual problem they are having.
Some are just flat out refused as they are just too stupid and will cripple the system in some way.
1. I like my laptops with USB ports and removable RAM and disk. I love computers and opening up a mac is a bad experience.
2. It costs an arm and a leg to replace parts on a Mac when you travel outside the United States. Replacing the keyboard on my first macbook cost the same as the actual price. I learnt my lesson. I don't need that Apple garbage in my life.
I've seen it in person once with a former coworker, everything created anxiety, everything was problematic, she spent her entire time looking for a reason to be offended (especially tenuously on behalf of someone else). It was exhausting trying to work with her. She took so much time off too, at very short notice, as she just couldn't cope with working that day.
Yeah I have come across it too, I have also met examples like the woman you describe. But we don't really have to rely on personal anecdotes. The rise of anxiety in young people over the last 20 years is well documented. Someone who's really determined to pick holes in this will say that doesn't prove causality, it could be multivariate or it could be other things completely, and they're right, we're probably not going to find a gold standard scientific study proving my point. But if someone thinks this increase in anxiety is not tied to how people react to speech, online and off, or if they try to handwave it away as unconnected to the broader social change I'm describing, they're being obstinate or they're trying to protect their sacred cows... for another example we have many many people of all political leanings (including apolitical) these days talking about how they've disappeared from public social media and retreated into private chat groups because the public discourse is just too dangerous. That is cancel culture. It is real. It has had precisely the deleterious effect on society which I described.
> The rise of anxiety in young people over the last 20 years is well documented
Sure - but I'd argue that's due to the overall unhealthy aspects of internet use and not specifically 'cancel culture'.
The internet has become a constant stream of something that is simultaneously designed to maintain your attention and engagement ( control you ), and sell you stuff ( control you ).
It seems to of had the web app portion updated a year ago. And as you say, the application itself looks ‘done.’
I have frequently used Common Lisp over the last 40 years, and I hear comments about libraries being old and not updated in many years: so what! Quality code that performs a specific function sometimes is ‘done.’
I am a novice Haskell programmer but I enjoy the language and it is very cool to have the Carnap github repo with a book manuscript, backend and front end code to look over.
reply