Ask HN: We're building a real-life, location-based MMORPG. Will you play? - <AUTHOR>

Dear HNers,
Here's what we intend to have when we're ready - a game that borrows elements from World of Warcraft, Foursquare and Mafia Wars, playable through the browser and eventually via a mobile device. No graphics engine for now, we're thinking compelling visuals + text.
Chapter 1 -  Architecting the world:
We pull in your check-ins from a popular location based service (Foursquare/Gowalla/Facebook) and reward you for checking in (with virtual currency and 'artifacts'). We build a mystical, medieval universe atop these real places. You then compete to purchase these venues and start upgrading them, fortifying them for the impending onslaught. (Yup, this bit has certainly been inspired by Booyah's MyTown, but it's also pretty much where the similarity ends). [Status: Nearing completion]
Chapter 2 - Learning the ropes: You begin exploring the universe through your check-ins. Play simple browser-based, click-driven missions to earn more currency / XP / karma / health. Head out into the world, either alone or with a band of cohorts to complete quests that require you to carry out recon / defend your properties / deliver packages / sabotage or booby-trap venues / attack other users and properties. [Status: 3-4 months away]
Chapter 3 - Choose your Adventure: Races/allegiances that reflect you and your style of play. Richer gameplay that you  can influence (think swarm badges in Foursquare). And much more that we haven't thought of yet.
- Overwhelming is a mild word for how daunting it'll be to string together a playable MVP for this, so if you think you'll play, please let us know - IT'LL SPUR US ON!
- Please give us suggestions for gameplay elements you'd like to see. What we really don't want is for this to end up being another mindless social game. <comment><USER2> Thanks, but I'm already playing a real-life location-based MMORPG which takes up most of (or rather, all) my time.

<comment><USER3> I'm playing that one too. And it _pays_ me to play it! ;)

</comment></comment><comment><USER4> _We build a mystical, medieval universe atop these real places._

Please, not another one. Although it is the most popular trope, and thus probably has the greatest potential market, that also makes it difficult to differentiate your product. There are lots of alternatives - secret societies, Cthulhu mythos, robots/AI, or some _Diamond Age_ type fusion of several genres.

Browser playable is good, but if you have location based checkins I think the mobile app (or rather, mobile version of the browser page since you're text- oriented) should certainly be available from the beginning so people have access to it when they're bored or with friends. It doesn't have to be be exhaustively capable.

<comment><USER5> Yes I would definitely recommend something other than mystical/medieval.

</comment></comment><comment><USER6> In the university I studied, students organized different games played trough the year. It is a good method to help people socialize and know each other in the first year.

One of these game was called hitman. Every student who wanted to play had to provide a picture of himself and was registered as player. Then each player was given a random photo of another player and a small trumpet in paper that rolls out when we blow in it. So evry player was a hitman and a target of another hitman at the same time.

The hitman had to "kill" the person on the photo that was given to him. Killing was done by blowing the trumpet and touching the person with the rolled out paper.

Of course it was forbidden to kill anybody during lessons. The task was made more difficult by allowing someone to be immune to killing by holding an open umbrella above his head.

The hitman had thus to first locate its target, spy him without beeing recognized as his hitman and find the best moment to kill the target. Witnesses must be present to attest a valid killing. The last target to survive was the winner.

I didn't play the game so I don't know the details, but it was very funny to see these students walking around with open umbrellas, even inside buildings, and all the trumpet noise. It was also funny people talking to each other trying to figure out who is ones hitman. There was enough players to make it very hard to know, even at the end of the game

This is an exemple of game that was socialy usefull and fun. Organizing, providing the equipment and managing the game could be a business. Sell it in a box, one box per player. The umbrellas might be a bit dangerous for the eyes, so funny big umbrellas without metal in it, just for the game use, could be better and even more fun as well as justify the rent fee.

<comment><USER6> This was more then 20 years ago (this hurts). There are many ways one could imagine to change these rules today in the way the killing is performed. Since most people have today phones with numeric camera capture devices, killing could be changed into taking a picture of the target in a particular condition. For instance one variant could be called paparazzi where the hitman is a team of two players of opposite sex randomly combined that will have to cooperate. The killing could be taking a picture of a stolen kiss on the cheek or a photo bombing which could become a parallel contest. Replace the umbrella by a big colorful hat or anything alike which attracts attention and is funny. Those games should of course always respect the law, culture and rules of the place and require explicit (signed) prior consent of the players. The target should then be implicitly given ownership of the photo by game rules and be able to decide of their use. People should never be/feel constrained to play the game.

So the first fundamental rule of such type of real life games should be respect of the players and social context.

In the virtual worlds (i.e. WoW) one can erase the avatar and create a new one from scratch. In real life this is not possible, and interferences with other activities (family, study and professional) may become devastating by accident or youth naivety. Organizers should take their responsibility very seriously. Otherwise the limit is just imagination. The first aim of such type of game is to be fun and provide good laughs and catalyze social contacts.

In some contexts where ostensible extravagant behavior is not tolerated, i.e. army, business, the game could be changed into assigning a random secret (i.e. word) to each player with the hitman playing then as a spy that has to find out that secret by any means (except water boarding of course, although...). This could be a good game to entertain people and be useful by training their vigilance to what they say and where, etc.

The business idea could then be to provide a web service to manage the game, assign random secrets (i.e. word, object, concept) and a mean for the spy to check his finding with eventually a limited number of tests. This type of game could help socialize but also contribute to train people to hold defense/trade secrets.

Have fun...

</comment></comment><comment><USER7> I'll play for sure.

I've been tossing the idea of a game layered on top of reality around quite a bit. The pitch is "imagine a group of WOW players exploring a real cave in Yosemite National Park and fighting against a real invisible dragon for loot.". The world is great, there is no reason to invent another one.

In more abstract (and less crowd-pleasing) terms, I believe that such a game can give a motivation for changing people's behavior (for better or worse). If I have a boring commute to work on foot, then I can just go on a "quest" to work, which will be reflected in my profile. The quest could even be charitable. Maybe there will even be an API for quest-givers, who know ;)

The real fun begins when you include group dynamics. Imagine getting a quest to capture the dangerous thief kind of Alcatraz, but unfortunately he is so obese that you need at least four people to carry him away. Would you ask strangers to join you on your quest? ;)

