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

All the school buses near where I live (Sierra Nevada mountains in California) have these - it's cool to watch them lower and start spinning.

But chains aren't enough in some common situations around here that locals, including school bus drivers, know well. When we get a good size snow storm (multiple feet) and the sun comes out a day or two later, thick ice forms on the sections of road that the sun hits - snow melt runs across the road during the day and freezes at night, getting thicker and smoother each day. When that happens on our steeper inclines, chains on AWD/4WD vehicles are not enough to get up those inclines or to stop on the way down them. Locals know where those spots are and take other routes in those situations. It's hard for me to imagine autonomous vehicles having such local information in remote areas like this anytime soon.


Not calling it anonymous is an improvement. Before I retired, I read many "anonymous" surveys taken by my reports. Any free-form text in the survey that goes beyond a sentence fragment usually made it obvious who wrote it. At least in the case of my teams, writing styles tended to be pretty distinct, as were the things each person cared about enough to write at any length. I tried to ignore the clues, but it was usually so obvious that it jumped out at me. The people administering such things insisted that anonymous meant their name wasn't on it, so it was fair to call it that.

A lot of people simply imagines that anonymity means un-identifiable. It's far from true, but i think some are honestly making the mistake, rather than being nefarious.

> This video, to me, seems to deride it.

I don't see any derision of the first amendment or of the public square (not sure which you were referring to as "it" in your last sentence). When we exercise our freedom of expression, we have zero guarantee that we will be listened to, believed, or respected.

The derision I see in this video is directed at visceral belief in whoever is shouting in the public square, especially when their message is so clearly divisive. The discussion between the Freemason and the naturalized citizen is itself a fine example of free expression in the public square.


Isn't it possible for someone to spot a growth opportunity for someone else without they themselves being perfect, or maybe even good, at that thing?

I've certainly benefited from useful ideas in my core area of expertise from people who were nowhere close to being experts in that same topic.


> A modern version should, of course, work in a browser, so that there'd be no Python packages to install

Now, only uv needs to be installed (two self-contained binaries). Then you can do `uvx magic-wormhole --help` and it will quickly create a transient environment with the required packages. You don't even need to install Python (uv will do a transient install of Python as well).


In addition to languages, there's a Python library called "construct" that's been around for a long time. It uses a declarative style to make it surprisingly easy to make binary parsers and emitters.

https://construct.readthedocs.io/en/latest/intro.html#exampl...


We employed bandits in a product I worked on. It was selecting which piece of content to show in a certain context, optimizing for clicks. It did a great job, but there were implications that I wish we understood from the start.

There was a constant stream of new content (i.e., arms for the bandits) to choose from. Instead of running manual experiments (e.g., A/B tests or other designs), the bandits would sample the new set of options and arrive at a new optimal mix much more quickly.

But we did want to run experiments with other things around the content that was managed by the bandits (e.g., UI flow, overall layout, other algorithmic things, etc.). It turns out bandits complicate these experiments significantly. Any changes to the context in which the bandits operate lead them to shift things more towards exploration to find a new optimal mix, hurting performance for some period of time.

We had a choice we could make here... treat all traffic, regardless of cohort, as a single universe that the bandits are managing (so they would optimize for the mix of cohorts as a whole). Or we could setup bandit stats for each cohort. If things are combined, then we can't use an experiment design that assumes independence between cohorts (e.g., A/B testing) because the bandits break independence. But the optimal mix will likely look different for one cohort vs. another vs. all of them combined. So it's better for experiment validity to isolate the bandits for each cohort. Now small cohorts can take quite a while to converge before we can measure how well things work. All of this puts a real limit on iteration speed.

Things also become very difficult to reason about because their is state in the bandit stats that are being used to optimize things. You can often think of that as a black box, but sometimes you need to look inside and it can be very difficult.

Much (all?) of this comes from bandits being feedback loops - these same problems are present in other approaches where feedback loops are used (e.g., control theory based approaches). Feedback mechanisms are incredibly powerful, but they couple things together in ways that can be difficult to tease apart.


The real trouble with bandits is that people don't bother to look into what the real potential benefit is as far as the target you're optimizing. Despite theoretically loving bandit techniques, I've convinced multiple teams not to go that path because the real advantage of using them is a slightly more optimal mix of people in experiment than if you ran them manually.

At some scales it can make sense, but for the vast majority of products/companies the statistical benefits don't outweigh the added complexity.

Bandits work best for relatively simple optimization choices at very large scale. If you care at all about the information gained in an experiment, it's fairly unlikely bandits are a good choice for you (or any reinforcement learning algorithm at that point).


Agreed. In the case I was describing above, new arms were constantly being introduced (often several times a day for each of hundreds of thousands of scenarios). Manual experiments weren't an option. This also meant we were in a constant state of partial convergence for most scenarios, but the same would be true with experiments.

How to cull arms, so that there are enough samples for any kind of convergence, is another problem in this setup. We eventually built an ML model to select arms and used bandits to pick between them. This proved "too effective". The arms were all user-generated content. The bandits on top of the model, both setup to maximize clicks was stupidly good at surfacing inappropriate content because it got a lot of clicks. We ended up having to put more safeties on arm selection for certain categories of our content where we had the most inappropriate submissions.


Thanks for the inputs.

"Bandits work best for relatively simple optimization choices at very large scale"

Have you considered different methods to address this shortcoming?


This is basically Breiman's "two cultures" at play. Do you care about optimizing y-hat, or do you care about doing inference on some parameters in your model? Depends on the business case, typically.


I’ve actually run into the exact same issue. At the time we similarly had to scrap bandits. Since then I’ve had the opportunity to do a fair amount of research into hierarchical dirichelete processes in an unrelated field.

On a random day, a light went off in my head that hierarchy perfectly addresses the stratification vs aggregation problems that arise in bandits. Unfortunately I’ve never had a chance to apply this (and thus see the issues) in a relevant setting since.


You can do fairly well here with ridge regression as a poor man's hierarchical model. We've used this library's Bayesian ridge regression to support a geo-pricing strategy (and it contains the Dirichlet-Multinomial approach as well): https://github.com/bayesianbandits/bayesianbandits


Ahh, hierarchical dirichlet processes. Sounds like you were reading the literature on Bayesian diffusion modelling / diffusion trees. I studied that stuff almost 20 years ago now, really takes me back.


Haha I’ve actually never heard of that field. My work was focused on applying Chinese restaurant process models to text analysis. But very curious what you were working on?


I was using it for bioinformatics to incorporate measurement uncertainty from fluid microarrays into genotype cluster estimates.


>Things also become very difficult to reason about because their is state in the bandit stats that are being used to optimize things. You can often think of that as a black box, but sometimes you need to look inside and it can be very difficult.

One way to peak into the state is to use bayesian models to represent the "belief" state of the bandits. For example, the arm's "utility" can be a linear function of the features of the arm. At each period, you can inspect the coefficients (and their distribution) for each arm.

See this package:

https://github.com/bayesianbandits/bayesianbandits


“ If things are combined, then we can't use an experiment design that assumes independence between cohorts (e.g., A/B testing) because the bandits break independence.”

Can you explain, please?


Not the OP. I think what they are driving at is that if knowledge is discovered during exploration in cohort A, cohort B can exploit it. Then, the whole A/B test breaks down to which cohort got to benefit more from the bandit learnings.


Yes, this is exactly the kind of scenario I was alluding to.

For example, cohorts with very light traffic are likely to get undue benefit as a lot of exploration might be done before the smaller cohort needs to select an arm, so things are closer to convergence.

Another example is if there are wildly different outcomes between cohorts. More of the exploration will be done in cohorts with more traffic, leading bandit optimizations to fit large cohorts better than lower traffic cohorts.

