Ask HN: What % of equity is a technical co-founder worth? - <AUTHOR> At this point I own the idea(worth=$0) and 100% equity. And without a technical partner I have no beta product. He's open to the idea of equity in the company.
I'm a business-minded, action-oriented guy. I feel I'm good at team building, marketing, selling, partnerships & strategy. The real business side of things.
He knows the technical side. What is fair 15%? 45%? <comment><USER3> 50% no questions.

You need him or else you do not have a product. No product means no company.

No reasonable developer would take anything less than this...If they're going to be putting their energy into developing your product for the next 1-3 years (minimum) then you need to split the equity with them equally.

<comment><USER4> agree with the 50%, both of you should be vested.

You want all co-founders to be equally engaged in the company. Anything less than an even split at the very start sets up a structure where one feels they are getting less than the other.

You mention the things that you're good at and call it the 'real business side of things'. Does your 'co-founder' find this insulting?? Is he really just a code monkey? Somebody who can build YOUR product? If so, he isn't a co- founder.

If you are building a technology company, all your 'real business' skills are worthless without a person who understands the technology. BUT your technical co-founder should be well versed in the market also. Together you will be making the product market fit. Together you'll be making partnerships/sales work. Together you'll be building and managing the team.

If you aren't feeling the 50-50 split, I'd ask, is he really a co-founder?

</comment></comment><comment><USER5> When it comes down to it, despite how you feel you're good at "business", if you find a good technical co-founder, you're going to actually be close to worthless (considering you get a really good tech co-founder, not just a programmer). Business is easy for smart people. It's mostly common sense, personality, and drive. Once you find a really good technical co-founder, chances are the answer to "Could this business survive without him?" will be "No" and "Could this business survive without me?" will be "Yes". Keep that in mind when you think about a ridiculous share like 15%. Start at 50/50. His shares can go up if he brings more to the table. Yours can go up if you learn to code.

<comment><USER6> _if you find a good technical co-founder, you're going to actually be close to worthless (considering you get a really good tech co-founder, not just a programmer). Business is easy for smart people._

I'm sorry, but I have to "call bullshit" on this (as a generalization anyway. I don't think we know enough about the specifics here to really say if the OP - specifically - is going to "be close to worthless" or not).

There are particular skills and talents that good people on the "business side of the house" have, and they're not necessarily things that come easily to just any smart person. I mean, sure, most reasonably smart people could probably teach themselves to make cold calls, generate leads, go on sales calls and close sales... but not to any greater degree than you could say "any reasonably smart person can learn to write code."

In the end, specialization and division of labor are a good thing, and a solid business needs people who have chosen to focus on, and develop skills in, different things... and the business side is no less important than the product side.

And if you really don't believe me, go round up 10 random engineers with no selling experience, give them a list of phone numbers and a stack of data- sheets and tell them to go sell a product, and see how that turns out.

<comment><USER5> I'll give you that... It certainly depends on the person and past experience and I did generalize a bit based on my experience with technical co-founders I've known and worked with. When I said a "really good" tech co-founder, I kind of implicitly meant someone easily capable of or already possessing some of the skills necessary. I look at myself or some of my successful friends and all of them are tech co-founders who learned the business stuff pretty easily and have been successful. In cases like that, if some mba grad tried to sell them on "oh, i'm a business guy" (which has happened quite often), they'd always get told to fuck off.

<comment><USER6> _I look at myself or some of my successful friends and all of them are tech co-founders who learned the business stuff pretty easily and have been successful. In cases like that, if some mba grad tried to sell them on "oh, i'm a business guy" (which has happened quite often), they'd always get told to fuck off._

Sure, just having an MBA doesn't mean one is a _good_ "business guy." And, to be fair, different types of businesses do have different needs. For example, it's implicit in my diatribe above that I'm referring to the kind of business that sales to other big businesses, using a direct sales model. And maybe in some other kinds of businesses it's easier for somebody who's a techie by trade to just step in and learn the business side of what they're trying to do.

Of course, once you go down that path, one could ask if you're still "a techie" or if you're now some kind of weird hybrid thing... ;-)

Anyway, in either case, I also agree that the kind of person who has nothing but "an idea" and no ability to execute in _some_ regard (whether it be the business "side" or the techie "side") is of pretty limited value.

</comment></comment></comment></comment><comment><USER7> Could he do this without you? Could you do this without him?

This is what I ask myself whenever I think of this question.

</comment><comment><USER8> There is no single answer to this question - it's totally dependant on the relative value of your contributions to the company's success. Where is the secret sauce going to be?

If you're building a mass-market offering (eg. facebook or SAAS), then they are worth a lot. New crypto product? New search engine....time to pony up.

If you are in a space where sales and marketing is more important than technology (eg. a groupon clone or anything where you're reselling an existing framework), then I'd retain the lion's share of the equity. You aren't going to win on technology.

Are you putting capital into the deal or raising a large chunk of capital to get started? Are they drawing a salary of some sort? I'm not giving 50% of the equity away to an employee or someone who I'm otherwise supporting.

Finally, while this is usually a bad idea, what are the alternatives to adding a tech co-founder? Can you outsource? Use consulting help?

While the latter is usually an express route to total stupidity (most startups with outsourced development quickly become comical), if you could truly run the operation without a dedicated in-house tech person, I'd retain a larger share of the pie.

Finally - I disagree that "business is easy for smart people" - a good business person can add a lot of value to the team, particularly if you're targeting large companies. Many entrepreneurs make significant mistakes in their deals and delivery process that put their company at risk - a good business guy should be able to reduce those risks and accelerate the pace of execution.

And no..I'm not a MBA...I straddle the two camps (business guy who can code and codes a lot).

<comment><USER9> But how do you draw the thin line between a "Facebook" startup and a "Groupon" startup. There's so much between those two realities.

I have the same question as the OP.

Also... How can you differentiate between a technical entrepreneur and a coder? Because I'd really be willing to give lots of equity to the former, but none to the latter.

</comment></comment><comment><USER10> At first glance, I agree with most others that "the idea itself is worth 0%". Having said that, we all know that's not _always_ true...there's a looooong list of ideas that were so brilliant at the time of their inception that - combined with good fortune and perfect timing - the initial crappy implementation had no real negative impact (hello, Windows 3.0, hello Facemash, etc.).

So your idea may be brilliant...probably not, but maybe so :-) If you have already prototyped it out, have a basic wireframe built, have a good business plan in place, and have some funding lined up (either your own or from some external source) I would say that a technical co-founder would be _at most_ worth 20-25%. From the gist of your question, though, it sounds like you have an idea in your head and that's about it. If that's the case, you gotta find your co-founder and immediately agree to a 50/50 split...maybe give them a 6-8 week 'trial phase' just to make sure they aren't a total fruitcake and are going to bail out on you, then lock it all down legally and move forward from there.

What people are trying to tell you in the other posts is that HARD skills >> SOFT skills when it comes to launching a tech company in the very early stages. Look at your descriptions:

* "business-minded" - hard to quantify * "action-oriented" - every great developer on earth is this as well * "team-building" - if you were great at this, your first stop wouldn't be at Hacker News for advice on how to build a team * "selling" - I agree that this is actually a HARD skill - either you got it or you don't. If you have demonstrated track record in this area, this is your trump card. * "partnerships" - soft skill...mostly manipulating paperwork with lawyers at the end of the day * "strategy" - you will easily be splitting this one 50/50 with your technical co-founder

Meanwhile, a good tech co-founder is going to bring:

* Specific dev experience - hard skill * Knowledge of architecture and scalability - hard skill * Knowledge of SEO and online technical marketing - hard skill * Ability to augment his/her skill with other good tech people out there, selecting from their own personal experience or interviewing based on their own skills - hard skill (i.e. business guy has no hope of locating and finding these people, IMHO)

Sorry for the long explanation. Bottom line: you gotta go 50/50. If your guy is not worth 50% in your mind, you have the wrong person.

</comment><comment><USER11> Sorry, but usually idea is worth virtually nothing. Having been a technical co-founder before and now the business founder, I've been on both sides of the coin. Unless you have actually built a profitable business before, it's very hard to justify the value that _you_ bring to the table.

The technical co-founder already has experience and pretty much knows the issues he's going to face, and how he's going to handle them. If you haven't built a business before, then you do not know the issues that you'll face or how you're going to handle them. So his value probably far outweighs yours, even though it's your idea.

</comment><comment><USER12> Just wondering if there's a bit more to this than the idea vs. execution argument. Isn't a terrible idea well executed as bad as a great idea terribly executed?

What about skin in the game? If one's invested more capital, or has given up a job earlier to do things like research, talking to customers or building a prototype, his risk is higher and shouldn't he be rewarded for it?

Wouldn't expendability matter? What if the business guy can get a good development team to build the product (there are shops that work for equity) more easily than the technical guy hiring a capable sales agency (there are agencies that work on commission)?

</comment><comment><USER13> How many customers do you know? How close are you to potential customers? How much time can get your potential customers to spend helping you with the product? Now, take the ratio of the amount of time you can get potential customers to help with your product to the amount of time it will take your technical co-founder to develop the product.

</comment><comment><USER14> I'm of the opinion that co-founders should split the equity as evenly as possible.

</comment><comment><USER15> technical co-founder should get >50%, he can build product without you, u cannot without a technical co-founder. If you are a marketing guy then try starting business like groupon that requires more marketing and sales talent than technical talent at its core. If the core of the product relies on building good web app/mobile app then technical guys don't need you, if the product is great people will come onboard without help of any marketing guys. This does not work in case on businesses like groupon, which relies on building partnerships with good brands, that where pure marketings guys should focus on building.

