Basecamp's chat sucks, and I like it - <AUTHOR> https://heavymelon.blog/2019/11/21/basecamp-chat-sucks/ <comment><USER2> I've given up trying to use chat as chat. It's just another inbox now. All notifications disabled and instead its another "pull" mechanism. i'll look in on Slack or whatever when i'm doing my rounds every couple of hours processing all my inboxes - pull requests, emails, blog notifications etc. Any chat threads get treated with the same GTD process - delete it, delegate it, do it or defer it.

I feel much more content controlling blocks of time to be productive instead of trying to run that chat treadmill.

<comment><USER3> _I feel much more content controlling blocks of time to be productive instead of trying to run that chat treadmill_

I too am guilty (conscientiously) of being a stochastic chat respondent, both with work chat and social chats.

Especially when cohorts begin a chat message with "Hey." followed by a pause and a wait for the message to be acknowledged in return, waiting for them typing out what it is they need me for and then typing back a response.

It kills momentum of work _so_ much when people do this.

Much prefer "Hey. Need help with _______" just seems infinitely more efficient for both parties. Can quickly type back a solution, a delegation point ("I think _____ knows how that works") or a deferral ("Let me get back to you after ____") or file it in my mind while coming to a stopping point on whatever I'm working on if I need just a moment more to reach that point before pivoting over to a reply.

<comment><USER4> I always link them to nohello.com

The full post explains how to avoid being rude.

<comment><USER3> It's funny you link that because as soon as my fingers hit reply on my first comment, I began looking for blog posts to see if anyone had written about how frustratingly distracting the 'naked hello' (as I call it to my office mate) is.

Definitely putting this in my slack status right now. Thanks

</comment></comment></comment></comment><comment><USER5> > Not responding immediately or within a day could label you rude or non- > collaborative. Even if you didn't want others to feel like that, the > receiving end of a chat message couldn't help it. They felt they needed to > respond immediately.

It really depends on the expectations of the team and the culture of the company. I suspect this is the same attitude that would manifest itself in the office as people randomly walking up and asking a question, thus disrupting the thought process. Some companies fare better than others in respecting people's time and concentration.

The author is organizing everything in Basecamp projects, and I'm glad that works for them. Basecamp is a great tool. But a similar process is possible with chat. We use Webex Teams (eating our own dogfood, by way of disclaimer) and organize ourselves in teams (pun intended) where there are many rooms for various topics. The general expectation is that participation is async unless you're @-mentioned. If one requests some task to be done and it's not some quick thing, the answer is usually "create a Jira ticket for me".

One of the limitation of chat systems such as Teams and Slack is when people try to use them to keep track of work items. That creates stress. But for ongoing topics that one can join or leave at will, it's rather useful. And if the discussion becomes something that needs to be sychronous, being able to instantly start a video call, hash it out then go back to other work is way better than back-and-forth in text, be it in a chat room or project management system.

The other point that the article touches on which is super important is leadership happens is actively involved remotely. That prevents relegating remote workers to second class status.

</comment><comment><USER6> So it's not just chat, but how Basecamp combines chat with a message board, allowing for a less pressing non-async alternative for certain types of communication. The secondary effect is the async chat kinda sucks which pushes people towards using the message board when they otherwise wouldn't?

This is interesting. Often constraints make for a good experience. But in terms of solutions to apply more general to other companies it's difficult to nail down here (besides of course adopting Basecamp).

As the author mentioned they tried having a sync backbone with Github Issues but eventually everyone just started using Slack for everything. I'm curious if a Slack company did a better job of directly integrating a sync message board feature if it would be used. Or would it require totally rethinking the product + a workplace culture/methodology.

</comment><comment><USER7> _The fact that chat sucks in Basecamp has some downsides of course. I often want to drop a code snippet and ask something. That's difficult._

For a small team, we really don't have any downside really except this one. All pings and project campfires are riddled with screenshots of small snippets of code. I've tried moving my team to Mattermost or Slack, but chatting on Basecamp is a hard habit to lose. If there's a better way to do this in Basecamp I'd like to know.</comment>


DeSopa: a Firefox addon to easily bypass SOPA DNS blocking - <AUTHOR> https://addons.mozilla.org/en-US/firefox/addon/desopa/ <comment><USER2> It would be quite ironic if the ultimate legacy of SOPA is to strengthen the web by evolving the nature of DNS.

I'm reminded of the past "victories" of the copyright lobby that ended up doing more harm (from their perspective) than good: shuttering Napster (which lead to the much better decentralized systems used for piracy today) and passing of the DMCA (which actually ended up giving legal coverage to businesses that profit from infringement).

<comment><USER3> The worst part of SOPA, in my opinion, is the ability for a rightsholder to ask any ad network or payment provider to stop doing business with any website merely by claiming the site's primary function is infringement... and the liability incentives the bill creates for doing so without a trial.

We can route around DNS blocks to get to the sites, but what does that matter if the sites close themselves because their funding was cut off? A site like YouTube would not be profitable without access to US-based ad networks.

<comment><USER4> Microtransactions in Bitcoin (or heck ads paid with bitcoin).

You can't cut of bitcoin transactions because there is by its very definition no place to cut them of.

If this is the case, we are only going to get that much closer to the end game.

<comment><USER5> I have to say, as much as bitcoin is in a downfall, this actually makes a ton of sense. That was the initial goal of bitcoin, to create a de-centralized currency. As long as the BTC is a STABLE currency this works out well. Or short-term stable. It can become a medium of financial transfer: I buy 10 BTC, donate it, they claim 10 BTC, convert to cash. Done.

It would be great if there was a tool to literally facilitate this transaction without directly giving from one company to another, thus bypassing SOPA. I give the "holder" $10, the "holder" gives me 10 BTC. Then I give 10 BTC to say PirateBay. Then the "holder" guarantees that piratebay can sell 10 BTC to them for $10. Thats it. They only converted BTC to/from cash. I directly gave BTC to pirate bay. SOPA is ignored.

HOWEVER THIS IS EXACTLY WHAT THE INTERNET IS AGAINST. This will prevent all sort of anti-fraud that is going on now. You will wind up bypassing years of innovation to create a black market. It will be detremental.

<comment><USER6> > HOWEVER THIS IS EXACTLY WHAT THE INTERNET IS AGAINST. This will prevent all > sort of anti-fraud that is going on now. You will wind up bypassing years of > innovation to create a black market. It will be detremental.

Right now, in meatspace, I have both options: I can pay with cash and have little to no recourse or record, or I can pay with check or credit card and have a record and various fraud protection measures. I want to have both options on the Internet as well.

Also note that various bitcoin escrow agencies have popped up, which serve the obvious function. Assuming an agency exists that both parties trust, you can have the fraud protection you want if and when you want it.

<comment><USER3> > various bitcoin escrow agencies have popped up

But bitcoin escrow agencies don't solve the SOPA problem -- once you have a small number of intermediaries paying these websites, they become the place where the law can apply its force. They will be ordered/coerced to stop funding ThePirateBay or whatever site the media industry targets, so these sites either can't have reliable BC payments or they are subject to being cut off by these laws without trial.

<comment><USER6> Only if they operate in jurisdictions that can apply such force, and only if they make a connection between their online presence and their offline presence. An escrow agency could operate pseudonymously online without having an offline presence, as long as they built a trusted reputation around their online pseudonym and cryptographic identity.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> SOPA specifically (without actually naming it) calls out addons.mozilla.org for the whole mafiaafire thing -- so under SOPA, this add-on wouldn't be allowed to stay up.

"[T]his version targets software developers and distributors as well. It allows the Attorney General (doing Hollywood or trademark holders' bidding) to go after more or less anyone who provides or offers a product or service that could be used to get around DNS blacklisting orders."

Second paragraph: [https://www.eff.org/deeplinks/2011/11/hollywood-new-war- on-s...](https://www.eff.org/deeplinks/2011/11/hollywood-new-war-on-software- freedom-and-internet-innovation)

(Disclosure: I'm a developer on addons.mozilla.org; EDIT: Changed the post to add a source)

<comment><USER8> SOPA has not yet passed, it is not yet the law and I hope that Mozilla leaves it up for now. The DeSOPA program is meant to discourage passage of the bill by showing congress how easily it can be circumvented, so if it is removed after passage so be it. The link is:

<https://addons.mozilla.org/en-US/firefox/addon/desopa/>

or

[add-ons mozilla base URL ] (slash) en-US (slash) firefox (slash) addon (slash) desopa (slash optional)

in case it is filtered.

Disclaimer: I developed it

<comment><USER7> I didn't mean at all to imply Mozilla would be taking it down; just that the government wasn't happy with the mafiaafire add-on and has included text in SOPA specifically targeted at making add-ons like this "illegal". Just another reason SOPA is bad :)

</comment></comment></comment><comment><USER9> _This program is a proof of concept that SOPA will not help prevent piracy. The program, implemented as a Firefox extension, simply contacts offshore domain name resolution services to obtain the IP address for any desired website_

Part of SOPA is a provision that any tools for circumventing the DNS hijacking are themselves banned. So this extension would have to be removed from the Mozilla repository. At best, it would be distributed underground, and hence would not help to preserve the freedom of the average user.

<comment><USER10> > So this extension would have to be removed from the Mozilla repository.

IM unfamiliar with the bill, but given SOPA's wording, could it be that the whole of addons.mozilla.org, or even mozilla.org end up banned?

> At best, it would be distributed underground

If it were to happen, I envision a world where Aunt Jackie will ask little nephew Steve to enable her the full internets because she can't watch some photos on Flickr anymore, just like she could not install the Flash ten years ago. Steve will simply be asked to provide a piece of software to bootstrap, which if banned from the internets, will be distributed on underground network channels then diffused on a local scale through sneakernet.

It looks awfully like the BBS and early Internet in the '90s, with those warez sources like IRC DDC bots, and a select few having access to such sources and able to distribute pirated games on high-price CD-Rs.

<comment><USER8> I think if SOPA passes, Mozilla will remove extensions such as this. I hope this extension is a deterrent to SOPA passing at all.

<comment><USER8> finnw, the code is actually pretty trivial and does not make use of very special functionality. Further, if SOPA does pass, many even more innovative programs will come out of the woodwork, at the OS layer. I think forcing a patch like that would be a hard sell.

<comment><USER11> You don't need a OS patch.

I run dnsmasq on my machines, for example, and its primary purpose is to alter DNS resolution - my nameserver is set to localhost, and my dnsmasq configuration sets which DNS servers to use for what top level domains etc., and routes *.local to a flat file on my home server, for example.

Dnsmasq itself isn't suited to avoid SOPA, but it's a good proof of concept for a small dns server that mediates the lookups based on rules, but defer to "regular DNS" for everything else. There are tons of simple DNS servers out there that can easily be modified to do detect likely SOPA blocked domains and use whatever mechanisms to resolve it through non-US servers (even if your upstream ISP gets forced to filter DNS).

Worst case? Distribute zone files of blocked domains as torrents automatically, or hide lookups in otherwise innocuous looking traffic.

If they IP block the sites, the same mechanism can be used to serve up lists of addresses of proxies instead of the real sites.

The system just needs to be faster than the SOPA proponents manage to send their extortion letters to ISPs.

The beauty is that if/when mechanisms like this start becoming commonplace, the cat is out of the bag - they'll never regain control.

</comment></comment></comment></comment></comment><comment><USER12> _This program is a proof of concept that SOPA will not help prevent piracy. The program, implemented as a Firefox extension, simply contacts offshore domain name resolution services to obtain the IP address for any desired website_

I thought a major part of SOPA will be censoring sites, not just removing them from DNS. So even if you can resolve them offshore, they are going to be censored versions of the sites you know and love.

<comment><USER13> SOPA (officially) only addresses foreign sites. So they order removal from DNS servers and interrupt advertising or other funding processes from US based companies. But the ability to change the content on a server that is hosted in another country (I believe, IANAL) is beyond their capability. Someone please correct me if I'm wrong.

Also, the issue between domestic and foreign sites is still a bit vague in regards to SOPA. Supporters claim it only addresses foreign sites but most opponents claim (I think) that domestic sites can also be affected.

<comment><USER12> So for "infringing" sites hosted in the US (or on .com, .net, .org) What can SOPA do?

<comment><USER13> I would like to know as well but I think they are relying on the existing DMCA, which I think have similar provisions: domain seizures but no server manipulation.

<comment><USER14> AIUI the DMCA does not provide for domain seizures. Those are done under a creative interpretation of the property seizure laws that were written to allow the government to confiscate property used in the commission of a crime, (e.g. seizing and auctioning off cars that were purchased with drug money).

<comment><USER13> Yea I think you are right. I was probably thinking of takedown notices (which are actually more like the censorship grecy was asking about)

</comment></comment></comment></comment></comment></comment><comment><USER15> This is an outrage. We need to pass a bill that forces ISPs to scan for this plugin and report users to the government for prosecution. The nerve of these criminals.

<comment><USER16> Require all operating systems to include a program that searches for this plugin and removes it.

Then write another program to detect if the user uninstalls the first program.

</comment></comment><comment><USER17> Can someone find a link to the source code (it is licensed under the GPLv2)? I tried to open the xpi in a text editor, but no dice.

I don't have much experience with FF addons, but I'd like to see exactly what's happening here.

<comment><USER8> You can rename the extension to .zip and extract. If you have any problems, let me know via a comment or post a contact method and Ill send you the source. Its pretty simple. When on, it intercepts URLs, sends the base URL to three offshore DNS services via HTTP, makes a best effort to check that two of them are equivalent, caches the IP for the browser session, redirects to the equivalent URL using the IP, and substitutes out the domain name in the source code with the IP address for future requests. I admit that it could use some work, however, I wrote in hopes that I could help create some kind of change in the events that are about to transpire before the vote.

<comment><USER18> Thanks for your work!

The explanation on how the extension works was enlightening. Perhaps I missed it, but would you mind including the explanation on the download page?

<comment><USER8> Sure! updated: <http://bit.ly/rvG87g>

</comment></comment></comment></comment><comment><USER2> Startup idea: $2 a month DNS servers based in Vancouver, Toronto, The Bahamas, and Tijuana.

<comment><USER19> I would pay for one based out of Vancouver.

</comment></comment><comment><USER20> I don't see how DeSopa can work if ICE seizes domains. As soon as a US-based domain is seized, it will propagate to foreign DNS servers as well. So merely using DNS servers outside the US won't help.

DeSopa might help against local ISPs who engage in censoring certain domains on their nameservers, something the SOPA legislation might mandate, but it won't help if the domains are seized.

Better would be some kind of P2P DNS system proposed by Peter Sunde of Pirate Bay -- a decentralized replacement for ICANN and DNS.

</comment><comment><USER21> I love this approach!: SOPA? DeSOPA, MF! Yes, run circles around these idiots.

Tamer, you also do a great job of explaining in passionately clear, objective terms, the SOPA agenda, the weaknesses of its assuptions and it's dire consequences.

However, I strongly take issue with your own assumptions about the value of today's internet services.

More » [http://caspiandesign.com/2011/12/21/desopa-great-ff- extensio...](http://caspiandesign.com/2011/12/21/desopa-great-ff-extension- bad-dogma/)

</comment><comment><USER22> Can anyone elaborate if SOPA will have the power to take down _ALL_ TLDs or only certain ones. i.e do they only control .com, .net and .org?

Wondering if moving to another non US controlled TLD would work.

e.g piratebay.org would also have piratebay.ly which everyone would go to if SOPA took down their .org site

</comment><comment><USER23> So any chance of someone developing a similar addon for Chrome and IE? Not that I am suggesting I would use such a thing (lest I be marked by the lovely NSA filter that I'm sure monitors this site among others)...

</comment><comment><USER24> Honestly, I've never really understood networking in great depth, so this may be a dumb question, but isn't bypassing SOPA as easy as specifying a new DNS server for your network connection?

</comment><comment><USER25> Wont SOPA take the Mozilla site offline for something like this?

</comment><comment><USER26> This is also on Github: <https://github.com/TamerRizk/desopa></comment>


The case of the 500-mile email (2002) - <AUTHOR> https://www.ibiblio.org/harris/500milemail.html <comment><USER2> The 500-mile email story seems to be the Hacker News equivalent to Reddit's SR-71 speed check story [1]. It keeps coming back again and again because everybody loves it.

[1] [https://www.reddit.com/r/SR71/comments/2dpmw7/the_sr71_speed...](https://www.reddit.com/r/SR71/comments/2dpmw7/the_sr71_speed_check_story/) (and many others, too numerous to reference)

<comment><USER3> [https://xkcd.com/1053/](https://xkcd.com/1053/)

<comment><USER4> This new XKCD comic is quite amusing! I read back through several of them and they're so true to my life experiences!

</comment></comment></comment><comment> throwaway-emc2 [throwaway account] A couple of years ago, my company (SEA) was bought by a private equity-based company that was assembling a portfolio of similar companies. The IT group got taken over by a competent yet overworked group in their main office (PHX.)

The remote IT group wanted to move everyone's computer to their windows VMs that were in their colo in PHX, which were managed (and presumably logged) out of a central management panel. From their point of view, this was a great solution. I was trying to get them to put a separate VM bank up locally, because of the speed of light delay (at least 15ms) that would be small but annoying.

I had convinced the remote IT people that this would be a good idea, and also the [PHX] CTO apparently thought it was a good idea, but my local 'location boss,' who used to run our company decided that I was just doing it to increase my power. (which was untrue, because I would be going back to just ENG and not IT after the transition.)

So, my boss cancels it and throws me under the bus to management at our new home office. It takes a couple of weeks, then the terminals that log into the remote hosts get installed. The speed of light is one of the constants of the universe, so the problem I mention immediately happens.

My location boss gets annoyed by the slow performance on his computer and, remembering that I'd said something about slowness, storms into my office and starts demanding that I fix the computers. I try and calm him down and tell him that there's no way to fix this without moving the terminals & vms closer together.

He calls up the remote IT folks and they agree with me. He, at his next trip down to HQ, starts slagging on me to anyone who'd listen. Various people at the new home office warn me about this, but there's really nothing I can do about it.

After some hilarity, I'm transferred to a project that was designed to fail so there can be paperwork justifying laying me off.

So that is _another_ way the speed of light can have real-world consequences.

</comment><comment><USER5> > And I was fairly certain I hadn't enabled the "FAIL_MAIL_OVER_500_MILES" > option.

If this actually was a config option, I would bet anything the default would inexplicably be set to "true".

<comment><USER6> It's like this weird setting in Ubuntu's network driver config file, "11n_disable." I won't pretend to know much about it but every time I install Ubuntu on a machine, wifi internet speeds are slow until I set the above to "8". To me it seems like literally a "go faster" switch.

<comment><USER7> Only 8, and not 1?

Because, at least on my system, looking at iwlwifi...

parm: 11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)

So 8 is only aggregated TX, while 1 would be aggregated TX and RX. (It does, however, also inexplicably default to 0 on my system.)

<comment><USER6> Oh neat, lemme try that out then.

<comment><USER7> I'd be curious to learn what it does for you, because my intuitive interpretation would say that 1 would be "disable all", but that doesn't explain why "enable agg TX" would be an improvement unless agg RX is worse than the baseline...which is probably a bug.

e: Oh, apparently this is a pathological re-use of an existing module flag to force something on that they disabled due to instability in some cases, see also:

[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=205e2210daa975d92ace485a65a31ccc4077fe1a)

So I'm sorry, but my assumption about =1 is not valid, as I assumed that all of the bits (1,2,4,8) were mutating the same thing, not "one bit does something VERY DIFFERENT".

</comment></comment></comment></comment></comment><comment><USER8> Fun story - never heard it before.

BTW, I think information travels over "normal" networking gear (e.g. fiber optics) at about 70% of the speed of light (which is why high-frequency trading tends to move to over-the-air microwave networking to shave a few nanoseconds - see [1]). But I guess the story still works, at the resolution it is told.

[1] [https://en.wikipedia.org/wiki/High- frequency_trading](https://en.wikipedia.org/wiki/High-frequency_trading)

</comment><comment><USER9> I was a friend of Trey back then and I remember him explaining this and thinking "wow, that's some good debugging!"

You'd be amazed at how many people tell Trey that this story is fake. Ugh. There were plenty of witnesses.

Trey made news recently during the flood of negative United Airlines stories:

[http://www.newnownext.com/how-united-airlines-almost- ruined-...](http://www.newnownext.com/how-united-airlines-almost-ruined-a-gay- couples-honeymoon/04/2017/)

</comment><comment><USER10> TIL: units is a really useful utility command that I had forgotten even existed.

<comment><USER11>
      You have: 100 millilightseconds
      unknown unit 'millilightseconds'
      You have: ^D

Apparently I need to add more units to achieve this level of usefulness.

<comment><USER12> Something tells me you're on OS X, and like myself, you'll find you mostly want everything replaced with GNU binaries:

      $ brew install gnu-units
      $ gunits

Also see: [https://apple.stackexchange.com/questions/69223/how-to- repla...](https://apple.stackexchange.com/questions/69223/how-to-replace-mac- os-x-utilities-with-gnu-core-utilities)

</comment></comment></comment><comment><USER13> A lengthier discussion:

[https://news.ycombinator.com/item?id=9338708](https://news.ycombinator.com/item?id=9338708)

</comment><comment><USER14> Reading this kind of debugging story is kinda like watching a horror movie.

It's very interesting and fun to read if you know the kind of problems you have to deal with are tame and furry in comparison.

But if I actually had to troubleshoot a problem like this, it would give me nightmares for weeks.

</comment><comment><USER15> Statisticians make really good bug reports!

<comment><USER16> Maybe in this case, with n=1, but we'd need a better sampling of impoverished departmental heads to support your thesis.

</comment></comment><comment><USER17> I'm a simple man, I see the 500 mile email story, I upvote.

</comment><comment><USER18> I thoroughly enjoyed this story, but wonder if the details have changed a bit over time, perhaps? If light can travel ~558 miles in 3 milliseconds, it seems that mail sent more than 250 miles would have failed (because RTT)?

Also, I'm not sure how big a difference it makes, but signals propagate at less than the "speed of light" (vacuum) when the medium is copper.

</comment><comment><USER19> I've read this story dozens of times and this is the first time SunOS jumped out at me. Around 2001 or so there was a Solaris release (2.7 maybe?) that had a bug in a particular patch release where sleep() returned instantly. That would have exhibited all sorts of interesting symptoms such as this story.

<comment><USER20> I had the joy of re-engineering a terrible in-house web server because of that bug.

It had used the system sleep to pause execution between the fake threads in their awful program. Suddenly everything was hitting race problems, instead of about 10%. Not something I really understood why it was going so bad, so I just dumped the inhouse implementation of threads, and took up the Solaris one, which was a joy by comparison.

<comment><USER21> Sleep() returns early if a signal is delivered to the program, so doesn't your code need to handle this case anyway? Of course, this is super rare, so incorrect code could survive for a long time on a correctly implemented system.

<comment><USER22> You should always handle your errors, but people trust in exceptions and "what works" often enough that we have a culture that doesn't.

[http://geocar.sdf1.org/close.html](http://geocar.sdf1.org/close.html)

</comment></comment></comment></comment><comment><USER23> "And I was fairly certain I hadn't enabled the "FAIL_MAIL_OVER_500_MILES" option."

I laughed.

</comment><comment><USER24> Already really often times submitted. Last time was (I believe) 24 days ago:

[https://news.ycombinator.com/from?site=ibiblio.org](https://news.ycombinator.com/from?site=ibiblio.org)

[Edit] Typo

<comment><USER25> I love this every time I see it. Newcomers may not have seen it so reposting doesn't seem a problem. And 24 days ago it was totally ignored in the new submission lottery, so again reposting doesn't seem a problem.

<comment><USER26> It was my first time reading about it; it was fantastic.

<comment><USER27> If you haven't read it before, there's also "The Story of Mel" which is quite a bit older (1983) but is also a very fun read. [http://www.catb.org/jargon/html/story-of- mel.html](http://www.catb.org/jargon/html/story-of-mel.html)

</comment></comment></comment></comment><comment><USER28> Stories like this remind me of the days when the internet was young, and fun, and silly, and best experienced in its green-on-black usenet glory. (418 Error: I'm a teapot, for example.) The internet just doesn't seem fun anymore.

<comment><USER29> It's not that the Internet has lost its fun--it's just too easy to find it these days. You appreciated everything a little more when you had to get on your bike and ride a mile across campus to the campus computing center just to read that silly USENET post on a 80x24 serial terminal. Now you can read it on your watch or your glasses or yell at your home stereo to read it to you.

I used to wonder what it would be like to time-travel to ancient times and show a gun or a car to a Neanderthal. I think it would be just as crazy to show 2017 me to 1993 me.</comment></comment>


Ask HN: Is an Ez Privacy Startup a Good Idea? - <AUTHOR>

My idea for a startup is for something where the privacy policies on websites are transformed into 1-2 sentence parts and used instead of those long privacy policies out there now.<p>At some point in the future also add a way where you can block websites that have bad privacy policies to your preferences. <comment><USER2> Like this?

<https://www.iubenda.com/en></comment>


An RV Camp Sprang Up Outside Google and Mountain View Wants to Ban It - <AUTHOR> https://finance.yahoo.com/news/silicon-valley-shame-living-van-090010246.html <comment><USER2> This article fails to mention that Mountain View has been blocking improved transit to service the office park in the area for at least a decade.

(Starting a private bus service wasn't Google's "plan A". Their preferred approach was to get the city set up adequate service between the Mountain View train station and surrounding office parks.

Although a buy of new housing is finally going in, it's clearly too little and too late.

Anyway, needing to ban shanty towns usually means you suck at being mayor (at least in city simulators).

Maybe they'll take the housing and transit shortages more seriously moving forward.</comment>


Disruptions: Innovations Like Instagram Are Tough, esp. Midstream - <AUTHOR> http://bits.blogs.nytimes.com/2012/04/15/disruptions-innovation-isnt-easy-especially-midstream/ <comment><USER2> We're calling Instagram an innovation? A disruption even. I don't think so.

The iPhone was disruptive. Dropbox is disruptive. Instagram is a popular photo service but not much more than that.</comment>


Buy a civilization starter kit, prepare for the apocalypse now  - <AUTHOR> http://news.yahoo.com/blogs/technology-blog/buy-civilization-starter-kit-prepare-apocalypse-now-005715498.html <comment><USER2> Nice, last I heard of these guys they'd only built models of four of their devices - and I think that was mostly a tractor that you could attach things to.</comment>


Netflix [is still] overblocking non-exit Tor relays (2016) - <AUTHOR> https://lists.torproject.org/pipermail/tor-relays/2016-February/008788.html <comment><AUTHOR> I started running a non-exit relay node. It wasn't a shock when Cloudflare started discriminating against me but to my surprise Netflix stopped working!

Thought I'd raise some awareness for this ongoing issue, be it a bug or a feature.</comment>


Software Engineering Topic of the Day - <AUTHOR> https://cloudnative.ly/topic-of-the-day/home <comment><AUTHOR> Would love some feedback on these articles if you've got the time?</comment>


Pandora By The Numbers - hypebot - <AUTHOR> http://www.hypebot.com/hypebot/2010/03/pandora-by-the-numbers.html <comment><USER2> _Pandora admits to 0.4% of missed searches. That is, Pandora will get stumped 0.4% of the time when you enter a song or artist_

It's definitely felt a lot more like 40% for me. Pandora seems to struggle with classical music titles that lack obvious keywords.

</comment><comment><USER3> _"Less than 100,000 songs in the entire history of radio broadcast have ever been played"_

I'm not sure I understand that line -- are they saying that in all of radio history, less than 100,000 unique songs have been played? (not counting 'unicast' pandora radio).

<comment><USER4> Other lines that dont make sense

 _Pandora makes up 1 1/4 of all radio_

 _Pandora has 3/4 of a million songs so far; 90 million of those three-fourths were played last month_

<comment><USER5> And it seems the last half is missing bullets.

</comment></comment></comment><comment><USER6> "During Pandora's first year, the 90210 zip code was the area listening to Pandora the most"

This was because, to make sure that listeners were in the US, they required a zip code rather than geocoding IP.

(I was at his get together in Tucson - AMA, I guess. :)</comment>


How to disrupt Wall Street - <AUTHOR> http://cdixon.org/2010/01/23/how-to-disrupt-wall-street/ <comment><USER3> On the plus side, the Internet has already dealt a mortal blow to one value- destroying participant: human brokers. (Anyone remember the bad old days where you had to talk to an actual human being to place a stock trade, and would be charged _hundreds of dollars_ for doing so? And they would _call you up_ and give you _bad advice_ to maximize their churn in your account and, hence, their commissions?)

I loved Prosper (crowdsourced P2P loans), which was mentioned. However, the primary barrier to Prosper's success has not been regulation (a somewhat surprising statement, considering they were shut down for securities laws violations for the better part of a year). The primary barrier to Prosper's success is that their product is strictly inferior to credit cards for anyone who can get a credit card, which means you have an adverse selection problem for borrowers -- the only people who apply have either maxxed their cards or would never be given one in the first place. As a result lender returns are terrible -- many lose principal, and a huge majority underperform _substantially risk-free investments_ like T-bills or CDs.

I'd love to see an innovative option for consumer or small business loans, but it has to compete with this deal: up to $15k delivered instantly (or in 2~4 days), 4% transaction fee, 1% interest for 12 months followed by ~15% interest for life. That what Bank of America will offer me -- right now, instantly, no- human-involved-whatsoever -- for a cash advance on my credit card. Could that deal be improved upon? Yes. But the fact that that deal is possible is, and I say this with no hint of exaggeration, a triumphant monument to the success of capitalism. Many of us Prosper lenders thought it would be easy to beat that with a little human touch. We were _dead wrong_.

Prosper's original model was, basically, I put on a two week dog-and-pony show on their loan auction page, attempting to convince fickle lenders that I am a good credit risk. In return, I get $X,000 less a 1.5% or so fee (can't remember -- it is higher now) deposited in my bank account about four weeks after the day I start the process, at whatever the auction came up with for an interest rate. In my case, it was 12%ish.

I got a Prosper loan, and all participants in it (Prosper, lenders, myself) benefited from it, but that was for the quirky edge case. The average case was murderous to lender returns.

</comment><comment><USER4> A Cynical Theory: anyone with the power, money and government connections needed to disrupt Wall St. will choose instead to join Wall St. when the option is given to them. Fight the good fight or join the party? Those who aren't willing to make the _right_ choice will be weeded out of the system before they are influential enough to disrupt. Any techniques used by outsiders who try to disrupt the party anyway will be made illegal through regulations, trademarks, patents, contract law or legislation drafted by lobbyists and rubber stamped by well-funded politicians.

I can think of a less cynical and more hopeful view too but I think it's something anyone entering this space needs to be aware of. I don't think it's a technology problem.

<comment><USER5> Reminds me of the mess created by both telcos and Google lobbying on net neutrality.

</comment></comment><comment><USER6> Yet another way to disrupt investment banks. Make every startup owner aware that the size of the "pop" on IPO day is the amount of money that the company failed to get and could have. Furthermore much of that money went to the investment bank that took you public, and that banker's close friends. In short, it is a form of theft.

Luckily there is an easy way to avoid this theft. And that is the Dutch auction IPO.

Note that Wall St really, _really_ hates these. It took them some time to forgive Google for doing one. They result in less work for the investment banker, and avoid the hidden fee of having a first day pop.

<comment><USER7> /sigh, that simply isn't true.

1\. IPO investors are taking on a risk by investing. For that they get a return. IPOs can drop on first day too.

2\. The bank typically underwrites the IPO. That means if there is a shortfall, the bank kicks in the rest. That is a risk for which the bank gets a return.

3\. By "close friends" you mean the bank's clients. If demand exceeds supply you can sure bet their best clients will be first in line.

4\. A price band is determined ahead of time. Its required for the prospectus. Determining demand is aguessing game. Better to be oversubscribed than under.

5\. Having the press of being oversubscribed is good for the bank _and the company_. Lookup the illusion of scarcity.

6\. For the same reason a big day one jump is good for both and it sets the tone for the stock to the markets.

Auctions have been tried, famously with Google. Even then there was a big day one jump.

</comment></comment><comment><USER8> Between Blueleaf and BankSimple, I think all of these points (save the investment banking one) are being attacked. Fun note: we share an investor in Sean Park (<http://seekingalpha.com/author/sean-park>).

</comment><comment><USER9> Disrupting Wall St. implies not just making a "new" UI/UX/Interface for banking clients (like Mint or Square), it implies looking at changing the Banks inherent Business Model. Can Silicon Valley pull it off? Well, from a foreigners perspective (commenting from Lisbon, Portugal) Silicon Valley has a very engineer centric perspective on problem solving, and while engineering inputs may be useful, this is not an engineering problem, it's an economics problem.

Take P2P loans (Zoppa, Prosper, Lending Club) for instance. Why aren't they gaining traction? Because while they try to change the main Business Model for banks, they fail to solve the fundamental problem of Information Assimetry. That's the "reason d'etre" of the Banks. Banks business model is not just "skin you alive in loan fee's", they solve what we economists call "Adverse Selection" problem: how to sort good from bad credit. They are basically information arbitragers. They pool your credit info, compute a score, and sort loan suppliers with loan demand. The cost of doing so is expensive for an individual investor. And there is a problem of "preference revelation", or, in layman's terms, people lie and try to free ride.

That's why banks exist. Is the model ripe for disruption? Yes, it hasn't really changed fundamentally since the last 300 years since the "Venizian Banca" but for that one need to solve the affordable decentralised sorting between creditors and debtors accounting for fraud, incentives to lie and free ride and asymmetrical information.

IMO, Facebook brought a good innovation to the table. And no, I'm not talking about the "like button", social hype (attach social to something and somehow you have an Alchemical transformation of iron to gold): Applied Network Theory.

Social Networking might be a good research direction to solving the P2P information problem solving, by revealing our preferences.

Payment methods have a different problem to it: fraud. You can, and usually do, bleed money on it. Paypal did, and still does. To counter it, you make it more painful to do transactions (that's why Paypal is, sometimes, bloody annoying). Pain acts as a filter to fraud. That's why Banking is so cumbersome. Again, pain as a filter for fraud. Think of it like this: Google could reduce spam by making it painful to search and index (reductio ad absurdum oversimplification). It's a simple "no innovation" solution.

There is a lot of innovation to be made. But it's a bit more complicated. It's not just "make a new cute web 2.0 interface to sort your personal finances" like Mint.

Just my 2 cents.

(PS: pardon the occasional english typing error. Not a native speaker)

<comment><USER10> _Banks business model...they solve what we economists call "Adverse Selection" problem: how to sort good from bad credit. They are basically information arbitragers. They pool your credit info, compute a score, and sort loan suppliers with loan demand. The cost of doing so is expensive for an individual investor._

So one way to disrupt banks would be to put these resources in the hands of an individual.

 _Social Networking might be a good research direction to solving the P2P information problem solving, by revealing our preferences._

I heard or read somewhere that much of the lending for small businesses and startups happened through one's personal network. Here may be an excellent opportunity for Facebook. This is also an area where the information asymmetry is often reversed. (For example: Your crazy uncle Zeb might look a good credit risk to the bank, even though you know it's all because your aunt was managing the money until she ran off to Belize with the plumber last year.)

<comment><USER11> _how to sort good from bad credit...So one way to disrupt banks would be to put these resources in the hands of an individual._

This has already occurred. It's called a "credit report" and is available even to individuals (my landlord, for example).

</comment></comment></comment><comment><USER12> As a banker, I am painfully awaiting the day someone comes along and disrupts Bloomberg. What an unbelievably frustrating system...

<comment><USER9> As a trader, I totally agree!

<comment><USER13> I'd love to hear what the pain points of using Bloomberg are.

<comment><USER9> The complexity of the platform is cumbersome.

In first place you need a special purpose terminal (the Keyboard essentially) because you need special functions, that are only found on that keyboard.

Second the usability of the thing. It's just appalling. To search a quote you need to know codes similar to the names of x86 CPU register (not jocking... you want to search by topic? TNI <Go key>. Want to view some equity analysis? Hit <Equity key> NN <Go key>). The interface is confusing, cluttered, horrible to navigate through, and concept of "back" is skittish at best.

For the privilege of a steep learning curve, horrible design, proprietary formats, little integration with outside tools (except for Excel) and a horrible looking keyboard, you pay 1500$ a month.

They are, however, the best source for Data in the market. Stocks, futures, fixed income, you name it, they have a price quote for it.

So yes, it's a good market for disruption. But (there is always a "but"): it's not a easy market to get in, and bloomberg as a very good choke on the Banks. The other competitor is Reuters. And IMO, it's easier to disrupt B2C companies. B2B reminds me of the "Nobody ever got fired for buying MS". Well, no trader desk director ever got fired for buying Bloomberg.

</comment></comment></comment></comment><comment><USER14> Disruption is happening. We're about to launch a platform which takes a $100 Bn market and democratizes it by putting it online. And, we have some key Wall Street support.

The people who are creating these disruptive technologies are the insiders who have intimate knowledge of these systems. It's not necessarily going to be a new GUI on top of an old idea, as someone else put it in this thread.

My original comment to Chris is over a year old on that very same blog post. It's actually a bit embarrassing, since I really should have found a better way to try to contact him.

</comment><comment><USER15> FutureAdvisor (YC S10) is addressing several of these - particularly the ones that involve Wall Street taking money in fees from unsophisticated investors.

</comment><comment><USER7> Firstly, the title is a misnomer. There's nothing here about _how_ to disrupt Wall Street. It's all _what_ needs to be done without knowing how.

Some thoughts:

Investing banking is an interesting case. On something like an IPO I see IBs as providing three benefits:

1\. Navigating the significant regulatory hurdles;

2\. Underwriting the offering; and

3\. Marketing the offering.

(2) and (3) are related. (3) relies on them having clients with the money to invest in the IPO.

This isn't a simple issue of finding money. Part of a successful IPO is seeding the stock such that trading on the relevant market(s) is liquid.

Not that I'm saying disruption isn't possible but it is hard.

Investing in the stock market _directly_ is, for most people, a sucker's game. The stock market is an insider's market. HFT is just one of many ways that the pros will take advantage of you.

Note: I quite deliberately differentiated between _trading_ (short term) and _investing_ long term. Long term investing reduces the significance of timing and transaction fees but individually picking stocks is still a risky business.

As for prop trading, for completeness I should point out that it is one model for market makers to trade for profit, paying for what is actually a valuable service. Market makers are commonly daemonized, unfairly IMHO. Market makers give you the liquidity to buy and sell whenever you want.

The other trading method is spread trading, basically making money off the bid-ask spread. The spread is basically inversely proportional to the size of the market. In smaller European markets, spread trading is still profitable. In the US government market (basically US Treasuries, possibly the largest market in the world) the spread is essentially zero so the only way to make money is prop trading. Prop trading means taking a position, betting on a particular outcome.

Arbitrage is another model but computerized trading system has greatly reduced the effectiveness of this. Arbitrage is buying some security on one market and simultaneously selling it on another for a higher price, pocketing the difference (eg buy gold in NY, sell it in HK).

As for mutual funds, they have been disrupted by ETFs (exchange traded funds), which greatly increase the liquidity of such investments and decrease transaction costs. Funds also like them because fund redemptions are a huge problem. Typically people take out and put in money at the wrong times. ETFs mean investors can get money out by simply selling them on the stockmarket.

Still, fund managers do make management fees.

Financial products are constantly changing. It's an area that, by its nature, must and does constantly innovate. For example, 10 years ago there was no way for retail investors to short stocks. Now? Most markets have CFDs (contracts for difference) that are a derivative that allows you to go long or short on a stock for a low amount of capital.

Research is an interesting one. Good analysis is a skill and requires access, something a name brand bank provides. That being said, it is an area rife with conflict of interest and late signals.

Retail banks have of course been somewhat disrupted by their online cousins.

Wall Street is constantly changing. It's an arms race where one side trades faster so all the other players do as well. Unfortunately, Wall Street enjoys significant government protection, much to our detriment (eg financial crises brought about, at least in part, by Wall Street having little to no aversion to risk, IMHO due to the almost guarantee of a bailout by the Fed if it goes south).

The most important area of the finance industry is retirement savings and here the US is extremely backward. Companies allowed to invest pensions in themselves, one part of a bank dragging down everything else with it and so on.

In Australia, for example, most people have individual superannuation accounts for retirement savings. There are very strict rules on what these funds can invest in. Such funds are separated from (and insulated against) whatever else happens to the financial institution. The funds are held in trust by third parties.

</comment><comment><USER11> Wall Street is disrupted all the time. Major disruptions in many of the specific items he talks about:

4) The internet disrupted trading on the broker side (you pay $0-$8/trade now). Used to be a LOT more. HFT disrupted trading on the market maker side. It used to be that you paid a human a nickel for liquidity, now you pay a computer a penny for it. Various brokers are further disrupting trading by allowing anyone to become an HFT (e.g. Interactive Brokers).

There isn't much left to do on the trading side - trading is nearly free now.

5) Goldman Sachs seems to have come up with a disruptive innovation in IB - <USER2> semi public through an SIV to avoid all the hassles of becoming an actual public company.

7) Mutual funds - he seems aware that low fee ETFs are already disrupting mutual funds.

</comment><comment><USER16> I think you have to split retail from investment banking.

Retail is ripe for disruption, bad service, poor websites, limited products etc. Creating a Retail Bank 2.0 could really change the sector.

I have difficulties seeing investment banking ever being disrupted. For one you have to be intimately involved to know what sort of products are needed. A 23yo SV hacker simply hasn't a clue what the mutual fund manager or forex dealer needs to make his life easier.

Once you're in the industry it isn't really radical disruption, if it were, the industry would be being disrupted all the time. Banks are massively competitive and any potential advantage inferred by new technologies and approaches would be assimilated into their business model rapidly.

</comment><comment><USER17> I am not sure Wall Street needs disrupting, other posters have noted that because it is so competitive disruptions constantly occur. But one thing could change Wall Street a lot -- if for some reason the core function of capital raising, either through issuance of debt or equity, was less necessary, then Wall Street's role as a middle man would be reduced. What could cause companies to need less capital to carry on growing their businesses? Or what could cause capital to be more readily available?

</comment><comment><USER18> Research a loss leader? That's sort of true but there are already a couple of sites which are doing just that and charging for it: www.morningstar.com, www.fool.com and www.quantumonline.

</comment><comment><USER19> Covestor is more along the lines of disrupting Wall St.</comment>


Goodbye GoDaddy - <AUTHOR> http://www.weaver.io/post/14775914661/goodbye-godaddy

<comment><USER2> There's a lot to be said for not having your registrar run your DNS. It's a nice perk to not have to worry about a second service, but having your DNS separate from your registrar means that you can switch registrars without having to suffer DNS blackout downtime.

I used to run my own DNS servers, and it worked fine. I now run all of my DNS from Linode, which also works fine. Made my recent transition from GoDaddy painless, since I didn't have to worry about GoDaddy ceasing to respond to queries before new DNS had propagated.

<comment><USER3> It seems like we are too will be moving our domains to dnssimple. I just had to buy a new domain and I bought it on dnssimple. The UI is really nice. And fast!

Now about your concerns...

The point is that at dnssimple registration and dns are separate things. You don't have to register with them all domains that you mange, and you don't have to use their dns on domain you register through them.

So if you decide to move your domains you can transfer them out while keeping the dns with dnssimple and switch it after domain transfer is complete, or leave it there.

<comment><AUTHOR> They also offer $20/Year SSL certs.

</comment></comment></comment><comment><USER4> I the two domains I had with godaddy a long time ago b/c they were nutso back then.</comment>


MyISAM, InnoDB, and PostgreSQL - <AUTHOR> http://sequel.heroku.com/2010/03/29/myisam-innodb-and-postgresql/

<comment><USER2> The biggest differences normally arise with multiple queries running concurrently. For example, InnoDB & PostgreSQL use MVCC whereas MyISAM uses locking, and PostgreSQL normally wins most benchmarks with high concurrency on multi-core machines (8+).

I'm not certain I understand what you ran in the 'heavy' and 'light' threading tests. Can you provide some more details / explanation?

</comment><comment><USER3> Everyone measures how expensive transactions are compared to no isolation, but I've never seen anyone switch off isolation and measure how often their code stumbles across a half-baked update from another thread, nor how badly their code screws up their data when it happens.

</comment><comment><USER4> My problem with PostgreSQL is that you're half expected to tweak it to your needs. Ideally I would have to record and replay real life activity against the database for each adjustment. It's too much work to do properly. An expert could probably make a good first guess though. Which is why I've wondered if there is a tool where you drag a couple of sliders that describe your server specs and application nature and output config.

<comment><USER5> _My problem with PostgreSQL is that you're half expected to tweak it to your needs._

That's a myth. Postgres runs out of the box just as well as MySQL, with no more configuration effort.

A good starting point could be: <http://www.revsys.com/writings/postgresql- performance.html>

As you can see there is only a very small number of settings that you really should set consciously, just as you have to choose consciously between InnoDB/MyISAM and various baseline settings on MySQL.

Beyond these eight parameters (most of them relate to the amount of RAM you want it to use) postgres ships with reasonable defaults. All the other options may become interesting to tune it later for special workloads (something that you can hardly do with MySQL) but are usually safe to ignore.

<comment><USER6> The security settings that allow you to even connect are 1) hard to find, 2) somewhat difficult to track down documentation for, and 3) not what everyone would call "reasonable". I like Postgres, but it needs to evolve a more admin- centric attitude in my estimation.

<comment><USER5> Excuse me?

<http://www.postgresql.org/docs/8.4/static/index.html>

If it takes you more than 10 seconds to find "Client authentication" under "Server administration" then do you really think you are qualified to setup a database server?

Sorry if this comes across rude, but criticizing security in postgres in a comparison against MySQL is beyond absurd.

The grant-system in MySQL is a _bloody_ _mess_. It doesn't even have Roles. And it is prone to "funny" side-effects, such as the dreaded anonymous user issue which afaik is still unfixed in latest stable.

In a nutshell: If you don't remove the two anonymous user grants that mysql puts in there _by_ _default_ then a grant to 'foo'@'%' will allow 'foo' to connect from any host _except_ localhost. Makes sense? Not? Thought so.

Here's why: The connection attempt from localhost is rejected because the default entry ''@'localhost' matches _before_ your 'foo'@'%' entry. So that's what we call admin-centric these days, shipping with mousetraps like that in the default config?

[http://dev.mysql.com/doc/refman/5.0/en/connection- access.htm...](http://dev.mysql.com/doc/refman/5.0/en/connection-access.html)

Then there's postgres, look how hard it is:

First you specify what users are allowed to connect from where and to which databases (pg_hba.conf). Then you create the actual users (CREATE USER). Finally you grant privileges to them (GRANT). Optionally you can group them under roles.

The common setup that allows local users to connect without a password as any user but demands a password from remote connections takes all of two lines in pg_hba.conf:

      # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
      host    all         all         0.0.0.0/0             md5
      local   all         all                               trust

Then you can make your users:

      CREATE USER foo WITH PASSWORD 'secret';

And give them access to stuff:

      GRANT ... TO foo;

Man that was hard. I'm all exhausted now. But hey, it's right there in the docs. With examples and all. [http://www.postgresql.org/docs/8.4/static/auth- pg-hba-conf.h...](http://www.postgresql.org/docs/8.4/static/auth-pg-hba- conf.html)

<comment><USER6> Right, so if you want to connect over the network? What happens? Oh, yeah -- it doesn't work. And then you have google and google with no real idea of what keywords to use other than 'postgres connection problem' until you find the arcane configuration that lets you connect.

Real simple. Yeah.

<comment><USER5> Have you _ever_ looked at the postgres documentation at all?</comment></comment></comment></comment></comment></comment>


Behind the 'Bad Indian Coder' (2013) - <AUTHOR> http://www.theatlantic.com/international/archive/2013/10/behind-the-bad-indian-coder/280636/?single_page=true

<comment><USER2> I think it's something of a cultural issue as well as an educational issue. In India, being a programmer is a nice job that brings parental and social approval. It's something you do because you're not passionate about doing something else. In the US, programmers are still "geeks", and it's not a cool job to do - especially the mainstream corporate/enterprise programming that employs most programmers. So American programmers are more likely to do it because they're passionate about it, not because they want a steady job.

The result of this is that the best Indian programmers - the smart, passionate ones - are every bit as good as the best American programmers. But the _average_ Indian programmer is significantly worse, dragged down by hordes who don't know how to code well and don't care that they don't know.

An interesting contrast to this is Russian programmers. In my experiences with numerous offshore teams, Russian teams are more likely to produce working code, but they're also _much_ more likely to go "off the reservation" and do things that aren't in the requirements. I summed it up to a former co-worker recently, who had dealt with Russian and Indian teams on the same project with me, as "The Indian team won't do anything unless you explicitly tell them to do so. The Russian team will do anything unless you explicitly tell them not to do so."

The cultural things are important as well as the educational aspects. I don't think an American CS degree is great preparation for real-world professional programming, either. What matters is how the programmer chooses to learn after the formal education stops - especially off-the-job learning.

Programmers who are passionate, who love to learn and demand the best work out of themselves for sheer pride... they're great. The rest are mostly useless.

</comment><comment><USER3> I think bad developers in general are on the rise. It is extremely easy to produce bad code, but it can be quite difficult to produce quality code.

<comment><USER2> Uphill both ways, man. I've been programming since before the current Stanford grads were born. Code has _always_ sucked, and it will _always_ suck.</comment></comment>


HHVM 3.15 (LTS) Released - <AUTHOR> http://hhvm.com/blog/11711/hhvm-3-15 <comment><AUTHOR> tldr;

 _The 3.15 release features native support for the shmop, pg-sql, and scrypt extensions, enhancements to the garbage collector, critical fixes for TC recycles which had been broken in recent releases. Also included in this release, various bug and incompatibility patches, and enhancements to inlining, method dispatch, and other important performance optimizations._</comment>


Google: Android wallpaper apps were not security threats - <AUTHOR> http://blogs.computerworld.com/16666/google_android_wallpaper_apps

<comment><AUTHOR> Also check the post on Tim Bray's blog: [http://www.tbray.org/ongoing/When/201x/2010/08/04/Security-R...](http://www.tbray.org/ongoing/When/201x/2010/08/04/Security- Reportage)</comment>


The Surprising Reason Why Americans Are So Lonely - <AUTHOR> http://euraeka.com/article/oTY0wCZWMjMy1z4ZMOPR1g==--HALPDB8ZifzE1ZQeYewfzQ <comment><USER2> Every house on the street I grew up on had a front porch and 4 to 6 people living in it. Everyone knew everyone and we did everything together. There was no organized sports; if you wanted to play you just went in the middle of the street and in 5 minutes there were 10 other kids. If you wanted to take a shortcut, you just cut though people's yards; no one had a fence.

Every one of my parent's 14 siblings and my 32 first cousins lived within 10 miles. We all saw each other at least once per week.

Our mailman cut our hair, our dry cleaner picked up and delivered, our principal was also manager of the local swimming pool, and we worshipped in our neighbor's basement.

We knew the names of every police officer, fireman, cashier, clerk, waitress, gardner, and handyman in our neighborhood. If you ever needed anything, _someone_ knew _someone else_ who could help you. We didn't have google, cell phones, or cable TV; we had lots of other people in our lives all the time.

In college, I lived with 35 others in a fraternity house. We didn't do a whole lot of planning. There was always someone around to do stuff with.

Today, I don't know the name of a single neighbor. I don't remember the last time I lived in a house without a fence in back or with a porch in front. My nearest relative lives 1000 miles away. I know the names of exactly 2 waitresses; guess where I eat out all the time?

Loneliness probably has more to do with the proximity of people in your life than all these other "factors".

I don't know when things changed, but they sure have. Anyone with experiences similar to mine?

<comment><USER3> It was mostly the same with me. We attended a church 400 yards from my house. All the neighbors did as well. The neighborhood was like a family -- if you needed a glass of water you just went in the kitchen of the closest house and got one. Nobody locked their doors because everybody knew everybody and somebody was always around checking on what was going on. Kids played outside until dark, and sometimes later, without much parental supervision. Everybody knew that everybody else was looking out for the kids.

That's how I thought everybody grew up.

My dad died and my mom remarried and moved off to a retirement community in Florida. They have about 1200 units which are mostly full in the winter. Everybody attends the same church, everybody participates in the same activities, everybody sits out on their porch in the evening. You're never bored because somebody is always coming by and either talking to you or asking you to participate in something. If somebody has a problem going to the store, other people drive them. If somebody has a problem cooking their meals, neighbors pitch in and help them out.

When my mom died last month, there were a thousand people at her memorial service. The line of people coming by to give me a hug, cry, and offer their condolences took almost an hour. These were people who had kids and grandkids off all over the world, but for them the people in the park _were_ their family.

There is something in that experience that I want, especially as I grow older. We all spend a lot of time plugged in and wired up, but we seem to have forgotten how to sit on the porch as the sun goes down and have a good heart- to-heart talk about our lives and values.

As cool as technology has become, we're missing something very important.

<comment><USER4> >we seem to have forgotten how to sit on the porch as the sun goes down and have a good heart-to-heart talk about our lives and values.

We haven't forgotten, we've just changed the space. Like right now, in this thread we're doing exactly what you claim is missing. Whether the porch is physical or virtual isn't nearly as important as the actual sharing of ideas.

<comment><USER5> >Whether the porch is physical or virtual isn't nearly as important as the actual sharing of ideas.

That would be like saying that the only important part of sex is the exchanging of fluids. Yes, the internet is great, but it cannot replace a strong family or community.

<comment><USER6> > _"That would be like saying that the only important part of sex is the > exchanging of fluids."_

It strikes me as like saying the important parts of sex are the physical sensations and emotional connection (regardless of where the fluids end up.) It's dead on.

I have a strong family and a strong community, but much of it is online. I met my wife on the internet (in 1998, on a website devoted to our favorite video game); another friend from the same website was a groomsman at our wedding; we named our son after the website's founder. Members of our online community have organized prayer groups, attended weddings and funerals of other members, and helped each other in times of physical, emotional, or financial crisis. I personally have met with people from our community in Chicago, Vancouver, Kansas City, Seattle, Denver, Colorado Springs, Provo, and at a hog farm near Medford, Oregon.

The important part of community is not that we can walk over to each others' houses. It's that we can share with each other, help each other, take joy in each others successes, give comfort in failure or tragedy, learn from each other, and treat one another as friends.

Not every website can live up to this standard of "community". But mine has for the last twelve years.

</comment></comment></comment></comment></comment><comment><USER7> This article taught me about the problems of a small diner in Vermont and its quest to find a local pork producer raising 300-500 pigs per year. Along the way I read some comments about suburbia and learned the diner had a jukebox that played the music of local artists.

Still can't tell you why Americans are so lonely.

<comment><USER8> I got the same impression. The article felt like two articles hastily joined in the middle. The first was some musing on the loneliness and disconnected lives Americans now lead, with some unsupported thoughts as to why.

Then it launched into a description of the problems of a local diner owner.

The article was heavy on the heartstrings, light on the facts.

</comment></comment><comment><USER9> "The page you were looking for doesn't exist. You may have mistyped the address or the page may have moved."

Wow, that's pretty zen.

<comment><USER10> Here's the non-scraped link: [http://www.alternet.org/vision/146623/the_surprising_reason_...](http://www.alternet.org/vision/146623/the_surprising_reason_why_americans_are_so_lonely,_and_why_future_prosperity_means_socializing_with_your_neighbors)

And reddit comments: <http://www.reddit.com/r/environment/comments/bwsm2/>

</comment></comment><comment><USER11> The conclusion of the article is (and I paraphrase) that Americans are so lonely because they don't gossip anymore while shopping. I'm not buying that.

It wouldn't surprise me if the opposite were true: that by buying everything from the internet you save time you would otherwise spend in shopping malls... which you can then invest in meaningful (real life) relationships instead.

<comment><USER12> The conclusion of the article was that people don't _need_ to meet people anymore to go about their life. The question is if the time saved by shopping online ( _if any_ , while it may be more efficient, there's also much more data you can potentially peruse in deciding your purchases), or in the supermarket, is actually invested in cultivating relationships or if it goes into more hours working, for example.

<comment><USER11> Right, but my point is that even if you interact with people while shopping it doesn't lead to meaningful relationships, so I think the "correct" choice is to shop in whichever way is most time efficient.

What you end up doing with the time you save is up to you of course. But no amount of shopping is going to compensate for a lack of friends and family.

<comment><USER13> I think you're completely correct. This is really a suburban issue more than anything else. Think about suburbs:

() Each part of your existence is cordoned off into unique zones. There is the work zone, the shopping zone, and the home zone.

() None of these 'zones' are close enough together to walk. So you get into your car (with tinted windows!) and drive from zone to zone.

() Your house has a big fence (it's a 'privacy fence').

() Your house is huge. So big that you have rooms dedicated to things like excercise and 'media'. You don't have to leave your house...ever! You can excercise at home. No need to go to the movies. That gourmet kitchen can feed 200...

() Look at your street. In suburbia the streets are curvy and twisting... why? Go stand out on your front sidewalk. Notice how when the street twists it looks like you only have a handful of neighbors? That's why...

() That subdivision has a name. I bet it's _something_ ranch, or _something glades_ or some other name designed to make you think you're living far out in the country away from everything (a great post on the subject: [http://denverinfill.com/blog/2006/09/guide-to-suburban- denve...](http://denverinfill.com/blog/2006/09/guide-to-suburban-denver- subdivision.html))

Everything about suburban life is designed to isolate. You drive in your tinted car to the giant grocery store. You nod at the cashier, hurry back to your car and drive home. You park as close to the store as you can.

You'll find that folks in suburban areas are obsessed with security. That's what their being sold. 'Come live here and you'll be so isolated no one can ever do anything bad to you ever!!'. Of course the cynic in me takes a trip back to the 60's and hears 'Come live here and you'll be so isolated you'll never have to deal with those black people in the cit...ever!!'

So ya... living in that environment you're bound to be unhappy. I've done that. I've lived it. It sucked.

Contrast that with my current situation:

() Small house with a small fence.

() Nice front porch

() Streets on the city grid.

() Grocery store is a 5 minute walk away

() (lots of) Restaurants, shops, and parks are all within walking distance

() My wife and I own one car, but we almost never use it. Our bikes get us around quite nicely.

() We both take public transit daily.

It's amazing. When we're walking or riding the bus we are nearly constantly interacting with other human beings. Walking down the road we'll meet new folks and pet their dog. More than once we've invited folks inside for a drink... It's really a pleasant way to live. I'm sure that we're statistically slightly less safe (our house was broken into once, and cars are occasionally robbed on our street) but we're 100% more happy.

I've noticed that the kids in the neighborhood (and there are a LOT) are also much better adjusted and well socialized as well. When we lived in the suburbs it became comical. We had tons of trouble finding places to eat. We'd go to $30/plate restaurants that would still have kids running around like it was Chuck-E-Cheese. I really think that the lack of daily socialization breeds a child that is fundamentally self-interested.

Urban kids do much better. Sure we've had the occasional problem... but it's been far less frequent. It just seems like a more natural and overall better way to live.

<comment><USER14> Grew up in a suburb, cannot agree more. You'd have to beat me with a very large bat to get me to go back to that kind of lifestyle. It's _not_ a way to live.

It doesn't have to be this way, though. Part of the urban conversation that happens in America is diluted by the polarizing notion that you either have the twisty, identical, soulless gigantic suburb, or the gardens of glass and steel that is high-rise condos. The people on either side see the opposing extreme as the alternative - but it needn't be so.

Walkable suburbs are _entirely_ feasible - you don't need big concrete high- rises to be dense and transit-friendly.

<comment><USER13> I totally agree. As a matter of fact I live in a neighborhood that __IS __a suburb. It's one of the original 'streetcar suburbs' in Denver.

The big differences:

* houses align to the city grid (well a city grid, Denver actually has two.. it's complicated;) ). This is really important as the grid is far more friendly for pedestrian access. * mixed use: There are integrated retail spots throughout the neighborhood. I don't have to leave the confines of my neighborhood to take care of almost anything * Ready access to transit. I have a bus stop 2 bloycks away * Proximity : I'm about 2 miles out of Downtown.

I still have a house (albeit much smaller than out in the burbs). I have two dogs. I have a yard. So in many ways I have the same trappings as those houses farther out, just less space.

Really when we talk abut 'suburbs' we're talking about 'exurbs' or extra urban areas.

That said, it can be very difficult to get this right. Here in Denver our old Airport gave way to a 'new urban' development called Stapleton. To me it's an absolute tragedy. The planners took 'walkable' to mean, quite literally, 'able to easily walked'. They forgot that you have to actually have things to walk TO. They built a neighborhood that sort of mashes up the two concepts. The houses are on the grid (for the most part), but the retail centers are highly zoned off. So they failed to actually integrate the retail into the neighborhood itself. They sit on the edges of the development. It has nice wide sidewalks and a really big park, but most people live at a pretty good distance.

So the results are mixed. You do get a lot of leisure walking going on. On a day like today (almost 80 degrees and sunny) you'll see a lot of folks out and about pushing strollers and the like. However, most people find themselves packing up the car when they want to eat or go to the grocery store.

Contrast that with my neighborhood where half the streets don't have sidewalks that go all the way through. Yet it's highly trafficked all day and well into the evening simply because we have lots of places worth walking to.

note: As you can tell, this is one of most favorite topics to absolutely geek out about:)

</comment></comment></comment></comment></comment></comment><comment><USER15> It seems about once every 20 years or so there's a new wave of this small is beautiful, re-localization, grow your own food or die idea. Maybe every generation has to go through that phase before realizing that we're never going to go back to anything resembling our countryside village past. And I'm glad we won't.

It's all based on the idea that we're running out of traditional sources of energy so quickly that we won't be able to innovate ourselves out of it. I don't believe that for a second. It's wishful thinking by people who will latch on to any difficulty to make that same argument over and over again.

There are huge amounts of natural gas left and we have nuclear. I don't see why that wouldn't be sufficient for a smooth transition to more wind and solar to save us from the horrible prospect of the stifling, oppressive horror that was the village.

</comment><comment><USER16> I recall the article written by the lady who put her son on the New York underground.

The media berated her because they were sure other people would do something bad to him.

I often think this lack of trust, paranoia and fear separates us--leads to loneliness.

</comment><comment><USER17> Are Americans so lonely? The article doesn't seem to establish that. There's a reference to a book, and an assertion, but since I'm not going to read that before I read the article, it doesn't help.

Saying that people have fewer friends or neighbours doesn't equate to being more lonely. People may have richer lives with less face-to-face contact because they can now interact with people who are more in tune with their beliefs and dreams.

It doesn't help to have lots of neighbours if all of them think you're just that weird goth kid. But if you can share a virtual space with thousands of other weird goth kids, you may be better off, and less lonely.

</comment><comment><USER18> This is by no means a solely American phenomenon. The article could be as easily describing modern urban and suburban Britain to a tee.

</comment><comment><USER19> The real reason why Americans are lonely is simply because they stay at home. Rather than living and working out of cafes and pubs. Doesn't matter whether its the suburb or city. Compare this to somewhere like Spain where they even take their children to bars with them.

</comment><comment><USER20> I have a car, access to public transit, a cell phone, and the internet. I can choose to socialize with the people I choose to, rather than the people who are spatially closest to me through mere happenstance. I don't know my neighbors much nor do I need to. I have plenty of friends and I am not at all lonely. I doubt my story is unique in the western world.

</comment><comment><USER21> I wonder how many of us complainers about how we're all disconnected actually try to a) go out an make friends, b) do something for others in the neighborhood, c) basically get off our asses (and the internets) and go interact and be a part of the community.

</comment><comment><USER22> "Not the kind of money that's looking for a 20 percent annual gain; when that happens, everything but return gets pushed aside. What Tasch has in mind is a consistent, sound, 3 or 4 percent return"

Is 20% all that much? The way I see it, one has to strive for gains to compensate for losses (in bad years). I am pretty sure 3% gain is not enough to compensate for losses.

In the worst case, your product becomes obsolete from one year to the next. Happy if you had some healthy years and can invest in creating a new product.

I am all for cosy countryside romanticism, I just don't understand why bad economics have to be part of the equation.

<comment><USER23> 3-4% won't keep you ahead of inflation.

</comment></comment><comment><USER24> I don't think it was the fault of "cheap energy". Oil and motor companies designed our cities to be the way there are, killed dense downtown living areas and public transportation, on purpose. So, the demise of community sociality is squarely their fault, a victim of capitalism and the political influence of money.

</comment><comment><USER25> Certainly the abundance of anonymous services and goods takes out a lot of the enjoyable social aspects of those things but it also makes many other things possible. I don't think there has ever been a time in history like this one where the barriers to entry to whatever you can imagine have been so low.

</comment><comment><USER9> Anyone interested in this topic should read "Bowling Alone". It's pretty scholarly but very readable.

</comment><comment><USER26> Interesting to see a VC firm whose goal is 3-4% returns instead of 20% returns.

</comment><comment><USER27> It's not just cheap oil. The real reason: it's part of our national character, especially post-1950. We don't care enough about close friendships to have them.

We have an arrangement where everyone in the white-collar world is expected to live a lifestyle that makes sense only for the most ambitious-- 40-60+ hour work weeks, unpaid overtime, a social life based on weak ties ("networking"), and national job markets. This is fine for the most ambitious 0.1%, but it shouldn't be _expected_ of the other 99.9% who will never be CEOs.

Because we deny the reality of class, we're in a sort of perennial "gold rush" mentality. Look at the shitty houses built in suburbia, most of which will be falling to pieces in 30 years. Isn't this the same level of quality you'd expect in housing built one mile from a gold mine, on land that will be abandoned after the mine is exhausted?

Europeans focus more on community and less on individual ambition because they know that most of them will never be CEOs. Oddly enough, virtually every study of social mobility has concluded that Europeans have at least as much social mobility as we do in all dimensions that matter. We sacrifice a lot more, and don't get much for the sacrifice.

<comment><USER13> It's strange, because my experience is completely counter to that. I'm 30 years old. I live in a relatively dense urban neighborhood in Denver. I have many close friends that I see on at least a weekly basis and often much more often than that. My experience is very similar to the one studied in a great book:

Urban Tribes - <http://www.amazon.com/dp/1582342644>

Maybe it's a generational thing? While the political and social structures have definitely changed (particularly with regards to church), the end result is very much the same. I think the 'Generation Y' (god I hate that term) is showing a very different attitude towards community than our parents did. They're (we're?) settling into more urban neighborhoods. They value their friendships and relationships more than the previous generation did. They're relying on those friendships much longer and postponing starting families.

It really does seem to me that this generation is living _gasp_ a much more European lifestyle than generations past. Having lived in Europe myself for several years, I can definitely see the similarities.

<comment><USER28> "Maybe it's a generational thing? ... They're (we're?) settling into more urban neighborhoods."

Maybe it is more an urban vs. suburban thing, more so than generational. Of course, younger people might be more urban and older people more suburban.

</comment></comment></comment><comment><USER29> The hero of Sartre's Nausea says on page 6 "I live alone, entirely alone. I never speak to anyone, never; I receive nothing, I give nothing...." [http://books.google.com/books?id=dbCJ40j7t1sC&printsec=f...](http://books.google.com/books?id=dbCJ40j7t1sC&printsec=frontcover&dq=sartre&cd=2#v=onepage&q=alone&f=false) That was written in 1938. Probably he was alone by choice (not lonely). Now we are alone (lonely) because technology forces us to be alone?

</comment><comment><USER30> I stopped reading at "And they've paid equal, or even greater, attention to suburbia; in the developed world, after all, that's where most people live."

I don't think this is true. Google failed me but according to [http://factfinder.census.gov/servlet/GCTTable?_bm=y&-geo...](http://factfinder.census.gov/servlet/GCTTable?_bm=y&-geo_id=01000US&-_box_head_nbr=GCT-P1&-ds_name=DEC_2000_SF1_U&-format=US-1) ), the plurality of people in the US live in "urban, urbanized area, central place" (39%), as opposed to "not in a central place" (29%) or "rural" (21%). And my experience is that the US is much more suburban than the rest of the developed world, Europe particularly. Seems a very odd thing to say. Turns out, most people actually live in cities, and have jobs other than writing this kind of nonsense.

<comment><USER31> If you stopped reading there, you completely missed the meat of the article, it wasn't about suburbia at all, it was about getting the size of businesses right.</comment></comment>


A machine that can dream (Live demo) - <AUTHOR> http://npcontemplation.blogspot.com/2012/02/machine-that-can-dream.html

<comment><USER2> The linked video is a must see as well: <http://www.youtube.com/watch?v=AyzOUbkUf3M>

</comment><comment><AUTHOR> It runs much faster with Chrome and Safari due to their better Javascript VM.</comment>


Kubernetes Networking: Behind the Scenes - <AUTHOR> https://itnext.io/kubernetes-networking-behind-the-scenes-39a1ab1792bb?source=friends_link&sk=b5b666c68375f7c60f76faa8571baa21 <comment><USER2> On the Nomad project we've taken a distinct approach to networking: treat the IP layer as an implementation detail and attempt to abstract it away. This has led to a few design decisions:

1\. Global node addressing - Given a region + node ID you can query any node from any other node.

2\. Global allocation (pod) addressing - Given a region + allocation ID you can interact with individual allocations and tasks (metrics, files, logs, remote exec, etc).

3\. Global name-based service addressing (via Consul) - whether via Consul's DNS interface, catalog API, or Connect service mesh, services discover one another _by name_ instead of by IP or port. The service's address (ip+port) is hopefully an opaque implementation detail that never needs to be externally observed.

With all 3 of these taken together there's no need for overlays, distinct subnets, or unique IPs-per-allocation. Datacenters may even have overlapping subnets and Consul Connect will still allow services to communicate via global name based addressing. Even without Consul, almost all Nomad commands will route to a remote region and execute on the correct node regardless of subnet overlapping.

This does cause some friction at the edge: when translating from external IP based routing to internal services (aka ingress). However, there are lots of load balancers that integrate with Consul and therefore translate between IP and name based routing adequately.

Really any service unhappy with our "route by name, not by ip" design is going to be a bit awkward to use, but routable IPs and ports are selected and exposed by Nomad's scheduler - or advertised in Consul if the address is overridden at runtime.

</comment><comment><USER3> If getting a better understanding of exactly how Kubernetes network is of interest, I'd also recommend this episode of TGIK [https://www.youtube.com/watch?v=IhbJ3ll4usI](https://www.youtube.com/watch?v=IhbJ3ll4usI)

In general actually, I've found TGIK really useful in improving my understanding of the underpinnings of k8s. They have a load of deep dive episodes that focus on a specific part of the solution and generally have a load of hands-on examples.

<comment><USER4> Shame the audio got ruined somewhere along the way.

<comment><USER3> it fixes about 2:30-3:00 in.

</comment></comment></comment><comment><USER5> I feel like k8s networking is 10x more complex than it needs to be...

I think it's because they still want to use the socket API, but to "pretend" you can open a socket to a pod, or to a service, etc.

Instead, they should have defined a new API, like "connect('k8s:service:foobar?selectionstrategy=leastloaded')"

Then they could have made simple LD_PRELOAD shims to get their magic API to work with existing software without modification.

There would be no need for millions of IPtables rules, virtual IP addresses, port remapping, proxy processes, etc.

<comment><USER6> That is basically how consul connect works: [https://www.consul.io/docs/connect/native/go.html](https://www.consul.io/docs/connect/native/go.html)

<comment><USER7> Not as I understand it. It uses DNS resolution, so you connect to something like foo.web.service.consul. Kubernetes's KubeDNS works exactly the same way with Kubernetes service objects.

<comment><USER6> From that page:

      // Create an instance representing this service. "my-service" is the
      // name of _this_ service. The service should be cleaned up via Close.
      svc, _ := connect.NewService("my-service", client)

and when http is used:

> The hostname used in the request URL is used to identify the logical service > discovery mechanism for the target. It's not actually resolved via DNS but > used as a logical identifier for a Consul service discovery mechanism. It > has the following specific limitations:

<comment><USER7> Ah, I see. That's presumably possible because Go has its own DNS resolver, and it (net.DefaultResolver) can be overridden by libraries; no LD_PRELOAD needed.

<comment><USER6> it's because connect.NewService is the consul client, not something like net.DialTCP

<comment><USER7> Oh, they require all TCP connections to go through that. That's a bit heavy- handed — requires rewriting all client code to adapt to that pattern. The nice thing about KubeDNS is that you don't have to. Same with Istio.

<comment><USER6> I brought up the native client because you mentioned "they should have defined a new API".

<comment><USER7> That wasn't me. I'd argue the opposite. Though I'd also maybe argue that SRV records is what we should have standardized on for this stuff a long time ago.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> It's surprising k8s being so new seems to have no concept of ipv6

<comment><USER8> Because ipv6 is not a simple addition, but a complex suite of new protocols meant to replace v4, except that is never going to happen in our lifetimes.

v6 should've simply been v4 with more bits

<comment> forgot-my-pw No backwards compatibility could be IPv6's biggest mistake. Now everyone is forced to maintain 2 IP addresses.

<comment><USER9> I think that's intended as a feature. IPv4 is just not good enough, we will run out of addresses. I think they want to kill IPv4 and replace it rather than improving upon it. At some point programs will ignore IPv4 altogether and our IP addresses will not be fundamentally flawed anymore.

<comment><USER8> layers are only ever added, never removed

</comment></comment></comment></comment></comment><comment><USER10> Did anyone do some measurements on k8s/container latency overhead in networks?

<comment><USER11> Yes. And they are _really_ easy to find. [https://machinezone.github.io/research/networking- solutions-...](https://machinezone.github.io/research/networking-solutions- for-kubernetes/) [https://itnext.io/benchmark-results-of-kubernetes-network- pl...](https://itnext.io/benchmark-results-of-kubernetes-network-plugins-cni- over-10gbit-s-network-updated-april-2019-4a9886efe9c4)

Edit: added one more link

<comment><USER10> I'm sorry that I'm an _idiot_.

Thanks for the links.</comment></comment></comment>


Google to close Google Code open source project hosting - <AUTHOR> http://arstechnica.com/information-technology/2015/03/google-to-close-google-code-open-source-project-hosting/

<comment><USER2> Nice that there's a github export, but it doesn't do things like the HTML page used to describe the project or the downloads.

I have 15 repositories owned by myself. It's going to be painful getting them all over to github in a reasonable condition even with the export/import.</comment>


Motivation for Monads - <AUTHOR> http://cs.coloradocollege.edu/~bylvisaker/MonadMotivation/

<comment><USER2> The author of the article buried the lede, which is in the last paragraph:

> _So the tension around types comes from the fact that if you want to program > in a style that turns effects into explicit things that get passed around, > sophisticated higher-order functions are necessary to keep your code > reasonably clean. And sophisticated higher-order functions tend to have > fancy complicated types. To make programming with them palatable, you either > need to have a correspondingly fancy type system or punt on types entirely._

I think the author is right when he says "To explain the why of monads, we have to first explain the why of the functional style of programming." However, he says one of the "defining characteristics" of the functional style is that "[f]ancy type systems are important." The net effect of the article is to give the impression that monads exist because one needs a "fancy type system" to program with pure functions — as if it were the "fanciness" that mattered.

We don't have to look hard to understand the "why" of monads. They were introduced in the paper _Monads for Functional Programming_ by Philip Wadler ([http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/ba...](http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf)) and he spells out the motivations very clearly!

Here was one key to my understanding monads. In a purely functional language you want everything to be referentially transparent. That is, every expression should be able to be substituted for its value no matter where it appears. At the very least, you'll want the ability to denote which parts of your program are referentially transparent and which aren't.

This can be expressed as utopian vision: in a purely functional language we'd like everything — _everything_ — to be a value. And if you want expressions involving functions to be referentially transparent you're going to need pure functions.

We now need some way of translating code with side effects into code that returns a value. One reasonable abstraction is to say that the "value" is not the work itself — once the work is done it's out of the bag, after all — but rather the "value" is the machine which can perform that work.

<comment><USER3> What I'm realizing in trying to develop my own (admittedly limited in scope) functional language is that "fancy type systems", or at least "fancy some- kind-of-structured-value-thing" systems go a hell of a long way to making it not an interminable pain in the ass.

The hardest thing for me to "get" about FP is that some problems really do require an awful lot of persistent data to be easily converted to values to be passed back and forth instead. Something like, say, a VM, that's a piece of piss to code in a language that allows mutable state can become an interminable mess of gobbledygook or just a huge pain in the ass in a lanugage where the means for passing data structures is too verbose or complicated (like say, Scheme/Racket structs).

This is why the 'fancy types' in Haskell, I realized, and the robust syntax for dealing with them. Because they become the main medium for communication within your program in anything non-trivial, and you need that process to be as frictionless as possible for the FP approach to not fall apart completely into a very tedious sort of chaos.

<comment><USER4> The other way to look at it is that Haskell allows all of this information which would be otherwise implicitly embedded in the abstractions, style, and conventions of a language to float to the top to a formal, verified type language.

So you can see them as a primary tool to handle the complexity or the driving force for exposing all the complexity in the first place!

</comment></comment></comment><comment><USER5> I don't use monads to split out effects. I use monads because they're a design pattern that leads to usable, reasonably well-factored APIs, like LINQ and promises.

Splitting out effects is a different argument. Monads can be (and are in Haskell) used to evaluate a stateful program from stateless components, but they're only an implementation detail. But anything with the right shape - stateless functional holes inserted into the stream between input and output - would look monadic from the right angle, so I'm not sure there's any escape from that.

Similarly for using an Option monads for exceptions - and that's what the Option monad (or closer, Either) ends up approximating, the entire computation evaluates to None once a bad value is hit, much like throwing an exception causes the whole computation to evaluate to the exception at the point of the catch.

So IMO this article isn't really about monads at all.

<comment><USER6> Your first paragraph confuses me. Most APIs that I know for promises/futures are effectful. For example, there is a procedure for checking whether a promise has been fulfilled yet or not. The return value of this function obviously depends implicitly on the state of the promise object.

Making this abstraction purely functional requires making the interfaces of these API functions more complicated. And the monadic style helps reduce that complexity.

My point is that promises seem very much connected with effects to me, and I'm curious why you draw a line between them?

(I understand that there are implementations of the monad abstraction that are not connected with "state" in the conventional sense.)

</comment></comment><comment><USER7> This was one of the more lucid descriptions of monads I've encountered. I've tried reading others and they immediately descend into a lot of subtle language that I don't understand. This really helped.

<comment><USER8> Monads have a lot in common with shell pipes, except for the whole "no side effects" thing. They are surprisingly familiar to work with.

</comment></comment><comment><USER9> A monad is a programmable semicolon.

<comment><USER10> Only >> ;)</comment></comment>


Show HN: iOS ClojureScript REPL - <AUTHOR> http://blog.fikesfarm.com/posts/2015-07-20-ios-clojurescript-repl-available-in-app-store.html

<comment><AUTHOR> Replete is a free and open source ([https://github.com/mfikes/replete](https://github.com/mfikes/replete)) ClojureScript REPL, and it was just now made available the App Store.

It is based on a relatively recent ability for ClojureScript to "bootstrap" or "self-host," and thus is the first time it is possible to evaluate ClojureScript forms directly on a device without resorting to a back-end compiler service. (No network access is needed.)

This is just the first release with a minimal feature set. We would greatly appreciate any feedback for future improvements!</comment>