Just installed my plug-and-play panel this week in my small garden. 400W so not enough to power all my appliances. But I'm happy that I'm at least a little hedged against the negative geopolitical developments we're going through.
I feel like all new AI tools only integrate with GitHub though, like Claude Code. We're actually thinking of moving from GitLab to GitHub, just for this reason.
We use it extensively in our codebase. We started without any types, and added Sorbet later. It's similar to Typescript as that you can gradually sparkle your code with types, building up the typing coverage over time.
I just completed a big refactoring. We have a good suite of tests. But Sorbet has provided an added layer of confidence. Especially when it comes to the treatment of null values. Sorbet will raise an error if you try to call a method on an object that may be null. So it forces you to think through: what should happen if the object is null?
So the tests combined with Sorbet typechecking made that we could just almost blindly deploy refactoring after refactoring, with only a handful of bugs for several 1000s of lines of code changed.
"Every industry that has enough political power to utilise the state will seek to control entry." - George Stigler, Nobel prize winner in Economics, and worked extensively on regulatory capture
This explains why BigTech supports regulation. It distorts the free market by increasing the barriers to entry for new, innovative AI companies.
We adopted Sorbet for our codebase a couple of months ago, and I couldn't be happier with that choice. Sure, it's not as powerful as Typescript (e.g. no way to specify a union of constants like `type Result = 'ok' | 'error'`), but it's worth it just for the nil-check alone. And it's great for documenting too. It's easy to forget what type a method expects for its parameters.
I remember visiting this underground city a couple of years back, and thinking, what were these people so scared off in the outside world that led them to build this? It's an incredible feat, I think even with today's tools, let alone back in the day. Very intriguing.
Same. They seem to be one of the few airlines that are well run. Maybe cause the founder is still CEO, I don't know.
I also respect their honesty. They tell you "we get you from A to B the cheapest way", no more. Traditional airlines' ads are all about traveling in luxury, which is extremely dishonest considering 99% of their travelers experience a not-far-from-Ryanair level of comfort.
For sure. As the only developer in the team, it saves me a bunch of devops time that I can instead dedicate on the business, while we're trying to get product-market fit.
I'm sure that there are limitations for larger teams or if you have specific requirements. But I think it's a great choice if you're a small team and/or your application is more or less run-of-the-mill from a technical point of view.
In my current work, which a GraphQL backend API, I've identified only two use cases for unit tests:
- complex pure functions. For instance, I have a street address "cleaner". The input is an unclean street address (weird capitalisation and so forth) and ouputs a clean address. Unit tests are perfect here because they're fast, and it's an isolated piece of logic that has no side-effects (no writing to DB or network request).
- wrappers around third-party libraries. Yes, in theory you're supposed to trust that a library will respect its API unless major version changes etc. In practice, it's not the case. And I'm also lazy and don't want to read all the release notes of all the libraries when doing updates. By wrapping a utility function from a third-party library and unit testing that function, I can have real confidence that the library still works in the way I'm expecting it to work. And it fails loudly when it no longer does.
Outside of these, I only have end-to-end tests that test the whole stack: send a GraphQL query and check that the resulting JSON is what I expect.
Maybe I'm wrong, but isn't California one of the more progressive states with a stronger social safety net than say Arkansas or Alabama? So isn't that counter to your argument?