<comment><USER16> I am not sure I totally agree with this, If the non-technical co founder is a business dev and sales guy he is just as important to the equation. And I would say there are a good deal of technical individuals who should not have controlling interest in the company. I say that as a 3 time CTO of start-ups and a very technical person. I was in no way qualified to be the controlling party of any of those organizations. I have a good business intuition, but my partners where way more qualified in what they do, if I held controlling interest, I may have forced issues that I was wrong about. I agree with 50-50, but if I where investing in a company I would be leery of a company where the technical and not business partner held controlling interest.

</comment></comment><comment><USER17> 50% Unless you have cash.

</comment><comment><USER18> 85% Tech Founder, 15% Business Person. It's not the idea, it's the execution.

<comment><USER19> Really getting tired of the constant reiteration of this soundbite. It's much, much more complex than that, and the constant chanting of "ideas don't matter" just leads to groupthink.

For example: what if the bulk of your product is copy (writing) or design? All it needs is a simple account system and framework built around it - <USER2> majority of the work is _nontechnical_. That's not to say that it is easy or simple; rather, the work is just not technical in nature.

 _Technical_ execution deserves 85% in a tech-heavy startup. Technical execution deserves far less than 85%, probably even less than half, in a non- tech-heavy startup.

The OP didn't specify "what" his site is about, but regardless.

<comment><USER20> And I'm tired of the constant rebuke of a perfectly good soundbite by people that have no idea of the distinction of "idea" and "execution". Design and copy writing are as much part of "execution" as code is. They are also as technical as code is, just not your idea of technical.

Good ideas with average execution are forgettable. Average ideas with great execution are memorable.

<comment><USER19> Now you're just arguing about definitions. "Technical" = coders in 99/100 uses, especially for the OP.</comment></comment></comment></comment>


The Great Tech War Of 2012 - <AUTHOR> http://www.fastcompany.com/magazine/160/tech-wars-2012-amazon-apple-google-facebook <comment><USER2> _Apple doesn't believe that niche exists [the 7" tablet], but you can bet it will if the Kindle Fire succeeds._

I hear this a lot, and I always think it discredits the authors analysis of Apple. Apple doesn't think there is a product worth making at 7", which is far different than there not being a market.

Apple also thought Netbooks weren't worth making (worst of both worlds). That didn't mean there wasn't a market or a niche, but that Apple doesn't rush to fill a void because other people have a product that is selling there.

Apple doesn't think about marketing like other companies. And they don't create products to "counter" other products. They create the products that they think are perfect.

That said, i do think there is a market. There are times I wish I had a 7" iPad. Not often, but occasionally. I would probably buy two of them to keep around the house for the kids to use.

<comment><USER3> > They create the products that they think are perfect.

They create those products that they believe will make them the most money.

No apple product ever built past or present was 'perfect' when it was released, but it was more than good enough and typically a notch or two above the competition with an associated price tag.

</comment></comment><comment><USER4> I'm I the only one who doesn't place Facebook in the class as Amazon/Google/Apple?

Maybe, someday, but not quite yet.

<comment><USER5> Agreed. For all the hype, pre-IPO valuation and talent draining, Facebook has done surprisingly little worthy of attention for several years now.

<comment><USER6> For all the hype etc, I'm not sure how much _any_ of these companies have really done that is worthy of positive attention for several years now. They obviously have a few big hits, but they all have at least as many failures and/or obvious competitive weaknesses.

Apple have no doubt moved or effectively created entire markets and business models over the years. The iPod, iPhone and iPad have changed consumption patterns for a generation, and iTunes is right there in the background. But how much of the future is down to inertia now, even before you consider the impact of losing Steve Jobs? If the Big Four record labels suddenly got it and built their own on-line all-you-can-eat music service at a sensible price point, iTunes could be over in weeks. There are several hardware companies that are close enough to the level of Apple's mobile tech (or already better, in some aspects) that the "serious" segment could desert Apple within a mobile contract cycle (about 18-24 months here in the UK) leaving only the "style" segment. Finally, Apple's developer-hostile policies make them few friends, and I think it's only a matter of time before their business models based on exclusivity and taking huge cuts out of anything sold via their platform become unsustainable in the face of competition.

Amazon have done very well to corner the market as the default on-line retailer, and are the only company on the list I definitely wouldn't be shorting if I were an investor in US stocks. They actually sell useful stuff and have an obvious and sustainable business model, and the barrier to entry for competitors is huge. I don't rate their chances of taking over any form of home-grown content production or becoming a heavyweight on-line media provider any time soon, though; they simply aren't good enough at this stuff or in a position to offer enough value in return for exclusive rights to establish a dominant position given the competition (and their position won't be defensible against that competition if they lean too hard on the kinds of small/independent outfit who could most benefit from working with them on such projects).

Facebook have done incredibly well, but mostly driven by being in the right place at the right time to achieve critical mass in a way that no previous network ever did. That could be their Achilles' heel just as easily, though: the moment everyone has enough friends not on Facebook that they can't just use it as their default communications medium, Facebook is in trouble. And that could happen any time a viable competitor network begins to establish itself, just as Facebook once displaced a couple of formerly huge social networks rather efficiently itself. I don't think Google+ is likely to be that competitor in its current form, but there is no shortage of companies with the will and the funding to do it, and Facebook has to be lucky every time while the entire field of competitors only has to be lucky once. Also, Facebook's advertising seems a very shaky proposition for long-term revenue; I know plenty of people who have used it once or twice, but none who would use it again given how pathetically ineffective it seems to have been in every single case. Also also, before any of that happens, I think Facebook are going to cross the privacy line once too often in one too many countries, and the backlash is going to severely damage them in ways you can't fix just by spending more money.

Google has a search engine, an e-mail service, a video sharing service, and a much more successful advertising model built around them. It also has a mobile OS and a browser to support the above. That at least gives it a strong business model that works, making it the other company here I wouldn't automatically short as a long-term investment. But then it has about 1,000,000 utter failures that would have sunk any other company years ago if it didn't have the Big Three to cover the losses. This situation has not changed for several years, except that the number of high profile failures has increased dramatically. None of those three positions is easily defensible in the face of determined competition, and I suspect it is more by luck (and inertia) than judgement that they have avoided this fate so far. And they are also vulnerable to a backlash against privacy. They're basically in the same position as Facebook, but much better at the good stuff and much less bad at the bad stuff.

In other words, while all of the "Big Four" are no doubt keen to eat a piece of each other's pies, I don't think any of them is nearly as powerful as their reputation (and market caps/claimed valuations) suggest right now. They get a lot of press, but consider that, say, Netflix already make something like half the money that Facebook do, in a much more sustainable way and with obvious growth potential as Internet connections get faster and more content is consumed via different kinds of devices rather than the classic TV+(physical media) combination. A company like HTC moving into the tablet space could give Apple serious competition there. If a quiet giant like IBM or Microsoft decided to attack a consumer market again rather than focussing on big business, they have both the talent and the resources to challenge anyone.

The high-tech world isn't nearly as small as the article suggests.

<comment><USER7> >Google has a search engine, an e-mail service, a video sharing service, and a much more successful advertising model built around them.

You're forgetting Android. There are some other services I would include in with their top-tier ones (maps being a good example), but the omission of Android is fairly glaring.

<comment><USER5> GP also failed to mention Amazon's little side business, AWS. More than anything else, AWS makes Amazon one of the most visionary and capable companies in the world to me, before even getting into rolling out Kindle and pretty much creating the e-book market overnight.

<comment><USER6> I didn't forget to mention Android; which other mobile OS did anyone think I meant?

As for AWS, you hit the nail on the head: I think it's Amazon's little side business. I haven't seen any detailed figures about where their income comes from, but I'm guessing AWS is almost lost in the noise compared to what they make on retail directly and via their marketplace.

Moreover, I think cloud services is a much easier market for others to attack, and obviously some already do. In contrast, there isn't really any other global retail giant on the Web today and the barrier to becoming one is prohibitively high for just about anyone.

Finally, I'm not a great believer in everything-in-the-cloud anyway. Too many people have made grand claims about how security/reliability/whatever is improved if you use cloud services compared to doing things in house, how much money you can save, how much faster you can be up and running, yada yada. And yet, we've seen numerous major outages now from even the big players, and plenty more complaints about pricing, lack of flexibility, etc. on top of those.

Basically, the cloud services emperor might not be naked, but he's close to indecent. My money is on the company that utterly dominates on-line retail, and if its internal services architecture brings in a little on the side as well, great.

<comment><USER8> Amazon's core business has huge revenue numbers but really crap margins. They're walmart.

AWS, while a much smaller revenue number, has crazy margins compared to retailing. That makes it interesting out of proportion to percentage of revenue, especially if you believe the cloud will continue to grow.

Same thing with Kindle -- vertical integration, and capturing margin along the way, using their huge retail footprint.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> The vertical control of Apple (most notably) as well as Amazon and Google is almost complete. The author noted that they don't have:

1\. Billing/banking control - Purchases on all three go through credit cards, where a portion gets siphoned off.

2\. Internet access control - Apple has a lot of clout, and can do basically whatever they want, but they're still limited by the ISPs and telecos.

I really hope to see these companies compete in these industries. However, he left off one more space where they don't compete: at the bottom of the stack, selling silicon. Companies like Samsung and Toshiba can build their own SoCs for the devices they manufacture. If those manufacturers start doing more internally, we might see some impressive and competitive new devices.

<comment><USER10> I don't think that any of the three are willing to try to integrate billing directly instead of relying on Paypal, Visa, etc. It's a regulatory minefield between all the world governments, and the % that the payment processors take is probably very much worth the costs that would otherwise be taken from keeping such a system working.

I'm sure Apple and Google have explored it, but in the end, found that the current payment processors provide both a level of service(Visa's payment backend, as far as I can tell, has never suffered non-scheduled downtime) and help avoid all the regulatory pitfalls that it's worth the price.

</comment></comment><comment><USER11> And while these 4 duke it out a new competitor will emerge and change the game completely.

<comment><USER12> And that's the reason, reading story after story about the big 4 on HN is getting so boring to me. No doubt they make amazing products, but these are giant corporations now. Siri, G+, Timeline, Kindle Fire are all fascinating products, but they don't excite me nearly as much as a simple app made by a fledgling two person startup.

<comment><USER13> I'm not even sure if characterizing this is a four horse race is accurate. The article acknowledges the existence of other giants such as Microsoft and HP, but state they are behind the times and struggling to catch up. But are there any other rising powerhouses out there besides the four horsemen? eBay?

</comment></comment></comment><comment><USER14> I'm really surprised that there was almost no mention about the competition between these companies for hiring engineers. If there is indeed a "tech war" coming (and I believe there is) then the company with the biggest and best army of engineers will win and there is a fierce competition among these companies to build those armies.

</comment><comment><USER15> I guess it is not surprising anymore, but I couldn't help wondering about Microsoft being left out of consideration. Would love to here thoughts about how, and if, MS will compete among these companies.

<comment><USER16> The xbox puts Microsoft in a better position than Apple for control of the television. I don't think you can count them out at all.

</comment></comment><comment><USER17> Guess the launch of Android 4.0 in two days will show us where we're going.

It basically decides the future for 3 major products: Smartphones Tablets Google TV (this could be a LARGE market if they find the right partners)

Add to that the fact that big G will probably try to push Google+ even further with this new generation and this makes the event more important than any previous Google Keynote.

</comment><comment><USER18> Most of what Facebook and Google do is thanks to advertising revenue, with variations on the theme.

If something comes along to take that away, a start-up with a new business model, then data becomes the thing that has value for them. Here, privacy issues get racked up so both Google and Facebook would start to look shaky if that happened too, and there are signs.

That's where Amazon and Apple are both superior. They've never been based solely based on an advertising business model, if they get revenue with iAds it's a bonus. It's the fact that they control their market places which is important. And they have what people want to buy.

</comment><comment><USER19> > _Zuckerberg is even maturing into a capable presenter. Compared to Bezos, > Cook, and Page, he's most adept at mimicking Jobs's singular skills, and > comes off as infectiously visionary when unveiling a new product._

really?

<comment><USER7> I had the same reaction, but you have to keep in mind the company he's in. Cook's iPhone presentation struck me as fine but uninspiring, I've never seen Bezos give a presentation, and Larry's... not good in public. I still can't stand Zuck, but at least he hasn't had any more "hoody moments".

<comment><USER20> I watched Bezos unveil the Fire, and I wasn't really impressed with his presentation skills. Not nearly as good a story teller as Jobs.

</comment></comment></comment><comment><USER21> More interesting than the holistic ecosystem/platform war is who among these four will join efforts to counter the other two?

<comment><USER7> Outside of _possibly_ Amazon-Google, I don't see anyone joining up. Google hates Facebook, Apple hates Google, neither has integrated facebook into their mobile OS, and everyone seems content to ignore Amazon. We'll see how that changes with the introduction of the Fire, but I can't see facebook moving beyond their niche, and there's too much direct competition between Apple- Google and Apple-Amazon to allow for a partnership between anyone other than Google and Amazon.

</comment></comment><comment><USER22> Why is Steve Jobs's face in the first pic? Sorry if this is too insensitive, but he won't be involved in the 'Great Tech War of 2012'.

<comment><USER2> To be fair, he is still pretty iconic as the guy who really ramped up the war. I'll give them the benefit of that doubt.

<comment><USER23> Furthermore, since Jobs is rumored to have stocked Apple's product pipeline for the coming years, Apple's product vision will in essence be lead by the specter of Steve Jobs.</comment></comment></comment>


FBI didn't tell US targets as Russian hackers hunted emails - <AUTHOR> https://apnews.com/f1a5570b7ce04d39bab00ae3a9041460/FBI-didn%27t-tell-US-targets-as-Russian-hackers-hunted-emails <comment><USER2> This is probably an unpopular opinion here, but I think the FBI cybercrime division should be completely defunded and shutdown.

A new federal agency with the sole focus of combating cybercrime should be created operating outside the DoJ.

The FBI treats cybercrime too much like a janitorial service. The special agents involved in cybercrime have only some general cybercrime training; their training is still overly broad, including firearms and combat training.

Part of the problem is that the FBI is also an intelligence organization, so information that feeds into the FBI is almost never disseminated outside the agency, and when it does it is almost always too late. Their reasoning is "sources and methods".

What the Russians taught us in the 2016 Election is that it's no longer enough to just _have_ information. You must act on it in innovative new ways. This disruptive behavior (a la Wikileaks) has turned the US IC on it's head. If we had an agency with a sole focus on cybercrime investigation and prevention prior to the 2016 Election, we would probably have a different President right now.

<comment><USER3> > The FBI treats cybercrime too much like a janitorial service.

This has changed in the last 5-8 years. They finally got agents that grew up with computers.

Have you seen malwareinvestigator.gov? They built an automated framework for pulling apart common malware and made it available to state and local law enforcement to aid in investigations. This is just one example of the "new FBI."

> information that feeds into the FBI is almost never disseminated outside the > agency

I get a few intelligence reports from the FBI every week. Just because you aren't seeing it, doesn't mean that it does not exist.

> If we had an agency with a sole focus on cybercrime investigation and > prevention prior to the 2016 Election, we would probably have a different > President right now.

As much as you dislike Trump, I don't really think you want to live in a country where the IC influences elections. Remember that the FBIs job for the most part is to investigate crimes, not prevent them. Mueller will do his job.

<comment><USER4> > As much as you dislike Trump, I don't really think you want to live in a > country where the IC influences elections. Remember that the FBIs job for > the most part is to investigate crimes, not prevent them. Mueller will do > his job.

Can you outline why this should be different from say terrorists flying planes into buildings? I assume everyone wants the IC to be preventing that, not just prosecuting those responsible afterwards?

One key difference is of course that one is trying to kill an unprecedented number of innocent Americans, but it's possible his health reforms won't ever get enacted and the EPA will be forced by the courts to actually do its job, so there is still hope.

<comment><USER3> Only a small part of the FBI is part of the IC. Just like the Marines are part of the IC, but you don't think of them as a CIA like organization.

The FBI is part of the Justice Department, they are there to investigate crimes that have been committed.

The IC does a ton of work to prevent attacks against America of all sorts. They identified Russian interference and brought it to the Obama administrations attention, exactly in line with what they should have done.

</comment></comment></comment></comment><comment><AUTHOR> The thing that's missing in this article is the "attacks" were done by phishing with email attachments and if one didn't know about that risk they had to ignore thousands of warnings about it over a lot years.

Back in 2000 I woke up with an email in my box with the subject "I love you" with an attachment. I took one look at it and deleted it. I thought about calling my partner at the time and warning him about it but he'd been coding with me for a few years so I figured he'd know what he was looking at.

I was wrong. He clicked on it and it deleted thousands of photos off his computer. How people fall for that two decades later is not related to "warning" them. We've all been warned for decades.

<comment><USER5> It's not a _huge_ difference, but there is a softened between phishing and spear-phishing. It's a lot easier for a specifically crafted spear-phishing campaign to get through whatever mental heuristics you use to identify scams than the broad phishing campaigns you usually see.

"Dear X, This email is to set up a meeting to discuss Kaylee's performance in school. Please click here to sign in to our new parent conference scheduling software. Signed, Y, Kaylee's School, Principal"

<comment><AUTHOR> Yes, that kind of scam can suck some in but it's up to management to educate employees on what to be aware of and how to detect and react to it.

The threat is so constant and pervasive though that it's hard for me to imagine that management in any government agency hasn't educated employees about how to deal with these kinds of threats, but not impossible because I don't have to imagine someone did bite.

I just can't make the leap that the FBI is to blame though. That's just a leap too far.

<comment><USER6> They share some of the blame. The FBI could have said to the parties involved, "you are going to be targeted by scammers looking to get your emails, be extra vigilant with what you click on."

It's a difference between targeted attacking and fish net hacking or phishing without a target.

</comment></comment></comment></comment><comment><USER7> They are not responsible for crime prevention, but there are many private Intel forms that do notify. (Former senior software engineer for one such firm here)

<comment><USER8> Where would one look for such a service? What are the magic words?

<comment><USER3> "threat intelligence," but beware it has become a bit of an industry buzzword now. :/

</comment></comment></comment><comment><USER9> One of the journalists of this AP piece (Satter) also wrote a medium post containing a short Q&A about the "notification gap... between what's known privately about cyberespionage and what's said publicly"

[https://medium.com/@rsatter/the-notification- gap-69895c93b05...](https://medium.com/@rsatter/the-notification- gap-69895c93b053)

</comment><comment><USER10> _Nearly 80 interviews with Americans targeted by Fancy Bear, a Russian government-aligned cyberespionage group, turned up only two cases in which the FBI had provided a heads-up._

If you were targeted by Russian hackers, and you happened to be a high level government official, would YOU admit to it? This is like asking a room full of thieves if they robbed the bank. I think it's more likely the FBI DID notify many of them that they had been targeted, but like the DNC, it either got lost through the cracks, was ignored, or possibly seen as some political ploy.

<comment><USER11> > If you were targeted by Russian hackers, and you happened to be a high level > government official, would YOU admit to it? This is like asking a room full > of thieves if they robbed the bank.

Its more like asking a bunch of banks if the FBI has warned them of plots by thieves.

<comment><USER12> It's more like asking a bunch of _robbed_ banks if the FBI has warned them of plots by thieves.</comment></comment></comment>


Shoco: a fast compressor for short strings - <AUTHOR> http://ed-von-schleck.github.io/shoco/ <comment><USER2> I have a background project of exploring how to compress SMILES strings, which is a notation for storing chemical information. For example, "C" is methane, "CC" is ethane, "C=C" is ethene, "CCO" is ethyl alcohol, "C1CCCCC1" is cyclohexane, and "c1ccccc1", which contains aromatic carbons, is benzene. The average length of a SMILES string for real-world molecules is about 50 characters.

I previously evaluated a special purpose tool which identifies the best n-grams and uses dynamic programming during encoding. That gets about 70% compression on SMILES string. I also tried the off-the-shelf femtozip which got about 60% compression but had more decompression overhead than I like.

Shoco, trained on 1,455,763 SMILES strings (average of 56 letters each), and tested with 100,000 strings from the training set, reports "average compression ratio: 47%".

<comment><USER3> Could you provide more information about your SMILES test? How many unique symbols were there? How does gzip do? This is an interesting use case.

<comment><USER2> Sure. I'm switching this conversation to email though, using the gmail account in your profile. Short version is, I trained it on the RDKit-generated SMILES strings from ChEMBL-20. Three of the strings look like this:

        CC(C)=CCC/C(C)=C/C=C/C(=O)N1CCCC1
        CC(=O)NC(C(=O)N1CCSCC1)[C@H]1CC(C(=O)O)C[C@@H]1N=C(N)N
        O=C(CC(c1ccc(F)cc1)(c1ccc(F)cc1)c1ccc(F)cc1)N1C[C@H](O)C[C@H]1C(=O)N1CCC[C@@H]1C(=O)NC[C@@H]1CCCNC1

On the raw data set (on record per line), wc reports:

         1455763 1455763 82882385

while | gzip -c | wc -c reports 18773892.

<comment><USER4> > I'm switching this conversation to email though

I wish you wouldn't do that. That defeats the entire point of a website such as this. Just because you don't think that this is interesting to random people doesn't mean that random people don't think this is interesting.

<comment><USER2> The email I sent was 178K long, with 1000 real-world examples (to get an idea of the character distribution), and the .h file model generated by shoco on the entire data set.

Assuming that bmh100 is both interested in working on this and doesn't have the domain knowledge, I gave a synopsis of the SMILES notation, its use as a molecule identifier, a way to reproduce my data set, and a couple of possible alternatives for getting something similar. (Each method requiring less domain knowledge and more CS experience.)

This this is a big chunk to chew on, and this is the weekend, I figure it will take a few days to digest and be able to response. Since HN doesn't have notifications, how long should I actively check this thread for replies?

By sending email, I also invite a response after a couple of months, should that be the case. (I yesterday got a followup on a topic that was 4 years old.) So no, supporting these long-term research exchanges is not one of the main goals of HN.

You'll note that I also answered what bmh100 asked for here. If you find it interesting, then feel feel to ask interesting questions.

<comment><USER4> If it's not confidential (and I am assuming it isn't), why not just link it in a gist or something? That way other people can also take a crack at it.

Among other things, "a synopsis of the SMILES notation, its use as a molecule identifier, a way to reproduce my data set, and a couple of possible alternatives for getting something similar" is something I would be interested in. And, considering the upvotes I got for my grandparent comment, something that other people would be interested in as well.

Also: [http://hnnotify.com/](http://hnnotify.com/)

<comment><USER2> I do not like "a gist or something" and have used such services only a handful of times. I dislike how they decontextualize the conversation and how they require trust in an additional resource. Eg, when I come across a gist during a web search, it's hard to figure out the point.

By comparison, an email provides the full context, and is easier to integrate into a workflow. For example, I can drag an attachment directly into my editor. A gist requires additional steps.

Regarding hnnotify.com, I enjoy the ability to let go of most HN threads after a couple of days. This thread one of a handful of exceptions. Can I really subscribe to one-and-only-one thread? I don't see that's it's worthwhile to set up a third-party account and active the service for a rare event. In any case, if it takes a month for bmh100 to evaluate the code then the HN thread will be closed, so there's only a narrow window for which this service is useful.

I do not share your optimism in the random contributions of others. To start, it's not like I haven't talked about this before. See [https://bitbucket.org/dalke/smilez](https://bitbucket.org/dalke/smilez) and [http://www.dalkescientific.com/writings/diary/archive/2007/0...](http://www.dalkescientific.com/writings/diary/archive/2007/06/25/smiles_states.html) (under "Compressing SMILES") for two examples. Have I gotten _any_ feedback about them? No. So why put more effort into hoping for a one-in-a-million event, which is what you suggest, instead of optimizing the chance of getting a followup from someone who specifically expressed interest? Experience says that I should optimize for the latter.

What is your interest in the SMILES notation that can't be resolved through [https://en.wikipedia.org/wiki/Simplified_molecular- input_lin...](https://en.wikipedia.org/wiki/Simplified_molecular-input_line- entry_system) ? I would be glad to tell you more. I have worked with different aspects of SMILES for over 15 years and co-authored the OpenSMILES specification. I have also written many blog posts about different aspects of how to work with SMILES. And gotten few followups.

What skill set do you have, that I might tailor a response? Are you comfortable installing from source, do you prefer one of the GNU/Linux packaging systems, or Mac/homebrew? Or are you happiest with extracting data from a database dump? My 'synopsis .. of possible alternatives' was more an offer to follow up on any of those options, but was of itself incomplete. It works because email has the implied statement that I will respond to further questions.

If you don't have specific interest, are more generically wanting to be informed, then perhaps you can understand why I would prefer to use other mechanism, like my blog posts, which are more likely to get the kinds of responses I'm looking for than spending time tuning an off-topic HN comment.

<comment><USER4> I guess the difference is:

I consider the possibility of a random person coming across something and finding it interesting a worthy goal in and of itself. You do not.

This is a rather fundamental difference, and as such I do not think that anything I say will reconcile the matter.

<comment><USER2> My analysis is that there are two classes of random people, while your analysis has only one. Class 1 is "random person coming across a page" and class 2 is "random person who cam across a page _and expressed interest in possibly working on the problem_." Both can become a member of the desired goal, that is, someone who contributes concrete help.

Experience says that both categories are low. Perhaps there's a 1:10,000 change for a member of class 1, and a 1:500 chance for a member in class 2.

If I do as you suggest, I might raise that to 10:10,000 and 10:500.

However, my belief is that directed email has a higher stickiness, because of the reasons I mentioned earlier. I believe those statistics become 1:10,000 (ie, unchanged) and 15:500, respectively.

If you work the math out, you'll see that it's overall better to send the directed email.

Another option is to do both, which you'll see is what I did _for the question that was asked_. Your complaint is that I should haven't sent additional information in private mail, which is odd given that HN's own guidelines suggest that there are HN-related questions that are inappropriate to post and should instead be done by email.

You have also stated that I do not "consider the possibility of a random person coming across something and finding it interesting". This simply isn't true, as you can tell from the analysis above, and from the two pages I linked to two pages where I have posted information meant for random strangers to hopefully identify.

You've come across like you are irritated for being left out of the conversation. I've suggested a few topics I could discuss, but how can I say more when you haven't expressed any specific interest about the problem (either on SMILES or short word compression). When writing, it's good to have a target audience in mind. Should I assume a basic understanding of arithmetic compression, or start from the basics? Do I need to explain state machines? And so on.

My above analysis left out the work factor. Rather than write 40 different essays, each aimed for a different set of strangers (chemist background, CS background, math background, web dev background), etc. and with at best a 1:100 chance of success, it's a better use of my time to just work on the code. I believe I could do what I want in about 2 months.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> Look how well it can compress "fofofofofofofofofofofo".

50%

Look how well it can compress "ababababababababababab".

0%

</comment><comment><USER6> Will test against smaz for our internal JSON compressed protocol. smaz compressed fine but was too slow. The ability to train the model sounds convincing.

</comment><comment><USER7> I get negative compression percentage when I put words with "é" in the test box.

<comment><USER8> In default it doesn't work well with non-ASCII characters.

[https://ed-von-schleck.github.io/shoco/#how-it-works](https://ed-von- schleck.github.io/shoco/#how-it-works)

<comment><USER9> Between this (an ASCII-only compressor in 2015?) and the other aspects brought up here, it seems downright toylike.

</comment></comment></comment><comment><USER10> I wonder what'd happen if you used this on base64 strings.

<comment><USER3> I would love to see a blog post about that test, if you're willing.

</comment></comment><comment><USER11> I can't tell you how many times I've said to myself "if only these very short ASCII strings were even shorter!"

<comment><USER12> At scale, and if you are paying for transmission costs, it can have a massive impact.</comment></comment>


A report from Netherlands says 1.3M face mask supplied from China are defective - <AUTHOR> https://twitter.com/ShivAroor/status/1243998307669569536 <comment><USER2> A couple notes on the linked news source (NOS) from a dutch person. The NOS is the national news source, it is government funded but not state operated. As far as I can tell there's no significant bias to their reporting.

Tangentially it's a great way to learn dutch as they strive to keep the language they use simple without simplifying the issues themselves. As you'll note in the translation I've linked it's mostly short sentences without complex overarching grammatical constructions.

The NOS is currently mirroring the advice RIVM provides on corona, which is the official governmental body dealing with population health and environmental issues.

</comment><comment><USER3> it says Netherlands, i see no mention of New Zealand

</comment><comment><USER2> Translation of the linked article:

A large part of the mouth masks that the Dutch government has imported from China is unsound. Because the masks were already distributed to hospitals, the Ministry of Health has recalled them.

This concerns almost half of a batch of 1.3 million so-called FFP2 masks, 600,000 pieces. Healthcare providers use it to treat critically ill patients with Covid infection. Faulty masks put doctors and nurses at risk.

The masks have been rejected because they do not meet the safety requirements. They do not fit well on the face or have membranes that do not function properly -- membranes are the very fine filters that have to stop virus particles.

"The mouth masks that are not satisfactory have been recalled," the Ministry of Health told the NOS. The ministry cannot say with certainty whether no doctor has worn such a mask.

Hospitals own initiative A number of hospitals had the masks tested by TNO on their own initiative. The batch of masks was distributed across the hospitals without being tested to see if they meet the quality requirements.

"When they were delivered to our hospital, I immediately rejected those masks," said a person from a hospital who received a batch of defective masks. "If those masks do not close properly, the virus particles can simply pass. We do not use them. That is unsafe for our people."

TNO is not allowed to provide information about the results and results of the tests. "That is contractually stipulated," said a spokesperson.

Depressing quality The rejected mouth masks are said to be of unfortunate quality. Not of FFP2 quality nor of the lesser level of safety FFP1. "Some sort of FFP0.8 at best," said this source.

"We received 2400 of those masks. They are still in storage, we have not used one," says a spokesman for the Radboud umc. There it was discovered that the caps did not fit well on the face.

A spokesperson for the Catharina Hospital in Eindhoven says that the shipment was immediately rejected. "This is not a stand-alone event, there is a lot of junk on the market. There are people trying to take advantage of the current crisis, at high prices."

Sterilize as an artifice The source says that the recall has been launched head over heels to get the unsafe masks out of circulation as soon as possible. Several other physicians closely involved in fighting the corona outbreak are concerned about the spread of unsafe protective equipment across the country.

There has been a shortage of good mouth masks for some time. That is why hospitals resort to emergency solutions. They sterilize used masks and then reuse them.

Written response from the Ministry of VWS In a written response to the NOS, the ministry states that efforts are being made to meet the need for protective equipment that is scarce all over the world. "Due to these shortages, we can find ourselves in a situation where only protective equipment is available that does not meet the highest standards. This is an issue in all countries."

"Last Saturday, a first shipment from a Chinese manufacturer was partly delivered. These are masks with a KN95 quality certificate. The Ministry of VWS received a first signal that the quality of this shipment did not meet the criteria during inspection. Part of this shipment was delivered to healthcare providers, the rest of the cargo was immediately put on hold and was not distributed further. "

"A second test also showed that the masks did not meet the quality standard. It has now been decided not to use this whole shipment anymore. New shipments will undergo an additional test."

Later in the day, the ministry indicated in an additional response that the unsound parties were picked out by the hospitals themselves. They informed the inspection that they then took the mouth masks.

However, the ministry could not say with certainty that no doctor has worn such a mask or that these masks were not used in the past week before the inspection intervened.

On the advice of the American CDC, which is the counterpart of our RIVM, the Ministry of VWS has approved the Chinese quality standard KN95 for mouth masks. The minister reported this earlier this week in a letter to the House of Representatives.</comment>


Show HN: A simple lightweight CSS grid, not a bloated framework - <AUTHOR> http://thisisdallas.github.com/Simple-Grid/

<comment><USER2> So I am trying extremely hard to convince myself that these css grids are much better than html tables. Yet, when I see projects like these that make the act of making two columns of arbitrary widths such a big deal, I find it hard to convince myself that css for your basic page container is worth the hacks. I really want to be convinced otherwise because I'd like to believe if _so many_ people are for it, I am obviously not seeing something they can.

So dear HN, please help me convince myself that CSS and its hacks are superior than tables.

My mind's first objection: "to make a simple two column layout that would typically take a few lines with the table tag and be compatible across browsers. The same thing in css would require the use of an open-source grid or bunch of hacks and testing--taking much more effort than the table tag". How do I respond to this objection?

<comment><USER3> It isn't about which is easiest to implement. No one said CSS(3) was super- easy. This discussion is also very old by now. I am surprised to bump into this view again.

A CSS layout is better than a table-based layout, due to:

\- Maintenance: Maintaining or redesigning a table-based layout is very cumbersome, especially with nested tables, because:

\- Seperation of content and design: The content has to be changed, to change the design, and that is not a nice workflow.

\- Accessibility: CSS designs allow much better for a user-specified stylesheet. Resize the browserwindow and tables keep sticking out, where with CSS you can change the order (put columns under each other). Screenreaders behave in a specific way for tables, they try to read the "summary", or they assume the table holds tabular data, reading it row by row. A table lay-out can therefor confuse.

\- SEO: CSS designs make content stacking possible, tables only allow to put the content in the order of the table cells. Webmaster guidelines ask you to check for correct use of HTML, which tables for lay-out isn't:

\- Semantics/standards: Use tables for tabular data. Provide a summary and table header if relevant and possible. Using tables for lay-out semantically turns your entire page into tabular data.

\- Pagespeed: CSS allows for faster, progressive rendering. HTML tables take their width from the resulting table-cell: Content will jump around while rendering or some browsers even show a blank table before all content is loaded.

A CSS framework like this is far from hacky. Using tables for layout, because CSS is deemed too complex, now that is hacky.

Also, don't forget support for "display: table" is in near all modern browsers. If you really want to design lay-out like you are using tables, it is possible with CSS too.

For responsive designs, much more is possible with CSS than a 100% width table. You can't just slap a few lines of table and expect it to work well on an ipad.

<comment><USER4> I agree with all the points you listed and that CSS layout is superior. However every time I use a CSS grid I find myself thinking whether the content and design are really separated. If I add classes like .col-1-4, .span3 or .three.columns to an element in the markup, doesn't that mix details specific to a certain design (or even one particular screen size in responsive design) with the content?

<comment><USER3> I agree. Frameworks like:

...

...

remind me of tables too. They tend to add a few unneeded or non-semantic div's. And they don't really separate content and design. It is a lesser-of- two-evils thing for me, because sometimes grids/frameworks can save me a lot of time. Ideally you'd use semantic-sounding classnames and don't include unnecessary div's.

</comment></comment></comment></comment><comment><USER5> This is really nice (I love the subtle steam off the coffee on the page!), but I feel that basic grids like this are so straightforward to implement that anyone can whip one up for their project if they want one.

It's always good to have a template to start from like this, but I don't see it being much different than an on-the-fly one that I would throw together myself if I'm not using a framework.

<comment><AUTHOR> Hey thanks for the kind words! I completely agree with everything said. I also think in a lot of cases, there might be some projects that require a difference in a grid, if one is being used so building a grid specifically for each project isn't always a bad thing to do.

That's actually why I created this grid, to fit a specfic project of mine. I am picky and wanted something that I couldn't already find so I decided to build one and throw it up on github.

<comment><USER6> Not all of us are skilled at the front-end. I love your grid, especially how columns stack on resize, and wouldn't be able to just whip one up myself. The steam is cool too.

</comment></comment></comment><comment><USER7> Nice, but I see you are using overflow: hidden on grid containers to clear the floats. This can be a pain when implementing absolutely and relatively positioned elements like tooltips and badges, etc.

<comment><USER8> Good catch.

Edit any of the H3 elements in any of the gray rows and simulate a tooltip:

col-1-1

Replace it in Firebug with a basic tooltip:

 col-1-2 Hi there

The tooltips get cut off. :(

<comment><USER9> Maybe using display: 'inline-block' is a solution?

</comment></comment></comment><comment><USER10> The same lightweight pattern has been used in YUI3 Grids for a number of years and it even works on IE6.

User guide: <http://yuilibrary.com/yui/docs/cssgrids/> Code: [https://github.com/yui/yui3/blob/master/build/cssgrids/grids...](https://github.com/yui/yui3/blob/master/build/cssgrids/grids.css)

</comment><comment><USER11> Looks good, I'm just not a fan of the naming conventions on the columns.

Why did you decide to go with ".col-1-2" over something like (foundation's) ".one.column"?

<comment><AUTHOR> There really wasn't a specific reason for the naming convention. Although adding "col-" to all of the columns allowed me to easily select every column using [class*='col-'].

<comment><USER11> I just don't think I'm understanding when it comes to something like

.col-2-12 & col-10-12

<comment><USER12> It signifies the number of columns and how many columns each section, or div, takes.

In your example, the first section would take 2 columns out of twelve. The second section takes the remaining 10 columns.

Or, col-3-12 & col-9-12; first section would take 3 columns out of twelve and the second takes the remaining nine.

What I'm curious about is if doing something like this: col-2-12 & col-8-12. But I'm too lazy to download the css to see for myself.

</comment></comment></comment></comment><comment><USER13> Interesting. Have you thought about using the micro clearfix instead of overflow hidden to sort the columns?

Also, what made you choose to go fluid instead of fixed?

Also, would love feedback on a project I've been working on: <http://wail.es/opendaws/> | HN thread: <http://news.ycombinator.com/item?id=4669809>

</comment><comment><USER14> I really like this. Very simple and lightweight, as advertised. Not perfect on IE8 but comparable with other frameworks that have too much going on.

One suggestion - use HTML5 semantic tags (header, section, etc) in your example page and code snippets. Too many divs scattered everywhere makes it a bit difficult to read.

<comment><USER15> > _Very simple and lightweight, as advertised_

> _perfect on IE8_

> _use HTML5 semantic tags (header, section, etc)_

You can only have two of the three things that you have on your wishlist. IE8 doesn't know how to apply CSS to HTML5 tags. This is typically fixed with html5shiv, a JavaScript library. But including html5shiv would make this grid less simple and less lightweight.

<comment><USER16> Instead of including the entirety of html5shiv, it's almost no overhead to add in a shim just for the HTML5 semantic tags.

Here's a snippet I've used on a number of production sites: <https://gist.github.com/3915474>

</comment></comment></comment><comment><USER17> Very nice, fantastic work and thanks for putting it out there. Is there any license or usage info (WTFPL)? I read recently that if there is no license you shouldn't touch it because the default is non-permissive, even if the source code is open etc. Cheers.

</comment><comment><USER18> I love the goal of keeping it lightweight. This is very similar to my grid of choice, the 1KB grid[1] which I like because you can adjust the number of columns and width in px.

[1]<http://1kbgrid.com>

</comment><comment><USER19> The most impressive part of this page to me is that way you animated the hot coffee mug.

<comment><AUTHOR> Oh man I wish I could claim that I wrote that steam script but I don't know js that well. I'll try to find the original version that I worked off of and post it here.

<comment><USER20> Here: [http://dhirajkumarsingh.wordpress.com/2012/07/31/animated- sm...](http://dhirajkumarsingh.wordpress.com/2012/07/31/animated-smoke-effect- hot-coffee-tea-jquery-css/)

</comment></comment></comment><comment><USER21> On Chrome for iOS latest on an iPad 1 this doesn't appear to render properly. There's a gutter of scrollable space on the right side and the headers in the 4 ad copy columns bleeds over to the next column.

</comment><comment><USER22> I'm not a fan (nor hater) of css grids because I prefer to make the html foundations for greater accuracy and control over the build. It's not rocket science, it's html and css! Second, you get a quality custom structure according to the spec of the website. You've placed HTML in specific configurations with ids and classes of your choosing, and the result can go beyond the grid! life outside the grid is good, a few dust storms and heatwaves, a bit of crime in the streets.

</comment><comment><USER23> Looks good. Your #viewport div causes a strange error with having a horizontal scrollbar @ ~789px. Instead of using the margin-left, why not position it with left and top since it is already absolutely positioned?

Edit: you can probably just change margin-left to left and create the same steam effect that is offscreen when the browser is too narrow

</comment><comment><USER24> This is really useful as a template for building a CSS grid system. I love that it's not a "framework" and that the CSS itself is very simple and straight-forward to build upon: [https://github.com/ThisIsDallas/Simple- Grid/blob/master/simp...](https://github.com/ThisIsDallas/Simple- Grid/blob/master/simplegrid.css)

</comment><comment><USER25> I've been using this grid technique for a little while. It's really great. I was disappointed that the original author wasn't credited though. Compare with: <http://css-tricks.com/dont-overthink-it-grids/>

<comment><AUTHOR> Hey corny, if you check out the description on the github page you will see that I gave credit to Chris and his post on css-tricks. I'm a big fan of Chris and that post was definitely the inspiration for the grid.

</comment></comment><comment><USER26> What's the advantage of using this grid system, instead of a framework that contains this functionality and more (such as Twitter Bootstrap or Skeleton)?

</comment><comment><USER27> Looks really nice. A nice base to built up from. Out of interest - what is the level of browser support? For example IE6/7/8?

<comment><AUTHOR> Hey thanks! Right now, it works in IE8 and up.

</comment></comment><comment><USER28> Not to be a stickler, but you're missing a few semicolons and a bracket at the end in the download.

</comment><comment><USER29> Cool! There are a lot of times I'm building a quick and dirty site and this will be really helpful

</comment><comment><USER30> It is not responsive down to the images, so nothing much of use now.

<comment><USER31> Seriously? This is so trivial to add in your media query yourself.

img { max-height: 100%; max-width: 100%; min-width: 400px; min-height: 300px; }

<http://jsfiddle.net/N8GKd/> \-- resize the window.

<comment><USER32> Imgur doesn't like the deeplinking, so click this link first:

<http://i.imgur.com/kyOq3.jpg>

and then the jsfiddle link provided by fourstar.

<comment><USER31> Ah, weird. Thanks.

</comment></comment></comment></comment><comment><USER33> Thanks for posting, this is great, simple CSS grid.

</comment><comment><USER31> Just what I've been looking for. Love it. Thanks.

</comment><comment><USER34> Thanks! This looks great.</comment>


CONTENT-AWARE CSS: WTF? - <AUTHOR> http://www.browsermedia.com/blog/2012/11/12/content-aware-css-wtf Notes on media queries. <comment><USER2> What I've been trying to argue for (and it seems like people don't "get it", so maybe I'll have to implement it myself) is moving more control over styling to server-side code. Rather than having your server say "this element is a menu" and your CSS say "menus look like this", cut out the middleman; with the server-side code having direct control over the styling it becomes trivial to implement what this site is talking about.</comment>


Theranos Authorizes New Shares That Could Raise Valuation - <AUTHOR> http://www.wsj.com/articles/theranos-authorizes-new-shares-that-could-raise-valuation-1446083616 <comment><USER2> _Separately, Theranos has raised nearly twice as much capital from investors as previously widely reported. As of April, Theranos had raised $752 million, according to other regulatory filings._

 _Theranos founder and Chief Executive Elizabeth Holmes declined to comment on the higher figure when asked about it at last week's WSJ.D Live conference, reiterating the company's prior statements that it has raised "over $400 million."_

That's weird. Why would they low-ball the amount of money they raised?</comment>


The Worst Interview Question (and How to Answer It) - <AUTHOR> http://blogs.hbr.org/cs/2011/01/the_worst_interview_question_a.html <comment><USER2> I've often thought that the best response to "What is your greatest weakness" is simply a big grin. Making everyone feel uncomfortable.

<comment><USER3> My favorite: "Whats yours?"

</comment></comment><comment><USER4> My greatest weakness is that I hate the question about my greatness weakness.

</comment><comment><USER5> I always answer "Bullets." It's never gone poorly.

</comment><comment><USER6> "So they don't fall in the man hole."</comment>


How to successfully increase your SaaS prices - <AUTHOR> http://blog.close.io/post/69090856720/how-to-successfully-increase-your-saas-prices

<comment><USER2> "No apologies about the price increase. No salesy explanations. No BS. Just give it to people straight: We're increasing pricing. Here is what it will be. Here is how it will affect you. Let us know if you have questions. Thanks."

Then:

"We just increased our prices for all plans... but not for you!"

I guess I was expecting more on how to (or even whether to) raise prices on existing customers. They simply grandfathered everyone in at existing plan prices.

Congrats on your success, but I'm not sure what we're supposed to get out of this article.

<comment><AUTHOR> Hey jcater - I hear you. This post is about how to execute the price increase AFTER you decided you a) want to increase prices & b) know what the new prices should look like

we grandfathered all existing SEATS! that's an important distinction. many of our old customers keep adding new paying seats (at the new pricing) and they only got to keep the old prices for all their existing seats + the ones they added during the 14 day promotion.

the 2 quick lessons learned that might be most relevant to you are: 1) make sure you reach out to customers + trial accounts and communicate personally with them on what's coming & 2) make sure to give them a reason to be happy & an incentive to add more paying seats (upsell opportunity)

<comment><USER3> Isn't a side affect of having a single customer that has X seats at one price and Y seats at another that you now have to keep track of multiple metrics per customer (# grandfathered users, # new users, price per grandfathered user, price per new user) instead of just user count and price per seat? And for the customer to understand how they're being charged they have to be told all these metrics as well in their invoice? What happens when you raise the price again in a year or two? You now have to track 3 different user counts per customers, all with different prices?

<comment><AUTHOR> We've automated the invoicing and $ metrics part so there is not really that much to keep track of manually.

I get where you're coming from but the reality of B2B SaaS is that you'll almost always have factors that will make some differences in your $Rev per customer/seat.

Think about a) offering discounts to some customers b) different prices per seat tier c) old pricing plans etc etc

