• 1 Post
  • 553 Comments
Joined 2 years ago
cake
Cake day: September 24th, 2023

help-circle










  • Yeah good luck with that. The righteous left doesn’t want empathetic coexistence with alternative views any more than the immoral right does.

    DHH has fairly normal right wing views. Nobody has been able to point me to anything so objectionable that should mean he is excluded from the community. The worst I could find is that he thinks it would be better if London was predominantly native British, which I don’t think is an out-there idea.

    These inclusive communities have to learn to be more actually inclusive. It’s ok to ban him if he’s harassing people due to their political views in the Ruby community, but it looks like all he did was post some moderately right-wing views on his blog.

    Not going to hold my breath though.

    I don’t know anything about the Hyprland guy but I wouldn’t be surprised if it’s a similar story.








  • I would say:

    1. Just practice, do projects. Also if you can work on projects with other people because you’ll read a lot of bad code and learn how not to do things (hopefully).

    2. Learn lots of programming languages. They often have different and interesting ways of doing things that can teach you lessons that you can bring to any language. For example Haskell will teach you the benefit of keeping functions pure (and also the costs!).

    If you only know Python I would recommend:

    1. Learn Python with type hints. Run Pyright (don’t use mypy; it sucks) on your project and get it to pass.

    2. Go is probably a sensible next step. Very quick to learn but you’ll start to learn about proper static typing, multithreading, build tools (Go has the best tooling too so unfortunately it’s all downhill from here…), and you can easily build native executables that aren’t dog slow.

    3. C++ or Rust. Big step up but these languages (especially C++) will teach you about how computers actually work. Pointers, memory layouts, segfaults (in C++). They also let you write what we’re now calling “foundational software” (formerly “systems software” but that was too vague a term).

    4. Optionally, if you want to go a bit niche, one of the functional programming languages like Haskell or OCaml. I’d probably say OCaml because it’s way easier (it doesn’t force everything to be pure). I don’t really like OCaml so I wouldn’t spend too much time on this but it has lots of interesting ideas.

    5. Final boss is probably a dependently typed language like Lean or Idris. Pretty hardcore and not really of much practical use it you aren’t writing software that Must Not Fail Ever. You’ll learn loads about type systems though.

    Also read programming articles on Hacker News.