Even if you do manage to make things independent, you have to wait for bandit convergence before you know what converged results will look like. That requires being able to measure convergence, which isn't always easy, especially if you don't know to do that before designing the system.

With all of these problems, we kept bandits, and even expanded their application. At least for the 10 years I was still around. They are incredibly powerful. But there was a lot of "I wish those damned bandits didn't work so well!"

For anyone who is not aware, A/B tests assume cohorts behave independently of each other. The less true that is, the less reliable the results are. This was even worse for us in parts of our system where there were no bandits, but there was direct interactions between individuals.


Could you expand on control theory? Is it PID?


I was just mentioning that any feedback loops have the potential downside of coupling things together in ways that make experiments (and analysis, improvements, etc.) difficult.

I used control theory as an example of another type of feedback loop because we were using controllers in other parts of the system. One was roughly the proportional term of a PID controller. Another was both the proportional and integral terms, but with a lot of domain specific heuristics added on (e.g., ML models to set baselines that help the controllers understand how quickly to move values). This was all incredibly powerful, but also required experiment design and analysis that was far more complicated than we would have liked.

This was not a ride-sharing company, but you can imagine dynamic pricing for Uber or Lyft working this way. Use a controller to try to keep the number of available riders and drivers in balance. If riders exceed drivers, increase payment to drivers (and therefore cost to riders), thereby attracting more riders. If drivers are sitting idle, decrease payment. Ideally, this is done constantly to respond to time of day, weather, traffic, etc. (with some predictive baseline expectations to keep it from being too slow to respond). When you get it right, riders get the cheapest price that ensures a driver is available. In economic terminology, this is finding the market clearing price. A controller can get you a long way in a hurry on such a system. But it's certainly not the only approach that can work, and it takes a lot to get it right (I have no idea how Uber and Lyft actually do any of this).


Impressive, thanks for sharing that tidbits.


So, for example, Viola / Cesario in Shakespeare's Twelfth Night. Who needs great literature? https://en.wikipedia.org/wiki/Viola_(Twelfth_Night)

And regarding "the other biological sex"... It is not at all simple to define biological gender in a such a way that there are only two of them. Genitalia, hormones, and chromosome patterns are far from sufficient. In many cases, the gender assigned at birth is arbitrary. https://en.wikipedia.org/wiki/Intersex


> It is not at all simple to define biological gender in a such a way that there are only two of them.

It's ridiculously easy to do so, and commonly done .. the catch is that it's not all encompassing enough to cover all human births.

Richard Dawkins frequently weasel words his responses, clearly stating that there are only two reproductive (human) sexes ...

Obviously that doesn't cover all the human biological forms that are birthed, nor even does it cover the stages and ages of common human lives .. but it's easy and gets a lot of play.


So its not easy, because it doesnt cover all cases.

Like yeah, its easy to define all colors in only black and white, if i just ignore all colors that arent black or white.


> What change was the person who shot him hoping to elicit?

I think a difficulty in searching for such answers is assuming that it was a well reasoned decision. I'm not sure how often attempting to take a life is a purely rational decision, devoid of intense emotional motivations (hatred, self-preservation, fear, revenge, etc.). And that's all assuming the assailant was of somewhat sound mind.

I think one of the dangers of more and more extreme divisions in society is that those divisions cloud our mental processes, threaten our emotional health, and take away opportunities for meaningful civil discourse. All of which can lead to more heinous acts that we struggle to make sense of. One of the scariest parts for me is that this can all be too self reinforcing ("Their side did this bad thing to our side, let's get them back!!!" repeat/escalate...). How do we break the cycle?


An older analog is calculators. My college intro to stats course didn't allow them. We did simple arithmetic by hand and looked up things like roots and logs in tables. I still have my copy of this: https://www.amazon.com/dp/0849306922

