I’m a bit puzzled why the author seems to think that integer wrap on overflow behaviour has something to do with C and undefined behaviour. The same thing happens with nearly all languages which use the processor’s integer arithmetic, because those semantics are provided by the processor itself. Java, C#, etc. all wrap on overflow. There are some exceptions though - Ada provides the “exception on overflow” semantics the author prefers, but it does come with a significant performance penalty because checking for overflow requires additional instructions after every arithmetic operation.
The point here is that if you want performant arithmetic it’s all about what the processor is designed to do, not anything to do with the languages. Java defines integer wrap as the language’s standard behaviour but as a result it incurs a performance penalty for integer arithmetic on processors which don’t behave this way. C doesn’t incur this penalty because it basically accepts that overflow works however the processor implements it. And let’s face it if your program is reliant on the exact semantics of overflowing numbers you’re probably doing it wrong anyway.
There are some processors which provide interrupts on integer overflow. This eliminates the performance penalty associated with overflow checks if your language is Ada and so you want to trap on overflow. There are other semantics around too - DSP processors often have “clamp on overflow” instead since that suits the use case better and old Unisys computers use ones complement rather than twos complement so their overflow behaves slightly differently.
Performance penalty of “trap on overflow” can be reduced by clever modeling, for example by allowing delayed trap instead of immediate trap. As-if Infinitely Ranged is one such model. Immediate trap disallows optimizing a+b-b to a, because if a+b overflows the former traps and the latter doesn’t. Delayed trap allows such optimization.
I’m a bit puzzled why the author seems to think that integer wrap on overflow behaviour has something to do with C and undefined behaviour.
You are mixing up underlying behaviour of the processor with defined (or un-defined) behaviour of the language. Wrap on integer overflow is indeed the natural behaviour of most common processors, but C doesn’t specify it. The post is saying that some people have argued that wrap-on-overflow should be the defined behaviour of the C language, or at least the implementation-defined behaviour implemented by compilers, and then goes on to provide arguments against that. There is a clear example in the post of where behaviour of a C program doesn’t match that of 2’s complement arithmetic (wrapping).
The same thing happens with nearly all languages which use the processor’s integer arithmetic, because those semantics are provided by the processor itself.
That’s the point - in C, it doesn’t happen.
I don’t get the point. The advantage of using integer wrap for C on processors that implement integer wrap is that it is high performance, simplifies compilation, has clear semantics, and is the semantics programmers expect. If you want to argue that it should be e.g. trap on overflow, you need to provide a reason more substantive than theoretical compiler optimizations that are shown by hand waving. The argument that it should be “generate code that overflows but pretend you don’t” you needs a stronger justification because the resulting semantics are muddy as hell. I’m actually in favor of a debug mode overflow trap for C but a optimized mode of use processor semantics.
you need to provide a reason more substantive than theoretical compiler optimizations that are shown by hand waving
Read the post, then; there are substantive reasons in it. I’m not engaging with you if you’re going to start by misrepresenting reasoned arguments as “hand waving”.
“However, while in many cases there is no benefit for C, the code generation engines and optimisers in compilers are commonly general and could be used for other languages where the same might not be so generally true; “
Ok! You think that’s a substantive argument.
It means that you’re misrepresenting the argument, which you are. I said that the post contained substantive reasons, you picked a particular part and insinuated that I had claimed that that particular part on its own constituted a substantive reason, which I didn’t. And: you said “If you want to argue that it should be e.g. trap on overflow, you need to provide a reason more substantive than theoretical compiler optimizations that are shown by hand waving” but optimisations have nothing very little to do with trapping being a better behaviour than wrapping, and I never claimed they did, other than to the limited extent that trapping potentially allows some optimisations which wrapping does not. But that was not the only reason given for trapping being a preferable behaviour; again, you mis-represented the argument.
I’m a bit puzzled why the author seems to think that integer wrap on overflow behaviour has something to do with C and undefined behaviour.
They are related, yes. E.g. whilst signed integer overflow is well defined in most individual hardware architectures (usually as a two’s compliment wrap), it could vary between architectures, and thus C leaves signed integer overflow undefined.
As a European, I don’t quite get it: Americans seem to be concerned with net neutrality, meanwhile not protesting huge monopolistic corporations(the gatekeepers) removing some controversial users on their own judgement and with no way to appeal. Are individuals excluded from the net neutrality?
I’m not very familiar with the legal details, but I assume the distinction is general access to the internet being considered a utility, while access to platforms being considered something like a privilege. E.g. roads shouldn’t discriminate based on destination, but that doesn’t mean the destination has to let you in.
edit: As to why Americans don’t seem as concerned with it (which is realize I didn’t address): I think most people see it as a place, like a restaurant. You can be kicked out if you are violating policies or otherwise disrupting their business, which can include making other patrons uncomfortable. Of course there are limits which is why we have anti-discrimination laws.
Well, they’re also private, for-profit companies that legally own and sell the lines. So, there’s another political angle where people might vote against the regulations under theory that government shouldn’t dictate how you run your business or use your property, esp if it cost you money. Under theory of benefiting owners and shareholders, these companies are legal entities specifically created to generate as much profit from those lines as possible. If you don’t like it, build and sell your own lines. That’s what they’d say.
They don’t realize how hard it is to deploy an ISP on a shoe-string budget to areas where existing players already paid off the expensive part of the investment, can undercut you into bankruptcy, and (per people claiming to be ISP founders on Hacker News) will even cut competitors’ lines “accidentally” so their own customers leave them. In the last case, it’s hard to file and win a lawsuit if you just lost all your revenue and opponent has over a billion in the bank. They all just quit.
…existing players … (per people claiming to be ISP founders on Hacker News) will even cut competitors’ lines “accidentally” so their own customers leave them.
One of them described a situation with a contracted, construction crew with guy doing the digging not speaking English well. They were supposedly digging for incumbent but dug through his line. He aaid he pointed that it was clearly marked with paint or something. The operator claimed he thought that meant there wasnt a line there.
That’s a crew that does stuff in that area for a living not knowing what a line mark means. So, he figured they did it on purpose. He folded since he couldnt afford to sue them. Another mentioned them unplugging their lines in exchanges or something that made their service appear unreliable. Like the rest, they’d have to spend money they didnt have on lawyers who’d have to prove (a) it happened snd/or (b) it was intentional.
The landmark case in the United States is throttling of Netflix by Comcast. Essentially, Comcast held Netflix customers hostage until Netflix paid (which they did).
It’s important to understand that many providers (Comcast, AT&T), also own the channels (NBC, CNN, respectively). They have an interest in charging less for their and their partners content, and more for their competitors content, while colluding to raise prices across the board (which they have done in the past with television and telephone service).
Collectively, they all have an interest in preventing new entrants to the market. The fear is that big players (Google, Amazon) will be able to negotiate deals (though they’d probably prefer not to), and new or free technologies (like PeerTube) will get choked out.
Net neutrality is somewhere where the American attitude towards corporations being able to do whatever to their customers conflicts with the American attitude that new companies and services must be able to compete in the marketplace.
You’re right to observe that individuals don’t really enter into it, except that lots of companies are pushing media campaigns to sway public opinion towards their own interests. You’re seeing those media campaigns leaking out.
Switching to the individual perspective.
I just don’t want to pay more for the same service. In living memory Americans have seen their gigantic monopolistic telecommunications company get broken up, and seen prices for services drop 100 fold; more or less as a direct consequence of that action.
As other posts have noted, the ISP situation in the US is already pretty dire unless you’re a business. Internet providers charge whatever they can get away with and have done an efficient job of ensuring customers don’t have alternatives. Telephone service got regulated, but internet service did not.
Re-reading your post after diving on this one… We’re not really concerned about the same gatekeepers. I don’t think any American would be overly upset to see players like Amazon, Facebook, Google, Twitter, and Netflix go away and I wouldn’t be surprised to see one or more of those guys implode as long as they don’t get access to too much of the infrastructure.
Right-leaning US Citizen here. I’ll attempt to answer this as best as I can.
Net neutrality is being pushed by the media because it “fights discrimination”, and they blame the “fascist, nazi right” for it’s repeal (and they’re correct, except for the “fascist, nazi” bit). But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).
I can’t speak to why open-source advocates are also pushing for net neutrality, because (in my opinion) the government shouldn’t be involved in how much internet costs. I do remember this article was moderately interesting, saying that the majority of root DNS servers are run by US companies. But, that doesn’t really faze me. As soon as people start censoring, that get backlash whether the media covers it or not
Side note, the reason you don’t see the protests against the “gatekeepers” is that most of the mainstream media isn’t accurately covering the reaction of the people to the censorship. I bet you didn’t know that InfoWars was the #1 news app with 5 stars on the Apple app store within a couple of weeks of them getting banned from Facebook, etc. I don’t really have any opinion about Alex Jones (lots of people on the right don’t agree with him), but you can bet I downloaded his app when I found out he got banned.
P.S. I assumed that InfoWars was what you were referring to when you said “removing some controversial users” P.P.S. I just checked the app store again, and it’s down to #20 in news, but still has 5 stars.
But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).
I think this is too optimistic. I live in Chicago, the third biggest city in the country and arguably the tech hub of the midwest. In my building I get to choose between AT&T and Comcast. I’m considered lucky: most of my friends in the city get one option, period. If their ISP starts doing anything shady they don’t have an option to switch, because there’s nobody they can switch to.
I think this is too optimistic. I live in Chicago, the third biggest city in the country and arguably the tech hub of the midwest. In my building I get to choose between AT&T and Comcast. I’m considered lucky: most of my friends in the city get one option, period. If their ISP starts doing anything shady they don’t have an option to switch, because there’s nobody they can switch to.
It’s interesting to contrast this to New Zealand, where I live in a town of 50,000 people and have at least 5 ISPs I can choose from. I currently pay $100 NZ a month for an unlimited gigabit fibre connection, and can hit ~600 mbit from my laptop on a speed test. The NZ government has intervened heavily in the market, effectively forcing the former monopolist (Telecom) to split into separate infrastructure (Chorus) and services (Telecom) companies, and spending a lot of taxpayer money to roll out a nationwide fibre network. The ISPs compete on the infrastructure owned by Chorus. There isn’t drastic competition on prices: most plans are within $10-15 of each other, on a per month basis, but since fibre rolled out plans seem to have come down from around $135 per month to now around $100.
I was lucky to have decent internet through a local ISP when I lived in one of Oakland’s handful of apartment buildings, but most people wouldn’t have had that option. I think the ISP picture is a lot better in NZ. Also, net neutrality is a non-issue, as far as I know. We have it, no-one seems to be trying to take it away.
I’m always irritated that there are policies decried in the United States as “impossible” when there are demonstrable implementations of it elsewhere.
I can see it being argued that the United States’s way is better or something, but there are these hyperbolic attacks on universal health care, net neutrality, workers’ rights, secure elections, etc that imply that they are simply impossible to implement when there are literally dozens of counterexamples…
At the risk of getting far too far off topic.
One of the members of the board at AT&T was the CEO of an insurance company, someone sits on the boards of both Comcast/NBC and American Beverages. The head of the FCC was high up at Verizon.
These are some obvious, verifiable, connections based in personal interest. Not implying that it’s wrong or any of those individuals are doing anything which is wrong, you’ve just gotta take these ‘hyperbolic attacks’ with a grain of salt.
Oh yeah it’s infuriating. It helps to hit them with examples. Tell them the media doesn’t talk about them since they’re all pushing something. We all know that broad statement is true. Then, briefly tell them the problems that we’re trying to solve with some goals we’re balancing. Make sure it’s their problems and goals. Then, mention the solution that worked else where which might work here. If it might not fit everyone, point out that we can deploy it in such a way where its specifics are tailored more to each group. Even if it can’t work totally, maybe point out that it has more cost-benefit than the current situation. Emphasize that it gets us closer to the goal until someone can figure out how to close the remaining gap. Add that it might even take totally different solutions to address other issues like solving big city vs rural Internet. If it worked and has better-cost benefit, then we should totally vote for it to do better than we’re doing. Depending on audience, you can add that we can’t have (country here) doing better than us since “This is America!” to foster some competitive, patriotic spirit.
That’s what I’ve been doing as part of my research talking to people and bouncing messages off them. I’m not any good at mass marketing, outreach or anything. I’ve just found that method works really well. You can even be honest since the other side is more full of shit than us on a lot of these issues. I mean, them saying it can’t exist vs working implementations should be an advantage for us. Should. ;)
Beautifully said.
My family’s been in this country since the Mayflower. I love it dearly.
Loving something means making it better and fixing its flaws, not ignoring them.
Thanks and yes. I did think about leaving for a place maybe more like my views. That last thing you said is why I’m still here. If we fix it, America won’t be “great again:” it would be fucking awesome. If not for us, then for the young people we’re wanting to be able to experience that. That’s why I’m still here.
Native Texan/Austinite here. Texas is the South, Southwest, or just Texas. All the rest of y’all are just Yankees. ;)
But if their ISP starts doing anything shady, they’ll surely get some backlash, even if they can’t switch they can complain.
They’ve been complaining for decades. Nothing happens most of the time. The ISP’s have many lobbyists and lawyers to insulate them from that. The big ones are all doing the same abusive practices, too. So, you can’t switch to get away from it.
Busting up AT&T’s monopoly got results in lower costs, better service, better speeds, etc. Net neutrality got more results. I support more regulation of these companies and/or socialized investment to replace them like the gigabit for $350/mo in Chattanooga, TN. It’s 10Gbps now I think but I don’t know what price.
Actually, I go further due to their constant abuses and bribing politicians: Im for having a court seizetheir assets, converting them to nonprofits, and putting new management in charge. If at all possible. It would send a message to other companies that think they can do damage to consumers and mislead regulators with immunity to consequences.
The problem is that corporate fines are generally a small percentage of profits.
https://www.theguardian.com/world/2011/apr/03/us-bank-mexico-drug-gangs https://www.huffingtonpost.com/dana-radcliffe/should-companies-obey-the-law_b_1650037.html
What incentive does the ISP have to change? Unless you can complain to some higher authority (FCC, perhaps) then there is no reason for the ISP to make any changes even with backlash. I’d be more incentivized to complain if there was at least some competition.
Net neutrality is being pushed by the media because it “fights discrimination”, and they blame the “fascist, nazi right” for it’s repeal
Nobody says this. It’s being pushed because it prevents large corporations from locking out smaller players. The Internet is a great economic equalizer: I can start a business and put a website up and I’m just as visible and accessible as Microsoft.
We don’t want Microsoft to be able to pay AT&T to slow traffic to my website but not theirs. It breaks the free market by allowing collusion that can’t be easily overcome. It’s like the telephone network; I can’t go run wires to everyone’s house, but I want my customers to be able to call me. I don’t want my competitors to pay AT&T to make it harder to call me than to call them.
But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).
That assumes people have a choice. They very often don’t. Internet service has a massively high barrier to entry, similar to a public utility. Most markets in the United States have at most two providers (both major corporations opposed to net neutrality). Very, very rarely is there a third.
More importantly, there are only five tier-1 networks in the United States. Five. It doesn’t matter how many local ISPs there are; without Net Neutrality, five corporations effectively control what can and can’t be transmitted. If those five decide something should be slowed down or forbidden, there is nothing I can do. Changing to a different provider won’t do a thing.
(And of those five, all of them donate significantly more to one major political party than the other, and the former Associate General Counsel of one of them is currently chairman of the FCC…)
I can’t speak to why open-source advocates are also pushing for net neutrality, because (in my opinion) the government shouldn’t be involved in how much internet costs.
Net neutrality says nothing about how much it costs. It just says you can’t charge different amounts based on content. It would be like television stations charging more money to Republican candidates to run ads than to Democratic candidates. They’re free to charge whatever they want; they’re not free to charge different people different amounts based on the content of the message.
Democracy requires communication. It does no good to say “freedom!” if the major corporations can effectively silence whoever they want. “At least it’s not the government” is not a good defense of stifling public debate.
And there’s a difference between a newspaper and a television/radio station/internet service. I can buy a printing press and make a newspaper and refuse to carry whatever I want. There are no practical limits to the number of printing presses in the country.
There is a limited electromagnetic spectrum. Not just anyone can broadcast a TV signal. There is a limit to how many cables can be run on utility polls or buried underground. Therefore, discourse carried over those media are required to operate more in the public trust than others. As they become more essential to a healthy democracy, that only becomes more important. It’s silly to say “you still have freedom of speech” if you’re blocked from television, radio, the Internet, and so on. Those are the public forums of our day. That a corporation is doing the blocking doesn’t make it any better than if the government were to do it.
Side note, the reason you don’t see the protests against the “gatekeepers” is that most of the mainstream media isn’t accurately covering the reaction of the people to the censorship.
There’s a big difference between Twitter not wanting to carry Alex Jones and net neutrality. Jones is still free to go start up a website that carries his message; with Net Neutrality not only could he be blocked from Twitter, but the network itself could make his website inaccessible.
There is no alternative with Net Neutrality. You can’t build your own Internet. Without mandating equal treatment of traffic, we hand the Internet over solely to the big players. Preventing monopolistic and oligarchic control of public discourse is a valid use of government power. It’s not censorship, it’s the exact opposite.
That assumes people have a choice. They very often don’t.
This was also brought up by @hwayne, @caleb and @friendlysock, and is not something that occurred to me. I appreciate all who are mentioning this.
More importantly, there are only five tier-1 networks in the United States.
Wow, I did not know that. I can see that as a legitimate reason to want net neutrality. But, I also think that they’ll piss off a lot of people if they can stream CNN but not InfoWars.
It just says you can’t charge different amounts based on content.
I understood it to also mean that you also couldn’t charge customers differently because of who they are. Also, don’t things like Tor mitigate things like that?
“At least it’s not the government” is not a good defense of stifling public debate.
I completely agree. But in the US we have a free market (at least, we used to) and that means that the government is supposed to stay out of it as much as possible.
Preventing monopolistic and oligarchic control of public discourse is a valid use of government power.
I also agree. But these corporations (the tier-1 ISPs) haven’t done anything noticeable to me to limit my enjoyment of conservative content, and I’m pretty sure that they would’ve by now if they wanted to.
The reason I oppose net neutrality is more because I don’t think that the government should control it than any more than I think AT&T and others should.
not only could he be blocked from Twitter, but the network itself could make his website inaccessible.
But they haven’t.
edit: how -> who
Even though I’m favoring net neutrality, I appreciate you braving the conservative position on this here on Lobsters. I did listen to a lot of them. What I found is most had reasonable arguments but had no idea about what ISP’s did, are doing, are themselves paying Tier 1’s, etc. Their media sources’ bias (all have bias) favoring ISP’s for some reason didn’t tell them any of it. So, even if they’d have agreed with us (maybe, maybe not), they’d have never reached those conclusions since they were missing crucial information to reflect on when choosing to regulate or not regulate.
An example is one telling me companies like Netflix should pay more to Comcast per GB or whatever since they used more. The guy didn’t know Comcast refuses to do that when paying Tier 1’s negotiating transit agreements instead that worked entirely different. He didn’t know AT&T refused to give telephones or data lines to rural areas even if they were willing to pay what others did. He didn’t know they could roll out gigabit today for same prices but intentionally kept his service slow to increase profit knowing he couldn’t switch for speed. He wasn’t aware of most of the abuses they were doing. He still stayed with his position since that guy in particular went heavily with his favorite, media folks. However, he didn’t like any of that stuff which his outlets never even told him about. Even if he disagrees, I think he should disagree based on an informed decision if possible since there’s plenty smart conservatives out there who might even favor net neutrality if no better alternative. I gave him a chance to do that.
So, I’m going to give you this comment by @lorddimwit quickly showing how they ignored the demand to maximize profit, this comment by @dotmacro showing some abuses they do with their market control, and this article that gives nice history of what free market did with each communications medium with the damage that resulted. Also note that the Internet itself was an open, free-if-you-have-a-wire system that competed with the proprietary, charge-per-use, lock-them-in-forever-if-possible systems the private sector was offering. It smashed them so hard you might have even never heard of them or forgotten a lot about them depending on your age. It also democratized more goods than about anything other than maybe transportation. Probably should stick with the principles that made that happen to keep innovation rolling. Net neutrality was one of them that was practiced informally at first then put into law as the private sector got too much power and was abusing it. We should keep doing what worked instead of the practices ISP’s want that didn’t work but will increase their profits at our expense for nothing in return. That is what they want: give us less or as little improvement in every way over time while charging us more. It’s what they’re already doing.
I read the comments, and I read most of the freecodecamp article.
I like the ideal of the internet being a public utility, but I don’t really want the government to have that much control.
I think the real problem I have with government control of the internet, is that I don’t want the US to end up like china with large swaths of the internet completely blocked.
I don’t really know how to solve our current problems. But, like @jfb said elsewhere in this thread, I don’t think that net neutrality is the best possible solution.
Also note that the Internet itself was an open, free-if-you-have-a-wire system that competed with the proprietary, charge-per-use, lock-them-in-forever-if-possible systems the private sector was offering. It smashed them so hard you might have even never heard of them or forgotten a lot about them depending on your age.
I might recognize a name, but I probably wasn’t even around yet.
So, I’m going to give you…
Thanks for the info, I’ll read it and possibly form a new opinion.
But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).
What obvious reasons? Because customers will switch providers if they don’t treat all traffic equally? That would require (a) users are able to tell if a provider prioritizes certain traffic, and (b) that there is a viable alternative to switch to. I have no confidence in either.
I don’t personally care if the prioritize certain websites, but I sure as hell care if the block something.
As far as I’m concerned, they can slow down Youtube by 10% for conservative channels and I wouldn’t give a damn even though I watch and enjoy some. What really bothers me is when they “erase” somebody or block people from getting to them.
well you did say they have an incentive to provide “equal service” so i guess you meant something else. net neutrality supporters like me aren’t satisfied with “nobody gets blocked,” because throttling certain addresses gives big corporations more tools to control media consumption, and throttling have similar effects to blocking in the long term. i’m quite surprised that you’d be fine with your ISP slowing down content you like by 10%… that would adversely affect their popularity compared to the competitors that your ISP deems acceptable, and certain channels would go from struggling to broke and be forced to close down.
Well, I have pretty fast internet, so 10% wouldn’t be terrible for me. However, I can see how some people would take issue with such a slowdown.
I was using a bit an extreme example to illustrate my point. What I was trying to say was that they can’t really stop people from watching the content that they want to watch.
I recall, but didn’t review, a study saying half of web site users wanted the page loaded in 2 seconds. Specific numbers aside, I’ve been reading that kind of claim from many people for a long time that a new site taking too long to load, being sluggish, etc makes them miss lots of revenue. Many will even close down. So, the provider of your favorite content being throttled for even two seconds might kill half their sales since Internet users expect everything to work instantly. Can they operate with a 50% cut in revenue? Or maybe they’re bootstrapping up a business with a few hundred or a few grand but can’t afford to pay for no artificial delays. Can they even become the content provider your liked if having to pay hundreds or thousands extra on just extra profit? I say extra profit since ISP’s already paid for networks capable of carrying it out of your monthly fee.
yeah, the shaping of public media consumption would happen in cases where people don’t know what they want to watch or don’t find out about something that they would want to watch
anti-democratic institutions already shape media consumption and discourse to a large extent, but giving them more tools will hurt the situation. maybe it won’t affect you or me directly, but sadly we live in a society so it will come around to us in the form of changes in the world
But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).
Most customers have exceedingly limited options in their area, and they’re not going to switch houses because of their ISP. Especially in apartment complexes, you see cases where, say, Comcast has the lockdown on an entire population and there really isn’t a reasonable alternative.
In a truly free market, maybe I’d agree with you, but the regulatory environment and natural monopolistic characteristics of telecomm just don’t support the case.
Most customers have exceedingly limited options in their area, and they’re not going to switch houses because of their ISP.
That’s a witty way of putting it.
But yeah, @lorddimwit mentioned the small number of tier-1 ISPs. I didn’t realize there were so few, but I still think that net neutrality is overreaching, even if its less than I originally thought.
Personally, I feel that net neutrality, such as it is, would prevent certain problems that could be better addressed in other, more fundamental ways. For instance, why does the US allow the companies that own the copper to also own the ISPs?
But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).
Awkward political jabs aside, most of your statements imply that you believe customers are free to choose who they get their internet from, which is just plain incorrect. Whatever arguments you want to make against net neutrality, there is one indisputable fact that you cannot just ignore or paper over:
ISPs do not operate in a free market.
In the vast majority of the US, cable and telephone companies are granted local monopolies in the areas they operate. That is why they must be regulated. As the Mozilla blog said, they have both the incentive and means to abuse their customers and they’ve already been caught doing it on multiple occasions.
most of your statements imply that you believe customers are free to choose who they get their internet from, which is just plain incorrect
I think you’re a bit late to the party, I’ve conceded that fact already.
All of that is gibberish. Net Neutrality is being pushed because it creates a more competitive marketplace. None of it has anything to do with professional liar Alex Jones.
But without net neutrality, the ISPs still have an incentive to provide equal service, because otherwise they’ll lose customers (for obvious reasons).
That’ s not how markets work. And it’s not how the technology or permit process for ISPs work. There is very little competition among ISPs in the US market.
Hey, here’s a great example from HN of the crap they pull without net neutrality. They advertised “unlimited,” throttled it secretly, admitted it, and forced them to pay extra to get actual unlimited.
@lorddimwit add this to your collection. Throttling and fake unlimited been going on long time but they couldve got people killed doing it to first responders. Id have not seen that coming just for PR reasons or avoiding local, govt regulation if nothing else.
I can’t speak to why open-source advocates are also pushing for net neutrality, because (in my opinion) the government shouldn’t be involved in how much internet costs.
It’s not about how much internet costs, it’s about protecting freedom of access to information, and blocking things like zero-rated traffic that encourage monopolies and discourage competition. If I pay for a certain amount of traffic, ISPs shouldn’t be allowed to turn to Google and say “want me to prioritize YouTube traffic over Netflix traffic? Pay me!”
Net neutrality is being pushed by the media because it “fights discrimination”, and they blame the “fascist, nazi right” for it’s repeal (and they’re correct, except for the “fascist, nazi” bit).
Where on earth did you hear that? I sure hope you’re not making it up—you’ll find this site doesn’t take too kindly to that.
I might’ve been conflating two different political issues, but I have heard “fascist” and “nazi” used to describe the entire right wing.
A quick google search for “net neutrality fascism” turned this up https://motherboard.vice.com/en_us/article/kbye4z/heres-why-net-neutrality-is-essential-in-trumps-america
“With the rise of Trump and other neo-fascist regimes around the world, net neutrality will be the cornerstone that activists use to strengthen social movements and build organized resistance,” Wong told Motherboard in a phone interview. “Knowledge is power.”
You assume that net neutrality is a left-wing issue, which it’s not. It actually has bipartisan support. The politicians who oppose it have very little in common, aside from receiving a large sum of donations from telecom corporations.
As far as terms like “fascist” or “Nazi” are concerned—I think they have been introduced into this debate solely to ratchet up the passions. It’s not surprising that adding these terms to a search yields results that conflate the issues.
Ill add on your first point that conservatives who are pro-market are almost always pro-competition. They expect the market will involve competition driving whats offered up, its cost down, and so on. Both the broadband mandate and net neutrality achieved that with an explosion of businesses and FOSS offering about anything one can think of.
The situation still involves 1-3 companies available for most consumers that, like a cartel, work together to not compete on lowering prices, increasing service, and so on. Net neutrality reduced some predatory behavior the cartel market was doing. They still made about $25 billion in profit between just a few companies due to anti-competitive behavior. Repealing net neutrality for anti-competitive market will have no positives for consumer but will benefit roughly 3 or so companies by letting them charge more for same or less service.
Bad for conservative’s goals of market competition and benefiting conservative voters.
One part of it is that we already have net neutrality, and it’s easier to try to hang on to a regulation than to create a new one.
There is no way to measure the number of times a billboard on the side of a highway has been looked at.
Companies like Verizon Precision Marketing do exactly this: They monitor how many people walk or drive by (facing) a given billboard using radio data from mobile phones.
It is not possible to estimate the percentage of people who glanced at a magazine ad and subsequently bought the product.
Of course it is. You try a new publisher for three months and look at the sales uptick.
You can estimate, sure, but it is an inexact science.
Digital is in the same boat: An “impression” can be caused by your cat.
I think we all know this though.
The amount of personally identifiable information companies have about their customers is absolutely perverse.
It’s also of very low-precision. So much so that a well-targeted ad actually gets into the news. If you don’t use an ad blocker, you can see the topics Oracle/BlueKai are monitoring at http://bluekai.com/registry and while there are some aggressive persona-based approaches to data, they’re only good in the statistical sense.
Publishers will call [blocking ads] unethical…
I know one gaming review site that sees 50% of their users with ad blockers. Their strategy? Double the ads. More clickbait. Reduce the quality year on year. But what can we do?
It’s a dark path, but it’s difficult to get anything else out there.
It is the publisher’s responsibility to develop a business model that is sustainable and ethical.
Says the man who uses Google and Twitter trackers on his own content.
Small publishers lack the ability to do this, so the “end game” is an “Internet” with Google, Facebook/Instagram, and Twitter. That’s it. I don’t want that Internet. I think it’s a horrible place.
Something else to consider: Chrome, Firefox, node.js, and literally everything you think you like is funded by advertising either directly, or by “speakers” and “contributors” who work for companies that do advertising.
Advertising has a long tail – the current state of digital marketing is a long way from sponsorship, but unless we too make suggestions on how publishers can get paid, they’ll just continue to taxi in the toilet as long as they can.
The personally identifiable information Facebook and Google have about me is certainly not low precision. Just because they don’t target me doesn’t mean that they don’t have the data. Facebook not allowing highly targeted ads anymore doesn’t mean that the data they could use to make those highly targeted ads has gone away.
I have a lot more confidence that people would subscribe to things if they had good options to subscribe to than you do, I guess. People said for years that they’d stop torrenting if they could watch good movies on a paid subscription service, or if they could listen to music in decent quality with a subscription, and people said they were the exception if they were even telling the truth. But with the popularity of Spotify and Netflix and such, it’s proven to be true. I don’t know anyone that torrents most of the stuff like watch and listen to, and those that do still torrent things are downloading TV shows that aren’t on New Zealand Netflix, music that is blocked on New Zealand Spotify, etc. Old BBC TV shows that haven’t been on in years and aren’t even available on DVD. Not out of laziness or greed but because it’s literally impossible to get it any other way.
Now sure, Spotify does have a free advertising-supported mode, but nobody wants frequent repetitive advertising while they’re listening to music so they pay the subscription fee. And Netflix is subscription-only. People are fine with subscribing to things. People would subscribe to news media again if they produced news media of decent quality. I’d subscribe to the newspaper again if half the pages weren’t advertisements and it stopped getting thinner every year. And I’d definitely subscribe to news websites if they weren’t all free, ignoring for a moment that the best quality news website in NZ by far is the Government-operated RadioNZ.co.nz, the rest essentially being tabloid junk.
As for ‘literally everything you think you like is funded by advertising either directly [or indirectly]’, I certainly would not say I like Firefox, Chrome or node.js. There are non-advertisement-funded alternatives to most things, and if there aren’t, there could be. There’s no real reason that Firefox couldn’t be free but with a subscription if you want to have your tabs/settings/bookmarks/etc. synced between devices, except that it’s competing with browsers for which that isn’t true. But if they weren’t competing with ‘make everything we offer free so that competing with us is nigh-impossible’ Google it could become a viable model. Drew DeVault’s sr.ht plans to have a subscription model instead of the VC funding model of GitHub. Free software was completely fine for my purposes when it was all developed by volunteers because they enjoyed doing it. If anything it was better before the corporatisation of the Linux world.
So I rather heftily reject the claim that everything I like is funded by advertising. In fact, the things funded by advertising tend to be crap designed to appeal to the lowest common denominator because numbers are more important than anything else in advertising.
In theory the poor benefit from ad-funded services because they use them for free while richer people pay for the things being advertised, but in practice let’s be honest: Coke doesn’t advertise so it will appeal to rich educated people.
Netflix absolutely advertises, and would not exist in its current form without previous successes with advertising.
So I rather heftily reject the claim that everything I like is funded by advertising.
It is difficult to pull apart your argument. I think at the beginning you’re talking about hypersegmentation, and then later I believe you’re confusing sponsorship with advertising. You agree that Firefox and GitHub are funded by advertising – but do not believe they need to be, and yet:
the things funded by advertising tend to be crap designed to appeal to the lowest common denominator because numbers are more important than anything else in advertising.
I don’t understand how to approach this: What “numbers” are you talking about?
I suspect we’re talking past each other.
Coke doesn’t advertise so it will appeal to rich educated people.
Coca-Cola spends almost $4bn a year on marketing and advertising, and that includes literally everything they do from television to coupons.
Netflix absolutely advertises, and would not exist in its current form without previous successes with advertising.
I’ve never seen an ad for Netflix anywhere. They’re popular because they are of high quality, have a broad range of programmes, and are cheap and don’t have ads.
It is difficult to pull apart your argument. I think at the beginning you’re talking about hypersegmentation, and then later I believe you’re confusing sponsorship with advertising. You agree that Firefox and GitHub are funded by advertising – but do not believe they need to be, and yet:
What? What are you even talking about? I’m talking about advertising. Firefox and GitHub are funded by advertising and VC respectively, and neither are necessary.
I don’t understand how to approach this: What “numbers” are you talking about?
The number of people looking at the advertisements is all that advertisers care about.
Coca-Cola spends almost $4bn a year on marketing and advertising, and that includes literally everything they do from television to coupons.
To appeal to the kind of people that drink coke i.e. poor and uneducated people.
To appeal to the kind of people that drink coke i.e. poor and uneducated people.
I live in an area (Mid-South) where people’s economic class varies incredibly. I can tell you poor people buy way less Coca-Cola than everyone else in my area since its strong brand and deals with retailers keeps its prices super high. They usually drink stuff like Sam’s Cola, Big K, cheap juices, and so on with Coca-Cola more sparingly. It’s working-class and up that drink Coca-Cola because it’s advertising and existing customer base pulled them into a substance that’s highly addictive. Then, many are basically junkies. Drugs work on all classes. Most that I see drink it are well-educated, too, that like its taste, mental high, and were introduced to it by parents or friends like the lower class people.
So, that claim is just bullshit through and through in this area. Probably most areas as anyone studying marketing, esp of addictive products, knows they target the emotional rather than rational aspects of the brain. Most people aren’t doing careful analysis of what they drink. They buy it for irrational reasons then continue drinking it for irrational reasons. But they like that product for those reasons. And advertisers play on those thinking patterns and/or impulses.
Netflix absolutely advertises, and would not exist in its current form without previous successes with advertising.
I’ve never seen an ad for Netflix anywhere.
https://www.mediapost.com/publications/article/313753/netflix-spent-more-than-1b-on-advertising.html
Or did you actually believe that because you have never seen an ad that it somehow means that Netflix doesn’t advertise?
They’re popular because they are of high quality, have a broad range of programmes, and are cheap and don’t have ads.
My understanding is that they broke into the Blockbuster “monopoly” with a combination of a shorter supply chain and aggressive advertising.
Why exactly do you think they would have been in a position to launch their “high quality broad range of programmes” online service against a number of incumbents without advertising?
Or are you imagining some fantasy world where there is no advertising and everyone is on equal footing because of that?
If so, I’m not interested in that conversation because it’s pointless: We’ve had advertising longer than we’ve had the printing press.
The number of people looking at the advertisements is all that advertisers care about.
That’s not true.
Advertisers represent a wide range of interests from brand awareness to some action (direct response, sales uplift, etc). Incentive marketers are often interested more in the response than in their own brand (since the respondent is unlikely to recognise it). Content marketers are interested in shifting discussion points and trending (especially in news). And so on.
To appeal to the kind of people that drink coke i.e. poor and uneducated people.
Why exactly do you think Coke doesn’t market to any demographic except “poor and uneducated people?”
It is difficult to pull apart your argument.
What? What are you even talking about?
I’m trying to understand your blathering and you’re not making it easy.
Can you restate your point more carefully and succinctly? It’s all over the place.
Or did you actually believe that because you have never seen an ad that it somehow means that Netflix doesn’t advertise?
If Netflix advertised in New Zealand I would be fairly likely to have seen it advertising in New Zealand. New Zealand’s media landscape is pretty small: there aren’t a huge number of TV channels or newspapers, there aren’t a lot of different places to advertise, and I live in one of our biggest cities. They might advertise, but even if they do, it’s small enough that I haven’t noticed, and I absolutely still keep to my claim that their popularity here is due to quality and price, not advertising. They didn’t need advertising to become popular. You never do if your product is any good.
Or are you imagining some fantasy world where there is no advertising and everyone is on equal footing because of that?
That’s a much more ideal world than the one we’re living in now. Certainly advertising should be made illegal, it’s psychologically manipulative. Advertising tobacco is illegally pretty much everywhere, alcohol advertising is pretty restricted, and advertising medicine is illegal everywhere that isn’t the US and NZ as far as I’m aware. It would be great to extend that to a blanket ban on advertising.
If so, I’m not interested in that conversation because it’s pointless: We’ve had advertising longer than we’ve had the printing press.
Something being around for a long time doesn’t make it good or immune to being banned today. We had lead in petrol for a long time, we’ve had murder for a long time. It was fully expected and condoned for soldiers in war to rape and pillage wherever they went, until we decided as a society that wasn’t okay.
Why exactly do you think Coke doesn’t market to any demographic except “poor and uneducated people?”
I think that’s pretty obvious. They obviously aren’t going to say so, but it’s their entire brand.
I’m trying to understand your blathering and you’re not making it easy.
This forum is meant to be polite, so I’ll try to be polite in saying this. I’m not blathering, nor is my point ‘all over the place’. Your lack of understanding is more indicative of you than it is of me.
My point was extremely clear: the world doesn’t need advertising, and open source doesn’t need advertisement funding or corporate funding. You claimed, wrongly, that ‘everything you think you like is funded by advertising either directly or indirectly’. That’s simply wrong, on the face of it, for obvious reasons. Some are, a lot aren’t, clearly and obviously it’s not the case that literally all of them are. Of those that are, none of them need to be funded by advertising. That’s a pretty clear and simple point.
If Netflix advertised in New Zealand I would be fairly likely to have seen it
Here’s a billboard in New Zealand paid for by Netflix. You’re welcome.
I absolutely still keep to my claim that their popularity here is due to quality and price, not advertising.
Netflix wouldn’t exist without advertising full stop, let alone in New Zealand, so I disagree, but why are you arguing about this?
Why exactly do you think Coke doesn’t market to any demographic except “poor and uneducated people?”
I think that’s pretty obvious. They obviously aren’t going to say so, but it’s their entire brand.
It’s not obvious to me (who has worked with Coca-Cola’s marketing team in the past), or the first three links on a Google search for Coca-Cola’s target market.
Coca-cola spends around 10% of their revenue on marketing. Spending almost $565m on marketing in the US alone, I find it very difficult to believe their only target market is “poor and uneducated people”.
To put that in perspective, Google spends around $350m in the US, and I don’t know anyone who believes that only “poor and uneducated people” use Google in the US…
If you have an interesting point, you should get to it: It’s certainly not obvious that Coke only market to “poor and uneducated people”, and more to the point: I don’t even believe that it’s true.
the world doesn’t need advertising, and open source doesn’t need advertisement funding or corporate funding.
Great.
How do we get there from here?
That can be an interesting discussion. Trying to pretend we’re not currently dependant on advertising to produce good products isn’t productive.
You claimed, wrongly, that ‘everything you think you like is funded by advertising either directly or indirectly’. That’s simply wrong
It may be morally wrong, but it’s not incorrect.
I’m happy to talk about the former with you, but you’re not equipped to discuss the latter.
This forum is meant to be polite, so I’ll try to be polite in saying this. I’m not blathering, nor is my point ‘all over the place’. Your lack of understanding is more indicative of you than it is of me.
After being here three days, do you think you should be telling people what this forum is “meant to be”?
Are you furthermore calling me stupid for not understanding what your point is?
If so, you can go back to reddit.
being here three days
How long someone has been commenting is not the same as how long someone has been here. Not interested in continuing a conversation with someone so rude.
I think that’s pretty obvious. They obviously aren’t going to say so, but it’s their entire brand.
Why learn anything when you already know everything?
I adopt a simpler approach: I’m Ads-Adverse.
The more you try to sell me something, the less I’m going to buy it.
This came from realizing that useful products do not really need much marketing.
I also learned to spot the manipulations of ads and joke about them, making people realize they do not need the products either.
Finally I’m teaching my daughters to do the same, and it’s incredible how good they are at this!
As for IoT my approach is even simpler: do not buy anything whose software I cannot recompile from sources and reinstall.
This came from realizing that useful products do not really need much marketing.
But, they do need some. You have to be aware a product exists, outside of shifting power to an intermediary between you and the product – what do you consider acceptable?
It’s interesting that you say that. I try to consciously avoid paying attention to ads or seeing them at all. I don’t watch broadcast television, for example.
But ads undeniably get in there anyway, and think about it: think of a fast food place. Think of a brand of toothpaste. Ads aren’t just about yelling at you to go buy a particular thing, they’re also about brand awareness. There are the really obvious ads like the Coke ads where they have people drinking coke and looking like they’re happy, but they’re quite transparent. What I really hate is the pervasive advertising of brands just so that you, when you think of a product, think of their brand. And that’s hard to stop, even if you’re consciously aware of it.
The trick indeed is not to forget the Ads.
It’s to avoid the products you remember.
It’s to effectively demage their brand by ridiculizing their campaigns.
And to teach people (particularly children) to do the same (and trust me, they are great! :-D)
I’m sometimes astonished by just how fantastic kids are at that sort of thing. They just don’t give a shit, if you’ll excuse my French.
Pass is pretty awesome: https://www.passwordstore.org/
Rust meanwhile notes that you can’t safely write a performant data structure in Rust, so they urge you not to do that.
The interesting thing to me is the linked FAQ (https://www.rust-lang.org/en-US/faq.html#can-i-implement-linked-lists-in-rust) literally doesn’t say that.
It says:
I wonder if this was an oversight or misunderstanding?
As a follow-up, in the conclusion you say:
I think that in practice they may not be making real life shipped code a lot more secure - also because not that much actual Rust code is shipping.
While just one of the undoubtedly many examples which could be brought up, I hadn’t realized the Quantum CSS engine from Firefox was so short! More seriously, the achievements in Firefox are remarkable and inspiring, and is a large amount of code shipping to real users, and used every day.
One thing I like very much about the borrow checker is it took memory access problems and turned it in to a generic resource safety problem. Using the simple primitives available I’m able to easily encode usage requirements, limitations, and state changes through borrows and Drops and have them checked at compile time. This is really powerful, and I very much appreciate it.
For whatever it is worth, I’m a rubbish C dev – not to be trusted to write a single line – who has found Rust to be an comfortable and pleasant experience in only a few weeks of free-time practice.
Hi - I worded this incorrectly. What I meant to say was that the FAQ says performance will disappoint unless you go into unsafe mode. “For example, a doubly-linked list requires that there be two mutable references to each node, but this violates Rust’s mutable reference aliasing rules. You can solve this using Weak, but the performance will be poorer than you likely want. With unsafe code you can bypass the mutable reference aliasing rule restriction, but must manually verify that your code introduces no memory safety violations.”. I’ve updated the wording a bit. Apologies for the confusion.
It is improved, but they don’t urge you to not do it. However, still, unsafe Rust is still safer than C.
It definitely is in context of bigger picture. The default in C for doing Rust’s level of safety is separation logic with tools like VCC. Hard to learn, slow to develop (2loc/day at one point), and solvers likely slower than compiler checks. Rust brought that level of safety to most apps using a simplified model and checker. Both the checker and resulting code usually perform well. The quote indicates it can’t handle some optimized, low-level, data structures. Those atypical cases will need verification with external tool or method.
In light of that, Rust gets safer code faster than C in most verification cases but maybe equivalent labor in some. Rust still seems objectively better than C on being safe, efficient, and productively so.
there are languages in which linked lists are primitives or maybe even invisible. But if you are going to specify a language for writing programs that include linked lists, you should not have to use pragmas. This is a characteristic computer science trope: “we have a rigorous specification of this which cannot ever be violated unless you push the magic button”. It’s a way of acting as if you have solved a problem that you have simply hidden.
Be nice if crypto authors would spend less time explaining how simple, clean, and easy to use their apis are, and more time explaining the APIs and providing examples.
This really seems like a series of own goals based on the incorrect assumption that all optimization depends on taking away the ability of a lower level language to address memory directly. Of course, languages like Lua or Haskell have an abstract state in which we can simplify memory access by making sure references to memory do not overlap and are strictly associated with a type. But C and C++ are not designed to provide that level of insulation from the processor memory model, so the compiler developer needs to think differently.
Optimizations do depend on “pointers are not integers” or inability to guess/manufacture pointers. Otherwise you can’t even prove external pointers do not alias with local variables.
Some optimizations depend on aliasing rules. But a great deal of optimization does not. So it is incorrect to claim that straightforward C type pointer semantics is incompatible with optimization in general. You could show that that aliasing based optimizations are super important to C code, but I have never seen anyone provide any data for that.
In general: “These types of optimizations are available in high level languages, but harder or impossible in C unless we make it impossible to use so let’s make C impossible to use” is not super persuasive.
Eh no? This is not about any specific aliasing rule. If pointers are integers, int a = 1; f(); /* use a */ can’t be optimized to /* use 1 */ because f can guess the address of a and modify it. This is disastrous.
Oh come on. The compiler is not required to protect programmers against such errors - and it doesn’t need to rely on aliasing rules for that. In fact; global declarations int a=1, *b = &a; plus f() { …. x = a; *b = 2; y = a;] is conforming C code - the compiler is NOT permitted to replace both a’ s with 1s. You want permission to violate basic language semantics. C does not have borrow-checker semantics, and Rust does not have it for unsafe code. That’ s a constraint on the compiler you should not try to fix by breaking the languages. The C programmer is supposed to know to use “const” or restricted.
“According to the professor, it’s simple. Overpaid artists don’t work harder; they work less.”
Beatings will continue until morale improves.
interesting how many law professors with tenure think it’s grand for musicians and artists to work for tips.
Regardless of whether the intended effect is reasonable or not, I don’t think this one-word change would really help. There’s still way too much ambiguity:
There’ve been a number of posts recently trying to argue that C should essentially do away with undefined behaviour; I think it’s time for people to move on and accept that the undefined behaviour has been inherent in the standard for some time, and made use of for optimisation by compilers for some (slightly lesser) time, and it’s here to stay. Code which relied on particular integer overflow behaviour, or aliasing pointers with incompatible types, or so on, was never really correct C - it’s just the compiler once (or at least usually) generated code which did what the code author intended. Now people are getting upset that they can’t use certain techniques they once did. In some cases this isn’t ideal - I’ll grant that there needs to be a simple way in standard C to detect overflow before it happens, and there currently isn’t - but it’s time to accept and move on. Other languages provide the semantics you want, and compiler switches allow for non-standard C with those semantics too; use them, and stop these endless complaints.
As for making the overflow behaviour “sane”, the notion that you could add two positive integers and then meaningfully check whether the result was smaller than either was bat-shit crazy to begin with.
As for making the overflow behaviour “sane”, the notion that you could add two positive integers and then meaningfully check whether the result was smaller than either was bat-shit crazy to begin with.
Wow, so all that work in finite field theory is bat-shit crazy?
The C standard defines “int” as fixed length binary strings representing signed integers and even has a defined constant max value. C ints are not bignums and C does not ask the compiler to detect or prevent overflows or traps or whatever the architecture does. As a consequence of the definition of ints, x+y > x cannot be a theorem. If it was a theorem, it would follow that ints can represent infinite sets of numbers which would be a great trick with a finite number of bits.
Can people stop “explaining” that making C into Java would be hard and would lose performance or that C ints are not really integers or other trivia as attempted justifications of these undefined program transformations?
As for making the overflow behaviour “sane”, the notion that you could add two positive integers and then meaningfully check whether the result was smaller than either was bat-shit crazy to begin with.
Wow, so all that work in finite field theory is bat-shit crazy?
That’s… not what I said.
Can people stop “explaining” that making C into Java
I’m afraid you’ve crossed your wires again. Nobody was talking about making C into Java.
so from the C standard I can both conclude that sizeof(int) == 4 or 8 and for int i, i+1 > i is a theorem so a test if(i+1 <= i) panic(); is “bat-shit crazy”? Think about it. Testing to see if addition of fixed length ints overflows is not only mathematically sound, but it matches the operation of all the dominant processors - that’s how fixed point 2s complement math works which is why almost all processors incorporate an overflow bit or similar. Ints are not integers.
so from the C standard I can both conclude that sizeof(int) == 4 or 8 and for int i, i+1 > i is a theorem so a test if(i+1 <= i) panic(); is “bat-shit crazy”?
The test “if (i + 1 < = i)” doesn’t make sense mathematically because it is always false. If the range of usable values of (i + 1) is limited, then it is always either false or undefined.
Testing to see if addition of fixed length ints overflows is not only mathematically sound
It’s very definitely not mathematically sound. Limited range ints only have mathematically sound operation within their limited range.
Ints are not mathematical integers. They are not even bignums. Try again.
Here is a useful theorem for you: using n bytes of data, it is impossible to represent more than 2^{8*n} distinct values.
In mathematics whether i+1 > i is a theorem depends on the mathematical system. For example in the group Z_n, it is definitely not true. Optimization rules that are based on false propositions will generate garbage.
“Limited range ints only have mathematically sound operation within their limited range.” - based on what? That’s absolutely not C practice and certainly not required by the C standard. It doesn’t follow mathematical practice and it’s way off as a model of how processors implement arithmetic.
Ints are not mathematical integers.
Right, they have a limited range. Within that range, they behave exactly as mathematical integers.
Here is a useful theorem for you: using n bytes of data, it is impossible to represent more than 2^{8*n} distinct values.
Irrelevant.
Right, they have a limited range. Within that range, they behave exactly as mathematical integers.
what do you base that on? And you know they don’t behave like the mathematical integers mod 2^n because? Even though that’s how the processors usually implement them?
There is nothing in the C standard that supports such an approach. In fact, if it were correct, then x << 1 would not be meaningful in C.
what do you base that on?
I base that on how the C language defines operations on them; for +, for example, “The result of the binary + operator is the sum of the operands”. It does not say “… the sum of the operands modulo 2^n”.
And you know they don’t behave like the mathematical integers mod 2^n because?
For unsigned types, the text says: “A computation involving unsigned operands can never overflow, because a result that cannot be represented by the resulting unsigned integer type is reduced modulo the number that is one greater than the largest value that can be represented by the resulting type” (C99 6.2.5). Therefore, the unsigned integers do behave like mathematical integers mod 2^n. However, there is no equivalent text for signed types, and C99 3.4.3 says: “An example of undefined behavior is the behavior on integer overflow”. Specifically, 6.5 says: “If an exceptional condition occurs during the evaluation of an expression (that is, if the result is not mathematically defined or not in the range of representable values for its type), the behavior is undefined.” (emphasis added).
I’m sure you will be able to find the corresponding sections in C11 if you wish.
There is nothing in the C standard that supports such an approach.
Not except for the text which describes it as such, as reproduced above.
In fact, if it were correct, then x << 1 would not be meaningful in C.
I could only guess how you came to that conclusion, but I don’t care to. This discussion has become too ridiculous for me. Good day.
However, there is no equivalent text for signed types, and C99 3.4.3 says: “An example of undefined behavior is the behavior on integer overflow”.
Correct. So it’s possible, if you are a bad engineer and a standards lawyer, to claim that the standard gives permission for the implementation to run Daffy Duck cartoons on overflow. However, nothing in the standard forbids good engineering - for example - it is totally permissable to use the native arithmetic operations of the underlying architecture and I am 100% sure that was the original intention. There is certainly no requirement for your “mathematics with holes in it” model and since there is no good engineering excuse for it, QED.
Since compilers already provide options for wrapping integer overflow, I think it’s a reasonable to propose to make those options default. After all, people who want undefined integer overflow for optimization or otherwise can use options to do so after default is changed. (If this sounds inconvenient, the exact same applies to “use options and stop complaints”.) Note that this change is backward compatible. (Although going back won’t be.)
Same applies for strict aliasing. I am much more uncertain about other undefined behaviors, for example null dereference, because when there are no pre-existing options such standard change would require (in my opinion quite substantial) additional work for implementations.
Since compilers already provide options for wrapping integer overflow, I think it’s a reasonable to propose to make those options default.
Just because compilers offer an option to do something, doesn’t mean that it’s reasonable to make that something a default. (But sure, if the standard gets changed - I doubt it will - so that integer overflow is defined as wrapping, everyone can use compiler flags to get the old behaviour back, and that would be perfectly acceptable).
I’d personally much rather have integer overflow trap than wrap. As far as I can see all that wrapping gives you is an easier way to check for overflow; there’s very few cases where it’s useful in its own right. The problem is, people will still forget to check, and then wrapping still gives the wrong result. But there’s no need to change the standard for this: I can already get it with a compiler switch. (edit: note also that trapping on overflow still allows some of the optimisations that defining it as wrapping wouldn’t).
I am much more uncertain about other undefined behaviors, for example null dereference
It would be easy enough to define that as causing immediate termination; the real question is whether this would be worth doing.
Edit: you may also have missed the main point of my comment, which was that this proposed (one-word) change would not actually cause the behaviour to become defined.
I am much more uncertain about other undefined behaviors, for example null dereference
It would be easy enough to define that as causing immediate termination
Easy enough to define it that way, sure, but I don’t think it would be a popular move in the embedded world – on MMU-less systems where the hardware might not trap it, seems like that would force the compiler to insert runtime checks before every pointer dereference.
Right, hence the note about considering whether it would be worth doing. (I suspect that what a lot of complaints about the standard are missing, is just how significant these little optimisations from exploiting the nature undefined behaviour are, when the code potentially runs on some small embedded device. Really, most of the complaints about the language should be re-directed to the compiler vendors: why do they not choose safer defaults? But then, to be fair, they largely do. I don’t think gcc for example enables strict overflow by default: you have to enable optimisation).
It would be easy enough to define that as causing immediate termination; the real question is whether this would be worth doing.
Nobody is asking for C implementations to force traps on null dereference. Nobody. So why are you trying to explain it would be hard or have negative consequences?
The statement you quoted had nothing to do with traps on overflow, it was about null pointer dereference. (In fact, I specifically argued for trap-on-overflow. I think you’ve got your wires seriously crossed).
Trap on null dereference is also something that is not necessary. What most people would prefer is that, when reasonable, the action be whatever is characteristic of the environment. So if the OS causes a trap or the architecure explodes on null dereference, or the OS (Like some versions of UNIX and many embedded systems) has valid memory at 0 the derefence fetches the data. This is not something that compilers have any useful information on and they should move on.
My point is while -fwrapv gives wrapping semantics, there is no similar flags for null dereference to compile to “whatever is characteristic of the environment”. This will need additional implementation work.
Look like it is on the way. This “optimization” is already a major source of error, but with LTO it’s going to be unspeakable. Consider a parsing library with extensive null checks linked with a buggy front end. Boom.
middle of the discussion http://lists.llvm.org/pipermail/llvm-dev/2018-April/122717.html
Thanks for the link!
Reading the whole thread (including continuation in May) reinforces my impression that this is substantial amount of work. Searching the archive for June and July, it seems the patch author is missing in action and no actual patch was posted.
This is essentially the proposal I have made. https://docs.google.com/document/d/1xouelPcphQ-o7DmdSwz5UcL42M6bdA3t93Nm_5Hbomc/edit?usp=sharing
In a slavery, the ultimate threat is the threat of violence. You can beat a disobedient slave. You can beat the gulagees or the prisoners in reeducation camps.
What is going on here is that some people who have terrible starts at life, were given an opportunity to make their lives relatively better. But these opportunities are relatively worse from the position of a western developed worlders. So these westerners then complain about the from-their-view-poorer conditions.
Do abuses exist, yes. But I know a teenager who works at a retail store who’s not realising his full leverage as given by the laws. His parents also let it slide, because they think it’s good for him to learn ‘how it is like in the real world’. So from a full-on lawyer perspective, one could say the guy is being abused.
The workers have to work a low paying job with bad condition because her financial situation, the relative wealth of her birth country and other factors reduce her negotiative power. But despite any of that, she’s better off working in these poor conditions with low pay than she would be back at her village. She is better of being given this opportunity.
The labour of developed countries back when the countries were developing had to endure such conditions too. And their leveraged that to give their children and themselves better lives in time. Every society has got to go through this process. If you try to impose enforced better pays and conditions, the employers will move to another country or another labour pool, and these poor workers will lose their chance to improve their lives. The surplus of poor people will always ensure that there’s some people ready to be ‘abused’ for $2 a day, because the alternative is even worse.
I think your comment could be a valuable historic source in the future.
It shows pretty well the kind of rationalization “western developed worlders” do of the oppression they foster and benefit from. Teenagers abused in retail stores learn “real world” just as girls that were abused in Nigeria.
Just because criminals do it, it’s not something we should teach.
In a slavery, the ultimate threat is the threat of violence.
Some consider tortures as a form of violence. And starvation is a form of torture, you know?
Just because it’s inflicted by a community instead of a deputed soldier, it does not means it’s less violent.
She is better of being given this opportunity.
You should really read more carefully.
These people pay for this “opportunity”. They literaly take loans on their house to pay for it.
And, it turns out, they pay to be enslaved. The product does not match the promises. They are tricked.
Because you know, when private people have the power to remove your civil rights if you don’t do what they want, you are a slave. And if they can remove your civil rights when you get pregnant, you are a slave. And they can force you to pay for a job, you are a slave…
Every society has got to go through this process. […]
The surplus of poor people will always ensure that there’s some people ready to be ‘abused’ for $2 a day..
Honestly I find this argument pretty disgusting.
Exploting people weakness just because you can is not something that have a place in a civil world.
As someone who claim to “fight for freedom”, you should really consider what kind of freedom you are supporting. The freedom of western consumers? The freedom of western IT companies? Who’s the freedom you care about?
It shows pretty well the kind of rationalization “western developed worlders” do of the oppression they foster and benefit from.
So how do you rationalise all the stuff you consume that were produce through this process?
Creating a demand is not inherently wrong. How companies choose to go about fulfilling the demand is where the concern is. One thing consumers do have is the power to choose which companies they spend their dollars with. Some companies are better than others.
Why should I rationalise?
I actively minimize the blood footprint of my purchease. And I only buy what I really need. Often used.
Also I actively teach people to be “Ads Adverse”: the more people try to convince me to buy something the less I’m going to buy it. Culture, knowledge and critical thinking are the key to freedom.
Indeed each marketing campaign convey (at least) two message:
Both are ridicously false! But propaganda’s goal is always to make the oppressed internalize the oppression so that they cannot challenge it effectively. As you can see in yourself, it’s pretty effective.
I do not rationalise the means of oppressions that oppress me, you and Malasian immigrants.
I study them. And I actively fight them through culture. I make them evident.
I do not think that the solutions to the bloody issues of Capitalism can be found in free market.
That’s groupthink. The solutions are in culture, knowledge, understanding.
Meanwhile I call people with their name, be it “murderer” at Uber and Tesla, “slavist” at Apple and so on…
I actively minimize the blood footprint of my purchease.
Do you?
Because the very fact that you are capable of replying to me, shows that you have not minimised your blood footprint.
I know it might seem impossible to people used to represent all values through the same unit, but in fact you can optimize several dimensions at once.
Also, in a complex system you have leverage, multipliers and so on to consider, so that you can have a zero (or even negative) sum over a dimension while having non-zero magnitudes all over the other dimensions.
But if all this math seems too complex for you, consider I have legally free access to several internet connected public and private computers that I did not buy and I do not own.
I let you as an exercise to guess how it is possible… :-)
many employers also confiscate and hold workers’ passports in order to keep them from leaving an untenable situation
The rule is suspended. https://www.thestranger.com/slog/2018/06/19/27874178/godwins-law-suspended-by-godwin
The surplus of poor people will always ensure that there’s some people ready to be ‘abused’ for $2 a day
I know that I won’t convince you to change your worldview by typing into a text box on a website where you have put your very worldview into your username, but please consider the possibility that poverty is intentionally created and sustained to maintain a cheap labor market.
What would that look like? Who would benefit? What would they say to keep it going? Does that imaginary world match what you see in the real one?
I’m actually surprised at the overwhelmingly positive responses to this.
There are many weak points in this particular ‘moral’ decision. First of all, if one moral culpability transfers to anybody that one does business with, you are essentially incapable of doing anything without being implicit in all kinds of things. Everything you use has had filthy hands on them. Minerals from African warlords abducting and coercing child-soldiers. Oil from middle eastern regimes, all of which are unsavoury. Everything you buy is taxed by the US government, so buying a candy from the petrol station means im contributing to the drone bombing of people on a low-res screen.
Does having children protect you from criminal liability? Do we forgive criminals because they have children and putting them in jail would be separating children from their parents? If we do, this is simply discrimination against non-parents
And how much sleuthing must one do to protect oneself conscience here? If it’s just a simple google of whomever one does business with, how do you convince yourself that you are not ‘turning a blind eye’ when enough money is on the table? The alternative of course means that in every transaction one must also be a dedicated detective, making sure that the person who’s buying your bike on craigslist doesn’t actually download unlicensed music. Clearly this level of burden is not reasonable, yet the opposite is simply ineffectual and everywhere in between is just a tradeoff between the two.
The more lenient one approaches the illegal-immigration issue, the more you tip the balance in favour of people coming. This exposes them to all kind of abuse and risk. It also discriminates against law-abiders. Why should people who follow the laws get punished by having to wait years while those that do not can just sneak it and benefit from the infrastructure, culture and all the other benefits of a developed country?
If a hobo family squats on your house right now, and you want to kick them off your property, but are willing to keep the kid in your home so he doesn’t freeze to death, you are actually a war criminal according to some people here.
It truly boggles the mind.
I think the argument is that just because you can’t prevent all evil doesn’t mean you shouldn’t try to prevent some evil. That seems sensible to me. Certainly, it’s something I try to live by.
I do somewhat agree with the gist of your argument though. I find a lot of the moralizing and attention around this issue to be pretty inconsistent. But that’s nothing new and is true of a lot of other things too. With that said, trying to tell people that they should be exercise boycotts and be outraged in a properly proportionate and consistent way is just never going to go over well.
Harping on the inconsistency might seem like a trite affair given what’s happening, but it always comes back to tribalism. It seems inescapable.
Whether (any policy involving different treatment for carers of kids) is discrimination against non parents depends on perspective. Every person benefits (once, as a child) from them, after all - unless you manage to spring fully formed from the earth.
We are talking about benefit to parents not to children. While everyone was a child once not everybody will become or are parents.
You are confusing the benefit derived from being a child and one derived from being a parent.
I don’t think the two are so separable; I think it’s reasonably clear (demographically) that advantages held by parents typically accrue to their children.
It is impossible to explain basic human decency to someone who finds the whole concept stupid. Your glib argument that there is no point in taking any moral stand at all because there is no perfection in the world is self-refuting. Your claim that not ripping babies from the arms of parents is “discrimination” against non-parents is ugly. Some people don’t have moral sense. Ok.
Your only argument is calling mine “self-refuting” and “ugly”. There’s absolutely no substance in any of it.
If you don’t like my argument but cannot logically refute it, then I think it is YOUR position that need a good reconsideration.
There is nothing logical or illogical about morality. It’s as logical to be sociopath as to be a decent person. But it’s telling that “libertarians” who find affirmative action to be the authoritarian bootheel of the armed state find lawbreaking by heavily armed ICE thugs in the cause of openly proclaimed terrorism plus enormously profitable no-bid government contracts for dog cages for human beings to be fair and reasonable. It’s almost as if your libertarian principles are just a bogus rationale for creepy selfishness and nothing like a coherent political idea.
find lawbreaking by heavily armed ICE thugs
It’s not illegal to stop criminals from entering the country illegally.
Additionally, if you allow people to bring in children to be used as essentially immigration hostage, then they will keep doing it, subjecting even MORE CHILDREN to the dangerous and inhumane condition of people smuggling.
Don’t just consider only local effects. That would be short-sighted and stupid.
They are not criminals. Particularly the children are not criminals. Many of the parents are attempting to apply for asylum under US law. I love how you “libertarians” don’t give damn about rule of law or due process when you feel a little uneasy. At that point, you are on your knees begging the armed police, at taxpayers expense, to commit any brutality.
Do you think people come over the border leaving comfortable homes? These people are fleeing the most desperate conditions. Our policies can make us despicable, but they can’t make parents not take even the slimmest chances to save their children.
The US can only take in so many people. There must be rules on how to choose who gets to go in. These rules must be followed, otherwise, you might as well have open border.
Do you want open border?
There are rules. Those rules are not being followed by the administration. But again, it is striking how libertarians will find that laws like taxes to pay for health care are impermissable violations of basic human rights, while taking children away from their parents and sending them to dog kennels is apparently ok outside any framework of law at all. Great moral system.
Engineers of all stripes have an ethical responsibility to uphold, and it’s in making tough choices, like turning down customers, that you prove your worth.
That being said, it makes me sad that a scandal like this one, which in my sense is plagued by political opportunism on the left, has so much traction.
Yeah… Some problems are not so clear cut. There are big differences between short term and long term outcomes, also between intent and outcome, as well as adjusting plans that don’t work well currently vs having evil intent.
So people getting upset that armed cops drag off 4 month old babies from their parents in an act of open terrorism seems outrageous and hysterical to you? People being blase or amused by the same thing seems outrageous to me.
No - The hysterics are ignoring the word of people there.
https://www.youtube.com/watch?v=eGuSdXiFtLk
This man seems genuine to me, and seems to save more children than anyone here.
moreover, if you take your or nebkors presented opinion at face value, that agent being interviewed is a terrorist, sadistic and evil. I never said wanting children to be safe are hysterics, but calling half the population evil while ignoring the whole argument is disingenuous to me.
There is no argument in favor of this policy other than the stated rationale of terrorism. You can either be for terrorism or against it. But being for it, you should get used to being called evil.
I’m not for it. as far as I know trump signed an order to end it which is fine by me. I never said I wanted children separated from parents.
Yes, now they get to be imprisoned with their parents, for the crime of attempting to seek asylum, which is against the law for our government to do.
I’m not saying all of ICE are terrorists. They do, however, all belong to the same violent and murderous gang.
it sounds like you live is an echo chamber or out of control feedback loop. Try getting information from more than one source.
We have access to the same information, and have come to different conclusions due to our conflicting values. If you’re ashamed of the label that fits your opinions, perhaps you should consider changing your opinions or values to be less shameful. But I assure you, the problem is not my sources of information. I suspect it’s not yours, either.
You are a like a sick caricature, You behave exactly how fox news and the right want their opposition to behave, total lunacy is easy to beat in elections.
Ok, let me apologize.
My ideal situation is everyone is allowed in, and there would a sentiment of charitable nature in the population fostered outside of government mandate to care for those who are in bad situations.
What would your ideal situation be?
The barest start is to acknowledge the current atrocities being directly executed by the police and immigration systems, and working to stop them. Things like people being cruelly detained, isolated, abandoned in a heartless bureaucracy, children separated, deporting to known unsafe zones, etc. Next up is recognizing and taking responsibility for our actions (“our” being the United States, apologies for US-centricity) in Latin America over the course of the last 150 years, along with recent drug policy, climate change, etc. that have created this refugee crisis.
Then we can get into abolishing prisons, disarming all cops, restoring the top marginal tax rate to 90%, providing healthcare and education and food, etc. and really start getting it correct.
So yeah, because the right wing believes in property over persons, in denying moral responsibilities, in short-sighted selfishness and avarice, they are by definition heartless and sadistic. They are in charge, and their actions speak for themselves.
In Torvald’s defense, his original never attacks any actual person, except for the hypothetical programmer who fails to use the flags to defeat strict aliasing. His insults are for the standards, the operation of the compilers, various ideas, etc. He never says that any actual person has negative qualities.
Like what?
The mod correctly removed my commentary from the story because, per the guidelines (which I missed), it should be in a separate comment. So in reference to your question I’m copying the removed comment here for context:
As far as what cars you can buy, there are many cars, new and old, that don’t have an Internet connection. Shop around. I personally plan to stick to used petrol based cars until auto manufacturers are able to design an electric car that I actually like.
Really? There are many new cars that don’t have internet connections? And software quality in most automobiles is appreciably better? Care to cite a source?
https://www.wired.com/brandlab/2016/02/how-connectivity-is-driving-the-future-of-the-car/
Indeed. People in cars represent a lucrative, and increasingly “captive” market for advertising.
This, coupled with the obvious interest of insurance companies and local tax authorities to know exactly where cars are and how fast they’re going will drive increasing addition of connectivity to cars. Note I did not say “adoption”, as it will be increasingly difficult to opt out of such connectivity.
It’s your choice to live in a Ferengi dystopia.
Lacking off planet travel options, …
You can buy older cars that are in good shape. The one I drive has no tracking devices. It’s pretty good on gas. Maintenance has been a few hundred this year. (Shrugs)
You gotta look carefully, though. Even low-end stuff might have tracking they dont advertise. At least they’re not remote-controlled, death machines.
The next frontier will be active, emination attacks on the computers trying to glitch them. Police in one area had something like that mounted on a helicopter. Low-cost, RF boards combined with high-output components will make those attacks cheaper. Might need TEMPEST sheilding for car computers even on older cars if expecting targetted attack.
Also, an older, common car will be cheap to fix due to being simpler (usually), part availability, commodity parts, and technician familiarity. There’s even junkyards out here like U-Pull-It that let you get parts out of wrecked or dead cars dirt cheap. Many parts are still fine even in a totalled vehicle.
https://www.bbc.co.uk/news/technology-25197786
Thanks. I can’t remember if it’s same company but same effect. The story also has this point supporting my recommendation of older vehicles in other comment:
“But because the device works on electronic systems, he acknowledged that it would not work on all older vehicles. ‘Certainly if you took a 1960s Land Rover, there’s a good chance you’re not going to stop it,’”
Might need really older vehicles for this one, though. Analog and mechanical systems to the rescue. :)
Let’s go back to those old slant-6s or straight 8s - 12mpg, spewing leaded gas fumes, heavy, none of that fancy electronic safety stuff like airbags, real distributors with points that could wear down, etc. Sadly, all engineering involves tradeoffs - if we are lucky
Most stuff your mentioning can be done without electronics or minimal use of them. They’re simple enough that they might also be able to use hardened electronics. There’s just nobody building cars that way due to no demand for RF-proof cars. We might see it happen in armored car side, though, if attackers start trapping important people in their cars.