• 0 Posts
  • 3 Comments
Joined 3 months ago
cake
Cake day: June 5th, 2025

help-circle
  • Rails, ActiveSupport I believe, adds this to integers.

    But I think one of the interesting things about it is the open nature of classes in ruby.

    The thing that makes it possible is that you can open classes in user space and just add stuff to them. It’s a neat feature that few languages have.

    The feature, like most features, has pros and cons. On the pro side it makes making DSLs and helpers like this pretty trivial. You can make really expressive ideas and apis because you can change how things you didn’t write work.

    On the con side, it’s harder to discover and the methods of an object being the result of runtime mixins can make things hard to reason about.

    Having worked in both python and ruby and now elixir for the past couple of years, it’s interesting to see how the languages are similar and different.

    There’s an elegant beauty to ruby’s everything is an object and all method calls are messages concept. Python has always struck me as less elegant but the upside is that it can model different ideas in different ways and doesn’t have to try to make them all look like the one central idea.

    Even though I find the model behind ruby more pleasing to think about, I tend to enjoy python more due to it being more explicit and easier to reason about. Although that’s pretty subjective.

    In any case I think the language feature of open classes is a fascinating one and one of the really different parts of ruby that really distinguishes it from python, for better or worse.


  • The most amazing thing about vibe coding is that in my 20 odd years of professional programming the thing I’ve had to beg and plead for the most was code reviews.

    Everyone loves writing code, no one it seems much enjoyed reading other people’s code.

    Somehow though vibe coding (and the other LLM guided coding) has made people go “I’ll skip the part where I write code, let an LLM generate a bunch of code that I’ll review”

    Either people have fundamentally changed, unlikely, or there’s just a lot more people that are willing to skim over a pile of autogenerated code and go “yea, I’m sure it’s fine” and open a PR


  • The difficult part is going to be that new engineers are not generally who people think about to unfuck code. Even before the LLMs junior engineers are generally the people that fuck things up.

    It’s through fucking lots of stuff up and unfucking that stuff up and learning how not to fuck things up in the first place that you go from being a junior engineer to a more senior engineer. Until you land in a lofty position like staff engineer and your job is mostly to listen to how people want to fuck everything up and go “maybe let’s try this other way that won’t fuck everything up instead”

    Tell your family member to network, that’s the best way to get a job. There are discord servers for every programming language and most projects. Contribute to open source projects and get to know the people.

    Build things, write code, open source it on GitHub.

    Drill on leet code questions, they aren’t super useful, but in any interview at least part of the assessment is going to be how well they can do on those.

    There are still plenty of places hiring. AI has just made it so that most senior engineers have access to a junior engineer level programmer that they can give tasks to at all time, the AI. So anything you can do to stand out is an advantage.