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

Cyclists switch between pedestrian and car rules at will. I see them blow stop signs and lights constantly.

I’d argue that neither set of rules is made for them, so it’s not surprising that they take the most convenient of the two. Plus, it’s not out of the question to have laws in which red lights act like stop signs and stop signs act like yield signs specifically for cyclists[1]. It’s also likely less dangerous if that’s the case[2].

[1]: https://www.bicyclecolorado.org/colorado-safety-stop-becomes...

[2]: https://www.theguardian.com/uk/2010/may/21/women-cyclists-mo...


What I've noticed is that everybody skirts rules for convenience, but the offenses are different because the conditions are different.

Cars break the speed limit, look at their phones (easy to see from a cyclist's vantage point) and roll through stop signs, because those things are possible and convenient. Very few drivers are fully in control of their cars in fast, congested traffic, which is why "rear enders" seem to happen frequently.

Bikes roll through stop signs and invent their own shortcuts because those are convenient, but exceeding the speed limit is impossible for most of us.


In their defense, neither set of rules offers them much in the way of safety and protection.

lol Millennials are the fortunate generation now? how the turn tables - all I remember growing up was the same narrative Gen Z plays now about how their generation was screwed over. But then Milennials grew up and now are the villain lolol.

That was not Gen X saying that—we don’t say anything, like our Silent parents—we just sulk in our rooms playing grunge to relieve the overwhelming dread and to root out whatever ear-worms Clear Channel has been feeding us. Baby Boomers were the ones who put out the narrative of the avocado-toast eating Millenial, to which we just said, “Whatever.”

In case it was not made abundantly clear, that was stereotypical GenX sarcasm, but as a Gen Xer I cannot figure out how to write a sarcasm tag into this stupid machine.


Millennials only care about GenY to the extent they can milk GenY suffering for their own gain.

> It really just seems like it involves using unregulated technology, which allows the skipping of restrictive regulations. This might actually be a good thing

Yeah, it's basically Uber for finance/banking/etc. Reap the free real estate created by rules and regulation by..skirting the rules and regulations.

It also adds indirection, which in turn allows all the parties involved to point fingers at each other Spiderman-style. "Oh I thought $X was responsible for $COMPLIANCE." Eventually, y'all get audited and shape up but that's a years-long process. And in that time you've grown and grown and finance/banking/etc is pretty sticky. Kaching :)


My job pays well and I create real stuff but most of the work is honestly just slop. So maybe I should use AI to save myself the effort..I could salvage more free time for myself that way..

I'm in another state with a liberal, climate-oriented govt, and I just got a fresh gas range and new gas car. Felt like my last chance to do so given how long I hold onto such things. Carpe diem.

Given that (the better) EVs are cheaper to operate, cheaper to maintain, accelerate faster than ICEVs, and don't create as much net pollution, these should be the preferred option rather than using the sky as a sewer. The problem right now is most of America is fixated upon ancient and harmful technologies and isn't do enough to incentivize buying EVs. And it's actually limiting consumer choice by slapping giant tariffs on international EV options that are surpassing the capabilities of domestic ones. EVs should be (re)incentivized such that they are significantly cheaper to buy than ICEVs.

But I like driving ICEVs! Always have, and they're still more fun to drive and deal with. Figured I'd get one last hurrah. Mileage is good and this car will probably last me the next 10-15y. Zoom zoom til 2040, buddy :)

> they're still more fun to drive and deal with

Exemplary reasoning of a grown-up member of the society.


driving is partially an activity for fun, yes. my car isn't just a point A to point B tool. when I go A to B, I like to be delighted. And my new car does do that! Zoom zoom :)

This is on top of other reasonable, practical considerations. My choice of car was the best imo in its price range and class overall. Great interior, stylish and sporty, Japanese car. longterm reliability, I can keep my mechanic and do routine stuff myself, I live super near a gas station.

No EV blew me away so why suffer when I can have my car delight me and be a solid price stretched over a bunch of years at 0%? I don't think it's villainous to buy gas in 2025 and it's p out of touch to act like it is (in America)


Villainous? Probably not. However, making others pay the cost of your pleasure is incredibly rude. You aren't gathering much sympathy for your cause specifically because of the selfishness of it.

"Making others pay" is hyperbole here. It's a normal car. I'm not doing some fringe thing. I'm doing a normal American activity.

Same reasoning is used by a lot of German car owners. ”I like my combustion engine too much!”

If you act like that's not a real thing, you're probably just an out of touch HNer who doesn't like cars (very uncool)

Said like a truly irresponsible, selfish, uninformed individual who doesn't think about the total costs and impact of their actions.

i bet you would say the same about my single family home in the suburbs too :)

What about for low mileage vehicles? As I get older I drive much less and have way less income so I do all my own vehicle work. Is an EV just sitting in the garage going to be ok? Can I work on it without needing new tools? I have 3 generations of car tools. One of my cars is my moms old Jeep Cherokee that was dead in her garage for years. My and my neighbor talk about EVs but this (maybe our last) car cycle we both still went ICE.

https://theonion.com/john-alford/


Not people's closets. Openly something this company did.

You're implying this is some personal matter that isn't relevant.


I know that's the narrative about the NBA lately but it's just that - narrative.

It's far from proven that the short-lived "parity" that has emerged in the aftermath of the KD Warriors dynasty is the cause of down ratings.

I do personally dislike it though and find the parity via CBA to be artificial. It just causes continuity on a contender to be untenable.

And continuity is what makes for good basketball, hence why dynasties are so fun to watch. It's not just that they win, a lot. It's that they have a consistent style of play with a consistent cast of players (stars and role players) that fans get to know over the course of those dynastic years.


Haskell isn't a liability for that lol


caching often does simplify software though when done well

and - as the OP suggests - it works best when the cache is a well-defined abstraction with properties and rules about how it works

just because "caching" is mentioned in a meme doesn't mean it can't be true that it can simplify software


> caching often does simplify software though when done well

I have to push back here, I think this is objectively untrue. By definition a system or piece of code on where you add a condition where something else happens (cache) that behaves differently than the uncached path increases complexity.

I'm not saying it's wrong to cache things or that they aren't useful, but I think they absolutely are an abstraction and an optimization at the cost of complexity. Good code bases hide complexity from the devs all the time, so it's not a question of whether you can code it away, but rather how difficult is it to troubleshoot the internals of the system.


Caching is a performance improvement. There is no software that requires caching, therefore it is always something being added on top of the business logic that is fundamentally required. As such, a cache is increasing complexity by nature of its existence.

The only scenario where it would simplify software is if a bunch of complex (non-cache) things are being done to improve perf, and a cache would be the simpler solution. But in that case the simplifying step is not adding a cache, it is removing complex things that aren't actually required. After that you add a cache to improve performance (which increases complexity but is worth it for this imagined use-case). But maybe you remove the complex perf shenanigans, and realize that perf is still "good enough" even without a cache, keeping your software even simpler.


If you hide caching away as an implementation detail behind an abstraction, it comes back and bites you as a leaky abstraction later.

Look at how CPU cache line behaviors radically change the performance of superficially similar algorithms.

Look at how query performance for a database server drops off a cliff the moment the working cache no longer fits in memory.

Hiding complexity can be a simplification, until you exceed the bounds of the simplification and the complexity you hid demands your attention anyway.


CPUs are still a great example for how caching simplifies things.

There's a long history in computer architecture of cores and accelerators that don't have a cache but instead rely on explicitly programmed local scratchpads. They are universally more difficult to program than general purpose CPUs because of that.


I’m sure the CPU designers would love it if they didn’t need several different layers of cache. Or no cache at all. Imagine if memory IOPS were as fast as L1 cache, no need for all that dedicated SRAM on the chip or worry about side channel attacks.


Sure, but we were talking about the perspective of software developers. The hardware designers take on complexity so that the software developer's work can be simpler.


That abstraction is another layer though. And additional layers are additional complexity. So, if you add another layer, the software is less simple than before. You might need to have caching in your software. I don't doubt that. But there's simply no way it makes the software more simple except if you assume some unfortunate starting point where you could get rid of any high-complex performance optimizations in your existing code by replacing them with a more simple cache solution. But then the statement should be "refactoring makes your code simpler".


additional layers (or software in general) are not inherently additional complexity


In some sense they are, since establishing an abstraction is strictly additive. Abstractions help manage complexity.


Getting cache keys or caching events wrong is easy and a nightmare.

But getting them right can easily cross the boundary of purely optimizing performance towards simplifying public API of something. I think this is true.

I'd imagine an involved example where semantics and caching really start to offer a trade-off.

Imagine that somehow querying the actual meteorological data is quite expensive, and consider this badly written pseudocode (equals sign denoting default parameters):

- measureCurrentTemparature()

- retrieveAccurateTemperatureForNanoSecond(momentInTime)

-> cached abstractions which would access cached data:

- getTempearature(moment = now(), tolerance = 1min)

- getCurrentTemperature(tolerance = MIN_TOLERANCE)

I know, reality is much more complicated, and using time (seeing it as quasi-continuous) as a caching parameter is already stretching it so far.

Just a stupid example that came to my mind.

I've bitten myself in the ass with caching rasterized reprentations of images more than once, where the input were SVG images or limited formats that convert to SVG.


I guess simplification needs to include "at what level" as a qualifier.


Trying some other way to explicitly manage multiple storage tiers could get pretty complicated.


Nope. It's that there's only one lawful Functor instance. But Applicatives and Monads can be multiple - lists are the classic example (zip vs cross-product)


Ah right. Didn’t remember it correctly.


The cross-product is not to be confused with the Cartesian product, which is related to the (in this case unfortunately named) "cross join" in SQL. Cross products operate in ℝ³, while Cartesian products are just defined over sets. The standard List monad instance uses the latter.


ah yes my bad! good callout


Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: