harperlee
Why Most Developers Make Algorithms More Complicated Than They Need to Be
A meta-analysis of 3 different notions of software complexity
This marks the completion of a project that took five years of work, six bookwriting professionals, fourteen domain experts, and fifteen public alphas.
This has been, without a doubt, the biggest and most exhausting project I've ever done. The examples in the discarded drafts alone could make a second book. The cursed knowledge I've gained on LaTeX and typography could fill a third (or at least a couple of entertaining blog posts). Self-publishing was simultaneously the worst and best decision I made.
Now excuse me I am going to sleep for a month.The Relatedness and Nestedness of Constraints
> So you can formally prove that your e-commerce refund management logic is correct, except for proving that you /processed the refund/. You can't even prove anything about recording the refund in your database, say nothing of proving anything about your interactions with your payment processor.
You could say the same thing about the viability of functional programming on a CRUD webapp, but languages like clojure have been used to great effect here. The fact that thera are important, even fundamental, bits that you cannot verify, doesn't take out value from the fact that you can eliminate whole dimensions of issues.
Price is also a factor here!
The reason enterprise AI is stuck
That being said, I do agree it is a legit thought (and moreso, completely on point in the subthread discussing downsides), and that it shouldn't be downvoted.
The simple humanity in this candid description brought a small tear to my eyes. I'd say that the classical approach to this is a dry, clinical description of a depression stage, or a description of a how and not a why. Very welcomed in the age of AI slop!
Now, an idea: HN is always complaining that an ipad (or any other tablet) is a consumption device, as it is not designed to be used with keyboard/mouse. Do any of you know if there is an app where you can write APL with a stylus, and has the ability to evaluate expression on the fly, similar to a repl? That would be an awesome thing to do.
I'm not against the considerations of the article regarding the user and its state of mind, but please do add as much technical detail as possible!
Even if an error message is a cryptic error code, that's better than a "Something went wrong" message. This is not better, or even friendlier, UX. An error code can be referenced, can be searched on the internet, can be passed around on a ticket or on a call... add parameters to your error template, reference the name of the file, the item name that does not respond, the HTTP error code... just give the user some transparency, some agency. Help the client build up a mental model of the error: when / how / why might it be happening.
You'd have to steer the LLM to use the style you want, and not massively overarchitect things though, but that's going to be an issue nonetheless.
The final form of software development
The concept of an accent is broad, but at least part of it you need to learn together with the language, as speaking a non-native language with a thick accent is partly based on the fact that you have yet to learn.
Without being exhaustive, things that might fall into the "speaks with an accent" concept in this thread:
- Prosody. Prosody can vary per region but a distinctly alien prosody to a language is a barrier for the receptor of the message, that expects a given language and a range of prosodies. E.g. as I know french quite well, hearing english with a heavy french accent makes my brain try to understand what's being said as said in french, and interferes a lot.
- Sound shifts for particular phonemes. While some of it might be local to the language in certain registers (idea --> /ide"er"/, three --> /free/), others are clearly issues in the target language pronunciation (eg. japanese people having trouble with the l phoneme, spanish people adding an /e/ sound prior to an s-mobile, or v versus b for spanish people also).
- Connected speech. Where do you end words, how do you omit sounds, etc. Also massive hindrance to understanding.
- Grammar. Alien grammar is a hindrance to communication. You need to learn that. 1. Even if the task is unreasonable, it is good to showcase that the LLM will perform poorly - warning not to be used for diabetes.
2. As it is a probabilistic model, the approach was to execute it multiple times and look at the distribution. They also tried to minimize variance: "All at the lowest randomness setting these models offer.", the post mentions. Yet the variance of the responses is surprising.
3. A multimodal LLM should be in general able to discriminate between crema catalana and a cheese sandwich, and provide a textual, uncalculated range of how much calories the item has (internet is full with tables for calorie counting and things such as this https://fitia.app/calories-nutritional-information/cheese-sandwich-1205647).
4. It is not clear that the "expose" surprised / outraged style is just a communication vehicle or if the author really thought that e.g. LLMs could be hypothetically able to provide confidence estimates.