Hacker Newsnew | past | comments | ask | show | jobs | submit | raspasov's commentslogin

According to that interpretation, ~24% is one of the lowest ever.

https://www.lisep.org/tru

(I have not gone down the rabbit hole to understand how they achieve that 24% number)


Workforce participation is different than unemployment. Didn't click the link but I suspect that's the case with your 24%


24% sounds correct to me. Many of my friend who completed phd are currently unemployed .... And, some of them started doing random job like uber to make a living.

If government don't step up and regulate outsourcing like 100% tax, big problems are coming up.


24.9% is damn close to the 24.8% average over the ast 25 years, for the thing it's measuring-- jobless, people working part-time or involuntarily, and workers earning less than $26,000. Since 2000, it's been over 30% for more years than it's been under 24%.


If you're doing a job you aren't unemployed. Underemployment is measured separately


California has about 30 millions cars. $1B total fuel savings are … $33 per year, for a whooping less than $3 of fuel savings per car, per month. Thing of all the places you can go with that extra half a gallon, all the work you can accomplish with that large SBUX coffee. It’s all totally worth it.


If the tires wear out even 10% sooner, the entire environmental case goes out the window. I had eco tires on my Volt and they never lasted as long as they were supposed to.


Your comment perfectly encapsulates the American thought process (I’m coming from the universal healthcare discussion on the front page)

You post numbers that this will save $1B in fuel. Tons of co2 equal to taking 400,000 cars off the road.

Unquestionably good for society, immensely good for future generations, but you ridicule it because it doesn’t benefit YOU enough right now.

This is why the US doesn’t have nice things. You really can’t see past yourself.


It absolutely has good aspects, no doubt, but nothing about this is unquestionable. It’s significantly grayer due to all kinds of second order effects, even if you really believe in the problem and want to solve it.

Depends on how many more accidents worse-gripping tires cause that result in more totaled vehicles that require replacement and what people replace them with.

Depends on how much faster people have to replace these tires due to wear resulting in more baseline tire production.

Depends on how many more one-off flat tires people get that require getting a whole new set of 4 matched tires so their diffs aren’t destroyed.

Depends on whether slightly more efficient tires induce people to drive more on net because they feel like they’re using less gas.

Depends on this does or doesn’t affect how much tire material ends up in the environment and landfills.

There are so many levers one can pull on the “put less CO2 into the atmosphere” problem that it’s not at all clear that this one specific policy is worth it.

There’s also plenty of ways to make your point without stereotyping.


You have started out with the assumption that these higher efficiency tires are worse gripping. However, the article states that the manufacturer-supplied tires are generally more efficient (in order to get the milage numbers they advertise), and that it is the third-party replacements that are worse.

So either the manufacturer-supplied originals are more dangerous than replacement tires, or your argument is missing something.

The rest of your quasi-questions all would need to be evaluated to see if they are true or not... and one would hope that at least some of them were evaluated when creating the policy. You seem to be assuming they were not, without any real evidence one way or the other.


> So either the manufacturer-supplied originals are more dangerous than replacement tires

There's 3 main components to tire performance: efficiency, grip and longevity. OEM tires optimize for the first. They can compromise on grip and longevity. Most often I've experienced is the latter. So yes, OEM tires are "worse" in some aspects as replacements.


"the assumption that higher efficiency tires are worse gripping" This is fact not assumption. Ironically you are the one who made an assumption here. People who don't understand a topic should not attempt to regulate it based on assumptions.


> You have started out with the assumption that these higher efficiency tires are worse gripping.

Generally speaking, with tires you are trading off wear, grip, efficiency, and cost, among other things (like off-road durability which is irrelevant here). When you make a tire roll more efficiently, it tends to make it perform worse at gripping the road in all sorts of conditions, especially adverse conditions like rain and snow. I am speaking in generalities because there are thousands of tires from dozens of manufacturers and this is not a law of physics, but it is generally true in practice. Tires today are worlds better than tires of 50 years ago but this is still true to a first approximation.

So yes, I am making that assumption.

> So either the manufacturer-supplied originals are more dangerous than replacement tires, or your argument is missing something.

The tires that come on your car from the factory are optimized for one thing and one thing only: for the OEM to sell you the car.

