Recent submissions

Comment · 1 year ago
The Honey discount browser extension, owned by PayPal, allegedly scams not only its users, but the influencers who promote it.
Comment · 2 years ago
This phenomenon consistently happened to my college bus system, but on an even worse scale. The main bus line did a loop around campus, which took ~20 min to complete and buses scheduled every 5 minutes. In reality, you got a caravan of 4 busses arriving every 20 minutes, with the first one totally full and the last practically empty.
Comment · 2 years ago
Tesla owner here. If you have the Tesla app installed on your phone, you can "share" addresses from map apps to it and it will auto-sync them to your car. So the workflow is open calendar on your phone, click on location for appointment, open with Tesla app. It's not quite as seamless as android auto, but much better than having to type everything in manually.
Comment · 3 years ago
This is mostly true, but sometimes the cost of evaluating the condition itself is non-trivial. For example, if a and b are complex objects, even something as trivial as `if (a.equals(b)) ...` might take a relatively long time if the compiler/runtime can't prove a and b won't be modified between calls. In the worst case, a and b only differ in the last field checked by the equality method, and contain giant collections of some sort that must be iterated recursively to check equality.
Comment · 3 years ago
They stopped just fine, but their stopping distance was twice as far, and more like 3x in the rain
Comment · 3 years ago
> But 700x28 is really the maximum tire size you can possibly fit with rim brakes

This is patently false. Mountain bikes have been running tires over twice as wide on rim brakes for decades. I had one growing up in the 90s. Perhaps you mean caliper brakes? Even if so, I currently run 700x28c on my 10yo racing bike, I don't think I'd have any trouble going up a size or two.

Comment · 3 years ago
I take it you've never actually cared for small children. One of the most obvious problems they solve is the ability to go outside earshot of the nursery - doesn't matter if the kid cries if you can't hear them! Besides that, kids often cry temporarily and then go back to sleep like 30 seconds later. It's very convenient to be able to detect if that's likely to be the case without having to walk across the house and open their door.
Comment · 3 years ago
> This is one category of problem that should be solved through legislation, but I doubt that should such laws be passed, that they would be actually enforced against bad actors.

IANAL, but I would think this would be covered by existing false advertising laws, and maybe breach of contract. They advertised a product as coming with features x, y, and z; people paid for those features; and then the company unilaterally disabled those features. So now features x, y, and z no longer work on the product as advertised. I'd be surprised if we don't see class action lawsuits for this.

Comment · 3 years ago
As a parent of two small kids, I just did an old cell phone running tinycam + generic ip webcam (amcrest makes a bunch of good ones). The dedicated cell phone is mostly for nannies/babysitters, I just have tinycam installed on my own. The only downside is it only works on your local network, but if you really care about that you can setup a home VPN. That last one is beyond the capability of the average consumer though.
Comment · 3 years ago
If anyone wants this capability, the chrome extension uBlacklist ( https://chrome.google.com/webstore/detail/ublacklist/pncfbmi... ) provides it. I've found it very useful for removing github scraper sites from search results. Whenever you see a garbage result in a google search, you just click "Block this site" and it's gone forever.
Comment · 4 years ago
Sorry, I didn't read your link carefully enough. I stand corrected, that does indeed seem to be the only reasonable interpretation. That said, this clause only exists in this particular OSL license, so it only applies to software distributed under it. Some quick googling indicates that OSL is 20 years old, and OSL v3 (the latest version), is 17. Despite that, it doesn't appear to have any significant usage. PyPi, for example, lists 10 software packages distributed under it [1], out of 387,658 total. So it certainly doesn't seem like a practical solution to the problem.

I suspect the reason that nobody uses it is due to its toxicity - it taints anything that transitively uses it in any practical way. This leads to all sorts of nonsensical violations. For example, say you write a document in a word processor that uses a leftpad lib distributed under this license. Then you email that document to someone else. Congratulations, you're now in violation of the license - you distributed a "derivative work" of the leftpad lib to someone "other than you" over a "network".

The terms of this license are so restrictive and cumbersome as to make it basically useless. Anything you publish under it can't effectively be used by the vast majority of the people who would want to use it, at which point you might as well not publish your work at all. I certainly wouldn't view this as a panacea for solving the SaaS-wrapping-OS-code problem.

[1] https://pypi.org/search/?c=License+%3A%3A+OSI+Approved+%3A%3...

Comment · 4 years ago
My interpretation of that clause is it applies to distributing code over a network. The most common example of this is serving javascript to a web browser. I'm pretty sure putting an API in front of a server that happens to run open source software doesn't count as "distribution", which is what we're talking about here with SAAS providers and Akka. If it does, then every site that is backed by servers running linux and not distributing their GPL license to clients is also in violation.
Comment · 4 years ago
I didn't say it wasn't a problem - if I could wave a magic wand and get rid of the concept of null in Java I would. That isn't what we're discussing though - you said, "The biggest thing missing in Java is an answer for the billion-dollar mistake [- NPEs]". I've provided what I consider to be at least a partial answer. If you care about avoiding NPEs in Java, it's a pretty good solution.

Realistically, null is so fundamental to the Java language that removing it would arguably result in a different language entirely. Certainly all existing java codebases would have to be refactored. The same goes for exceptions. That's obviously not an option when one of your primary selling points is backwards compatibility, so I'm not really sure what kind of solution you're looking for here.

The answer to your SO link notwithstanding, I would argue the @lombok.NonNull is at least one of the best options, as it actually generates a null check that is executed at runtime. This makes it more powerful than most of the other solutions.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton