Ask HN: How can HN be more addictive than Reddit? - <AUTHOR> This website isn't even designed to be addictive. <comment><USER2> Signal To Noise Ratio. I registered my account on ~2012, but I have been reading HN since 2010, and I didn't participate because the quality of the comment were way too high, and I am not sure if I could make any decent contribution.

And it isn't really HN that is being additive. It is the community, being sensible and professional. It also avoid ( mostly ) all religion and politics debate, or basically things that is hard to argue about Right or wrong. Unless it is something that absolutely needs to be addressed, and the threshold for them seems to be very well managed on HN so far.

You also get huge ( And Surprising ) diversity of professionals on HN. Over the near decade of reading on HN, I have seen Doctors, Medical Research, Oil Refinery, NASA, Nuclear Research Scientist, Tunnel Building Engineers, Professional Musicians, Food Scientist, Chef, Collage Professors, Investment Bankers, Hedge Fund Managers... and a lot more.

I have often wondered, why are they even on HN? They don't speak often on technology related topics, but once you touch on their special subject they offer huge depth of valuable information that goes beyond any normal Internet comment. You will then spend next few hours or even days reading on lots of material before you could even comprehend most of that writing.

Reddit, while being fun, doesn't really have this sense of professionalism.

<comment><USER3> > Signal To Noise Ratio

I find the Noise to Signal ratio on HN to be incredibly high.

For example, multiple posts per day[0] reminding us that facebook is 'bad' and 'spying on us' (no shit). When whatevercoin was a thing, there were many posts per day about how bit whatevercoins were the {best,worst,crashing,soaring,smart,dumb,future}.

HN started off with some direction, but now it seems to be turning into the fake internet point machine that many reddit sites are: where folks are rewarded for (re)posting whatever the 'hot topic' is of the month, and bolstered by millions of tangential or anectodal comments from people who never made it past the headline.

0\. [http://funkyimg.com/i/2S1gE.png](http://funkyimg.com/i/2S1gE.png)

<comment><USER4> Is it "incredibly" high though? I think you have legitimate criticisms but compared to other news aggregator/ social media sites I think the quality is very high.

<comment><USER3> Compared to sites like lobste.rs and some super moderated topic-specific subreddits, it is 'incredibly' high.

<comment> rc-1140 Funny you should mention lobsters; while it doesn't happen as often as it does here, that site also likes to bash us on our collective noggins that $internetThing is bad and spying on us as if we didn't get it. Probably the only reason it doesn't happen with the frequency it happens here is that lobsters has a much smaller active poster userbase.

</comment></comment></comment></comment></comment><comment><USER5> HN is my "safe place". Hardly any discussion about politics, religion, or any other topic that no one ever changes their minds about.

I do my part. I flag submissions that are overly political even if I agree with them.

<comment><USER6> > Hardly any discussion about politics, religion

I don't get a lot of this on reddit as well, unless I purposefully wander into related subreddits. Maybe the odd trump reference comes up sometimes.

<comment><USER7> » Hardly any discussion about politics, religion, or any other topic that no one ever changes their minds about.

Maybe I don't understand the word "politics" but I think most of my posts are inherently political in nature. When we talk about how we need to increase taxes and decrease public spending, it is a political statement. When I say most people who don't have children should seriously consider not having any children and those who do have children should consider not having any more, it is also a political statement.

Politics isn't just "Orange man bad" or "ten feet higher".

<comment> vertex-four When I say "I deserve to exist", that's unfortunately a strongly political statement. And when people can afford to say "I avoid politics", that is in itself political.

<comment><USER5> I have strong political views that I express other places and I am definitely not in a "privileged" demographic that can afford not to be political - I just don't express them here except sometimes economics and try to back them up with as unbiased credible sources as I can.

</comment></comment></comment></comment></comment><comment><USER8> IMHO it's the content that is addictive rather than the gamification mechanisms (though they presumably serve to improve the content)

I haven't found a better source for interesting and relevant links

And then because of HN's popularity you can often find relevant _people_ (such as the author or noted experts) commenting in the threads (as well as the inevitable noise, such as myself)

</comment><comment><USER9> I think it's because FOMO is rampant in tech and HN is the most relevant source for it. It offers the best of all the technology, programming and science subreddits combined with high quality news outlets, and it does so with better moderation.

The thing about Facebook, Reddit and other social media's is that they aren't all that interesting. You can only look at so many videos of cats before it gets boring, well maybe not cats, but I think you get my meaning. I think we get used to the SoMe news feed, and unless it does something that is actually relevant, it grows stale.

HN does something relevant, or at least something that feels relevant. I'm not sure it's really build to be less addictive, because adrenaline is a hell of a drug, but it may not be intentionally addictive.

I see a lot of the same on LinkedIn, which is really, really popular among managers. Or twitter and journalists. FOMO is just an amazing way to keep users coming back, even if it isn't necessarily a positive experience.

<comment> le-mark Well, HN does do something, it's currently the highest level of discourse I know of on the internet today. The greatest pearl to muck ratio one could say. I agree the quality has declined in recent years, as these things do with popularity, but the fact remains. Until something better comes along, I'll keep scanning here to find the pearls among the muck. And contribute my own when I can.

</comment></comment><comment><USER10> I wouldn't consider either HN or Reddit to be addictive.

I guess it depends on a persons mental state though and if they've anything else going on. Lack of friends in 'real' life etc might lead people to over compensate on platforms like this.

A good read on what makes a product addictive is Hooked: A Guide to Building Habit-Forming Products ( [https://www.amazon.co.uk/Hooked-Guide-Building- Habit-Forming...](https://www.amazon.co.uk/Hooked-Guide-Building-Habit- Forming-Products/dp/1494277530) )

</comment><comment><USER11> Any website that employs a karma system uses a positive feedback loop to encourage continual engagement. That, plus the cultural distaste many here have for the "mainstream", particularly social media, leads some to use HN as their primary, if not only, source for both news and online social interaction.

<comment><USER12> Or It will create a culture of the single thought.

It happened to me for not being nice with the U.S. while bad talks about EU is widely accepted

After two years I'm still shadowbanned for no real reason...

</comment></comment><comment><USER13> I would not describe HN (or Reddit as a matter of fact) as addictive.

For me, HN is about the quality of content and quality of the comments on the said content.

It's almost like no matter how obscure something is, if it's interesting enough to hit the front page you'll have at least a couple of people that have deep expertise on it and can give you their honest opinion.

It's also about discovering things and learning about things you already knew.

</comment><comment><USER14> HN satisfies the short term dopamine reward circuit for a population that is largely self moderating, monitoring and interested in the same techie type news. So it is self reinforcing and content is continually accruing so you develop an urge to check back in. Email use to be this way for a lot of people, Twitter too, FB definitely, etc...

</comment><comment><USER15> I think it is because of the comments here that sometimes offer even more value and insight than the linked story and article. Reddit too has some really good comments occasionally but the SNR is high with comments from novelty accounts, "This." , etc.

This could be one of the reasons why people prefer to read news here.

</comment><comment><USER16> Aside from the expertise represented in the HN crowd, I think another key factor is the self-reinforcing culture Y Combinator managed to build here. The guidelines aren't just some random document, they actually describe the spirit of the place - and the community strongly enforces them. This means that uncivil or contentles comments are unusually rare, which drastically improves the quality of the discussion.

Of course, the system isn't perfect (and regularly leads to the semi-justified claim that outlying opinions aren't welcome here), but on the whole it works very well.

</comment><comment><USER17> Along the other comments stating that SNR is much higher here than on Reddit, I feel that the lightweightness of HN and the fact that all pages are loaded instantly actually contributes to a state of mind where you want to refresh just to know what's new. When it takes more time to refresh you're not as eager to discover what's new.

</comment><comment><USER18> Why do you think it is more addictive ? From my experience Reddit's open voting system is much more addicting.

</comment><comment><USER19> Why? Why make it addictive? Why abuse human nature on what is a website run by adults, for adults, and is doing fine without being turned into a raging nest of wasps?

Go away.

Edit: we have lives to live. I personally avoid addictive shit with vengeance.

I quit smoking, I quit alcohol. I quit facebook. I would quit HN if it ever became "addictive" or anything other than the technology safe harbor i find it to currently be.

Yes, I feel strongly about this.

<comment><USER20> The OP is not requesting that HN be more addictive. They're asking why it is already.

<comment><AUTHOR> Elizer once said in a blogpost don't click on the link that goes to HN to not create another internet addiction: [https://www.lesswrong.com/posts/cyzXoCv7nagDWCMNS/you-re- cal...](https://www.lesswrong.com/posts/cyzXoCv7nagDWCMNS/you-re-calling-who- a-cult-leader) and that was 10 years ago. Looking back on what I've done all year seems like I sent hours and hours on reddit and HN basically doing nothing.

</comment></comment></comment><comment><USER21> Can't really compare HN with all of Reddit. I think Hn is a very good subreddit.

</comment><comment><USER22> [https://www.youtube.com/watch?v=huBskeb- syk](https://www.youtube.com/watch?v=huBskeb-syk)

</comment><comment><USER23> Absolutely no. Hackernews do shadow banning too much.

I wonder morals of this platform quite often.

Freedom of speech... What a joke!</comment>


Debunking myths about the "Third World" (uses Gapminder) - <AUTHOR> http://www.youtube.com/watch?v=RUwS1uAdUcI

<comment><AUTHOR> This is probably the most vividly presented talk I have ever seen in my life. No wonder Google bought Gapminder immediately after this talk.</comment>


Using Node.js and JQuery to Crawl Public Tweets - <AUTHOR> https://github.com/bcoe/birdeater

<comment><USER2> From the docs:

'''

* Node.js [...]

* jQuery [...]

[...]

This approach has become my hammer when web scraping tasks come up.

'''

If all you have is a hammer, you may find yourself noticing that objects become more nail-like :).

</comment><comment><USER3> I have also found node+jQuery an effective web crawling combination. In particular the cheerio library <https://github.com/MatthewMueller/cheerio> greatly simplifies data extraction. And as others have mentioned, the asynchronous nature of node is perfectly suited to crawling (as long as you take care not to accidentally DDOS the target site).

</comment><comment><USER4> If you really want to scrape pages, you should use something like <https://github.com/chriso/node.io/> which batches things in jobs, helps with error handling, io, etc...

</comment><comment><USER5> why not use the twitter api?

<comment><USER6> from the github page: Birdeater does not use Twitter's API. It was built as a demonstration of an approach I like to use for parsing structured information from unstructured HTML.

<comment><USER7> A better (and practical) example is scraping an internet forum (I've done it, partially)

</comment></comment></comment><comment><USER8> Does Node have anything like Mechanize? Handling cookie state and such is something that is much more useful than the selector functionality of jQuery...which is great, but not any better than what Nokogiri offers.

<comment><USER9> <http://zombie.labnotes.org/> is a library I've used with great success. The documentation in particular is cute.

I found PhantomJS unnecessarily convoluted for trivial tasks and was unable to figure how to do the nontrivial thing I was actually trying to do. The documentation in particular was unusable.</comment></comment>


C++ coroutines: Initial implementation pushed to master - <AUTHOR> https://gcc.gnu.org/ml/gcc-patches/2020-01/msg01096.html <comment><USER2> Honestly even with RAII memory management in C++ can be hard, especially with all lambda/closures. I can totally see this becoming a even bigger mess if combined with corotines.

Most languages which have anything like corotines/async/await avoid this problem by using a GC. Rust kinda is will equipted for this with it's borrow checker (but it's hard for the compiler team to get completely right). But I don't see C++ to be suitable for many coming/common programming patterns with them. It is just way to easy to mess up memory management in the edge cases (like e.g. early cancelation etc.)

<comment><USER3> As a counterpoint, I've been ubiquitously using coroutines in C++ as the primary concurrent task scheduling mechanism in database engines for around a decade. It has always been dead simple and mostly straightforward, resource leaks were never an issue, though details vary with coroutine implementation.

Since C++11, memory management has been remarkably easy to get right the first time in complex systems. It isn't just RAII, there are many other mechanics that enable resources to be automagically managed optimally from the perspective of the developer. In my experience across millions of lines of code, resources don't leak ever at this level of abstraction (pre-C++11 is a different story).

I am perennially baffled by what other people are doing with modern C++ that resource leaks are chronic problem. I get the impression there are a large number of C++ programmers that don't grok basic resource management in C++11 (it really isn't that hard) and blame the language when resource management issues occur.

<comment><USER4> Well, just write a simple C++11 lambda that uses a reference capture, and store that lambda somewhere and watch your app crash when it that lambda runs after the referenced object is gone. Even if you stick with writing no "new" or "delete" in your code, just as good modern C++ encourages, this simple problem will always be there, and it doesn't just affect lambdas, though that's the sneakiest place it often happens.

Of course you can avoid these problems very easily, but you have to be bitten by them first to know how easy they are to write.

<comment><USER5> Excuse this ignorance from C# land, but how does one get by in C++ without ever writing "new"?

<comment><USER6> 'new' allocates an object on the heap, where it is prone to being leaked.

Direct allocation on the stack (and maybe moving to the caller function if needed) keeps everything local and ensures destructors are always called when the stack unwinds.

<comment><USER4> This isn't really the right concept. Lots of objects must be on the heap, as the stack cannot contain them. The question isn't to avoid putting objects on the heap, it's to avoid the use of "new" to put them on the heap.

Modern C++ encourages avoiding manually using "new" and relying on smart pointers for that, as they will automatically call "delete" and avoid a large class of memory leaks from heap usage.

Note that member objects are often on the heap without using any smart pointers or use of "new" simply because they inherit the memory area from their enclosing object, and I've see many inexperienced C++ devs manually allocate memory for these objects unnecessarily.

<comment><USER6> Thanks. Your answer captures the nuances much better than mine. I was concentrating simplistically on the difference between heap and stack allocation, but that misses a lot of the common usage & idioms.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Don't let its name fool you. C++ coroutines is nothing about the coroutines you imagine from other languages.

C++ coroutines, defined by C++20 standard is nothing but a syntax sugar. It consists of three keywards, co_await, co_yeild and co_return. The functions which use these keywords are said to be a coroutine and it's code will be transformed such that some specific member functions of the user-defined type will be called.

And that's everything. It's just a syntax sugar like range-based for. Actually, it's less than the range-based for because there is no standard library support for it.

If you wrote a class that does, say, lightweight user-mode threading according to the C++ coroutine's syntax sugar expect, it become coroutine in the sense of most other programming languages. It can also support generators and other idioms if YOU or SOMEBODY wrote a library for it. Good luck with that. Because even the C++ SC's experts couldn't design and agree upon a good such standard library until the deadline of C++20.

In my opinion, these features should better be implemented by powerful generic static reflections rather than a dedicated special syntax just for this.

<comment><USER8> It's not just syntax sugar, since the compiler still does the hard work of capturing local variables in to a (stackless) activation record

<comment><USER9> At the end of the day, everything is syntactic sugar over machine code. Doesn't means it is a bad thing though.

</comment></comment></comment><comment><USER10> This is pretty big news. That is the biggest c++2a feature I want to use.

<comment><USER11> But no concepts, no const expr, or use of auto at least according to cppreference

<comment><USER12> It's no wonder. C++ is deeply and irreparably broken, yet instead of fixing anything they just pile up more features in an effort to compete with Rust and Go. Modern C++ is like a 19th century horse carriage with a big subwoofer (but you have to bring a bunch of 9V batteries), huge hot-rod wheels (but no amortization so don't even think about going above 20 kmh) and an airplane engine from Rolls-Royce (which is there for the sake of heating only).

<comment><USER13> In what way is C++ "deeply" broken? I seem to be using it daily with no problem, as does the rest of the world. I manage to use applications and operating systems where vast portions of it are written in C++ without problems - what problems are you having? Honestly, it's dead easy to criticise but you must be using the product of another language if you feel so strongly about this...?

Tell me, which browser and operating system are you using to write this comment? It must be one written in something other than C++, right? Your browser isn't using WebKit or Blink by any chance is it??

Let's hope the web server or network appliances used to transfer the data to you are not using software written using this "deeply broken" language!

<comment><USER14> I also use C++ everyday, and find it quite powerful, but I also feel that it is ill designed. The other day I had to work with code that involved a public member function that returns a private type. You can only bind to the return value of this function with auto (because the type is private), but can otherwise do anything with the object. Why this is allowed is beyond me.

You're right that much of the software we use is written in C++, for good reasons, but asking people to "use a product of another language" just because they are critical (in a not so nice way, admitted) of it is going a bit too far. It's like asking someone to move to a different country because they think their system is "broken beyond repair".

<comment><USER15> Your design above with the private type being returned could possibly be useful. Perhaps outsiders to the class will be prevented from instantiating the nested-type without using the class itself to generate the nested type. This could be contextually useful and certain (interface) functionality could be grouped in a manner that is more convenient to use than by calling methods on the original class.

I like that C++ allows us to express this situation, even if it's a bit of an unusual design pattern.

