HNHacker News
TopNewBestAskShowJobs

slifin

1,141 karma · joined December 4, 2014

submissionscomments
slifin··on Coding is not solved
I hate that in our industry we refuse to operationalise reverse debuggers

"I never understood the code. You think it works a certain way, until you find out that it doesn't."

Bret Victor made a talk called "seeing spaces" in 2014 that should have woken up this whole industry: https://www.youtube.com/watch?v=klTjiXjqHrQ

He emphasizes that without the ability to see inside what is being built, creators often fall into "non-scientific thinking" (14:42), moving away from deep understanding and instead "blindly following recipes, from superstitions and rules of thumb" (14:47-14:51).

The worse is performance problems I've had engineers say some bizzaro things when discussing performance — we have the tools you can just measure the answer - we don't need to waste our time guessing

slifin··on Does Georgism work? Five years later
I think it's perverse that I'm going to spend the rest of my life in a global competition with every other human to survive

It's hard enough to survive but in our world you have to do survive while everyone else is incentivised to take money from you

Life shouldn't just be about efficiencies it should be about things that make us human, sharing and community used to be a big part of that

Like we're geared up for taking but not giving - like petting my dog in the global competition I'm incentivised to give him up he costs me time and money I could be grinding the next facebook

There should be a point of abundance where we reflect on what the point of all this competition is

Because I predict in the end it will be one guy with all money and everyone else in desperation

It's funny/sad that some people have so much capital they could live in absolute abundance, they could light up the lives of an entire country but they're the most robotic and desperate of all of us

As things are at the moment they're our future until we can imagine a world where everyday is not a slow decline into the end stages of a monopoly game

slifin··on CEO fired developers to make room for AI. Developers create open source AI CEO
I think this is an interesting idea but the non tech parts need fleshing out a bit if only to fire the imagination

The way the title sounds is that they got fired, then they created a new CEO and continued as normal

In reality payroll would be gone, any customer relationships would be with the previous entity would be gone, any capital/fund raising whatever not helpful any more

I'm actually surprised we don't hear more about companies created where AI is the leader - I think over the next year or so when the commercial labs release persistent agents this will be more viable because right now its still very difficult to take seriously due to deficiencies in the models

slifin··on Choral: Choreographic Programming for Java
https://github.com/lovrosdu/klor

The authors did a great talk on this in the Heart of Clojure 2024

Still my favourite conference I've ever been to

slifin··on Tax cuts for the wealthy only benefit the rich (2023)
A lot of the poor and middle classes don't understand how a billionaire earning millions of pounds per week in passive income is any problem for them - or where it comes from

1, billion, 2 billion, 100 billion individuals makes no difference to the average person

In fact there's a misguided sense that they earnt that money through work and not rent seeking

But the sad truth of the matter is - the rich are on the other end of your mortgage or indirectly your rent - the other end of that business loan to your favourite coffee shop controls the price of your coffee - you pay them interest directly or indirectly through everything you pay for and they use that money to buy more of the assets you use - they are a massively increasing rent seeking class

Their wealth growth is exponential it compounds on itself some particularly rich people are seeing 40% annual returns and the overall economies wealth growth is 1 or 2%

It's analogous to a black hole things like capital gains tax and income tax mean nothing to these people because they don't sell and they don't have a "working" income because that's not how the ultra rich accumulate wealth

The sad thing is for people on benefits the government look automatically into your personal bank account and track anything coming in - they have built a massively invasive infrastructure to track the poor so they can remove their benefits if they try to earn £5 selling music or selling IT services - but if you're rich the government don't even know how wealthy you are - the government doesn't know how many billionaires there are - let alone any talk of having to tax them - so they get to pay very close to - if not nothing - whilst software engineers (as an example relative to this forum) in the UK get to be the high rate tax payers where 50% or more is taken

Everyone else has to fund their free ride and its absurd - they're the group that need the least support financially

slifin··on Show HN: Wyzer Programming Language
Reminds me of https://github.com/lovrosdu/klor
slifin··on So Reddit has decided that plain HTML is unsafe
I can't use new reddit - old reddit lets me disable infinite scroll

I think all major platforms should have an option to disable infinite scroll

Otherwise I look up and its 3 hours later

slifin··on IceCream – Never use print() to debug again
As a profession we need to phase out point in time debuggers and replace them with reverse debuggers or "time travel" debuggers
slifin··on GPT-5.6 used a prompt to close a 30-year gap in convex optimization
I think there's a lot of interesting things to the side of development that don't get the resources they deserve

Debuggers, testing techniques, testing layers

Essentially things that could be used to ground your ai back to reality and work good for humans too

slifin··on Clojure 1.13 adds support for checked keys
defaults are a different thing to nil punning

So nil will have had special consideration in Clojure core functions

That doesn't mean it doesn't crash either it will absolutely be unhappy with nils in your math

nil is usually unexpected in test outputs or at the very least an unhappy path

In terms of debugging that's why I can't quit this language flowstorm let's me visually step through what happened line by line, backwards, forwards, programmatically - whatever

Languages should be competing against each other by their best time travel debugger it just completely removes the need for guesswork

slifin··on Clojure 1.13 adds support for checked keys
Well it is possible - you can add a user macro that calls into clj-kondo (or anything actually) to check your codebase on compile

It just doesn't make much sense to do - most modern developers will be running static analysers through LSP or their editor (knowingly or not) continuously on code change so as to see those errors quicker than re-compiling the program

slifin··on Clojure 1.13 adds support for checked keys
This is a case I never really thought about - if the key is missing today you'll get nil as the value and since Clojure is a nil punning language it usually does sensible behaviour in your program

I know this sounds unreliable but in practise I like a language that defaults to pragmatic code paths so I don't have to stay up at night imagining a million code paths

This adds a throwing codepath which is quite drastic so I'm glad people don't build this into programs everywhere - I'd be nice to hear what the team imagine as the use case for this

Normally for correctness I'd like to see specs at the boundaries for programs and different test suites for internal behaviours

slifin··on Bryan Johnson: I have an autoimmune disease. My stomach is eating itself
I wouldn't be surprised if it's the glyphosate

We need to get back to regenerative farming that already has time proven solutions for weeds (ok maybe not the same yield straight away but at least its sustainable)

If your soil is just a chemical laden dust bowl then there are 2nd and 3 order effects from that

slifin··on Lisp's Influence on Ruby
Yes though they're trying to be effectively the same lisp

I do love that I learnt Clojure once like 5-7 years ago and more and more dialects keep expanding the choice of runtime I can target

slifin··on A consistent pattern of lying': trial exposes what insiders think of Sam Altman
Narcissistic abuse usually happens in a way that the victim cannot point at one event to prove the abuse It's usually a context dependant aggregation of actions

Like a vampire taking thousands of bites the vampire hides the bites by refusing to be accountable and biting just enough to be under the tolerance of the victim

slifin··on If AI writes your code, why use Python?
I would assume it's important to know what's in that training set too

Because I get reliable generation out of "niche" languages already

Is it code with lots of SQL injections used in a different domain to your own?

It's maybe not good to conflate quantity with quality

slifin··on ClojureScript Gets Async/Await
Personally I moved from typed functional languages to Clojurescript and then Clojure around 10 years ago

Most serious Clojure code bases I'm aware of invest heavily in their test suite so yes you can just add a skill to your AI that tells it the most effective way to use your test suite then send it to the races

Some of my colleagues let the agent interact with the REPL and they report faster performance because the agent is not paying the start up cost on every interaction, personally I've been lazy there its fast enough for me

As you've hinted at Clojure does have less bits that get in the way, everything is true except false and nil, the language does not have order precedence table the core language supports immutable and persistent data structures as default

Everything is an expression nothing is a mixture of operators and expressions map, reduce, filter are built in and expected in normal code

Code you wrote 10 years ago in Clojure will likely still work today the ecosystem and language authors treat breaking code as taboo

Of all the languages I've used its the least headache inducing and the most freeing in terms of expressing my ideas

Also the defacto reverse debugger Flowstorm is a programming dream

Its a lovely language if you want to be content

The flip side of that is most users take it for granted and don't talk about it much

There are also a lot of commercial Clojure programmers who do not understand the language and as a result not that happy, they often didn't willing choose it, probably not ready for it, I think most Clojurians should have gone through a decade of noticing things in their other languages they didn't like before using it

Rich Hickey the creator of Clojure does famously influential videos on software but that doesn't mean your colleagues have watched them or care

slifin··on ClojureScript Gets Async/Await
This is important for JavaScript interop without having to include additional libraries very cool and was missing for a long time

Congratulations on the release :-)

slifin··on Clojurists Together – Q2 2026 Open Source Funding Announcement
Clojure core has always been highly protected, stable and curated

The downside of that is it's slow and difficult to get changes in

Instead of talking about throwing money to get the contributors to fix what you want it would be better to publicly talk about the problems

Are they tracked or known, what do they stop you from doing, how long have they been in the queue have you had any feedback etc?

slifin··on Official Clojure Documentary page with Video, Shownotes, and Links
Yeah I see this at work - people are sceptical that AI + Clojure even works

but in my experience its amazing the overall quality of Clojure code in the wild tends to be higher than your typical language so AI's training on Clojure tends to be on modern and high quality code and the language is very token efficient, you can also tell AI to interact with the REPL to avoid restarts

The only downside I've seen reported is mis-matched parens but for me models have been strong enough to balance parens for about a year at least it's not something I actively work-around even though there are work-arounds like brepl and others

slifin··on Official Clojure Documentary page with Video, Shownotes, and Links
Looking back Clojure has been the best thing to happen to me in this industry

I doubled my salary using it and changed industries to much more stable industries

I've been to a lot of conferences and meet ups in my career but the feeling of joy and inclusivity at Heart of Clojure was unreal

The community is still alive and well, my favourite passionate sub culture in the Clojure community at the moment is the Jank community, building a Clojure Dialect for low level work an incredible amount of work but they're doing it anyway

The problem is businesses aren't really interested in stability integrity or joy when it comes to their languages they want to commodify their developers by forcing them to write the most popular and replaceable languages possible

Then they're surprised when the quality of developers they're able to hire drops and the quality of their software drops it's all just a race to the bottom - emboldening companies to try and replace developers with AI and destroy their own companies in the process

What surprised me the most in working with Clojure commercially is how many commercial developers did not get the ethos of the language or have watched the rich hickey talks or use the REPL, all they see is restrictions and unfamiliarity I don't know how these people got hired without a passion for the language - lots of them get promoted to run Clojure codebases

slifin··on Bringing Clojure programming to Enterprise (2021)
As someone who loves the clojure repl I do somewhat agree with debuggers are better

If it was like a choice, Clojure has my favourite reverse debugger flowstorm which also exposes the runtime information of your program programmatically

So you can code cool visual programs against the runtime values of your first program

Like I built an emulator at work that simulates our program in production as a flowstorm plugin then you can step through the program frame by frame

I love taking the guess work out of production issues, just get the computer to show you exactly how everything went down

It's like a rewindable movie made up of thousands or millions of frames of the execution of your program

slifin··on Fear and denial in Silicon Valley over social media addiction trial
I won't use new Reddit because of its infinite scroll but old Reddit you have to press next which I find doesn't keep me as addicted

I wish all companies had to provide a non infinite scroll option for their products, YouTube, Facebook, Google, Tiktok

slifin··on Have a fucking website
Most people should put in a Google maps entry
slifin··on Type systems are leaky abstractions: the case of Map.take!/2
Type systems are uncomposable leaning towers

I can't decide to use the PHP type system for some of my program then the Haskell type system elsewhere I can't combine them they're infectious they don't preserve well over the wire

They're often used for more than one purpose suboptimally

I'm either in 100% agreement with the language's type system or I'm unhappy in some aspects and so I'm unhappy with the language

People seem to choose their languages more on the type system than more fundamental aspects of their language

I think what most users want is static analysis and they don't understand how that is different from a type system they just assume you have to have a type system for static analysis

There's also no conversation about how complex a type system should be to support static analysis in fact some type systems are full blown turing complete

I think there's a more interesting conversation to be had around correctness in a collaborative environment that we're not having at large because type systems exist and consume the conversations

So language developers continue finding the perfect one that is a million little choices working together that must be perfect for everyone

It's a itch that will never be satisfied

slifin··on Kansas invalidates driver's licenses, birth certificates for ~1k transgender
There are people out there afraid to learn or change and are keen to blame and keep things the same to protect themselves

You can listen to their thought process by asking them if they got their way politically for 15 years what would be better about living in their country

slifin··on KFC, Nando's, and others ditch chicken welfare pledge
Before we started colonial capitalism there already was total abundance for everyone and for those not born yet

The common lands were for everyone, given a few sheep, vast grasslands and a dog you had self sufficient milk, meat, wool etc

People used to be nomadic with their animals, capitalism doesn't work when there's total abundance so the playbook was to kill the animals, install farms, enforce land rights by force

Only when the workers have no other choice can they be forced into the factories

We could return to abundance if we could get rid of the personality types who require attention and power over the rest of us to temporarily satisfy their narcissistic wounds

Reinstate common lands and bring back self sufficiency, capitalism is a squeezing device, innovation happens despite it not because of it

slifin··on Real-time estimates of animals consumed by humans worldwide
I am going to continue eating meat and plants but that's because the choice between eating plants or meat misses the point

The issue here is the industrialisation of the land and the shortcuts that farmers are doing that essentially kill the land, animals and plants in a way that is unmaintainable

The way this should work is animals should be herded on to land to eat and poo, once the grasses are nearly eaten the animals should be rotated on to other fields, the new grass regrows in this fresh environment because it has no competitor and plenty of fertiliser this process kills weeds and rejuvenates soil ready for planting

This mimics the nomadic lives that early humans would have led, following their herds of animals to fresh new pastures

Then the farmers worked out they didn't need animals to do this process they could just plow their fields and then that gets rid of the weeds, not quite as good as animals doing it in terms of soil health but effective and quick

Then the farmers were sold weed killers which meant they didn't need to plow their field, they just needed to buy GMO glyphosate resistant seeds and flood their fields with glyphosate, some types of crops are even killed close to harvest with glyphosate so it'll be in your food at high rates for certain crops

The problem with this approach is glyphosate is assumed safe because its mechanism for killing weeds is based on a system we don't directly have as humans, but our gut bacteria do, it also competes with glycine in our bodies used to create proteins, I wouldn't want to drink glyphosate from the bottle but it's being added to my food so effectively I do that

It also degrades the soil quality into dust, instead of being full of earth worms which would normally feed the birds, the local wildlife etc

So these mono culture fields are just turning huge swathe of land into sterile dust bowls that exacerbate climate change

Then these crops are either sold directly to me as a plant eater or given to the animals to make them bulk up and sick

As someone who eats a lot of meat I want my animals to be grass fed (or their natural diet) I don't want them to have to take antibiotics because the farmer needed to bulk them up with cheap glyphosate laced mono culture grains and cereals to get more profit out of the animal

So if you are vegan you cannot just wipe your hands of this problem because you're still contributing by eating these mono crops - What we really need from consumers is for them to care how their plants and animals are raised and not accept glyphosate or other weed killers in their supply chains

Animals should be pasture raised from a moral point of view but also a health and climate point of view

slifin··on The Sovereign Tech Fund invests in Scala
Yeah sorta

I would say Clojure is a big exception to that - Clojure applications tend to be more uniform than even non lisps

slifin··on France Aiming to Replace Zoom, Google Meet, Microsoft Teams, etc.
The real thing that's changed here is that the US gets no benefit from defending Ukraine or Europe

European politicians need to wake up NATO was really an exercise in helping the US with its proxy wars their support will not be reciprocated

Not with trump and not with his successor

Page 1 of 15Next →