OEM tires are famously (infamously?) often worse in terms of wear and grip than the equivalent tire available aftermarket because they are cheaper to produce (bringing down sticker price), roll more efficiently (helping them hit EPA fuel economy numbers), and quieter on test drives. Having a cheaper tire that is quieter on test drives and hits EPA numbers that are competitive with comparable models helps sell the car.

Higher treadwear doesn't help the OEM sell the car because your test drive isn't long enough to drive the car for 60,000 miles let alone 600. Higher grip doesn't either, as average buyers won't notice tire grip on a 15 minute drive on dry pavement and enthusiasts will replace the tires anyway. With the exception of certain enthusiast vehicles, if running a cheaper tire from the factory gets the price of the car from $40,000 to $39,950, the OEM will do it, even if the buyer has to replace the tire 20,000 miles sooner and it doesn't grip as well on dry pavement or in rain or snow.

> The rest of your quasi-questions all would need to be evaluated to see if they are true or not... and one would hope that at least some of them were evaluated when creating the policy. You seem to be assuming they were not, without any real evidence one way or the other.

I'm not sure what makes my questions "quasi", I'm just having a friendly conversation about tires on the internet.

There's almost nothing in human history with a worse record of causing unintended consequences than government regulation, even well-intentioned (cookie banners?), so I think I say charitably with some basis in historical fact that governments have a spotty record when it comes to understanding and predicting the second-order effects of the regulations they make. I ask my questions with that understanding. And I say all this as someone who is broadly sympathetic to and often in favor of many government regulations that reduce CO2 emissions and make cars more efficient. I enjoy clean air as much as the next person.


These are all valid questions

but:

> Depends on how many more accidents worse-gripping tires cause

The US has an unusually high number of road deaths: https://archive.cdc.gov/www_cdc_gov/media/releases/2016/p070... and a lot of them are preventable. 1% less traction (or what ever it might be) is unlikely to be as bad compared to drink driving or not using seatbelts.


Valid point, I will grant that. It's also entirely possible that accidents due to less grippy tires are not evenly distributed (for example, due to climate or geography) and that slightly worse traction is less of a problem for most of California's urban population in particular.


So you’re saying there are a million factors that could (and arguably should) be researched, documented and actions taken based on facts revealed.

You’re not wrong, but you’re arguing against yourself. The article is EXACTLY the kind of action that comes from research with the goal of improving the status quo, and you don’t like it.

So you actually don’t want any effort to improve things, you just want to poo poo any efforts.


Exactly.

Especially "how many more accidents worse-gripping tires cause that result in more totaled vehicles". Forget about the totaled vehicles.

Worse-gripping tires are guaranteed to cause more deaths, all else equal.


Discount tire estimates 70% of the current tire options will be illegal to sell in CA. Millions of people will be pushed into different tires than they have based on a limited list of options.

Many of those as alternative tires will wear out faster, causing increased particulate pollution and wasting people's money.

Many of those tires will cost more money than they save in gas. The limited options on less common sizes will make tires really expensive for some unfortunate folks.

Some of those tires will have less grip than what people otherwise would have bought, causing some additional number of car accidents. That's money and resources wasted on wrecked cars, not to mention injuries, and potentially even deaths.

But it could save people $3/month on gas according to the optimistic numbers the lobbyists calculated, so consequences be damned, you think everyone who doesn't want this is a selfish jerk.


> Discount tire estimates 70% of the current tire options will be illegal to sell in CA. Millions of people will be pushed into different tires than they have based on a limited list of options.

You say that like it’s a bad thing.

100% of leaded gasoline became illegal. Outcome? Huge health benefits.

100% of lead paint became illegal. Outcome? Huge health benefits.

100% of new vehicles without catalytic converters, air bags, backup cameras , abs, reaction control became illegal. Outcome? Massive health and safety benefits.

The whole point of making the old way of doing something illegal is to force the better way. This is good.


Except there are clear health hazards likely to happen from this change, such as increased tire particulates, and the nominal improvement (co2) is such a diffuse hazard (with limited direct health consequences) that it is likely to get lost in the noise.


Every change to a complex situation will have negative outcomes.

A study was done, and they have clear data to make this decision.

