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

The Javascript coercion rules, arcane as they are, are actually part of the spec and (barring any bugs) should work across browsers.


Is that a distinction worth making? By that standard, how many countries in the world are actually democracies?


Absolutely it is. Google the difference. A democratic republic ultimately derives power from the people. There are more checks and balances in place in America than one person one vote. More info [1]

[1] http://www.thisnation.com/question/011.html


And then they will outlaw the possession of said standard C software, as well as of computer hardware that does not comply with government-mandated eavesdropping. And then they will pass laws that force you to give up the encryption key to that Base64 data or face imprisonment. Even if the Base64 data is just a sequence of completely random bits - because who would keep sequences of random bits around, unless they're a terrorist trying to hide something?

I'm sorry, but I don't think pushing encryption down into the underworld is a viable solution to the problem. There's no limit to the bad laws that the government can pass. The only real long-term solution is to recognize encryption as a right, otherwise we'll only keep seeing these repeated attempts to outlaw it.


> And then they will pass laws that force you to give up the encryption key to that Base64 data or face imprisonment.

IMNAL, but my understanding is that such a law would run into rock solid, granite hard, iron clad parts of a little issue called the US Constitution. E.g., if the cops ask you a question, then you don't have to answer. The person's lawyer can just tell the cops that "My client has no idea what that base 64 gibberish is."

For encryption as a recognized right, no, that's asking a bit much of the US political system.

BTW, for the person receiving the base 64 code (that's the way JPGs, etc. are sent in e-mail), first go through base 64 decoding and, then, apply the receiver's private key to that to decode back to the secret message, e.g., where and when the boy and his girlfriend are going to meet and carve their initials on a tree.

Base 64 is in the internet standard for e-mail and there is called MIME for multi-media internet mail extensions. So, the idea of MIME is to permit sending pictures, audio, movies, etc.

So, in arithmetic, base 10 has digits 0-9, that is, 10 digits. Base 16 has, right, 16 digits, 0-9-A-F. Base 2 has, you guessed it, 2 digits, 0-1. Well, presto, bingo, base 64 has 64 digits, 0-9, a-z, etc., all simple, ordinary printable characters such as e-mail had been sending right along.

Well, with 6 bits, can count from 0 to 63, that is, have 64 different patterns. So, given a stream of bits, can replace each 6 of them with one of the base 64 digits. And there is a simple solution for what to do with any few bits left over. So, that is how to take any stream of bits and 'encode' it to just printable characters easy to send via e-mail.

A huge fraction of all Internet data is sent as base 64. So, base 64 data alone is nothing suspicious.


> IMNAL, but my understanding is that such a law would run into rock solid, granite hard, iron clad parts of a little issue called the US Constitution. E.g., if the cops ask you a question, then you don't have to answer. The person's lawyer can just tell the cops that "My client has no idea what that base 64 gibberish is."

"And here our intelligence network shows proof that your client has talked about this base64 gibberish in the past with other people, so let's add perjury to your charges".

But your point is valid, you have a right to not incriminate yourself in the US. The case with Apple, however, is that a third party you've trusted is being asked to breach that trust. The 5th does not apply at all.

Not to worry, however, as long as you don't communicate with anyone, you're safe. The moment you do communicate with someone though, you'd have to put your trust in them. And then the FBI could demand, from them, the conversations you've had. And then the 5th has no value.


> IMNAL, but my understanding is that such a law would run into rock solid, granite hard, iron clad parts of a little issue called the US Constitution. E.g., if the cops ask you a question, then you don't have to answer. The person's lawyer can just tell the cops that "My client has no idea what that base 64 gibberish is."

The US Constitution hasn't helped prevent the PATRIOT act, or the TSA's unreasonable search powers.

> A huge fraction of all Internet data is sent as base 64. So, base 64 data alone is nothing suspicious.

There's a difference between Base64 that decodes into a harmless cat picture, and Base64 that's apparently random. Unless we make it normal for everyone to have encrypted, random-looking data lying around, the few that choose to have it will be increasingly harassed by the government, even if they're not doing anything wrong.


It can be even worse than that. A significant number of routers forward IPv4 packets in hardware but fall back to a software implementation for IPv6. So it might happen that the real bottleneck is not memory but throughput.

As for sticking with IPv4 for increased capacity, it depends. Private networks might get away with it for their internal traffic, but no major ISP nowadays will deliberately choose not to route IPv6 for their customers.


Given that worldwide Internet adoption is still growing strong, it is conceivable that sooner or later a significant number of endpoints will only have IPv6 connectivity, or that their IPv4 connectivity will be limited to a private address behind a carrier-grade NAT.

Another point to consider is that there are things you can do with IPv6 connectivity that are very difficult/costly, or outright impossible, in NATted IPv4 land.

Personally, I'm waiting for the next generation of peer-to-peer protocols that make use of end-to-end IPv6 connectivity instead of hole-punching and proxying through third-parties. (Case study: ever thought how ridiculous it is that in 2015 it's still non-trivial to send a large file to someone over the Internet without using some sort of storage service?)

It's plausible that one of those new applications could end up being the "killer app" for IPv6.


So in what way exactly does the Internet as a whole benefit from allowing IPv4 addresses to be traded in a free market?

This is a honest question. I would like to know how we avoid ending up in a world where a few large companies control all the available IPv4 addresses (which they don't really need) so they can rent them to the rest of us at exhorbitant prices.

IPv6 won't render the problem moot - it's likely that IPv4 addresses will remain a necessity for globally reachable services for years to come, regardless of IPv6 adoption.


I always viewed the cause for slow IPv6 adoption as a lack of incentive - while IPv4 addresses are effectively free then where is the ROI in building an IPv6 infrastructure?

I guess that when IPv4 addresses are traded in a free market it is easier to realise the cost of not adopting IPv6, eventually leading to a faster adoption (which is a good thing for everyone, NAT is essentially making the internet a lot less cooler place than it could be).

Also, what would the alternative be? Just not handing out IPv4 blocks to new players and telling them "tough luck"? Or a lottery? I really don't know a better alternative to a free market.


Totally agree with you in that IPv6 and the end of NATs are great for the Internet.

My honest (though possibly unpopular) opinion is that the incentive should have been given years ago through government intervention, by legally compelling ISPs to provide IPv6 connectivity to their customers. If most of the Internet had been switched to IPv6 by now, no bidding war over IPv4 addresses would need to take place.

Naturally, it's moot to point out what could have been done and wasn't. But I think this illustrates a limitation of market-based incentives: they seem to work well on the short term, but have a tendency to fail on the long one. Slow IPv6 adoption is, in my view, a market failure that should have been corrected through government intervention.


I have IPv6 through my ISP, Comcast. It's completely broken and unusable due to a bug in the router they upgraded me to last year and force me to use because I have a business account. It took me half a day to figure out the cause of the problem. I'll probably wait another six months to look at it again. This is just one of many sad details plaguing the rollout of IPv6. Maybe the solution will come by skipping it entirely and using something backwards-compatible with IPv4, only with a larger address space (baby steps).


That's strange. My buddy across the street also has a Comcast Business account. While he does have to use a particular modem, it's handing out a DHCP lease to his personal Airport Extreme. He also has fully functioning IPv6 service.

Do you like, have several IPv4 addresses assigned to you or something?


We’re probably worse off if we let governments choose the technology winners. That could impose even higher costs than what we face today.


> Totally agree with you in that IPv6 and the end of NATs are great for the Internet.

I can see the advantages, but do I want my devices to have publicly routable addresses? I prefer that the public Internet doesn't know the exist and can't easily contact them without receiving a recent outbound connection. (Perhaps I missing an obvious solution here?)


What you want is called a firewall.

There seems to be this common misconception that a firewall and a NAT box are the same thing, but they're not. It just happens that most NAT implementations also work as firewalls (though not the other way round).

Even if you don't have a firewall, the odds of someone discovering your IPv6 address by chance (i.e. without you communicating with them first) are incredibly low. Common IPv6 deployment practice is to delegate at least a /56 prefix to each end user, so your device gets an address chosen at random from 2^72 possibilities. You can even hop into a different address every few minutes for added security (some IPv6 stacks do this).

So please don't spread the misconception that IPv6 is somehow less secure than IPv4! :)


This is a bit condescending and an overreaction. I know well what firewalls and NAT are, and I asked a question, I didn't assert any misconception.

I'll address the technical issues in my response to the other commenters response.


I certainly did not mean to be condescending. I offer my apologies if my post came across as so.


Thanks.


If your firewall (which you'll still need) is configured correctly, then the wider internet either won't know an address isn't routable, or won't be able to do anything even if it is (there are various schools of thought on blocking ICMP messages from the internet, which range from "you break the internet if you block ICMP" to "I'll blackhole ICMP so nobody knows my devices exist")


> the wider internet either won't know ...

Once a private device communicates with a public Internet server, won't that server and every network between it and the private device (my ISP, etc.) know a publicly routable IP address on my private network? I know a firewall could still help protect it (simple SPI, for example) but having a publicly routable IP would seem to simplify the attacker's job, and possibly reveal information about specific devices and users (i.e., track who is doing what).

Also, I assume my firewall's public IP must be on the same public subnet as my internal devices. It doesn't seem like it would be hard to guess the addresses of devices on the private side.

I haven't looked at IPv6 much, so again I suspect I'm overlooking something basic.

> If your firewall (which you'll still need) is configured correctly

In my experience, this situation isn't common -- especially among end users but even among professionals.


In the absence of a firewall, you are correct that any node that gets hold of the publicly routable address assigned to one of your devices will be able to communicate with it from the outside. This is indeed a problem for most users, who won't know or bother to configure one; ISPs should do it for them on the CPE.

Regarding the tracking of specific users: RFC 3041 stateless autoconfiguration (which is deployed at least on Linux and OSX - not sure about Windows) allows a device to switch to a new random IPv6 address within its assigned prefix every few minutes. This mitigates, though it does not eliminate, an attacker's ability to correlate connections originating from the same device over a period of time.

Naturally, all of those addresses will share a common IPv6 prefix. But that is no different from most residential NATs, where all connections are observed from the outside to originate from the same IPv4 address.

Also due to stateless autoconfiguration, guessing the address of a device from the outside is equivalent to finding a needle in a 2^64-straw haystack. It's not impossible, but it takes time and a lot of traffic to do so.


Thank you!


One alternative would be seizing unused addresses (as they are supposed to be) and auctioning them off. Repeating every so often if they're still unused.

This would raise prices (in the event that is really desired) while avoiding squatting and rent seeking.


Unused addresses often aren't. You might not be able to connect to them, but that doesn't mean disuse. There are various networks around whose operators want them to have unique addresses but not be connected to the global internet.

For example a power company I know about. The operators there decided to use public addresses for the power control/monitoring network instead of 10/8 to be sure of having unique addresses, even in case of a merger or cooperation with another power generator.


So this is cap-and-trade for IPv4?


I wrote a blog entry about some of these issues. http://ethanheilman.tumblr.com/post/104839763080/are-ip-addr...

IANA specifically states that a free-market of IP addresses would be harmful, instead they argue that IP allocation should be based on need and not treated as property.

>ISPs are required to utilize address space in an efficient manner. To this end, ISPs should have documented justification available for each assignment. The regional registry may, at any time, ask for this information. If the information is not available, future allocations may be impacted. In extreme cases, existing loans may be impacted. RFC 2050

Big companies have fought them on this and won.

>The court held that Nortel had an exclusive right to use the legacy numbers. The court also explicitly sanctioned Nortel’s exclusive right to transfer its exclusive right to use the numbers. In recognizing Nortel’s exclusive right to use legacy IPv4 numbers, the court implicitly found that Nortel had the exclusive right to possess the numbers themselves. Consequently, Nortel could exclude others from possession and use of the same legacy IPv4 numbers. In other words, the court found Nortel possessed the customary “bundle of rights” commonly associated with the ownership of tangible or intangible property. - Property Rights in IPv4 Numbers: Recognizing a New Form of Intellectual Property


The Coase theorem basically says that you can have any initial allocation of resources and so long as they are tradable, transaction costs are low, and a few other conditions are met, you will end up with an economically efficient outcome (i.e. those who will put the resources to the most remunerative use will end up with them).

Which isn't to say that any initial allocation will satisfy us as fair or that the outcome will satisfy us as fair, but a top down system may well end up being neither fair nor efficient.


How do we know the Coase theorem applies in this case?


It basically never applies; transaction costs are always sky-high. But it can still function as a sort of guide to thought, like Raymond Chen's "what if two programs had that feature". It's more useful if you think of it as saying "reality can't diverge from this goal state by more that a function of the local transaction costs, legal system, etc".


The internet as a whole doesn't need to benefit; the buyer and seller do. The internet as a whole benefits from the liberty that lets us act without permission from central authorities.

Also, we're currently in a world where no large company owns even 1% of the addresses, and heading towards one where IPv6 is the majority of traffic. Have a look at http://www.google.com/intl/en/ipv6/statistics.html and pretend to be an IPv4 address investor. The year-end figures are about 0.4, 1.0, 2.5 and 5.7%, so a little over 100% yearly growth for each of the past three years. If that goes on, we'll pass 50% IPv6 in 2017, and if that happens I rather doubt that IPv4 addresses will be worth much.

Of course that projection doesn't have to be right. Perhaps IPv6 growth slows down. But if you were an investor, would you invest heavily in v4 addresses on the assumption that IPv6 growth slows down? If so, why do you assume it'll slow down?

Oh, and I do think IPv6 will render IPv4 moot. Assuming that trading goes on, IPv4 will increasingly use tunnels and long-prefix routes, and then it'll have the kind of reliability problems v6 had around 2005.


So in what way exactly does the Internet as a whole benefit from allowing IPv4 addresses to be traded in a free market?

Compared to a world where you can't get IPs at any price? Seems pretty obvious: you can get IPs.

I would like to know how we avoid ending up in a world where a few large companies control all the available IPv4 addresses (which they don't really need) so they can rent them to the rest of us at exorbitant prices.

It seems like the cloud is already going there with only a few large providers. All I can suggest is to buy your IPs now before Amazon does.


> Compared to a world where you can't get IPs at any price? Seems pretty obvious: you can get IPs.

You seem to be presenting a false dichotomy; there are plenty of intermediate solutions between the current state of affairs and a laissez-faire market. At the very least, if we're going to set a price on IPv4 addresses, I think it should be set by the RIRs - not by the companies to whom they were allocated. (Remember that RIRs have the right to reclaim addresses that are not being used.)

In other words: my concern is not that IPv4 addresses end up having a price tag on them; that seems inevitable at this point. My concern is that big players might be able to dictate the prices and effectively buy the small ones out of the Internet.


Then anyone would be able to trigger the autodestruct by spoofing their UA.


Googlebot's identity can the authenticated to prevent spoofing:

https://support.google.com/webmasters/answer/80553?hl=en


I actually wasn't aware of that! Thanks for the link.


I'm not sure what the typed array limitations are, but Javascript numbers are able to exactly represent integers up to 2^53 - 1, which is quite a bit more than 32 bits.


Possibly the same reason why the market share of old versions of Internet Explorer is higher on workdays: slower uptake on corporate environments when compared to residential customers.


It declares a variable named r10 and instructs the compiler to store it in the r10 CPU register. It's a GCC extension; the farthest you can get in standards-compliant C is

    register long r10 = a3;
but the register keyword is advisory only (the compiler is free to ignore it) and you cannot specify the exact register you want to be used.

Reference: https://gcc.gnu.org/onlinedocs/gcc/Local-Reg-Vars.html


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

Search: