I’m a staff software engineer at Sunrun, the USA’s largest residential solar installer.

I mostly work with kotlin, but also java, python, ruby, javascript, typescript. My hobby is picking up new hobbies. Currently bird photography and camping.

  • 0 Posts
  • 31 Comments
Joined 1 year ago
cake
Cake day: June 6th, 2023

help-circle

  • Does type inference provide a practical benefit to you beyond saving you some keystrokes?

    it’s more readable! like, that’s literally the whole point. It’s more readable and you don’t have to care about a type unless you want or need to.

    What tools do you use for code review? Do you do them in GitHub/gitlab/Bitbucket or are you pulling every code review directly into your IDE? How frequently do you do code reviews?

    I use GitHub and Intellij. I do code reviews daily, I’m one of two staff software engineers on my team. I rarely ever need to know the type, and if I do Github is perfect for 90% of use cases, and for the other 10% I literally click the PR button in intellij and open up the pull request that way. It’s dead simple.


  • My response to the article is that you’re sacrificing gains in language because some people use outdated tools. Code has more context than what is just written. Many times you can’t see things in the code unless you dig in, for example responses from a database or key value store, or literally any external api. Type inference in languages that have bad IDE support leads to a bad experience, hence the author’s views on ocaml. But in a language like Kotlin it’s absolutely wonderful. If needed you can provide context, but otherwise the types are always there, you can view them easily if you’re using a decent IDE, and type inference makes the code much more readable in the long run. I would say that a majority of the time, you do not care about the types in any application. You care about the data flow, so having a type system that protects you from mismatched types is much more important that requiring types to be specified.















  • …. That’s not what CSAM is. It’s literally in the name. abuse. CSAM requires abuse of a child. Just like pictures of your kids in the bath isn’t illegal, AI generated content is going to need to be provably linked to abuse in order to meet the definition. I seriously doubt it ever will be. You seem to have a fundamental misunderstanding of the entire situation, overreacted so much so that you might have gotten people in serious legal trouble, and are now trying to justify it because you think that the current solutions aren’t going to protect against CSAM.

    I literally linked a software that does what yours does, but is already used, already proven to work, and also has the benefit of being the backup to the hash based mechanism instead of being the primary mode of filtering.

    Dude, I was trying to be nice how I approached you earlier, but you clearly are unwilling to accept that you have made a massive mistake here, not only by not reading up on the laws, but not even fundamentally understanding the problem space. This is not good software engineering.