Slack Chats - <AUTHOR> http://www.slackchats.com/

<comment><USER2> Right now, the top post is about how FoundationDB got acquired and promptly taken out of circulation.

This is currently 2nd, and is written with the idea of helping people form communities on top of a proprietary system.

Slack seems like it might be a good thing for companies, but for public stuff, I'll continue to stick with IRC.

I'll add: this site seems like a cool idea and good work by whoever created it, but I'm just averse to building on that particular foundation.

<comment><USER3> Not even for companies, IRC IMO would be much better, the only issue is, as always, you need someone responsible for the infrastructure: not only servers, but scripting for Jira/Dropbox/NameYourCurrentTrendyPlatform integration.

-No single point of failure.

-No dependency on a different company for a vital points of your business.

-No private info stored on a 3rd party system, in a different state and potentially a different country (legal nightmare to ask for damages).

-Distributed system. Local servers give lower lag for multisite companies, internet access outage means netsplit, not inability to communicate.

-Already existing indexing and searching features if desired.

-Many bots to automate/notify/interact with insane amounts of stuff.

-Thousands of IRC clients, with enormous customizing features, for every conceivable platform, that do as much and even more than all these "this is how communication should be" solutions.

-Bridging IRC to XMPP/Sametime/etc plugins/apps to interoperate with other companies.

I can sort of understand Slack for a small company, but if you have your own server infrastructure, no, I can't.

<comment><USER4> Setting up the system you describe above to work as well as say, Hipchat, with notifications by email and push notifications to iOS and Android clients, @mentions, reliability, etc, is certainly doable. If you have someone who's basically a competent geek, they can probably do that in a few days to get it all working perfectly. Once set up this sort of stuff tends to be fairly robust, so it probably won't take more than 1 days a month to maintain, deal with inevitable issues, etc.

If you have absolutely nothing better to do with your time, it's a great idea to do this yourself.

For the rest of us who are actually trying to grow businesses rather than set up IRC servers, there's HipChat and Slack.

<comment><USER3> That phrase is heavily dangerous.

> For the rest of us who are actually trying to grow businesses rather than > set up IRC servers, there's HipChat and Slack.

For the rest of us who are actually trying to grow businesses rather than set up <insert company IT infrastructure> there's this <insert proprietary platform>.

I've heard that before from people who don't blink to have their own Gitlab/Bugzilla/Jenkins/Whatever. It's overly short sighted to dedicate resources for development support IT infrastructure, but consider resources for development communication a waste of time.

<comment><USER5> I agree on the dangers, but I don't think they are easily comparable. GitLab/Jenkins/... are a match for the hosted alternatives, whereas I couldn't name a system that matches Hipchat or Slack without spending a lot more time on setup and customization.

<comment><USER3> At least you can deploy a HipChat server in your own boxes, Slack is a no-go for many environments, yet still used because of a good client interface combined with a cult-like following.

I've found Openfire + Spark IM to be a reasonable alternative sitting between the customizable and the convenient, and it's open source.

</comment></comment></comment></comment></comment></comment><comment><USER6> It may look like it, but this isn't the Slack (team chat sold at slack.com) you're thinking of.

Top post on there right now:

        A quick note from Jeff Morris Jr. (founder of Slack Chats):
        Slack Chats was created to help you meet interesting new people.
        We are not created by, affiliated with, or supported by Slack
        Technologies, Inc. Thanks for your awesome support! :)

I smell a rebranding coming. If it wasn't for that post I would've assumed this was something from Slack Technologies. Even the logo is so similar...

Worse yet, this is building negative brand recognition for Slack Technologies at the moment, as the UI polish isn't what we'd expect from the Slack team, and their page isn't keeping up w/ HN traffic.

<comment><USER7> Yep. I'd expect them to receive a cease & desist letter within the day. The real Slack doesn't have a choice if they wish to protect their trademark.

<comment><USER8> Hey Guys,

Jeff Morris Jr. here (founder of Slack Chats).

I've spoken with the Slack Team and they are big fans of this product. In fact, I've had several team members email me to thank me for building this product.

I included the note as the top post to clearly state that this isn't an official Slack product.

The site drives traffic to Slack and I do not make a single dollar off of it (despite many offers from advertisers).

Hope this helps!

Jeff

<comment><USER9> How do you reconcile the comments you have received with the company's very recent public statement that "these communities are not something we have the capacity to support given the growth in our existing business."? [1]

[1] [http://thenextweb.com/insider/2015/03/24/slack-is-quietly- un...](http://thenextweb.com/insider/2015/03/24/slack-is-quietly- unintentionally-killing-irc/)

<comment><USER8> Good question. As I understand it, their ability to "support" these communities is more about building out these communities internally and allocating technical resources to non-enterprise channels.

Again, I am not an employee of Slack and do not want to speculate but that's my best guess.

</comment></comment></comment></comment></comment><comment><USER10> Multiple people here seem to be confused by this project, drawing conclusions about Slack itself from its functionality and performance, or in one case trying to reason about its privacy policy based on the one from Slack.com. Despite leaning heavily on Slack's name, this is not an official project: it is some random designer who threw together a website that exposes people to Slack's product for a purpose (public chats) which Slack currently does not support: both implicitly in the way they set up their features and pricing, and explicitly when asked, such as for the article that came out about them in The Next Web today.

> I asked the company how it felt about these communities popping up even > though it's not exactly sanctioned and a press relations person told me that > "it's great that people are putting Slack to good use" but unfortunately > "these communities are not something we have the capacity to support given > the growth in our existing business."

[http://thenextweb.com/insider/2015/03/24/slack-is-quietly- un...](http://thenextweb.com/insider/2015/03/24/slack-is-quietly- unintentionally-killing-irc/)

I would say "using other people's names in confusing ways that border on impersonation should maybe be illegal", but of course it is: Slack is definitely popular enough in this space to deserve implicit trademark status. (And, before someone invokes the standard whine of "you can't own a word like Slack", trademarks are _not_ about "owning words": they are about protecting people—the people who see the word, not the people who use the word—from being deceived, either on purpose or on accident, by someone using a name within the same highly-restricted context in a way that is confusing.)

(edit: I am glad to see benjamincburns also noted this in his comment elsewhere on this post. I noticed his comment after I had written my comment, and I figured I provide some useful detail on this not even being a sanctioned use, so I decided to leave my additional comment. He is also soon a great service now of replying to some of the people to clear up confusion.)

<comment><USER6> > I would say "using other people's names in confusing ways that border on > impersonation should maybe be illegal" ...

I think this is a textbook example of trademark infringement all wrapped up in a nice neat little package. It shows how brand protection shouldn't really care about the intent of the infringing party. It's so overt I'd have to assume it was due to naivety, but that doesn't make it any less damaging.

The fact that it just doesn't "feel" like a service that might follow from the team who brought us Slack-the-team-chat-product just serves to establish Slack Technologies' ownership of their brand, and their need to protect it. If their marketing and PM teams have seen this, I'm sure they're cringing.

That's not to say that it doesn't offer value. I'm sure that if the branding issue wasn't so overt, we'd all be cheering it on as a Show HN style MVP.

<comment><USER8> Hi Benjamin,

Thanks for the note. This is Jeff (I started Slack Chats).

As mentioned above, the team at Slack has been very positive about the project. I've been in touch with their marketing team to make sure we are transparent about our "non affiliation" to Slack.

This was very much a 24 hour project and has been very positive for building new communities on Slack.

Appreciate the feedback,

Jeff

</comment></comment></comment><comment><USER11> So the thing I've wondered about.. if you create an interesting community on Slack, what's to stop them pulling the rug from under your feet and eventually start charging everyone? Their free offering is _really_ good and I hope the paid users will subsidize it forever, but then I've seen what has happened with other services over the years..

<comment><USER12> Slack doesn't strike me as the kind of company that would do that. So many of the users of the general group slacks also use it at their place of work. Slacks pricing model doesn't work for this in the sense that if they wanted to charge for everybody then every user would have to once for every slack that they are a member of which would kill the large public slacks.

</comment></comment><comment><USER13> Maybe this is a silly question, but how do you login?

If one needs to be invited, is that a standard process the visitor can initiate?

<comment><USER14> It seems to require an invite from the owner of the community or members. The owner either gives you their contact details or require you get an invite from one of the members directly.

This is frustrating for me, an iOS dev wanting to join the iosdevelopers slack, because it requires an invite, and I'm a solo dev. So, though I have apps with millions of downloads and a decent amount of iOS dev experience, I don't really have anyone I know in the community.

</comment></comment><comment><USER9> I'm concerned that websites which abuse Slack like this are going to ruin Slack's free tier for those of us who rely on it for more legitimate purposes. I cannot possibly comprehend the mindset behind someone who would choose to use Slack for these purposes when IRC has existed since the 80s and accomplishes the same task much better. Nor do I understand why we are leaching onto Slack when Hipchat has existed with a similar free tier for a while now.

And it _is_ abuse. From the company itself: "these communities are not something we have the capacity to support given the growth in our existing business." [1]

[1] [http://thenextweb.com/insider/2015/03/24/slack-is-quietly- un...](http://thenextweb.com/insider/2015/03/24/slack-is-quietly- unintentionally-killing-irc/)

<comment><USER15> Have you used the Slack desktop and mobile apps? It's patently false to claim that IRC does these things just as well. There's nothing abusive about a company becoming successful by providing a better UX than an ancient alternative technology.

</comment></comment><comment><USER16> I'm finding this app very, very slow and kinda quirky. I also noticed it'll let you send comments to the server and even response positively without being logged into the system but I don't see the comments actually being displayed so I'm guessing they're silently being ignored?

</comment><comment><USER17> So it's basically another internet forum?

<comment><USER18> Yes, like reddit, ycombinator, facebook, whatsapp and all others.

<comment><USER19> Most of reddit is open. No account required, no invite required to read. Same for HN. Facebook is closed.

</comment></comment></comment><comment><USER20> I'm a big fan of Slack, so hopefully this turns into something interesting.

Shameless plug: If you use Slack on Chrome my Chrome Extension, #Clicky, may be of some use to you, it's the fastest way to share your current page to Slack!

[https://chrome.google.com/webstore/detail/clicky-for- slack/b...](https://chrome.google.com/webstore/detail/clicky-for- slack/bllgmdlgbbmijcoecbnmgeoekhebgmac)

<comment><USER6> This isn't from the team which produced the "Slack" to which you're likely referring.

<comment><USER20> I'm aware it's not from the same team, but they're both built for use with Slack ([https://slack.com](https://slack.com)), I'm not sure how many other communication platforms called 'Slack' there are!

</comment></comment></comment><comment><USER21> What's the privacy policy for Slack Chats?

I cannot find one on that domain, but I wonder if it's the same as the one on Slack.com [https://slack.com/privacy-policy](https://slack.com/privacy-policy) .

That policy isn't aimed at protection of end user data, but rather at compliance with regulations around corporate communications.

<comment><USER6> > I cannot find one on that domain, but I wonder if it's the same as the one > on Slack.com [https://slack.com/privacy-policy](https://slack.com/privacy- > policy)

Not the same company. See my other post(s).

</comment></comment><comment><USER19> What if HN would have been a private Slack Chat?

</comment><comment><USER22> This isn't Slack; it's a site created on [http://postatic.com](http://postatic.com) which seems to be an online community generator.

I think the reason this is getting so much traction on HN is because of a false association.

</comment><comment><USER23> Is it me or is it very very slow?

<comment><USER24> It's not just you. But this may not be indicative of the slack experience.

<comment><USER25> Not sure "Slack experience" is the best way of describing it :)

</comment></comment></comment><comment><USER26> You should look into a 500 Internal Error page, right now you're spitting out a stacktrace and code: [http://www.slackchats.com/%3Ca%20href=](http://www.slackchats.com/%3Ca%20href=)

</comment><comment><USER27> I get 403 forbiden

<comment><USER28> Someone from South Africa also reported that he gets the same.

</comment></comment><comment> Ono-Sendai If someone wants a website with realtime chatting, per subject, with snappy performance, then they can try my website: [http://suprsede.com/](http://suprsede.com/) </plug></comment>


How To Lose Your Cuil 20 Seconds After Launch - <AUTHOR> http://www.techcrunch.com/2008/07/29/how-to-lose-your-cuil-20-seconds-after-launch/

<comment><USER2> The next "Google killer" won't be labeled as such until it's already "killed Google" (whatever that means). It'll sneak up on the pundits by challenging assumptions so deeply seated they completely ignore it.

As for Cuil, I hope they build themselves into a great search engine. They're going to do that by returning super-relevant results, not touting a big index. One of my first searches was a real question I asked Google lately, "best time to visit Russia" (a rare full-phrase query for me). On Google, great results. On Cuil, not even close, i.e. missed that "Russia" is the primary subject of the query, not "best time to visit".

<comment><USER3> If the "more data beats better algorithms" principal is to be believed, a big index is a requirement to have a shot at Google.

<comment><USER4> I think more data _about_ each page would be more helpful than simply more pages.

That's what Google themselves did. Instead of searching merely the text of pages, they also considered more data - namely, which pages link to a given page.

<comment><USER5> It's not the size of the index, it's how you use it.

</comment></comment></comment></comment><comment><USER6> GAH! Build it up, then tear it down. I'm sorta getting sick of these articles, I mean it was nice they were covering a new startup, but the rinse and repeat of 'here is something is cool and new' and then 'it sucks doesn't work' pattern is getting old.

The thing that sucks more, is i won't stop reading techcrunch because it does have value and does have relevant news. Sorry </vent>

<comment><USER7> The word "cuil" has become just another flag word for me - if I notice the word in a title or post, I skip it.

</comment></comment><comment><USER4> Look, it thinks Mike Arrington is Mitt Romney ([http://www.cuil.com/search?q=techcrunch&sl=long](http://www.cuil.com/search?q=techcrunch&sl=long))

<comment><USER8> ...and apparently Paul Graham plays for the Chalotte Hornets in his spare time. There's also a goofy picture of him grimacing next to a link to his essay about trolls. :) ([http://www.cuil.com/search?q=paul%20graham&sl=long](http://www.cuil.com/search?q=paul%20graham&sl=long))

Also, in the results for "Objective Caml", the 3.10 release manual is illustrated by a happy guy on a racing bike. That's pretty random, but fitting - I like the free association (however intentional it is).

</comment></comment><comment><USER9> "If you are going to feed the hype cycle, you'd better be able to deliver. Because it only lasts about 20 seconds if you don't."

...until I write another article about how you're over-hyped

</comment><comment><USER10> my friend hit me on im ' heard of cuill' , i said yeah 'not impressed'... the lack of relevant results.. to me means they might be trying to sell there indexing tech. the problem is with 32mm to produce that tech the sell has to be 300mm , i feel for the investors and company.

</comment><comment><USER11> I like how Cuil uses the same color scheme as Google. As does everyone else trying to clone Google or Google ads.

If you're going to "kill Google", why not come up with your own graphic design? Or just change the colors to purple or something :P

</comment><comment><USER12> I entered "iPhone 3G sales" (no quotes) and was given a porn picture next to an Apple PR link. I do hope they succeed in challenging google, but looks like they have work to do.

<comment><USER8> It probably associated it with an article* about how porn encoded for iPhones is supposedly becoming a niche market. Not as random as you think.

* Such as this one: <http://www.tgdaily.com/html_tmp/content-view-38365-98.html> (is SFW, if it matters).

</comment></comment><comment><USER13> In the real google killer, the results search for you. (It will be much like Soviet Russia, in that regard.)

</comment><comment><USER14> "Starting to flip is starting to flop" - Who said that ? Dharmesh Shah ?

</comment><comment><USER15> I'm surprised no one is comparing Cuil to Powerset.

<comment><USER16> Did you see Paul Buchheit's comment?

"Maybe Cuil isn't supposed to be good. They must know that the results are bad, but they launched anyway. Maybe they aren't trying to build a full search engine, but just want to demo their crawling+indexing technology with the expectation that someone will buy the company and plug in better ranking.

...

—Where "someone" = MSFT, who has already shown that they are willing to pay a lot for non-functional search engines."

</comment></comment><comment><USER17> lol tan pintados uds manga de maricas

</comment><comment><USER18> quick question -- who cares about this crap?

startup launched in a crowded niche, looks neat, doesn't perform as well as the big guys. sky is blue. dog bites man. etc.

i don't need 300 stories on it. or maybe thats just me.

</comment><comment><USER19> how to generate multiple articles by msm, tech blogs, etc... in the same day!

</comment><comment><USER17> born and die in one second nice try

u try to find my site c4-antipro.com , with words c4 antipro 2 pages results and no show the site, with words c4-antipro neither appears

lol lol lol lol lol lol x1000000

good engine !!!!!!!!!!!!!!!! xD

now try to find something with word google xDDDDDDDDDDDD

What happens there?

How many i ned pay to my site can be found on the last page even?</comment>


Payday loans are coming for everyone - <AUTHOR> https://lukeoneil.substack.com/p/payday-loans-are-coming-for-everyone <comment><USER2> A bit bizarre reading through the comments on here. It's like stepping back in time.

 _Many_ suppliers demand 0 day terms now: You pay with a credit card or wire upfront, often before service or goods are even provided. Certainly for everything under a few thousand dollars, and often even for five digit purchases. Yes, even large companies.

Oh, your super big company wants net 60 (or they'll threaten net 90)? If that even is offered, the vendor almost certainly adds a time and risk premium to the cost (that "early payment discount" is actually the real price. the net 30/60/90 prices are heavily penalized).

Vendors aren't your creditors. _Certainly_ random individual freelancers aren't. The notion that you, the customer, start a relationship with a payment company that demands a fee to get paid is absolutely _ludicrous_. Despite all of the splitting of hairs, it is far closer to a payday loan than it is factoring (FastFunds/WorkMark or whatever has their relationship with the publisher, not with the freelancer who just wants his cash, much less at the usurious prices).

What a world when even the people of HN are defending these practices.

<comment><USER3> > Many suppliers demand 0 day terms now: You pay with a credit card or wire > upfront, often before service or goods are even provided. Certainly for > everything under a few thousand dollars, and often even for five digit > purchases. Yes, even large companies.

I'm not necessarily defending it, but it just seems to be how the world works. I've been on this side of things as both a freelancer and as an employee of small companies invoicing bigger ones. Maybe if the product is physical, like semiconductors, things are different?

My experience was with lots of 5-6 digit software engineering work. Sometimes there was up front NRE payment, but negotiating payment milestones were typically part of the sales team. I've never heard of or seen a 0 day B2B contract. It was never my department to question the way the contracts were structured, but it just seemed to be how B2B was done. I'd tell finance whenever I made a deliverable so they could invoice.

A big offender of not paying timely (on NET 30/60) was the government themselves from what I saw. So it's not just like this is something some shady businesses are doing.

At the end of the day, isn't salaried work often NET 30 or NET 15? I've never heard of being paid more often than bi-weekly.

<comment><USER4> > At the end of the day, isn't salaried work often NET 30 or NET 15? I've > never heard of being paid more often than bi-weekly.

Although being paid in arrears (up to 7? days in California, IIRC) is legal, it's uncommon. Otherwise, on payday, the worker is paid for that day, as well as the preceding 13-14. On average, that means only 7.5 days are "on credit".

More importantly, though, it can't be compared to a contractual debt, since payroll is much more heavily regulated by the state. In California, for example, the penalty, even for being late, can be disproportionately severe, and the state has resources to pursue them (plus, PAGA[1] provides an incentive for private pursuit of those penalties otherwise only payable to the state).

This difference is an example of why "gig economy" (the article mentions at least Uber, for example) classification of workers as contractors can be such an important issue.

[1] [https://labor.ca.gov/Private_Attorneys_General_Act.htm](https://labor.ca.gov/Private_Attorneys_General_Act.htm)

</comment></comment></comment><comment><USER5> Upfront, I normally am not for legislation. However one thing that's been on my mind lately has been the lag between work and getting paid for that work. Even for regular employees. The days of being paid 1x / 2x per month, IMO, stem from when we had to cut a corporate check to pay someone. A check sometimes meant two signatures required. This was massive overhead and thus we wanted to batch them and do them as infrequently as possible.

Today payments are easily automated and extremely inexpensive. I see little reason one couldnt be paid at the end of a work day or even more continuously such as per calendar day or what have you (ie there are ~22 work days per month, but ~30 calendar days) ... I could see a good pro labour legislation being to get paid daily for companies with automatic deposit or over size X.

Things like payday loans wouldnt make as much sense if you've already been paid 14/15ths of your pay up to that point and you're going to get the last 1/15th within 24 hours.

Edit: Something like this: [https://www.uber.com/info/instant- pay/](https://www.uber.com/info/instant-pay/) but automated and for everyone.

<comment><USER6> I get paid twice a month and I wouldn't care if I got paid only once a month considering all my bills are monthly or longer. Credit cards, rent, and internet are monthly. Utilities are monthly or biannually. I can't think of any other bill than that.

<comment><USER7> Considering the time value of your money-

If you get a $1500 paycheck every 15 days, as opposed to a $3000 paycheck every 30 days, then you earn 15 days of interest on $1500 that you would not otherwise earn. At Ally bank, that could be 1.85% in savings accounts. This two-paycheck cycle would repeat 12 times a year, so for half the year you earn interest you would not otherwise earn, totaling to roughly (compounding negligible) 1500*.0185/2= $14.

If you assumed you could get 9% in the stock market, the time value would be $68.

<comment><USER4> > = $14

.. per year. Or $1.16/mo or under .04%. Although that's not literally nothing, it's awfully close. Oh, and that's before income tax.

> If you assumed you could get 9% in the stock market, the time value would be > $68.

Although that assumption may be a bit of a stretch, something a typical consumer might be far more likely to encounter (and need not apply income tax adjustments to) is consumer loan payments.

A 20% revolving balance paid 15 days early results in $12.50 monthly, which can pay for a streaming subscription.

</comment></comment></comment></comment><comment><USER8> This is factoring, not payday loans. As the author investigates, he finds this out as well.

I've done plenty of freelance work and I deeply know the pain of getting paid late, but as others have pointed out, dealing with a larger business results in net 30/60/90 terms, when things are going well. The fee you pay to the intermediary is justified.

Now if the only option to _ever_ get paid was to pay an intermediary a cut of your salary, well then that would be a major issue. But otherwise this is the freelancer paying an intermediary for a) quicker access to funds and b) reducing the (albeit often small) risk of the client not paying.

<comment><USER9> Net 30/60/90 is a scam, there's no reason companies couldn't pay earlier. That freelancers put up with it just means that they don't have enough market power.

<comment><USER8> It's a bit of a relic from back when bank transfers only happened via paper, but I wouldn't call it a scam. Megacorps give each other the same terms all the time, so it's more about tradition and inertia than market power.

That being said, when I knew I have been a high-value member of a team as an outside resource, I've negotiated for better terms (net 15, for example).

</comment></comment></comment><comment><USER10> I have sympathy for people subject to the vagaries of corporate payment settlement terms, but when you agree to net 60 you may not get paid for 60 days. To get paid sooner will cost something.

<comment><USER11> my company forces vendors to net 60, and if they argue with it, they will threaten net 90 and say that is the industry norm and they are being nice at net 60.

<comment><USER3> Does that work? If it does, you must be at a big company and not dealing with the government. Chasing down invoices seems to be a huge pain for small companies. It seems like many big customers would laugh at the small company and agree to NET 60, then pay you in 95 days.

</comment></comment></comment><comment><USER12> Per the article: "Should they not get paid by the client we don't go after that money."

If the company goes under while you are waiting to be paid, you end up with $0. Someone else is borrowing money, paying you in advance, and eating shit if they collect nothing from it. Not even close to payday lending in analogy..

<comment> munk-a Yea, that was the value add I saw in the article. I wonder if they could provide that service more modestly and apart from the timing as a pure insurance.

You agree to take a fee on your check in exchange for being paid the amount owed when the employer cuts the check or when your contract dictates you'd be paid by, ignoring bad actors, mistakes, slow processing or bankruptcy. This is also a portion of our legal system that may just need more transparency and government assurances.

</comment></comment><comment><USER13> This practice has a very bad look, and my heart is with the freelancers. _But_ I also know human psychology is fickle and there is a functionally identical way to pay freelancers that would generate far less ire:

The client quotes the freelancer a due-on-receipt, net-zero-days price and then offers a "no hurry payment" bonus of twenty-five or thirty percent or whatever that comes with net-30/60/90 terms.

If a freelancer doesn't ask about payment terms when negotiating payment with a new client, he or she will quickly learn to do so. You don't need to experience the sting of learning that your client intends to pay you net-120 more than once before you focus like a laser on payment terms and conditions.

When I engage with freelancers or small businesses as vendors, I make a point of making sure the accounting folks know a particular vendor should not be subjected to "cashflow optimization," which I have known AP folks to elevate to an art, a sport, perhaps even a tenet of a fanatical religion.

A couple of related items:

Why Variable Pricing Fails at the Vending Machine: [https://www.nytimes.com/2005/06/27/business/why-variable- pri...](https://www.nytimes.com/2005/06/27/business/why-variable-pricing- fails-at-the-vending-machine.html)

Coke's Segmentation Error: [https://pragmaticpricing.com/2010/05/15/cokes- segmentation-e...](https://pragmaticpricing.com/2010/05/15/cokes-segmentation- error/)

</comment><comment><USER14> Isn't this normal in B2B (of which freelance is kind of a subset)? Normal terms might be net 60, but if you pay in less than 30, there's a discount.

<comment><USER15> One indication that this isn't B2B is the use of WorkMarket instead of dealing with gig workers in a B2B fashion. The stated value-add of WorkMarket is to allow businesses to manage their "freelancers and independent contractors".

So businesses take a cut out of the budget to hand it over to a "management" company to sort out the paperwork, and they require their gig workers to provide liquidity to the client business via net30/60/90 terms.

One has to be blind or stupid to call this a B2B relationship in the sense of two equals dealing with each other.

</comment></comment><comment><USER16> I hope users of these systems start a class action lawsuit to recoup their payments and that the industry is regulated such that the client is responsible for the fee. So instead of the author getting $650 on their $700, HuffPo should pay $750 for their $700 invoice.

Once that happens, payments will magically be made as quickly as possible. Fast payment processing is a solved problem.

<comment><USER3> I'm sure their contract stated NET 30/60/90 though. I've done freelance engineering work and that's how it was after I submitted my hours for the month (NET 30 in my case).

Regular employees were paid every 2 weeks, but I was a freelancer. Freelancers also don't get benefits and get hit twice on Social Security. It's what you expect when you are getting paid on a 1099 and not a W-2.

</comment></comment><comment><USER17> The biggest payday loan company in the UK, Wonga recently collapsed due to fines from the regulator.

[https://www.theguardian.com/business/2018/aug/30/wonga- colla...](https://www.theguardian.com/business/2018/aug/30/wonga-collapses- into-administration)

</comment><comment><USER18> I am the technical co-founder of a company in the earned wage access space (link in bio). Happy to answer any questions. The main takeaways are:

\- We are paid back by the company on payday so the credit risk is on the company not the consumer.

\- Many (most?) of our users do not have access to consumer credit and would be classified as underbanked / unbanked. This is a great book for more background: [https://www.amazon.com/Unbanking-America-Middle-Class- Surviv...](https://www.amazon.com/Unbanking-America-Middle-Class-Survives- ebook/dp/B01912OYO0)

\- We charge a fixed fee per transaction, no interest is accrued or carried.

\- Philosophically, every day you work and are unpaid for it, you are selling your employer an interest-free bond of your labor whose term is payday.

<comment><USER19> I second your book recommendation!

I would add another, which has similar stories about the challenges of managing money when income and costs are volatile, but in developing countries rather than in the US: [https://www.amazon.com/Portfolios-Poor-How-Worlds- Live-ebook...](https://www.amazon.com/Portfolios-Poor-How-Worlds-Live- ebook/dp/B003TSEL14/)

</comment></comment><comment><USER20> CTO and co-founder of Gusto here. This has actually been on our mind for many years now, and it's a problem we've seen that hurts paycheck to paycheck employees the most. We've recently taken a first step towards rethinking how payroll should be for a modern workforce, and launched a pilot for a new product called Flexible Pay ([https://gusto.com/flexible- pay](https://gusto.com/flexible-pay)).

Flexible Pay enables employees to cash out unpaid earned wages, without any changes to how payroll runs. Happy to answer any questions about it. Also, if this is a space you're passionate about, we're actively hiring engineers for that team!

</comment><comment><USER21> That's not a payday loan.

And "for everyone"? Not really.</comment>


Normalize.css v1.0.0 - <AUTHOR> http://necolas.github.com/normalize.css/#v1

<comment><USER2> For more on Normalize.css, see "About Normalize" (<http://nicolasgallagher.com/about-normalize-css/>), esp "Normalize vs Reset".

</comment><comment><USER3> This looks nice - will have to try it out later to see how it behaves. It's good to see a detailed breakdown and justification for each of the rules instead of a blanket styling dumped in with no thought.

I'm working on a project at the moment that has div {float:left} in the reset and it makes me weep.

<comment><USER4> I agree, it's great to be able to read it and actually know what it's doing. Much better than other resets which strip defaults.

</comment></comment><comment><USER5> I'm kind of suspicious of these kinds of things. Especially the "subtle improvements" can have unintended effects.

Can I really just include without worrying about it?

<comment><USER6> Please don't use this file. Use it for inspiration and take the parts that make sense for your website, but don't just copy the entire file without examining it closely.

For example, this file disables the webkit text size adjustment on the iPhone. Text size adjustment is what makes most websites readable on the iPhone without excessive zooming / scrolling. You should disable it only if you are making a mobile optimized version of your website and the automatic text size adjustment actually causes problems.

<comment><USER7> Incorrect:

      /*
       * 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
       *    `em` units.
       * 2. Prevents iOS text size adjust after orientation change, without disabling
       *    user zoom.
       */

      html {
          font-size: 100%; /* 1 */
          -webkit-text-size-adjust: 100%; /* 2 */
          -ms-text-size-adjust: 100%; /* 2 */
      }

Your statement would be true if it was setting -webkit-text-size-adjust:none, but 100% does as the comment says and only prevents resizing when changing orientations.

<comment><USER6> Did you test this? On my iPhone (iOS 5.1.1), the above css snippet disabled automatic text size adjustment.

If you have an iPhone, look at my test pages to see for yourself:

<http://jabakobob.net/2012/08/hntest/test.html> (without snippet)

<http://jabakobob.net/2012/08/hntest/test2.html> (with snippet)

For me, the first page renders with a much more legible text size.

</comment></comment></comment></comment><comment><USER8> I'm torn on this. There's a lot of code in here that most sites will never need. I hate bloat, especially on the frontend which is responsible for 90% of site speed. On the other hand, using this as your starting point for a new project will probably save you a fair amount of time. Perhaps start with this then rip out the stuff you don't end up using?

<comment><USER9> > There's a lot of code in here that most sites will never need. [...] Perhaps > start with this then rip out the stuff you don't end up using?

It's designed to be used as a reference. i.e. if my website uses an <em> element, I'll want to make sure I've ripped out those styles from normalize.css and placed them in my own CSS file. They will serve as a starting point. You should not be including the normalize.css directly on a page.

Personally, I prefer this kind of approach as opposed to a style reset. Style resets lose all visual information that originally came with the element. If a client wanted to use an <h4> but I didn't style it in the first place it ends up looking like regular body text with no additional padding or margins. A normalise approach forgives me for my lack of forethought allowing an _almost right_ for 90% of cases.

</comment></comment><comment><USER10> They make textarea display in sans-serif?[0]

No thanks. rows and cols should mean something :(

[0] [https://github.com/necolas/normalize.css/blob/master/normali...](https://github.com/necolas/normalize.css/blob/master/normalize.css#L74)

<comment><USER11> C'mon, it's CSS, you can easily remove that line with the textarea declaration and you're done leaving it to whatever is used by a browser. Or make it all serif, it's that easy.

<comment><USER12> Don't know why you're getting downvoted: the author explicitly encourages the file not to be used _as is_ but modified to suit your purpose.

</comment></comment></comment><comment><USER13> Looks pretty good. Need to back-port a couple of my projects to use a _reset_ like this because the slight variations between Chrome/Firefox/IE are starting to get on my nerves. Now just have to find some time for such a low-priority backlog item.

</comment><comment><USER14> Is this something one could use as an alternative to "HTML5 Boilerplate" or does it serve a different purpose?

<comment><USER2> HTML5 Boilerplate uses normalize.css. See <http://html5boilerplate.com/docs/The-style/>

</comment></comment><comment><USER15> Well, for beginners, this will kill the basic idea to remember necessary things, But hey.. good job!

<comment><USER16> I have to respectfully disagree here - this is like saying you shouldn't use jQuery, as it will kill the idea of remembering basic JavaScript.

I'd rather just get shit done (tm) than spend time learning all the nuances of cross browser css.

<comment><USER17> I agree, plus remembering implementation nuances isn't the same as knowing a language.</comment></comment></comment>


Trash your romaine lettuce and don't eat any in restaurants, says the CDC - <AUTHOR> https://arstechnica.com/science/2018/11/trash-your-romaine-lettuce-and-dont-eat-any-in-restaurants-says-the-cdc/ <comment><USER2> This could be just the tip of the iceberg.</comment>


Cquery: highly-scalable, low-latency language server for C++ - <AUTHOR> https://github.com/jacobdufault/cquery/#cquery <comment><USER2> Wow!

I consider myself lucky that I practically do not have to deal with C++, but if I were a C++ kind of person, right now I would deeply appreciate how much hard work goes into a tool like this. [1]

In order to be any good, it has to be even more clever than the compiler, at least in a few ways.

And I have a hunch that in the field of programming languages that are used these days, C++ is probably not the easiest one to write such an analyzer for. ;-)

TL;DR - Respect! I can only - but vividly - imagine how hard it must be to create a tool like this.

[1] I have mixed feelings regarding C++, because I have only used it in tiny doses. I treat the language the same way I would treat a bear, if one suddenly appeared: Keep my distance, avoid any sudden motions, but also, under no circumstances, dare I turn my back on it because of the slight chance that it might come after me eventually. I do not actively dislike C++, I just have not found the time to learn it, and I get the impression that if I really want to learn it, it will take much more time than I can currently afford to invest. Maybe some day it will come to pass (that will be a good day also to finally read Moby Dick all the way through from end to end.)

<comment><USER3> Some advice if you do decide to learn C++: there has been a steady stream of improvements in standard C++ the past 8 years (C++11-17), and some (Bjarne Stroustroup, Herb Sutter, others) promote it as a better starting point for beginners under the name 'Modern C++'.

From: [https://msdn.microsoft.com/en- us/library/hh279654.aspx](https://msdn.microsoft.com/en- us/library/hh279654.aspx)

"[...] Over the years, features have been added to the language, together with highly-tested standard libraries of data structures and algorithms. It's these additions that have made the modern C++ style possible. Modern C++ emphasizes:

Stack-based scope instead of heap or static global scope.

Auto type inference instead of explicit type names.

Smart pointers instead of raw pointers.

std::string and std::wstring types (see <string>) instead of raw char[] arrays.

Standard template library (STL) containers like vector, list, and map instead of raw arrays or custom containers. See <vector>, <list>, and <map>.

STL algorithms instead of manually coded ones. Exceptions, to report and handle error conditions.

Lock-free inter-thread communication using STL

std::atomic<> (see <atomic>) instead of other inter-thread communication mechanisms.

Inline lambda functions instead of small functions implemented separately.

Range-based for loops [...]"

<comment><USER4> C++ as a language has certainly modernized, but its tools are still stuck in the 90's. Contrary to the increasingly bizarre rationalizations offered up by its proponents, CMake and friends are not acceptable package managers or build tools, at least to those of us who have used newer languages. I don't need a build tool assumes all projects are unique snowflakes in need of their own hand-crafted build system; I just want to get up and running quickly without sticking a bunch of maintenance into my build system.

I don't mean to dump on C++; I like the language and I take this post as a sign that things are beginning to improve, and I hope this pace of improvement accelerates. However, I have been disappointed by the head-in-the-sand attitude of some proponents.

<comment><USER5> The funny thing about cmake is though that simple things are indeed simple, you can describe an executable made of several compile units in a single line of cmake script. The problem is that it doesn't enforce any standardization beyond that of how to structure complex projects, especially if external dependencies are involved.

PS: I don't think you will find a single "fan" of cmake who would say it's the best thing since sliced bread. Most people know it sucks, but grudgingly admit that its better to have one bad standard than a dozen competing solutions.

<comment><USER4> > I don't think you will find a single "fan" of cmake who would say it's the > best thing since sliced bread.

This happens in all the time. At one point here on HN I lamented that C++ didn't have a build system like Rust's Cargo, and lots of C++ folks came out of the woodwork to argue that Cargo is a shitty tool because it can't support certain byzantine projects. Similar arguments were made in a thread about a new C++ package manager that attempts to modernize C++ package management. Almost all of the pro-CMake arguments focus on how capable it is to handle bizarre projects, without realizing that most such projects are bizarre only because they each had to implement their own build system instead of using one that encouraged them toward some standard structure. I can't recall anyone making an argument that resembled "it's better to have one bad standard than a dozen competing standards", even in response to something like "CMake is the best of all C++ tools, but still a far cry from other languages' tooling." Some people _would_ allude to C++ projects being uniquely difficult to build, and so it would be impossible to emulate another language's tools; however, this too seemed to be confusing "C++ projects lack a standard structure" with "C++ projects _can 't have_ a standard structure". I could go on and on.

</comment></comment></comment></comment></comment><comment><USER6> Author here! Wasn't quite ready to post to HN yet since cquery is still in development, and I plan to eventually publish on the vscode marketplace so using cquery should be as simple as using the existing C/C++ extension.

Let me know if you have any questions.

<comment><USER7> Hi! I see you're using compile_commands.json. How are you handling header files? I've found that header files present problems for compile_commands since a number of tools using compiler_commands (like bear) only look at the compiler commands for .c files, and don't notice that the header files should be added as well.

I know that some tools, like YCM, attempt to intelligently map a header file to it's associated .cpp/.cc/.c file to guess what the compiler commands are, but this doesn't always work.

What is the state of generating compiler_commands.json for Chromium? I remember running into this issue a few years back.

<comment><USER6> > Hi! I see you're using compile_commands.json. How are you handling header > files? I've found that header files present problems for compile_commands > since a number of tools using compiler_commands (like bear) only look at the > compiler commands for .c files, and don't notice that the header files > should be added as well.

When a cc file is indexed cquery will index the associated header files. There is some logic to deduplicate multiple header file parsing so it only happens once, but that is fundamentally how it works. cquery then knows which header files are associated to which cc files.

> I know that some tools, like YCM, attempt to intelligently map a header file > to it's associated .cpp/.cc/.c file to guess what the compiler commands are, > but this doesn't always work.

cquery does this as well, because you can, for example, create a new file that is not in compile_commands.json. cquery has sophisticated logic here, as it will also try to infer if the file is test or platform specific (use general postfix matching) as those often have a very different set of arguments.

> What is the state of generating compiler_commands.json for Chromium? I > remember running into this issue a few years back.

Chrome compiles using ninja, which natively supports compile_commands.json, so generating the file works well and is easy to do. I have not run into any issue here.

</comment></comment></comment><comment><USER8> Wow! I've just tested this and it's awesome. Much better than the C/C++ extension, since it's more robust (no false-positives for go-to-definition), faster and has more features (e.g. refactoring, better auto-complete, ...). It basically turns VS Code into the best C++ IDE possible for me.

<comment><USER9> It's not really linked to VSCode, is it ? i was under the impression that by example Sublime integration for LSP was possible.

<comment><USER10> Yep, the idea is that the same protocol can work with any editor: [https://langserver.org](https://langserver.org)

</comment></comment></comment><comment><USER11> This project seems to be very similar to clangd. It is also similar to YouCompleteMe, though YCM does not support LSP yet. How does Cquery compare to those projects in terms of features?

In particular, should it be considered as an alternative to clangd? Could it make sense to combine efforts between clangd and Cquery?

<comment><USER6> At the moment, clangd and ycm are very similar projects; they are very limited compared to cquery. clangd and ycm support code completion, diagnostics, fixits, and goto declaration (but not definition), whereas cquery supports references, derived types, callers, etc. Basically, if the feature requires knowledge across multiple translation units, clangd/ycm do not support it.

cquery is designed to support very large projects, so it makes very specific design decisions w.r.t. the data model, indexing pipeline, and multithreading model. I hope clangd can match the performance - but so far every project I've seen simply does not run nearly fast enough on a code-base the size of Chrome/ChromeOS.

<comment><USER11> Thanks for the explanations!

In the meantime I tried it out with VSCode on my MacBook. Works like a charm! Awesome job!!!

</comment></comment></comment><comment><USER12> Is this like [https://github.com/Andersbakken/rtags](https://github.com/Andersbakken/rtags) but for vscode?

Any key differences?

<comment><USER13> For one thing, it sounds like it implements the Language Server protocol, which will make it usable for other IDEs and text editors with support for this protocol (a quickly growing list.)

Not aware of Rtags but I'll assume it's similar to the omnipresent C tags but with an actual C++ parser. If that's the case, in theory cquery is a lot more powerful; it would include the symbol indexing of Rtags but also code refactoring tools ("fixits",) fully aware context-sensitive auto-complete, ability to detect dead code (i.e. #if 0 or #ifndef _WIN32) and support for the type hierarchy. Some of that stuff is definitely not supported by LSP so I imagine it's custom stuff for VSCode only.

All in all, it sounds like it would provide most of the IDE experience to VS Code. The only annoying part would be that you'll have to extract the compile flags from your build system yourself, but that's not usually too big of a deal.

<comment><USER14> One interesting thing that rtags does is provide a gcc/clang wrapper script. You make symlinks to it called cc/c++/gcc/g++/etc. in a folder that's in PATH ahead of wherever gcc/clang proper live. When invoked, the script submits an appropriate tags job to the rtags server, complete with compile flags actually used, then passes the command line on to the appropriate tool so that the compile actually gets done.

So quite often you won't need to do anything. (If you use CMake, you will have to rebuild your Ninja/make files after first setting this up.)

I didn't find rtags perfect. There were a few files that it simply never seemed to create tags for, and the rtags setup is complicated enough that I couldn't quickly figure out why, so I just put up with it. But when it works, it works very well...

(This sort of thing seems to be par for the course with this kind of tool. I've seen a number of people complain about how terrible Visual Studio's code browsing is, for example, but it's been a long time since I've had a problem with it...)

<comment><USER15> Rtags is great for code browsing, but completion is slow and dumb.

<comment><USER14> I found it fine once I'd set it up to do completion only by request, so I'd know that I might have to wait. The default, whereby it tries to pop up as you type, was absolutely maddening...

</comment></comment></comment></comment></comment><comment><USER16> Use c++ on a daily basis. I think the direction the language is going is really really troublesome. It was a mistake to follow the boost's lead. At this point language is more or less a clusterfuck. While python peeps are saving the world here on this dark side of the world we wrestle with move semantics. Simplicity and beauty of C is long gone.

<comment><USER17> I used to use C++ a lot for a mixture of reasons. I avoid it like the plague now, because I'm not confident that _anyone_ completely understands the semantics of a non-trivial C++ program.

Even if I did, the cognitive overhead of this stuff detracts from real programming.

<comment><USER18> I have a suspicion that all non-trivial C++ programs contain undefined behaviour (e.g. not checking for or preventing overflow at every arithmetic operation involving signed integers), so trying to understand the semantics of these programs is kind of a moot point.

On the other hand, if anyone tried to formalise the semantics of C++ and prove some kind of soundness theorem they would probably find that the language definition is technically inconsistent.

Paraphrasing Feynman, if you think you understand C++ then you don't understand C++.

</comment></comment></comment><comment><USER19> Is there one similar to this but that doesn't require your code to compile under Clang? I have plenty of projects at home that don't instantly work under Clang. So far, I've never seen any C++ language server that doesn't rely on Clang unfortunately.

<comment><USER20> What are the usual culprits that prevent it from working under clang?

<comment><USER8> Clang doesn't support

        template<class ...Args>
        void foo(int x = 0, Args&&... args)

for example (default argument before variadic templates args).

<comment><USER21> Wow, I was going to guess that was illegal anyways, but cppref validates that behavior[0].

0: [http://en.cppreference.com/w/cpp/language/default_arguments](http://en.cppreference.com/w/cpp/language/default_arguments)

</comment></comment></comment></comment><comment><USER22> Run away from Jonathan Blow, as of today he was full rant mode on language server and similar stuff including on people that think this is a acceptable stuff, notably Hacker News audience.

FYI, I 150% disagree with his useless rants.

<comment><USER10> I saw that on Twitter but I couldn't figure out what his actual complaint was. I think I'd probably disagree but I'm still interested in knowing.

<comment><USER23> That doing all of this stuff via rpcs vs function calls is crazy I believe.

<comment><USER10> He's not totally wrong, but casting it as a 100% clear-cut decision -- with the RPC version as the obviously bad, "highly damaging" choice -- is just wilfully stupid and dishonest. It's clearly a tradeoff.

</comment></comment></comment></comment><comment><USER24> What's the word on using this with emacs?

<comment><USER6> Eventually this will be supported with lsp-mode. If you check [https://gitter.im/cquery-project/Lobby](https://gitter.im/cquery- project/Lobby) @topisani made good progress here quickly and already has cquery up and running.

</comment></comment><comment><USER25> This looks nice. Reminds me a lot of the Clang Code Model that I use with QtCreator.

</comment><comment><USER26> I can only applaud this effort!

</comment><comment><USER27> Looks pretty, I wonder how it different from ycmd?

<comment><USER6> See [https://news.ycombinator.com/item?id=15725119](https://news.ycombinator.com/item?id=15725119)</comment></comment>