<comment><USER14> You can prevent instantiation of the nested type already by using private ctors and friending the wrapper class from this type, while keeping the class itself public. That is a much cleaner expression of intent. I believe that if a class is usable via its interface, it is public any way (in that you will need to go and change all uses of this object should you decide to change the nested type's API, whether it is declared private or not).

And also note that binding to the object at all has been possible only after C++11, while this "feature" works with earlier standards. That rules out the possibility of this being designed into the language with the express goal of achieving what you say (it doesn't matter, but just pointing out).

<comment><USER9> Visibiliy has always been sabout naming thing. You were always able to bind private types to template arguments (otherwise you would never been able to create an std::vector<PrivateType> or pass MyPrivateContainer to an std algorithm. What's new in C++11 is the ability to also bind locals, but that no more powerful than what you could do before (via a CPS transform).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> Ah, I loved coroutines. Combining this with Boost.ASIO and Boost.Beast, you can make a high-performance HTTP server/client in C++ quickly while defeating the competitors several margins far away.

Sadly, coroutine TS in Boost.ASIO is still a preview feature, and I've met a lot of quirks that stopped me forwarding from using it, for example, sockets have to be moved even inside a lambda, that can clearly optimized out by referencing, and I had some frustration of this.

<comment><USER17> Do you have any benchmark to back this assertion by any chance ?

The only benchmark I know of is [https://www.techempower.com/benchmarks/](https://www.techempower.com/benchmarks/) which is really poorly done but it's better than nothing. Rust seems to sometimes come first and C++ framework are close (and not by several margins).

<comment><USER18> The benchmarks leader "actix-web" was not really regular/typical rust, and conflict with the "community" caused it to implode. see [https://github.com/actix/actix-web/](https://github.com/actix/actix-web/) and [https://news.ycombinator.com/item?id=22075076](https://news.ycombinator.com/item?id=22075076)

<comment><USER17> Yes this is why I said the benchmark is poorly written. It encourages frameworks to do such thing.

Even if you look at the code of hyper for the benchmark, it does some ugly things not recommended in production. I'm not blaming actix/hyper's authors, I'm blaming the benchmark author encouraging (not voluntarily) such practice.

However the benchmark is enough to see that C++ is not faster by several margins, hence my curiosity about benchmarks proving otherwise.

</comment></comment></comment></comment><comment><USER19> Sorry, I just got back from a long vacation. For users still on C-front, what benefits are to be had by moving to a compiler supporting std lib coroutines?

</comment><comment><USER20> oooo nice.

</comment><comment><USER21> In other news, Iain doesn't have zstd yet :-).

</comment><comment><USER22> There have been library implementations of this for years. And they are a far cry from true lwt aka golang.

<comment><USER23> Is that so? Please elaborate

<comment><USER24> It looks like Facebook's `folly` library had an implementation of coroutines available in their experimental directory since mid-2018. There was still some evolution going on after it was pushed though (and it seems like there still is today).

Not sure if that helps the argument that this has been around for "years" (since it's still in the experimental directory), but I guess there were some libraries trying to accomplish this.

[https://github.com/facebook/folly/tree/master/folly/experime...](https://github.com/facebook/folly/tree/master/folly/experimental/coro)

<comment><USER25> The only implementation that I would consider around of years, were the C++/CX extensions, and even those aren't 100% like ISO C++ ones ended up looking like, although Microsoft was a big contributor to its design.</comment></comment></comment></comment>


Ask HN: GIS, Audio Mashup Ideas? - <AUTHOR>

I'm looking for a neat side project idea, preferably something to do with geolocation and audio. I had an idea of showing a graph with people in your area that are listening to the same radio channel as you are, but Pandora doesn't have an open API and I'm too cheap to pay for IHeartRadio.<p>Any ideas? <comment><USER2> Something that immediately springs to mind would be guided tours. EG walking round, say, Pompeii/Arlington Cemetery/The Pyramids and having audio notes/lectures appear on the spot you are standing at.

Maybe a framework that lets people implement that as a service/app for their particular site?

</comment><comment><USER3> If you're interested in location and music, you should talk to Joey Flores of EarBits.com fame (YC funded). A concept might be shows or events happening soon in your general location, and a taste of the music from the given musicians.

<comment><AUTHOR> Something like Eventful, but solely for music?

</comment></comment><comment><USER4> just spitballing here? How about mashing up NPR story locations, so people can see recent NPR stories about events in their area?

alternatively, if you can find an accurate source of data on where FM and AM radio reach, and genre's they play, you could do a mashup with mapping software, so people going on long trips can put in types of music they like and know when and what to switch the radio to.

or create some sort of plugin for shoutcast that allows shoutcast broadcasters to have a map of where their listeners are and interesting related geo analytics.

<comment><AUTHOR> The FCC keeps information on radio stations, but it doesn't include anything on the station's genre. This could probably be fixed with a classifier that learns based on the station's website.

I've never heard of Shoutcast, I'll have to check it out.

EDIT: SHOUTcast's API doesn't seem to support anything that would allow a show host to gather info on users. That's probably for the best though ..

<comment><USER4> I'm pretty sure that shoutcast stations run their own shoutcast sever, and presumably you get IP addresses, and could then plug them into a IP Geolocation API. If you built an app or plugin for the shoutcast broadcaster, they could know where their listeners were. Now, if you wanted to gather info on other people's servers, that could be problematic, though I suppose, once you built an app for an individual hosting a server, you could have it send the geographical info without IP addresses for analysis purposes and maybe a leaderboard. "You are the 4th most popular dubstep station in Peoria, IL!" Hmm and even anonymous data on that level could potentially have monetization opportunities.

Edit: and you can look at the Yes.com API. <http://www.programmableweb.com/api/yes-broadcast-db></comment></comment></comment>


Cops Need a Warrant to Grab Your Cell Tower Data, Florida Court Rules - <AUTHOR> http://www.wired.com/2014/10/florida-court-requires-warrant-cell-tower-data/ <comment><USER2> This is a big win. If you read between the lines, it could also be used as an argument to dismantle the Third Party Doctrine [1]. Just because you give your data to a third party _does not mean_ that the data "isn't yours" and they can take it and use it as they please (including the government). People using third party services should and do have an expectation of privacy (such as when using e-mail, chats, etc).

A "4th Amendment warrant" (to distinguish it from the _extra-constitutional_ 3-months long FISA general "warrant") should be required for _all_ content requests and the vast majority of metadata requests.

Congrats to ACLU, they've been having a winning streak lately in such cases.

[1] - [https://en.wikipedia.org/wiki/Third- party_doctrine](https://en.wikipedia.org/wiki/Third-party_doctrine)

<comment><USER3> I wouldn't count on the US Supreme Court to agree.

For example they have ruled that it's OK for the govt to pick thru garbage you have left out on the curb. It's probably a crime for some random person to rummage thru your garbage picking out bottles and cans to recycle, but it's OK for the FBI to carefully scrutinize every scrap of paper (or drugs etc) that you threw out.

To me the garbage thing is a perfect "third party" situation, especially where I live (garbage collection is done by private parties). In locations where "the city" picks up your garbage one can perhaps argue that you're already giving it to a government agency.

<comment><USER4> I was not surprised by the ruling on garbage at the curb. When you put something out into the public, it's fair game. I am ok with the court drawing the line where private property stops.

But I don't see any reason that data should be subject to the same doctrine as trash.

<comment><USER3> > When you put something out into the public, it's fair game

I disagree with this. In my situation my garbage pickup is done by a private company. What gives you or the FBI the right to rummage thru my garbage which I have left out for the private company to dispose of?

Let's turn it around. Let's say that Amazon, a private company, delivers a package to me, but I'm not home. Do you (or the FBI) have a right to paw thru the contents just because it was left on my doorstep?

What about if the US Postal Service (an agency of the federal government) leaves a package on my doorstep? Is it OK for the FBI to paw thru it?

Edit: to add to this, what about if my garbage isn't out at the curb of the street, but instead is in my driveway or sidewalk, on my private property? Is keeping the garbage can a few feet from the street enough to keep my privacy rights intact? In many cities garbage pickup is done from the sidewalk, not from the street. And I know it's private property, based on how many "slip and slide" lawsuits get filed against private homeowners.

</comment></comment></comment></comment><comment><AUTHOR> Reminder: If you haven't already, please sign up for at least a $10/mo recurring donation to the ACLU.

[https://www.aclu.org/donate/join-renew- give](https://www.aclu.org/donate/join-renew-give)

These court battles are necessary to protect our civil liberties, and they cost money.</comment>


Street Fighter II: The AI Engine (2017) - <AUTHOR> https://sf2platinum.wordpress.com/2017/01/20/the-ai-engine/ <comment><USER2> To this day the smell of east coast pizza makes me think of this game. Spent many quarters on it. The SNES version fueled many late night sleepovers.

Interesting to learn that the AI had a slight jump on the player — created some compellingly difficult matches as the game wore on.

The thing I love about old games is how tight they were — not much room for waste, and so the pieces fit together like a watch.

</comment><comment><USER3> Discussed at the time: [https://news.ycombinator.com/item?id=14138274](https://news.ycombinator.com/item?id=14138274)

</comment><comment><USER4> was very excited about this blog but either 1. the author lost interest or 2. somebody didn't like what his reverse engineering. sad.

<comment><USER5> I got really, really busy with a lot of stuff :(

I made a new post on the blog a couple of months ago though</comment></comment>


From Python to Clojure - <AUTHOR> http://brehaut.net/blog/2010/a_couple_of_lists

<comment><USER2> I'm starting to get into Clojure from Python as well. Thanks for this link.

I like how Flightcaster separates their webfrontend tech with the mapreduce backend. So I probably won't make a full switch. Wonder how many other pythonistas are doing the same.

<comment><USER3> I made the switch from Python to Clojure last October and I'm loving every minute of coding in Clojure. It feels like just the right mix between Python and Lisp.

<comment><AUTHOR> > It feels like just the right mix between Python and Lisp

I'd have to second that. As Peter Norvig once said, Python is Lisp in snake skin (something like that I think), so it would make sense why it is somewhat of a comfortable move. I personally still use both.

<comment><USER3> Oh, don't get me wrong - I still like Python very much and its unlikely I'll stop using it completely any time soon. Its still useful for a lot of tasks, though most of my heavy programming tasks are being transitioned to Clojure. I personally love functional programming, so it was a pretty natural progression for me.

</comment></comment></comment></comment><comment><USER4> I do find the appeal of Clojure quite alluring (I've long had a weakness for Lisp-based languages), but I'm not so keen on having to deal with the Java platform as it's not really to my taste.

Not really wanting to deal either with the Java class libraries or all the XML that seems to proliferate in the Java world.

<comment><USER5> The beauty of Clojure is that it let's you get as close to Java as you desire. Aside from installation considerations ("Do I have the right version of Java installed?") this is especially true in the upcoming 1.2 release. That is, with the addition of types and protocols it's never been easier to forget that you're on the JVM. I'm not sure what to make about your comment regarding XML, but if that is truly a determining factor then there are reasonable facsimiles of Clojure targeting .NET and Javascript (<http://github.com/richhickey/clojure-clr> and <http://clojurescript.n01se.net/repl/> respectively).

<comment><USER4> Regarding XML, I'm speaking of the way it is used for configuration/build files and metadata in many Java projects.

<comment><USER5> XML has become Java's official internal DSL.

</comment></comment></comment></comment><comment><USER6> I looked at the Clojure code and I find it's so ugly compared to Python, Java, or C#. I don't know why would anyone considered that a contender for writing code in the long run. I know the three languages mentioned above and I find Python is the most easy to read and code. Code readability is one of the most important criteria for me.

<comment><USER7> The problem is with your argument is that that sort of observation is purely subjective. It's based on your experience. It's almost a trope for a discussion about lisps to have someone make the claim 'All those parenthesis are ugly!' and have some lispers chime in with 'Really, its not that bad! I hardly see them at all!'

I've learnt that hard way that writing off a language because you hate the syntax from your initial impressions to be a _huge_ mistake. I used to detest Haskell's syntax for so many reasons after suffering through courses about it at university. Now that I actually know haskell a little, and understand the _why_ behind all those syntax choices, it makes a lot of sense and is a really smart syntax choice.</comment></comment>


San Francisco Catholic church installs watering system to drench homeless people - <AUTHOR> http://www.rawstory.com/rs/2015/03/san-francisco-catholic-church-installs-watering-system-to-drench-homeless-people-as-they-sleep/

<comment><USER2> The CBS story is marginally better: [http://sanfrancisco.cbslocal.com/2015/03/18/homeless- saint-m...](http://sanfrancisco.cbslocal.com/2015/03/18/homeless-saint-marys- cathedral-archdiocese-san-francisco-intentionally-drenched-water-sleeping/)

The mind boggles, though. It's not just against doctrine. (It is against Catholic doctrine. Slam-dunkingly so. If you put a question about it on a religious education test, it would be the easiest question in 2000 years. If you polled Catholic theologians, you would _literally_ find more support for atheism than for this decision.)

It's also -- and this is the part which honestly confuses me -- strikingly out of character for the politics of the people that get selected to make purchasing decisions for cathedrals. The institutional Church has a pretty well-known slant on this. It is generally modestly-to-severely left of where doctrine obligates them to be. You'd expect the ones in _San Francisco_ (of all places!) to be at-or-near the farthest extreme left of political positions on homelessness possible in the United States.

How is it blinking _possible_ that someone signed a PO for a system which is not just anathema it's the _particular, caricatured type of anathema_ which is associated with one's mortal political enemies?

</comment><comment><USER3> There was a time when churches were considered to be a safe shelter for anyone in need.

The story is disgusting, but the Archdiocese spokeperson's comment is simply outraging: "We do the best we can, and supporting the dignity of each person, but there is only so much you can do."

I assume he's talking about protecting the "dignity" of the wealthier visitors, so they won't be disturbed by unpleasant views and odors, right?</comment>


How to scale a distributed system [pdf] - <AUTHOR> https://cdn.oreillystatic.com/en/assets/1/event/244/How%20to%20scale%20a%20distributed%20system%20Presentation.pdf <comment><USER2> Another quick hint: always make things work first then profile and optimize it. This happens when my colleagues were building a stream processing engine that _scales up_. At first, they start with all those fancy fine-grained locks but it turns out the final result just does not scale at all. They have to retreat to the version with some big locks and then figure out what was happening and how to solve it.

</comment><comment><USER3> Am I the only one that found that there wasn't really much actual actionable information in here? There's basically no specific information about how they scaled along the axes they established were important

<comment><AUTHOR> That's totally a fair point. I could have given a more concrete talk about how I've done these things in real systems (and the original version of this talk, presented internally to my company, had more real details and spoke very candidly about mistakes that I'd made along the way). Here I wanted to give more of a "here's how you might want to structure your thinking, along with some basic design principles" kind of talk - I wish I'd had time to give more detail!

<comment><USER3> Yeah it was an good talk from the perspective of laying out the landscape and I found myself agreeing with everything, only to find that I was close to the end of the slide deck :(

Is there a blog somewhere where you've written a bit more about it?

<comment><AUTHOR> Unfortunately not (my blog is [http://the-paper-trail.org](http://the-paper- trail.org) but tends to be more theoretical than practical). That would make a good post though!

</comment></comment></comment></comment><comment><USER4> I did a screen cast for these guys once. The majority of questions I got in reasons was where's the video.

</comment><comment><USER5> anybody has a link to the video? google gives me only 3 min preview to the video :(

<comment><USER6> I think it is only available through Safari</comment></comment>


Ask HN: How to network at Startup School? - <AUTHOR>

For context, this would be my first startupschool. I would like to use this as an opportunity to have meaningful interactions with other attendants.
I read somewhere about people coming up with business cards, networking during breaks and while pre/post parties. If you have attended startupschool before, what did you do? Do you have suggestions?
I came across this group in a related question - https://www.facebook.com/groups/705664592796188/. Are there other groups, twitter lists, meetups being planned? <comment><USER2> In the aforementioned group, dropping your linkedin, angellist and twitter name on there will be a good idea.

I've also pitched my idea in the group and the like and at least managed to get some good connections and some good leads from the group to start. AFAIK, there will be a meetup of some kind after startupschool as well.

Other than that, just go out there and talk to people. A networking event is a networking event no matter who's going.

Many of these people will only be there for one day, so try to take connections from a diverse group of people. Much of your correspondence with people going is going to be online anyways.

Just secure what you can.

</comment><comment><USER3> It will be my first time as well, Im going and wonder if I will meet anybody. I also want to know has anyone attended startup school and made a good connection that lead to something...

</comment><comment><USER4> [http://www.LetsLunch.com](http://www.LetsLunch.com) has a group where you can meet people 1-1 after/before the conference for more facetime!

<comment><AUTHOR> That's awesome. Is it the HN group [http://letslunch.com/hackernews](http://letslunch.com/hackernews)?</comment></comment>


Simple encryption for node. dead simple - <AUTHOR> https://github.com/sagivo/dead-simple-crypt

<comment><USER2> How many roads to hell have been paved with the statement "simple encryption"?</comment>


Go read a Web page. Who paid for it? Why advertising is not the answer - <AUTHOR> http://www.eastgate.com/HypertextNow/archives/Advertising.html

<comment><USER2> If there's any one major flaw in this article's argument, it's in its attempt to establish an hierarchy of informational importance.

While it's pretty easy to say that the study of the functionings of neurological chemistry is by far more important than what body part Britney Spears has inadvertently shown off to the public, everything in between is a shifting gradient of gray and dark gray.

While arguments can be made that, on the grand scale of things, the intrigues of corporations and their stock prices are more important than whether or not that new DIY tabletop fabricator blueprint's worth the hype, I think quite a few of us here would immediately flock to the latter link FIRST... and would be quite interested to know what components it calls for, and where to get 'em.

The answer is in more efficiently targeting advertisements, not in dismissing its utilization altogether.</comment>


Hadoop Has Failed Us - <AUTHOR> https://www.datanami.com/2017/03/13/hadoop-failed-us-tech-experts-say/ <comment><USER2> Kinda feels like a fluff piece for their platform...

</comment><comment><USER3> It sounds like the article is making a case for their product.

While I admit that I have mostly moved on to Spark, for many years Hadoop was a reliable way to process lots of data inexpensively.</comment>


Paxos Made Simple – concise explanation of the distributed agreement algorithm - <AUTHOR> http://research.microsoft.com/en-us/um/people/lamport/pubs/paxos-simple.pdf

<comment><AUTHOR> Quick view: [https://docs.google.com/viewer?url=http%3A%2F%2Fresearch.mic...](https://docs.google.com/viewer?url=http%3A%2F%2Fresearch.microsoft.com%2Fen- us%2Fum%2Fpeople%2Flamport%2Fpubs%2Fpaxos-simple.pdf)</comment>


The Myth of Writers Block (and what to do when you're blocked)   - <AUTHOR> http://secretsofconsulting.blogspot.com/2011/01/myth-of-writers-block-and-what-to-do.html

<comment><USER2> We were actually trained to overcome this during our bar exam prep courses. The solution?

Just. Start. Writing.

I don't think this solution is just another played out cliché: after all, isn't it what we entrepreneurs tell other would-be entrepreneurs who have "been thinking about this really awesome idea?" Stop thinking/analyzing/planning and just pull a Nike and "just do it"?

Same thing, really.</comment>


If Switzerland is attacked, it is literally rigged to blow up. - <AUTHOR> https://www.schneier.com/blog/archives/2012/06/switzerland_nat.html

<comment><USER3> Here's another interesting bit: Up until now it is still required by law that apartment buildings are built with a nuclear proof bunker underneath, including air filters. There are in fact more bunker places than people in Switzerland, i.e. >8M. These bunkers are mostly used as wine cellars and storage rooms now. Also, most of the soldiers take their rifle home and store it, even pass it to their sons. This thing is basically a sniper rifle nowadays, precise for 1300f without scope, 2000f with scope.

But, see, the biggest effect this has is not in scaring off foreign powers (which hasn't been relevant since WW2), but on the people's mentality within the country. The government is seen as the people's employee. The guns at home, the banking secrecy and the direct democracy are in many ways instantiations of this thinking. Politicians wouldn't even think about trying to pass laws that are unpopular. With the tools given, a resistance movement would be very difficult to fight against - it's like a Sword of Damocles hanging over the country that has become so natural, no-one even thinks about it. On the other hand this situation has never materialized since the republic was founded 170 odd years ago, even though there are multiple minority ethnicities - the people's political power with the Referendum is enough to keep everyone content. Majority decisions are true majority decisions.

This country is like a lab, showing that a democracy can be stable, prosperous and peaceful for a long time - if only other nations would recognize the lessons that could be learned from this.

<comment><USER4> A few quibbles based on what I've followed on guns and the military:

Once the SIG SG 510 AKA Sturmgewehr 57 ("assault rifle" in English, but it's really a battle rifle, and at 12.5 pounds edging close to a machine rifle) was adopted in 1957, upon retirement from the reserves, instead of buying your bolt action rifle at a nominal cost, you'd turn yours in and could in return buy one converted to semi-auto.

The new rifle, the SIG SG 550 AKA Sturmgewehr 90 introduced in 1990 is a true assault rifle, but if a [citation needed] bit in Wikipedia is correct, less than 700,000 were produced and "production for the military has now ceased." I've read elsewhere that a quality civilian version of this rifle costs around $3,000, although the cost in bulk buys would be lower (I personally own the closest one can get to this rifle in the US without going to extremes like switching the barrel for a longer one (I deal with the ballistic failures of 5.56x45mm NATO by using illegal for the military hollow point copper bullets from Barnes)).

(In all cases these are reported to be very accurate rifles _with issue ammo_ , drilling a target at 300 meters has always been an important requirement. Switzerland has in general been pioneering here, e.g. adopting non-corrosive primers in 1911, and lead free ones in 1990.)

Somewhat over 600K sounds lower than the able bodied young-45 years of age cohort, and especially if military production has ceased it's pretty clear the system is changing.

I'd also add that there's _lots_ of evidence many in the Swiss establishment were concerned about an invasion by the Soviets post-WWII (e.g. [http://www.amazon.com/Total-Resistance-H-Von- Dach/dp/0873640...](http://www.amazon.com/Total-Resistance-H-Von- Dach/dp/0873640217) which is highly recommended), and as a child of the Cold War myself, over in the US, I don't think that concern was unwarranted.

If the law is still requiring nuclear hardened bunkers, that's _extremely_ wise, for we can be sure some day nuclear weapons will be used in anger again.

Final note: Switzerland is instructive in the durability of true federal system, that with the breakdown of ours in the US with steadily increasing centralization of power in our central government, provides some useful object lessons.

<comment><USER3> The army size is currently 185k including reservists and does indeed not include all able bodied men anymore - many choose to serve 360 days in civil service instead, as do I (however I've done my first ~150 days in the military before switching over). Most stay active in the army for about 8 years (150 days academy for regular soldiers, after that at 6 x 3 weeks repetition courses). In the 24 years since introduction of Sturmgewehr 90 I would expect 150k / 8 * 24 = 450k rifles. Pretty close, makes sense that they've seized production for now.

Now, about the classification: I'm curious about this. Would you say, a rifle with only 20 rounds and the size / preciseness of the StGW 90 is an assault rifle? I think it's not so useful for that role - in fact the close combat troops use shortened versions.

<comment><USER4> It follows the technical definition of "assault rifle". The category was defined by the Nazi StG 44: reduced power cartridge (compared to "full power" battle rifle cartridges like the 7.5 Swiss used previously, our .30-06 -> 7.62 NATO, Russia's 7.62x54 _rimmed_ cartridge, etc.) and selective fire, full auto capable. It adopted innovations since then, like straight line recoil (also adopted by the Stwg 57) and 3 round burst mode for more controlled supressive fire.

The size is a tricky question. Don't know about the interior ballistics of your Gw Pat 90 bullet, although Wikipedia says it's properly "designed for terminal ballistic instability".

This is _very_ important, because as discovered by Martin Fackler in the '80s, 5.56x45mm Full Metal Jacket (FMJ) ammo as fielded by the US is _terrible_ at producing field disabling wounds unless, when it tumbles (as all bullets do when changing media from air to whatever), it ideally does so at a high enough velocity for it to break at the cannelure (the crimp in the jacket that helps hold everything together), and ideally the back portion then fragments. Otherwise it does little more than poke a pencil hole through a human, with a flip to exiting rear ended (which by itself, per Fackler's research, tends to do little damage, as does the high velocity shock waves), and of course this assumes bone isn't significantly hit etc.

In practice, we, the US, have seen it isn't a very effective cartridge, and that's not a surprise given how it was forced on the US Army (an action which wasn't, BTW, inherently incorrect, for that part of the Army was _very_ corrupt).

The rule of thumb is that for every inch you chop off the barrel, you lose 50 yards/46 meters of effectiveness. So those who care about this, like the US Marines, still use 20 inch barrels, the M16 vs. the M4 carbine at 14.5 inches.

And strangely enough, so follows the SG 55x models, per Wikipedia:

      SG 550: 528 mm (20.8 in)
      SG 551: 363 mm (14.3 in)
      SG 552 Commando: 226 mm (8.9 in)
      SG 553: 227 mm (8.9 in)

And you're correct, if you're doing pure assault stuff, short range action, chopping the barrel to 551 or 552/3 length can get the job done. But as we've found in e.g. Afghanistan, 551/M4 length is disastrous if you have to "reach out and touch someone".

And thanks for all the "on the ground" information you've provided about the current situation over there.

<comment><USER3> "terminal ballistic instability" \- interesting. All we were told is that these bullets can do so much damage, that even hitting a foot at close range can easily kill someone, so we had to be extra careful when handling the weapon. Most of the soldiers who don't have an explicit infantry role mostly train at long range target shooting (400m). Also, each year soldiers need to go do their 'mandatory shooting' \- 10 rounds at 300m with some required precision. So I think you're right about long distance precision being the most important requirement for Swiss army rifles - probably makes sense assuming a purely defensive stance.

The way I see an ideal Swiss army would be a concentration on locally organized Guerilla forces anyway - heavy tanks and artillery could be completely canceled and the airforce could be reduced to a pure air police. In a hypothetical war against a big nation, air superiority would be lost in probably less than a day, which immediately renders stationary forces and tanks useless - but the biggest asset we would have is precisely those bunkers and 500k rifles in the hands of people that are well enough trained at distance shooting. All that would be needed is a difficult-to-suppress way of communication. For that matter I'd issue a new kind of radio device to all households and include it in a new law. Let these radios create an encrypted ad-hoc network with frequency hopping and lots of random noise on unused channels. Make the software and hardware Open Source and cheap, such that a) they can be improved by the community and b) can be used by oppressed people in other parts of the world. Then we could wish any future agressive foreign government much fun at financing a long drawn out oppressive war against a mountainous country with 8M bunkers, 4M radios and 0.5M rifles - with all useful bridges and tunnels gone ;-).

<comment><USER4> Oh, yes, this class of cartridge _can_ be deadly, it's a question of statistically how reliable is its "stopping power"; killing is a secondary consideration after stopping someone from trying to kill you!

I'm impressed that there's lots of > 300m training, 400m effective range is achievable with this class of rounds, but the bullet drop after 300m is serious. But you wouldn't want an enemy to get complacent if they were > 300m from your people.

Not sure about your ideal; the heavy forces have a deterrent effect, they ensure reducing them in an all out war would be expensive. As I recall, the German General Staff figured taking Switzerland during WWII would break 85 divisions, a cost they simply couldn't afford. Which came at a cost to the Swiss, you mobilized your army, shut down your stock market, etc., the defensive "threat" was credible, deterrence was achieved. (I haven't read it yet, but this is supposed to be the current best book in English on the topic, written by a _very_ solid and trustworthy author: [http://www.amazon.com/Target-Switzerland-Swiss-Armed- Neutral...](http://www.amazon.com/Target-Switzerland-Swiss-Armed- Neutrality/dp/0306813254/) ).

It's also worth noting the accepted costs of the Swiss strategic system, then, during the Cold War, and presumably during a future attack by a major nation (which, as it became more likely, you might presume would include Switzerland bulking up its heavy forces in response).

Very bloody minded: give the indefensible lowland big cities to the enemy (where per the book I linked to previously, the citizens practice "Total Resistance" using among other things those decommissioned from military service older rifles), and retreat to the mountainous country and make the enemy pay for every foot they gain, with little more than bullets and rifle grenades if need be. Per the apocryphal quote from the Imperial Japanese Navy admiral who planned the Pearl Harbor attack, "a rifle behind every blade of grass".

Also, after the Vidkun Quisling debacle, a general order that henceforth no surrender order would be legitimate, and to fight to the last man and foot of ground. (Well, meter of ground of course.) Credible deterrence, which I submit to you, your current heavy stuff aids. Certainly aids in deterring any less than all out attempt to "punish" Switzerland for whatever. Right now the latter is "unthinkable" in part because you've got those heavy forces.

<comment><USER3> Don't get me wrong, I think that heavy mobile forces have been very valid in WW2 - I just think that nowadays they don't make much sense anymore, and the main reason is a) today's intelligence capabilities that make everything big _very_ hard to hide, b) air-to-air capabilities of big nations that are impossible to match for a country like Switzerland and c) the efficiency of air-to-ground bombing. Basically, you can have as many tanks and artillery defenses as you want, as long as you can't keep either air superiority or intelligence superiority, they're useless - and as far as I can tell, in both those areas you can forget holding up against a power like, say, Russia. On the other hand hundreds of thousands, up to 1M, resistance fighters in urban or woods territory with sufficient Demo, RPGs, good rifles and ammunition - <USER2> becomes a huge numbers game to fight this. The USA are basically the only nation that has become efficient at dealing with this sort of situation, and even then there's no end in sight in the Afghan conflict for example. That's why I think a guerilla army that has been trained at this, for everyone to see, is a much bigger deterrent than heavy machinery - and it also takes much longer to be outdated.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> I am not sure how true this is anymore. As far as I am aware, for example, a lot of the equipment necessary for using tunnels as bunkers in case of war has been abandoned or removed.

At least in Germany, in the past a lot of bridged also were prepared to be blown (especially those to the east). I think this is no longer true for anything that was built after ~1990.

<comment><USER4> Doesn't matter as long as Switzerland responds to any changes in its strategic posture. E.g. that equipment, plenty of which is a wasting resource, can be replenished if its neighborhood gets threatening again.

</comment></comment><comment><USER6> I'm surprised Ukraine didn't consider this tactic pre-emptively against Russia, considering they handed back their nukes.

Instead of a minefield, place gas pipelines around bridges and chokepoints that could accidentally suffer "maintenance failure" and explode in case of invasion.

I'm probably being too simplistic about this, I suppose it would just give Russia an excuse to crush Ukraine using force.

<comment><USER7> Russians did this tactics against Napoleon. It is flat country, so they effectively had to burn down half of their country.

</comment></comment><comment><USER8> That use to be true, but isn't anymore.

I'm pretty sure that most of them have been removed by now and new bridges and tunnels are no longer built with explosives.

Wouldn't it be just as easy these days to just fire a few missiles at the bridges and tunnels if another country is invading? Yes, and it's much safer and much cheaper to maintain.

I remember reading about a tunnel fire that could have set them off and would have been disasterous. [http://www.swissinfo.ch/eng/archive/Lucerne_yields_up_explos...](http://www.swissinfo.ch/eng/archive/Lucerne_yields_up_explosive_secrets.html?cid=3456984)

[http://www.oltnertagblatt.ch/panorama/vermischtes/armee- holt...](http://www.oltnertagblatt.ch/panorama/vermischtes/armee-holt- sprengstoff-aus-der-bruecke-3347862)

[https://en.wikipedia.org/wiki/National_Redoubt_(Switzerland)](https://en.wikipedia.org/wiki/National_Redoubt_\(Switzerland\))

</comment><comment><USER9> I don't think this is unique to Switzerland, maybe a little more spectacular due to the landscape. But it fits well with their exclusion mentality.

</comment><comment><USER10> So destroying Switzerland is as easy as pretending to invade it. You just have to wait until they blow up their country, then land on their government's parliament building and take over.

<comment><USER3> See my other comment - the parliament building is pretty much meaningless if a foreign power wants to 'take over'. It's not impossible of course, but it would be prohibitively expensive, as in Afghanistan times a factor X. Using the current situation in the Middle East as an example, one should recognize that a simple 'invasion' is far from taking control over a region.</comment></comment>