Generics in Go with Ian Lance Taylor (2019) - <AUTHOR> https://changelog.com/gotime/98 <comment><USER2> I just don't want to hear about Golang generics any more, until they are in a usable beta. It's been years, and while I'm confident that there are some maintainers who really for real want to add it... it's hard to shake the feeling that the talk is going to go around in circles, hoping devs give up and forget about it.

It's like sending a project into an environmental review. It sounds constructive, until you realize it's a nice way of black-holeing the project.

I really apologize if I'm being unfair to the (team?) working on this, but... it's been years. Generics have been around for decades. It's important to get it right, but Golang is by design _not that complicated_. There really doesn't need to be wild new R&D to figure out how to pack generics into a programming language.

</salt> rant over. For now.

Edit: And seriously, it's 100% fine if the answer is "we thought about it, and decided not to do it." It's just frustrating being strung along with constant design proposals, iterating on syntax, and then... back to more design proposals. Just make a choice (or a veto), and go with it.

<comment><USER3> I suspect the problem is that Generics bring you face to face with the Liskov Substitution Principle. For most of us it's just a good idea, and then you try to do generics and all of a sudden it begins to become the law.

So you try to layer it onto a language like Java and you discover that an ArrayList of Integer is not interchangeable with an ArrayList of Number because you can stick a Double in one of them and blow up everyone expecting only whole numbers.

I've long suspected that you either have to put Generics in at the beginning or prepare for decades of complaints about your workarounds. And getting stuck in committee for a very, very, very long time.

<comment><USER4> > So [...] you discover that an ArrayList of Integer is not interchangeable > with an ArrayList of Number because you can stick a Double in one of them > and blow up everyone expecting only whole numbers.

Is this really an issue with Java's type system though? If you get an ArrayList<Number> and you assume that it contains only whole numbers, that's on you.

FWIW, my personal opinion is that erasure is better than templated generics for most use cases. Even when it comes to performance: a good JIT should be able to specialize generic code that end up on a hot path. Erasure does cause some issues with reflection and value types, but I think that it provides a better foundation to start from when designing a type system.

Then again, I am quite a fan of Rust's generics and dyn/impl {Trait}. Might be worth doing something similar where you have two separate generic systems: one for boxed values, and one for unboxed values.

<comment><USER5> > Is this really an issue with Java's type system though? If you get an > ArrayList<Number> and you assume that it contains only whole numbers, that's > on you.

The point is that you have an List<Integer> are you allowed to call a function that takes an List<Number>? The answer is effectively "yes it should be allowed" if its not mutating the List (all Integers can be safely read as Numbers) but no if the List is mutable (you can't handle the fact that it might insert a non-Integer number into the Integer-only List).

<comment><USER6> This is less LSP and more the co/contravariance of container types, which is its own special hell.

<comment><USER7> The hell stems from inheritance, which is just syntactic sugar over composition. And a very unhealthy kind of sugar as that: problems with co- and contravariance, problems with copying, the need for redundant type declarations. And inheritance doesn't guarantee autofulfillment of the Liskov principle, either. One might even wonder why inheritance is needed at all in a language. Go and Rust are certainly fine without it.

<comment><USER3> One of the humblest smart guys I worked with years ago would try to convince me over lunch that the Next Big Language would have syntactic sugar to make composition as easy as inheritance. I think in part because I had intimated that I was trying to create a language (narrator: he didn't. It went nowhere)

There are a couple languages that have added something like this in the interim, but nobody seems to have made it an idiomatic thing. Which is a shame, because I still think I might like to work in the world he dreamed up.

You get a little more composition in languages like NodeJS for the very pragmatic reason that inheritance, at least historically, was not seamless and hence had a high degree of friction.

<comment><AUTHOR> Ah, just like VB did with COM....

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Ian's talk about generics at gophercon 2019: [https://www.youtube.com/watch?v=WzgLqE-3IhY](https://www.youtube.com/watch?v=WzgLqE-3IhY)

The proposal seems so simple, I want to use it already! It would be a nice idea to have a translator from generic go to stable go, so that users of go can start using these generics.

Edit: an implementation was linked in the talk as a changelist to try it out: [https://go-review.googlesource.com/c/go/+/187317/](https://go- review.googlesource.com/c/go/+/187317/)

<comment><USER8> Anyone know why they didn't go with angle brackets? People familiar with C++ and Java would find it familiar. I wonder if its too unpythonic, or makes the parsing too hard.

e.g. Instead of

        func Reverse (type  Element) (s []Element) {

why not do:

        func Reverse<Element> (s []Element) {

<comment><AUTHOR> Ian mentions it would make the parser contex aware, which isn't needed currently.

<comment><USER9> That at least isn't true in terms of the Chomsky grammar hierarchy. You can have both angle brackets operators and delimiters in a CFG (context-free grammar). It might be a limitation of their parsing tech (e.g. LL(1) would have that issue, probably LR too).

No problem for general CFG parsers though (if you can write a BNF grammar for it, that's the CFG grammar for it).

<comment><AUTHOR> Most likely, just repeating his answer on the podcast.

</comment></comment></comment></comment></comment><comment><USER10> Maybe it's a bit off topic, but I wonder how much the Kubernetes code base influences this kind of demand to add features to the language.

<comment><USER11> Why Kubernetes in particular?

<comment><USER12> Because it's huge, very abstract (pluggable components are a first class concept), very publicly-known (it's name carries weight), and has numerous numerous active contributors, whose membership has evolved continuously over time. It makes use of a lot of magic to get over a lack of genetics, and has innovated in that case.

There aren't a lot of other projects with that profile in Go. etcd and raft are similar, but are maybe an order of magnitude less "big".

</comment></comment></comment><comment><USER13> One concern I have about the shape of the generics proposal as it stands is that it makes it hard to use arrays of types inside of generic data structures. Block-based data structures are a staple of efficient programming. Having a generic B-Tree-backed sorted map would be wonderful. Also wonderful would be a library implementing a dequeue backed by a linked list of ring- buffers.

Maybe I'm missing something in the proposal but it seems like it's awkward to build these in the current proposal with contracts as type lists and methods. One option is to implement a `slice()` method on your array types and then interact with them as such.

```

interface Array(A, T) { A slice() []T }

type Dequeue(type A, T Array) struct { ... }

```

Then you'd do something like:

```

type intArray8 [8]int

func (ia intArray8) slice() []int { return ia[:] }

func newIntDequeue() *Dequeue(intArray, int) { ... }

```

But there's something that feels dirty about that.

</comment><comment><USER14> Golang is a pretty much messed up language made by short-sighted and very, very, very stubborn designers. If you don't believe me, just look for instance at all the hacky code generation tools made by the Kubernetes guys. But even if generics are there, the language itself is still very lacking to an irritating level (e.g. no option types aka nil access, no enforcement of error checking aka no result types, no enums, no conditional compilation, no iterators, no immutables, etc...)

EDIT: HN upvote system has nothing to do with right or wrong or constructing a good discussion, it's based on fanboyism and political correctness. Really sad.

<comment><USER15> Go has been amazing here at Stream. No way we would be able to power chat and feeds for 500 million end users with such as small team without Go. C++ would be a valid option in terms of raw performance, but the development overhead is just too large. Go hits a beautiful sweet spot between performance and developer productivity.

<comment><USER16> I am not sure how you refute anything the above poster said. They did not mention performance once ( _cough_ Rust _cough_ ) and that seems to be most of your point. You did not even say _why_ go is so good for developer productivity... the poster made many points that could be used to argue that go does not promote developer productivity.

<comment><USER17> > the poster made many points that could be used to argue that go does not > promote developer productivity.

I think go promotes maintainability rather than developer productivity. IMO, go authors favored ease of code reading to the expense of code writers. That being said...

> no option types aka nil access, no enforcement of error checking aka no > result types, no enums, no conditional compilation, no iterators, no > immutables, etc...

No enforcement of error is not true, you have to explicitely ignore an error if you want to. You have almost the same problem with rust, where you can unwrap things that can fail, thus explicitely ignoring potential errors (granted, the program will then panic).

No conditional compilation is not true either, you can, eg, put at the top of your file build tags:

       // +build !linux

This file won't be compiled on linux (you supposedly have another version of that file for linux systems).

No immutables: can be a problem, const is very limited indeed in go.

Nil access, yes, although contrarily to C/C++, you can't dereference nil without having the program panic. AFAICT I never had them happen in production, when I have a panic it's because of an off-by-one error in a slice, usually (but then I'd have the same problem with `safe` languages like rust).

I'd be glad to have enums. Go's workaround is safer than C's enums, but not by much.

<comment><USER18> > I think go promotes maintainability rather than developer productivity.

It seems to promote verbosity just for the sake of so called "simplicity". It's simple (almost dumb) at the language level, which just pushes complexity elsewhere.

This is just a statement that I find some people repeat without any substantiation whatsoever.

> you have to explicitely ignore an error if you want to

        err := foo()
        ...
        err = bar()
        if err != nil { panic(err) }

The first error was unintentionally discarded. I've seen this happen in actual code bases.

<comment><USER17> > It seems to promote verbosity just for the sake of so called "simplicity".

I don't think simplicity is the goal, I think simplicity is a mean to an end, and that end is readability. I remember reading some C++ code I didn't write, and I couldn't understand where the bug was coming from. Turns out the developer had redefined the () operator (or something like that) so that it behaved quite the same as expected, except in a few corner cases.

That's the kind of bug hunt go preserves you from, but verbosity is the price you have to pay.

> The first error was unintentionally discarded. I've seen this happen in > actual code bases.

You're right, and AFAIK linters don't catch these.

</comment></comment></comment></comment></comment></comment><comment><USER19> > I would say that if the compiler got 100% slower, that would be a failure.

Still a weird thing to care about. If the compiler were 100x slower, that would still be faster than continually handling boilerplate with _human brains._

<comment><USER20> Well for that purpose we already have Rust/ Swift and so many other languages. What is Go's USP apart from fast compiler.

<comment><USER21> Swift and Rust both are known for long build times.

<comment><AUTHOR> Mostly caused by LLVM.

Other equally expressive languages have multiple implementations, including REPLs, with Go like compilation speeds.

So Swift and Rust just need equally LLVM fat free implementations for the developer loop, leaving the LLVM backend for the blazing execution release builds.

<comment><USER22> LLVM isn't fast, but there are other slow parts of the process unique to Rust [1].

[1]: [http://gistpreview.github.io/?74d799739504232991c49607d5ce74...](http://gistpreview.github.io/?74d799739504232991c49607d5ce748a)</comment></comment></comment></comment></comment>


Tell HN: One Year (365 Days) on Hacker News! - <AUTHOR>

Today is my 365th year on Hacker News! I can't believe it's been a year; I can perfectly remember the day I have signed up and I have visited HN every day for a year.
At around 20-40+ times a day, I estimate I've clicked the little orange Y favicon in my bookmarks bar more than 14,000 times.
Thank you for an amazing year! I can honestly and proudly say that HN has changed my life.
Cheers! <comment> Tristan-Leroux Cool ! I've been using it too for a bit now as my main source of news. This is probably the website I most visit in a year.

</comment><comment><AUTHOR> I mean day, not year. Hehe.</comment>


Free logo maker bait and switch? - le-mark Has anyone notice that all the free logo makers on line (at least the first page of google results) all advertise 'free logo's' but charge to download anything? This is a recent development, the last time I used these services in 2016, you could actually download an image without the bait and switch.<p>Does anyone know of a service that provides truly free logos? <comment><AUTHOR> Free logos, with no bait and switch, no email sign up or any of that stuff required --> [http://logodust.com](http://logodust.com)</comment>


Google is testing an arrow next to trusted queries - <AUTHOR> http://www.flickr.com/photos/7896006@N06/5040747038/

<comment><USER2> Not testing, rolling it out as a keyboard navigation feature indicator, enabled by default since couple days ago: [http://googleblog.blogspot.com/2010/09/fly-through-your- inst...](http://googleblog.blogspot.com/2010/09/fly-through-your-instant- search-results.html)</comment>


China Cyberspies Outwit U.S. Stealing Military Secrets - <AUTHOR> http://www.bloomberg.com/news/2013-05-01/china-cyberspies-outwit-u-s-stealing-military-secrets.html <comment><USER2> I grow weary of reading these "hacking," "cyberspy," etc articles. They always read like a plot of a bad action movie (Hackers, Swordfish, etc) rather than what people who actually work in the sector (IT, Security, even programming) have to deal with day to day.

Just once, I'd love to read an article that talks in specifics, like how they got in (e.g. via exploit XYZ), how they spread (e.g. via hole in network policy XYZ), and what was done about it.

Also, if this super-top-secret information is so vital to the US's national security then why was it in the hands of a private company? I might be misunderstanding something here, but it seems less like information vital to national security and more like information vital to that company's future success (i.e. industrial espionage).

I cannot help but wonder if someone at this company (e.g. former CIA director) made a few phone calls and turned an industrial espionage incident into a national security incident in order to cover their arses.

<comment><USER3> They're here to ease the passing of specific US legislation in aid of the military industrial complex. See <https://news.ycombinator.com/item?id=5642408>

I really wish people would stop posting them.

<comment><USER4> That aspect often escape people. If this was too serious they probably wouldn't be writing articles about it, as that just tells others (say enemies) more information. This is looking like buttering up for a contract or new legislation.

</comment></comment></comment><comment><USER5> The only thing as breathtaking as the amount of information the Chinese military has stolen is how dysfunctional their military is. Here [1] is an excellent article about corruption in the Chinese military. The Chinese government is a bizarre mix of authoritarianism, greed, patronage and nationalism, and it has no clear structure. The military is no different. It doesn't matter how much technology they have; as long as the military has no internal cohesion and accountability, they will never overtake the United States.

Here's a quote from the article, citing a 'princeling':

" "China no longer has a paramount leader who can hammer down authority at crucial junctures. "Gangs" of patronage and bribery are congealing together, he said, adding that "Corruption is the glue that keeps the whole system together, after the age of idealism." "

And another:

" A third princeling, whose father once ran China's security apparatus, blames Jiang for sabotaging the last leadership transition in 2002 by refusing to relinquish control of the military. He said Jiang promoted dozens of generals who are, as he put it, either "henchmen" or "morons." The result is that nobody is really in control, he said. "

[1] [http://www.foreignpolicy.com/articles/2012/04/16/rotting_fro...](http://www.foreignpolicy.com/articles/2012/04/16/rotting_from_within?page=full)

Note: You don't have to sign up for foreignpolicy.com to read the article. Just disable JS or stop the page from loading before the popup shows up.

<comment><USER6> Such articles like the OP's seem to cater to alarmism and hyperbole as these kind of events occur all the time. The difference here is that the US gov is being quite unprofessional by resorting to publicizing these events. Also, it's quite trivial/foolish to care whether or not any country will overtake the US (or another country). The way I see it - decreasing the US' influence may actually be beneficial. Rather than a unipolar/bipolar world, there can be a multipolar world. Maybe it'll reduce the crap that the US gov does/causes domestically and internationally, as it seems the fed believes it can ignore accountability because of supposed exceptionalism.

<comment><USER7> There has existed a multipolar world in the past, in Europe. That world was very frequently in a state of overt war, so it's not clear that that's a better state of affairs than an unchallenged dominant nation.

</comment></comment></comment><comment><USER8> I worked, long ago, at the group in QinetiQ that got hacked. A couple of observations:

1\. The Talon project (the robot pictured) is not, in fact, super secret. I worked with the Talon platform, and while my projects were "confidential", it wasn't some super secret thing. Would the government rather not have the Chinese have that IP? Of course. Is it at a security disaster? Hardly. That's not to say that they didn't have other, much more secretive, projects that were also compromised; it's just that the stuff being reported in this article isn't, like, nuclear launch codes.

2\. IT security there (and, as I understand it, at similar government contractors) really was laughable. Total cowboy land. Assuming it hasn't revolutionized its security and culture, this attack didn't need to be some amazing exploit; it may have been a phishing attack or something similarly straightforward. So while the article lacks details, I'm not sure there's anything interesting to find here about the merits of the attack.

FWIW.

<comment><USER4> As someone already pointed out above this smells like a PR piece for a new 'cyber-security' enhancement project (read: hand-out) and/or legislation.

</comment></comment><comment><USER9> I find it surprising that it would seem that the only country on the face of this planet hacking foreign countries and business are Chinese. I'm so pleased that no one in the US, UK, Israel, Russia, South Africa, Pakistan, India, Japan, Canada, etc would clearly never dream of such things. On top of that, I cant even begin to imagine why countries other than the US would seek intelligence to help them in defence.

Good job that no one is using computer or the internet to launch attacks on research and production facilities in foreign countries.....stuxnet.......oh.

This might be new to some, but it it turns out countries spy and thieve off each other. But all we seem to see is lots of articles about the evil red commie Chinese, who we all happily do business with, including allowing to own our debt, hack the US. Strange that.

<comment><USER10> For the record, the Chinese don't actually own that large a portion of the US national debt, which is almost entirely held by American organizations. Propping up our currency, now, that's a looming problem - but one that will hurt China a lot more than it'll hurt us when it hits the fan.

<comment><USER11> Sources please ?

<comment><USER12> The Fed is the #1 individual holder of US debt (for sovereigns or banks). Social Security holds $2.7 trillion. China has about $1.1 trillion, just in front of Japan.

China's holdings are actually not a big deal. If pressed to do so, the Fed could print a trillion dollars tomorrow and buy it all back (with some obvious consequences, but non-the-less).

"The breakout of foreign-held debt shows that China was the largest holder, at $1.161 trillion (as of October 2012, most recent data). Japan came in second, at $1.134 trillion."

[http://useconomy.about.com/od/monetarypolicy/f/Who-Owns- US-N...](http://useconomy.about.com/od/monetarypolicy/f/Who-Owns-US-National- Debt.htm)

There's a massive number of sources, but here you go:

[http://finance.townhall.com/columnists/politicalcalculations...](http://finance.townhall.com/columnists/politicalcalculations/2013/01/21/who- really-owns-the-us-national-debt-n1493555/page/full/)

</comment></comment></comment></comment><comment><USER13> Capitalism only works when there are security precautions to make sure that business between corporations and individuals is safe. This is true on the physical level, and sadly, will have to be true at the digital level as well. If companies are infamous for being unable to do long-term accounting, why the fuck are we expecting them to suddenly hold themselves accountable to other long-term risk?

I think it's stupid to cast this as the super whiz kid Chinese hackers and the poor SOB admins looking at the logs. There usually isn't even a proper budget _for_ admins to be looking at logs.

</comment><comment><USER14> Its not what they stole that worries me. Its what they modified and left behind.

<comment><USER15> So now we no why the F-35 Joint Strike Fighter is so far over budget.

The Chinese tweaked the plans so when they tried building the thing nothing would fit.

<comment><USER16> Ah the metric system could have caused that.

<comment><USER17> The metric system is a group of measures that was poorly thought out and people using said system cannot built fighter jet parts that fit together?

</comment></comment></comment></comment><comment><USER18> '"When it comes to cyber security QinetiQ couldn't grab their ass with both hands, so it cracks me up that they won," Bob Slapnik, vice president at HBGary'

I love the smell of irony in the morning.

<comment><USER19> The HBGray fiasco really clearly delineated that there were two HBGray companies.

Yes, one was a moron. And the other was a moron for employing that moron :)

</comment></comment><comment><USER10> This just makes my brain hurt. "Cyber pillage" of the nation's "most closely guarded secrets" - so secret they were exposed on the Internet without, apparently, keeping up the security updates?

I think maybe the fault lies not with the Chinese superhackers, but with your definition of "closely guarded."

</comment><comment><USER20> Well ... if you don't want something hacked don't expose it to the internet. Is there a reason why corporations does not have inner network that is electrically disconnected from the internet where the sensitive data is stored and manipulated?

Buying a second pc for every person is pocket change.

<comment><USER21> People want to work remotely. They want email on their iPhones/Androids/Blackberries. They want to e-mail people at other companies. Every once in a while you need a nontrivial amount of information to cross that airgap. Then you have Stuxnet-style attacks to worry about, too.

<comment><USER10> Maybe if they want to work remotely, they're just going to have to suck it up and admit that you can't do that with sensitive information. There have in fact been times when military secrets were considered more valuable than people's lifestyle or convenience.

I'm thinking that if these secrets are _not_ more valuable than the lifestyle and convenience of military consultants, then they're not actually all that live-or-die, are they? Instead, they're used as fodder for alarmism.

</comment></comment></comment><comment><USER22> It's foolish to either ignore this stuff or to panic. Learn your lessons and continue developing technology. We'll starve in the streets before the government stops trying to develop another billion-dollar superweapon. Even if the Chinese didn't have good hackers, they could do as the Russians used to do and turn Americans into spies with offers of money and sex. That said, China has a major social flaw that has persisted throughout its' history -- success can be just as fatal as failure. Any wagers as to how long Comment Crew will continue to operate before they turn on their government or are snuffed out pre-emptively?

</comment><comment><USER23> Aren't there any active packet-inspection devices out there (Palo Alto?) that can detect this kind of stuff?

      * Joe's working from home, but logged in? Disconnect!
      * Joe's transfered 80GB today when he normally does 2GB? Disconnect!
      * Joe's connecting from a VPN server in Croatia? Disconnect!

</comment><comment><USER24> I wonder what the 1) US government has done against Chinese government industrial complex, 2) how much false information is spread this way.

</comment><comment><USER25> It seems like we read articles like these almost every week. Can the US do anything but besides lodge complaints?

<comment><USER26> Of course they can, what makes you think they aren't?

But a more interesting question is to look at what information is presented and what is missing. How much is new, how much is old. Then on policy stories like this one I sometimes pop over to the senate web site and look at what's coming up on the senate calendar [1] and oh look, on May 7th they are having a hearing to talk about

       Hearings to examine the Department of the Air Force in
       review of the Defense Authorization Request for fiscal
       year 2014 and the Future Years Defense Program.

Hmm, who is in charge of Cyber Command? Why it's the Air Force! Who would have guessed.

(yes I can be _that_ cynical)

[1] [http://www.senate.gov/pagelayout/committees/b_three_sections...](http://www.senate.gov/pagelayout/committees/b_three_sections_with_teasers/committee_hearings.htm)

<comment><USER27> It's not cynical at all. You just demonstrated an example of a phenomenon that was well-documented in the 80s by people like Noam Chomsky. His book Manufacturing Consent talks in great detail about how mass media is used to manipulate public opinion.

<comment><USER28> The logic here seems to be that because the mass media can be used to manipulate public opinion, it is used exclusively to manipulate public opinion.

<comment><USER27> Please point out where I said - or even implied - the "exclusively" part.

</comment></comment></comment></comment></comment><comment><USER29> Interesting</comment>


VOX vision – Self-expression of public opinion on the Interactive map - <AUTHOR> http://voxvision.com <comment><AUTHOR> VOX vision - is a new form of community which based on collective questions and answers made by users. More popular questions are announcing to all users of the country. There is an option to Q&A sessions between countries! Each user can propose a question and if other users support it then it will be published to all users of the addressed country</comment>


Grammars as Data Types - <AUTHOR> http://languagengine.co/blog/grammars-as-data-types/ <comment><USER2> Gosh, people are really interested in this suddenly, huh? Well, I can answer any questions people may have! :)</comment>


Mobile data: Why India has the world's cheapest - <AUTHOR> https://www.bbc.com/news/world-asia-india-47537201 <comment><USER2> Here in the US, we recently moved into a new house (rural) and my broadband wasn't setup yet, so I needed a temporary solution to continue working from home.

So, I headed off to the mall to compare mobile AP plans. Literally every option was either mega expensive (think multiple hundreds of dollars per month for 100 GB or the price was right but the service area was crap).

A lot of the mobile data plans actually only apply to direct usage from your phone. _Not_ when using it as an AP (tethering). Those all have separate bandwidth limits. The standard amount on most plans (that you also have to pay extra for) is around 10 gigabytes. And, I didn't even find a normal consumer plan from ATT / Verizon (the only carriers with good service here) that let you buy more than that. You have to buy a super expensive business plan.

So yeah, fuck US LTE data plans. Absolute garbage if you actually try to use it for any serious work from a PC.

<comment><USER3> Can the ISP detect if you're using it as an AP?

<comment><USER4> If you use the stock ROM then they probably can. A fey years ago the carriers would put proprietary hotspot apps on your phone which would integrate with their billing system, but if you switched to another ROM you could just use the built-in Android hotspot option and it would work just fine.

With an AOSP ROM like LineageOS they can't detect it from the phone itself, but there are still some differences in the packets that a phone would send vs the packets a computer would send (you can Google about how to hide tethering on T-Mobile and find some discussion on that); it's not very hard to change your settings to avoid that method of detection.

<comment><USER5> This probably refers to TTL, which can be easily changed to disguise the 'hop' from your device to your phone... but Deep Packet Inspection is apparently commonly used nowadays too. To get around that you need to be encrypting with a VPN or similar setup.

This is my simplistic understanding of the state of play based on the last time I looked into it but as mentioned above it's easy to Google.

<comment><USER6> How do you fix the TTL trick?

<comment><USER7> on the AP (phone):

iptables -t nat -A POSTROUTING -j TTL --ttl-set 65

You will need TTL target built into the kernel of the ROM you are using. LineageOS is unwilling to do it officially, so I build my own with it enabled.

It's a good idea to only use ipv4 when doing this. A few services are detected on TMUS, so for those VPN. Sprint doesn't seem to care, but they have a patent on TTL detection too from around 10 years ago. I normally do not VPN, but I do use my own DNS since I don't like carrier hijacking.

</comment></comment></comment></comment></comment></comment><comment><USER8> > The BBC report, citing a UK-based price comparison site, said that 1 > gigabyte (GB) of mobile data cost $0.26 in India (£0.20), compared with > $12.37 in the US, $6.66 in the UK, and a global average of $8.53.

According to OECD, the Purchasing Power Parities (PPP) for India is 17.729 , UK is 0.691 and US is 1.0 [0]. That's a huge difference and hence, ignoring the purchasing power will not give you a full picture about the "cost".

[0] [https://data.oecd.org/conversion/purchasing-power- parities-p...](https://data.oecd.org/conversion/purchasing-power-parities- ppp.htm)

<comment><USER9> Mobile telecom prices are just a pure licence to print money. The cost base (infrastructure and regulatory costs) is insignificant and the asking price maxed out - depending on the market.

Prices could be mitigated by competition but usualy we have oligopoly, by regulators (EU and roaming charges) or by taxation (licences to operate).

I always laugh when similar company with similar shareholders charge 15 times more in one country then in another.

Digi Malaysia extending prepaid for 1 year 68 ringit 15$, dtac Thailand 1$. Both owned by Telenor.

<comment><USER10> In many countries, mobile bandwidth licenses were auctioned for ridiculous sums, which were probably bid based on what they expected the market to be able to bear. That made the expected profit part of the cost.

There was a bit of a scandal back then because of the way the Dutch government handled that auction and tried to squeeze as much money as possible out of the various bidding companies.

<comment><USER9> True. But it is just the government trying to get a slice of a pie. regulatory cost.

<comment><USER11> It makes sense that the government wants to only hand out this extremely limited resource to organizations that will actually use it. And there is some sense that if someone pays a half a trillion dollars for the spectrum that they'll be highly motivated to use it to recover those costs, but in the end it basically guarantees that the service will be expensive because they have to make back that investment.

But the only other solution I can see is to have the government just pick a company and hand them the license, and that's effectively guaranteed to be breathtakingly corrupt since the incentives to cheat are overwhelming. At least with the market solution the money goes into the government's general fund instead of into the pockets of the party official in charge of making the decision.

<comment><USER12> > but in the end it basically guarantees that the service will be expensive > because they have to make back that investment

Isn't it exactly the other way around? They bid high because they estimate that they will be able to make back the investment. The sole reason for making that investment is to sell it on to customers.

<comment><USER10> It works both ways. They bid high because they expect to be able to made back that investment, but having bid so high, they also need to meet that expectation, or they're in trouble.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> While it is cheapest there are many shady things that are going on. For example both Jio and BSNL automatically throttle your speed for porn and many other websites. BSNL outright bans the porn websites.

<comment><USER14> You forgot to mention the fact that BSNL injects malware and ads. And outrageously, they claim it is a feature! The way they do it by injecting javascript into your page that then does shitty pop-up scam ads (including ones that increase page counts for some pretty big e-com sites). Some of the pop-up/under ads then install malware of their own.

The entire company is run by morons.

<comment><USER15> Yes, can attest to that. I had a BSNL connection, which would always inject some JavaScript/etc stuff for Http sites. With HTTPS sites they could not do anything. But I got rid of the connection anyway.

</comment></comment></comment><comment><USER16> The BBC didn't do their homework iiuc. Here is a plan here in Israel. Unlimited text and calls with 100GB data - 29nis which is about 0.1$! per 1GB...

[https://golantelecom.co.il/web/](https://golantelecom.co.il/web/)

Overall, Israel is a very expensive country excluding mobile plans...

<comment><USER17> It looks like there is some catch. [https://golantelecom.co.il/web/plans](https://golantelecom.co.il/web/plans) is the most deceptive plans page I have seen.

<comment><USER16> * There is no catch on the specific plan and a other similar plans by other operators. overall in Israel there are many plans or services that are X for the first 1-3 years and then will change. but some plans (such as the above) should be without those limits.

* Notice, that in the BBC article they suggest there is haggling involved in getting low prices. so we also don't get much information what limitations imposed.

</comment></comment></comment><comment><USER18> A lot of European countries have unlimited data for data SIMs (Finland, Austria, Estonia, France, Switzerland and many more). With such SIM cards you can completely replace your home internet. I used that for a while and downloaded 1TB+ a month for less than 20 Euro. That would put me to 2ct/Gigabyte which would be even cheaper than what is quoted here.

I think what matters more than the price for the gigabyte is what you get in service for that. I'm absolutely happy to pay 50 EUR or more a month if the service is good.

<comment><USER19> Russia also have mobile ISP that have "unlimited" internet and at some moments can provide 70Mbps. There is some obvioua shaping for torrents, but with VPN it's possible to go well over 1TB on $15 / month plan. There were actually bunch of such options in past, but only few remains.

<comment><USER18> In rural Austria internet over LTE has replaced a lot of DSL installations. So much that most ISPs now offer hybrid VDSL2+LTE connections with GRE tunnel bonding.

<comment><USER20> Not just in rural areas.

</comment></comment></comment></comment><comment><USER21> India's mobile data may be cheap, but it's also pretty poor. It may be 4G technology, but speeds are far below what's common in the UK / Europe. Last week in Delhi I was getting anywhere between a few kbps and ~2-3Mbps on Vodafone 4G.

<comment><USER22> I spend a lot of time in Delhi myself. My Airtel sim often gets 10-15mbps down nearly anywhere in the city.

<comment><USER21> Thanks, I'll try Airtel next time.

</comment></comment></comment><comment><USER23> So India does have cheap mobile services, but the quality of it isn't great.

There are service outages, issues with coverage, and there are serve limits on the data.

I used JIO and had an average about 4mbps speed. Also, there has been concerns about censoring sites. (see r/india.. they blocked reddit in the last week)

I paid about 199inr (~$3) and got 2gbs per day for a month.

<comment><USER11> 2GB per day for $3 even at 4Mbps is like a dream to someone in the US where plans are more in the range of $45/month for 2GB per month. Speeds are better, but useless because you'll smack directly into the cap if you actually use it.

The lower speed in India is at least partially due to it being heavily used instead of sitting idle because people don't want to blow out their cap. IMHO this is more egalitarian. They aren't keeping the poors off of the system just so the elite can download their cat videos faster.

<comment><USER23> >2gb for a month

?! I'm paying about $43 for 8gb on the Verizon network. [https://www.pagepluscellular.com/plans/](https://www.pagepluscellular.com/plans/)

> They aren't keeping the poors off of the system just so the elite can > download their cat videos faster.

They're oversubscribed. I'm not sure where this helps "the poors" to stay subscribed to the service.

</comment></comment></comment><comment><USER24> 3GB per day for 90 days for around 1,000 Rupees with Airtel. As a tourist Jio isn't an option, have to go pre-paid.

Not bad at all, blazing fast compared to most WiFi connections here in northern India (Himachal Pradesh).

Now if the power would stop cutting out... maybe in a few more years :)

<comment><USER25> How useful is 3GB for 90 days?

<comment><USER26> * per day

</comment></comment></comment><comment><USER27> Before Jio, different players held monopoly at different pockets and Jio flattened it. (Think BPL in Kerala, Airtel in metros, BSNL in rural areas, Orange in tier two cities). Because of this, when a provider increase prices, others will follow suit as everyone benefitted. So I assume the prices were high before Jio, and Jio did a correction.

Jio, will soon become a monopoly and as the article says, might jack up prices when they have the bigger slice of the pie. An acquisition of the second best then would seal the low price game and everything will go up then. Thats what Airtel was doing when they were number 1 a while back.

<comment><USER28> India is not as rich as developed economies, so the optimal price point for monopolists in general is lower (due to more people becoming unable to pay monopoly rents at lower prices).

</comment></comment><comment><USER29> When Jio was launched in 2016, Mukesh Ambani (Managing Director of Reliance Industries, parent company of Jio) quoted saying "Data is the new oil and we don't need to import it"

Jio comes bundled with value added free services like JioTV, JioCinema, JioMagazine, JioMusic(JioSaavn now) and bunch of other apps.

India is a price sensitive market and hence Jio would keep prices lower for as long as possible to keep other players out. Jio is already posting profits.

They are in it for the long game. The bottomline is that prices may not go up anytime soon.

<comment><USER30> all of that sounds so scary. One corporation controlling what you watch, read and listen.

<comment><USER31> They've already shown troubling signs. When Jio was launched, senior executives, when asked about how they'll increase revenues, said, "There's something called as Deep Packet Inspection and the potential is enormous"[1]

Second, Jio frequently blocks VPN connections. Proactively and sometimes without reason even if there's no government order. Sometimes, I've had to use techniques from blog posts about bypassing the great firewall of China to be able to connect to VPN services. Its not as ridiculous as the actual GFW but the signs are there.

Reliance is also engaged in a plethora of businesses, especially consumer facing ones and have shown increased desire to link it all together.

[1] [https://in.reuters.com/article/reliance-telecoms-jio/from- bi...](https://in.reuters.com/article/reliance-telecoms-jio/from-big-oil-to- big-data-inside-mukesh-ambanis-20-billion-start-up-idINKCN11611V)

</comment></comment></comment><comment><USER32> China Mobile Pakistan sells a 200 GB plan for ~100 USD. Not do cheap given that median white collar salary in Pakistan is $500.

<comment><USER33> How's Mobilink? When I roamed with T-Mobile there they seemed to be the one that my SIM locked onto. I heard they were good but expensive (but this was 2014)

<comment><USER32> Haven't been in the country in a while, but I don't expect anything remotely comparable from Jazz. The maximum I found was $15 for 50GB on a plan.

</comment></comment></comment><comment><USER34> I live in Tanzania (moved from the US) and mobile data prices are also relatively cheap. I could get 4gb for 75 cents for 24 hours 11pm-5pm. Or I could get 1gb for 50 cents for 2 hours. The one I usually go for is 10gb for 7 USD for 7 days.

But because 4G is the only way to get internet, it actually becomes more expensive very quickly. I route all of my internet traffic through my phone or through my 4G mobile hotspot.

So I think the real reason that the data is cheaper is because 4G is the only way to get data, if your a consumer or a business. So the pricing reflects that.

Because in the first world we have fiber optics, this allows mobile companies to charge a ton of money per Gb, since no one is downloading large files with it anyways.

</comment><comment><USER35> This is exactly what I miss after moving to US from India.

In 2012 the data in India was too much expensive, like a GB or two for a Dollar. Around 2017, It was About Two GB every day for 30 days for Two Dollars total. Amazing. 4G. Good coverage. Airtel. Here in US ATT gives me 3GB for a whole month, & extra $15 if I go over 3 for next 1 GB.

Infact from few days I am trying to find a cheaper data only prepaid pay-as- you-go Sim for my second phone.

</comment><comment><USER36> Not sure where they're getting their data, but from anecdotal evidence, it seems off - in the UK I have something like 20 GB (not sure because never been anywhere near the limit) for £12 or so¹, so it's £0.6 per GB - a whole order of magnitude cheaper than quoted in the article.

[1] Technically less, because the £12 includes calls and SMS as well.

</comment><comment><USER37> The article doesn't mention anything at all about technology or infrastructure. Are we really to believe that wireless data is orders of magnitude cheaper, purely because of price fixing in USA/UK? How much of the price difference can be explained by infrastructure, technology choices, labor, quality, etc?

</comment><comment><USER38> Here in India I pay ~$2.50/mo for 60gb of mobile data and ~$50/mo for 875gb of 150mbps broadband.

It's one of the few things I feel blessed about while living in this country.

<comment><USER39> is it from Jio?

</comment></comment><comment><USER40> Population density is another important reason why the prices are cheap.

</comment><comment><USER41> TLDR: Jio upset the status quo, for now.

<comment><USER42> I think the argument that Jio's prices must necessarily go up is suspect. For one thing, the article does not present any reason this should be the case, other than prices being higher before Jio. But the other is that Jio's business model is equivalent to Xiaomi's. For Xiaomi, the phones are sold at a price that basically recovers costs, so they can make money off services. Jio is basically doing the same thing, only using its network instead of the hardware as a subscriber acquisition strategy.

It's very possible that the strategy may not work, but if it does (and the article provides no evidence it won't, in fact, it reveals that Jio is actually making more money per subscriber than the average telco), then there is no reason to believe prices will need to go up.

<comment><USER43> In an economy of very poor people it's possible that having dirt cheap prices leads to more profit overall. In economies where people have money it's guaranteed to go up because it's essentially leaving money on the table.

<comment><USER42> Which makes the article's claim that prices will go up even more unlikely.

</comment></comment></comment></comment><comment><USER44> This is a stupid comparison. How can BBC claim with a straight face that India has the world's cheapest mobile data when access is sold by the gigabyte and other countries have truly unlimited mobile data?

<comment><USER45> Faster access is sold by gigabytes, which gets reset every 24h (You can still continue browsing after hitting the quota with lower speed). Meanwhile in the US, it's the same but your quota gets reset every billing period. Not sure which is the better model, but it's practically the same

</comment></comment><comment><USER46> Median income per annum in India would be about ~700 dollars per annum. Once one account most basic necessities of life there is not much money left to be paid for data plans in India. Its either you give them dirt cheap data plan or they won't use it.

Also not related to data plan but 22 out of 30 most polluted cities are in India. Just to put in perspective that their is more to life than cheap data plans. Broadband/data price is oddly a perennial obsession for relatively well earning group of people here.

[https://www.cnn.com/2019/03/04/health/most-polluted- cities-i...](https://www.cnn.com/2019/03/04/health/most-polluted-cities-india- china-intl/index.html)

<comment><USER47> maybe i can answer this - pollution is out of your control as a "well earning person", you can't even support a party that has anti-pollution measures as a platform ticket coz no party bothers - that is how many people care. That plus pollution doesn't impact me in my area, it's only really bad in the poorer areas. You can't organize cleanups for multiple hectares of garbage dumps. even kids can't be educated to go throw trash in a dustbin as there usually isn't a dustbin in sight in poorer areas.

What does impact me daily and affects QoL that I personally can affect? Internet speeds,Bandwidth rates and the quality of my next meal.</comment></comment>


Google's growing problem: 50% of people do zero searches per day on mobile - <AUTHOR> https://theoverspill.wordpress.com/2015/10/19/searches-average-mobile-google-problem/?utm_source=twitterfeed&utm_medium=twitter <comment><USER2> That is indeed a problem given the awful quality of display ad performance within mobile apps. App traffic is the first thing experienced campaign managers shutoff on the GDN.</comment>


To execute or not: A question of cost? - <AUTHOR> http://www.msnbc.msn.com/id/29552692

<comment><USER2> Hacker News? Of interest in general, yes, and it should rightly be of interets to everyone and not just hackers.

Does that mean it does, or does not, belong on HN?</comment>


The Top Jobs Where Women Are Outnumbered by Men Named John - <AUTHOR> https://www.nytimes.com/interactive/2018/04/24/upshot/women-and-men-named-john.html <comment><USER2> Ha ha, I'm named John. Almost no one has named their sons John in perhaps 50 years? So, it is less of a surprise that positions with typically old White men are going to skew "John".

Guessing Starbucks is not a job where men named "John" outnumber women.

;-)

<comment><USER3> > _" Almost no one has named their sons John in perhaps 50 years?"_

"John" is still in the top 30 names as of 2016 (ranked 28th) according to the SSA†. It _has_ fallen, for example, from 14th in 2001 when it peaked at 0.914% (18884 births) of the total male births. It was about half that in 2016, at 0.495% (9952 births).

[https://www.ssa.gov/OACT/babynames/rankchange.html](https://www.ssa.gov/OACT/babynames/rankchange.html)

† Numbers vary with region of course. If you've got different data available, please do share.

</comment></comment><comment><USER4> > There are fewer women among Supreme Court justices than there are men named > Anthony, Clarence, John and Neil

... Really? Thanks.</comment>