The goal needs to be to increase your CLTV over time and unfortunately this often means increasing prices, changing old pricing tiers/plans etc.

<comment><USER2> Out of curiosity, are you using a home-grown, in-house billing system to do this kind of stuff?

<comment><USER4> Yup. We built a bunch of billing/invoicing mechanics on top of Stripe.</comment></comment></comment></comment></comment></comment>


Web Vitals: essential metrics for a healthy site - <AUTHOR> https://blog.chromium.org/2020/05/introducing-web-vitals-essential-metrics.html <comment><USER2> Ironically, the page took more than a minute until first paint on an old iPad. (I even restarted the poor thing, thinking the HTTP stack had somehow died.) Please, mind that not everything is evergreen and that there's not much reason from a user's perspective to put perfectly working equipment to scrap just because devs decide to go with newest standards only. (Think green computing, which includes electronics waste. This also works both ways: a robust implementation is more likely to work in a few years from now on a then newer, probably much different browser engine.)

</comment><comment><USER3> These are useful performance indicators for sure, but I don't understand how these are different than the metrics already built into Chromium's "Lighthouse" page speed audit (the "Audits" tab in the inspector).

Is the difference now that they will be more heavily weighed in search engine ranking? The article wasn't super clear on this, and the explanatory links seemed to push towards drinking a lot of Google kool-aid (eg. to measure the Core Web Vitals you must use Chrome UX report, and to do that you must use Google BigQuery, and to do that you must create a Google Account _and_ a Google Cloud Project. Wow.)

On closer inspection this whole thing is just a thinly veiled advertisement for GCP. No thanks.

<comment><USER4> Lighthouse is a lab-metric system while Web Vitals is a "real-user-metric" system. Both approaches are valid, and have their pros and cons.

Generally, lab metrics are convenient because you can run them whenever you'd like including before deploying to prod. But they can never tell you the ground-truth of what is really happening out there that real-user-metrics provide.

E.g. the FID metrics only make sense when someone actually interacts with your site. Lighthouse cannot know when people would interact and thus cannot calculate the metric.

<comment><USER3> Thanks for the clarification, that makes sense.

