South Korea Went Crazy over a Handful of Refugees (2018) - <AUTHOR> https://foreignpolicy.com/2018/08/06/south-korea-is-going-crazy-over-a-handful-of-refugees/ <comment><USER2> I will never understand the blatant hatred towards refugees. I was and am still surprised by the number of people who just indiscriminately hate refugees in Germany (although they are often a small minority).

These are just 561 poor human beings from Yemen. They probably don't want to be in South Korea either. They come from a poor, war torn country. If nobody would mention it, nobody would even notice them. I really can't imagine where this hatred is coming from, maybe somebody from south korea can chip in. Why do they even care? My bet is that it's like germany, where i think the real issue is not the refugees but more fundamental problems expressing itself through the hate for refugees. But I've also heard some personal stories of people experiencing racism in south korea or in south korean companies. So I don't know.

There are quite a few refugees where I live (Karlsruhe in Germany), every day I pass one establishment for young refugees without parents and a general refugee institution. Sometimes in the night at 3am. Never had a problem. It also seems like especially the young refugees without parents are integrating quite well.

</comment><comment><USER3> Long way from Yemen to South Korea - how many safe countries can a refugee pass before becoming a migrant? As for

> many feminists reinforce myths that Muslim refugees are potential rapists, > drawing from a mixture of real and fake news from Europe.

I am shocked - _shocked_ \- that despite the many polls and statistics in the article, none of them address this myth.

So lets give it a shot, with the famous Sweden: 58% of those convicted of rape are foreign-born [1] (which make-up 17% of the Swedish population [2]). One could argue they are over-prosecuted, but there is evidence of the exact opposite [3]. Of course Sweden decided it's wrong to keep statistics based on ethnicity [4], so we must remember that Finns and Poles are also among those foreign-born. If someone can find more granular statistics, perhaps we can dispel this myth entirely.

Of course it's not fair to blame all immigrants for the actions of a few - it's racist, xenophobic, prejudiced. But will you dismiss positive stories with the same arguments? Next time someone brings up that 44 of the US Fortune 100 companies were founded by immigrants, or there's a story of a refugee child winning a chess championship, will you refute those as irrelevant, racist, xenophilic, prejudiced?

[1] [https://www.bbc.com/news/world- europe-45269764](https://www.bbc.com/news/world-europe-45269764)

[2] [https://nordic.businessinsider.com/swedens-foreign-born- popu...](https://nordic.businessinsider.com/swedens-foreign-born-population- is-nearly-17-million-people---finns-are-the-biggest-group-2017-3)

[3] [https://www.theguardian.com/commentisfree/2016/jan/13/sex- as...](https://www.theguardian.com/commentisfree/2016/jan/13/sex-assaults- sweden-stockholm-music-festival)

[4] [https://www.thelocal.se/20180508/why-sweden-doesnt-keep- stat...](https://www.thelocal.se/20180508/why-sweden-doesnt-keep-stats-on- ethnic-background-and-crime)

</comment><comment><USER4> Who in their right mind decided that it would be a good idea to put Yemenis into South Korea.

Part of me wonders who is pushing the globalist agenda. Koreans are some of the most genetically homogeneous countries. Even the Chinese and Japanese have trouble blending in.

The Yemenis will not eat spicy pork and I can't imagine hijabs being in k-pop music videos. Also having darker skin won't help.

At this pace, Jeju island will become an Islamic center and give or take 25 yrs Seoul will have to deal with Islamic extremists similar to Europe.

<comment><USER5> > Part of me wonders who is pushing the globalist agenda.

Makes sense for the ultra rich, who can indirectly or directly influence media narratives.

They need workers for jobs that no one wants to do and keep the labor pool large enough to deflate salaries.

Meanwhile they're buying New Zealand property just in case "the event" happens.

The only uncertainty is whether "the event" is a war or a communist revolution.</comment></comment>


HK share: what do you do at your business that can help a startup save money?  - <AUTHOR>

Reddit has something similar but I thought it would be nice to orient this to startups:
I'll start:
Learn some Photoshop. Really get a book and learn just the basics.
It makes a huge difference when you have the ability to change a wording or color on the fly versus waiting for the graphics person. <comment><USER2> If it is an exciting startup and you don't have much marketing dollars, start a blog, apply to be a HuffPost blogger for the tech section, create a wiki/crunch base page, and brand the business online, and then begin reaching out to your favorite tech writers for mentions in their pieces that has to do with the industry your startup is in.

</comment><comment><AUTHOR> Oh and one more, always ask the designer for the psd (Photoshop) files not just png or jpg - this way you can easily modify it.</comment>


Josh Coates (Mozy) LaunchUp Presentation - <AUTHOR> http://www.youtube.com/watch?v=RyvyHQxNiCY

<comment><AUTHOR> "If you're a 'Business Guy' or 'Idea guy' you're a dime dozen and mostly useless. That's the fact." Made me smile :)

Part 2 - <http://www.youtube.com/watch?v=tEfW4w7WVDY>

<comment><USER2> Kind of funny when he bashed Guy Kawasaki too.

"Guy Kawasaki; born on third base; thinks he hit a triple. I'm sorry Guy but you've never done a startup and made all your money off of Apple stock."</comment></comment>


Are PDF's Obsolete? - <AUTHOR> https://www.searchenginejournal.com/is-pdf-obsolete/254813/ <comment><USER2> No.

In fact PDF's are taking over from the previously ubiquitous Microsoft-only formats. Not everybody can run Microsoft software. If you want to be certain that people can read your document, send it as a PDF.

Which is only natural for a "PORTABLE Document Format".

</comment><comment><USER3> Beyond being a great example for Betteridge's Law of Headlines[1], this post essentially seems to say "PDF is bad at things PDF was never supposed to be used for". Well, go figure.

[1]: [https://en.m.wikipedia.org/wiki/Betteridge%27s_law_of_headli...](https://en.m.wikipedia.org/wiki/Betteridge%27s_law_of_headlines)

</comment><comment><USER4> wow

<comment><USER5> Can you elaborate?</comment></comment>


WinBtrfs v0.7 - <AUTHOR> https://github.com/maharmstone/btrfs/blob/master/README.md <comment><AUTHOR> \- Features RAID 5 and 6

\- LXSS ("Ubuntu on Windows") support

This leads me to wonder what the status of the Linux version is?</comment>


Boy, 14, posed as spy to arrange his own murder - <AUTHOR> http://www.independent.co.uk/news/uk/crime/boy-14-posed-as-spy-to-arrange-his-own-murder-6168910.html?fb_action_ids=10150420160958401%2C10150402884934211%2C2719264710078%2C10150442251559240%2C10150437881587230&fb_action_types=news.reads&fb_source=other_multiline#access_token=AAADWQ6323IoBAJz7mzLgUNndc1eAl0RO1MPr3mxAjIWOzk5VPlsLaNRbWjuvedhChumZCEVecLamZCOJAFoDN3fZAZANOTekdOvD4ERydgZDZD&expires_in=5592

<comment><USER2> I don't know if this is relavent for HN, but it is definitely the strangest thing I have read in a long time.</comment>


Letting Your Servers Adjust the Thermostat - <AUTHOR> http://www.datacenterknowledge.com/archives/2009/09/23/letting-your-servers-adjust-the-thermostat/

<comment><USER2> This isn't my field, but I'm shocked this hasn't been done before. A bunch of computer geeks really took this long to hook up a thermometer to a server?</comment>


Microsoft's Edge browser is in serious trouble - <AUTHOR> https://www.computerworld.com/article/3242165/microsoft-windows/microsofts-edge-browser-is-in-serious-trouble.html <comment><USER2> It's sad how such a good engine is completely ruined by such a bad UI toolkit. I think has never happened in the history of browsers. I would give Edge a chance if it used a normal UI, but the metro one is ugly and performs laughably poorly.

I wonder how the engine developers feel about that, pouring their hearts in their work only to see it being worthless because of a managerial decision.</comment>


Spotify's Kafka-Based Event Delivery System - <AUTHOR> https://labs.spotify.com/2016/02/25/spotifys-event-delivery-the-road-to-the-cloud-part-i/ <comment><USER3> Interesting blog post.

I don't have a good idea of the requirements at Spotify, but looks to me that using a streaming system like Storm or Spark Streaming would solve the 30 min event delivery delay they are experiencing w/ unstructured text -> Avro conversion. The latency for delivery would go down to sub-second levels.

<comment><USER4> Also the article doesn't say WHY they didn't use Kafka to persist the events. Kafka it's designed to do that.

Once persisted the consumers can just read kafka data and send them to hadoop, with less latency. Or you can plug storm o spark in as you said and do the analisys there real time. Or both.

I'm just intrigued why.

<comment><USER5> They do talk about this:

> _When the system was built, one of the missing features from Kafka 0.7 was > the ability of the Kafka Broker cluster to behave as a reliable persistent > storage. This influenced a major design decision to not keep persistent > state between the producer of data, Kafka Syslog Producer, and Hadoop. An > event is considered reliably persisted only when it gets written to a file > on HDFS._

</comment></comment></comment><comment><USER6> Interesting to look at the chart of event volumes at the end. Did Spotify just accidentally reveal the effect Apple Music has had on their growth rate?

Steep drop around mid-2015, some recovery since then. Hard to glean anything concrete, but interesting nonetheless.

<comment><USER7> I would avoid reading into that since the text surrounding that chart indicate that the system was struggling with the load. That drop could have simply been them prioritizing and removing certain event sources in the clients while they figured out how to fix things.

</comment></comment><comment><USER8> I wish they went more in-depth into the particular events. They seem to imply the events are user actions, which I took to mean user played this song, user viewed this playlist, and other analytics.

However do they, or would you, use a system like Kafka as an event source instead of the db. So you would also capture events like user added this song to their playlist that would get persisted to the event source db and then eventually a view model instead of directly to a relational db. It doesn't sound like they do that due to the delays, but I can't find a lot of real usage blog posts about how much to put into something like kafka.

<comment><USER9> You certainly can use a db for an event source. This article does a really good job of explaining how: [http://www.confluent.io/blog/turning-the- database-inside-out...](http://www.confluent.io/blog/turning-the-database- inside-out-with-apache-samza/)

As mentioned in the post, we've pushed Kafka to at least 700,000 events per second. We have room to push it to much more, but stay in tune for post 2 and 3 to see what we're doing instead.

<comment><USER8> That is actually the post that got me into event sourcing / streams. As far as user analytic type events go this makes complete sense to me. What I haven't been able to discern is whether its useful to use this architecture on a much much smaller scale for things that may not be user events.

I love the thought of throwing everything into a stream and populating the read models, analytics, search index, etc with the data. However, for example if you had a CMS / ecom for a smaller organization, should the admin actions also be events? If you have an event source db, they would have to be, and you get all the benefits outlined from the article.

At what point do you decide what to put in the stream and what to build without? Are there events that should never be in a stream? Those are the questions I have been researching but I haven't found a lot of resources or discussions around making these decisions.

<comment><USER8> My current thought process is you use a relational db like postgres with json support to go from hobby / early startup to traction where you would need to start being concerned with scaling. At that point you switch to kafka or related hosted tools.

As far the data you put into the stream, I would think it could be everything if you treated all data as immutable even admin actions? Only thing that seems up in the air is transactions.

That is as far as I got though. I don't work with a company that has that kind of scale to use this, but I'd like to start working with it.

<comment><USER10> I built an CRM/CMS application where every single controller action call is event sourced.

The whole application lives in memory as a single object aggregate, which gets rebuilt on startup. I started off with writing json to the file system, moved into compressing and appending to a log file, and moved into using Azure cloud tables.

It's awesomely fast to respond to requests (15ms), and to add new features, but you do get interesting new problems, e.g. along the way I had to:

\- come up with a way of migrating events (as my storage formats changed as I improved my frameworks) \- find a good way to do fast full-text-search against in memory objects as I had no SQL or ElasticSearch infrastructure (ended up using Linq against in-memory Lucene RamDirectories) \- deal with concurrency issues in a fairly novel manner(as all users are acting against a single in- memory)

I'm hoping this architecture will start to become more popular - I think we are in need of a framework equivalent to Rails to take it mainstream.

<comment><USER8> That is very interesting. I am guessing this is a closed source application? Did you do something along the lines of CQRS (Command, Query part) or just write directly the event source? At what point did appending to log file stop working which caused the switch to the cloud (or was that for unrelated reasons)?

I am also hoping it will become more popular as the pros seem to vastly outweigh the cons. But I think you are right about the framework. From my research it seems to be medium to large enterprises that would typically be best suited to using and developing something like kafka, and those enterprises typically would not open source their applications. So I definitely think a framework from a company who is using it as scale would be huge.

Until then, I suppose I will keep reading up and learning all I can and figure out how to implement this on a much smaller scale.

<comment><USER10> Cloud storage was just used so I didn't have to manage backups myself.

I absolutely didn't separate command and query - the commands themselves are actions which execute against the domain model, and that domain is used to build responses.

My project is here: [Sourcery]([https://github.com/mcintyre321/Sourcery](https://github.com/mcintyre321/Sourcery)) but I think a more mature project you might like to look into is [OrigioDB]([http://origodb.com/](http://origodb.com/)).

Another thing that gets tricky is making your application deterministic - <USER2> calls to the current time, random number or guid generatiom, or to 3rd party services, have to be recorded and replayable in the correct order for when you reconstruct your application instance. This can get tricky if you refactor your application or change its logic later.

It's worth reading up on Prevalence/MemoryImage, and looking into NEventStore also.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Nice!</comment>


Ask HN: What are your predictions for the next 50 years? - <AUTHOR> In relation to the Technological and Geo-political landscape. <comment><USER3> True story: inspired by some dude on the internet, I thought I'd try my hand at "predictions". I made a post with my technology predictions for the next 10 or 15 years (not 50, I'm not THAT naive).

I don't have a personal website, so I placed that post on Google+, to have it for future reference. Boy, do I suck at predictions.

<comment><USER4> What were they?

<comment><USER5> Somehow, one involved Google+ staying alive.

</comment></comment></comment><comment><USER6> The ecosystem has collapsed, humanity's last holdout - the salesforce.com trailhead Antarctica bunker is lifeless and silent, but hope is not lost - <USER2> probe holding Elon Musk's semen journeys onward to alpha proxima.

</comment><comment><USER7> The war on general purpose computing will arrive, finish quickly and be won by the totalitarians.

Normal computers will not be permitted to produce code. All developers will have to submit passport and dna before being allowed to work. Computers capable of producing code will be accounted for centrally, it will be illegal to own one without a licence.

Cash will be done away with by the following means or similar:

[https://blogs.imf.org/2019/02/05/cashing-in-how-to-make- nega...](https://blogs.imf.org/2019/02/05/cashing-in-how-to-make-negative- interest-rates-work/)

</comment><comment><USER8> Significant dislocations of coastal population will cause shifts in demographics and voting. Some regimes will fall because of it, the UN Charter on refugees will be amended.

Resentment against entrenched industry shills and oligarchy will lead to extra judicial acts of revenge. The actors behind this will not coalesce the way religious fundamentalism has, but will be understood as a common root cause much as luddism was.

A new small C conservatism will replace radically economic reductionism of the Chicago school kind, massive public works and Keynesian intervention will predominate. Low tax regimes will find the cost of corporatism in health and lifestyle terms counter productive, extreme wealth taxes and punishments for evasion will be international.

Literacy will not fall, but writing will be uncommon.

Google will be remembered fondly before dismemberment. Facebook will be regarded as an aberation. Religions will compete on TV. Access to intelligent agents (not aware ai but ubiquitous use of ai derived optimisation and machine learning based systems) will be almost a right, where access to data is a right, albeit only if identified. Use of VPN and data hiding will be a first class felony in itself and linked to some kind of precrime with presumption of innocence lost.

<comment> non-entity > Literacy will not fall, but writing will be uncommon.

I wonder if this is already a reality for some. I can't remember the last time I had to write more than my name.

<comment><USER9> Think that through one more time. :)

</comment></comment></comment><comment><USER10> Changing attitudes to advertisements and the upcoming generation's obsession with "authenticity" will push all brands and ads further into "lifestyle"-type presentation. Every furniture store and potato chip company will have social accounts for sharing memes.

Brand loyalty will merge deeper into the human experience, and in the 50-100 year timescale few living humans will be able to conceive of brands and products as separate from their personal identity. Boundaries between socio- economic groups will become more strongly reinforced along product lines (I believe this has already begun - see the Chik-fil-A/Hobby Lobby protests and reaction, or the reaction from both sides to Nike's support of Colin Kaepernick, and other recent corporate "woke" behavior).

Much more of the written words we consume in any form (newspaper, online opinion articles, listicles, etc) will be secretly sponsored, written by and for the benefit of a particular product, brand, or interest group. Even seemingly unrelated things, like local news, will be used to manage global brand visibility at scale as ML's ability to write comprehensibly comes into its own and articles are produced algorithmically.

Similar algorithmic information delivery systems will be used to drive even more granular opinion influence for things like state and county elections. Exploitation of outdated laws and regulations, and things like gerrymandering, will become even worse than we could have imagined as the tools to locate and predict vote probabilities at the individual level becomes even more powerful.

</comment><comment><USER11> I'm hopeful for a more cooperative human centric future. I think we have the technology to replace old systems and ideas. Things are getting better more then they're getting worse for so many people and I really want to see that pattern accelerate to the point all preventable disease is addressed and access to medical care is universal, there is no risk of famine due to technology advances in food production, there is no war, for obvious reasons. And on the other hand, I worry that human beings will mostly be dead and areas that are currently landlocked will be a costal town for the few remaining rich people who have replaced the need for the lower classes by automation. But mostly the former

<comment><USER12> > costal town for the few remaining rich people who have replaced the need for > the lower classes by automation

In this scenario there will be no industry left to speak of to support the automation. The remaining people, regardless of their initial wealth, will not be rich.

<comment><USER11> I don't really think about this in a real way. I think we are going to be ok, but like this is my fever dream

<comment><USER11> Rather nightmare

</comment></comment></comment></comment><comment><USER13> Nothing of real significance will happen. I know this for a fact this because in 1967 I wrote about 2017. Nothing become true, Finland does not have Space Forces, cars do not fly, lasers do remove space junk from orbit etcetc.

The Lasering of space junk was part of Finland's 100 year celebration, instead of fireworks the worn-out space-vessel "Kokko" was destroyed with lasers.

<comment><USER14> You think nothing of real significance happened between 1967 and 2017? The 90's was extreme with both internet and cellphones becoming mainstream, suddenly you no longer needed several bookshelves full of encyclopedias just to look up information and everyone was reachable from anywhere! 2000's and 2010's where pretty lackluster in comparison as they just fleshed out the offerings from the 90's, but we could very well have another decade similar to the 90's again.

<comment><USER13> I had a personal computer in 1975. And radio amateurs had a pocketable device he could make phone calls everywhere in Finland. The coverage was probably better than cell-phones today, because at 7 Mhz. I also had internet address in 1985: firstname.lastname@example.com.

Nothing much else has happened in last 30 years.

[https://www.flickr.com/photos/timonoko/102552851/in/album-72...](https://www.flickr.com/photos/timonoko/102552851/in/album-72057594100241331/)

<comment><USER14> You having a computer or your friend having a cellphone didn't change the world, internet and cellphones becoming cheap and mainstream did.

</comment></comment></comment></comment><comment><USER15> It's a little less than 50 years away by now, so the schedule is clearly getting tight, and it is also a huge undertaking, so nothing should be taken for granted, but given current technology, it might actually be possible for a human to walk on the surface of the moon by July 20 2069.

</comment><comment><USER16> Music(Songs) at-least in English language would be largely, completely machine generated.

Reasoning: songs leading the charts are mostly written by same lyricists, music is largely dependent on auto tunes, repetitive sections, machine learning algorithms for audio processing is growing at a fast rate.

<comment><USER17> Possibly true for the horrendous muzak-like audial otyughs known as chart music. People will never cease to make artistically meaningful music, though.

</comment></comment><comment><USER18> \- Google will continue to exist, but lose relevance to emerging companies, similar to IBM.

\- Virtual reality headsets will replace both smartphones and desktop computers.

\- Roe v. Wade will be overturned, but the constitution will be amended to protect abortion rights.

\- Brexit will continue being delayed indefinitely.

\- San Francisco will start its own Navy.

\- White people will become a minority in the United States, but a majority in Japan.

\- Cranston, Rhode Island exceed Paris, France in tourists/year, but not in total revenue from tourism.

\- A saintly king[1] will take control of France, conquer Greece, and convert the entire world to Catholicism.

\- The Higgs Boson particle will remain undiscovered.

\- Ohio will become a Marxist-Leninist one-party state.

\- The Jewish Messiah will arrive, and construct the 3rd temple. It will be converted into a Walmart due to lack of attendance.

\- The Scandinavian language will split into three mutually unintelligible dialects: Danish, Swedish, and Norwegian. In Iceland, everyone will just speak English.

\- North and South Korea will be re-united, but subsequently re-partitioned into East and West Korea due to partisan violence.

\- Harvard and MIT will be combined into a single institution, which will exclusively grant degrees in "Religious Studies," "Computer Engineering," and "Religious Studies And Computer Engineering."

\- London, Chicago, and several other major cities will cease to exist.

[1] [https://en.wikipedia.org/wiki/Last_Roman_Emperor#Catholic_tr...](https://en.wikipedia.org/wiki/Last_Roman_Emperor#Catholic_tradition)

</comment><comment><USER19> More regulations More border between authocratic countries and western More military budgets, less economy grow More brainwashed people More monopolies in hi-tech, although it won't be monopoly but in fact 99% will go to 1-5 companies. More protectonism, less global economic grow Oil will be slowly going down in price. Although not that much for authocratic regime fall, they just become more and more authocratic. But at least it should make them eat themselves. Slowly percentage of retarded people will grow in such countries as money flow from oil decreases. And clever people will immigrate to west.

Elon musk will make some cash on tourists to the moon but nothing revolutional. Maybe they will make some hotel on moon for rich people to have fun.

</comment><comment><USER20> Authoritarian states win against democracies.

<comment><USER21> This is clearly the big struggle of today. Will democracies survive in the face of rising authoritarianism?

</comment></comment><comment><USER22> Real dairy only comes from hobby farms - artificial milk is at least as good, and tuned for it's final use as drinking milk, cream, cheese, etc, and different health needs.

Many juices and even some pulps, flours etc, are also largely made using engineered yeasts and bacteria. Fruit is reserved for eating directly, or adding as an additive to gain a 'made with real fruit' label.

Similarly most real meat is more a speciality food, reserved for steaks, roasts, ribs, etc, anything processed (minced beef, chicken fillets, soups, curries, pies, sausages) is made using artificial meat. Much pasture is reforested.

</comment><comment><USER23> We might have a cure to most diseases available to all or only a few would be able to afford good healthcare & rest will have shorter lifespans.

Economic inequality would increase manifolds. There will be less poverty but a whole lot of people struggling for basic healthcare & jobs.

Automation, Robots & AI will be an integral part of society.

Virtual worlds might be as important as real ones. Virtual real estate might be worth more than physical real estate.

People will be dumber as no real problems or creative jobs to work on.

E-sports might be more popular than actual sport.

Some cities might be lost due to sea leval rise.

</comment><comment><USER24> In 50 years time, someone on this list will be mostly (or at least directionally) right in their predictions. If they are still alive, they will be lauded as a savant and sage. The more outlandish the 2019 prediction was, if correct, the more recognition they will receive.

And thus all we will actually learn in 50 years time is that human nature changes very little. We will still retrospectively reward success based on chance alone, not distinctive insight.

In short, statistics will continue to be an underappreciated practice.

</comment><comment><USER25> I think a lot of applications will be built without the need for developers, significantly reducing the number of professional developers needed.

Also, testing will be fully AI automated, other than some initial configuration there won't be the need to write tests manually.

Anything that can be done by robots and AI will be done by robots and AI. Things like driving, house cleaning and cooking (at least for restaurants) will be fully done by robots.

<comment><USER26> I'll take the opposite side of that prediction - driving, cooking, and cleaning will be part of the jobs that people compete to get, as the data entry and middle management jobs get wiped out.

I don't think anything that involves physical variations (I.e. manual labor in differing environments) will be automated for a long time.

</comment></comment><comment><USER27> Tech: CRISPR-CAS9 and better bioengineering. It's slow going stuff, but hot damn, is it ever powerful. By definition it plays well with itself. The 'cross products' are tough to deal with, thus the slow going part, but when it does mesh, man oh man!

Geo-Political: Africa's rise. ~2.5 Billion people are going to be born in Africa in the next 50 years. By 2050, the median wage for a family in Africa is going to be ~$65k/yr (in 2010 dollars). Most families will have 2 kids or less there. Africa is transitioning from stage 1-2 into stage 3-4. From walking and bicycles to cars and planes. Those markets and those young people will be very thirsty for better goods, services, education, financial planning, democratic representation, etc. Generally, the center of global trade is going to shift from the Pacific to the Indian Ocean and the people that ring the old monsoon markets. Addis Abba's already has a metro system that serves ~700k people a day. The bullet train from Nairobi to Mombassa is already going ~300km/hr. Kenya already has a ~600MW geothermal power station (~1/3 of Hoover Dam). Nigeria's Eko Atlantic project is ~half done with reclaiming ~200 Manhattan's worth of land area from the Atlantic Ocean. It's 'Great Wall of Africa' is mostly done now and is proofed to the worst climate change can throw at it, due in part to the 8 weather satellites that Nigeria has currently in orbit. Africa is going to be where a young, vibrant, well educated, culturally diverse, middle class is trying to make it's mark and improve the lives of their children. It is most assuredly not a place of 'shit-hole countries', and The Import-Export Bank of China knows this. The West should know to shelve the racism, and fast, for the good of it's geo- political future and it's pocket-book.

</comment><comment><USER28> 1) developers won't be needed anymore ([https://medium.com/thron-tech/as-a- service-offering-is-chang...](https://medium.com/thron-tech/as-a-service- offering-is-changing-what-a-developer-is-ce56c653b041)) 2) population decline will be huge, but not for the reasons most ppl talk about. It will be because we will reach a "good enough" sex robot and that will end most physical relationships between sexes 3) there will be just one or two languages in the whole world, with a huge loss in diversity from a culture standpoint 4) we will be augmented with tech and bio implants to enhance our perceptions (better sight and hearing). Genetical imperfection will be only for poor people 5) cars will be disappearing in favor of "transportation pods" that will act as "transport-as-a-service" elements. 6) HUGE wars will arise because of the crisis in capitalims. Work won't be a reason to get a salary anymore, this will lead to the biggest social crisis ever and many more... but i'll stop here :D

<comment><USER29> Ive long said that a good enough/affordable sex robot is more dangerous to the western civilization than literally any weapon of mass destruction.

<comment><USER30> I want a scifi novel where those "good enough sex robots" end up being dropped into foreign countries as a weapon of mass depopulation.

</comment></comment></comment><comment><USER31> For the US:

With lab-grown meat agriculture has mostly collapsed, since most of it was either meat or food for meat production.

Most small cities are essentially dead, at least in terms of opportunities to improve ones life, since there are no jobs for low skilled workers. Those jobs were mostly meat plants or trucking and transport is done with automated trucks. There were other jobs but those where mostly in support of those jobs, or incidental to peoples life.

High Skilled workers have moved to the cities, but most of their income is eaten up by rent. Those who got there earlier and got a reasonably affordable place to live are making a lot of money.

Both suffer a lot less because things have continued to get cheaper -- you don't need to travel the world with good enough 3d glasses, most things we have physically today are available in "phones" (though nobody knows why they are called that anymore, as nobody use them to make old style phone calls). Without meat production, most oil-based transport and most stuff the environment is doing okay. It helps that not too many babies are being born (turns out, 3d porn is just that much nicer).

On an international scene things are looking much better: most of the world has cached up to the standard of living the US had in 1980, with the exception of basket case countries that are essentially still basket cases (North Korea, Eritrea). China has court up with the US and are beginning to face the same problems the US had, though somewhat dampened by the lack of freedom. Despite this, they have had to find make work projects for their people, and have had to grant more and more freedom to stay in power.

In short the world will be a lot freer, a lot more equal, but inside countries there will be a lot less hope and those countries will be much less equal.

</comment><comment><USER17> Since at least medieval times, civilization as a whole has tended to move towards freer, more democratic societies - almost without any meaningful, lengthy changes. This is particularly true since the industrial revolution. (Correct me if I'm wrong above.)

Given this, I find it hard to believe that future societies would somehow become more oppressive. Rather, I think true democracy will have reached virtually, if not practically, all of the world. Menial tasks have largely become automated. Most people are well fed, secure and have access to education and information. Brick and mortar stores (be they for clothing, groceries or anything else) are largely a thing of luxury.

Speaking of education, most societies do not emphasize a traditional educational path involving 3-5 years at universities like they do now. Higher institutions now play a larger role but the benefits of technology in information diffusion and communication now means we have more meaningful and regarded ways of acquiring knowledge in other places, in other periods of life and at different paces.

<comment><USER32> > Since at least medieval times, civilization as a whole has tended to move > towards freer, more democratic societies - almost without any meaningful, > lengthy changes. This is particularly true since the industrial revolution. > (Correct me if I'm wrong above.)

This is a very Eurocentric view. In the rest of the world, this mostly wasn't (and still isn't) the case.

<comment><USER17> Yeah, I realize I'm being rather eurocentric. The setbacks have been longer and more plentiful in Africa and Asia, but I maintain that the trend is also true there.

<comment><USER32> Where exactly? I'd say that democracies took root only in places (such as India, Japan) which were conquered and then organized by western countries. Other than that, not so much.

<comment><USER17> I don't know of any African countries where the people's democratic freedoms are much more prevalent today than they were centuries ago.

</comment></comment></comment></comment></comment><comment><USER33>
      - All transport is electric and self-driving
      - Most meat is made artificially or non-meat substitutes
      - New world order will be USA-India-Japan-Iran Vs China-Russia-Vietnam. (Europe to stay neutral)
      - Home robots doing chores
      - Lots of jobs have been automated leading to change in work
      - Maximum workweek hours reduced to 4-days or flexible working
      - Trips to the moon as regular as satellite launches and ISS trips are today
      - Underground (and undersea( road tunnels connecting most of the world
      - Advances in tracking and objective measurement of *everything* (Health, happiness etc)
      - World energy needs mostly run off renewable resources (wind, solar, hydro)
      - Borderless travel for most people across most countries
      - Spread and establishment of liberal democracy across most countries
      - World population more stable

</comment><comment><USER34> I agree on most of the arguments in the book "The Sovereign Individual" on what will most probably happen in the next decades. Summary: [https://www.nateliason.com/notes/sovereign- individual](https://www.nateliason.com/notes/sovereign-individual)

<comment><USER35> I managed to read the summary. Sounded like blockchain-sovereign citizen crossover fanfic.

<comment><USER34> the book was written in 1999, far before a blockchain existed

</comment></comment></comment><comment><USER36> \- Demographic projections say that we'll be reaching "peak human" where depopulation starts happening, and the urbanisation of humanity should be just about finished. So that should end real estate as being a valuable investment; it becomes a liability where liveable accommodation goes derelict because there's no-one to live in it.

\- If we have fusion power, even if the reactor is the size of a battleship, every country's military will have a space program.

\- Transportation continues to become cheaper, faster and more autonomous. There's no point in owning anything any more because you can rent it and have it delivered as quickly as you could get it out of a cupboard. You just pay a flat monthly fee depending on what levels of luxury you want, and that entitles you to whatever you need.

</comment><comment><USER37> After Second American Civil War of 2025 and the following Drone Wars across the globe, the nation-state system will fall. It'll be replaced by a mix of city-states near the coasts and corporate territories in the hinterlands, with the two existing in an uneasy tension.

Several city-states (notably SFBay, NYC DC, Pearl River, Amsterdam, Venice, Florida, and Houston) will be wiped off the map, either by the Drone Wars or by rising sea levels and increasingly violent storms. Also, regions like the American Midwest, the Middle East, Eastern Europe, and the Bengal/Burma/Myanmar area will be severely depopulated as regional conflicts and border skirmishes lead to the near-extinction of the local populace from drone cleansing efforts. Sub-Saharan Africa (now split between the Corporate States of Alcoa, DeBeers, and BP) will still be populated, but not by Africans. The Corporate State of ExxonMobil in Northern Athabasca will be a rising power, as will be the Corporate States of Monsanto in Canada and Russia. The City States of Barrow, Cambridge Bay, Taloyoak, and Fort Ross will be rising economic powers on the Arctic Ocean, as will be there lesser- populated equivalents in Siberia. The Corporate State of SpaceX will just be establishing the first Mars colony.

Standards of living for the survivors will be high. The near complete destruction of existing infrastructure in the Drone Wars will allow surviving cities to rebuild with more modern technology; in particular, the widespread adoption of robotics in that conflict means that most daily transportation and logistic problems are taken care of by machines. Everything is electrified, powered by renewable solar, wind, hydro, and geothermal sources. The severe depopulation in the Drone Wars means that the survivors are able to bargain for higher wages and better working conditions, and many Corporate States are run as egalitarian worker collectives (albeit at the cost of oppressing or exterminating the native populations they displace). City States face continued inequality, though, as they struggle to care for skill-less refugees that were not killed in the Drone Wars.

</comment><comment><USER38> Food gets expensive, everything else gets cheap. No jobs. High skilled freelances paying huge amounts of money. Everyone has a bot, and bots are more popular than cars. Cars become just fun. Temporary public service grants minimal food. Almost no crime, everything is tracked. Web become VR and too deep to have a human guide, google VR guide is the most popular. Google and Facebook become gov in some territories. A wide range of variety of electronic devices in sizes and formats, weareable. And.... bots are not that smart yet, not like a money machine. But smart enough to play anything together. PRO CPU/GPUS's only in the cloud for rent.

</comment><comment><USER39> The best book I've read on this topic is Homo Deus: A Brief History of Tomorrow. [1]

It really got me thinking about the next 50 years now that famine, disease and war are all manageable. The next 50 years will have super human AI, billions of superfluous people and eternal life for the privileged few. [2]

[1] [https://www.amazon.com/Homo-Deus-Brief-History-Tomorrow- dp-0...](https://www.amazon.com/Homo-Deus-Brief-History-Tomorrow- dp-0062464310/dp/0062464310/)

[2] [https://www.getabstract.com/en/summary/homo- deus/28074](https://www.getabstract.com/en/summary/homo-deus/28074)

<comment><USER40> The best movie on this topic is "Idiocracy," a fantastic documentary.

</comment></comment><comment><USER41> Started as a joke here on HN, there is a series of predictions based on a numerical correspondence between the intervals [1436,+\infty) and [1969,+\infty), where:

\- 1436 is the invention of the printing press and

\- 1969 is the start of the ARPANET.

Many of them are postdictions (to validate the correspondence) but the funny thing is that the series ends in the year 2024, where there is a sort of singularity, because the interval [1436,1969] maps to [1969,2024].

[https://mbuliga.github.io/gutenberg- net.html](https://mbuliga.github.io/gutenberg-net.html)

</comment><comment><USER42> 50 years seems to medium term predictions, which is near impossible to predict.

For everything else.

[https://www.futuretimeline.net/](https://www.futuretimeline.net/)

</comment><comment><USER43> WRT technology, I expect a technological plateau within our lifetime.

In geo-politics, USA will not be the sole superpower anymore:

* China will continue to regain its historical prominence/prestige

* EU will seek more and more independence from the US

* Turkey will look to form its own union of states in the Eastern Mediterranean (kind of a neo-byzantine/neo-ottoman empire)

* Brazil and India will continue to do well

* Russia and Iran's future not so certain

I think the transition will _probably_ be relatively smooth, but we'll have to wait and see.

</comment><comment><USER44> \- VR will make it, and become commonplace

\- Deep fake ai type technology will allow for quasi automatic generation of landscapes, castles and people making creating your own video game or movie a matter of story writing, and letting the computer fill in the details.

\- China's growth will slow down drastically as more and more reach the middle class.

\- Most middle eastern dictatorships will get into trouble with the loss of oil money.

\- South America grows as a market, and becomes more stable

</comment><comment><USER45> World will get hotter, ice will melt. Sea water conversion to drinking water will become major project.

Air conditioner/purifier business will grow.

Artificial foods will give rise to new diseases. Cancers will rise.

Cars will be detachables.

More loners than ever.

Real estates will boom in VR.

</comment><comment><USER46> China US cold war at some point of time ? In 5 - 10 years China may become powerful enough to be able to bully all nations bar US to pursue its interests. Economic colonisation of weaker states in Africa and elsewhere (e.g. Pakistan) by China will lead to interesting geopolitical scenarios.

<comment><USER47> My forecast for near future geopolitics is grim as collateral damages will happen in most countries, first world or not, west or not.

I am also pessimistic about open initiatives (open source, open data, open standards etc) as benefiters will exponentially overweight contributors, to a point contributors will sick of people eating free lunches. It may also become more and more illegal to disclose security risks and software vulnerabilities.

</comment></comment><comment><USER48> The coming population decline crisis

[https://www.theguardian.com/world/2019/jan/27/what-goes- up-p...](https://www.theguardian.com/world/2019/jan/27/what-goes-up- population-crisis-wrong-fertility-rates-decline)

</comment><comment><USER49> Be careful trying to forecast that far into the future. Historically, most people have ended up very wrong.

</comment><comment><USER50> I predict human level AI will come about. What comes after I'm not sure but I tend to be optimistic.

<comment><USER51> I feel the "I, Robot" film became a true

</comment></comment><comment><USER52> There's a joke about weather forecast: "Kräht der Hahn auf dem Mist wird es morgen schön oder nicht" (If the cock is crowing on the midden weather will be either fine tomorrow or not). In this vein, my prediction:

Humans are mostly extinct or they are on their way to paradise.

</comment><comment><USER53> Traditional society management via myth will fail (the 3 NYC CD's will be common knowledge).

The 1st and 2nd Amendments will be further adopted outside the United States.

Open, non-DRM 3D printers will be as common as a 2D printer is today in the US.

Personal wayback machines will be standard computing kit.

Cash will still exist.

</comment><comment><USER54> * SpaceX will land people on Mars and establish a base.

* VR will take off and evolve into some Matrix-like form.

* Electric energy will push out oil from most sectors.

* Gene manipulation will take off big time.

* None of the above will happen because accelerating global warming will cause the 3rd world war.

</comment><comment><USER55> \- The Great Dieoff near the equator. Large parts of India and the Middle East become uninhabitable. Hundreds of millions die. The countries further from the equator do not let them in. World population will be lower than it is now. Most of the dieoff will be older people.

\- US loses Miami and New Orleans to sea level rise, but otherwise does OK.

\- "Machines should think, people should work" \- computers will be doing many management jobs, including direct supervision. Physical robots will still be niche.

\- More strongmen. Types like Putin, Netanyahu, Li Keqiang, and Trump will be the new normal.

\- Intense surveillance, with behavioral tracking and evaluation, is the new normal. Government and business will cooperate in this.

\- Energy will not be a problem. Some materials will be more expensive, but no mined material exhaustion in the next 50 years. Except for water.

\- Food will only be a problem where water is a problem.

\- Many antibiotics will stop working. There will be alternatives in the developed world, but they will cost more and be more complicated and custom.

<comment><USER56> -Large parts of India and the Middle East become uninhabitable

Any particular data/research to support this particular assertion?

<comment><USER57> Certainly not within 50 years, but this is based on projected wet-bulb temperatures around the equator. The limit for human survivability is the equivalent of 35C at 100% humidity.

"A sustained wet-bulb temperature exceeding 35 °C (95 °F) is likely to be fatal even to fit and healthy people, unclothed in the shade next to a fan; at this temperature our bodies switch from shedding heat to the environment, to gaining heat from it. Thus 35 °C (95 °F) is the threshold beyond which the body is no longer able to adequately cool itself. A study by NOAA from 2013 concluded that heat stress will reduce labor capacity considerably under current emissions scenarios.

A 2010 study concluded that under a worst-case scenario for global warming with temperatures 12 °C (22 °F) higher than 2007, the wet-bulb temperature limit for humans could be exceeded around much of the world in future centuries. A 2015 study concluded that parts of the globe could become uninhabitable. An example of the threshold at which the human body is no longer able to cool itself and begins to overheat is a humidity level of 50% and a high heat of 46 °C (115 °F), as this would indicate a wet-bulb temperature of 35 °C (95 °F)."

[https://en.wikipedia.org/wiki/Wet-bulb_temperature#Wet- bulb_...](https://en.wikipedia.org/wiki/Wet-bulb_temperature#Wet- bulb_temperature_and_health)

</comment></comment></comment><comment><USER58> You'll have a guaranteed next World War considering the current decouplings and many countries exiting from international treaties that provide stabilisation.

I have no idea what will be the the post-war order so impossible to predict.

</comment><comment><USER59> My Grandma went from riding a horse to town to space travel, the internet, and smart TVs.

I'd love to see that kind of expansion, but I mostly expect to see the end of Trick or Treating.

</comment><comment><USER16> Many genetic mutations for new born could be predicted even before conceiving and plausible remedial measures could be taken during early development of the fetus.

</comment><comment><USER60> Massive unrest due to climate change, leading to waves of mass immigration, humanitarian disasters, atrocities, genocide and a rise in authoritarianism.

All because of our greed.

<comment><USER61> Sadly, I agree.

Let me quote [https://collapseos.org/why.html](https://collapseos.org/why.html) here :

"I expect our global supply chain to collapse before we reach 2030. With this collapse, we won't be able to produce most of our electronics because it depends on a very complex supply chain that we won't be able to achieve again for decades (ever?)."

And a related discussion : [https://news.ycombinator.com/item?id=21183805](https://news.ycombinator.com/item?id=21183805)

I might disagree with the given date, but I think some sort of industrial collapse will probably happen in the next century, basically because the earth has finite resources, and we have been consuming them at an unprecedented rate in the human history. Added to the climate change, it will lead to a massive unrest that we are not ready to deal with.

<comment><USER62> Rebuilding computing could really turn out surprisingly difficult: the first time "we" did it, hardware manufacturing was bootstrapped by the type of customer epitomized by "world market for about five computers" and then gently followed the price/demand curve until we reached cheap smartphones. If it had to be repeated, all the potential customers on the beginner-friendly end of said curve will have access to vastly superior legacy hardware. The kind of customer that was amongst the first who could afford computers in the original ramp-up would be the last who could afford increasingly rare remnant hardware after a supply chain collapse (the same problem that makes it impossible to bootstrap a domestic _anything_ industry when you don't already have one, all the deep-pocketed buyers can afford superior imports). Basically "Saddam's PlayStation 2 supercomputer" turned reality.

</comment></comment></comment><comment><USER63> Euthanasia will become legal worldwide, and legally supported suicide for non- medical reasons will increase suicide rates by a 10x or higher factor.

</comment><comment><USER64> Self-driving cats

</comment><comment><USER65> Nothing will change significantly over the next 50 years, despite people constantly predicting otherwise.

My personal take is that we've reached peak humanity. Without some large shock to the global eco-system there will be no significant progress in anything meaningful. The 20th century only resulted in major advances in many fields of research due to two world wars. War is the driver for change.

If you want a better human race, have another war.

</comment><comment><USER66> We will talk a lot about the weather.

</comment><comment><USER67> Programming will still exist.

And people will be forecasting the demise of programming, coming soon.

</comment><comment><USER51> AI, bot or robots these 3 can rule every human.

</comment><comment><USER68> The Soviets will walk on Mars within 20 years.

</comment><comment><USER69> No permanent human base beyond leo.

</comment><comment><USER70> My predictions have a tendency to come true. Consider yourselves privileged to have received this information years in advance

Things that won't happen:

\- There will NEVER be a 3rd "World War" with major countries rolling tanks across each others borders and millions dead. There will be lots of conflict though, but never a direct confrontation between major nations like u.s. china, Russia, etc

\- There will also never be a nuclear attack on a live target. The worst that could ever happen would be a "test" deterrent on uninhabited land and even that is highly doubtful

\- Bitcoin and cryptocurrencies will not be adopted by the mainstream on a large scale such that you could use it to buy groceries, pay rent, pay for everyday expenses, etc

\- But they will also not disappear. Cryptocurrencies are here to stay

\- There won't be any major youth cultural movement such as punks in the 70s, skinheads, hippies, ravers, etc. Big concerts and events will slowly become smaller/fizzle out. These movements of the past were driven by the children of factory workers and working classes. Deindustrialization is causing the decline of youth culture

\- Cold fusion

\- "Room temperature" superconductors

\- Manned Moon landing. Not in 2024, 34, or in our lifetime (sorry)

\- Manned Mars landing. This one will ESPECIALLY not happen! And even if it did, nobody is going to believe it

\- "Storm Area 51" or any similar such event. Wont happen

\- "Aliens" won't come

\- Massive decline in national sports. People will not associate themselves with any particular sports team. For similar reasons which made youth music movements disappear, people will also lose interest in soccer, basketball, etc. FIFA, NBA, UEFA and others will be riddled with scandal after scandal

\- +11bn. We have only so much planet to go around. Something will give...

Things that will happen:

\- Costs of living will continue to rise, driven primarily by housing costs. Both, buying and renting, will continue to go up indefinitely making not just owning a home, but even sleeping inside a building with 4 solid walls increasingly unaffordable for a large majority of the population. First in western countries such as the u.s. and Europe, but also increasingly in places such as Asia and South America and many other places in the world

\- As a consequence, cities will become thinly populated by a minority who can still afford to live in them and their servants, while large number of buildings, well maintained on the outside, will deteriorate on the inside.

\- Empty luxury towers will be dotting cities all over the world with automatic light switches to make them appear occupied at night

\- Van living will become BIG BUSINESS!!

\- Major car manufacturers will be too stupid/bureaucratic to pick up (heh) on the opportunity

\- People will adopt. Having a nicely fitted van/rv will be the new "middle class"

\- If you hope that there will be another "burst" of the housing bubble, good luck. Things in history never happen twice. Maybe its time to get comfortable in your tent!

\- Gym memberships will continue to go up

\- The US dollar/Euro will continue to rise against most other currencies for quite some time. No hyperinflation any time soon

\- Continued decline in fossil fuel production

\- "Digital Nomad" places such as Bali, Chiang Mai, etc will become VERY popular. Even more so than they are today

\- Many new places like that will arise all around the world. The famous Nomadlist is just an indication of what's to come

\- Nation states will disappear. People will be divided into two major groups: Those who can adjust to a world in with the geography of your birth will no longer carry relevance to how you conduct your life. And those who will fail to adjust to a new narrative in which nationality no longer plays a role. This second group will be the Left Behinds. Many of them will become violent against the first and amongst each other. You can already see this happening with the (futile) rise of nationalism around the world. These people can't adopt, and will be wiped out

\- Record cold winters

\- Extreme heat wave summers

\- Collapse of food production in many parts of the world at least during some periods with all the nasty consequences

\- Continued decline in birth rates. World wide

\- Splintering of the "United" States of America. Numerous groups fighting to claim the title, with others fighting to reject it

\- Transition of the U.S and Europe from 1st world to 3rd world

\- Save havens will emerge around the world who will accept refugees from the Declining West who were smart enough to foresee these developments in advance. The future won't be bad for those who can see what's coming

I also have some more predictions about the decline of the nations state. These are rather dark and involve things such as alliances between the deep state and street gangs. "Law enforcement" becoming criminals and turning against their own population etc. But that's enough for now, you get the picture...

</comment><comment><USER71> Detroit:Become Human

</comment><comment><USER72> Sadly, war.</comment>


Why Isn't the Intermediate Value Theorem Constructive? - <AUTHOR> https://math.stackexchange.com/questions/2947450/constructive-intermediate-value-theorem-ivt <comment><AUTHOR> ELI5:

Constructive math is a philosophy of math where you must _construct_ a value to proof its existence. The Intermediate Value Theorem states that if f(a) < 0 and f(b) > 0, then there exists a number c in the interval (a, b) where f(c) = 0. For the IVT to be constructive, you must be able to find c. (Technically, the theorem is Bolzano's theorem, not the IVT.)

The question asks why the Intermediate Value Theorem isn't constructive. The question provides a "binary search" for c.

The answer states that the proof doesn't work because checking whether a real number is 0 is undecidable. A real number is represented by an infinite sequence, and you can't tell if the sequence converges to 0.</comment>


Interface Upgrades in Go - <AUTHOR> http://avtok.com/2014/11/05/interface-upgrades.html <comment><USER2> The zero-copy IO in Go is so elegant.

I think you can really judge a language accurately by checking out its standard library. This is one of my favorite things about Go.

By comparison,

* The C++ STL. Fast and useful, but the implementation is nearly unreadable due to template soup. Here's one of the simpler parts! [https://www.sgi.com/tech/stl/stl_vector.h](https://www.sgi.com/tech/stl/stl_vector.h)

* PHP. So bad it's basically a strawman. I'll include it because it's hilarious: [http://www.forbes.com/sites/quora/2012/08/31/what-are-the-mo...](http://www.forbes.com/sites/quora/2012/08/31/what-are-the-most-surprisingly-useful-php-functions/)

* Java. A bit better. Compare the readability of OpenJDK's ArrayList.java to the STL vector.h, which does essentially the same thing: [http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/00cd9dc3c2b5/s...](http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/00cd9dc3c2b5/src/share/classes/java/util/ArrayList.java)

But of course the Java standard library is immense and has a lot of cruft in it. To write clean Java you really need to avoid much of the standard library (read Effective Java by Josh Bloch) and add a few important missing parts (use Guava).

Golang is really unique in that regard. You can _learn Go_ by reading the standard library. It is beautiful, linear code. The library is pretty complete --eg you can write a one-line HTTP file server out of the box--but nothing feels extraneous. Lastly, I think it gets close to Knuth's ideal of Literate Programming. Paragraph-length comments thoughout the standard library explain what's happening, how, and why.

For example, the post talks about how io.Copy is awesome. For a concise English explanation, why not go directly to the source!

[https://golang.org/src/pkg/io/io.go#L329](https://golang.org/src/pkg/io/io.go#L329)

<comment><USER3> For all the comments Go gets on its typesystem, I suppose

        	if rt, ok := dst.(ReaderFrom); ok {
        		return rt.ReadFrom(src)
        	}

Isn't the most terrible way anyone has seen pattern matching implemented.

At least it is better than Java's instanceof + cast.

<comment><USER4> For even more similar look to pattern matching look at Go's type switch.

        switch i.(type) {
            case OptionalInterface1:
               // do some extra thing we allow
            case OptionalInterface2:
               // do some other extra thing we allow
        }

It's really good when you have a set of mutually exclusive interfaces or types.

<comment><USER5> You can do a passable impression of sum types that way too: [http://www.jerf.org/iri/post/2917](http://www.jerf.org/iri/post/2917)

</comment></comment></comment></comment><comment><USER6> The important thing is to _make sure that your 'upgrade' is semantically indistinguishable from the non-upgraded version_, and to the extent that it differs, _document it_. There's an old blog post[^1] where someone describes code that performed this kind of "interface upgrade" in a way that broke underlying assumptions about the code. This is a horrible (and unexpected!) kind of bug. One should be really, _really_ sure that this is the correct way of solving a problem before actually reaching for this tool.

[^1]: In particular, a function which took a Reader would attempt to cast that Reader to something with a Close method, which broke the programmer's assumptions about that function. It didn't help that said behavior was at the time undocumentated: [http://how-bazaar.blogspot.co.nz/2013/07/stunned-by- go.html](http://how-bazaar.blogspot.co.nz/2013/07/stunned-by-go.html) and the HN discussion [https://news.ycombinator.com/item?id=6060351](https://news.ycombinator.com/item?id=6060351)

</comment><comment><USER7> Note that while interface upgrades are very usefull to use, they are not something very new in the programming language world.

In java you could do:

      if (reader instanceOf BufferedReader) {
        // upgrade
        BufferedReader bReader = (BufferedReader) reader;
      }

This is actualy adviced NOT to do, since its really a runtime type check.

In Go its no different, as this article explains. However its still a usefull mechanism sometimes.

</comment><comment><USER8> I'm wondering what programmers in functional programmers do about this sort of thing? It seems like they have much stronger type constrants; subclassing and upcasting just plain don't work. And if they did work, it would invalidate the sort of proofs that functional programmers like to do.

<comment><USER9> Treating "upgrades" as a specific case of reflection, typically what happens is that the function that wants to do reflection declares that it wants to perform reflection on its arguments via the type system. For example, in Haskell this mechanism is called "typeable" and in Rust this is called "any".

The nice thing about this approach is that it signals to callers that reflection is going to happen, so callers can be ready for it—the types become a form of documentation. If reflection is unrestricted it's easy for callers to get surprised when methods are called that they didn't expect. (Go has had breakage during point release upgrades from this, for example.)

This stricter approach requires that you plan ahead for "upgrading" in advance since you can't change a non-upgradeable argument to an upgradeable one without changing the type signature and breaking your callers. On the other hand, your callers are secure in the knowledge that you won't do that: they know that if you didn't give them access to one of your type's methods they can't sneak around and get access to it through the "back door". Non- upgradeable interfaces can also be more efficient since there is no need to store the reflection metadata at runtime; with this approach you only pay for what you use. Altogether it's a classic static-versus-dynamic-typing tradeoff.

</comment></comment><comment><USER10> Has anyone quantified the runtime cost of doing interface upgrades? I have a vague memory that the vtable for a specific type/interface pair is constructed at runtime and then cached -- is this true?

<comment><USER5> An interesting question. Using [1], which note can't be executed on the Playground but you can execute by copying and pasting into a file "upgrade_test.go" in a new directory and executing

        GOPATH=`pwd` go test -bench=.

I get:

        BenchmarkInterfaceUpgrade        24.9 ns/op
        BenchmarkDoNothingInterfaceCall   5.32 ns/op
        BenchmarkInterfaceUpgradeAndCall 29.4 ns/op
        BenchmarkInterfaceUpgradeFail    23.9 ns/op

For clarity, I've elided the "execution count" column which is not useful information for us here.

InterfaceUpgrade is testing the cost of having an interface-referenced value in hand and asking if it implements another interface. My belief based on the understanding of the runtime is that this is all a static check at runtime (i.e., taking the type of the value, looking that type's info up, and then reading from that type whether it implements a given interface, with all calculation done at compile time and only the lookup being done dynamically), and that while that number may go up a bit if there are more interfaces in play it shouldn't go up much.

DoNothingInterfaceCall is the time to call a function that does nothing and returns nothing through the interface. I tried adding a benchmark time for a do-nothing static call but Go inlines it away into nothing, making it a useless test of how fast the loop itself is running. 0.89 ns, FWIW.

InterfaceUpgradeAndCall combines the upgrade check and call into one pass. InterfaceUpgradeFail just checks to see if the fail case times very differently (no).

It's fairly easy to tweak these if you'd like to ask different questions. (Note some of the tests have a bit of spurious stuff at the end to make it so Go doesn't complain about unused values. Go really doesn't like to see unused values.)

Also, for those who may have spent some time benchmarking the more dynamic languages, I call your attention to the "ns" there. That's not milli- or microseconds, that's nanoseconds. (I once benchmarked something between Go and Erlang, and mistakingly though the Go was slower when it took 700 and Erlang was taking 70, but it turned out to be nanoseconds and microseconds respectively. FWIW, the code wasn't doing exactly the same thing, either, it was just some code I was benchmarking at the time, and it is expected that the Go code was doing less; point being, watch your units.)

[http://play.golang.org/p/K1LedMxMPL](http://play.golang.org/p/K1LedMxMPL)

</comment></comment><comment><USER11> The author of that article is also the author of the Goji framework (very nice web framework for Golang): [https://goji.io/](https://goji.io/)

<comment><USER12> I was looking for the example proxy around http.ResponseWriter the author talked about which is implemented in Goji, I believe it's this code: [https://github.com/zenazn/goji/blob/master/graceful/middlewa...](https://github.com/zenazn/goji/blob/master/graceful/middleware.go)

I understand it fine except this bit right at the end:

        var _ http.CloseNotifier = &fancyWriter{}
        var _ http.Flusher = &fancyWriter{}
        var _ http.Hijacker = &fancyWriter{}
        var _ io.ReaderFrom = &fancyWriter{}

What's the purpose of this ? According to effective go this just silences the unused imports but I don't think there's a need for that here.

<comment><USER13> The relevant part of Effective Go is here: [http://golang.org/doc/effective_go.html#blank_implements](http://golang.org/doc/effective_go.html#blank_implements)

It allows you to make sure fancyWriter implements all those interfaces, so that any future refactoring that breaks compatibility breaks at compile time.

You know how Go makes interfaces concordance implicit ? Whatever has a Read() method is a io.Reader without asking for it ? This explicitly tells the compiler (and other developers) the same thing.

<comment><USER12> Thank you, I read the wrong part of effective Go apparently, didn't see this. It's clear now.

</comment></comment></comment></comment><comment><USER14> Go's interfaces are great, but one of my annoyances is that you can't define an interface with values (methods only). Which makes little sense considering it works just fine with getters and setters. i.e:

        type Blah interface { Var string }

wont work, but

        type Blah interface { GetVar() string }

does. I'm sure theres a reason for this. Can someone shed some light?

<comment><USER15> The purpose of the interface is to abstract how something is done.

In your example, GetVar() can be implemented in a number of ways. Returning Var field of Blah struct is only one such way (and if there was only one implementation, there would be no need for an interface).

In that light, adding variables as part of interface doesn't make sense. Variables are fixing the thing that interface is meant to make flexible.

In Go, you can achieve re-using of a bunch of variables (and their methods) by embedding - put the variables you want to re-use into a separate struct and embed that struct in other structs. See [https://golang.org/doc/effective_go.html#embedding](https://golang.org/doc/effective_go.html#embedding)

<comment><USER14> It seemed to me that interfaces have a second function of providing partial uniformity across types (not just abstracting procedures). I.e the Animal interface has a method `Speak() string` and you have a function that takes an Animal that prints something like "Animal type {species} says {speak}" you would have to define a getter on the Animal's species even though its not a really a procedure. But I see what you mean though. Thanks!

<comment><USER16> If you have a function that requires both the species and a speak message from an animal, it would make sense for the interface to have a function that returns both the species and speak strings. I think that this [0] does what you would want.

If you want to guarantee that two structs contain a set of the same required fields, I believe the best practice would be to include an anonymous field for a struct with the fields across both. [1]

[0] [http://play.golang.org/p/0zMqPUicgq](http://play.golang.org/p/0zMqPUicgq) [1] [http://play.golang.org/p/cM3XPfitxH](http://play.golang.org/p/cM3XPfitxH)

<comment><USER14> That second one is damn interesting, didn't know you could do that. Thanks!

</comment></comment></comment></comment></comment><comment><USER17> Is it me or the text is really hard to read?

<comment><USER18> The line height is a little tight. The column width and typeface are fine.</comment></comment>


Your first startup should be someone else's - <AUTHOR> http://blog.downie.com.au/your-first-startup-should-be-someone-elses

<comment><USER2> Spot on.

I worked on three different startup ideas unsuccessfully before moving into an existing business. I learned a little in the unsuccessful startups but not a great deal - it's hard to learn when you don't have a great amount of traction / users etc.

When I moved into the existing business suddenly I learned how to sell, how to work with customers, how to position the brand etc.

I wish I'd sucked it up and taken a more junior role sooner - I think I would be further along by now.

<comment><USER3> Agree with Ned. I worked on an idea (two, even) before starting our current business and, although I learnt a lot from that experience, I don't think it was as much as I'd have learned spending time in a slightly larger, faster- moving, company.

I think the idea of getting real exposure sooner is underrated.

Incidentally, this is why your Startup Apprentice role is so interesting nedwin ;).</comment></comment>


D3 Antminers - <AUTHOR> http://www.ebay.com/itm/172886324592?ssPageName=STRK:MESELX:IT&_trksid=p3984.m1558.l2649 <comment><USER2> "The Antminer D3 is the latest product by Bitmain, released in 2017. It focuses on X11 mining, an algorithm used by the popular Dash cryptocurrency. With a 15 GH/s hashing power, it consumes 1200w."

It seems there's an ASIC for monero now. I doubt that javascript miners will be worth much as these become more common.

</comment><comment><USER3> [https://www.cryptocompare.com/mining/calculator/dash?Hashing...](https://www.cryptocompare.com/mining/calculator/dash?HashingPower=15&HashingUnit=GH%2Fs&PowerConsumption=1200&CostPerkWh=.12)

If the specs are real, the profit per day is $76.13 (at current prices). Assuming the price stays this miner would pay for itself in 1.5 months. Insane.

<comment><USER4> If that's the case, why aren't they using them themselves instead of selling them?

<comment><USER5> They are. Thousands of them. [https://qz.com/1055126/photos-china-has-one-of- worlds-larges...](https://qz.com/1055126/photos-china-has-one-of-worlds- largest-bitcoin-mines/)

[https://qz.com/1054805/what-its-like-working-at-a- sprawling-...](https://qz.com/1054805/what-its-like-working-at-a-sprawling- bitcoin-mine-in-inner-mongolia/)</comment></comment></comment>


Ask HN: First time pitch in front of a big company. What do they want to hear? - <AUTHOR> Hi,
in two weeks i have the first opportunity to talk in front of a really big potential customer (together with other 20 startups). Everyone has 3 minutes. We definitely solve a problem for them - so there is a use case, a problem, a solution and we provide value.
How do i make sure to stand out of the others? <comment><USER2> Talking from experience if you want to stand out:

            go straight to the point and stop.

One thing you will notice when going on stage with 20 other startups is that everyone stops listening after the fifth or so startup. Everyone does the same "Problem, Solution, Team, go-to market, bla, bla, bla".

Put yourself in their shoes. At the beginning they don't really care about your team nor about anyone else's problems. They care about their own problems, so don't be generic and say "80% companies have this problem". Say something like this when possible:

"You have this problem since 2014 and it costs you over 400k EUR/year, here is how we can solve it for you".

For this to work, it needs to be targeted for that specific big company.

If you really need to be more generic and explain what you do and how big the market is then do it, just remember that the human attention span to hear you will be around 90 seconds. And they will only remember the first 10 seconds and the last 10 seconds of whatever you say.

So, score points by getting in contact with the potential customer to investigate real values (talk with an engineer, someone in management, etc). If you know nobody, usually what I see working is picking up the phone and calling the company. You will talk with their secretary, if you are sincere and explain what is happening she might be able to connect with you with the person that can help you succeed (preferably not the person in the audience watching your presentation).

Don't show animated slides. Only show 3 to 4 slides. Might seem hard but reality is that you don't have much attention from them anyways.

When concluding the pitch, end with something memorable such as "this is the type of thing that we are good in solving, come and talk with us after this presentation"

Good luck OP.

<comment><AUTHOR> Thanks! A lot of great advice.

I'm really good at public speaking. This is one of my greatest strength so it is a no brainer how to do a presentation where i communicate my vision. But i never had to "close a deal". That is where i'm struggling. So how much does it divide from that?

Can you recommend any online resources?

<comment><USER3> Number one tip to close the deal: ask directly to close the deal. Are you ready to sign now?

</comment></comment></comment><comment><USER4> I think @nunobrito covered most of what I wanted to say.

Without knowing your product it's hard to give you the best advice, but here are things that worked for me in the past:

* Use real data that they can relate to. For example, if you're software does case management for non-profits. Find out who their customers are and create an "fake" example of how your software would work to manage a case for that company, from start to finish. This is partly for the 3 minute presentation, but more so for the barrage of questions you'll get asked afterwards once they like what they see. It's always easier to sell something when you find a solution to a pain your customer has right now, with one of his customers!

* Use only the terminology that they use and understand. Similar to #2, use the language that your customer speaks. Know your user and which language and acronyms they are using on a daily basis. I've seen so many times young startups use scientific terms or executive mumbo jumbo that the audience didn't understand.

* The 3 minutes is only the beginning. Whether you succeed or fail, it's not the end. Before, during, and after, identify the lead of the group that will be using your software and try to identify the decision maker. The person who signs the check if often different then the person evaluating your software. This is a sales cycle and they are both important for you to convince. Get a meeting with them, figure out what makes them tick, what their budget is, when will they be in a position to evaluate your software, etc..

Hope this helps a little, good luck!

</comment><comment><USER5> First of all, good luck! It's exciting to get your first major pitch to a big potential client. Hope it goes well and you guys close the deal. There's also some great advice in this thread.

With regards to your question, Zig Zigler had a great line about pitches in the Secret of Closing the Sale ([http://www.amazon.com/Zig-Ziglars-Secrets- Closing-Sale/dp/04...](http://www.amazon.com/Zig-Ziglars-Secrets-Closing- Sale/dp/0425081028)). Put your best point up front and communicate your value to the client and save your second-best point for closing rather than hammering them in order from strongest to weakest. Reason being people tend to listen to the beginning and end of pitches and ignore most of what's said in the middle. Hammer your best value proposition up front and save your second- best one for last. I strongly recommend Zig's book for learning sales. You get a good idea of what goes into pitches and selling and how to deal with the various objections you will get as you try to close a sale.

Your job is to communicate to the client that the value your product provides outweighs its cost and you solve some of their major pain points. It sounds like you already know what they are so hammer them. Spend your time explaining what you do for them, not "we have a team of rockstars yada yada yada". I start tuning out at that point because everyone thinks they have a team of rockstars. I care more about the value you provide and your ability to deliver and less about your team of rockstars -- unless you have a major differentiator like the creator of a technology commonly used in the space on the team for instance. Solve my problem and tell me when you will have it solved. "We solve XYZ, saving you $BUCKOO_BUCKS and we can deliver it next week."

Good luck and happy hunting!

</comment><comment><USER6> If possible, find out who is going to be there and what their top three pain points are. Focus on showing the person(s) in the room that you are relevant to the problems they personally face -- IT has totally different concerns from Marketing.

Your goal in the first meeting is to get the second meeting. Thus, it doesn't do you a lot of good to have them think they understand what you offer (especially if they get it wrong). You want them to need to talk to you before they make any decisions. This all points to focusing on the problem and convincing them that you _can_ solve rather than explaining how you solve it.

</comment><comment><USER7> > really big potential customer (together with other 20 startups). Everyone > has 3 minutes.

There is a subtle technique known prizing. Subconsciously, you must convey to the audience, "You are trying to win my attention, I am the prize, not you. I can find thousands of buyers/clients like you. But there's only one of me." You control the Frame.

On this subject, Oren Klaff is the Master > [https://www.youtube.com/watch?v=YSYWFRfPUs4](https://www.youtube.com/watch?v=YSYWFRfPUs4)

</comment><comment><USER8> What do they want to hear? One and only one thing. How will you make them more money. Either lower their cost of operation or bring them more business. That's it.

</comment><comment><USER9> Going in to pitch alongside 20 others means you've already lost. The fact that you don't know what they want to hear only confirms this.</comment>


GehriRoute – Create and share routes (Beta invitations open) - <AUTHOR> http://gehriroute.net <comment><USER2> A paragraph explaining the concept would be a bare minimum to get me to subscribe.

<comment><AUTHOR> Thank you your viewpoint. I can understand. I just want to tell you something more about this. We will be activating the applied accounts within a week. The idea is actually very popular among the people of northern India. The term "gehri" has a punjabi slang attached to it. It means "rounds". So whenever people go out in the city to take a "round" for leisure, they call it a "gehri".

Check this location page on facebook : [https://www.facebook.com/pages/Gehri- Route-Sector-891011/210...](https://www.facebook.com/pages/Gehri-Route- Sector-891011/210996335583444)

Its not even a single real location. Its a complete route.

And check the number of checkins. : It has : 115,717 Checkins !!

<comment><USER3> I am from north India, but I didn't get it either. If it were spelt as "Ghera" I might have had some luck, but the moment you swap 'h' and 'e', I am lost.

As someone else suggested, stick a sentence somewhere right on top indicating what this site does e.g. "Claim and share your favourite route maps with friends" or some such thing.

Good luck

<comment><AUTHOR> "Ghera" is a Hindi word meaning "Deep". "Gehri" is a Punjabi word meaning "Rounds" (literally). As @gsa said, we can say it as "a joyride". That is actually a better explanation for it

<comment><USER4> I think kops does mean 'Ghera' as in circle. You're probably thinking of 'Gaihra' as in deep.

'Gehri route' is more commonly spelt 'Geri route'. See [http://en.wikipedia.org/wiki/Geri_route](http://en.wikipedia.org/wiki/Geri_route)

</comment></comment></comment></comment></comment><comment><USER5> Some technology details would be useful, beyond what's on the About page. From a small crop it looks like it might be built on Google Maps; I'd prefer OSM data as being much fresher than that.

Also, www.blog.gehriroute.net ( the Blog link at the bottom of the pages ) has no DNS A or AAAA records ( I checked OpenDNS and Google DNS too )

<comment><AUTHOR> Thank you for your suggestion. Yes. We are currently using Google Maps API.I will take your suggestion of OSM very seriously. Is OSM really very fast ? And can you please tell me if their data is accurate in countries like India ?

PS: we don't have a blog right now. We are working on it.

<comment><USER5> Hi! Google Maps will have the advantage in handling huge loads, but I find OSM data much fresher in terms of new developments ( roads, housing estates etc ) and it has much more useful data for pedestrians and cyclists.

I've yet to be impressed by Google Maps' directions for pedestrians, often it sends us along busy roads without sidewalks because there's no commercial incentive to research and include pedestrian-only shortcuts.

I suppose it depends on your userbase.

</comment></comment></comment><comment><USER6> Nice. In about page, should it be _" Let the world know why your city rocks!"_?

Also, I get a 404 when I click on top-left corner logo or _" Be the first one"_ button in about page.

<comment><AUTHOR> Thanks for pointing out. I will just correct it.

</comment></comment><comment><USER7> An idea based on scaling up a type of advice that people already naturally give each other in person. I like it.

</comment><comment><USER8> Applied. Pretty clean interface. I like the about page: gehriroute.net/about

<comment><AUTHOR> Thanks for registering. And thanks for the complement.</comment></comment>