Check out this great related TED talk by the guy who runs SCVNGR: [http://www.ted.com/talks/seth_priebatsch_the_game_layer_on_t...](http://www.ted.com/talks/seth_priebatsch_the_game_layer_on_top_of_the_world.html)

I think thee idea is a little ahead of the curve, but in a few years (call me crazy!) something like this has the potential to be the defining game of a generation.

Keep us posted on your progress.

P.S.: I second the "no fantasy" sentiment. Fairies and dragons don't work for everyone.

</comment><comment><USER8> I did some brainstorming on this idea a couple months ago: <http://mohrslaws.blogspot.com/2010/02/reality-as-genre.html>

The subsequent discussions led me towards imagining a game that was a sort of cartography sim. You explore the real world, and as you go along, you reveal (/create) an alternate world. The key to keeping it from being another annoying mindless social game, I believe, is to emphasize checkins at more physically varied places, instead of many checkins at existing locations. In short, make it more like geocaching and less like foursquare.

On that note, the people that are likely to do this kind of adventuring aren't generally the type who want to sit and grind or be over-involved in a game world. So make it easy to check-in, take care of some things, and get on with your life. The satisfaction will come with seeing what comes of your activity as you get deeper into the game.

<comment><USER2> _The key to keeping it from being another annoying mindless social game, I believe, is to emphasize checkins at more physically varied places, instead of many checkins at existing locations. In short, make it more like geocaching and less like foursquare._

I can imagine that it might be annoying, though, if it was arbitrarily decided that the spot on the street outside my bedroom window was Candy Mountain and suddenly started getting dozens of people showing up every day to check in.

</comment></comment><comment><USER9> You may have lots of users and I wish you all the success, certainly looking at the Foursquare leaders in London either they are cheating or they go to a hell of a lot of places and check in everywhere.

Also games and trip creating location services like SCVNGR and Gowalla seem to be picking up speed, so maybe you will have a market.

However personally I will only checkin for the following reasons: [+] I want share a place I like such as a restaurant with friends and this is an easy way [+] there is some discount e.g. free coffee in a place I like and go frequently that I can build upto by using something like checkmate for iPhone

I certainly do not have the time nor inclination to go around lots of different places and checkin for a game. And that maybe a problem for you if more people are like me because I like world of warcraft and used to play it quite regularly.

<comment><USER10> Gaming Foursquare with Perl: <http://compbio.cs.uic.edu/~mayank/4sq.html>

</comment></comment><comment><AUTHOR> Just created a twitter handle so we can keep in touch and share updates with everyone who's interested.

<http://twitter.com/locationmmorpg>

We'll come up with a better name real soon.

</comment><comment><USER11> In Japan, these kind of games have been popular for at least a couple of years.

One I know of is "Keitai Kunitori Gassen" where players check-in to different regions of Japan to get points and take them over. They have enough money to advertise the game on the trains. The interesting thing is they have hardcore users who will travel all around Japan to check in to locations. This actually ties into part of their business model, where they are paid by businesses to hold special events at certain locations. A couple years ago, they said they could get a couple thousand people to go to a location just by holding an event there.

</comment><comment><USER12> Sounds fun, but the world's first? Isn't <http://www.parallelkingdom.com> already doing this?

<comment><AUTHOR> Thanks for the link! Edited the title of our post. Here's what we think will set us apart: 1) We plan to build this on top of LBS APIs so you can get into the game with minimal effort and check-ins via your favorite service earn you points. 2) This will primarily be browser playable - we don't want to be yet another mobile app jostling for your attention when you're out there in the real world.

<comment><USER12> Ah, ok. I've had similar ideas as well. But a game more similar to <http://tribalwars.net> or <http://lordofultima.com> on a real map.

Good luck, let us know when you have something we can play.

</comment></comment></comment><comment><USER13> Sounds interesting, but I'll probably forget about it before you finish it. Do you have a landing page where I can sign up to get a reminder email and/or updates?

<comment><AUTHOR> Just created a twitter handle. @locationmmorpg

</comment></comment><comment><USER14> Do you have a web site, mailing list or Twitter account?

<comment><AUTHOR> @locationmmorpg on twitter

</comment></comment><comment><USER15> Sounds like SPOOKS!

<comment><USER16> If it catches on, then it might be a precursor to something like SPOOKS.

</comment></comment><comment><USER17> Sounds cool. God speed. I don't play MMOs at all tbh though :(.</comment>


Ask HN: What is the point of crypto currencies run by a company? - <AUTHOR> After reading the 1,000th article about how a company (Facebook in this case) is creating its own crypto currency for X. I feel like I have a missunderstanding about the basic use of the terms crypto and blockchain.
I thought the purpose of a crpto currency was to decentralize the recording of transactions? Also in the case of Facebook's coin the value is backed by existing currencies. If the recording of transactions is done by a company like Facebook or a country like China, what is the purpose of blockchain versus a normal database? Where do miners fit into these coins if at all? I see the value in the removal of transaction fees, but again where does crypto come in versus just using a traditional db.
I have been trying to find answers to this but the internet is flooded with junk around these topics. Any response, resource are appreciated! I feel like this stuff is all over the news and nobody understands it. <comment><USER2> In fact it is not as easy as it seems. Bitcoin is in fact 'something' that is a by-product for performing the most appropriate Proof of Work for a given block of transactions. For this mining reward the miners burn the hell out of resources and because of the immutable history in the chain and such efforts put, Bitcoin has a value.

Ether in Ethereum follows a similar logic. But plus to just rewarding the miners, Ether is 'required' as a mean of payment for performing additional computing tasks for a smart contract to run as requested. That is so called GAS and it makes Ether somewhat called 'Utility Token'.

I think these are the basics how cryptos have values and how to have it properly with right proposition. Value comes from successful execution of certain task in a decentralized way for the currencies are created in such a manner. So called 'Tokenization' may have some advantages over traditional applications but currently, properly positioned tokenization projects are scarce in the industry.

For blockchain to be able to properly scale up and create value, still the infrastructure is in early stage development. But as a person who is working in the industry, I see the improvements are being made in both centralized and decentralized forms.

</comment><comment><USER3> 1\. Milk money off investors

2\. stop</comment>


Show HN: Implement a toy video encoder from scratch in browser - <AUTHOR> https://epiphany.pub/post?refId=4c411b8a0b5207739f97e787d2af77ec9e1a1a47f117eb946ba1fcf51865d5f6 <comment><AUTHOR> Hi guys,

I'm the maker behind epiphany.pub, a crossover of Jupyter notebook and Medium.com.

This is an example of implementing a simplified video compressor using it. Every code block is editable. The edit button is at the bottom right corner.

Looking forward to your feedback.</comment>


Nginx is on fire - <AUTHOR> http://www.itsmdaily.com/2014/01/04/nginx-is-on-fire/

<comment><USER2> I think the fact that the graph glosses over the 3% growth of 'Microsoft' and the general uptake is pretty interesting.</comment>


Holocene shifts in plant and animal communities implicate human impacts - <AUTHOR> http://www.nature.com/nature/journal/vaop/ncurrent/full/nature16447.html <comment><USER2> Maybe someone can help me understand the significance, because this seems perfectly obvious. I couldn't read the full article, but I don't think any scientist in the field felt like humans hadn't had any impact on plants and animals through massive agriculture and reduction or extinction of predators.</comment>


Enhanced-mode Windows 3.0 didn't exactly run a copy of standard-mode Windows - <AUTHOR> http://blogs.msdn.com/b/oldnewthing/archive/2013/02/08/10392028.aspx

<comment><USER2> _Okay, I went back and dug through the old Windows 3.0 source code to answer this question. It took me about four hours to study it all, try to understand what the code was doing, and then distill the conclusions into this article. Writing up the results took another two hours. That's six hours I could've spent doing something enjoyable._

It's interesting that Raymond has the source at hand. How many people at Microsoft have general access to the Windows 3.0 source code still? I wonder what barriers remain for Microsoft to just release early Windows source to the academic community so that Raymond doesn't have to be the proxy for all these questions? Is there any evidence than _any_ valuable Windows 3.0 code remains in Windows 7 and is therefore worth protecting?

<comment><USER3> Many possible reasons:

\- still part of current Windows (unsure about specific code, but 32-bit Win7 still has enough code to run Win3x apps, possible Win8 does but haven't confirmed personally)

\- third-party code they don't have full rights to

\- trade secrets

\- pride

\- simply don't care

<comment><USER4> Your second reason is right on.

</comment></comment></comment><comment><USER5> Good ol' windows DPMI, where you could create a read/write LDT value with the same address as the GDT, taking over the processor security at the lowest level. That wasn't fixed until win2k.

<comment><USER6> So it was never fixed. Win2k ran the NT kernel which AFAIK was written from scratch.

Another funny thing which worked in win9x was:

            cli
     foo:   jmp foo

I never understood why and how, but it really did.

<comment><USER7> So, the reason that hangs win9x is that _cli_ disables interrupts, then _foo: jmp foo_ runs into an infinite loop. With interrupts disabled, it's impossible to preempt the process, so it just hangs everything.

This shouldn't work from a win32 app, though, since that runs in ring3 where _cli_ is an illegal instruction; it should only work from VDMs.

<comment><USER6> I know what this code is supposed to do. I wrote it myself expecting to see "General Protection Fault".

IIRC, it indeed faulted when executed from main() in a C application, but somehow it hanged Windows 95/98 when inserted immediately at the _start label of a simple 32-bit assembly code. So either executables had some "run in ring3" flag which my assembler didn't set, or the pre-main() initialization code was handled in some special way (executed in supervisor mode or with broken exception handling resulting in a lockup).

<comment><USER7> Ahh, misunderstood your original statement, sorry!

And yeah, it should fault; I don't see why they'd run init code in ring0, but win9x did some very strange stuff. There was some malware that I'm trying to recall that would rewrite the IDT and then trigger an interrupt, immediately running itself in ring0 -- anyone know which that was? I used to have the assembly sitting around, since it was a fun little virus to analyze.

</comment></comment></comment></comment></comment><comment><USER8> Woah, I never knew the blue screen of death was at one time functional.

<comment><USER6> In Windows 9x they always were interactive - you could either reboot immediately with CTRL+ALT+DEL or press "any key" to enjoy further bluescreens, probably at the cost of slightly increased probability of filesystem corruption.

I always chose the second option. I liked watching W95 scandisk with this bullet point list of checks it's going to perform and animated progress bar. Much better than NT scandisk.</comment></comment>


Why Silicon Valley funds Instagrams, not Hyperloops - <AUTHOR> http://jerzygangi.com/why-silicon-valley-funds-instagrams-not-hyperloops/ <comment><USER4> It's quite simple, actually:

      - The capital investment required for Instagram is well under a million dollars
      - The capital investment required for Hyperloop is well over a billion dollars (R&D, Materials/Prototypes, Insurance, Land, Construction)

The best-case returns are:

      - 1 billion for Instagram
      - 20 billion for Hyperloop

Thus, the best-case ROI for both are:

      - 1000x for Instagram
      - 20x for Hyperloop

The timelines to get to production are:

      - less than 1 year for Instagram
      - minimum 5 years for Hyperloop

The only way Hyperloop will happen is if there is a way to _incrementally_ get there. In other words, if you can make a 1/1000-size scaled-down prototype, iterate and improve upon the design, and then scale up to a full-sized model.

<comment><USER5> This is wrong on many levels. Firstly funding over a billion dollars is not remotely intimidating to the large VC funds who understand about capital intensive businesses and managing the investment lifecycle.

When you put together very large sums of investment you don't have a 100x expectation for return. The institutionals which will take on later stages of this financing just want to outperform the other investment options they have for that amount of casH (not that many).

Your 20Bn upside for Hyperloop is very low. If done to scale and over the long haul it's a very big opportunity. Even then I know of no investors - ZERO - who wouldn't take a 20x return on a billion dollar placement.

Finally. Instagram. Really? An outlier like that is what you're going to base your idea of investment on. Look at VC returns. They take a portfolio strategy for a reason.

It's a common misunderstanding that VCs want to put small amounts of money to work for huge returns. They'd much rather put much bigger amounts of money to work. It's how they're structured. Do they want the odd moonshot Instagram in their? Sure. They'll take it. But they'd take 1billion -> 20billion over 1million -> 1billion every day.

<comment><USER6> "Even then I know of no investors - ZERO - who wouldn't take a 20x return on a billion dollar placement."

Sure, if there was any sort of guarantee it would work. When there's a serious chance of throwing your money into a black hole where cash goes to die, then I'm not sure the upside is worth it. And even then, if you can make 1,000 investments into Instagrams for the cost of one investment into Hyperloop, I'd do that every time. "But they'd take 1billion -> 20billion over 1million -> 1billion every day." sounds wrong to me. If you have the $1B to invest, wouldn't you want to spread that out, make 1,000 $1M investments? I'd imagine your return would be better with that than an outside shot you could hit 20x your money on one investment.

<comment><USER5> Right. But no investment has a guarantee of working. There aren't 1,000 Instagrams in tech. There are roughly 10-15 moonshot investments made a year out of thousands. So you can't find 1,000 instagrams.

Investment doesn't scale like that. You can "imagine" return would be better but it isn't is it? Look at VC returns. If you make 1,000 investments of $1million how many do you think make it to being a billion dollars vs just losing your money? How many of those investments need ZERO more capital along the way - if they need more capital you either get diluted out or you're putting a ton more cash in.

Instagram is a ridiculous outlier to build an investment strategy on. How many other Instagrams have you heard of this year? Yeah... not 1,000.

People investing in Hyperloop type investments don't put all their money on one investment either. If you're an investment manager at a pension fund having to find places to park $500BILLION you cannot be managing million dollar investments, they're meaningless. Even an Instagram doesn't move the needle. You have to place lots of billion dollar bets.

</comment></comment></comment></comment><comment><USER7> If the author wanted to be fair, the title should be "Why Silicon Valley funds SpaceXes and Teslas, and not Hyperloops." And then it would be clear that the answer is simply that Elon is working on SpaceX and Tesla, and not on the Hyperloop.

<comment><USER8> Silicon Valley actually funded PayPal. Elon Musk made a boatload of cash from that, and used the mojo (part of it was his own cash, part of it was the reputation he built with PayPal which enabled him to raise more money) to jumpstart SpaceX and Tesla.

But anyway. I am going to say something VERY controversial. Think of it as Devil's Advocate, squared, on steroids. Here goes.

The article could be seen as a rebuke to the fundamental principles of capitalism. You could say capitalism doesn't scale - not to Hyperloop size anyway. Projects at this magnitude simply require that bigger powers get involved. E.g., the government. Sorry for using the G-word in such a refined milieu.

Quote from the article: _" Unfortunately, the market does not reward cash flow because the market does not reward value and innovation. The market rewards exits."_ If that doesn't ring a bell, I don't know what does.

Another quote: _" The next reason that we don't have Hyperloop, but we do have Instagram, is that Fortune 100 companies have notoriously bad in-house R&D. Therefore, acquisitions are driving most of the innovation. "_ Again, this could be seen as further proof that profit-driven endeavors only innovate small-scale and short-term. Larger leaps are driven by different incentives (I could go on a ramble about the joy of making, but that would be preaching to the choir round these parts of town). And when it comes to truly fundamental research - well, that field is simply allergic to what they call "the industry" (a slightly derisive term, when used in this context); spend some time among theoretical physicists and you'll see what I mean.

When I was young, I've read an essay by a Russian scientist, who was arguing that the centrally planned economy allows for high-magnitude projects, precisely because large financial forces can be easily engaged at this scale. I can't say I entirely agreed with the article back then (a kid growing up in the Eastern Bloc, not really liking the system), and I would not support it indiscriminately now either.

But then there's the Hyperloop. Or any other large scale project like this. Does capitalism scale at this level? Seems like it doesn't - at least not the capitalism of the smartphone app ecosystem. Are there any built-in limits to capitalism? Looks like there are - the limits are the power and wealth of a single individual, whereas some things are too big for any given person (and yes, I am aware that multiple investors could get involved to fund this project, which merely makes the problem slightly less bad, but still leaves it laying in the gutter).

Bear in mind, as someone who grew up behind the Iron Curtain, I definitely do not advocate for the Five Year Plan economy. But I think these concerns are legitimate. And I don't have any answers. Maybe someone here does. Or someone "out there".

Anyway, that's all I had to say.

<comment><USER9> Except that the premise is wrong - capitalism most definitely scales at that level. The railroads across America that were built in the 1800's were not a mandate by the federal government, they were private enterprises.

<comment><USER10> Am I crazy, or weren't the railroads heavily subsidized by the government? I think this heavy flow of public capital into a small number of hands created some of the "robber barons". In the long run it was probably the right call, as this kind of infrastructure spending and innovation doesn't happen without government involvement. Still, it's interesting to think how in the short-term it led to some pretty astounding income inequality. Maybe the issue is why didn't the government just build it themselves, sure it probably wouldn't have been built as efficiently as the worker level, but the overall cost might not having been much higher.

<comment><USER11> Yes, they were.

"From 1850-1871, the railroads received more than 175 million acres (71 million ha) of public land - an area more than one tenth of the whole United States and larger in area than Texas."

[http://en.wikipedia.org/wiki/Pacific_Railroad_Acts](http://en.wikipedia.org/wiki/Pacific_Railroad_Acts)

</comment></comment></comment></comment></comment><comment><USER12> Why isn't this as simple as "the world's largest VC firms don't manage enough money to put a dent in a Hyperloop-scale concept, and need liquidity long before even the most optimistic projections for Hyperloop construction would suggest a payout"?

Venture capital isn't a public service. It's small teams of investment bankers making bets with endowments and pension funds. The investments have to fit the model, not the other way around.

<comment><USER13> Also, VCs don't fund public utilities / infrastructure, which are (at best) generally capital-intense, low-risk but low-return projects. If a project like the Hyperloop had to depend on private funding, it would need to return hundreds of billions in value, and that's just not going to happen. To get things like eminent domain, it has to be built as a public good, which means it at the very least has to be affordable for the average citizen (in some form.) That's why projects like high speed trains should be funded out of the public coffer and are generally unsuitable for private investors.

Now, building a company to develop Hyperloop tech / high-speed train technology? I'm sure that's something private investment could do, but I don't think it's really SV's forte - there are other places that would be better suited to that kind of engineering.

</comment></comment><comment><USER14> I think the author is on to something with the small bets, investors being wimps, etc. And I'd add to that: The pressure with these small bets is for a startup to produce something _fast_. The whole culture is designed around "What can you do in a weekend, prove a market exists, and then scale manually until your dev team can catch up?" Hence why every 3rd startup out of YC seems to be "Uber for [laundry, house cleaning, menial tasks, etc.]" It's an easy model to prove and scale.

A lot of ideas take longer than a few months and a few hundred thousand dollars to prove, but investors don't want to take the risk and founders see it as easier to build a laundry service and get paying customers in a week than to come up with a really big idea and potentially waste millions getting it to the point where it would be a failure or a success.

I don't think it's Instagram we need to worry about--I think it's the myriad of startups that are getting funded to the tune of a few million in a seed or a Series A that really aren't doing much of anything past scaling an "old- school" business, and the investor/accelerator culture that forces these startups to build a business in a week or two. (I say this as someone who's running a funded startup and currently going through a top accelerator, so at least I have a first-hand perspective.)

<comment><USER12> It's not simply that investors don't want to take certain risks. It's that some kinds of risks are outside their parameters. VCs are built up in our minds as towering financial authorities, but really they're just small teams of MBAs who are themselves raising money from foundations and pension funds, and the fraction of that capital that they get to work with is very small; a large pension fund wants some exposure to the market dynamics of "venture capital", but no pension fund wants to bet the farm on a Hyperloop.

When you grok how venture capital actually works, it gets easier to see how much less important they are to the economy than they seem. Startups like Instagram emerge from the parameters of VC, not from the whims or me-tooiness of the VC partners.

<comment><USER15> Again, this is a standard trope at HN,but is wrong - they are not primarily financial it goes like hedge fund or PE guys. Most top tier firms are made up of former entrepreneur types. And the idea that they all don't invest in groundbreaking technology is because quite frankly a perception issue here - is the average YC company a groundbreaking tech or closer to an Instagram? A lot of the clean tech investing was disastrous, but that is an example where a lot of interesting tech was backed, some of which has hit the market. Jut because it doesn't reach the front page here does not mean it doesn't happen.

<comment><USER16> It is not wrong. To make matters worse you'd need to look at the history books to better appreciate what indeed actually is "groundbreaking tech" and how it evolves. Science and technology is nudged along with micro breakthroughs. The history books are full of what appear to be big breakthroughs but when you look past the surface you'll discover how they really happen. Your experience of VC firms appears to be very limited, I'm guessing though you were top in your class (probably two years ago), and now think when you say something, it automatically becomes "the word".

<comment><USER12> Wow was that last sentence ever unwarranted and unproductive.

<comment><USER16> neither, perfectly warranted, read his other comments that are written with great authority, but often substantively wrong.

<comment><USER12> If your points are strong, they don't need to be covered in barbs. Barbs are a "tell"; they indicate bluster, which is what people deploy when they don't know that they're talking about. You're making it harder to take you seriously and should change your tactics.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> For a counterargument, see [http://greatergreaterwashington.org/post/19848/musks- hyperlo...](http://greatergreaterwashington.org/post/19848/musks-hyperloop- math-doesnt-add-up/)

I'm all for innovation and pursuing alternate forms of transportation, but I don't pretend Musk's claims are above criticism.

As for the jerrygangi.com article, it grossly misrepresents Warrent Buffet's investment strategy:

>Here's a piece of news: real investors don't care what industry they invest in. Warren Buffet has invested in railroads, furniture companies, insurance companies, and hundreds more.

This is in direct opposition to what Buffet has actually said about investing [1]:

"Never invest in a business you cannot understand."

Using Buffet's actual statements and not some misrepresentation of his ideas, it seems clear that Buffet would require a great deal of due diligence to validate Musk's ideas before considering any investment.

[1][http://www.socialphy.com/posts/off-topic/9789/Warren- Buffett...](http://www.socialphy.com/posts/off-topic/9789/Warren-Buffett- Quotes-On-Investing.html)

<comment><USER18> Those aren't contradictory. If you put the two statements together, the claim is "real investors should understand more industries". You can agree or disagree with that, but it reconciles the two pretty simply.

<comment><USER19> I get the impression that investment banking culture is biased against that in the sense that it does not hire polymath geek types. It hires suits with finance degrees, or people who have a demonstrated record building businesses. Since we just had a huge web boom, the latter category is going to be stacked full of people who get the web and only the web. Hence we're spacing out our tweets, not commercializing space.

<comment><USER20> I think the modal background for VC is still someone who came over from an investment bank, and your statement doesn't really characterize their hiring. Investment banks don't hire suits. They hire kids. They hire smart kids from Harvard and Wharton, increasingly those with nerdier backgrounds, but ultimately kids who don't know anything. Then they impart unto these kids their incredible institutional experience with financial analysis. And from there, those kids go forth and become VCs and PE guys and HF guys and CFOs, but they take with them a singular focus on financial analysis.

This is why Wall Street hates Apple and loves GE and relegates VC off to the side. And that's also why hyperloop doesn't get funded. Because the people with billions to throw around, which the VCs don't have, can do the financial math to realize that projects like that aren't going to be sufficiently lucrative to justify the enormous risk.

</comment></comment></comment></comment><comment><USER5> Silicon Valley funds Instagrams not Hyperloops because it funds things where it can manage risk in a predictable way through capital. Contrary to other comments it's not down to scale of investment. There's a lot of investment cash out there and it's actually VERY hard to find big investment deals - <USER2> you have an opportunity to put a ton of cash to work it's appealing.

Hyperloop will be absolutely bogged down in political dealing, backhanders, corrupt politicians, labor unions, incumbent industries so inefficient they'd rather spend money on lobbying and gaming the political system than doing something about their fading competitive position.

This is just not something that allows financial backers to have any kind of forward visibility, even modeled, into their investment.

Silicon Valley isn't TechCrunch. That's just the noise and that kind of startup is just what you see and hear the most.

There's not a lack of thinking big or looking outside the consumer internet software space.

Look at how Silicon Valley bet heavily on Cleantech and got its ass handed to it. That wasn't lack of vision. Or lack of capital. It was venturing into investment arenas where success factors became more political than economic; more corrupt back room dealings than efficient execution and management skills.

</comment><comment><USER21> While I agree with OP on the frustration of SV not aiming its efforts at Big Problems, I'm differing on the why (which is the standard allotment of "it's not economically viable in the short term).

I think there simply isn't the talent or guts to take on these projects. It's one thing to "disrupt" easy targets like paying for something or getting a ride from here to there. They're heavily regulated industries, full of bullshit, and ripe for the taking. All the "innovators" did was ignore the laws that made those industries suck. It seems to be a winning strategy.

But to actually build something huge. To try to churn it through a state's government. Get funding. Get permits. Hire competent engineers that won't kill people. Deal with suppliers and construction. These are _massive, massive_ undertakings.

Indeed, building the proverbial hyperloop is not a "startup" endeavor. It's not something spry, spanky groups of new college graduates can jump into with reckless abandon.

The reason investors don't invest in a hyperloop is because there isn't a competent body heading the effort. If Musk were to say, "I, Elon Musk, am going to create the first hyperloop, with my new company Hyperloop Inc." he would get so much funding, he could stuff it in his ass and fly to the moon. Same with Boeing, Airbus or Lockheed Martin. The common denominator is the capability.

But I have a feeling even Musk himself is too afraid of the kind of effort it takes to build a transport between 350 miles of California.

<comment><USER22> I honestly think for someone like him, _getting to mars_ would be easier than

>the kind of effort it takes to build a transport between 350 miles of California

And I'd far prefer him to do that too (the mars)

</comment></comment><comment><USER23> This is a sad statement on the complete utter lack of awareness of how the system of tech development works in the United States.

The simple reason Silicon Valley doesn't fund Hyperloops is because they cost BILLIONS to develop over DECADES, with highly uncertain outcomes. This scale of large-scale, long-term, technology investment risk is borne by..... drumroll.....

TAXPAYERS. The guv'ment. Uncle Sam.

The Internet. Computers. NASA (hello SpaceX). Airplanes. Even frickin Siri was funded by the public.

The way it works is it's done under the banner of military applications. DARPA is a key agency in core development, but a very large part is government procurement. Then whatever works out given away pretty much for free to private hands.

Silicon Valley specializes in investing in the "last mile" of commercial development. It's still risky, but orders of magnitude less than something like developing Hyperloop from scratch.

</comment><comment><USER20> There is also the basic economic argument that much of the value of transit cannot be captured by a private investor because of externalities. The value of a transit line isn't just to people who ride it. This is obvious: compare commercial real estate leases near a subway stop versus ones far away. Governments can capture those positive externalities through general increases in tax revenue or things like tax increment districts. Private operators are stuck trying to recoup all their investment solely from riders.

</comment><comment><USER20> Silicon Valley doesn't have the money to fund hyperloops. Its designed around throwing relatively small amounts here and there, not $10 billion investments the returns from which could take a couple of decades to materialize. $10 billion is close to all the SV VC investment in a year, and realistically, hyperloop is not happening for less than some multiple of that.

</comment><comment><USER24> The page was nearly unusable on mobile...here is a web cache link [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://jerzygangi.com/why- silicon-valley-funds-instagrams-not-hyperloops/)

</comment><comment><USER25> I ultimately think it comes down to that people don't think they need these things because they have options now (however poor they may be compared to the option that could be built in the future).

" _The stock market used to be a place where entrepreneurs went and raised money for their companies. That's what the stock market used to be. Today the stock market is a place where hedge fund managers and quant traders are shaving fractions of a penny off benign movements in price and volume. One of the byproducts of going from an entrepreneurial stock market to a hyper-traded stock market is that new companies can't survive unless they have a market cap of at least $10 billion dollars. Don't even bother going public with less than that. It's not worth the time, or the money, or the effort._ "

I think because of the above, that sites like kickstarter and indigogo have become sort of like the new IPO market where would be entrepreneurs and hobbyists can raise funds to make things people want, without the huge burden of the legal liabilities associated with typical investments. (aside: I wonder how people could build on top of this to become sort of the quants of these new platforms?)

To be honest, I don't think people are really craving a faster way to get to their (shitty) jobs, and would much rather a better socioeconomic situation… what does the hyperloop for that look like that would render the current reality obsolete and undesirable comparatively?

</comment><comment><USER26> It's the same reason why the music industry funds Justin Biebers, not Bob Dylans. They're looking for an extremely high profit to innovation ratio, the one piece of shit among many similar pieces of shit that "catches on" and turns into a money press.

That said, Hyperloop looks cool on paper but when I see all this geek excitement over it before the engineering research has been done to make it cost-effective I hear in the subtext a chant of "Monorail! Monorail! Monorail!"

</comment><comment><USER27> This article is so annoying I don't even know where to begin. I have a hard time believing this is on the front page of Hacker News.

If you are going to reduce the revolution of the information age to Instagram well then yes you might have a point. Let's ignore the most important innovations our society has seen that have come about in the last few decades.

But the truth is, is Hyperloop even the right solution? Would it really make our lives that much better? Do you need to travel nearly as much as you used to? I actually actively avoid travel, communicating remotely if possible. If Hyperloop was a UPS style service, then I could potentially see the use for it. Get your package in hours. But as a consumer transport? I don't think it is nearly as innovative or revolutionary as most people seem. But I am just a software engineer, who am I to discuss these things.

</comment><comment><USER28> One reason is that what an enterpreneur will work on also depends on the prevailing ethics and idea about his role in society of the time.

In a post-yuppie, money-grubbing enterprenerial climate, they are more likely to invest and work on make-money-quick BS schemes, like social websites and mobile trivialities ("like Instagram, but for goat milk drinkers").

An era which respected industry, infrastructure, and succesful industrialists, etc, produced different results. Musk (and Jobs) were like that -- but 90% of enterpreneurs out there today would model themeselves after Zuckenberg or Systrom instead of them.

</comment><comment><USER29> >Furthermore, the stock market isn't influenced by value today like it was thirty years ago.

This simply isn't true. It was nearly 30 years ago that Warren Buffett published his article "The Superinvestors of Graham-and-Doddsville" arguing that the market didn't accurately value many companies, and that anyone could become rich by taking the time to find market inefficiencies. And in the article he described the approach he had already been using for nearly three decades. There have always been discrepancies between stock prices and companies' true values.

</comment><comment><USER30> Counterexamples: General Fusion and Tri-Alpha are two companies attempting to build commercial fusion reactors that are well-financed by investors. General Fusion got $40 million plus another round recently, and Tri-Alpha was up to $140 million before a recent investment from someone in Russia.

But both were funded early on by billionaires, Paul Allen for Tri-Alpha and Jeff Bezos for General Fusion. On the other hand, the focus fusion guys are putting up better numbers than Tri-Alpha and they're still running on a shoestring.

</comment><comment> workhere-io _In doing some research online I found out that other American inventors have had similar designs and proposals for a decade_

Wikipedia mentions an American who proposed something like this as early as 1867, and British scientists had played with the idea even before that. [http://en.wikipedia.org/wiki/Pneumatic_tube#In_public_transp...](http://en.wikipedia.org/wiki/Pneumatic_tube#In_public_transportation)

</comment><comment><USER31> So, how can we fix this? I like the idea of crowdsourcing funding, as with the Ubuntu Edge ([http://www.indiegogo.com/projects/ubuntu- edge](http://www.indiegogo.com/projects/ubuntu-edge)).

They aren't asking for funding quite on the same scale as the Hyperloop, but it's definitely larger than the ~ $1 million required for another phone app.

</comment><comment><USER32> The reason is simple: cost + risk. It's easier to come up with the much smaller amount required to fund Instagram than to come up with enough to fund the Hyperloop. Less money is at risk. It's that simple. There may be other factors at play, but this is by far the most important.

<comment><USER29> This. And related to risk: When a website fails, it doesn't hurt anyone; if this tube were built, and then found to have a fatal design flaw, the liability would be enormous.

</comment></comment><comment><USER33> The post is obnoxious to read. You get like 4 lines at a time on a 15" display.

I know the design is for supposed readability, but if that were the main goal, then why have the gigantic annoying ad banner at the top that you can't close.

</comment><comment><USER34> It seems to me that these days, entrepreneurs are in for the short term - <USER3> want to blow up fast, then sell off their company for the highest price possible. Few are in for the long term, and I don't understand why.

</comment><comment><USER35> > In short, Silicon Valley has killed major innovation.

That's being somewhat extremist. I don't think that major innovation stopped after the Facebook IPO. I doubt that it has even slowed down that much.

</comment><comment><USER36> You have 10 reasons. Your numbered list has 7 twice.

Also, the reason is very simple: there's no money to be made in building a Hyperloop. There's a good reason Musk didn't (and won't) work on it.

</comment><comment><USER37> That is why it is imperative we have a government that can make investments into future energy and infrastructure needs even if it potentially destroys existing companies in the long run.</comment>


50,000 year insect record from La Brea, Southern Ca: Insights into past climate - <AUTHOR> http://www.sciencedirect.com/science/article/pii/S0277379117301671 <comment><AUTHOR> I linked to abstract. This might have more info.

[https://phys.org/news/2017-05-fossil-beetles-la-climate- stab...](https://phys.org/news/2017-05-fossil-beetles-la-climate-stable.html)</comment>


Antitrust Enforcers Eye Apple Anew - <AUTHOR> http://online.wsj.com/article/SB10001424052748704657704576150350669475800.html <comment><USER2> Perhaps this time, it's warranted.

Apple's new policy raising the price of all media on all networks? It's possible because Apple is the biggest (by far) tech company in the world.

Though if they're looking at Apple, maybe they should look at Amazon also - the do similar things with their suppliers.</comment>


Ask HN: What will HN do if DCDSM's Article 11 passes? - <AUTHOR> There are many HN submissions that directly link to news articles.
If the European Parliament approves Article 11 of the Copyright Bill, this has direct consequences to HN.
https://en.wikipedia.org/wiki/Directive_on_Copyright_in_the_Digital_Single_Market#Article_11 <comment><USER2> HN is not based in the EU, and doesn't publish extracts from articles, so I guess "nothing".

<comment><AUTHOR> According to that letter[1][2] opposing Article 13,

"In particular, far from only affecting large American Internet platforms (who can well afford the costs of compliance), the burden of Article 13 will fall most heavily on their competitors, including European startups and SMEs",

so I guess something will happen.

[1] [https://www.eff.org/deeplinks/2018/06/internet-luminaries- ri...](https://www.eff.org/deeplinks/2018/06/internet-luminaries-ring-alarm- eu-copyright-filtering-proposal)

[2] [https://www.eff.org/files/2018/06/12/article13letter.pdf](https://www.eff.org/files/2018/06/12/article13letter.pdf)

<comment><USER2> The large "American" platforms all are operating businesses in the EU, and are showing snippets.</comment></comment></comment>


How "Exit Traps" Can Make Bash Scripts More Robust and Reliable - <AUTHOR> http://redsymbol.net/articles/bash-exit-traps/ <comment><USER2> Traps are neat but beware, they aren't completely reliable. You can't trap SIGKILL or SIGSTOP. In the article's examples, a SIGKILL would (1) leave temp directories around, (2) fail to restart a service, and (3) leave an expensive AWS resource running.

Remember that SIGKILL isn't always the result of a human typing `kill -9` either: the Linux OOM killer sends it; all unixes potentially send it during shutdown and runlevel switching; programs like timeout(1) send it as a last resort.

Here are some other ways to approach the 3 examples:

1) Avoid temp files and directories if you can. Sometimes you can't, but anecdotally I come across LOTS of shell scripts that create a temp file when they could have used a pipe. Bonus: pipes are fast.

2) Insuring a service comes back up after maintenance: use a process supervisor with automatic restarts, and have the service script grab a startup lockfile first thing. Use a blocking flock(1) or setlock(8) and discard the lock fd immediately afterwards. To bring the service down for maintenance, grab the startup lockfile, stop the service, then do your thing. Once your maintenance script exits -- through any means, including SIGKILL -- the kernel automatically releases the lock and the hitherto blocked service continues starting up.

3) Capping expensive resources: if the EC2 instance truly is temporary, why not impose a timeout and police all such instances out-of-band, with an alarm? The article is right that omissions of this kind can be $$$. [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitori...](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/UsingAlarmActions.html)

<comment><USER3> > Traps are neat but beware, they aren't completely reliable. You can't trap > SIGKILL or SIGSTOP.

A long time ago, there actually was a sneaky way on some Unixes to trap SIGKILL. If a program was being run under ptrace then any signal would pause the program and alert the program that was doing the trace--even SIGKILL.

So I made a program that I named "sh" and carefully made to have the same memory size as /bin/sh, that just forked and exec'ed another program of mine under ptrace. The other program was named "superman". Whenever my fake sh received notification that "superman" had received a signal, it would write the number of the signal into a variable in superman's address space, and then make it so "superman" continued but with the signal changed to SIGINT. The SIGINT handler in "superman" would would check that variable to see the real signal, and print an appropriate smart remark.

I started this running, then went to the head system admin/system programmer and told him something was wrong and I couldn't kill my program. After seeing that ^C and ^\ did nothing useful he logged into another terminal, became root, found "superman" with ps, and did a kill -9.

The look on his face was priceless when "superman" just printed something like "SIGKILL is not strong enough to harm a Kryptonian!" and continued running.

I was a little sad when later Unixes made SIGKILL kill processes being traced.

<comment><USER2> I love this story. Thanks for sharing!

</comment></comment></comment><comment><USER4> Author of article here (but not submitter). I wrote this years ago, and it's fun to see it pop up on HN like this every year or two!

Here's another bash article people like:

[http://redsymbol.net/articles/unofficial-bash-strict- mode/](http://redsymbol.net/articles/unofficial-bash-strict-mode/)

<comment><USER5> In the past few years, whichever company I was working at, I was relentlessly evangelising the unofficial bash strict mode!

<comment><USER6> Bash strict mode forces to write clean scripts, with each potential error handled. I use it for more than decade. I wrote lot of bash scripts at Bazaarvoice.

BTW. I developed small set of common functions for strict mode, called bash- modules. Can you look at it and provide some feedback? See [https://github.com/vlisivka/bash-modules](https://github.com/vlisivka/bash- modules) .

</comment></comment></comment><comment><USER7> Your process can always segfault, or the machine lose power. A more robust way of handling this kind of thing is to always clean up the leftovers from previous runs, at the start of the program. This also has the advantage that the state from the most recent run is always available, for debugging / analysis.

Also on linux, you can use unnamed temp files, see O_TMPFILE in [http://man7.org/linux/man-pages/man2/open.2.html](http://man7.org/linux/man- pages/man2/open.2.html)

<comment><USER8> How do you use O_TMPFILE from a shell script?

<comment><USER7> You can't use it directly from bash, but its readily available in perl, with the POSIX module.

Even in bash, you can unlink your temp files before you use them, and pass them around by file descriptor rather than by name.

<comment><USER8> > its readily available in perl, with the POSIX module

Oh? I don't see anything like this in the Perl codebase.

On the other hand, O_TMPFILE is available in Python since 3.4:

[https://docs.python.org/3/whatsnew/3.4.html#os](https://docs.python.org/3/whatsnew/3.4.html#os)

</comment></comment></comment></comment><comment><USER9> I've used a variation of this that catches other signals as well:

      trap 'rc=$?; trap "" EXIT; cleanup $rc; exit $rc' INT TERM QUIT HUP
      trap 'cleanup; exit' EXIT

<comment><USER10> This is unnecessary. The EXIT trap fires on any exit from the shell, not just graceful exit.

<comment><USER8> The behavior varies with shell:

        $ cat test_trap
        trap 'echo exiting' EXIT
        kill $$

        $ bash test_trap
        exiting
        Terminated

        $ ksh test_trap
        exiting
        Terminated

        $ mksh test_trap
        exiting

        $ dash test_trap
        Terminated

        $ zsh test_trap
        Terminated

<comment><USER10> This article is specifically about Bash. I'm not surprised that `trap` behavior varies per shell, and I'd recommend reading the documentation on it.

</comment></comment></comment></comment><comment><USER11> Beware that you can only have one EXIT handler. I've used this in the past figuring it's analogous to Go's `defer`, but unfortunately not.

e.g this script:

        #!/bin/bash
        trap 'echo Handler 1' EXIT
        trap 'echo Handler 2' EXIT

Will only call 'Handler 2' on exit.

<comment><USER12> I wrote `defer` (or rather `atexit`) for Bash: [https://github.com/orivej/bash- traps/blob/master/atexit.sh](https://github.com/orivej/bash- traps/blob/master/atexit.sh)

</comment></comment><comment><USER13> The author mentions that he's always discovering new user cases for this, and it does look handy. I wonder if there are any cookbook/recipe style documents around that showcase some of those?

</comment><comment><USER14> I get an SSL error for this page:

      redsymbol.net uses an invalid security certificate. The
      certificate is only valid for the following names:
        mobilewebup.com, www.mobilewebup.com
      The certificate expired on 08 July 2011, 04:16.
      The current time is 14 January 2018, 02:14.
      Error code: SSL_ERROR_BAD_CERT_DOMAIN

<comment><USER10> It's an http: link. Why are you trying to load it as https:?

<comment><USER15> Bad detection with https anywhere or similar browser extension is what i'd expect

<comment><USER14> Oh wow. Thank you for that. I forgot I had set it to force HTTPS.

</comment></comment></comment></comment><comment><USER16> Korn Shell has trap as well.

<comment><USER17> Although many of bash's extensions were borrowed from ksh (occasionally even compatibly), 'trap' was in the original Bourne sh.</comment></comment>


Microsoft reiterates stance on 'harmful' WebGL - <AUTHOR> http://pcper.com/news/General-Tech/Microsoft-reiterates-stance-harmful-WebGL

<comment><USER2> The purveyors of ActiveX objecting to something on "security" grounds: that's almost too rich for words.</comment>


Another Hiroshima Is Coming – Unless We Stop It Now - <AUTHOR> https://consortiumnews.com/2020/08/03/atomic-bombings-at-75-john-pilger-another-hiroshima-is-coming-unless-we-stop-it-now/ <comment><AUTHOR> I don't agree with Pilger that the Hiroshima and Nagasaki bombs were unjustified, but his points about China are valid. What do we gain by instigating war now?</comment>


UBS rogue email sees General Motors pull $10m account - <AUTHOR> http://www.computerworlduk.com/news/security/3248556/ubs-rogue-email-see-general-motors-pull-10m-account/

<comment><USER2> Such a lack of detail in the story. I wish they told a bit more details into whether or not the email was set accidentally to one person (Got the wrong Bob) or if some idiot just sent it out to people out side the UBS network ...

</comment><comment><USER3> Are there companies working on this problem? Filtering outgoing email seems to be a solvable problem just difficult enough to be lucrative.

<comment><USER4> Google has a "Got the wrong Bob?" labs feature. It's not perfect, but it does prompt you if it thinks you're sending to the wrong person. Unfortunately it seems to mostly work with emails sent to multiple recipients. If you send it to the wrong person, but they're the only person you're sending to, it seems less effective.

[http://gmailblog.blogspot.com/2009/10/new-in-labs-got- wrong-...](http://gmailblog.blogspot.com/2009/10/new-in-labs-got-wrong- bob.html)

</comment></comment><comment><USER5> ...and this wasn't even UBS LA.</comment>


Computer Sciences Courses That Don't Exist, but Should - <AUTHOR> http://prog21.dadgum.com/210.html <comment><USER2> Can I add another one? How about "The Network Doesn't Work The Way You Think It Does: A Distributed Systems Survival Guide".

As someone who has spent a good chunk of their career building high performance networks and another chunk of it working closely with developers who care a lot about those networks, I'm constantly amazed at how little top tier graduates from well respected schools know about networks.

Relatively basic stuff, like what does your application's traffic look like on the wire, how an OS determines what to do with a packet, how latency affects applications, and many other things are completely foreign to way too many developers. I could go on and on, but given the connected nature of things today, it seems like a very overlooked area.

<comment><USER3> I am a recent CS grad and I am constantly amazed by how little I know about networks. Do you have a favorite book or online resource on the subject?

<comment><USER4> One fun thing is to download Wireshark and look at the packets being sent in detail when you do common things like browse the internet or use FTP.

<comment><USER2> I think this is a really good idea, but I'd add one alternate possibility is well. Doing this on a typical user's computer today will present a mind blowing amount of data--so much that it is easy to give up trying to figure out what's going on if you've never done it before. Instead, perhaps spin up a Linux VM, maybe even no GUI to start. Then run Wireshark on its interface. Much less noise. Should be much easier to begin dissecting.

<comment><USER4> No need for a VM, just do some filtering in Wireshark. This will help you understand even better what is possible (filter by IP, port, and many other things).

</comment></comment></comment></comment></comment><comment><USER5> CSCI 0666: Implementing Reverse Binary Trees on whiteboards.

CSCI 0123: Implementing Monads in COBOL

CSCI 0555: Successfully correcting internet commenters.

CSCI 0556: Nitpicking points made in CSCI 0555.

CSCI 0777: Introduction to twitter bot polynomial time algorithms with an emphasis on winning shitty contests.

CSCI 0911: Learning functional programming with Haskell.

CSCI 0912: How come up with uses for knowledge acquired in CSCI 0911.

<comment><USER6> > CSCI 0666: Implementing Reverse Binary Trees on whiteboards.

Not of much practical use later in life, but an A in this course guarantees a technical interview pass with any major Silicon Valley company.

<comment><USER7> It's just a warmup question.

<comment><USER8> Here's a list of all the algorithms and data structures I've actually needed to implement by hand so far:

<comment><USER7> Fascinating. Taking the restricted definition of "algorithm" you seem to be using, here's the first few I can think of that I've had to implement (for money):

\- Converting a dollar/cents value into text, e.g. 67.33 -> "sixty-seven dollars and thirty-three cents", in XSLT of all things. I wrote the first version in Emacs Lisp, then translated that to XSLT. I was working on manually translating a bunch of .doc files to a new layout for the automatic generation of contracts, and the vendor had supplied a version that, after reading its source code, I realized was broken on certain inputs, like 10001 or something. I guess it was made by some people that thought they'd never need to write algorithms when working as a software developer.

\- I was asked to combine the information in a few spreadsheets with several thousand rows into a new one. I ended up needing to compute some statistics on certain ranges of a set of rows, so in my short Perl program I sorted the data by the relevant key and used binary search to find the ranges.

That's not a list for my whole career, that's just what I can remember from my first summer internship as a data entry/IT hob-job monkey when I was a teenager.

</comment></comment></comment></comment></comment><comment><USER9> Okay time to upset people:

Dear 'All CS Departments of the World':

Please stop fooling your students in the 'Intro to Algorithms' class, and just rename it to 'Intro to Combinatorial Algorithms'. Because that's what you teach, and you completely ignore the arguably bigger area of 'Intro to Numerical Algorithms'. Numerical Algorithms, that are not only the basis of pretty much every branch of computational science (comp. physics, comp. chemistry, comp. biology, comp. civil engineering, comp. mechanical eng., comp. electrical eng., comp economics, comp. statistics, and on and on and on), but it's also one of the weakest link for a CS graduate to transition to Machine Learning and Data Science.

Or you could keep the course title, but upgrade the class, by teaching 50% of it as 'Algorithms and Data Structures', and 50% as 'Numerical Methods and Scientific Computing'.

Unrelated to above but relevant to the thread: Allen Downey and his team at Olin College are doing things worth looking into. (His Google techtalk: [https://www.youtube.com/watch?v=iZuhWo0Nv7o](https://www.youtube.com/watch?v=iZuhWo0Nv7o))

<comment><USER10> Woah woah woah, are you suggesting that computer science classes should teach people how to compute things?! That's ridiculous! :D

<comment><USER11> In Portugal they do.

There is hardly any pure CS like it appears to be the US case.

All Informatics degrees are actually a mix of CS and Software Engineering.

For pure theoretical CS one needs to go for a Maths degree with focus on computation (after the third year).

EDIT: Typo the => be

<comment><USER12> Same in Spain. The degree is 5 years long (rather "was", now Bologna has changed all that) and teaches you all the way from the wire to A.I.

</comment></comment></comment></comment><comment><USER13> How about "Building an End-to-End Software Solution - 101". Going through the entire development workflow (idea, design, prototype, beta release, delivery, and iteration). One of my good friends is currently going through school, but in the back of my head there is this nagging thought, that he will not learn what's needed for today's market.

<comment><USER14> We have that in our CS program. We call it "Senior Capstone". I'm sure others have it, too.

<comment><USER15> Same here. We had to design and write a significant real-world application. You could suggest your own idea or take on a project that the profs had found through their connections with the business world. Either way, you had to convince the professors on the committee that it was worthy of receiving a full course's worth of credit (though most people wound up spending far more than that amount of time on it).

</comment></comment></comment><comment><USER16> CSCI 1200: Debugging

Seriously. This should be a full subject addressed in detail, and early, unto itself. Instead it's typically a sink-or-swim byproduct of trying to pass any other science/engineering class.

<comment><USER17> Agreed. Debugging is an art and discipline in and of itself, and one that so many developers lack. In the last couple of years I've taken a great interest in learning to debug efficiently, and yet despite my best efforts most web devs I work with still rely on variations of "printf debugging". A shame really, considering the sheer depth and breadth of tools that are available these days, even in languages like PHP.

<comment><USER18> I totally agree with "Debugging is an art and discipline in and of itself" for issues that are difficult to reproduce. With a reproduction, debugging should be straightforward for any engineer.

For reproducible issues, it's scientific method plug and chug for me: observe an interesting behavior, theorize about cause, test, rinse, repeat.

Unfortunately, I am too often amazed at the engineers that don't go through this exercise before asking for help.

<comment><USER19> For those 'hard to reproduce' issues, it's about knowing what debugging and forensics tools are out there and making sure that the systems you deploy support postmortem debugging and issue analysis. Things like creating crash dump files, then giving your field technicians or customers an easy way to get this data to you with an incident report (or even having the system do it automatically if applicable); logging systems that can be left switched on all the time and dynamically reconfigured (so that there's less chance of the damn thing being off when an issue does occur).

Also awareness of things like tools that analyze or try and provoke race conditions, etc.

</comment></comment></comment></comment><comment><USER20> Seriously though, it's probably time to separate Computer Science and Software Engineering into different routes of study.

<comment><USER21> RIT already has done this.

<comment><USER22> And CMU, ASU, Penn state, etc.

\- signed RIT SE Grad

</comment></comment></comment><comment><USER23> It's not enough to fill a class, but I really wish school had taught me about linkers, dynamic libraries, and calling conventions. AKA "why must I use this old compiler to link against this old closed-source C++ library?"

<comment><USER24> Really this should have been part of your freshman C course. (Happily it was mine, like right at the beginning alongside Hello World.)

<comment><USER25> ha, freshman C course. Good one.

My school switched to Java and graduated more than a couple people who don't really get C at all.

Should be taught in OS. Really, it should be taught in a practical sense in an OS lab.

<comment><USER26> My OS class at least didn't even come close to covering that sort of stuff. Half the semester was on concurrency primitives and System V IPC :(

<comment><USER27> Same kind of thing here. System calls, concurrency, etc. Nothing at all about linking.

</comment></comment></comment></comment></comment><comment><USER28> >UNIX "ls" tool is a case study in excessive command line switches.

'ls' is a bag of weird (bad?) UX. When first starting on the command line, I could never figure out how grepping the output of ls actually worked. Then I think I looked at some of the code, or someone told me, that when ls outputs, it checks to see where the data is going, if it's STDOUT then it pretty prints columns (and probably other things), otherwise it just the more sane 1 line per item.

<comment><USER29> Here I am using `ls -1` for years without realizing the redundancy.

<comment><USER30> Don't feel too bad. I didn't know until reading this that sending the output from ls somewhere other than stdout would cause the output to be one-item-per- line either, and I've been using Unix and Linux platforms for a _very_ long time.

If I wanted that behavior, I would have typed 'ls -1' also.

</comment></comment></comment><comment><USER31> Unlearning Object Programming might include discussion of the legitimate uses of global variables, and how Singletons are just obfuscated and inconvenient globals.

<comment><USER32> >discussion of the legitimate uses of global variables

Short course, that one.

<comment><USER31> Module names are, effectively, global variables. The reason global namespace shouldn't be polluted is that it's so damn useful. Not using it for anything is like never driving your car to avoid wearing out your tires.

<comment><USER32> >The reason global namespace shouldn't be polluted is that it's so damn useful.

No, the reason is because the more interacting components you stick on it, the harder your code becomes to reason about.

It's more a restatement of the notion that software should be loosely coupled.

<comment><USER33> There is some state that is global. Current user for instance, it is used globally, so why create a complex way of passing it around instead of just making it global?

<comment><USER34> I once worked on a system that had more than one user logged in at the same time, and my global variable got soo confused.

<comment><USER31> And your singleton user class worked better because?

</comment></comment></comment></comment></comment></comment></comment><comment><USER35> How To Prevent Scope Creep Without Alienating Your Boss Or Other Important People

<comment><USER33> In my experience it's not that bad, but you have to speak in their language. An agreed spec and deadline is a contract, and now they want to get more for the same price. I'm sure they wouldn't let a customer do that, so they understand that if they want to change the content of the contract, they have to negotiate.

That of course require that you have a sensible manager/boss, that doesn't force it his way.

</comment></comment><comment><USER36> How about 1\. Version control systems and how to use them always 2\. Practical introduction to sql and nosql databases 3\. Database schema design along with practical projects 4\. Introduction to HTTP 5\. Introduction to Web frameworks 6\. Introduction to mobile development 7\. Mobile app design basics 8\. How to clear job interviews

?

<comment><USER37> There's theory and practice.

When I started with computers in the dark ages (mid 1980s), there _might_ have been RCS and SCCS... Yes, SCCS actually dates to 1972. RCS from a decade later. CVS ... woah, _that_ is also an 80s kid: 1986, wasn't something I encountered1until later. Ah, initial release 1990. Subversion came along and changed everything in 2000, mercurial in 2005. I remember some heated Hg, arch, and Git debates for a while.

Unfortunately, I've got (bad) habits from most of these stuck to different layers of my brain....

Databases _may_ be going through similar revision (though you'll still get a fair bit of mileage from 5NF.

HTTP may or may not be due for major revisions given variously:

1\. Calls for distributed Web.

2\. Issues with presentation and form factor.

3\. Conflicts between _document_ and _application_ presentation.

4\. Privacy and security.

Web frameworks change too quickly to be worth teaching. Best learn general UI principles. Dittos mobile apps.

<comment><USER36> See it is one thing that the tool you have been taught becomes obsolete and quite another that you are not even familiar with the concept of http, vcs, and sql. It is far more easier for somebody who knows mysql to understand and come upto speed on a postgres/mongodb than somebody who is not at all exposed to these concepts.

Moreover course curriculum needs to be updated every 2-3 years when such courses are taught to keep them relevant

<comment><USER37> Actually, in my case I'm _not_ formally educated in compsci. A couple of programming courses but picked up what I know on the job. It's fairly effective.

</comment></comment></comment></comment><comment><USER38> > Includes detailed study of knee-jerk criticism when exposed to unfamiliar > systems.

This hits home.

</comment><comment><USER39> CSCI 4035: Refactor Your Own Term Projects from Past Semesters

<comment><USER40> My Almameter seems to be doing that this year in their Design Patterns Course. The task is to find a large code base that desperately needs refactoring. I let a young friend use my old Final Year Project for this. Its scary how bad my code was when I graduated (never took Design Patterns) but at the same time, inspiring to see how far I have come since then

</comment></comment><comment><USER41> I think, another course should be CSCI 9000: How not to be opinionated jerk.

<comment><USER42> I think if you force CS students to take a few business courses (or MIS courses), it can help dissolve the 'opinionated jerk' [elitist] stereotype that can come from CS students. They see that software development is only a piece of the puzzle and while they'll never have to worry about handling insurance, someone who didn't spend classes learning code has learned this task for them.

<comment><USER43> You must have had different business classes.

The one class I had with business majors, I was completely underwhelmed as to their capabilities. I was amazed at having an upper division course that had such atrocious writing and thinking skills.

<comment><USER42> Its actually more along the line of I currently am teaching the 'Intro to IT' course required for all business majors. In one light, the course is about making the rest of business understand what IT does; however from an IT student perspective, it should also let them see the other side.

Each week I'm mulling over how to connect with both sides of the table, since I have both sides in my classroom.

</comment></comment></comment></comment><comment><USER44> Maybe just a CS program staffed entirely by people who've had real CS jobs outside of the academia bubble.

<comment><USER45> You mean software engineering jobs?

</comment></comment><comment><USER46> How about "Programmer psychology: recognising and dealing with your own dogmatism through to diplomatically dealing with the dogmatism of other programmers."

<comment><USER47> If you cant profile it - it doesent exist.

</comment></comment><comment><USER48> CSCI 2020: How to Store Data

Discover the fascinating differences between fflush, fsync, and data actually hitting disk. Learn why single-byte writes are a dumb idea, and why accessing data through a cheap one-gigabit switch might not be as fast as accessing it locally. As preparation for being actual storage developers, students will be blamed for the professor's own mistakes, and for every problem that happens anywhere else in the system.

<comment><USER49> I am interested in learning this. Are there any books/study_material available, that you recommend.

</comment></comment><comment><USER50> I am a software engineer, I have a grad school degree in CS with many years of experience in the industry. One thing I often noticed was many people break some key computer science concepts while on the goal to achieve some minor usability improvements or some other minor goal such as code reuse.

There was one instance where in a multiprocess environment, one of the engineers wrote some library to access a database table and read its contents. In the process he/she maintained a cache of it in memory. Then somebody else decided to use that convenience library/methods in a different process and so on.., essentially cache coherence problems were left unsolved and when I brought this to the attention of people they shrugged it off saying when they see a problem they might handle it - which may be fine, but seemed like some key computer science concepts were overlooked in the goal to achieve software reuse (here reuse of existing accessor/cache code to the database)

I have seen design choices that cause race conditions or non-determinstic behavior, following some patterns or cargo cult programming because something is an industry trend etc.

</comment><comment><USER51> I love "Unlearning Object-Oriented Programming".

<comment><USER52> I've seen so much criticism of OOP, can somebody provide more details/valuable links why "OOP is bad"? Honest question.

<comment> cam- In real world business logic and modeling you have to work really hard to make it fit into an OO paradigm. It also gets hard to manage long term as your data structures kind of get stuck with all the restrictions that OO allows you to make. Javascript object literals are fantastic as they make data transfer objects simple, fast and not polluted by business logic. Once you get used to passing around DTOs that way then a functional style of programming becomes more useful. For the most part programming is getting data from one domain data model and then converting to another domain data model, OO doesn't really help there, and if anything is a hindrance. Unfortunately software engineers love to abstract to the nth degree so sometimes you get stuck with tight OO models of DTOs and transformation layers.

<comment><USER53> I think one of Rich Hickey's quotes expands on your point:

 _It has always been an unfortunate characteristic of using classes for application domain information that it resulted in information being hidden behind class-specific micro-languages, e.g. even the seemingly harmless employee.getName() is a custom interface to data. Putting information in such classes is a problem, much like having every book being written in a different language would be a problem. You can no longer take a generic approach to information processing. This results in an explosion of needless specificity, and a dearth of reuse.

This is why Clojure has always encouraged putting such information in maps, and that advice doesn't change with datatypes. By using defrecord you get generically manipulable information, plus the added benefits of type-driven polymorphism, and the structural efficiencies of fields. OTOH, it makes no sense for a datatype that defines a collection like vector to have a default implementation of map, thus deftype is suitable for defining such programming constructs._

</comment></comment></comment></comment><comment><USER54> These are Software engineering mostly and not CompSci.

<comment><USER53> Which is sadly, too often lacking at many universities.

<comment><USER55> I suppose it's a philosophical argument more than anything, but I don't think it belongs universities. I don't think universities should be career schools, although I can see why others might think it should be since most people do go to school as a prerequisite to get a job nowadays.

</comment></comment></comment><comment><USER56> Robot Odyssey!!!!!

[https://en.wikipedia.org/wiki/Robot_Odyssey](https://en.wikipedia.org/wiki/Robot_Odyssey)

</comment><comment><USER57> COMP000 Your Job Isnt Only Fun Shit

</comment><comment><USER58> This would more aptly be titled 'Software Engineering Courses That Don't Exist, but Should.'

</comment><comment><USER59> These should exist if universities had a goal of producing not scientists, but workers.

</comment><comment><USER60> CSCI 0201: Principles of Version Control

<comment><USER25> So what do you teach for the rest of the semester after the first week?

That's the problem with teaching these things in university. They just aren't worth the time and money to teach at that level.

<comment><USER61> How about "How does development work in practice" that covers version control, debugging, documentation, dependencies, packaging. After that any project (all courses) involving more than 100 lines of code MUST be handed in as a repository that actually contains the development history, not a single-commit dump. Also installable as a proper language-specific package, rather than "put the path to the project in those two places, then run this script".

<comment><USER62> In each of the degree courses I have done, there have been a few sessions on general scholarship, essay-writing, etc. These are not actual modules, parts thereof, or even evaluated, but just part of the furniture of the whole course.

What you describe sounds like the kind of content that belongs in such a session for degrees that are likely to lead on to working in software development.

This gives rise to a further thought. Rather than this even being part of a degree course, it should be something run by a university's Careers Service. A series of "So you wanna be a ..." sessions for common graduate careers, that train students on some of the day-to-day practicalities of what those jobs entail.

</comment></comment></comment></comment><comment><USER63> Reminds me of a question a help desk person asked me about 20 years ago. They were having all kinds of problems printing word docs from this new windows 95 PC. I was busy at the time so rather than educate them on the nature of WYSIWYG I just told them to update/repair the graphics driver. It worked and they thought I was a god.

It's hard to create a course on the interconnections of everything. The best course I ever took was a Cisco IOS programming course. That included protocol analysis, debugging routers, switches, etc. I'm not a network layer programmer. But what I learned about how everything works together has helped me solve complex problems ranging from Kerberos authentication issues to finding duplicate DHCP servers on the same network. Without this knowledge, I would have to hire experts and waste a ton of time and money to get to the end goal which is a functioning product.

</comment><comment><USER64> How about a "class" or some pre session on best practices of typing on the keyboard in the CS departments?

For year, I'm still struggling to type without looking at the keyboard and I make frequent typos which slow me down. Being able to type quickly and have a good habit of placing fingers on the keyboard seem to be an important exercise. A guideline to choose the right keyboard, setting up personal shortcut or customized keyboard layout for each developer might also be worth learning.

<comment><USER42> Interestingly enough, this semester, I've begun including images of programming code that I force my students to type out specifically to give them typing exercises. There's no errors, and they're variants of stuff from the books so they don't copy and paste from a PDF. My logic is that while CS is mental, typing the code is still a physical activity we use. Like any other physical activity, the best way to get better is to drill the motions until they become second nature.

While there ARE typing tutors, I haven't found any programming specific typing tutors. I think a normal typing tutor is nice, but since syntax requires so many symbols, typing English sentences only helps so much. I also think (still in the 'physical activity' mindset) developers can use these typing exercises are warm-up exercises. Just like a sport, you stretch and warm-up so you a loose and ready. Typing out basic for loops and functions can help in the same light.

<comment><USER65> Have you checked out typing.io [0]?

[0] [https://typing.io/](https://typing.io/)

<comment><USER42> I have, and I hope they succeed (cause I'm building something similar!). I do think drills might be helpful, from a student's perspective, since they are still learning proper syntax. From a professional's perspective, typing whatever can help if you work with niche libraries (like Unit Testing)

</comment></comment></comment></comment><comment><USER66> Automotive Metaphors and analogies for programmers

Seriously, why does every analogy have to be a car? Is it just the most complex system we can model in our heads?

<comment><USER15> Hey, sometimes it's a recipe, and sometimes it's a telephone system. :-)

</comment></comment><comment><USER67> Where I come from Software Engineering and Computer Science are two different paths.

</comment><comment><USER27> I'd like to suggest a course in: how to argue with management about system or vendor implementations that you know will affect both future development time and user experience within your company.

<comment><USER68> Absolutely, I spent quite a few years on the other side, implementing systems for a vendor. We rarely had technical problems but usually encountered some kind of management failure, from either side.

</comment></comment><comment><USER39> CSCI 3350: Debugging- Beyond Print

CSCI 4600: When Big-O Complexity Becomes a Lie and Why

</comment><comment><USER69> CSCI 2550: Software complexity and the art of Keeping It Simple.

</comment><comment><USER70> CSCI 099: How to apply what you learned in comp sci.

</comment><comment><USER71> I would take that classical programs class in a heartbeat. That seems like something that could be organized online somewhere.

</comment><comment><USER72> No disagreements except that I might rename "Classical Software Studies" as "Software archeology"

</comment><comment><USER73> Classical software studies? What about System 370, CP/CMS, IMS, CICS? There is so much that was forgotten.

</comment><comment><USER74> CSCI 0001 'RTFM & Learning simple facts yourself outside a CS course'

</comment><comment><USER75> "I'm so cool I'm going against the crowd" bullshit.

</comment><comment><USER76> How to program by listening to your intuitions, not logically.

</comment><comment><USER77> CSCI 3300 kind of exists in human computer interaction.

</comment><comment><USER78> Another course should be network security for everyone

</comment><comment><USER79> How about:

-Mastering Git (/competitors)

-Refactoring

-Project Management

-History of consumer information technology

</comment><comment><USER80> CSCI 2100: Learning how to hate on OOP

CSCI 3300: Stuff no one cares about anymore

CSCI 4020: Pretending to write fast code in slow languages

CSCI 2170: I know about command line tools !1!!@ So h4x0r

PSYC 4410: Trivia

Seriously, this article is garbage

</comment><comment><USER81> this is so good</comment>


Samsung Galaxy S7, the first 4×4 MIMO smartphone - <AUTHOR> http://cellularinsights.com/samsung-galaxy-s7-the-first-4x4-mimo-smartphone/ <comment><AUTHOR> "Between -110dBm and -114dBm, where most devices typically begin to struggle, the Galaxy S7 Edge managed to achieve over 100Mbps. This is where Qualcomm's X12 modem really gets to shine, working in sync with RF360 Front End, closed loop antenna tuner, antenna switch diversity (ASDiv), and the new diversified antenna design. Even at -120dBm, where most devices would generally fail and lose a connection, we've observed 63Mbps on Galaxy S7 Edge. At -130dBm, 11Mbps was achieved using QPSK scheme, and the lowest TBSI. "

"Designing a device with four highly efficient antennas in a small form factor is not an easy task. The main challenge is achieving high isolation between the antennas and low correlation of the received spatial streams, and with this preliminary test it is very apparent that Samsung has done a remarkable job. It becomes even more impressive if we remember that the Galaxy S7 and S7 Edge global launch happened in March, and over the past six months we haven't seen a single 4×4 MIMO smartphone from any other OEM other than Sony (XZ Japanese variant). "</comment>


Biohackers are implanting LED lights under their skin - <AUTHOR> http://motherboard.vice.com/read/biohackers-are-implanting-led-lights-under-their-skin?trk_source=homepage-lede <comment><USER2> Does this implant somehow interact with the body differently than a bracelet or a watch? It did not look like it does (or would).

So how could something interact with the body? I could imagine the following: vibrations, spikes, heat. What else?

I believe that brain can easily pick up frequency modulated signals.

</comment><comment><USER3> I can't help to ask why? My guess is that the bulkyness of the device is gotta have a lot of bad effects on their muscles and skeleton.

</comment><comment><USER4> Why under your skin vs. say mounting it on a watch strap?</comment>


Why you should submit your first pull request now - <AUTHOR> http://www.williamghelfi.com/blog/2013/06/28/why-you-should-submit-your-first-pull-request-now/

<comment><USER2> now that I've read this maybe I will be no more afraid to do a pull request! thanks!</comment>


Hacker News Telegram channel - <AUTHOR> https://telegram.me/hacker_news_feed <comment><AUTHOR> If you have any suggestions or questions - write me here or on telegram @philr</comment>