I just tutored my nephew through his college intro to stats course. Not only are calculators allowed, but they had a course web app so that all they did was select a dataset, select columns from those datasets, and enter some parameters. They were expected to be able to pick the right technique in the app, select the right things, and interpret the results. Because of the time savings, they covered far more techniques than we did in my day because they weren't spending so much time doing arithmetic.

Despite lots of cries about "who will know how to make calculators?", this transition to calculators (and computers) being allowed was unavoidable because that's how these subjects would be applied later on in students' careers. The same is true of AI, so students need to learn to use it effectively (e.g., not blindly accepting AI answers as truth). It will be difficult for the teachers to make their lesson plans deeper, but I think that's where we're headed.

Another lesson we can draw from the adoption of calculators is that not all kids could afford calculators, so schools sometimes needed to provide them. Schools might need to provide access to AI as well. Maybe you are required to use the school's version and it logs every student's usage as the modern version of "show your work"? And it could intentionally spit out bad answers occasionally to test that students are examining the output. There's a lot to figure out, but we can find inspiration in past transitions.


What the surface level take about calculators misses is that the average person can't do arithmetic in their head because they don't need to, but they also don't pull out a calculator in the many times a day it would be useful, like at the grocery store. People make horrible decisions with everyday home economics math and are taken advantage of.

The lesson isn't that we survived calculators, it's that they did dull us, and our general thinking and creativity are about to get likewise dulled. Which is much scarier.


Actually the experience with calculators portends a dismal future.

Before calculators, i.e. slide rules, log tables, hand arithmetic: by the time engineers completed their university education most could approximate relevant parameters in their work to +/- 5% or the actual value. Slide rules would give you a result to 3 (rarely 4) significant decimals, but you needed to know the expected result to within half an order of magnitude.

After calculators, many graduate engineers will accept erroneous results from their calculations without noticing orders of magnitude discrepencies.

We constantly hear of spreadsheet errors making their way into critical projects.

With AI the risk is that even currently levels of critical thinking will be eroded.


I agree completely.

The amount of college educated people that do not now how to calculate a tip in their head is terrifying.

I can understand not being able to get 17.5% down to the penny. But 10%, 15% or 20% can be calculated in your head faster than I can get my phone out. This level of math is pretty basic.

Its also worth saying that I was never described as a "math person". The number of people that will blindly accept what the calculator tells them is too fucking high.

I have already noticed far too many people using chatGPT as a source. I have a tax attorney friend who got in an argument with an agent at the CRA (Canada Revenue) over whether her interpretation of a rule was correct or whether the chatGPT interpretation was correct. Mind you, she works as a prosecuting attorney so it wasn't adversarial, it was just her saying, "sorry, I'm the legal expert, this interpretation is incorrect, and we will lose if we use this interpretation".


Working with computers I mentally use a hybrid of BCD and binary arithmetic. e.g. for the 17.5%, I mentally move the decimal point to the left, drop the cents, add half and then half of that, i.e. 10% + 5% + 2.5%


Totally agree. The pessimist in me says that part of this is unavoidable. Our tools specialize so that we can direct our limited resources elsewhere, as a consequence of delegating those particular abilities atrophy in us.

Not being able to organize information, create a synthesis, or express yourself in less-likely-than-a-LLM terms is going to have detrimental effects. I think not only will it lead to insane, horse-blinder level, hyper specialization, but it will flatten entire segments of the human experience.


> We constantly hear of spreadsheet errors making their way into critical projects.

Are there any examples, i.e. spreadsheet mistakes in engineering projects that wouldn’t have happened if a slide rule was used? This sounds interesting.

I only know about spreadsheet errors in general, e.g. gene symbols being converted to dates[1]. Unless you meant that?

[1]: https://www.bbc.com/news/technology-37176926.amp


If we had stayed with slide rules, we'd probably be on mars and beyond by now. Household fusion reactors too.


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: