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

Planning now on a fast upgrade later, is planning on discovering all of the critical bugs after it is too late to do much about them.

Things need to be rolled out in advance of need, so that you can get a do-again in case there proves to be a need.


That's not new.

I read a UI book in the early 2000s that cited research showing that most users didn't understand filesystems. They would seem to, but then the idea that the same filename in two places was two unrelated files would just lead to a mental block. Those who got it, didn't find it hard. It's just that some people can't get it.

The disconnect is not between some developers, and the younger folks. It is between some developers, and most of the world.


I think a lot more people than most HN readers realize simply struggle significantly with abstract thinking and reasoning.

It's natural that people who enjoy programming and hacking and related fields are very comfortable with such abstract types of thought. But I really think that isn't all that common amongst most people. I think the average person has to learn such thinking abilities with difficulty (though they can). I'm sure many people here got into programming precisely because abstract thinking came easily to them.

> the idea that the same filename in two places was two unrelated files would just lead to a mental block.

Which is actually why the "files and folders" metaphor is apt. In a filing cabinet in a school office (once upon a time) there were likely hundreds of documents labeled "Report Card" in many different folders, each labeled with a different name.


> I'm sure many people here got into programming precisely because abstract thinking came easily to them.

Counter here: When I wanted to switch from TurboPascal during school (14y/15y) to C++ (because it was "more cool" and that was the tool that the 'big boy' game-dev-pros were, we thought), it was so damn hard for me - really! I was struggling so massivly, I head massive problems with this pointer stuff - it took me years to fully understand it.

And I was hell-bad at math in school (or maybe just too lazy), the only thing to which I a relation was all this geometric stuff (because this was needed for .. game dev! :-D )


Pointers are famously difficult to learn and reason about even though the basic principles are simple. Programming in a style that requires direct manipulation of pointers when it's not actually necessary is usually regarded as unwise because it's so hard to get right.

OP had no problem with pointers prior to trying C++. I think there is a case to be made that C(++) makes pointers unnecessarily confusing and there is no real disconnect between understanding pointers in theory and in practice otherwise

And C++ makes everything extra confusing with the capability of operator overloading.

That has to be one of the worst features ever added to a language.


> C++ makes everything extra confusing

> I head massive problems with this pointer stuff

no, OP explicitly had problem after getting introduced to pointer concept


Pointers aren't hard, it's C/C++ that make them complicated. Addresses and indirection in any assembly language are simple and straightforward, easy and even intuitive once you start actually writing programs.

Tell that to the thousands of comp sci students who drop out every year because they don't like programming in C!

I used to think I was incapable of learning "real" programming because I didn't get C. When I later read a book on programming in assembly, I realized that everything that had felt so complex was actually not so difficult. C pointer syntax is weird and doesn't parse naturally for many people, especially programming novices who might not yet have a solid grasp on what/how/why they're doing anything.

...thats the reason why I love managed environments like C#/Java/etc :-))

> Which is actually why the "files and folders" metaphor is apt.

It's a starting point, but I certainly wouldn't say it's the best metaphor that there could be. The idea of subfolders just doesn't make sense in a filing cabinet analogy, because you have to consider paper size - any folder which could fit into another folder is not going to be able to contain your regularly sized documents.

That said, I can't think of a better metaphor.


People understand hierarchy. That named file is in a folder in a particular drawer of a particular cabinet in a particular room of a particular building in a particular neighborhood in a...

What some people struggle with is recursive hierarchy where each step doesn't change the kind of container. I guess they never saw a Matryoshka doll when they were little.


> The idea of subfolders just doesn't make sense in a filing cabinet analogy,

Sure it does. The document is located in Building C, Sub-basement 2, Room 123, cabinet 415, folder labeled "Accounts". And a physical folder can certainly contain other folders. Nit-picking the analogy wastes everyone's time.


A better metaphor would be trees and branches. Which is already somewhat used for computing.

I can't blame them. We've been force-upgraded to Windows 11 at work and that OS and its apps do their upmost to obscure where files are located.

I've frequently saved on OneDrive instead of locally, by accident, and then been perplexed when I try to reopen the file later.

And I've been using filesystems for 35+ years, so I feel sympathy for those who don't understand the abstraction. At this point Android is more transparent about its files.


> We've been force-upgraded to Windows 11 at work and that OS and its apps do their upmost to obscure where files are located.

That's because there's research that users don't understand filesystems. So then stupid companies who make bad decisions like Microsoft and Apple decide that that means they should pretend filesystems don't exist.


Did they also struggle to understand that some people have the same name yet are not the same person?

By that logic, operating system developers struggle to understand that putting two files with the same name into the same folder(1) is very much possible in the physical world.

(1) or referencing them from the same directory, which was the earlier metaphor.


Hardly. That would be analogous to two people having the same name _and_ the same spacetime coordinates; they would indeed be the same person.

I've seen two people with the same name and birthday, in different departments of the same building. Caused regular problems with management and HR.

I've also seen two different customers with the same name and phone number - the number got recycled and went to second one while the first hadn't updated their number on file. We had to tell them apart by address.


But why are filenames equated with spacetime coordinates? That doesn't make any sense - reflect on why you leaped to that analogy. The spacetime coordinates are the disk ID and sector number. We've been using operating systems that work a certain way for so long that we think filenames are like spacetime coordinates.

The analogy is location. file : directory :: person : geocoordinates. I thought it was a straight-forward analogy, but clearly I was mistaken.

You cannot name 2 of your children the same names.

In the time it took you to write this comment, you've thought more about the abstraction than most of the people who are confused by it -- and it will never succeed to coax them out of their confusion with such logic. :)

I think that's perfectly understandable. File systems require the user to remember a hierarchy in their head (even if there are tools like breadcrumbs to help you out), and many people aren't willing or aren't able to hold an arbitrarily complex structure like that in their head. A name is a flat piece of information, no extra structure to imagine.

I worked with a professor one time that used floppies for all his files (after they had been surpassed by thumbdrives) because each floppy was essentially a single folder, and he could wrap his head around that conceptually.

it's not complicated at all, it's how operating systems present them to the users.

> two unrelated files would just lead to a mental block

Because in the analog world, each "document has usually a single/unique headline" and file names are often perceived as some type of unique identifier as well, Id guess?

> It is between some developers, and most of the world.

sigh


I would question to what extent repeating propaganda, qualifies as debate.

Even if you do say that it qualifies, it doesn't qualify as productive debate.

There is really no productive debate to be had here. Even if you think that Iran needed to be bombed, it took absurd incompetence to start doing so before planning how to handle asymmetric warfare against drones in an affordable way.


Repeating propaganda does not generally qualify as debate.

Why isn't there a productive debate to be had here?

Your arguing that the incompetence has to do with handling drones. To me that statement feels close to "repeating propaganda" because the Shaed drones are generally handled in an affordable way which is by shooting them with bullets from helicopters: https://www.youtube.com/shorts/uZ07pcDGE70

This is a method that has been used for a long time in Ukraine as well: https://www.reddit.com/r/Planes/comments/1qzj19h/an_f16_of_t...

https://taskandpurpose.com/tech-tactics/us-apache-pilots-dro...

There are endless videos and news stories about how drones are shot down effectively by the UAE (with AH-64 cannons), by Israel (where Iran doesn't even bother sending drones over because none of them make it), and by Ukraine (including with newer counter-drone tech they have).

The propaganda says "we fire a 2 million dollar THAAD missile on a 50k dollar drone". Many can be shot down cheaply. Some are shot down with $500k AA missiles. We also need to account for anything destroyed on the ground and not launched. So it seems like your opening argument can certainly at the very least be debated.

OTOH it is true that some drones got through and inflicted significant damage. But maybe that's unavoidable to some degree.

Even beyond the base statement. If you think Iran needed to be bombed, e.g. because they were manufacturing 100 long range ballistic missiles per month and because they had enough nuclear material to make 12 bombs and were working on all the technology pieces to be able to put them on ballistic missiles and launch them, then what would be the alternative universe where we somehow magically came up with solutions to the asymmetric nature of this war? Would waiting for them to have a lot more missiles and drones and bury them deeper be a good thing or a bad thing. What would be the odds of the regime either compromising and giving up their abilities or collapsing without external intervention.


Exactly. Support means saying "I accept the reduction in my social security and medicare and other govt services in exchange for this war."

In my experience, developers who rely on precise and relatively obscure corner cases, tend to assume that they are more stable than they later prove to be. I've been that developer, and I've been burned because of it.

Even more painfully, I've been the maintenance programmer who was burned because some OTHER programmer trusted such a feature. And then it was my job to figure out the hidden assumption after it broke, long after the original programmer was gone. You know the old saying that you have to be twice as clever to debug code, as you need to be to write it? Debugging another person's clever and poorly commented tricks is no fun!

I'd therefore trust this feature a lot less than you appear to. I'd be tempted to instead wrap the existing loop with a new loop to which I can add instrumentation etc. It's more work. But if it breaks, it will be clear why it broke.


That sounds like the worst kind of misfeature.

It sounds like it should solve your problem. At first it seems to work. Then you keep on finding the footguns after it is too late to change the design.


Contracts are designed as a minimum thing that can work. The different groups who want different - conflicting - things out of contracts now have a common place and syntax examples to start adding what they want without coming up with something that either breaks someone else, or worse each group doing things in a non-uniform way thus causing foot guns.

Contracts as they are today won't solve every problem. However they can expand over time to solve more problems. (or at least that is the hope, time will tell - there is already a lot of discussion on what the others should be)


I think that a "minimal viable baseline" type implementation should not break the ODR.

In Rust these types of proposals are common, in C++ less so. The incredibly tedious release process encourages everyone to put in just as much complexity as they can safely get away with.


What do you mean, "at long last"?

We've always been bikeshedders. For example, back in Slashdot days, some company would decide to migrate something from Windows to Linux. Immediately the debate became whether they should have gone with Debian or SuSE instead of Red Hat.


The reality is that Starbucks is the world's biggest unregulated bank, with their claws in the real estate industry. Who got that way by selling the experience of hanging out in a convenient coffee shop.

Their business has run into trouble a couple of times because MBA types in the company lost sight of this, then focused on trying to sell drinks efficiently. Thereby diluting the brand and business.

If you've got 22 minutes, https://www.youtube.com/watch?v=Ym7YwFq8ZuM is a very informative walkthrough of the history and the business by the always funny youtuber, The Fat Electician. Highly recommended.


IMO, they, like many other companies, were doomed by the constant chase for growth. Once they had a large share of "have a milk-coffee drink in a nice lounge" market, growth slowed. But having a large market share, good margins and growth that is the same as population/gdp (+/-) is just not acceptable.

So they try to find a way to get more growth, even if it changes and perhaps kills what the business was.


There's more to the story than that.

Around 2000 the founder stepped away, and MBAs brought in automated machines. They were more efficient and consistent at making the drinks than the baristas, and business tanked. The founder came back in 2008, got rid of the machines, and brought the baristas back. Business took off again.

It really is the experience that is being sold.


In the context of AI automation I keep coming back to "cute Starbucks barista" as the archetypal automation-proof job. Because the job isn't producing the beverage, but the little moment of human interaction. (Especially these days, when not much of it remains!)

Same goes with supermarket checkout. I noticed many people intentionally take the line where the human scans your stuff. They enjoy it!

Unfortunately many zoomers do not appear to have been informed of this fact, and will give you a worse experience, "humanity wise", than the self-check out machine!

When you treat your job as robotic, aside from making the experience worse for all involved, you are also competing with actual robots, i.e. competing on speed, price and consistency, which is not a great place for a human to be.


I'm assuming you're talking about those Clover machines. They were really, really good and well designed IIRC. Trying to automate the barista with them; well, that's where they messed up!

They also went from semi-auto espresso machines to full auto

Yeah, I guess if you can't grow revenue, the next best thing is to grow profit by cutting costs (or try both at the same time).

Honestly, their espresso has always been undrinkable, IMO

Sometimes having a lot of experience, is a negative for dealing with new things.

The problem is that one's past success leads to ego. Ego makes it hard to accept the evidence of your mistakes. This creates cognitive dissonance, limiting contrary feedback. The result is that you become very sure of everything that you think, and are resistant to feedback.

This kind of works out so long as things remain the same. After all one's past success is based on a set of real skills that you developed. And those skills continue to serve you well.

But when faced with something new, LLMs in this case, past skills don't apply. However your overconfidence remains. This makes it easy to confidently march off of a cliff that everyone else could see.


I remember reading that this is why scammers like to target doctors and former business people. It seems becoming very proficient in one narrow area can leave you vulnerable in others.

Unfortunately, that population immediately equates the two for good reason. Bills that are presented as "for the children" usually are a power grab.

Even more unfortunately, the issue is so emotional that we can't have a reasonable discussion on it. This limits the discussion to proposals that sound good to angry people. And the opposition to those who can get angry about something else. Which limits how much reason is applied on either side.

For example, look at the idea of a national sex offenders registry, like we have in the USA. The existence of such a registry is reasonable given that we're no more successful at stopping people from being pedophiles, than we are at stopping them from being homosexuals.

But the purpose of such a list is severely undermined when an estimated quarter of the list were themselves minors when they offended. The age at which people are most likely to land on the list is 14. But a man who liked 13 year olds when he was 14, is unlikely to reoffend at 30. What is the purpose of ruining the rest of his life for a juvenile mistake?

Such discussions simply can't be had.


> The age at which people are most likely to land on the list is 14. But a man who liked 13 year olds when he was 14, is unlikely to reoffend at 30. What is the purpose of ruining the rest of his life for a juvenile mistake?

am I like misunderstanding or what does this mean exactly? I'm so confused. "reoffend" what kind of offense are we talking about here?


Sex crimes. Particularly ones involving children. Such as having sexual pictures of children.

"who liked 13 year olds when he was 14, is unlikely to reoffend at 30"

I still don't exactly understand this part.


Exactly. It is much easier to get people to agree to do questionable things, when there is pressure to "do something".

A more limited bill takes off the pressure to "do something", and therefore makes the more extreme bill harder to pass later.

In this case there is reason to suspect that the real goal of the bill is not catching pedophiles. Instead it is to give police broader powers of surveillance in the name of catching pedophiles, which they will then be able to use for other purposes. This is particularly problematic given the ways that it could be abused by some of the more authoritarian governments in the EU. Yes, I'm thinking of Viktor Orbán of Hungary.


Its never about paedophiles.

A huge ring has been uncovered in the us, with the broad international link, and none of these with mountains of evidence against them is harmed.

Instead they serve in the prominent public positions sometimes silencing and killing their victims.

If the reason in the arguments for the bill is about protecting the children, you can be sure as hell that's a strawman.


> This is particularly problematic given the ways that it could be abused by some of the more authoritarian governments in the EU.

> Yes, I'm thinking of Viktor Orbán of Hungary.

Lol what?

The UK leads [edit: in Europe overall, obviously not the EU] with approximately 18 per 100k prosecuted for online speech. Germany is at about 4 per 100k. Poland at about 0.8 per 100k. Hungary about 0.1 per 100K.

For any definition of authoritarian that relates to chat control, the UK is two base-10 orders of magnitude more authoritarian than Hungary (7 base-2 orders of magnitude).


This figure in the UK is unsourced and I'm fairly sure is not true (or at least not what you've labelled it), and has been quoted out of context by people trying to stir trouble not reasoned debate. I'll assume good faith here and say the start of the video lays out why the figure is not what you've labelled it to be

https://youtu.be/tB3WVygAM8I?si=2KVNjw7mc29sNbQw


The issue isn't how much free speech online is being punished. It is how surveillance could be used to reinforce authoritarianism.

The UK does a lot of prosecuting people for having said nasty things online that someone else didn't like.

Hungary is far more inclined to surveil political opponents, put people in their network in jail without fair trial, surveil successful businesses whose bribes were insufficient, find excuses to punish those businesses.


Sources please

UK prosecutions happen in public. So I presume that the Hungary accusations need justification.

Lack of fair trials: https://www.europarl.europa.eu/news/en/press-room/20251120IP...

Illegal surveillance of political opposition: https://rm.coe.int/pegasus-and-similar-spyware-and-secret-st...

Strong arming companies into bribes: https://en.wikipedia.org/wiki/Criticism_of_Fidesz

Not only are there not similar reports about the UK, but its better position in international corruption rankings points to a culture that would be less likely to tolerate this.

Any further questions about why there should be concerns about how Hungary would be likely to abuse a law like this?


> Lack of fair trials: https://www.europarl.europa.eu/news/en/press-room/20251120IP...

That link literally does not have anything to do with fair trials.


The UK isn't in the EU anymore though.

Germany and Poland are. Does the existence of a non-EU country in a data set about European countries detract from the fact that Hungary doesn't prosecute people for online speech to the same extent as other European (incl. EU) countries?

Leave it to the British to beat the Germans at their own game.

I'm quite sure they thought about the UK as well, given the practice of prosecuting for lawful speech, jailing or arresting for planning peaceful protests (or threatening to arrest a man with an EMPTY placard), jailing for opposing the genocide or voicing support for the unlawfully proscribed organisation.

Etc.


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

Search: