News for hackers. Stuff that matters.

joostdevries

Re:A Visual Intro to Complex Numbers on Tuesday October 13, 2026 @11:43AM (#50073527)
I particularly like this book by Steven Pemberton. https://homepages.cwi.nl/~steven/Numbers.pdf

Imaginary numbers never made sense to me in high school. But this book gradually builds it up in a way that made the conclusion positively intuïtive. Highly recommended!

Interesting! Personally I'm not eager to spend tokens on having my own harness, sandbox etc. It's much much more feasible by spending tokens. But it does feel like a distraction and that I end up owning it. As in: a continuing distraction.

So I've been experimenting for these purposes with omnigent as a way to be less locked into a single provider and for its sandbox abstraction. And I've also tried openshell for sandboxing. Hoping those two will keep improving.

Re:Grok uploaded my user directory to xAI's servers on Monday July 13, 2026 @03:11PM (#48897337)
I'm experimenting with OpenShell / NemoClaw.

It brings some extra sandboxing features compared to just a docker container.

For instance it also maps the secrets that the agent harness has access to. And has an allow list for outgoing http connections. And there's a way for agents to request extra access. And once approved by the user from an external cli the policy is updated and hot reloaded.

It's pretty recent. So time will tell how robust it is / will become. What its longevity will be. After all; in a time of LLMs one off experiments are cheap. Longtime nurturing not so much.

Re:The OpenAI Deployment Company on Monday May 11, 2026 @11:09AM (#48096049)
I guess this is a sign that Mistral AI is on to something.
Re:We've raised $17M to build what comes after Git on Friday April 10, 2026 @12:06PM (#47720195)
Maybe the pitch is:

git is distributed. Decentralised improvement. Local computers and their users make changes. These steps of local added value are then centrally combined into a shared timeline. A single product. During the improvement the locus of control is local. Which means it is hard to harvest the knowledge of this local knowledge and replace it. And it's hard to make local users serve the central AI.

Not something you put in the public mission statement. Because you might get boycotts.

I keep the context concise by linking from claude.md to markdown files with the hardware architecture, the network architecture, the processing tech stack. Concise and specific. And a current project md. I mix in the parts that are relevant. I don't have a roadmap and session log though. Good idea.
Very nice that there's a coding cli finally. I have a Mistral Pro account. I hope that it will be included. It's the main reason to have a Pro account tbh.
This 2003 interview with Anders Hejlsberg gives considerations why he didn't add checked exceptions to C#. https://www.artima.com/articles/the-trouble-with-checked-exc...
Re:APL at Volvo on Friday February 23, 2024 @03:11AM (#39478126)
I was excited at the idea of ShapeRank. A modern APL successor aimed at tensors, vectors, arrays of unbounded length.

Unfortunately work on it seems to have stopped two years ago. https://github.com/f5devcentral/shapeRank

For those who speak Dutch: here's a higher, more readable, resolution at the Rijksmuseum. https://www.rijksmuseum.nl/en/collection/RP-P-OB-76.978
Re:GitHub staff are required to use Teams by Sep 1, 2023 on Monday February 13, 2023 @01:38PM (#34778034)
I wonder if MS is aiming to use the conversations about software that employees are having in Teams meetings as training data for AI. To automate them away.
Re:Volkswagen Originalteil on Friday November 25, 2022 @12:04PM (#33744422)
I think Americans pronounce names like Weinstein as 'winesteen'. So perhaps the pronunciation of the latter syllable makes German origin diphthongs confusing.
Or the Steven Soderbergh movie 'Kafka'
Re:Actor system for the JVM developed by Electronic Arts on Thursday April 28, 2022 @11:22AM (#31193619)
It's an interesting idea; not having to stash messages in the actor implementation when doing an async call. I did a little experiment what that could look like using Akka and kotlin suspend functions https://github.com/joost-de-vries/akka-kotlin
Re:A Formal Theory of Spaghetti Code on Saturday March 12, 2022 @04:02PM (#30654853)
The need for flags in itself may be a sign of the wrong approach. You create a shared module. But for some cases the handling should be different. Let's pass in a flag or configuration. So somewhere in the shared component it will handle things differently. Oh wait, there's another case. Another flag. Which combinations of flags are meaningful and which aren't? The nearest improvement is to put all the cases in an enumeration. But wait it's not one 'dimension'. Let's have two enumerations. And the extreme end point is that your shared module has a full blown DSL for the parameters it receives. Or even an interpreter. The other solution that is often more understandable and debuggable in the long run is to not have the shared module call specific code for cases. But to have specific code pull in shared commonalities. No need for flags.
Re:APL in its modern state (2020) on Wednesday October 20, 2021 @11:59AM (#28932316)
Obviously this is relevant to machine learning and data analytics. On github: https://github.com/f5devcentral/shapeRank
Re:APL in its modern state (2020) on Wednesday October 20, 2021 @09:01AM (#28930128)
Gilad Bracha is working on Shaperank. An APL inspired language for reactively calculating with multi dimensional arrays. Ie vectors and matrices. https://twitter.com/Gilad_Bracha/status/1450149734325256193
Re:UK to depart from GDPR on Friday March 12, 2021 @11:47AM (#26437735)
Are you in the EU? I'm a developer in the EU and that is patently not true. Developers have to have mechanisms in place to delete gdpr data when required and not store data that's not required for you goals. In my experience gdpr puts a real and meaningful curb on the strong impetus to gather everything and sell it.
Re:TV detector vans once prowled the streets of England on Tuesday January 19, 2021 @11:51AM (#25835391)
In 1969 the national TV news broadcast in the Netherlands reported that inspectors would be driving through the streets to catch people who hadn't paid their license fee. "Surely people won't be wrapping their tvs in aluminium foil. So we'll catch them!" Aluminium foil was sold out the next day. The date was april 1st.

https://nl.wikipedia.org/wiki/1_aprilgrap#Jaren_60

Re:Event Sourcing (2017) on Thursday January 02, 2020 @10:41AM (#21936261)
Your word of caution is important. For some projects it's not initially clear what the right data model and bounded contexts are. And for some projects it's just overhead. But the converse is also true: for some projects/systems it turns out that it being events first is the _only_ way for it to work. I've encountered that the last few years with systems in logistics that show an integral view across parties.

The way we approached that is that we started with a standard system and refactored to event processing approach when the decomposition into bounded contexts was clear.

So in that sense it's similar to the right way of approaching microservices: start out with a 'monolith' that you split up.

Re:Typesafe Error Handling in Kotlin on Wednesday December 18, 2019 @08:21AM (#21824494)
When designing C# Anders Heljsberg decided against following Java's checked exceptions. You can find his argument against in the interview from 2003 https://www.artima.com/intv/handcuffs.html
Re:Typesafe Error Handling in Kotlin on Tuesday December 17, 2019 @06:43AM (#21812610)
The monadic approach to exceptions like it's done here has the downside of having to encode all your business logic in maps and flatmaps. All the intermediary functions will have to return Try. And all the Try values have to combined into one. That type fidding code feels like cruft that doesn't add much value.

And I say that having developed in Scala for years and years.

Of course there's still sometimes when you want processing of other items to proceed, even though this one has failed. And that's where Try is really essential. So that's where we use it only: at the topmost level.

It's only at that top level that we wrap the call in a Try. And that works rather well.

One reason to do it like this is that we want to leverage the design philosophy of Kotlin. And not be writing Scala or Haskell in Kotlin ). And Kotlins philosophy when it comes to exceptions turns out to be: exceptions. Which is apparent in Kotlin coroutines, channels and flows.

) that's also why we try to stay away from Arrow

Re:Kotlin vs. Java on Tuesday December 17, 2019 @02:08AM (#21811362)
I've developed in Scala for 5 yrs, last yr in Kotlin. Scala spearheaded from 2007 a lot of features that nowadays are the norm for statically typed programming languages. Odersky is a visionary imo. For a while I experienced Kotlin as Scala--. (No pattern matching?!? ) A bit later I discerned where Kotlin is treading its own path. The biggest things for me are: non monadic approach to async. Which works really well. And simpler extension functions. I'm looking forward to trying out union types that are coming to Scala.
Re:Verb-Noun vs. Noun-Verb on Thursday October 17, 2019 @02:18AM (#21279400)
I agree. Naming parts of your code is important. An alternative to named local vals is to either use named functions instead of lambdas: people.filter(olderThan50) or (I use Kotlin) use named extension functions: people.countOlderThan50()
Re:How Utrecht Became a Paradise for Cyclists on Saturday July 06, 2019 @08:15AM (#20369259)
As another Utrechter I'm really impressed with the large bicycle garages on either side of the new railway station. It really makes cycling from and to the station a great experience. There are quite a few grand new railway stations that have been built in the NL: Rotterdam central station, Utrecht central station, Arnhem station. Recently I was moved when I realised that they're the cathedrals of our time. Shared architectural spaces that are big communal efforts and will be of great value for all for decades to come.
Re:Java 12 on Wednesday March 20, 2019 @06:19AM (#19440626)
I find checked exceptions interesting. They happen to be the only example of an effect system in a mainstream language. Anders Hejlsberg formulated the main argument against them here [1] Basically the problem is that checked exceptions are infectious and intermediary code needs to annotate all the exceptions of code that it calls. Which is a chore. Lucas Rytz states in his PhD thesis [2] that the problem is not wich checked exceptions themselves, but that in the java implementation 'not mentioning an exception means if won't happen'. He proposes a system where the default is 'any exception' and being able to turn it off with a compiler flag. And states that the developer experience of that would be much better. This may become possible in Dotty Scala using the effect system based on implicit functions. But that's in 'proposed' status.

[1]https://www.artima.com/intv/handcuffs.html [2]https://lrytz.github.io/pubsTalks/ the link to his thesis doesn't work anymore. I cherry pick some of it in my talk for a Scala meetup in Utrecht https://www.slideshare.net/yoozd/effect-systems-in-scala-bey...

Re:Ask HN: Which books have made you introspect? on Saturday May 12, 2018 @09:47AM (#17054052)
Johan Goudsblom - Nihilism and Culture
Typefying Hemingway with "bells, balls and bulls" is pretty funny.
Re:Redux – Not Dead Yet on Wednesday April 25, 2018 @03:37AM (#16919298)
We've been using mobx-state-tree too. What I like is that it's easier to gain an understanding of the moving parts of my application; how actions, derived data and data work together. On the other hand the support for Typescript is a bit clunky and leads to slow compilation. Mitigating the compile time leads to a bit of boiler plate.
Re:Redux – Not Dead Yet on Wednesday April 25, 2018 @03:30AM (#16919273)

Older »