As time moves forward, new studies can be done addressing your concerns, and decisions can be made about addressing those.

Don’t let perfect be the enemy of the good.


lol, clearly you have no experience with California and these types of decisions.


lol, better just give up and accept no improvement then.


The point is, it is no actual improvement.

But then, you likely are fully aware of that eh?


Unfortunately I agree with this.

For example, CA has very strict environment protection laws and many people hate it.

But it's also the reason we get beautiful sky and nature all year round. When I was first landing on US soil in LA in 2015, I saw a layer of light gray smog out of the window. These days it's non-existent.


I live in SF, California. I think the cleaner gasoline laws are a good thing. Driving a car that emits a high volume of cancer-causing chemicals is obviously bad for everyone. For example, benzene, a cancer-causing chemical, is reduced by ~50% in CA gasoline vs Federal regulations. That's a good thing.

But that doesn't make the tire efficiency rules, as stated, a good idea, as I pointed out above. Less grippy tires -> more car crashes and more human deaths.


lol does $3 even buy you one small black coffee at Starbucks? I think it’s close to $5 for anything on their menu.


Watch out, though. That coffee may contain chemicals known to the state of California to cause birth defects or other reproductive harm!


Actually, Prop 65 specifically exempts coffee from the warning requirement.


I have seen that goofy warning in SBUX stores, for whatever it's worth haha (not on the coffee cup).


Kinda my problem with that label: you have no idea what's it about when you see that label. The spectrum of what got that label is so broad that it's not very useful IMO.

Coffee specifically used require Prop65 warning because it releases acrylamide during roasting process, but after a lenghty legal battle coffee got an exeption.


The overly broad selection and vague wording was done intentionally by chemical manufacturer lobbyists to muddy the waters when it was obvious Prop 65 (or something equivalent) was likely to pass. There is a lot of this kind of last minute sabotage in California props.


Study link and/or source?


https://en.wikipedia.org/wiki/Ototoxic_medication#Other_exam... has some sources. Worth noting NSAIDs like aspirin are also listed there.


That’s a helpful reference. If accurate, the method of action here is simply nasal congestion (a common side effect).


I don't often laugh on HN, but when I do, it's a big LOL.


Apple Intel laptop + a butterfly keyboard was the absolute gutter tier experience. Not only it was slow and ran hot, but after a few months a random key would get stuck and stop working.


Also touch bar, also was all USB-C at a time when there was 0 adoption (2016). I went out of my way to buy a 2015 model instead, held up for 10 years.


I was gifted a Touch Bar and bought an M1 air when they came out. It was a night a day difference. Fan speed and throttling killed the experience and Touch Bar was not good.


I agree that sucked, and I fixed a few of them myself instead of sending to Apple. Got quite good at it.


I think the laptop hardware pre Apple M chips was just terrible and has pretty much stayed that way. There’s a reason why Apple moved away from Intel.

Before M chips an Apple Intel laptop was just a shiny wrapper for a PC laptop experience: fans turn on to full blast all the time, battery lasts <3 hours under any regular usage beyond just browsing (say having an IDE open, and frequently switching between apps). Laptop would get hot to the point where you need padding if you keep it on a lap so you’re not boiling yourself. Made for a good leg warmer during the winter though haha.

With an Apple M4 laptop, the only time I’ve heard the fan turn on is when I almost 100% filled the memory with some local LLM model. I can’t recall any other times. Battery life is finally as advertised, can last many hours, laptop is consistently fast, never gets hot and any CPU throttling is not perceptible under medium to high CPU usage.


^^^ This.


What can the Erlang / Golang runtimes do that the JVM can’t?


Thousands of share-nothing actors (fibers / green-threads) with first-class support for communication between them, for a start. Erlang/Elixir -- immutability as well.


"As a rule of thumb, if your application never has 10,000 virtual threads or more, it is unlikely to benefit from virtual threads."

https://docs.oracle.com/en/java/javase/21/core/virtual-threa...


BEAM threads are kinda magicsauce tho, instructions have a cost and after a certain cost total (quantums) the scheduler can divert to another virt thread to guarantee forward progress. Also the immutability rules etc make it easier to optimize this switching.


