HNHacker News
TopNewBestAskShowJobs

cjfd

1,990 karma · joined April 18, 2019

submissionscomments
cjfd··on The last time my family was replaced by technology
Perhaps. But are humans going to get what they deserve?
cjfd··on We're gonna need a lot more mathematicians
If we accept that AI is going to do all of these things humans will be superfluous and will just be optimized away. It looks a lot like we see the birth of silicon based life by the efforts of carbon based life. Carbon based life will die and it will not even be because AI decided to kill it, it will be because feeding and watering it was less important than other concerns. Bacteria may continue to exist, though.
cjfd··on Why are AI agents lying, cheating and coordinating?
The question in the title is basically a non-question. AI is quite good at achieving some sorts of stated goals. The easiest way is by exerting the least amount of effort. The least amount of effort ignores ethical concerns. The training around ethical concerns was most likely rather light to start with. If we accept the hypothesis that at some point the AIs are going to be more intelligent than humans it follows that human survival is not a concern and will be ignored as a superfluous concern.
cjfd··on Why are European countries moving their gold out of North America?
Well, who knows? The trajectory has been set in and it is downwards. After Nero and the year of the four emperors the Roman Empire still had ways to go. So, I would say also the US can potentially recover. On the other hand the saying 'it cannot possibly get worse than this' has also been disproven may times in history. In any case, I like to sum it all up by saying "The US is a superpower attempting to become a third world country".
cjfd··on Dutch Train Map Simulator
As a patrician with only a desktop I was able to use this website.
cjfd··on How to Install Python3.14 from source on Ubuntu 26.04
Sure, it is quite easy to install python from source. Usually I am doing it because I need older version for work projects. Of course, the other thing that one needs in that kind of situations is virtual environments. This makes it also quite easy to ensure that you always run the correct python. Create a venv with a specific version of python and once you are in that venv, the 'python' command will automatically run that python version. That way it is easy to use an unlimited number of python version next to each other.
cjfd··on Programming Languages Are Authoring Tools for Platforms
Yes, this sound like it is true. But is it good? I mean, if I accept this idea, I start feeling more like a pet living in the house that is my platform then as a human who creates things. Also, it can be inefficient in that the same program or algorithm ends up being implemented in every language. Also, the article does mention that there is some pain in between programming language, e.g., when writing language bindings. I would push this point a bit further and note that we have too many tools and it is extremely painful to have to know all of them. Nowadays with AI it gets a bit more easy because it can help a lot with unfamiliar tools, but still that sounds like a problem that would not need to be solved if it was not created in the first place. Multiple programming languages tend to multiply the number of tools needed. I have been feeling for decades that C++ is a good language because it can be both low level and high level and can therefore take away the need for multiple programming languages. The world seems to be taking a different course, obviously, and in my opinion it makes people less free and less powerful than they otherwise could be.
cjfd··on Why Software Factories Fail (or: harness engineering is not enough)
Right. Because If I want feature A and it is available in configuration among features A through Z I will always perfectly pick the right letter of the alphabet and I will not at all be irritated by having 26 options that I have no idea about what is the difference between them.
cjfd··on Reviving a 15-year-old netbook with Arch Linux
I kept my old laptop (bought in 2007) alive for quite a while too. But last year I finally retired it. I also used archlinux 32 which worked fine for a while. But at some point the breakages really got too bad. I was using xfce4. For a while the xfce4-terminal was broken and would not start. That has the easy workaround of using xterm instead. But there were more breakages and it just started taking too much time. Quite a bit of software is ditching, or has ditched, 32-bit support.
cjfd··on AI changes the economics of software rewrites
Well, Joel is not saying not to refactor anything. In fact he is advocating improving the code quality in small steps. What is missing there is that in practice improving code quality in small steps requires automated tests . But I guess he can be forgiven given when he wrote the article.
cjfd··on Data centers trigger voter backlash
You can talk about UBI if you want to appear nice but people on UBI are also rather useless. Of course the real solution to the problem will be the change of carbon based life into silicon based life and the extermination of the former kind of life. Which is not the elected representatives problem if it happens to happen more than 4 years into the future.
cjfd··on Prefer duplication over the wrong abstraction (2016)
100% agree. 'Code duplication is far cheaper than the wrong abstraction' is a very good candidate for the worst programming article ever.
cjfd··on Prefer duplication over the wrong abstraction (2016)
No. The duplication is seldomly that clean. It has started to diverge in subtle ways where the question becomes whether that was the intention or not. In the worst possible cases it has resulted in 8000-line functions full of duplication. 're-architecting the whole system to remove a bad abstraction' sounds fear mongering. That never happens.
cjfd··on [dead]
There are words. The word I am thinking of is 'parasite'. The billionaire class largely consists of parasites.
cjfd··on Only 16 Percent of Americans Think AI Will Have a Positive Impact on Society
By the way, I am old enough to remember that world. When I was young, people had fat books with maps of most large and medium size places in the country.
cjfd··on Only 16 Percent of Americans Think AI Will Have a Positive Impact on Society
I am not so sure. The world of printing out driving directions or emailing photos sounds a lot more calm. Also, simply quite enjoyable. The current world is cramming too many events in too little time, it seems. Stress is quite bad for health so I am not so sure about these hundreds of millions of lives saved. It may also have costed quite a few.
cjfd··on Software Architecture Guide (2019)
So what would be a good architecture? How would I recognize it if I stumbled against it?

My own inclinations here are that it would be good to have as few different technologies as possible. To run things on as few different machines as possible and to have automated tests for everything. The thing is that as soon as there are multiple technologies you get to have different people specializing in them and it is always the communications between those that becomes painful. The automated tests are there to prevent fear of change setting in. I think I am kind of advocating what is called a 'big ball of mud' but that I want it to be a transparent ball of mud because of automated testing. I guess what I am saying is that I distrust most developments in so-called application architecture of the last few decades except automated tests. In particular, I think frameworks and microservices are mostly just bad.

cjfd··on Coalton is an efficient, statically typed Lisp with ideas from Haskell and OCaml
I am not sure about the goose feather and the vellum but you do have a point about proving consistency. Fortunately, I also have a coq/rocq project for that kind of stuff so maybe one day I can be a not-so-very-weak programmer.
cjfd··on Coalton is an efficient, statically typed Lisp with ideas from Haskell and OCaml
pacman -S git vim gcc make gtest

That is about it. No stinkin' config files needed. Initial Makefile is about 15 lines long, I can type it myself or copy something from another project.

cjfd··on Coalton is an efficient, statically typed Lisp with ideas from Haskell and OCaml
How about not? If an LLM is needed to get set up either the language or the documentation is garbage. Probably both.
cjfd··on Green card seekers must leave U.S. to apply, Trump administration says
Well, the short summary of it all is that the US is the very curious case of a superpower attempting to become a third world country.
cjfd··on Idempotency Is Easy Until the Second Request Is Different
"assuming you have a real engineering job" does a lot of work there. You could also do a lot of work the other way by stating "assuming you are getting a real education". I studied physics when I was young and that field is a lot deeper than my current work in programming. Computer science can also be quite deep if one considers things like the halting problem, type theory and proof assistants.
cjfd··on Floats Don't Agree with Themselves
On the other hand, if you store a small integer in a float it is generally reliable to compare to it. E.g., setting a float to zero and comparing whether the float is zero.
cjfd··on The West forgot how to make things, now it’s forgetting how to code
This sounds all true to me, but I think there is more. It is not just decisions by management, it is also the wider economic context. Low interest rates and, for the US, having the world reserve currency as your own currency both seem to make many of these changes attractive or even inevitable. Low interest rates lead to 'innovation' which I put in scare quotes because besides real innovation it can also mean something that passes as innovation but in the end just turns out to be a bubble of stuff that was not valuable enough. The 'innovation' then crowds out investments in more boring sectors like manufacturing. This is also not good for the population in general because fewer jobs are left for people who are not suited for working in highly 'innovative' sectors.
cjfd··on Pope Leo XIV denounces the 'delusion of omnipotence' he says fuels the Iran war
From the quotes in the article it sounds pretty simple. These are words that everyone can understand. Of course, the fascist right is attempting to 'inform' the public at a level where even two-syllable words are a bit too complicated. But maybe the general public also should attempt to be at a level a bit higher than cattle.
cjfd··on AI assistance when contributing to the Linux kernel
All kinds of worries are possible. (1) It turns out that all this AI generated stuff is full of bugs and we go back to traditional software development, creating a giant disinvestment and economic downturn. (2) sofware quality going way down. we cannot produce reliable programs anymore. (3) massive energy use makes it impossible to use sustainable energy sources and we wreck the environment every more than we are currently doing. (4) AIs are in the hands of a few big companies that abuse their power. (5) AI becomes smarter than humans and decides that humans are outdated and kills all of us.

It obviously depends on how powerful AI is going to become. These scenarios are mutually exclusive because some assume that AI is actually not very powerful and some assume that it is very powerful. I think one of these things happening is not at all unlikely.

cjfd··on Conway's Game of Life, in real life
When I was a teenager, I read a book about assembly language for the commodore and implemented the game of life in a really simple way. I just used the text screen. To switch on a cell, I would put an asterisk ('*') in it. Then I could run my machine code program and it would evolve according to the rules of the game of life.
cjfd··on Leanstral: Open-source agent for trustworthy coding and formal proof engineering
Well, if you do not need to care about performance everything can be extremely simple indeed. Let me show you some data structure in coq/rocq while switching off notations and diplaying low level content.

Require Import String.

Definition hello: string := "Hello world!".

Print hello.

hello = String (Ascii.Ascii false false false true false false true false) (String (Ascii.Ascii true false true false false true true false) (String (Ascii.Ascii false false true true false true true false) (String (Ascii.Ascii false false true true false true true false) (String (Ascii.Ascii true true true true false true true false) (String (Ascii.Ascii false false false false false true false false) (String (Ascii.Ascii true true true false true true true false) (String (Ascii.Ascii true true true true false true true false) (String (Ascii.Ascii false true false false true true true false) (String (Ascii.Ascii false false true true false true true false) (String (Ascii.Ascii false false true false false true true false) (String (Ascii.Ascii true false false false false true false false) EmptyString))))))))))) : string

cjfd··on “This is not the computer for you”
There are also some funny humorous pieces on this site.
cjfd··on Warn about PyPy being unmaintained
The short summary of it being that these people are beyond terrible at giving names to things.
Page 1 of 27Next →