HNHacker News
TopNewBestAskShowJobs

jesseschalken

49 karma · joined March 15, 2016

submissionscomments
jesseschalken··on Zig Creator Calls Spade a Spade, Anthropic Blows Smoke
So, no new programming languages until the end of time?
jesseschalken··on My thoughts on the Bun Rust rewrite
Yes, but at least now its memory safe.
jesseschalken··on My thoughts on the Bun Rust rewrite
> The sleight of hand misdirects the reader away from the main way bugs are eliminated: by dedicating engineering resources to it.

Why don't YOU spend the engineering resources to add RAII and a borrow checker instead of blaming your users?

jesseschalken··on Just Use Go
Its absolutely laughable that Gophers act like their language solves concurrency when its actually worse than Java because it has data races. Go added nothing and moved backwards.

The language that actually solves concurrency is Rust, but they will never acknowledge that.

jesseschalken··on Just Use Go
The single executable deployment hasn't been an advantage for a very long time. C# has Native AOT. Java/Kotlin/Scala have GraalVM native-image, plus Kotlin Native and Scala Native.

And of course there is Rust, which compared to Go has better performance, lower memory usage, smaller binaries, safe concurrency, safe resource handling, and a real type system with tagged unions.

The Go team built good tooling around a mediocre language. Now most other languages have caught up, and Gophers are left writing mind numbing `if err != nil` checks with no benefits left to show for it.

jesseschalken··on Just Use Go
Go has plenty of hidden code paths in defer, panic and recover. You can minimise the use of those things, just like in other languages you can minimise use of try-catch in favour of a Result sum type, which is already better than Go's "multiple return that you have to pretend is a sum".
jesseschalken··on DRAM pricing is killing the hobbyist SBC market
Yes, languages with very strong type systems like Rust are incredible when paired with an LLM. Just like chat bots have a calculator as a "tool" because they are not the best at calculation themselves, they need a type system to deterministically validate the safety and cohesion of the code they generate.

Its languages like C that you have to watch out for, because the LLM will gladly say "this is safe!" when its not.

jesseschalken··on When to use Bazel?
It's worth noting that this is the blog of Earthly which is in many ways a Bazel competitor.
jesseschalken··on When to use Bazel?
I migrated a monorepo including C++, Kotlin, Java, TypeScript and Python to Bazel. It's no small feat, and the DX varies widely across languages and platforms, but it's absolutely worth it. `bazel test //...` from a fresh clone builds & tests everything including gRPC/protobuf code generation, custom code generation, downloading packages, toolchains and linters, dependencies between langs, test suites with coverage across multiple languages.

Integration testing is a breeze through data dependencies. The reproducibility guarantees means we can reference container image SHAs in our Terraform and if the image didn't change the deploy is a no-op.

Bazel is an outstanding build system that handily solves a lot of practical problems in software engineering. Not just "at scale". Practical problems at any scale.

jesseschalken··on Ask HN: Can Firefox be revived?
This is the ideal situation. Google already lacks control over all the Chromium forks, like Brave, Opera, Edge and ungoogled-chromium. They accept upstream patches voluntarily, and they can and do reject anything they disagree with. The shadier Google gets the more forks will reject upstream and instead share patches among themselves.

As long as Chromium is open source I don't see what there is to worry about. We literally have the code.

There's a lot to be gained by standardizing on Chromium as well. New features, improvements and optimizations only have to be implemented once instead of thrice, and developers only have to deal with bugs in one implementation instead of the union of bugs in all three.

jesseschalken··on Thinking About Glue Code
The industry already has solutions for this in the form of schema and interface definitions that generate glue code for you:

- gRPC, protocol bufffers

- OpenAPI, Swagger, JSON Schema

- Apache Thrift

- Apache Avro

- Cap'n Proto

- IDL, Microsoft IDL, Web IDL

- etc

jesseschalken··on Linux (In)Security
How is Windows any better? Last I checked installing things in Windows was still a matter of downloading random .exes from the Internet and running them as administrator, so all bets are off.

And there's no sandboxing at runtime either, everything has permission to do whatever the user can do.

jesseschalken··on Covid-19: death rate is 0.66% and increases with age, study estimates
Most likely lack of data. NYC has data with deaths vs comorbidity but I haven't seen it for anywhere else: https://www1.nyc.gov/assets/doh/downloads/pdf/imm/covid-19-d...
jesseschalken··on Same-Site Cookies by Default
What did you have to whitelist? I've had third party cookies disabled for a few weeks and it seems to work.
jesseschalken··on Typed Properties in PHP 7.4
It's also great at hiding bugs where you mistyped the variable name passed to isset(). ;)
jesseschalken··on Typed Properties in PHP 7.4
Although isset() still returns false for null ;)
jesseschalken··on Typed Properties in PHP 7.4
An "Any type" is optional typing if you don't need to downcast it in order to use it, like the "any" type in TypeScript and Flow.

If the "Any" type is just a top type but you have to downcast it to use it, like in Kotlin, then it's not considered optional typing, since you still have to talk about types ;).

jesseschalken··on Typed Properties in PHP 7.4
> All in all in 20 years we'll all be writing ml ?

If everything goes well, yes. Everything is moving towards static typing with local inference.

jesseschalken··on Adobe shambles – Why subscription software should be illegal
> I don't like the deal company X is offering me so the government should ban it.
jesseschalken··on Love It or Hate It, Java Continues to Evolve
You're right. Java is a decent language with a decent type system (bar the lack of null safety and some other quirks). It's all the annotations and reflection and XML and magic that creates most of the pain, and that's the fault of the library and framework developers, not Java itself.
jesseschalken··on Can we all stop using Medium now?
> I want them all to have consistent like/comment mechanics. As a reader, sorry, I just don’t care about your personal brand or platform.

This is an important point. There is a small mental burden users face every time they see a new website and have to understand how it has been laid out and where things are and what they mean. Medium gives users "just the content" in the same familiar layout to streamline the process.

Not to mention the sites that have silly disorienting scrolling effects, with things moving around while they slowly load, or are barely even functional on mobile. Although these tend not to be problems for the average blog.

jesseschalken··on What We’ve Built Is a Computational Language
He seems to operate on a very narrow definition of what a programming language is, as if symbolic languages and homoiconic languages and declarative languages and logic langauges don't already exist.

Really any language used to specify a computation is a programming language, and so "computational language" and "programming language" are synonymous. Wolfram certainly knows this. His post is just marketing.

jesseschalken··on What We’ve Built Is a Computational Language
Why does he keep using the word "computational" like it's some unique thing and not literally the same thing as programming?
jesseschalken··on My Roommate's Tik Tok Fame Made My Life Hell (2018)
Presumably he couldn't afford the apartment by himself,
jesseschalken··on Dotfile madness
You're never going to be able to stop developers dumping their shit in ~/. The best you can do is create your own directory like ~/Data to put your stuff in. Since programs don't already know about it, it will stay clean.
jesseschalken··on Was ditching the headphone jack a good idea?
The headphone jack is one of the last remaining analog connections in consumer electronics and its death is long overdue.
jesseschalken··on Google Is Trying Too Hard, or Not Hard Enough, to Diversify
I've been in relationships with 2 women who could code, but who absolutely didn't want to do that as a job. (They formed these ideas well before they met me.) I also taught 100 level Computer Science courses at University, and encountered many young women with similar attitudes. There is something going on in our culture which makes women not want to code as a job.

How do you know that what they want is a consequence of our culture? Did they say so?

For example, if they don't want to because it's just not enjoyable or interesting enough, then I think that's okay (provided it's being presented properly). It is okay if a person is not interested in a type of work. It doesn't necessarily imply anything wrong with either.

jesseschalken··on Jonathan Oxer Needs a Job
Just doesn't make enough money (according to a comment of his on that post).
jesseschalken··on Flowtype 0.30 adds support for Windows
It is. We have a large codebase we would like to migrate to Hack, but we also have a lot of developers who use Windows and the current experience with needing to boot a virtual machine just to check types doesn't really cut it.
jesseschalken··on Flowtype 0.30 adds support for Windows
Try Atom+Nuclide. With Flow now supported on Windows, it might work.
Page 1 of 2Next →