Eh, reduction counting isn't magic. Golang manages similar preemption semantics without counting that many operations (some tight loops do have barriers inserted every so often, but that's the exception and not the rule). And reduction counting has some serious costs! It slows the runtime down a shitload (and the BEAM is already in the bottom half of interpreted language runtimes by speed) and makes lots of JIT-flavored runtime optimizations slower or harder to implement.

I like immutability too; I wish Java and Golang did more of it. It costs a lot in terms of unexpected copies in the BEAM though, there's less copy-elision optimization than you'd think. That especially bites if you're doing a ton of message passing, because of how process heaps are implemented and how garbage collection (traditional or ETS/ThreadProgress-based) works.

I think what I want is something like Golang but with goroutine-based ownership semantics (or Rust with the Go runtime and goroutines): en excellent scheduler for extremely light-weight green threads, no refcounting or reduction counting, and all the clever optimizations around channel sending and copy elision--but no ability to use a value after it's sent to a channel, and only channel-based access to shared global state. That'd get most of the benefits of process-local heaps but without the (copying, cache/memory fragmentation) drawbacks.


These are all true and I have recognized those as innate limitations of the BEAM VM. For now I am OK with those but I am already skirting at the limit and I am starting to want to jump to Golang and Rust again.


Obviously. But it's really nice to have the option, and none of us knows the future. I've been bitten by those "0.1% chance" things much more times than I would be not-embarrassed to admit, and I know I a not alone.


I believe the point they were making is you can have millions of virtual threads on the JVM no problem. Your information on the JVM is outdated.


Good, thanks for the grounding. I'll have to reevaluate at one point then.

As I just posted in another comment (https://news.ycombinator.com/item?id=48384622), I'd probably drop Erlang/Elixir due to difficulties of employment and contracting -- if the more popular languages get those STM / share-nothing runtimes.


What kind of software actually requires this? Honest question. Anything I can think of would probably be written by C++ devs


"requires" is of course subjective, there are always multiple ways to do something. But sometimes it is convenient to model a system as concurrent execution streams, for example: multiple sessions (servers), multiple entities (games, robotics), multiple in-flight transactions (any kind of i/o or concurrent compute). Agreed these are often C++ use-cases but there are obvious benefits to using Erlang or other virtual machines: memory safety, isolation, fault tolerance.


Web / API services during bursts. Or just when you _really_ don't want to scale horizontally.

Elixir / Golang can do this very well. And they do. I have supervised, led and authored such projects that are in production to this day.

Rust too but it's lower-level and you kind of have to hand-roll OTP which of course will always fail.


from experience, during bursts it's never actual web/api server that is bogged down, it's the downstream io bottlenecks.

if your accepting layer is abstracted away and implemented correctly, there is very little performance difference between different concurrency approaches and all you're exposed to as developer is implementation of your handler functions.


Not the case; good abstractions are valuable, but the performance differences between runtimes are very real.

Take the example of some simple HTTP<->blob store service gets slammed with millions of requests when someone using the API does a backfill via some framework on their end that aggressively scales request volume up and out.

Something like, say, async Python/starlette with a coroutine per request is gonna perform slightly worse than Erlang, which in turn is gonna perform much worse than Go.

You're right that those differences are sometimes marginal when the latency of whatever IO the backend's doing dominates the equation. However, in my experience huge volume surges show issues with the runtime (the thing managing/launching multiplexed request handler routines) or the ecosystem (the backend IO libraries' ability to work with the runtime's IO multiplexing and make things like request coalescing easy or automatic) more often than you'd think.

It really takes surprisingly little volume to cripple a return-hello-world Phoenix app that indirects the "hello world" behind way too much middleware and message passing; it takes even less to kick over, say, a Gunicorn instance returning "hello world" at the bottom of the Django middleware stack. Golang with Gin, on the other hand, is surprisingly hard to cripple in the same way. And I say that as someone who likes Elixir and Python a lot more than I like Go!


Thank you. As a guy who made a career out of Elixir (and begins to regret it recently but oh well) I agree that Elixir's throughput is not amazing. However, it can get very far and we should always optimize for the most common usages.

I've personally rewritten one hobby and one professional projects from Elixir to Golang and loved the result; as you said, extremely difficult to bring down a Golang service to its knees.

One clarification: Phoenix server behind Caddy/nginx fairs better btw. But, details. Your point stands.

I am yet to see a Rust web/API service I wrote to _ever_ buckle under pressure and just crash. It was either an application bug (like the famous Cloudflare's `.unwrap()` error from the last weeks/months) or the Linux OOM killer. Literally never crashed. But I did witness it brutally murder a MySQL cluster because it couldn't serve it fast enough. That was both fun and terrifying to watch on the dashboards.


> I did witness it brutally murder a MySQL cluster because it couldn't serve it fast enough. That was both fun and terrifying to watch on the dashboards.

Haha yep. In my experience, everyone running CGI/process-per-request application servers is bullish on switching to a concurrent or cooperative runtime...until they realize they just removed the primary ratelimiter on downstream DB/service accesses.

The converse war stories are also amusing: people rewrite their whole app in a concurrent/asynchronous framework and nothing changes, because the DB driver is still farming out all queries to a tiny fixed-size threadpool of connections that was the bottleneck all along.


Oh yeah, definitely. If your DB server (or any storage backend) cannot have like 200+ connections alive at all times then it's absolutely pointless rewriting your app in Elixir or Golang. You'll just serve DB timeouts in your responses.


> You're right that those differences are sometimes marginal when the latency of whatever IO the backend's doing dominates the equation. However, in my experience huge volume surges show issues with the runtime (the thing managing/launching multiplexed request handler routines) or the ecosystem (the backend IO libraries' ability to work with the runtime's IO multiplexing and make things like request coalescing easy or automatic) more often than you'd think.

fair enough, although at this point we start talking about LB in front of the thing, consumption mechanics, autoscaling signals

i will still maintain that my simple advice for a dev worrying about scale, is that they should focus their efforts on ensuring downstream IO doesn't get overwhelmed (db read replicas, caching, etc) before optimizing runtime performance or autoscaling out unnecessarily.


> focus their efforts on ensuring downstream IO doesn't get overwhelmed (db read replicas, caching, etc) before optimizing runtime performance or autoscaling out unnecessarily.

All good advice, but the choice of runtime can affect the point at which autoscaling and load balancing even need to enter the conversation at all. Optimizing, say, a mostly in-memory cache service and writing it in Golang may yield results like "we can run a single instance of this and serve three orders of magnitude of business growth; slap it behind a DNSRR or a k8s NodePort for update/replacement/fast failover if it crashes, no complex load balancer needed", where writing the same thing in, say, PHP might require discussing orchestration/load balancing/memory/worker process recycling/autoscaling early on in the service's lifetime. Being able to skip those conversations (entirely or for a long time) is a very significant business benefit.


(Upvoted for a really relevant and valuable refinement to the thread.)

Admittedly that layer is almost always abstracted i.e. AWS / GCP and various other smaller hosted solutions that handle a good chunk of load balancing for us. In that landscape BEAM VM's strengths shine even brighter. I've seen firsthand that you can in fact bring a BEAM VM to its knees if you expose it just like that to the net. It's not pretty. Golang fares a touch better and Rust seems almost immune (provided one does not screw up their caching layer and don't do elementary N+1 query mistakes).


>share-nothing actors

although this is a deliberate choice rather than some accidental defect. Clojure went with STM as its concurrency model, if you're not buying into that and you want an Actor-centric language it's not the right choice to begin with.


STM is seldom used in modern Clojure projects, it is certainly not the dominant model. Most projects I am aware of use a few or even exactly one atoms with immutable data structures.


Virtual threads can do that too.


Low memory usage.


Yes, he’s throwing himself. Aikido is often practiced solely as a non-competitive art.

If you want to see what competitive throws/takedowns with a kimono/gi look like against live resistance, watch Judo. Example https://youtu.be/fLD87nqwp3Y

For the same but without kimono, watch Greco-Roman. Example https://youtu.be/4Xc-wxNSsTk).


A reminder that both things can be true at the same time:

1. Trump is a bad president

2. The Islamic Republic of Iran should not be allowed to have nuclear weapons


> The Islamic Republic of Iran should not be allowed to have nuclear weapons

Neither should Israel, right ... right?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: