Preferences

kryptiskt
Joined 10,215 karma
Developer from Sweden. Idris maintainer. Likes Haskell, Idris, Factor, Rust and Chez Scheme. @kryptiskt on Twitter.

Github: https://github.com/melted/ https://write.as/niklas


  1. He's an anti-vaxxer.
  2. On the other hand, if you write a substantial amount of code in a niche languages, the LLMs will pick up your coding style as it's in a sizable chunk of the training corpus.
  3. If anything is shocking it is how modern readers have to be spoon fed bullet points and can't handle the slightest complexity of composition.
  4. But in a typical FOSS scenario, your decision to open source the code and Tyson Foods decision to use it are decoupled. You don't know who all the potential users are when you open source it, so you can't consider all the concrete cases and make sure that the license reflects them. In the same way Tyson Foods isn't going to contact all the creators of libraries they want to use and ask if their concrete use case is in line with the creator's ethics.
  5. > I have never seen a case where it mattered which vendor my JVM was coming from

    As I understand it, Oracle's JVMs only get free updates for a limited time. If you keep using them after that you risk getting caught in a license audit.

  6. But that is an unanswerable question which depends on how the data structure is used. The reasonable thing is to calculate the cost for the operations separately and let whoever uses the algorithms figure out what that means for their use case.
  7. Math isn't concerned with what exists or not, circles doesn't exist in reality either. And infinity is useful, if we didn't have it we would need to reinvent it in a clumsier form, like "the limit if x goes to a very, very big number, bigger than anything you could name".
  8. Google doesn't care about right and wrong, only what they can get away with. They don't deserve to be treated as a moral subject by you, because they will not reciprocate. You're free to be as shameless as they are in your interactions with them if you can get away with it, you're just playing the game at the same level as they are.

    I'm paying for Youtube Premium, but its a plain utilitarian decision after they started hassling me with captchas and intimidations that someone at my IP address was using an ad blocker. So yeah, I'm paying protection money. But I don't feel in the least good about it.

  9. > Using a tool knowing its modus operandi is not "pretending the problems don't exist".

    I said that in response to the hostility ("crap on Go") towards the article. If such articles aren't written, how will newbies learn about the pitfalls in the first place?

  10. I'm knee deep in clang at the moment and I'm so fed up with real compiler engineering. Give me Chez Scheme and the nanopass compiler any day. That is so much better than the big ball of mud that goes into a "real" compiler.
  11. To me it looks like simple, clear examples of potential issues. It's unfortunate to frame that as "crapping on Go", how are new Go programmers going to learn about the pitfalls if all discussion of them are seen as hostility?

    Like, rightly or wrongly, Go chose pervasive mutability and shared memory, it inevitably comes with drawbacks. Pretending they don't exist doesn't make them go away.

  12. It's not at all strange, Python and OCaml are mature and polished and they still have tackled the same issue very recently.
  13. The big news here is that Racket now can run threads in parallel. While there were ways to get parallelism before (like places), this is much more lightweight and familiar. Anything that expands the areas where Racket is viable is good news to me since I like writing stuff in Racket.
  14. > Sadly, Forth, much as I love it and have done since I got my hands on a Jupiter Ace when I was about 9 or 10 years old, has not been a success, and probably for the same reasons as Lisp.

    I don't like when anything short of taking over the world counts as failure. Forth has been an enormous success! Forth has visited asteroids, run factories and booted millions of computers. It has done well, and if it's heading off into the sunset it should be remembered for what it did rather than what it didn't do. I would be beyond thrilled if my language did a tenth as well as Forth.

  15. -let is a diminutive, signifying something small. Like in piglet or booklet.
  16. The NetBSD thing is becoming true again as Linux distros and the kernel are lately on a tear of purging old and niche architectures.
  17. I've programmed C++ for decades and I believe all sane C++ code styles disallow multiple inheritance (possibly excepting pure abstract classes which are nothing but interfaces). I certainly haven't encountered any for a long time even in the OO-heavy code bases I've worked with.
  18. One of the problems is that you might not use the target language at the equivalent level of abstraction. For example, C is a popular target language, but the C emitted may be very unidiomatic and nothing like human consumable code, it's not all that unusual that a language compiles all code to one big C function where the function calls in the language are jumps, which is a way to get around the limitations of the C calling conventions and stack.

    The same thing applies to compilation to Javascript, the resulting code may use a tiny subset of the language.

    I don't like the word transpiler, because there is nothing useful about the distinction (unless you count people using it to denigrate compilers that doesn't target traditional machine code).

    I could see the case of using it as a name when the transformation is reversible, like you could probably turn Javascript back into Coffeescript.

  19. I once worked at a bookmaker with millions of customers where they had extreme reliability demands during very popular events, since any bets that the punters couldn't place during live betting was lost money. They had one massive server with a big pipe and an identical hot spare in another location. It worked very well for them. That was a decade ago, you can get even bigger servers these days, there's a lot of room for scaling without needing to go beyond one machine.
  20. The Old New Thing is very much engineering. Any contemporary engineers who don't think they have anything to learn from the experience of the past as recounted in the blog are doomed to repeat the same missteps.

    And much as one would hope that Raymond Chen's blogging is holding up any important Microsoft initiatives, I very much doubt that it's much of a distraction for a megacorporation.

This user hasn’t submitted anything.