It is ironic that the vast majority of these performance issues are caused by render-blocking and CPU-sucking JavaScript, and so the recommended approach is to install yet another client side JS library ([https://github.com/GoogleChrome/web- vitals/](https://github.com/GoogleChrome/web-vitals/)), which appears to only work in Chrome, and then use the library to post client side performance data to Google Analytics (though to be fair it could be any analytics).

"How badly are all your JS libraries slowing down your page? Find out with this one weird JS library!"

This seems like one of those things where if you get to the point where you need this, you're already in too deep.

<comment><USER5> @cramforce nailed it. One thing I'll add.. I would strongly encourage everyone to collect "field" (real user measurement) data for each of these metrics via their own analytics, as that'll give you the most depth and flexibility in doing root cause analysis on where to improve, etc. The mentions of CrUX and other Google-powered tools are not to create any dependencies, but to help lower the entry bar for those that may not have RUM monitoring already, or will need some time to get that in place.. For those users, we offer aggregated insights and lab-simulations (Lighthouse) to get a quick pulse for these vitals.

</comment></comment></comment></comment><comment><USER6> These are great, but increasingly none of our web app's performance issues relate to any of these metrics.

Memory leaks, slow typing, UI interactions like opening a modal that shouldn't be taking 8s+, where's the literature on how _those_ affect user satisfaction?

<comment><USER7> > _slow typing, UI interactions like opening a modal that shouldn 't be taking > 8s+, where's the literature on how those affect user satisfaction?_

That's right there in the post. Google calls these things "input delay." One of the three primary metrics called out in Google's post is FID, "first input delay," which is the delay on the first user interaction.

(Subsequent input delays are also bad for users, but subsequent input delays are usually only as bad as the first input delay.)

<comment><USER8> > (Subsequent input delays are also bad for users, but subsequent input delays > are usually only as bad as the first input delay.)

I'm not sure about this statement. It sounds reasonable but I can't recall seeing any research about FID being a proxy for all input delay throughout the entire duration of a session. I would hypothesize that optimizations that improve FID would also tend to improve input delay in general. My main message here is just that I haven't seen that research.

<comment><USER5> Input delay is bad, period.

It's not a matter of first vs rest but observation that input while the page is loading is, often, where most of the egregious delays happen: the browser is busy parsing+executing oodles of script, sites don't chunk script execution and yield to the browser to process input, etc. As a result, we have FID, which is a diagnostic metric for this particular (painful) user experience problem on the web today.

Note that Event Timing API captures _all_ input: [https://github.com/WICG/event-timing](https://github.com/WICG/event-timing). First input is just a special case we want to draw attention to due to the reasons I outlined above. That said, we encourage everyone to track all input delays on their site, and it's definitely a focus area for future versions of Core Web Vitals -- we want to make sure users have predictable, fast, response latency on the web.

</comment></comment></comment></comment><comment><USER9> Layout Shift is one of my biggest pet peeves.

Especially in search interfaces.

<comment><USER10> Of which google is a prime offender. 20 minutes ago I repeatedly clicked a google ad because my search goal was there just before it popped in.

<comment><USER11> Is there a name for that little suggestion box that slides into place, and more importantly is there a way to turn it off? I've trained my self to wait a couple seconds before clicking on links because it's popped under my cursor so many times.

<comment><USER12> I wrote a CSS rule to hide it, and the Google changed their DOM structure so it broke. Then I updated my user stylesheet, then they broke it again.

I don't have the energy to continue, so I'm left with that classic software dilemma: good underlying technology, or good UI.

</comment></comment></comment></comment><comment><USER13> This is cool, thanks for shipping! Is Full / Largest Contentful Paint registering WebGL draw calls? My use case is a single page (up to 4K resolution) that contains a single canvas element and 3D context. Time to scene rendered to user is obviously of interest.

And any prospect for a full featured WebGL inspector / debugger in future?

</comment><comment><USER14> To be frank, I don't care about a 500ms faster site if I spend 15-20 seconds navigating a convoluted GDPR notice, dodging newsletter prompts and looking for a one-line answer in a sea of ads and SEO filler text.

I would define essential metrics very differently:

\- How fast can the users find the answer they are looking for? \- What percentage of user interactions benefit the users? \- How much information does the website collect about the users?

</comment><comment><USER15> This seems to be failing the X-Forwarded-For validation on my site. I expect one X-Forwarded-For header entry on my (Heroku hosted) site, but requests from the measure tool [1] seem to have two entries in this header.

Example log entry:

        2020-05-05T23:00:07.144973+00:00 heroku[router]: at=info method=GET path="/en/" host=redacted.com request_id=a0c8605f-e67a-4b48-9538-c6bafebaaaaa fwd="126.96.36.199,188.8.131.52" dyno=web.1 connect=1ms service=4ms status=400 bytes=294 protocol=https

Is this expected behaviour?

[1] [https://web.dev/measure/](https://web.dev/measure/)

<comment><USER16> [https://developer.mozilla.org/en- US/docs/Web/HTTP/Headers/X-...](https://developer.mozilla.org/en- US/docs/Web/HTTP/Headers/X-Forwarded-For#Directives)

>If a request goes through multiple proxies, the IP addresses of each successive proxy is listed. This means, the right-most IP address is the IP address of the most recent proxy and the left-most IP address is the IP address of the originating client.

</comment></comment><comment><USER17> Great, three new TLAs that people will soon be throwing around in Medium posts without defining them.

</comment><comment><USER18> The images are cut on mobile.

</comment><comment><USER19> What good are all these metrics, and measures, and approaches, and techniques when Google's own websites en masse wouldn't give two craps about them?

Physician, heal thyself.

<comment><USER8> What Google sites are you referring to and what "do as I say, not as I do" behavior are you seeing? I'm not doubting you, I'm just asking for specific URLs so that I can forward the feedback to specific teams.

<comment><USER19> Gmail. Youtube.

Google.com is 34 requests and 2 MB resources. That page contains an image and an input box.

Original web.dev they rolled out was something like 15 megabytes in size (thankfully, they fixed that).

Google domains is 1.3 MB of JS for what is essentially a static site.

Their recent announcement about some advanced video compression they did (I immediately forgot, it was on HN). 55 MB with a 3 second video on it.

Material design. Just the front page is 3 MB of resources. Of them, 1.3 is Javascript. For a static page.

I can agree though that they have very slowly been getting better with some of their public properties. When we start talking about internal/private/customer-oriented pages (GCP console, GMail that immediately come to mind), they are just horrendously awful.</comment></comment></comment>


Google Chrome 4.0 (with Extension Support) released for Windows - <AUTHOR> http://googlechromereleases.blogspot.com/2010/01/stable-channel-update_25.html

<comment><USER2> What do they mean by "Ruby support"?

<comment><USER3> Ruby is a form of superscript, commonly used in Asian text. The WebKit blog explains it well, with examples:

"A ruby annotation is a short piece of text in smaller font, written directly above or below or – with vertical text – to either side of the base text. It is most often used in East Asian typography in order to provide further information. Most commonly it shows the pronounciation of Chinese characters. Another use case is in text books, to give the foreign spelling of a native word, or vice versa. In literary text or Manga ruby is also sometimes used to specify a variant pronunciation of the underlying characters, to add some depth or twist to the normal understanding."

<http://webkit.org/blog/948/ruby-rendering-in-webkit/>

The CSS3 ruby spec itself is here:

<http://www.w3.org/TR/2003/CR-css3-ruby-20030514/>

<comment><USER4> Here's the WPedia page: <http://en.wikipedia.org/wiki/Ruby_character>

</comment></comment></comment><comment><USER5> I tried the Chrome beta for OS X yesterday, and deleted it once I noticed that there was no way to edit bookmarks.

<comment><USER6> If you use the dev channel release there is a bare bones bookmark manager.

<http://dev.chromium.org/getting-involved/dev-channel>

</comment></comment><comment><USER7> I wonder how long until the dev channel features 5.0 builds :)

<comment><USER8> Of course this is how version numbers are supposed to be used:

      * You recommend users to upgrade? Major version
      * You improved something without the need for everyone to update? Minor version
      * You improved something that you want to get to early adopters? +0.0.1

Unfortunately there is a kind of inflation of version numbers. It seems that almost all products get stuck around 2.3.2. This is unnecessary. Version number is the best tool you have for communicating with your customers / users. Unfortunately it has been hijacked over the years to talk about compatibility. A Major release usually introduces breaking changes and a minor release doesn't. Security updates complicate the matter further, they are often dot-dot releases.

<comment><USER9> Sometimes I think Google just wants get their version number up as fast as possible, so it doesn't seem like IE is already at 8 while chrome still toddles around in there 3's. (of course this nonsense from a technical standpoint)

</comment></comment></comment><comment><USER10> According to the comments it seems it is slower, buggier and in some case broken for some users.

Guess I see no reason to switch from FF 3.6 right now.</comment>


Old usenet maps - <AUTHOR> http://olduse.net/blog/current_usenet_map/ <comment><USER2> These maps were largely a work by Steve McGeady, who later went on to be an executive at Intel. His testimony in the Microsoft antitrust trial in 1998 had a big impact. [https://en.wikipedia.org/wiki/Steven_McGeady](https://en.wikipedia.org/wiki/Steven_McGeady)

</comment><comment><USER3> Seems like this would be better laid out using a fixed-width font. HTML supports it, why not use it?

<comment><USER4> Looks fine here. It's using "GlassTTYVT220", which is a custom font, so that might not have loaded properly for you.

<comment><USER3> That's exactly what it was. After I wrote that I went into the stylesheet and disabled the custom font. It worked a treat.

<comment><USER5> Man I am telling you, get this font.

It is a 100% clone of the actual vt220 font, and therefore is the ultimate in green-screen retro awesomeness.

Basically, by getting this font and using it (esp on a BSD) you have the original 'theme' for the Unix CLI, since pretty much everyone (yes being hyperbolic) used real UNIX (or 'BSD UNIX' as it was called before the suit) on VAX with DEC terminals around this time when most of the core CLI tools that make up the core of the system to this day were being developed.. Things just look 'right'.

As a vt220 owner and amateur Unixologist, I am very glad for this font.

[http://asdasd.rpg.fi/~svo/glasstty](http://asdasd.rpg.fi/~svo/glasstty)

<comment><USER6> That's quite nice actually! Here's what HN looks like in w3m with GlassTTY [http://i.imgur.com/3Mq6omo.png](http://i.imgur.com/3Mq6omo.png)

</comment></comment></comment></comment></comment><comment><USER7> I kind of can't even imagine the hours that might have gone into laying these out so they'd work in ASCII.

<comment><USER4> There are a number of ASCII/ANSI-art specific editors that allow moving arbitrary rectancular chunks of text in any direction.

Classic example is TheDraw ([https://en.wikipedia.org/wiki/TheDraw](https://en.wikipedia.org/wiki/TheDraw)) which dates from 1986.

<comment><USER8> I used to use TheDraw all the time to make screens for games, my bbs, and just general stuffing around! Is the author still around? Would love to send him a belated registration fee!

<comment><USER9> Couldn't find any social media links for them, but they are on LinkedIn if you do a bit of Google searching.

</comment></comment></comment></comment><comment><USER10> I miss the old days of Usenet.

well, except the trolls and spam...</comment>


The truth has got its boots on: what the evidence says about Mr. Damore's memo - <AUTHOR> https://medium.com/@tweetingmouse/the-truth-has-got-its-boots-on-what-the-evidence-says-about-mr-damores-google-memo-bc93c8b2fdb9 <comment><USER2> This is a very long article, but it's full of interesting scientific evidence that's relevant (though it seems that it picks up in relevance part way through). If someone can find a more focused discussion that has the same level of engagement with the literature, that would be great, but for now, I'd recommend reading it.</comment>


Getting There: The science of driving directions - <AUTHOR> http://www.newyorker.com/archive/2006/04/24/060424fa_fact?currentPage=all

<comment><USER2> This article has virtually nothing to say about the SCIENCE of driving directions, but many words about the mechanics of collecting mapping data and user expectations about how it is presented.</comment>


Be part of the world's largest brain - <AUTHOR> https://foxem.net <comment><AUTHOR> foxem.net is an online platform on which small, medium and large companies publish their challenges, problems and questions and receive ideas, solutions and best practices from their own employees and thanks to digitization from a worldwide crowd.

Basically, everyone is invited to become part of the largest brain in the world - most important is that he or she is open to sharing his or her knowledge, is interested in challenges and wants to make a contribution. For good ideas, crowd members receive rewards, the best idea is rewarded extraordinarily.

Through the diversity of crowd members, the functions of the right and left brain complement each other on foxem.net to form a collective mastermind - logic, analysis and reason versus emotion, musicality and intuition, structure, planning and control versus empathy, creativity and lateral thinking. Companies get higher quality, more diversified and more concrete ideas than with all existing systems and that in a highly efficient and cost- effective way.</comment>


Rust's integer intrinsics are impressive - <AUTHOR> <comment><USER3> > conspiracy theories around popcount and the NSA

Whoa. Some links (with sometimes not-very-well-thought-out allegations):

[https://groups.google.com/forum/#!topic/comp.arch/UXEi7G6WHu...](https://groups.google.com/forum/#!topic/comp.arch/UXEi7G6WHuU)

[https://www.schneier.com/blog/archives/2014/05/the_nsa_is_no...](https://www.schneier.com/blog/archives/2014/05/the_nsa_is_not_.html)

</comment><comment><USER4> I like that it compiles to a single instruction, but lots of languages already have this; it's pretty common.

Even boring old Java has had Integer.bitCount for many years.

<comment><USER5> I don't know if [http://grepcode.com/file/repository.grepcode.com/java/root/j...](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/lang/Integer.java?av=f#1444) is representative of all the implementations of bitCount in Java, but it's probably obvious that it's not going to use the popcnt opcode instruction.

I think the point is that Rust makes it much easier to use that opcode instruction. It's possible but hard with GCC using __builtin_popcount(), but, I'd guess totally impossible in Java due to lack of a JVM instruction for the same.

<comment><USER6> That's just the placeholder implementation that will work on any platform and even with the interpreter.

If you look at the openjdk9 sources you will notice that it is annotated as intrinsic candidate[0]. But earlier versions also have intrinsics for that[1], it's just not annotated as such.

[0] [http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/23721aa1d87f/s...](http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/23721aa1d87f/src/java.base/share/classes/java/lang/Integer.java#l1676) [1] [https://gist.github.com/apangin/7a9b7062a4bd0cd41fcc#file- ho...](https://gist.github.com/apangin/7a9b7062a4bd0cd41fcc#file-hotspot-jvm- intrinsics-L38)

</comment></comment></comment><comment><USER7> I did some experimentation with popcnt in C++ six years ago and was impressed to find that the intrinsic in gcc was faster than the best inline assembly I could come up with using the popcnt instruction:

[https://github.com/bobbyi/Fast-Bit-Counting](https://github.com/bobbyi/Fast- Bit-Counting)

</comment><comment><USER8> Now that most CPUs have population count, it may as well be exposed at the language level.

Doing it by table lookup results in questions such as "am I wasting too much cache space on this?" and "is a 64K table causing cache misses".

<comment><USER9> Fortran 2008 added a number of bit twiddling intrinsics[0].

Here are a few of the scalar intrinsics for bit counting.

      popcnt() - population count
      leadz() - leading zero
      trailz() - trailing zero
      poppar() - <USER2>

[0] ftp://ftp.nag.co.uk/sc22wg5/n1701-n1750/n1729.pdf

Edited to fix formatting.

</comment></comment><comment><USER10> Exactly what purpose does the surrounding instructions serve in this and similar simple cases? Is it compiler dogma or a missed uncommon optimization?

            push    rbp
            mov     rbp, rsp
            popcnt  eax, edi
            pop     rbp
            ret

<comment><USER11> GCC, for example, allows a "-fomit-frame-pointer" [1] optimization option which would get rid of this. I'm not sure why this isn't done by default in optimized builds. Maybe it has something to do with stack unwinding: if the functions panics for some reason, or triggers a CPU fault, there's no way to get the correct backtrace if you don't have the frame pointers on the stack.

[1]: [https://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/Optimize- Option...](https://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/Optimize-Options.html)

<comment><USER12> rustc will omit the frame pointer if you add "-C debuginfo=0".

      example::count:
            popcnt  eax, edi
            ret

</comment></comment></comment><comment><USER13> It's exposed as an intrinsic in llvm. C(99? I think) surfaces these in math.h, although the standard is silent on some edge cases (all zeros), and numbers are autopromoted to 32 bit integer. Julia surfaces these as well.

In case you're wondering what this could be useful for besides super secret NSA stuff, and Bitcoin mining, here are a few suggestions:

1) hyperloglog. (Similar to Bitcoin). Keep an estimated count of items streaming by by hashing them and store the highest lzcount of the hashes for each category you're tracking. This will be ~ log2(category count)

2) converting from fixed point to floating point. The number of zeros in front of your value represents the exponent of your value (or ones in the case of a 2's complement negative fixed point), which is critical to deducting the float representation.

Along those lines, one of the things I've done is implemented floating point- like datatypes, which extensively uses lzcount and locount for tracking values and also will use tzcount to measure if the values are exact or not.

[https://github.com/Etaphase/FastSigmoids.jl/blob/master/READ...](https://github.com/Etaphase/FastSigmoids.jl/blob/master/README.md)

</comment><comment><USER14> I've been using bit population count to traverse packed sparse arrays since the CDC 6600, so it's handy for more things than Hamming distance. Always nice to have in hardware, but pretty cheap to synthesize when it isn't.

</comment><comment><USER15> Reading [http://0x80.pl/articles/sse- popcount.html](http://0x80.pl/articles/sse-popcount.html), I would think the hardware instruction is slower than the best software implementation. Or has that changed on newer hardware?

<comment><USER16> This would not apply to the Rust method shown in the OP, since that one is operating on only 32 bits at a time.

It's unclear how well the benchmarks in this linked article generalize to other applications. If you are just popcounting in a tight loop, probably pretty well, but who does that? In reality you have other things going on, so if this method is occupying too many execution units or polluting your cache, you would see the effect of that on the rest of the program. But it's program- dependent, thus unclear.

<comment><USER6> > since that one is operating on only 32 bits at a time.

[https://doc.rust- lang.org/std/primitive.u64.html#method.coun...](https://doc.rust- lang.org/std/primitive.u64.html#method.count_ones)

[https://doc.rust- lang.org/std/primitive.u128.html#method.cou...](https://doc.rust- lang.org/std/primitive.u128.html#method.count_ones)

Of course to benefit from the SSE optimizations you would still have to call it in a loop and the optimizer would have to recognize that and replace it with a vectorized approach.

<comment><USER17> you can do the simd intrinsics explicitly as well

</comment></comment></comment></comment><comment><USER18> This submission originally linked to a blog post whose author (not the HN submitter) asked us to delete it. We don't want to kill the thread, so we removed the URL above.

</comment><comment><USER19> > Whereas GCC's __builtin_popcount() only works on unsigned ints Rust's > count_ones() works on signed, too!

C's weak typing should handle signed

</comment><comment><USER16> _I was once asked to come up with a table lookup method for popcount on the spot and could not come up with a solution._

Oh, Hacker News.

If someone can't solve a problem like this off the top of their head, does it not act as a strong signal that they are a beginner and you should probably look elsewhere for quality information?

<comment><USER20> Generally, yes. In this case, though, the post is about a feature of a tool that exists regardless of who notices that it does.</comment></comment>


Elon Musk wants to put humans in Mars in 10 to 12 years - <AUTHOR> http://www.nbcnews.com/science/space/elon-musk-promises-spacex-will-stay-course-mars-n133971

<comment><USER2> sounds like "in Mars" is the proper expression...he wants to bury them there :)</comment>