• 0 Posts
  • 5 Comments
Joined 2 years ago
cake
Cake day: June 14th, 2023

help-circle
  • I’m not sure about this… the build systems I work with are either so complex that something like cmake gets used because that way we can support multiple build systems on different platforms without maintaining five different projects, or they are so simple that it frankly doesn’t matter whether it’s make or something else.

    And in the former case, i.e. the only case where I even care what tool we use, what I care about the most is speed, so I would want something like ninja instead of make (which cmake conveniently supports). I don’t want to micro-optimize by doing everything myself with redo.


  • It doesn’t seem to be based on petroleum, since they’re explicitly comparing it to petroleum-based plastics…

    There also are other non-petroleum based plastics that dissolve in water. This part is not new. E.g. polyvinyl alcohol is used widely.

    What’s new about this one is that it specifically needs salt to dissolve and they claim it’s otherwise relatively sturdy. So maybe it could be used instead of pet bottles for drinks? Or maybe they’re not quite there yet but it’s a new step in that direction…




  • IMHO, LISP is ok for theoretical fundamentals but it won’t necessarily get you a practical understanding of how computers work. Functional languages are more like how mathematicians wish computers worked. All programming languages are abstractions, but functional languages abstract away how the underlying hardware works in ways that procedural languages don’t.

    And Java is pretty useful if you want to get a job but if you don’t want that, then there are less painful options. The difference to Python is mostly that Java often feels like it was intentionally made annoying to use. But it’s a pretty high level language, I wouldn’t call it more fundamental or basic than Python. Java wins on performance but that has nothing to do with how high level it is.

    For practical fundamentals, if you actually want those, I’d recommend starting with microcontrollers and their assembly. Modern CPUs are so complex that learning fundamentals from scratch with assembly is quite difficult. But with smaller/older microcontrollers (like PIC or something) it’s both more approachable and more useful. It’s almost a shame that hobbyist microcontroller platforms are pretty advanced now too. But you can move on to C first, you can ignore MicroPython for a while if you want.

    If you want a game way to learn absolute basics, there is a game called Turing Complete. It basically teaches you how to build your own CPU architecture from logic gates. You start with the basics about logic circuits and eventually build a simple CPU, and then another more complex one. I think this actually goes a bit too far in terms of fundamentals, it will take you forever to learn how to even make something write Hello World on a screen. But I guess this is the closest to how I started out. Of course for me the logic part was theory only. And the CPU I eventually learned programming first was a 6502 and not something I designed myself.