Rudimentary Currying and Partial Application in Python - <AUTHOR> http://gist.github.com/128202

<comment><USER2> [http://docs.python.org/library/functools.html#functools.part...](http://docs.python.org/library/functools.html#functools.partial)

This already exists in the standard library as functools.partial, except the stdlib version is better in nearly every way.

<comment><USER3> The one place where the functools.partial failed me was in partialing on class methods. functools.partial actually gives you a callable class, instead of the functional closure that this example gives you (though I don't really consider this to be that great of an example). When a class is instantiated, the method functions (unbound methods) are turned into bound methods, something a class can't be. Guido talks about this a bit whole process here... [http://python- history.blogspot.com/2009/02/first-class-every...](http://python- history.blogspot.com/2009/02/first-class-everything.html)

<comment><AUTHOR> So python guys are still looking for the One True Way to do this? How unpythonic.</comment></comment></comment>


Spy Dust (Nitrophenyl Pentadienal) - <AUTHOR> https://en.wikipedia.org/wiki/Nitrophenyl_pentadienal <comment><USER2> A modern equivalent is SmartWater, a clear fluid that a) fluoresces under UV b) is extremely difficult to wash off and c) contains a unique code for forensic identification.

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

<comment><USER3> I don't see how such a product should verify ownership, and I agree with the objection that a person can buy SmartWater and apply it to valuable items owned by other people.

It is the high-tech equivalent of putting your thumb in the biggest piece of pizza when your brother opens the box, to claim it as your own.

</comment></comment><comment><USER4> Glo Germ powder is a consumer equivalent of this:

[https://www.amazon.com/gp/product/B00FE1RQA2](https://www.amazon.com/gp/product/B00FE1RQA2)

</comment><comment><USER5> How exactly would it be used? Presumably you're using it to mark someone you don't actually know, but then you need to actually go looking for the trail, but how do you do that if you don't know who the spy is?

<comment><USER6> 1) Say you have a locked door to which you want the key. You put the dust on the doorknob. Then you check the cars in the parking lot for traces. Now you know which people have gone through the locked door and presumably have keys. Checking their backgrounds also gives you a good idea what is happening behind that door.

2) Before shredders got good. You put the luminol dust on the steering wheel of an inteligence officer's car. Then you steel the shredded paper from the base. The luminol then identifies which shreds of paper come from documents handled by the inteligence officer.

3) You dope the inteligence officer's car again. Then you look at the door punchcode panel to see which buttons he pressed. Now you are 90% of the way to knowing the code.

<comment><USER7> One of the sources also mentions tracking dogs, so it seems to have been quite multi-purpose!

<comment><USER6> Reminds me of sheep. Ever notice sheep with a colored mark on their back? They hang a bag of colored chalk under the ram. This then leaves a colored mark on the back of the sheep he has _serviced_.

<comment><USER8> Also known as _raddle_ not every Ram or Tup will tolerate a harness, so sometimes powdered raddle is mixed with vegetable oil and smeared over his chest.

It gives the farmer quite a lot of information, by changing the color every 17 days (a ewe's cycle), they can detect a infertile tup, predict lambing dates, etc.</comment></comment></comment></comment></comment>


C.J. Date's SQL and Relational Theory Master Class - <AUTHOR> http://shop.oreilly.com/product/0636920002710.do?cmp=fb-na-books-videos-product-dod_c.j._dates_sql_and_relational_theory_master_class

<comment><USER2> It's great to learn databases from the master, but $299 in the era of Coursera?

<comment><USER3> That's an absurd line of thinking. First, Course has no SQL courses [1]. Second, just because "x" sells cheaply somewhere (or is given away) does not automatically make all other content creators fall in line. You obviously are not familiar with Chris Date's work. His book sells for $150 _still_ [2] so I'm actually surprised to see his video courses sell for less than $500. And I know I'm not alone in chuckling at your "the era of Coursera" comment haha. Idealism at its finest!

[1] [https://www.coursera.org/courses?search=sql](https://www.coursera.org/courses?search=sql)

[2] [http://www.amazon.com/Introduction-Database-Systems-8th- Edit...](http://www.amazon.com/Introduction-Database-Systems-8th- Edition/dp/0321197844)

<comment><USER2> There is steady downwards pressure on all video based education. Saying SQL is not on Coursera today is like saying, "I can't find the complete works of Hemmingway on Amazon" in 1995. Chuckle if you want, but the trend is your friend.</comment></comment></comment>


Looking inside a Linux powered slot machine - <AUTHOR> https://nibblestew.blogspot.com/2018/02/looking-inside-linux-powered-slot.html <comment><USER2> Awesome! Would be interesting to know more about the software and how they test it all. I wonder what percentage of slot machines run linux? I would assume most due to no liscensing fees?</comment>


Amazon and Google Start a Price War Over the Future of the Internet? - <AUTHOR> http://nymag.com/daily/intelligencer/2014/03/what-happens-when-amazon-and-google-go-to-war.html?utm_content=buffere1fb0&utm_medium=social&utm_source=facebook.com&utm_campaign=buffer

<comment><USER2> Cloud is the future, as they are being part of smartphone, tablet and many more services. Company like Amazon, Google and Microsoft have reduced the price of their cloud services just to remain in competition. Microsoft is aggressive in cloud business thanks to the new CEO.</comment>


Story about an Android contest winner - <AUTHOR> http://www.billingsgazette.net/articles/2008/08/31/news/state/51-msu.txt This guy built an app that takes in a picture of a bar code and then looks up information online about the product. Very neat. <comment><USER2> The interesting thing about this, to me, is that this product already has been built several times over, but it has never caught on; this guy still got $375,000 for building a new implementation of an old idea.

It is the same thing with the Apple App Store. Nokia has had Nokia Catalog installed on all its phones forever but it never made any money with it. Then, Apple builds the second coming of Nokia Catalog, names it the "App Store," and starts raking in the cash.

Just because somebody else has done it, doesn't mean that it can't be done (again) more successfully.</comment>


Thousands of Threads and Blocking I/O [pdf] - <AUTHOR> http://www.mailinator.com/tymaPaulMultithreaded.pdf <comment><USER2> It's really a pity the "synchronous" terminology took off, as if the layout of the text of the source code has any particular relationship to the efficiency of the underlying scheduling and multitasking primitives. In the end what matters for the code complexity is how the threads can interact with each other (shared memory, messages, etc) and how thoroughly those things are enforced, and the performance is about the efficiency and power of the underlying scheduler and processing. How your code looks in the editor doesn't enter into it.

Things with bad thread interaction stories and inefficient or ineffective schedulers aren't going to be the Next Big Language, no matter how cool they sound today.

The results in this article are a lot less weird or counterintuitive if you understand that.

</comment><comment><USER3> Eh, I would just limit the front process to coroutines accepting incoming connections and accepting complete responses from remote procedure calls and use neither threads nor polling. Launch a lot of worker processes to divide and conquer all the actual work, restart some on the other end of a TCP/IP connection if scaling is necessary. But that's my preference.

</comment><comment><USER4> Previously: <http://news.ycombinator.com/item?id=1551776>

An interesting set of slides. Also interesting is the URL. Is this seriously the only copy of this slide deck?

<comment><USER5> The URL seems weird at first, but Paul created mailinator, it's as permanent a URL to him as random-joes-domain.com is for Random Joe.

[http://paultyma.blogspot.com/2008/03/writing-java- multithrea...](http://paultyma.blogspot.com/2008/03/writing-java- multithreaded-servers.html)

</comment></comment><comment><USER6> The performance analysis is pretty bad. Comparing synchronous I/O performance against asynchronous I/O based solely in terms of bits per second transferred only tells a small part of the story. It doesn't show how well the server scales as more and more connections are added, which absolutely essential information. It would have been far better if the author had plotted the connection rate and response time against the transfer size per connection.</comment>


British Library to put George III's map collection online - <AUTHOR> http://theartnewspaper.com/news/conservation/british-library-to-put-one-very-big-atlas-online/ <comment><USER2> Finally a competition for google maps! Is that why this is on front page?

</comment><comment><USER3> I used to sigh every time I saw "British Library" headlines, as they usually found some stupid way to wrap everything in icky Microsoft technologies long after they became unnecessary encumbrances on web sites.

There's not enough detail in the article to see if they've grown out of that phase, but it would still suprise me if they actually made these bits of "cultural history" freely available in a straightforward way.

<comment><USER4> In recent years, the BL have worked closely with Wikipedians to share media under free/ open licences, including over a million images on Flickr Commons, and releasing audio recordings of birds, to which they own the copyright. I've worked with them on both projects. They also employed a Wikipedian in Residence for a year, and generously hosted a Wikipedia conference and other Wikipedia events.

<comment><USER5> Surely there's no copyright in birdsong recordings (taken individually at least). There is no creative input from the recorder.

</comment></comment></comment><comment><USER6> The maps are from the 1600's, yet in the article's main photo, it clearly shows both library officials and visitors touching it with their bare (oily, and slightly acidic) hands.

There's a reason historical documents and old paintings are usually handled with gloves on...

<comment><USER7> I've seen many cases of old documents not being handled with gloves. Apparently it is accepted by some as a myth that it protects the documents:

[http://www.forbes.com/sites/booked/2012/03/21/the-white- glov...](http://www.forbes.com/sites/booked/2012/03/21/the-white-glove-myth/)</comment></comment>


Ask HN: Please ban links to e-commerce checkout pages and paywalled articles - <AUTHOR> HN does not feature advertisements on the home page, and it should not feature paywalled links, as they are essentially just ads for content that is blocked unless the user pays.
Similarly, HN should not allow links that automatically add an item to a user's e-commerce cart and then direct the user to the checkout page.
If not an outright ban, both of these types of links should be flagged to prevent inadvertent clicking. <comment><USER2> Obviously checkout links aren't valid submissions here, and you should flag them so we can kill them and perhaps ban the sites.

Paywalled articles are different. That's a settled matter on HN. The rule is that paywalled articles are ok when there's a workaround:

[https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

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

Yes, the paywalls suck, but it would suck worse to deprive HN of the better NYT, WSJ, Economist, New Yorker, etc., articles.

</comment><comment><USER3> I disagree. Do you think discussing a book online is wrong if people have to pay to buy the book?

<comment><AUTHOR> That's fine if it's a blog post about the book containing some excerpts and some analysis, but that's quite different from a link that simply leads to a form to fill out one's credit card info!

<comment><USER3> For a lot of people the comments on HN are the equivalent of the excerpts and the analysis - it's a place to discuss the article. Yeah you can't take part if you haven't read the article, like you can't take part in a discussion of a book you refuse to buy.

<comment><AUTHOR> That's a good point, however considering that there are many thousands of books one might choose to read, by your logic the HN front page ought to be filled with "add to cart" links for those books on Amazon. Frankly even Amazon lets you read a few pages of a book and reviews before deciding whether to purchase.

I think the more important question is whether the HN home page should be directly supporting revenue generation efforts by media orgs. They contrive article titles to be clickbait, only to load a paywall when the user clicks with absolutely no context, no preview, etc.

This is about HN taking a stand against being used simply as a revenue generation "channel" by media orgs. I'd be hard pressed to find a more intelligent, wealthy, and influential demographic than HN readers. News orgs have realized this and they actively promote stories on HN to drive revenue.

<comment><USER3> > This is about HN taking a stand

My personal opinion, probably shared by others, is that I'm not really interested in HN 'taking a stand' about anything. The website is fine just doing its job without any aspirations to change the world.

My advice would be to vote with your feet by not up-voting or visiting stories that you don't like. If other people feel the same way they'll die away. I would guess most people don't feel the same way, so they probably won't.

<comment><AUTHOR> PG has written about the folly of paywalls, so it could simply be a stand against that. HN should not be a place where marketers go to get their clickbait stories viral "clicks" and "impressions".

<comment><USER3> I'd rather HN was the kind of place that didn't take a stand against anything. It's a community utility and it would be a shame if it was abused to make points for issues which to be honest I think are at the student-politics level of petty things to be worked up about.

I'm not being facetious when I say if you don't like them don't post them or read them. Please don't try and stop me reading or posting them just because you don't like them.

Of course if the HN people themselves have a strong opinion on it they're entitled to do what they want with the site, but as the admins have said, they don't have that strong opinion.

<comment><AUTHOR> > I'd rather HN was the kind of place that didn't take a stand against > anything.

So would I. But it takes a stand against political discussion and against changing bad titles in submissions, so I think taking one against paywalls would at least be a beneficial stand to take.

<comment><USER3> Ok, well nice debating with you but I don't think we'll agree on this topic so I won't keep bothering you.

<comment><AUTHOR> No worries, I don't feel all that strongly about it, I do think it would be helpful to use the power of HN to encourage the NYT and others to offer free access to stories linked directly from HN.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> > _Similarly, HN should not allow links that automatically add an item to a > user 's e-commerce cart and then direct the user to the checkout page._

I didn't notice them. Do you have 2 or 3 recent examples?

</comment><comment><USER5> So articles from the WSJ and NYT should be banned?

<comment><AUTHOR> Getting a link on the HN home page results in hundreds of thousands of clicks from highly intelligent, successful people, many of whom are influential and wealthy.

The WSJ and NYT should remove the paywall for all links originating on HN.

In the meantime, yes, they should be banned.

<comment><USER6> They can't identify users from HN like me who are not highly intelligent, successful, influential or wealthy though.

Another problem is some people don't hit these paywalls because they do not frequent these sites, it's usually based on number of articles read per period, so it's frustrating for some and others have no idea there even is a pay wall.

The biggest problem is won't it limit the discussions that can be had?

<comment><AUTHOR> > others have no idea there even is a pay wall.

True.

> won't it limit the discussions that can be had?

Perhaps, but if it were someone creating Amazon links to books that automatically added the book to cart and redirected the user to checkout, I think we'd accurately see the paywall link spam for what it is. I don't think there is really anything that is covered by paywall sites that doesn't have solid coverage in AP stories or other general interest, non-paywalled publications.</comment></comment></comment></comment>


Clojure 1.8 - <AUTHOR> http://blog.cognitect.com/blog/2016/1/19/clojure-18 <comment><USER2> Be sure to follow the link to the full changelog ([https://github.com/clojure/clojure/blob/master/changes.md](https://github.com/clojure/clojure/blob/master/changes.md)). In particular, a _huge_ feature that wasn't discussed in detail in this blog post is the new socket server and REPL. In short, you can now get a REPL into _any_ Clojure app by passing a flag on startup. Previously you would have had to manually start a REPL server during app startup.

<comment><USER3> I'm really excited to see how this simplifies CIDER and the Clojure web app tool chain, if at all.

<comment><USER4> This was already discussed by Bozhidar Batsov at last year's ClojureX talk:

[https://skillsmatter.com/skillscasts/7225-cider-the- journey-...](https://skillsmatter.com/skillscasts/7225-cider-the-journey-so- far-and-the-road-ahead#video)

I think that particular point is somewhere towards the end of the talk.

</comment></comment></comment><comment><USER5> Slightly off-topic: Packt Publishing offers Akhil Wali's book "Clojure for Machine Learning" for free today ([https://www.packtpub.com/packt/offers/free- learning](https://www.packtpub.com/packt/offers/free-learning)).

<comment><USER6> Thanks for that!

</comment></comment><comment><USER7> Solid. I would like to see better Clojure docs before 2.0 though. I can even volunteer for a redesign.

<comment><USER8> Or just drop them completely in favour of Clojuredocs or Grimoire. New users get very confused as to which resource is the official one (since the official docs rank so low on G). Ie:

[http://clojure.github.io/clojure/clojure.core- api.html#cloju...](http://clojure.github.io/clojure/clojure.core- api.html#clojure.core/assoc)

[http://conj.io/store/v1/org.clojure/clojure/1.6.0/clj/clojur...](http://conj.io/store/v1/org.clojure/clojure/1.6.0/clj/clojure.core/assoc)

[https://clojuredocs.org/clojure.core/assoc](https://clojuredocs.org/clojure.core/assoc)

<comment><USER9> This. As a new user, this still confuses me somewhat.

</comment></comment></comment><comment><USER10> I used Clojure for an small application last year and once I got up and running (after watching many Rich's excellent videos and reading up) I got a glimpse of how powerful bottom up functional programming could be, a refreshing change from OOP. I wish Jetbrains would create a full featured IDE for it.

<comment><USER11> It looks like they just did: [https://cursive-ide.com/](https://cursive- ide.com/)

<comment><USER12> It's not their IDE, but I agree that it is excellent.

</comment></comment></comment><comment><USER13> Congratulation, Clojure get better and better with each release.

</comment><comment><USER14> Has anybody tried the ahead of time compilation? Does it significantly reduce script startup time?

<comment><USER6> Probably not enough to matter. Even if it halved the startup time it would still be too slow for the tasks it is too slow for. Note: Clojure itself performs fine, I am just talking about the startup time.

That being said, I use Clojure for scripting tasks frequently and it isn't so bad. It just isn't as awesome as it could be.

POTENTIAL SOLUTION: I think for script startup time someone is going to have to bite the bullet and write some kind of nREPL client in a language with no startup time (Go, C, etc). Then you could just send code to be evaluated to already running environments. You could use boot.pods to isolate the Clojure runtimes. Seems straightforward-ish.

<comment><USER14> You can also target nodejs with ClojureScript, which leads to blazing fast scripts/startup time.

See as an example: [https://github.com/georgewsinger/yaml- table](https://github.com/georgewsinger/yaml-table)

This script takes about 100 ms on my computer and about 2.25 seconds (!) to run via pure clojure on the JVM.

</comment></comment></comment><comment><USER15> Congratulations! When is the 2015 State of Clojure coming out?

<comment><USER16> Soon, just editing stuff before release.

</comment></comment><comment><USER17> That change in linkage seems like it would have a serious effect on anything that wanted to hook functions (like this library for doing it: [https://github.com/technomancy/robert- hooke/](https://github.com/technomancy/robert-hooke/)). Isn't the point of rebinding that you don't necessarily know what you're going to want to rebind ahead of time?

<comment><USER18> There's a flag to disable the static linking if you need the dynamism.

<comment><USER17> Does this work with jars you get via deps in your Lein project.clj file, like clojure core?

<comment><USER16> Direct linking is a compiler option so it affects any source you are compiling with the flag on.

If the dependency jar has source files (.clj) and you transitively AOT compile your app with direct linking, then yes.

If the jar has class files (.class) then you won't affect that dependency jars calls within itself or out to other libs. But you can compile your own app to directly link into a compiled dependency if it was compiled with Clojure 1.8 (and has the direct methods to call).

Clojure core itself is AOT compiled (that has always been true) with direct linking on. So calls within clojure core itself are direct linked - how you compile your own code to call into them is up to the choices you make when you compile. Code compiled with direct linking actually retains both the direct and dynamic call paths so this is always a compile-time decision.

</comment></comment></comment></comment><comment><USER11> > Socket server and socket server REPL - adds the ability to allow remote > Clojure REPL connections

Now _that 's_ something!

</comment><comment><USER19> I've been meaning to get my feet wet in Clojure, can anyone recommend a good:

A. Web tutorial intro B. Book

<comment><USER20> Check out Clojure for the Brave and True - [http://www.braveclojure.com/](http://www.braveclojure.com/)

<comment><USER21> A reasonable recommendation. The book I'd recommend as an intro is _Programming Clojure_. It can be found used for cheap.

<comment><USER11> And after those you can try the "Joy of Clojure".

</comment></comment></comment></comment><comment><USER22> Good gravy we're still on 1.6 ... really need to put some time aside for the upgrade.

<comment><USER23> Actually you may not need that much time, the 1.6 -> 1.8 upgrade is pretty smooth!

</comment></comment><comment><USER24> Anybody know if this update addresses any of the issues with Java 8 interop? It'd be really great if you could just pass a conventional Clojure function to Java methods that expect to receive lambdas.

<comment><USER16> No changes in that area.

</comment></comment><comment><USER25> I like the idea of clojure a lot, but I just despise having to touch the Java platform at all, everything is so over-engineered and bloated.

<comment><USER26> Care to add any specifics?

Looking at half of JS language features, I could say that's bloated too.

<comment><USER25> Well, for a very first point JVM startup time STILL sucks, even with an SSD.

<comment><USER27> The JVM startup time is actually negligible. What you're seeing is the time it takes to load the clojure jar.

<comment><USER25> Does it matter? I don't experience this with nim or go or even python - but it does show up with every jvm language, including clojure.

<comment><USER28> Don't blame the JVM for what it is a Clojure implementation problem.

[http://blog.ndk.io/jvm-slow-startup.html](http://blog.ndk.io/jvm-slow- startup.html)

[http://martinsprogrammingblog.blogspot.de/2012/02/why-is- clo...](http://martinsprogrammingblog.blogspot.de/2012/02/why-is-clojure-so- slow.html)

If you program directly in Java it can be as fast as Nim or Go.

Granted, if you want AOT to native code, your only option is a commercial JVM.

<comment><USER29> This post is really old. Even Scala has improved in startup time. I don't think that numbers from 2012 are reasonable.

Especially when Java 1.8 will hit these languages. It reduces build times and startup times since these lanaguages could share their bytecode when it comes to lambda's and such things. With -Xexperimental on Scala 2.11 and changing some things to lambda it will reduce the code size by 10-15% which is a lot in such a big codebase. And I think closure will have such stuff, too. This also means faster startup times. Also Java 9 and Java 10 will also help these languages to improve.

<comment><USER28> So is Clojure 1.8 performance any better than those numbers?

For a long time I played with the idea of using it as common code between Android and Windows Phone, but the performance on Android and outdated CLR support demotivated me to pursue it, so it was back to C++11 (now C++14) for common code.

<comment><USER29> I'm not sure, I don't know how much Clojure 1.8 improved.

Currently this will bring a big one: [https://github.com/clojure/clojure/blob/master/changes.md#11...](https://github.com/clojure/clojure/blob/master/changes.md#11-direct- linking)

Also Clojure isn't tied to Java 8, it's compatible back to Java 5, so this brings a lot of overhead.

<comment><USER16> Clojure has required a minimum of Java 6 since Clojure 1.6.

<comment><USER29> Still a lot of old code, and sorry for my misinformation. Java 6 to Java 8 will reduce code size by a order of magnitude. Even Scala will reduce code size and Scala 2.12 is just amazing how good it fits to Java 8. I hope Clojure will do the same.

We written a small ERP project and looking forward to have a calculation layer in clojure.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Working with Apple Tech Support - <AUTHOR> http://sethgodin.typepad.com/seths_blog/2008/05/working-with--1.html

<comment><USER2> Wait, I thought Apple products just work. Why would they need tech support?</comment>


De-anonymizing website visitors via FB timing attacks - <AUTHOR> https://quadhead.de/website-besucher-durch-timing-attacken-auf-facebook-deanonymisieren/ <comment><USER2> Site is in German. Google Translate has given me an idea as to the content of article but I'm still a little confused about how the timing attack works. Is someone able to explain this better please?

<comment><USER3> The author created a number of "Promoted Posts" on Facebook, for different age groups and relations. Then they send a series of requests to FB on behalf of the visitor. FB rejects them, but because they amount of time they take varies depending on whether they would see the promoted post or not, the site owner can use the time that FB takes to determine if their visitor would have seen the promoted post—and thus, whether they meet the demographic criteria for it. In my case, the promoted post that the site owner created to show to 36-year- olds took longer than the one for 35-year-olds and 37-year olds. Thus they concluded (correctly) that I'm 36.

<comment><USER4> Neat! What could I do with that?</comment></comment></comment>


Google's Groupon Offer: $5.3 Billion, With $700 Million Earnout - <AUTHOR> http://kara.allthingsd.com/20101129/googles-groupon-offer-5-3-billion-with-700-million-earnout/?mod=tweet <comment><USER2> What am I missing here? Groupon: Solid brand, good copywriting, mailing list of qualified buyers... okay, that's great stuff, but where's the defensible advantage here?

Do they think customers will be loyal to Groupon when more specialized competitors emerge? Do they think merchants will stay loyal to Groupon and continue to pay a crazy cut?

Maybe Google picks up a lot of synergy value for their search and data-mining and integration with other services, but they don't exactly have a great history integrating acquired companies with their existing services.

What's the value they're buying in Groupon? I see a company making an unsustainable cut of deals and no defensible advantages long term as competitors emerge to copy their (easily copied) business. Someone enlighten me - what am I missing here?

<comment><USER3> Rightly or wrongly, Groupon is a cash-cow. If they're making $50m/month, given the profit margins (which must be high given that revs are 50% of inventory value which they don't even have to buy/manage/warehouse/distribute!) $5bn doesn't seem too bad. It's a solid multi-national brand with proven scalability, and I'm guessing Google see plenty of more room to expand: given that a large %age of the internet uses Google services, and given all that Google know about their users, they can efficiently and accurately market to a huge number of people. Plus that reach means they can easily defend against competition.

So yeah, I reckon this is a pretty solid deal for them.

<comment><USER4> * which they don't even have to buy/manage/warehouse/distribute!)*

This really is key.

Coming from a traditional e-commerce background that includes all of the above, I am quietly envious of the groupon business model. You don't really understand until you've been in the industry, but the logistics aspect of e-commerce really is a massive part of the process. That Groupon have managed to circumvent that in a way that is profitable/scalable is quite an achievement.

</comment></comment></comment><comment><USER5> I think Andrew Mason and Co. will take the deal, if only because the payout is so gargantuan for Groupon investors. They must REALLY want this to happen.</comment>


Obama used a pseudonym in emails with Clinton, FBI documents reveal - <AUTHOR> http://www.politico.com/story/2016/09/hillary-clinton-emails-fbi-228607 <comment><USER2> Am I the only person who doesn't have their only private email server or pseudo-anonymous address?

</comment><comment><USER3> Man, if this weren't real, it'd make a great soap opera plot...</comment>


Building Intelligence into Machine Learning Hardware - <AUTHOR> https://www.nextplatform.com/2016/12/05/building-intelligence-machine-learning-hardware/ <comment><USER2> The bigger problem than "Compute intensive" is "Data intensive". You can throw money at compute but money cant solve data problem. By data problem I don't mean amount of data but quality of data.</comment>


We Can't Have Efficiency, Good Incentives and No Deficit - <AUTHOR> https://medium.com/@Chritchen/we-cant-have-efficiency-good-incentives-and-no-deficit-2fa0882d08f7 <comment><USER2> Note to potential readers: this doesn't apply to governments even though the title hints at it.

This is about a very constrained economic game with hidden information.

<comment><AUTHOR> Goverments are very complex things. It can apply to single policies. Then here we go into politics, and I don't care to.

</comment></comment><comment><USER3> I am guessing that by \Theta , the author means the product of the \Theta_i ?

In the third paragraph, they say it is the "set of type profiles of all the agents", which seems to suggest maybe {\Theta_i | i in U}, or maybe the disjoint union of the \Theta_i , but for the social choice function being from \Theta to X to make any sense to me, \Theta has to be the product of the \Theta_i over i in U. So I assume this is what is meant.

The author also writes that M is "the set of all message spaces", which seems to mean { M_i | i in U }, but again, I cannot make sense of that with regards to the decision rule \varphi having it as the domain. So, I also assume that M is actually meant to be the product of the M_i (with i ranging over U).

It seems strange that the cost-sharing mechanism is defined as being a function only of the agent index? It seems like the term "mechanism" should mean that it includes how the cost imposed on each agent is determined, not just, be the result of what cost is imposed on each agent?

I'm confused about the example. Are the different agents making offers sequentially?

I don't think the author clearly established (or, really, even clearly stated) their claim.

They define a bunch of terms (like \Theta , M, \varphi ) but then they don't do anything with them, or really say much of anything about them after they defined them.

They might have something interesting they are trying to say, but I don't think they make it clear.

The second source it cites ( at [https://crypto.stanford.edu/portia/papers/mukind- thesis.pdf](https://crypto.stanford.edu/portia/papers/mukind-thesis.pdf) ) looks interesting though, and I think is where they got the thing they were trying to explain (though it is much longer!).

<comment><AUTHOR> sorry for the late reply drdeca, technical problem. Have still to parse your reply. I will try to give you a response anyway.

1) Well, there is no product of \Theta_i, it's sets. It's the set of all the \Theta_i.

2) the article is sequential, so it's {\Theta_i | i in U}.

3) M is the set of all the possible messages that can be sent by the agents, not the actual messages sent. That's why it's message _space_.

4) the cost mechanism depends on the service itself, that's why its shape is know beforehand. If you have to allocate M&Ms, you know the cost of any unit, the logistic costs (let's say an average or a worse case scenario), etc.

5) nothing is implied on the order of the message submissions.

6) I don't think so, but you are the reader. I'm taking feedbacks to improve in the next articles. One was to add images and diagrams. The claim is just that we cannot have efficiency, incentive-compatibility and no deficits cause we cannot have prices that act perfectly both as a way to recover costs and a way to incentivize agents.

7) fair. At start I wanted it to be longer, and then I understood that a) it was taunting to read somehow b) I had to split it. It's the first of a series. Worst case scenario I will link to this first article in the next ones. Tradeoffs maybe. I wanted to be correct, not just to describe the problem.

8) point 6.

9) from the first source I've taken the general description of mechanism design, and the second was the best I found on the problem. To be honest, the second constrained me to choose the first. And the first and some lectures from Bonn university (Germany) were the best I've found so far.

Happy to answer to further questions, and, again, apologies for the late reply.

</comment></comment><comment><USER4> Cannot recommend.

I've seriously tried to read this and the notation is mathematical but poorly used and the whole article has no conclusion or point but serves to introduce another article.

<comment><USER3> At first I thought you just meant that they used mathematical notation when it wasn't helpful, but when I actually read it, I realized what you meant by "poorly", and I agree with you.

I might say that they _tried_ to use mathematical notation.

<comment><AUTHOR> Look at the reply I gave to the user you replied to. I listed the parts of the sources I used. I found really difficult to find a unified notation, but that's the sense. Try to read the parts I listed, and check if it's more understandable to you.

Apologies for the late reply. Technical problems.

</comment></comment></comment><comment><USER5> Sounds a bit like Arrow's impossibility theorem, which I see as an exercise in how to sneak unreasonable constraints into a reasonable-sounding problem formulation.

<comment><AUTHOR> Complex. Too long to discuss here. Politics then. Not helpful. Thank you for citing the theorem though.</comment></comment>


Ask HN: How does GPDR compliance deal with data backups and archives? - <AUTHOR> <comment><USER2> You should specify in your policy how long deleted data will remain in backups, and for that length of time, you should retain a list of accounts requesting deletion, so that in the event of a restore, you can re-delete data before restored data goes back into production use.

<comment><AUTHOR> Thank you! This was very helpful!

<comment><USER2> As an example, Google Cloud has granted itself up to 180 days to ensure customer deleted data is fully purged: [https://cloud.google.com/terms/data- processing-terms#6-data-...](https://cloud.google.com/terms/data-processing- terms#6-data-deletion) so as long as it isn't crazy, you are probably safe as long as the right design is in place to ensure deleted data doesn't get accidentally restored.

With regards to keeping a list of deleted users for your retention window to re-delete, another suggestion if it's not super difficult to implement (depends on your databases, I suppose), is it is even better if your list of deleted users to remember to delete if you restore a backup is using like a record ID instead of an email address, for instance, if possible.

The less personal information you retain for the least amount of time after someone requests deletion, the better. But backups are an obvious business need, and GDPR is cognizant of that. You just need to remember that everything you do with user data should be transparent and should have a justifiable reason for doing it.

</comment></comment></comment><comment><USER3> Are you talking about personal data belonging to EU subjects that is contained in backups and archives?

<comment><AUTHOR> Yes. We were wondering about our exposure to personal data that is contained in backups and archives.</comment></comment>


Three quarters of whites don't have any non-white friends - <AUTHOR> http://www.washingtonpost.com/blogs/wonkblog/wp/2014/08/25/three-quarters-of-whites-dont-have-any-non-white-friends/

<comment><USER2> The conclusion they are drawing from this data is extremely problematic. The actual survey they did ([http://publicreligion.org/site/wp- content/uploads/2014/08/AV...](http://publicreligion.org/site/wp- content/uploads/2014/08/AVS-Topline-FINAL.pdf)) asks people to list up to seven "people with whom you discussed matters important to you". 63% listed four or less people. From that they are extrapolating to the person's entire social network. For all of the four closest relationships, a majority of people listed someone that they are related to. Obviously, that isn't a representative sample of the races in the person's social network, because a person's relatives will usually be the same race as them.

</comment><comment><USER3> Don't see how this is relative to this forum. We should try to keep race + religion out of tech if possible.

<comment><USER4> It's interesting? Not to mention software dev. is probably teeming with similar racial biases.

How many black people you work with? I don't work or have worked with any.

<comment><USER5> I think software dev has interesting cliques. I would imagine most government/security work is white and a rare black due to American citizenship ( this may change over the next two generations depending on various political relationships.).

I have the exact the opposite experience in tech. I can count the whites with my fingers. Granted, blacks appear to be rare as well, but there are plenty of Asian and Indian.

What would be very interesting is to see how this changes over the next few generations. I optimistic, in a south park kind of way, that race will not be an issue in four generations. I guess one could say that would be a pessimistic viewpoint.... I mean it sure is depressing that we can't unify for... I don't space or something more interesting...</comment></comment></comment>


Ask HN:  A Yep-like app for PC? - <AUTHOR>

Does anyone know of an app like Yep for the PC?  http://yepthat.com/yep/index.html
From their site:  "Photos have iPhoto. Music has iTunes. But when it comes to PDFs and other office documents, you're on your own. That is, until now. Now there is Yep and there's no looking back."
I tried Calibre but it didn't cut it and bogged down my system. <comment><USER2> Doesn't iTunes support PDFs as well? I remember seeing [http://lifehacker.com/240447/geek-to-live--organize-your- pdf...](http://lifehacker.com/240447/geek-to-live--organize-your-pdf-library- with-itunes)

As about Zotero, I have mixed emotions as well - it's a nice feeder for Mendeley from firefox. Other than that, not too sure. Also, checkout Mendeley and this <http://lifehacker.com/tag/document-management/>

Hope that helps. Let us know what you learn :-)

<comment><AUTHOR> Thanks for the reply. Lifehacker and my other searching has led me to these options.

<http://www.debenu.com/benubird/overview.html> <http://www.mendeley.com/> <http://sourceforge.net/projects/docfetcher/>

Going to try them out starting with Benubird as it looks like it will address my needs the best. Will report back.

</comment></comment><comment><USER3> I've been using Zotero, though I'm still undecided how much I like it (but I do know know people who love it): <http://www.zotero.org/>

<comment><AUTHOR> I dabbled with Zotero for research purposes awhile back, might have to give the latest version a spin to see if I can bend it to my needs.

I have tons of ebooks, word docs, ppt, PDFs, etc. though, and manually organizing them would probably(definitely) take too much time.

How are you using Zotero?</comment></comment>


Jonny Quest opening title sequence redone as stop motion - <AUTHOR> http://boingboing.net/2011/09/03/jonny-quest-opening-title-sequence-redone-as-stop-motion.html <comment><USER2> "53-year-old man now going on six"

Awesome!</comment>


250k Raspberry Pi Zero W units shipped and more distributors announced - <AUTHOR> https://www.raspberrypi.org/blog/pi-zero-distributors-annoucement/ <comment><USER2> I have one that I am using for pi-hole and another currently not doing anything. Any suggestions from the HN crowd how best to put it to use?</comment>


Steve Jobs's slight of hand - <AUTHOR> http://benlog.com/articles/2010/04/29/the-genius-of-steve-jobs-he-makes-you-want-the-lock-in/

<comment><USER2> Sorry, the pedant in me can't help myself. Sleight.

</comment><comment><USER3> The author seems to neglect the legitimate practical problems of Adobe gaining market power on the iPhone platform.

If Adobe creates a translation layer from flash to cocoa, and developers use it en masse, then an issue within the translation layer becomes far more problematic: instead of rejecting the developer who wrote the bad code, they have to reject a whole host of apps from innocent developers who used an off- the-shelf third-party framework. As the number of these apps increases, the pressure grows on Apple to work around the problem rather than simply force Adobe to behavior properly. Over time these workarounds corrupt the system they're building and set them down the path of Microsoft.

Not that this is an insurmountable concern, but there are practical matters beyond app quality or lock-in.

<comment><USER4> I must disagree. Microsoft did not fail in the same way RIM did not fail because of 3rd party developers. I will use RIM as an example. RIM just now is coming out with a platform to bring blackberry out of the stone-age. Was it the app developers' fault for not writing wonderful BB apps? Or is the platform so shitty nobody wants a BB unless their job gives it to them? We got WebOS, Symbian, Android, Windows 7 they are all coming out as a competitor to iPhone OS and BlackBerry 2.0. RIM is now finally listening to what their clients want because their business is being stolen from right under their feet, and they just realized that. Had they had the attitude of "lets fix the problems our users are complaining about" 3 years ago, the state of everything would be different. Now <http://www.theregister.co.uk/2010/04/29/rim_blackberry_os_6> at the quote in there. Apple is playing catchup slowly to RIM, but that does not matter. Apple has the momentum and is building it, once they implement enough to make enterprises be able to use iphone instead of BB boom rim loses everything, because go up to someone and ask "free blackberry curve, or free iphone (plans included)?" guess the answer.

The point is the same with MS. Until Apple started kicking them in the shin, Windows XP (a piece of shit) was the pinnacle of technology. We see XP NOW as shit, but back in the day I was thinking "wow crashing XP is 100x as hard as BSODing in windows 98, windows xp is awesome!" Remember Windows ME (the unwanted child)?

So Adobe building the "lowest common dinominator" technology for cross platform is BS as well. "features x,y,z are for iphone only until android implements it" which means: a) android better start implementing, b) developers have MOST of their work cut out for them when porting. Maybe take a few different directions when porting to android. It's not like I ever expect to write an iphone app and with no work/testing just port it to android and vuala. And maybe for a developer it means no android app until the feature is implemented. And thus back to (a) which is android now has an incentive for implementing features.

</comment></comment><comment><USER5> "open, copy-and-paste-the-source-code Web that we know and love"

....

Being able to view what is almost always the most trivial layer of a website is not the same as open. Most websites, even those on open platforms, are very much closed.

<comment><USER4> Hold up let me pull up gmail source code so I can learn from it... Oh crap its minified, and packed. My l33t open web h4x0r attempts have been foiled again.

</comment></comment><comment><USER6> I always thought that the dictatorial(1) attitude towards what can go on an iPhone was temporary: long enough for a healthy development ecosystem to establish itself, basically.

Once competitors become credible, and openness becomes a relevant argument for average customers, there's no harm in _also_ allowing cross-platform software that sucks: good software will hopefully already be there, and customers will have been educated to expect a certain level of quality on Apple platforms.

(1) in the antique Roman sense (<http://en.wikipedia.org/wiki/Roman_dictator>)

</comment><comment><USER7> There's a slight misspelling in this headline (and in the article itself).

</comment><comment><USER8> He's insulting hands now? Or are his hands just really small?

</comment><comment><USER9> Remeber Microsoft trying to kill Netscape? We want everything to be open standard, any standards our competitor makes we will embrace and extend.

We all know how that turned out, just because companies dress up their actions in warm and fuzzy PR speak doesn't mean they're not playing for keeps.</comment>


Every nuclear weapon in the US arsenal - <AUTHOR> http://www.ucsusa.org/nuclear-weapons/us-nuclear-arsenal <comment><USER2> Nukes are just like any other weapon system. They need to be maintained. Whether you like it or not the nuclear genie is out of the bottle, and it is far better in this case to be on the side that has them and not needs them than to need them and not have them. Do we need more? Probably not, but we do need to maintain the ones we have, and that usually means building new ones and retiring old ones.

<comment><USER3> Ugh, the website is kind of lazy and buries its own persuasive points into its footnotes.

All the claims about numbers are basically useless because the two most persuasive (and important I feel) arguments that the website is trying to make have nothing to do with numbers at all:

* The first is that the US should change its command and control so that the president will require a declaration of war (ie act of Congress) to trigger a nuclear first strike. Note that this should not interfere with US deterrent vs other nuclear powers, as second strike (ie responding to nukes flying) would not require congressional approval. In fact, the concrete call to action for this site isn't about nuclear arms reduction, its about trying to pass a bill that would require this.

* The second is that current US modernization plans include vastly improving the performance of our current submarine based nukes to the point that they could reliably destroy Russian ICBM silos. This capability combined with weaknesses in Russian early warning and command and control systems increases the likelihood of the Russians devolving ICBM launch authority to lower levels of command during times of increase tension, leading to increased probability of accidental launch.

These two arguments are sound and pretty much orthogonal to size or presence of the American nuclear arsenal. This infographic makes it easy to conflate all of these aspects, thus maximizing the likelihood of someone dismissing these two points.

</comment></comment><comment><USER4> I'm pro nukes and anti more troops

</comment><comment><USER5> More concerned over North Korra launching first</comment>


Online Betting on Horse Racing Still Legal - <AUTHOR> https://www.paulickreport.com/news/ray-s-paddock/waldrop-online-betting-on-horse-racing-still-legal-despite-justice-department-reversal-on-wire-act/ <comment><AUTHOR> Parimutuel wagering (French for "mutual betting") as takes place in horse racing is the fairest form of gambling ever invented because the house takes a cut of all wagers. Players play against each other. The track doesn't care who wins.

It was invented by a Frenchman who got tired of seeing people get cheated by bookies. :-)</comment>


How category theory is applied - <AUTHOR> https://www.johndcook.com/blog/2019/04/29/how-category-theory-is-applied/ <comment><USER2> It is difficult to come up with concrete examples of category theory because it is too high up the abstraction hierarchy. It normally requires stepping through several layers of abstraction to reach something concrete.

Monads are one specific application of category theory.

Of course monads in and of themselves are still very abstract, so we need to drill down to another level of concreteness by taking a look at the "Maybe", "Either", or "IO" monads.

This is still very abstract so we can drill down to another level to "does the data exist", "is there an error", and "how do I handle IO"?

Category theory is a toolbox of mental representations useful for reasoning about a particular problem set (designing formal systems that let you design formal systems). In other words, category theory is an abstract concept for solving a slightly less abstract set of problems.

Asking for concrete examples doesn't really make sense because it is too far up the abstraction hierarchy.

To make the case for the importance of category theory, it is necessary to present the entire abstraction hierarchy across a number of different real world domains. This is not something academia is good at because it tends to isolate and subdivide work into increasingly specialized fields.

</comment><comment><USER3> Gives three examples of bits of mathematics with really strong concrete uses.

Then says that category theory "does not itself solve hard problems in topology or algebra. It clears away tangled multitudes of individually trivial problems. It puts the hard problems in clear relief and makes their solution possible.".

And doesn't give any examples.

Still sounds useless to me.

<comment><USER4> I agree, the article does not actually present anything concrete. For me, the usefulness of category theory is in providing a simplifying and high level set of abstractions that can serve to illuminate the structural essence of a problem domain. At first, I thought it was just abstract nonsense (and this is coming from someone who has a PhD in mathematics), but after playing around with it a bit, I've started to appreciate the power of the concepts.

The most interesting "application" of category theory that I've seen (as it relates to software engineering) is the connection between databases and category theory, e.g at [https://johncarlosbaez.wordpress.com/2018/06/06/applied- cate...](https://johncarlosbaez.wordpress.com/2018/06/06/applied-category- theory-course-databases/). In short, relational schemas are categories, and common data migration operations can very naturally can be described in the language of category theory (functors, pullbacks etc).

<comment><USER3> > The most interesting "application" of category theory that I've seen (as it > relates to software engineering) is the connection between databases and > category theory

So is this application _productive_? It's nice to be able to describe something that already exists in terms of category theory, and even nicer if those descriptions are concise and satisfying. But does that description enable anything new? Did we get any new migration operations, normal forms, etc?

<comment><USER5> Yes, for example the dual of join (called 'sigma'), which only exists for databases in categorical normal form. There are many academic papers and an open-source project ('categorical query language') here: [http://www.categoricaldata.net](http://www.categoricaldata.net).

<comment><USER3> Sounds interesting! I had a look, but couldn't find out what sigma does. This is not quite the same level as, say, the PostgreSQL documentation:

[http://www.categoricaldata.net/help/instancesigma.html](http://www.categoricaldata.net/help/instancesigma.html)

Is there somewhere i can go for a worked example of using sigma?

<comment><USER5> Sure, here is an example that uses sigma to compute an equivalence relation:

[http://cql.conexus.ai/quotient.php](http://cql.conexus.ai/quotient.php)

</comment></comment></comment></comment></comment></comment><comment><USER6> Very interesting. Somewhat ironically, I think I would understand the article better with some examples of actual transformations/applications of category theory in original problem domains.

<comment><USER7> Category theory basically reshaped the language (and methodology, in some sense) of large swaths of modern mathematics. So it s applied more like the set theory, as a foundation. But it's hard to explain to people not steeped in the subject.

<comment><USER8> Although, to play devil's advocate, you can prove results with set theory that you'd care about even if you weren't super interested in foundations, usually by playing with different cardinalities. E.g.:

Call a real number "algebraic" if it's a zero to some polynomial with rational coefficients. (e.g. \sqrt{2} is algebraic since it's a zero for x^2 - 2). Claim: There exist non-algebraic ("transcendental") numbers. Proof: There are only countably many polynomials, and so there are only countably many algebraic numbers, but there are uncountably many reals. Similarly, there are numbers that aren't Turning-computable. Etc.

<comment><USER7> If you write out your statements encoded in say ZFC no one would recognize what you are saying. Sometimes the concept of sets and set relationships fit our needs exactly. Other times we build more user friendly concepts on top of set theory like an API. Categorial constructions are also everywhere whether one recognizes them or not.

</comment></comment></comment></comment><comment><USER9> "but it's not often applied so directly"

I beg to differ. While quantum mechanics is linear algebra with a lot of tensor structure. The language of deep learning is linear algebra (plus non- linearities). Often in machine learning one use lin alg pretty much directly: linear regression, SVD, etc.

</comment><comment><USER10> post-hoc</comment>


We Tried Slack and Regretted It - <AUTHOR> http://blog.freecodecamp.com/2015/06/so-yeah-we-tried-slack-and-we-deeply-regretted-it.html <comment><USER3> It's pretty clear that Slack is not, and never will be, built for this use- case. Slack is for _teams_ : small groups where everyone knows one-another by name, can be trusted with one-another's email-addresses and other contact information, can be trusted to only use @everyone triggers for important things, etc. A lot of Slack's features are built to assume this "small group with a shared purpose where everyone can be trusted to fiddle with things" paradigm.

Slack can _handle_ "communities"—effectively groups with a "team"-sized aristocracy and a bunch of rarely-visiting people who mainly interact in a hub-and-spoke fashion with the team. But it's still not built for that.

Slack is emphatically not for _societies_ : groups big enough that people only know a small percentage of others, groups that must create "laws" to prevent random strangers abusing your shared infrastructure, etc.

In fact, very few pieces of software are designed to cope with use by societies. Maybe Usenet (as a whole), IRC (an entire server, not a single channel), and Reddit (the code-base, run on your own server) are for societies.

If I were to come up with a way to host a chat adjacent to a MOOC, though, I'd still probably use Slack; I'd just have _one Slack team for each instance of each course_. (The one thing I _do_ think Slack is missing, is a way to easily share your "Slack identity" (username, avatar, client display prefs, etc.) between multiple Slack teams you're concurrently logged into. Then you could be in two "classes" and be sure the same person is the same person in both; or Slack could even consolidate their Direct Message threads into a single one shared between both teams.)

<comment><USER4> I authored this blog post. There is a lot of merit to your criticisms of my decision making.

I want to point out that communities are increasingly using Slack, and many of them are also in the thousands of users. Slack does nothing to discourage this, aside from posting warnings about archiving messages.

The real problem is that they have an undocumented user limit. Like I said, I'm pretty sure we're the first community to hit this limit.

Big online courses, for example, routinely draw 100,000s of students, and might make the same mistake we did (Harvard's CS50 class did).

Slack may be able to fix its sluggishness for these other communities, and someone might build integrations that routinely export then delete messages so as to stay below the 10,000 message limit and remove the warnings. But it's too late for us. We can't pause our community growth while we wait for Slack to engineer around their undisclosed user limit. So we have no alternative but to switch.

The main reason I wrote this post is to provide a cautionary tale to other open-membership organizations who are considering using Slack. Slack doesn't seem to be intended to do this! Please don't do this!

<comment><USER5> > So we have no alternative but to switch.

It seems unlikely that all 5000 people are actively using their Slack account - if you started automatically deactivating accounts that haven't logged in after 3+ months (a pretty easy Cronjob using the API), you would most likely stay well south of the limits. You can always Email people with something to the effect of, "Hey! We've turned off your account, if you visit the site again, we'll turn it back on, no big deal".

<comment><USER6> Yeah, but at the current growth rate, they would've easily hit 9000 active (logged in within 3 months) in less than a month

</comment></comment></comment></comment><comment><USER7> _" The only way to make this go away is to pay slack's cheapest plan, which is $5 per user, per month. That's $5 x 12 months x 8,462 campers = $507,720 per year, just for our current campers. Until then, Slack aggressively archived messages, sometimes only minutes after they were sent."_

Do people really expect to receive full service and support for 8462 users for free? How can a company like Slack survive if it gives away resources like this? Usually, "freemium" services are offered so that users can try out the service without having to pay for it, but if you expect unlimited support for 8462 users, it makes sense to have to pay.

<comment><USER8> Doesn't any IRC server ever do this? I mean 8500 users... isn't actually that much. Even if the free IRC servers don't support this amount of users, you could just set up a reasonably cheap server (for way less than half a million (!) a year) to do exactly the same thing.

And that's just the thing. Most people will see Slack as IRC chat, but a bit better. And nobody will consider IRC chat worth $5 / user / month. Doubly so if your chat channel is open for everyone and you don't know who your users are.

<comment><USER9> Slack is a _lot_ better than IRC when used as intended.

Also, my favourite IRC client (IRCCloud) is, in fact, $5/user/month, and I know I'm not even close to their only paying customer.

I recognise you're engaging in hyperbole when you say "nobody will consider IRC chat worth $5 / user / month", but when you're saying stuff which is so blatantly wrong (and trivially disproven), it undermines your entire argument.

<comment><USER10> $5/mo for an IRC client? That's just silly.

Geek cultured called -- they want their technology back. Apparently startup culture has corrupted our industry to a degree that people think $5/mo for a hosted IRC client is a fair exchange of value.

<comment><USER7> The market determines prices based on what people are willing to pay. Apparently the companies who are paying Slack $5/month think it's a good value, since they've chosen Slack over all the alternatives. They may even buy it for purely intangible reasons, like their employees enjoy using it and thus communicate more effectively.

If you think you can offer the same services that Slack does for $1 a month, maybe you have an opportunity to start a business that successfully competes with them.

You talk about a "fair exchange of value". Is it fair for Apple to charge you a 50% markup on an iPhone? Is it fair for Starbucks to charge $4 for a latte? Do you know of any for-profit business that sets its prices based on an abstract notion of fairness rather than supply and demand? If your company was fortunate enough to make a 50% profit next year, would you offer to return some of it to your customers?

</comment></comment></comment></comment></comment><comment><USER11> Here's the problem I have with this:

1\. You have an organization (can't tell if for profit or non-for-profit) that explicitly states that it helps people "become a Software Engineer".

2\. Yet, one of the organizers of the company (?) states _" we blithely shepherded 300 to 500 new campers into our Slack every day, hopeful that this messaging company, now worth $2.8 billion, would hire more engineers to flog their LAMP stack application into shape."_

Thanks for this...you're now creating a culture of developers who "blithely" makes architectural decisions with little proper thought and publicly trash technology choices (in this case, LAMP).

EDIT: Upon further review it looks like the person in question has a bit of an agenda...

[http://www.quora.com/What-are-the-pros-and-cons-of-MEAN- java...](http://www.quora.com/What-are-the-pros-and-cons-of-MEAN-javascript- stack-vs-LAMP-stack/answer/Quincy-Larson?share=1)

[http://www.quora.com/Having-built-web-stuff-the-old-way- PHP-...](http://www.quora.com/Having-built-web-stuff-the-old-way-PHP-MySQL- back-in-the-day-and-wanting-to-build-a-new-account-based-web-site-app-that- can-handle-scaling-Whats-the-best-tech-approach-these-days/answer/Quincy- Larson?share=1)

I appreciate that people are stepping up to the plate and getting more people involved in coding, but this is seriously dogmatic and potentially harmful.

<comment><USER12> They even explicitly list the fact that Gitter uses Node.js as one of the advantage of them. I really hope they aren't teaching their students to pick third-party SaaS offerings based on whether or not they like the same tech as you do.

<comment><USER9> I saw that too, and I had to laugh. I like node.js, I use node.js, I've shipped large projects with node.js as part of the stack, and I'll very likely select node.js for elements of future projects. But...

...someone has been drinking way way waaaay too much of the koolaid. All it was missing was the phrase "web scale".

Edit: Heh. [http://www.quora.com/What-is-the-tech-stack-behind- Slack/ans...](http://www.quora.com/What-is-the-tech-stack-behind- Slack/answer/Quincy-Larson)

<comment><USER13> Wow.And here I've been starting to get worried about future employment prospects if I keep accepting LAMP+jQuery jobs. Reminds me of [this tweet]([https://twitter.com/agentdero/status/174965036928868352](https://twitter.com/agentdero/status/174965036928868352))

</comment></comment></comment></comment><comment><USER14> I think you should have ran the math before switching to Slack.

A max limit of 10,000 messages history for your 8,500 free users, premium cost at $60/user/year.

An engineer designs a product for the specifications she/he is given. Slack's engineers were given the specs above and obviously designed and optimized their product for much smaller teams than yours.

<comment><USER15> They do mention in the write-up that, "We also held our breaths as we waited for Slacks' teased support for large open source communities like ours." and show the FAQ addressing their use case - [https://www.evernote.com/l/AHQa0WlJiC9IRZyu8Us7Xm3xOAD31_cX8...](https://www.evernote.com/l/AHQa0WlJiC9IRZyu8Us7Xm3xOAD31_cX8RAB/image.png)

<comment><USER16> Where did Slack tease support for open source communities with thousands of members? Because seeing that FAQ makes me think "oh, hey, cool, potentially cheaper plans for open source teams", not "move a GIANT group over in anticipation".

I agree though, Slack probably could have communicated that a bit better, at least if they contacted Slack beforehand. Even if the answer had been "We actually have no clue what happens if you try to join 10k people.", the problems certainly sound like that's the case.

</comment></comment></comment><comment><USER17> A perfect illustration of the "entitled developer complex". Failure to properly research Slack, a bad use-case, complain about pricing, then publicly bash.

I've seen this repeatedly with my own startup ([https://commando.io](https://commando.io)), and honestly this user profile is the worst. They won't pay, or will pay very little, and expect the most. They complain about the underlying codebase and stack (PHP), and fail to solve actual problems. They get stuck on details that don't matter.

<comment><USER18> I'd argue that "unlimited users" not really being unlimited is a pretty big detail that matters.

</comment></comment><comment><USER19> Wow, this should be a textbook example of how _not_ to make a decision. Zero forethought of future needs? Check. Picking a solution not designed for the problem? Check. Complaining that something that wasn't designed to do x isn't doing x? Check.

</comment><comment><USER20> What a hyperbolic post. There is no reason to put a company on blast like this. There is a real team of people likely working exceptionally hard to operate Slack. You could have just written a post extolling the benefits of Gitter, and gone about your day of adding more campers to your project. I'm guessing Slack didn't beg for your business or community endorsements.

<comment><USER21> Slack is a 2.8B dollar company and not a small scrappy startup anymore. They can handle all the hate in the world and should not get a pass for sleazy behavior (the same is true for Microsoft, Google or Exxon). Not putting max number of users on website or in documentation is not fair to customers.

<comment><USER22> Did you consider the possibility that it's a technical limit that they didn't even anticipate ever hitting in real life, because Slack is for _small teams_?

Let's be fair here: the 10k visible messages limit means that Slack is basically _unusable_ when you hit the user limit, as this post also says (messages archived within minutes of appearing). The pricing is clearly insane with this amount of users too.

</comment></comment></comment><comment><USER23> Why not just use IRC? Is it not made for the sole purpose of having lots of users talk with each other.

<comment><USER24> I agree that IRC would have been a good fit, and with modern IRC clients like LimeChat and Slate, it's not the "legacy" experience a lot of people remember. IRC also would solve all of the problems this guy faced:

* Free. You can hop onto an existing tech-focused server like Freenode, or if you want your own control, throw it on your own server(s) for pennies. If you do the latter, you have full control over all logging.

* Logging. Every client can choose what they want to log, what format the logs are in, where the logs live, etc. No more archived messages. Some IRC clients are smart enough to pull from the log to "back-fill" the messages.

* Modern Clients. Like a said above, LimeChat is a really nice IRC client. It doesn't have _all_ the features of Slack, but do you really need _all_ the features of slack?

* Bot Surplus. There are hundreds of bots written for IRC, in nearly every conceivable language. This was the first "integration" anyone ever used for chatting, and can integrate with anything if you put the time in. You don't get it for free, but for a community focused on programming, that's not the worst thing.

<comment><USER25> The slow demise of IRC is sad. Clients like WeeChat excel on the text side of things, but where's the knockout web, desktop and mobile client? Something with the UI of Gitter would go far.

I always feel like IRC is a few protocol extensions and a few clients away from being relevant again.

 _/ me goes back to Freenode_

<comment><USER26> I'm happy IRC is dying, because it's a giant attack surface. As a hosting provider sysadmin, dealing with IRC servers was among the absolute worst parts of my job -- mitigating DDoS attacks against them, extensive hacking attempts directed at their infrastructure and later, _mine_ , when they couldn't get in, credit card fraud associated with the accounts, IRC networks designed specifically for command and control of botnets and trafficking in child pornography, FBI raids against said networks we hadn't yet discovered...

There are exceptions, like OFTC, but merely waltzing into the wrong place on EFnet these days is enough to get 10+ Gbit of UDP traffic directed at your IP address. I used to be fairly okay bouncing on a vhost, but now even the 12-year-olds have enough traffic to knock over a 40 Gbit port channel. An increasing number of datacenters are just filtering 6667. I'm on board with that.

Seriously, let IRC relegate itself to the dark corners of the Internet on shitty hosts and stay there, IMO.

<comment><USER27> From my experience I haven't seen anything like this in the last few years. Botnets are controlled primarily from C&C web services or other SSL/TLS (+encrypted messages) transport via web.

The brute force ddos attacks I've seen are on illegal private server emulators and Minecraft et al. Maybe this is just a completely different experience by being in differnt part of internet.

</comment></comment></comment></comment></comment><comment><USER28> I'm very disappointed with the level of comments here - the emotional attachment to Slack is just not neccessary; same for the ad hominem comments. For sure they have a great tool that I love and use but they have been slow to act upon the fact that _many_ communities are using their free option with huge numbers. Rightly or wrongly.

Slack just simply need to decide whether they are supporting this model or are happy to hand it over to Gitter to deal with. I suspect Gitter will be more than happy.

Personally I think they could offer a fixed fee for public rooms. But hey that's up to them, it's their business model to decide.

I think the problem is just the lack of clarity about how they are going to manage what they definitely know is going on (I have asked).

<comment><USER29> I think now it is time for Slack to make a "paradigm shift". It seems Slack, like GitHub, is filling a place that was reserved to free open source offerings in the past (e-mail, IRC, newsgroups, etc) so they need to expand their freemium features.

</comment></comment><comment><USER30> Personally we use slack at work and it's a terrible product. Yes it's nice that we can see pictures and gifs inline with the text but the client is not great. The mobile client is even worse. The bloody thing just doesn't work. I'll get a message via the desktop app and 10-15 minutes later get the push notification on my phone. Then I can only see some of the push notification on my phone and when I go to click the notification to read it. The entire channel or DM it came from is not up to date. So if I do have service which I may not have I have to then wait for the messages to download and for it to reconcile what has been read.

Any irc or xmpp clients do not have these issues. products like Whatsapp and telegram don't have these issues.

</comment><comment><USER31> Two things.

1\. The decision making process here was unsound. You need to follow the one, some, all approach of rolling out changes. Jumping in on multiple thousands of users was irresponsible.

2\. Slack should provide some guidance earlier in the process about user limits. They are known for their friendly UI/UX. An email to the admin saying: "Hey, we've noticed you reached 50% of our maximum users for your instance, are you sure you are on the right path?" would have gone a long way.

<comment><USER32> > 1\. The decision making process here was unsound. You need to follow the > one, some, all approach of rolling out changes. Jumping in on multiple > thousands of users was irresponsible.

To be fair, it does seem here like the failure mode wouldn't have been reached until they moved all of their users over.

</comment></comment><comment><USER4> Look what I found: Slack's free tier pricing page explicitly states "There's no limit on how many people you can add to your team on Slack." [https://twitter.com/FreeCodeCamp/status/612758062214950912](https://twitter.com/FreeCodeCamp/status/612758062214950912)

<comment><USER33> With many freemium services capping free accounts at single-digit numbers of users, "no limit" is a reasonable way to let people know that they can stop looking for the catch. It would be more confusing if they said "up to 5,000" users, which sends the wrong message about who their service is targeting.

Everyone understands that "unlimited breadsticks" implicitly means "lots and lots but not infinitely many"

<comment><USER34> That's a crock. Please show me one other service that explicitly states "no limit" that actually has a hidden limit. The 10,000 message search limit makes it mostly unusable for groups in the 100s or even 10s so why even enforce the user limit?

<comment><USER35> Every shared web hosting company out there. Just giving you an example. They have been doing this for 10+ years.

<comment><USER34> Can you point to one and explain the discrepancy?

<comment><USER35> Sure...

www.hostgator.com - unlimited disk and bandwidth. Never truly unlimited.

They limit the types of content you can host (no media sites), they set inode limits ([http://support.hostgator.com/articles/pre-sales- policies/rul...](http://support.hostgator.com/articles/pre-sales- policies/rules-terms-of-service/inode-limits)), they will suspend you if you use too much server resources. Pretty much anything to keep you from using "unlimited" resources.

There are a ton of other examples. I would check out www.webhostingtalk.com if you want to see all the issues with these type of hosts.

<comment><USER34> They do explain that other limits make it essentially impossible to actually utilize "unlimited disk/bandwidth". And they don't mention unlimited on the home page. But fair enough, you found one.

</comment></comment></comment></comment></comment></comment></comment><comment><USER36> It sounds like they didn't do any research into what Slack's limitations are.

Also, frankly, if I were Slack I would not invest in supporting this use case at all. Massive free chat rooms are not a profitable space to be in.

<comment><USER37> It depends on the community. For this one, it's a bunch of folks learning to code and getting coding jobs; I can imagine many of those ending up working at tech companies who might be great Slack customers, and evangelising because they had such a great experience using it - so the investment of supporting a 'free' chat room could pay off over time.

<comment><USER38> I don't know if that makes long-term sense.

The OP sounds very entitled: "We'd endorsed Slack to thousands of people on our Twitch.tv streams, and even mentioned it in interviews with the media."

Of course Slack must provide them with free chat rooms in perpetuity, they've even been mentioned in interviews!

It's probably better to be rid of "customers" like this sooner rather than later.

<comment><USER39> I really don't think Slack cares about one customer mentioning them in interviews. Especially a freeloading customer. Why not simply have each user pay their own $5 per month?

</comment></comment></comment></comment><comment><USER40> I love reading stories like this. While it could have been worded better, it's important to share information about migration failures, so that other people can learn from them. When done right, it's called a postmortem. We need more of them.

I also think it's proper to point out that bandwagon effects played a role. Marketing shouldn't be used an excuse to skip due diligence, but in practice, it's often a factor in bad decisions.

</comment><comment><USER41> You can't really use a product outside of it's use case, then complain about it when you reach "outside" it's walls.. I mean you can complain all you want about it, but don't blame it on the product itself. The manual invitation form is clearly designed to discourage mass open ended invitations. A product designed for teams with 500-1000 users in mind, is probably going to get bogged down by 10,000+ users.

</comment><comment><USER42> Every chat system since IRC has been worse than IRC. Without fail. Just use IRC, people, stop chasing shiny things.

<comment><USER43> I'm afraid not. eg for me the 3 killer features on hipchat have been (a) Ability to scroll back and see what happened when I was offline (b) Ability to post pictures/files (c) search.

Now all 3 of these could be implemented on a ICR server client. But they are not simple, not supported with all clients and not something that your marketing guy can easily use.

With hipchat/slack/etc they are all out of the box on minute-one and easy to use.

<comment><USER44> (a) Use screen or tmux. Log.

(b) Post links. Everyone in IRC has been doing this for 30 years. Works fine.

(c) Have your client log, or have a bot log to something with HTTP access. You can then use grep or a fancy web app or anything in between to search.

I'm with the parent. Scalable chat is a solved problem; it was solved in the open, via open source and open networks, over 20 years ago. Everything since has been focused not on the technical problems of chat but on the business problem of making money from chat. The fact that someone out there wants to make money on chat does not mean you need to give them money to solve your chat problems. Paying for things of value is fine, but in this case you simply don't need to. Sometimes the best things really are free.

<comment><USER45> > (a) Use screen or tmux. Log.

This is not something "your marketer guy can easily use". And even for techies it has issues like lack of notifications (fixable), lack of non-suck mobile support, and, extremely important for me even if apparently not for some, typing latency (mosh is a partial solution but not good enough for me).

There are a few applications that use a daemon running a custom protocol to fix the scrollback issue: Quassel, Smuxi, weechat remotes, others. This is a decent approach in general, and the one that I use (weechat + Glowing Bear), but I haven't found any such applications with good mobile support or which are very high quality in general.

Maybe IRCCloud is the answer - has a spiffy web client and iOS and Android apps. It's a hosted service and non-free so I am not willing to use it myself, but most people don't care that much about such things, and it's not like Slack is any better on that front.

</comment></comment></comment></comment><comment><USER46> This was actually a really entertaining telling of a boring old story about capitalist competition. Act I: We tried A, then we outgrew it. Someone said B was better. Act II: We tried B, then we outgrew it. Act III: By this time A had caught up to our needs, so we went back to A. End Credits

</comment><comment><USER47> Yeah dude, wtf, 5000 users and you think you can get away for free?

<comment><USER48> OK, but if Slack has a user limit there's no reason it should be secret.

<comment><USER49> I'd guess it's not so much "a secret" rather than a natural limitation or just a "put a big number there that should be enough for everybody" (until it isn't)

<comment><USER48> Maybe it isn't intentionally a secret, but it should be documented. If you take the time to code a hard user limit (with its own API exception code, etc), you can take the time to mention it in the docs.

</comment></comment></comment></comment><comment><USER50> This title is extremely misleading and should read "We Switched Our 8,000 Campers to Free Slack and Regretted It".

Even in a tiny organization (like <50 people) that starts using Slack, the plan would be to switch to eventually paying for it or look very hard at the limitations. Who builds a freemium service tier into their stack without looking at the limits!

It's not like slack is ad-supported, free is not its basic model.

</comment><comment><USER51> Drama Queen post of the year, good lord. Why don't you try figuring out what parameters the software you're using is designed to operate in before throwing such a public shit fit?

</comment><comment><USER52> I find it super weird that new chat and messaging applications keep finding popularity.

It seems like most of the features could be had by using a sufficiently featurefull IRC and email client.

hmm. That could be an interesting project. Implement a social network using nntp, using public-key cryptography (with tight integration in the client) for access control. But seriously, I can see how some features of social networks would be hard to implement with nntp and clients... but I'm kind of missing out on why most of the newer chat networks are better than IRC.

</comment><comment><USER53> I've had the pleasure of dealing with the Gitter team, and they are an awesomely talented bunch of devs.

</comment><comment><USER54> I've always wondered why Slack gets so much love from engineers! It's noisy, it's expensive, and did I mention "noisy". It started as a copycat and didn't do much beyond that. The only thing I'm thankful to Slack about is that it's pushing HipChat to innovate. Finally we got multi-account support in there! Yes, I openly do like HipChat better - it's free, it's less noisy, it's coming from Atlassian, it integrates nicely into the Atlassian ecosystem, but there are alternatives like the open-source Rocket Chat [0] and Let's Chat [1], but Gitter is [2] is the best of those (like most of us) who use GitHub most of the day. Not sure why it doesn't get the love it deserves (but Gitter is expensive as well)!

[0] [https://sdelements.github.io/lets- chat/](https://sdelements.github.io/lets-chat/)

[1] [http://rocket.chat/](http://rocket.chat/)

[2] [https://gitter.im/](https://gitter.im/)

<comment><USER9> Having used HipChat and Slack, I prefer Slack as a _much_ better designed product. It's more stable, less buggy, and has more features.

> did I mention "noisy"

You did, but I have no idea what you mean.

> it's coming from Atlassian

One more reason to prefer Slack. I've had a lot of experience with Atlassian tools, and it's almost all been negative. Everything about Atlassian is slow: Their products, their support, and the pace of development. Submitting a bug report to Atlassian is an exercise in futility; if it's critical and affects hundreds of people, you MIGHT get reply within 2 years; you certainly won't get a fix that quickly.

One bug I hit was opened in 2007, got an official response saying "maybe we could look into trying to fix that" in 2009, was officially added to their backlog to fix in 2010, and was announced as officially fixed in 2011. Spoiler: It wasn't fixed, and for all I know, it's still broken.

The worst thing to happen to Hipchat was being purchased by Atlassian; it's when they stopped innovating and started stagnating.

<comment><USER54> People use JIRA and Confluence, because they are fully-featured, and complicated. It's easier to created a dumbed-down faster tool. Plus, they've been around for years. I'm sure one day they will rewrite them from scratch, but HipChat is not slow at all.

</comment></comment></comment><comment><USER55> Using Slack for communities and groups of people who don't know each other is incredibly clunky. It still feels like trying to fit a square peg in a round hole.

Slack is made for teams who communicate furiously. Large communities are typically more passive and casual.

</comment><comment><USER56> We have adopted Slack recently with a small 12 person (and everyone knows everyone) team and it works great. It really brings down distraction of people coming over to ask questions, they can just ask the question of a group and get it resolved by someone. We have Lync as a company wide (1000s) community messenger but for small teams this works great for collaboration of small groups. I am actually shocked that Microsoft doesn't have a solution like Slack built into Lync (Skype for Business now.) I mean it's possible they could buy Slack...but anyhow Slack is made for smaller teams. If you want a community use IRC (non-corporate), Skype or Google (corporate), etc.

<comment><USER57> Seconded. I've used Slack at two companies, both with a small, single-purpose team (< 10 people). In each case I and the other users were quite happy with the features available, and the overall design of the app. It isn't for everyone, but I whole-heartedly advocate teams examine Slack for their communication needs.

</comment></comment><comment><USER58> " _No way were we going to spread our community across a bunch of disparate Slack instances. The entire point of a chat room app is convenient real time conversation._ "

5000 users, plus 300-500 new users per day. In a chat.

Convenient real time communication, that is not.

</comment><comment><USER59> Been using Circuit [1] for a while and have to say I've been impressed, if the people over at Free Code Camp are reading this. The document sharing and solidly built iOS app sold me on it. Switching teams on the iOS app for Circuit vs Slack was far faster too which I always found frustrating on the Slack app. Document searching was really well built on Circuit too.

[1] [https://www.yourcircuit.com/](https://www.yourcircuit.com/)

</comment><comment><USER60> I really like Slack. Where I work each team has its own Slack chat with various channels. I work in IT, our more general team is about 30 people and my more focused team is 7 people. We have specific channels for each focus group, and then a general channel for the entire team.

Since we've used Slack I feel more up to date and more in the know because I can keep up with what everyone is talking about. I have keywords that give me an alert when someone mentions my name or specific things in which I specialize. I've been able to quickly offer help to those who might not have immediately thought to bring their issue directly to me as a result, and have had the same happen in regard to problems I bring up in channel. It reminds me very much of hanging out on IRC when I was a teenager, but an IRC built for business.

Sharing files, code, screencaptures, etc is easy and intuitive. The integrations are useful: GitHub, Zoom video conferencing, Dropbox - <USER2> these items easily available only make Slack blend more seamlessly into my day.

I like Slack, and reading this blog post I couldn't help but feel this was more a mismatch for the author's use-case than a problem with the application.

</comment><comment><USER61> BabelJS support chat that used gitter moved to slack, Reactiflux a React community uses slack. If think there is a real opportunity for slack to do like reddit with their subs for opensource software, they could monetize it with jobs offers. But for now if slack is more slick and fast than gitter we loose google searching, history.

</comment><comment><USER62> What did you expect? You can't expect to hit such a ridiculously large number and not pay anything.

<comment><USER16> You can have thousands of users working together on other platforms for free (e.g. Github) and Slack clearly advertises "$0 - no limits on time or users".

It still would be a very good idea to contact them before and ask "We're considering moving a few thousand users to your free plan. You sure you mean what you write there?", but they are sort-of saying that it is ok to do. (EDIT: especially since they say that the intend for that offer is for small teams)

<comment><USER62> So I go to an all you can eat buffet, and stuff my face until I literally burst. "Hey it was written there clear as day!"

<comment><USER16> Yes, that is the idea behind an all-you-can-eat buffet.

And I don't complain about restaurants that don't offer them anymore or are not putting out unlimited amounts of expensive food (just like I can totally understand Slack not spending much effort to support these guys), but in the same way a restaurant offering them made the choice to do so and has to live with people stuffing their face.

To stay with the restaurant examples, for me OPs situation is more like they turned with a large wedding party to a pub and are now surprised not everybody gets a place at the bar and people have to wait for their beers.

</comment></comment></comment></comment><comment><USER63> Their first clue that maybe this was an issue is they had to hack an undocumented API to even get people onto the system. Slack is going to need to do something about this because they're increasingly being used for communities of strangers around a common interest.

Despite Slack doing everything they can to discourage this use case, there's a clear need there which Slack is filling. I'm currently part of 3 separate slack groups where this is the case. Either a "Slack for communities" forms to absorb that niche or Slack needs to start thinking of a service offering for these communities because they aren't going to go away and they're going to complain as vocally as free code camp when they don't get their way.

</comment><comment><USER64> I kind of think that Gitter is a joke and I'm not convinced they can do better than Slack. I mean their Android app has the balls to ask you to write your GitHub credentials.

Maybe Asana/plain IRC is a better solution.

</comment><comment><USER65> Why not use IRC or some form of XMPP? Heck, just make a channel on Freenode and call it a day. Want integrations? Everything works with IRC already (maybe not all the one-click integrations).

</comment><comment><USER66> Site does not resolve for me, here is the google cache link:

[http://webcache.googleusercontent.com/search?q=cache:94NVni1...](http://webcache.googleusercontent.com/search?q=cache:94NVni1b_A4J:blog.freecodecamp.com/2015/06/so- yeah-we-tried-slack-and-we-deeply-regretted-it.html+&cd=1&hl=en&ct=clnk&gl=us)

</comment><comment><USER67> I am guessing there will be a post slamming blogger soon since that is the only page that is currently working.

</comment><comment><USER68> The one thing that has me mostly abandoning Gitter is that switching channels is incredibly slow on the browser.

If Gitter had a standalone client, I'd be willing to give it another shot, but until then, I'm a proponent of using IRC & Slack.

<comment><USER69> Gitter does have standalone clients: [https://gitter.im/apps](https://gitter.im/apps)

<comment><USER9> In my experience they're no better than the web view.

</comment></comment></comment><comment><USER70> It does seem to be a bad fit. That's too bad for them, I really enjoy using Slack.

</comment><comment><USER71> After reading this I have but one request; please stop teaching people to code.

Your solution to a problem you have with some software is to suggest they simple throw engineers at it is sadly pathetic.

</comment><comment> a-dub I really wonder what the din of an 8500 person chatroom would be like...

</comment><comment><USER72> This is what IRC if for numb nuts.

</comment><comment><USER73> Jesus, what a mess. Sounds like someone made a decision without doing even a modicum of research into pricing. Bowing to peer pressure just means someone is managing by consensus.

<comment><USER74> Hard to really fault him since he ran into an undisclosed max user limit, no?

<comment><USER75> No, slack free plan only allows 10000 messages to be saved at any one time. Nothing to do with user limit.

Unbelievable that a service like this would change the key part of their platform without even checking the pricing page to see what free plan restrictions were...

[https://slack.com/pricing](https://slack.com/pricing)

EDIT: I stopped reading after the first paragraph, looks like there was a user limit issue too :)

<comment><USER48> Except if you read the whole post, he ran into a previously undisclosed explicit user limit. The client was crashing. Slack ideally should warn you if you have too many users, before the point where the client crashes and the backend fails to send messages.

<comment><USER39> But who runs a chat with 5000+ users? The signal to noise would be insane. If each user posted 1 message per hour, that's 5000 messages per hour. For a group that size it seems like Twitter makes more sense. I can't imagine 5000 people needing real time communication. Kind of the mother of all edge cases for a team chat service.

<comment><USER16> I don't think they are talking about 5000 users chatting in one chat room, but about 5000+ users having a common place to talk to others in small groups and maybe read announcements in a main channel.

My university uses Slack, and the "main" rooms see a few posts a day, but there are tons of small groupchats and DMs.

</comment></comment></comment></comment></comment></comment><comment><USER76> Slack's "sticker shock" is pretty big. I'm not sure if it's autodetecting and giving me Australian dollars in it's pricing, but in the first paid band it's showing me $6.67/user/mo for annual (who knows how many users a small team will have in a year?) or $8/user/mo for month-to-month (the usual pricing). $8/user/month for chat. And it's double that to get business-level SLAs. With 25 users in the account, including external teams and contractors, that would mean we're paying $200/month ($400 for business SLAs). Per month. For _chat_. Crazy.

And slackbot keeps on claiming any "thank you" that someone says, even if specified @someone, the greedy little bugger.

</comment><comment><USER77> Does Slack really use LAMP?

<comment><USER78> Why are you surprised? LAMP stack, only at this scale is not a bottleneck. Who knows, maybe they are not even using HHVM, yet. I would be blaming actual code, not the stack for the current trouble.

P.S. LAMP != shitty developers automatically

<comment><USER77> I was merely asking a question, not referring to the obvious downsides of LAMP.

However Slack seems to be really unstable for being an enterprise product. Communication is a backbone of any business and should therefor be rock-solid. 5000 user maximum? Seriously?

<comment><USER79> Given their pricing model i don't think they expected anyone to try to have 5000 users...

</comment></comment></comment></comment><comment><USER80> WTF is Slack???

<comment><USER7> [https://en.wikipedia.org/wiki/Slack_%28software%29](https://en.wikipedia.org/wiki/Slack_%28software%29)

</comment></comment><comment><USER81> Is the author paying for this service? If so - oh boy. Slack should have been more closely monitoring clients this big to ensure they don't reach self- imposed limits. That's just, heh, slack.

</comment><comment><USER82> OK sure, I get that Slack wants to make money and doesn't want too many 'free' users. The restrictions themselves are acceptable to me.

However, their platform seems super brittle and janky if it can't handle the users in the first place. Seriously? 5000 users, 10,000 messages is a "Use Case" now? Sending out emails without fucking up needs "engineering"? Um. OK. Personally, I would be embarrassed if I put my name on a product that couldn't handle such an extremely light load for a platform that basically transmits text.

<comment><USER83> Have you ever thought that they put those limits in there precisely so that situations totally inappropriate for slack don't occur?

I love how programmers are always "embarrassed" about the limitations of billion dollar companies, have you ever though that these limitations might be vital to their success?

<comment><USER44> It's difficult to argue that the limit is essential to their success if only a single user has ever hit it, and that only recently. Of course, we don't know that's the case.

There's nothing wrong with limits. Every piece of software has them, and even learning what they are is a major step. Known or explicit limits should be documented, however. It seems that in this case they were not. That's an error on Slack's part.</comment></comment></comment>