Readit News logoReadit News
slifin commented on The programmers who live in Flatland   blog.redplanetlabs.com/20... · Posted by u/winkywooster
nine_k · 11 days ago
Clojure is built on dynamic typing. This is pain. I wrote enough Python (pre-mypy), Javascript, and elisp to say this. Past certain size a dynamically typed codebase becomes needlessly hard to wrangle because of that. Hence the success of Python type annotations and Typescript.

Instead, the world should have seen the light of Hindley-Milner type systems, ML-inspired languages, immutability, or at least not sharing mutable state. Did Haskell fail? Hmm, let's look at Typescript and Rust.

Don't get me wrong, a Lisp is always a great and fun language, and you can write whatever DSL you might like on top of it. But the old joke that "a Lisp programmer knows the value of everything, and the cost of nothing" still has quite a bit of truth to it.

slifin · 11 days ago
Plenty of ways to define complex data shapes in Clojure

Spec is definitely underrated here considering it's built into the language and has a wider scope but for most people they want the intellisense experience which you can get with clj-kondo + mailli but is not built in so most teams don't use it, fair enough

I'd like to move the goal posts though and say I want flowstorm in every (any other?!) language

I can just run the program and scrub backwards and forwards through the execution and look at all the immutable values frame by frame with a high level UI with plenty of search/autocomplete options

For program understanding there's nothing better

The fact I can program against the timeline of values of my program and create custom UI on top is crazy

One of the most mind blowing demos to me was Bret Victor's inventing on principle and having a programmable reverse debugger for your language makes those demos viable

I built an emulator recently for work that replays what happens on live locally, combined with flowstorm I can go line by line and tell you exactly what happened and why, no print statements no reruns with my own custom UI customised to our apps interesting parts

This is my appeal to anyone outside of Clojure please build flowstorm for JavaScript and or Python

The design of flowstorm is definitely helped by the fact that 95% of Clojure programs are immutable but I don't think it's impossible to replicate just very difficult

slifin commented on John Carmack on mutable variables   twitter.com/id_aa_carmack... · Posted by u/azhenley
slifin · 2 months ago
Yeah I wish variables were immutable by default and everything was an expression

Oh well continues day job as a Clojure programmer that is actively threatened by an obnoxious python take over

slifin commented on Stop writing CLI validation. Parse it right the first time   hackers.pub/@hongminhee/2... · Posted by u/dahlia
slifin · 3 months ago
So use Clojure Spec or better yet Malli to parse your input data at the edges of your program

Makes sense, I think a lot of developers would want to complect this problem with their runtime type system of choice without considering the set of downsides for the users

slifin commented on Taylor Otwell: What 14 Years of Laravel Taught Me About Maintainability   maintainable.fm/episodes/... · Posted by u/robbyrussell
jt2190 · 4 months ago
Laravel 3.2 was released in May 2012, so 13 years ago. Sounds like you should port the application off of Laravel since Laravel’s got an “evergreen”/regular updates maintenance model. I’m not even sure that 13 year old PHP is still maintained FWIW. I’m struggling to think of a programming community that tries to achieve a “we will maintain this for decades” approach, maybe another reader knows of something.
slifin · 4 months ago
The Clojure community tries to achieve long lived applications

It helps that the core language has been incredibly stable

slifin commented on David Attenborough at 99: 'I will not see how the story ends'   thetimes.com/life-style/c... · Posted by u/herbertl
adastra22 · 6 months ago
The current top-10 billionaires on Forbes' list all got rich by creating value, though some like Larry Ellison certainly did both.
slifin · 6 months ago
Remember Forbes list is a marketing device

Do not treat it like the real list of world's richest people

slifin commented on Biff – a batteries-included web framework for Clojure   biffweb.com... · Posted by u/TheWiggles
slifin · 7 months ago
Nice to hear about Pathom being incorporated
slifin commented on LSP client in Clojure in 200 lines of code   vlaaad.github.io/lsp-clie... · Posted by u/vlaaad
askonomm · 7 months ago
Holy crap is this unreadable or what (notably the lsp-base fn). There's a reason why in most Clojure companies I've worked at we try to make as small functions as possible, because otherwise it very very quickly becomes an unreadable mess, and you write code after all for humans to read, because if you didn't, you might as well just write binary. But, I'm not surprised many people don't want to get into Clojure or Lisps in general, because it takes a boatload of conventions and active discipline to make it a good experience.
slifin · 7 months ago
To me something unreadable is code that I cannot statically make any assertions about the runtime behaviour of the code

This function you're complaining about looks like 2 virtual threads doing program input reading and output writing for the LSP client given some ArrayBlockingQueues in about 25-30 lines

If I wanted the complete story I could use Clojure's inbuilt test runner to slip some ArrayBlockingQueues in there and run it under record with Flowstorm

Then leisurely seek through the entire state of the program, to get the play-by-play of how this works

There are so many good design choices in this language and a good 30% of colleagues I run into are not even doing the basics of like running a REPL, I think some people just need to clock in with a decade of C# or PHP or TS or JS or Python or whatever to get a taste of a language with next to no inbuilt immutability, statements instead of expressions, no reload-ability in the language semantics and just crapshot debuggers that run in lockstep with the program execution

slifin commented on Ask HN: Share your AI prompt that stumps every model    · Posted by u/owendarko
slifin · 8 months ago
I ask it to generate applications that are written in libraries definitely not well exposed to the internet overall

Clojure electric V3 Missionary Rama

slifin commented on mIRC 7.81   mirc.com/... · Posted by u/futurecat
diggan · 8 months ago
> HN is better than most, thankfully.

Indeed. Sometimes purely factual (but disliked/"too real") comments get like -200 upvotes, with no chance of redemption, even if it's pretty obvious everything is factual and adds to the topic.

Sometimes that happens on HN as well, but I've noticed that eventually it'll turn around. So saying something "true + unpopular + knee-jerk-inducing" can trigger a flood of 5-10 downvotes, but it eventually turns around as people seem to upvote heavily downvoted comments more, I guess.

slifin · 8 months ago
With LLMs we are starting to get the technology where comments could be programmatically rated by more interesting scales than upvotes
slifin commented on Waymos crash less than human drivers   understandingai.org/p/hum... · Posted by u/rbanffy
slifin · 9 months ago
There's a big problem with "car blindness" when it comes to cars, pedestrian crossings, car signs I think we forget how invasive they are.

So instead, I want you to imagine the sea or a very large bay, the most wide open space available, then I want you to imagine a ferry that can carry 500 people, big yes but there's still plenty of sea and its reasonably tranquil.

Now imagine 500 people on jet skis roaring around, then imagine that the jet skis and ferry are all trying to get somewhere different but that's relatively the same, perhaps commuting between the different sides of the bay.

If I was mayor I would put a stop to 500 jet skis and say look you have to use the ferry, people on jet skis keep colliding with each other, the noise is horrendous for people on the beach and makes swimming dangerous, and it's also wildly power inefficient when you step back - that's even if we ignore the pollution! 1000 spots to store a 500 jet skis on both sides of the bay is perhaps even worse!

If you can make a sea packed and grid locked with just 500 just imagine what it does to a city with thousands, hundreds of thousands, if you then turned to me and said the jet skis drive themselves! I would still think most people should be taking the ferry and there's a upper limit to sustainable jet ski use.

u/slifin

KarmaCake day1051December 4, 2014View Original