Why Do Google Maps's City Labels Seem So Readable? - <AUTHOR> http://www.41latitude.com/post/2072504768/google-maps-label-readability <comment><USER2> It's really interesting that Google seems to be at times able to pull off wonderful UI design bordering on genius (Chrome, Google Maps) and at other times just barely able to be at par (most of Android with select exceptions). I guess this just reflects different teams within Google, but it's a shame they can't apply their best UI talent across all their products (and particularly, the products that most need it, like Android).

<comment><USER3> Google does an above average, and often good job, at actual usability challenges. But they are pretty universally bad at making things that people would consider beautiful.

Chrome gets usability issues right. Things like their tab closing behavior, the almost total lack of dialogues, one click bookmarking, etc. are all really great. But Chrome is not a beautiful app. Its toolbar icons are fairly childish, its tabs just a bit off.

I'd say that trend holds through most of their products.

<comment><USER2> > But Chrome is not a beautiful app

I guess it's totally subjective and therefore fairly meaningless, but I think Chrome is the most visually appealing of any browser right now. This is partly, I guess, because its primary virtue is minimalism, but the parts that are there are beautiful, I think.

<comment><USER4> Couldn't agree more. The tabs and buttons fit perfectly into my operating system (<http://i.imgur.com/DO5SQ.png> reusing this image from a few threads back). I don't even use the "Use GTK+ Theme" option (though I do use system titlebar because it looks hot).

<comment><USER5> What OS and theme/toolbar/etc is this? It looks great.

<comment><USER4> This is stock Ubuntu 10.10 Ambiance theme:

Unstable Docky from PPA (The stable version is basically identical). Docky is pure butter. It is a few features down from AWN but it's MUCH more consistent (had problems with clicks registering in AWN in weird places) and is gorgeous. It really takes advantage of the SVG icons from Faenza.

* ppa:docky-core/ppa

The toolbar at the top is standard gnome-panel with Cardapio replacing the standard GNOME Main Menu. Cardapio is easily my favorite main menu of any OS. I have the ability to change the identifier for it, search the menu, see everything grouped nicely, AND resize the menu itself. Awesome stuff.

* ppa:cardapio-team/unstable

* screenshot of Cardapio: <http://i.min.us/i9sRs.png>

I'm using Faenza icons:

* <http://tiheum.deviantart.com/art/Faenza-Icons-173323228>

* ppa:tiheum/equinox

Note, there is a conflict caused by Faenza's author overwriting PNGs in /usr/share/dockmanager which is used by the Docky DEB. I used DPKG and --force-overwrite to get them to install properly. A bit of a pain when there are updates, but really it's only one command and it's well worth it.

(The only other thing I could add is, I use dockbarx when I remote in because it doesn't require compositing where Docky does. When I do that, my setup looks like this: <http://i.min.us/iErSa.png>)

<comment><USER6> The deb conflict could be solved rather neatly by using dpkg diversions: [http://www.debian.org/doc/debian-policy/ap-pkg- diversions.ht...](http://www.debian.org/doc/debian-policy/ap-pkg- diversions.html)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I'm amazed that a post about such a potentially dry subject - UI/typeface on maps - is the most fascinating thing I've read today. Extraordinary well done by the author.

<comment><USER8> I have to agree with your comment. The more I read the more I was drawn into the article. He had a previous post that was on HN a while ago that I found pretty well written too - <http://www.41latitude.com/post/557224600/map- comparison>

</comment></comment><comment><USER9> The author had to put a considerable effort into preparing the post, and got to some interesting conclusions. I can wholeheartedly upvote such a well researched article. The animated images really show the difference and his alternative variants of Yahoo and Bing demonstrate the point.

<comment><USER10> I came here to say the same thing. Modifying the maps from bing/yahoo to simulate the effects that google provided must have taken forever. Even doing something like adding an extra pixel or two of white background to 90ish cities would take me hours. Very well polished article.

<comment><USER11> Not to detract from the work he did (it's still not easy, and it's good work), but a lot of that could be programmatic---select all pixels that are near- black to extract the text, copy them to a separate layer, enlarge selection by 1.5 pixels, flood fill white, and then paste the original text on top of that. A certain amount of massaging is necessary, but it probably wouldn't be "hours" just for that.

Also, apparently Google has an API that lets you extract specific layers, e.g. just the text (he mentions using this in the article). Makes sense in retrospect, but it's cool to know anyway.

<comment><USER12> Even if that isn't practical, you could just magc wand all the text in Photoshop and put a stroke around it. It would probably take 15-30 mins.

</comment></comment></comment></comment><comment><USER13> A common complaint is that Google is engineer-driven rather than design driven. Some very impressive counter-evidence in the article -- lots of nice design hacks.

<comment><USER14> I was thinking more along the lines of exception to the rule. I honestly have some trouble finding another product by Google which has this attention to detail (design-wise), maybe Chrome...

<comment><USER15> Chrome on OSX is fantastic, my only beef being that some options are in unintuitive places. For example, 'Extensions' is under 'Window'. _Why?_ There's a perfectly good crescent wrench just sitting by its lonesome self over there there in the corner. I've found Chrome to be the only browser that broke away from the traditional browser format, and pulled it off beautifully. By contrast, FF 3.6 on OSX is hideous.

<comment><USER16> You can get to Extensions via the crescent wrench, too. It's Wrench->Tools->Extensions.

Not at all obvious, but it's there.

<comment><USER15> Well now I feel like an idiot. I'm going to bullshit and say it wasn't always like that, because it took me forever to find when I first got my mbp.

</comment></comment></comment></comment></comment><comment><USER11> When I saw this I could have sworn I had read it before, but in fact what I was remembering were earlier posts by the same guy (also comparing Google, Bing, and Yahoo maps); if you liked this post you might like them too:

<http://www.41latitude.com/post/557224600/map-comparison> <http://www.41latitude.com/post/1130407638/map-comparison-2>

</comment><comment><USER17> The blank space around major cities is the most surprising idea to me.

<comment><USER18> This might be implemented with the same feature as the lack of clusters: a label suppresses other labels around it, with bigger cities suppressing more. Would be easy to do with a greedy algorithm.

<comment><USER19> It's not the implementation that surprises me - once I know it's the right thing to do, I can easily figure out a method how. What's surprising is the insight that it is the right thing to do.

<comment><USER20> I think the parent was suggesting the intuition may have come from applying the other more obvious algorithm.

</comment></comment></comment></comment><comment><USER21> The author forgot to mention that Google renders the text, then places it on the image. Bing and Yahoo positions then renders, which leads to bad font aliasing.

Better to explain with a picture: <http://imgur.com/sy06x>

Notice how the google's 'i' is perfect. No grey hinting.

</comment><comment><USER22> This article made me realize that Google's engineering/metrics based approach is more suited to some tasks than others. There are far too many possible views of the map to "design" by hand, but the algorithmic tricks that Google is so good at can handle it no problem. Even if a traditional usability expert could design a map of a given location at a given zoom level better (e.g., <http://www.kickmap.com/>), they couldn't pull it off at Google Maps scale.

Very good article, and the visual aides helped a lot.

</comment><comment><USER23> Am I the only one who thought the Bing maps were more "readable" than the Google maps? I do agree that the Yahoo maps were by far the worst, but to me the Bing maps were better designed (other than the color scheme) than the Google maps. Maybe it's just me?

<comment><USER24> I agree. Until someone runs subjects on a bunch of use scenarios, it's hard to say which is better, and I happen to prefer Bing. Conjecturally speaking, one- pixel outlines come at a cost -- if you don't need them, as when the map colors are low-contrast, you can actually have somewhat bigger text.

<comment><AUTHOR> My hypothesis is that people with poor eyesight or cheap monitors might have problems with Bing. The low contrast is very beautiful, especially if you have a great screen, but maybe not optimal in all situations. I would love to see that tested.

</comment></comment></comment><comment><USER25> Google has better thought out color contrast too. The other ones are either too monochromatic, or the map details overwhelm the labels (think 90's web page color contrast)

</comment><comment><USER26> This brings me back to the days of working at a planning & architecture firm where I edited Illustrator maps with 500,000 objects in them.

The thick white outlines do a good job of ensuring that the letterforms aren't impeded by other design elements.

The cleared-away areas around cities are a good use of "white space" to increase the hierarchical dominance of major metropolitan areas.

There are some nice detailed observations here. Bookmarked.

</comment><comment><USER27> What surprises me most about this is that this is a solved problem.

Labels on maps, proximity to their data point, shades to represents importance, placing of labels to ensure clarity... all of this has long been solved in the area of automated report generation, and specifically things like bubble charts.

All that I see when I look at a Google Maps is all of the solutions to the problem of producing legible and clear reports applied to a map.

All that I see when I look at Bing and Yahoo mapping are solutions that have only looked at the domain of mapping and haven't considered whether other domains have solved these problems.

I don't see "tricks" by Google, I just see a set of solutions from one area being applied to the same essential problems in another area.

</comment><comment><USER28> I found the animated GIFs annoying in that they changed too fast. It was hard to look at the important points of the map shown quickly enough before the image automatically changed to the other version. For instance, I wanted to try viewing Bing's map on its own and test how long it took to for me find a certain label on it, but the map always switched to Google's version too quickly. I would prefer that the different versions of maps would be different images that I could open in tabs and switch between at my leisure.

</comment><comment><USER29> It's interesting that Bing actually brought in an outside team (Stamen Design) to design (version 2 of?) their maps: <http://content.stamen.com/i_like_bing_maps_and_I_cannot_lie>

</comment><comment><USER30> I agree that Goole Maps look the best, but I think this more so highlights the ineptitude of the other mapping sites. Using contrasting text borders over complex patterns and decent spacing are common design principles that the other sites should adopt.

</comment><comment><USER31> I don't think the shading effect is really intentional; it is just an artifact of all labels being anti-aliased. A small font will be lighter than a large font in order to indicate/approximate a smaller stroke-width.

</comment><comment><USER32> I've gotten so addicted to Google Maps, its very hard for me to use a Garmin or Nuvi GPS. I appreciate the clean UI of Google Maps, hope they make standalone GPS device (will save battery drain from your phone).

<comment><USER33> Garmin makes Nuvi. Try looking at some of the competition; TomTom are good for maps with just the right amount of visual complexity, and clean UIs.

</comment></comment><comment><USER34> Halos around your text are quite important if you're trying to draw titles on television, particularly the old NTSC television. You see them all the time in video games too.

</comment><comment><USER35> Anyone else wonder how the author made the white outlines on the Yahoo Maps text? Seems super tedious to do this by hand.

</comment><comment><USER36> Probably the most highly used piece of software to come out of Australia. Just in front of Samba and Rsync :-)

</comment><comment><USER37> Yesterday I heard someone saying "Google is not a designer's company. Its _just_ engineer's company".

</comment><comment><USER38> Any chance of a screenshot (guessing copypasta won't work because there are images)? The site is down.

</comment><comment><USER39> great article.

several of the qualities he pointed out were already obvious to me. but while not officially a "designer" i've been creating software/graphical/print interfaces for almost 30 years in one form or another. i do notice tricks with fonts and entity positioning.

</comment><comment><USER40> Anyone know the actual people involved in these map design decisions at Google?

<comment><USER41> I can make some introductions, but why do you want to know?

</comment></comment><comment><USER42> Arg, that term "pop"

</comment><comment><USER4> Is it wrong of me to scoff? It's pretty obvious from the screenshots that the text density and outlines are the most important and easily noticed factors.</comment>


Ask HN: Where I can post my startup to get beta users? - <AUTHOR> There is betalist, HN, .., what else? <comment><USER2> This is a lesson I have learned the hard way... You should know the answer this question before you start work on anything. If you're having trouble figuring out who your product is for, or how you're going to get in touch with prospects in an affordable way, you may have picked the wrong thing to work on.

That said, it's definitely possible to recover from being in this position. It can just take a long time.

<comment><USER3> Distribution is the key to product success.

</comment></comment><comment><USER4> Sites that are relevant to your audience. Don't prioritize "startup" sites over industry-specific sites.

<comment><USER5> This 1000x. If you're fundraising and want to get in front of investors then sure, spend a little time pining for TC/HN coverage, but you should spend most of your time in front of your specific industry.

<comment><USER6> Logged in just to say the same thing. If you're asking this question without even knowing where your target market hang out online, you've already lost.

</comment></comment></comment><comment><USER7> [https://news.ycombinator.com/item?id=6492109](https://news.ycombinator.com/item?id=6492109)

<comment><USER8> I've added a few more to that list:

* [https://news.ycombinator.com/news](https://news.ycombinator.com/news) (Show HN)

* [http://www.reddit.com/r/startups](http://www.reddit.com/r/startups)

* [http://www.reddit.com/r/sideproject](http://www.reddit.com/r/sideproject)

* [http://thenextweb.com/market/](http://thenextweb.com/market/)

* [http://momb.socio-kybernetics.net/](http://momb.socio-kybernetics.net/)

* [http://headlinr.com/](http://headlinr.com/)

* [https://www.favsync.com/common/publicTab/v274z25464-3312a1d2...](https://www.favsync.com/common/publicTab/v274z25464-3312a1d297ed261ecb3cc34928347c43/biggest-collection-of-sites-to-submit-your-site)

* [http://www.crunchbase.com/](http://www.crunchbase.com/)

* [https://www.angel.co/](https://www.angel.co/)

* [http://www.betali.st/](http://www.betali.st/)

* [http://www.romanianstartups.com/](http://www.romanianstartups.com/)

* [http://www.startupli.st/](http://www.startupli.st/)

* [http://www.kickoffboost.com/](http://www.kickoffboost.com/)

* [http://www.geekopedia.me/startupsubmit/](http://www.geekopedia.me/startupsubmit/)

* [http://www.killerstartups.com/](http://www.killerstartups.com/)

* [http://www.startupbird.com/](http://www.startupbird.com/)

* [http://www.ratemystartup.com/](http://www.ratemystartup.com/)

* [http://www.new-startups.com/](http://www.new-startups.com/)

* [http://www.nextbigwhat.com/](http://www.nextbigwhat.com/)

* [http://www.leanstack.io/](http://www.leanstack.io/)

* [http://www.launchingnext.com/](http://www.launchingnext.com/)

* [http://www.startupproject.org/](http://www.startupproject.org/)

* [http://www.erlibird.com/](http://www.erlibird.com/)

* [http://www.thestartuppitch.com/](http://www.thestartuppitch.com/)

* [http://www.startuplift.com/](http://www.startuplift.com/)

* [http://www.feedmyapp.com/submit/](http://www.feedmyapp.com/submit/)

* [http://www.siliconallee.com/contact](http://www.siliconallee.com/contact)

* [http://www.f6s.com/](http://www.f6s.com/)

* [http://www.paggu.com/](http://www.paggu.com/)

* [http://www.aboutyourstartup.com/](http://www.aboutyourstartup.com/)

* [http://www.eu-startups.com/directory/](http://www.eu-startups.com/directory/)

* [http://www.go2web20.net/](http://www.go2web20.net/)

* [http://www.101bestwebsites.com/](http://www.101bestwebsites.com/)

* [http://www.vator.tv/](http://www.vator.tv/)

* [http://www.springwise.com/](http://www.springwise.com/)

* [http://www.techpluto.com](http://www.techpluto.com)

* [http://www.cee-startups.com/](http://www.cee-startups.com/)

* [http://www.appuseful.com/](http://www.appuseful.com/)

* [http://www.startupwizz.com/](http://www.startupwizz.com/)

* [http://www.startuptunes.com/](http://www.startuptunes.com/)

* [http://www.venturebeatprofiles.com/](http://www.venturebeatprofiles.com/)

* [http://www.techhunger.com/](http://www.techhunger.com/)

* [https://www.gust.com](https://www.gust.com)

* [http://www.cee-startups.com/](http://www.cee-startups.com/)

* [http://www.startupbook.co](http://www.startupbook.co)

* [http://www.launch.it/contact_form/1/0/contact](http://www.launch.it/contact_form/1/0/contact)

* [http://www.netted.net/contact-us/](http://www.netted.net/contact-us/)

* [http://www.minisprout.com/about/](http://www.minisprout.com/about/)

* [http://www.makeuseof.com/contact-team/](http://www.makeuseof.com/contact-team/)

* [http://www.venturevillage.eu/about-us/contact/](http://www.venturevillage.eu/about-us/contact/)

* [http://www.appvita.com/](http://www.appvita.com/)

* [http://www.webdevtwopointzero.com/](http://www.webdevtwopointzero.com/)

* [http://www.dzineblog.com/](http://www.dzineblog.com/)

* [http://www.rev2.org/](http://www.rev2.org/)

* [http://www.techattitude.com/contact](http://www.techattitude.com/contact)

* [http://www.eastist.com/](http://www.eastist.com/)

* [http://www.siliconallee.com/](http://www.siliconallee.com/)

* [http://www.en.startit.rs/](http://www.en.startit.rs/)

* [http://www.en.startupbusiness.it/](http://www.en.startupbusiness.it/)

* [http://www.blogs.wsj.com/tech-europe/](http://www.blogs.wsj.com/tech-europe/)

* [http://www.rudebaguette.com/](http://www.rudebaguette.com/)

* [http://www.venturevillage.eu/](http://www.venturevillage.eu/)

* [http://www.en.webrazzi.com/about/](http://www.en.webrazzi.com/about/)

* [http://www.sociableblog.com/contact-us/](http://www.sociableblog.com/contact-us/)

* [http://www.producthunt.co/](http://www.producthunt.co/)

<comment><USER9> Thank you! By far one of the most helpful posts I've seen on HN :)

<comment><USER4> While it's good to be enthusiastic it's pretty important to note that for the majority of startups these sites are a dangerous distraction that shouldn't be optimized for or influence your company / marketing / growth / sales funnel / etc.

</comment></comment></comment></comment><comment><USER10> This is super hard and there is no great answer. I've never met anyone who's had good luck with places like Betalist. (Though "Show HN" can work.)

Realistically you are going to be tracking down your first 100 users yourself manually. Figure out who among your friends is a good fit and bug them. Then ask all your other friends who they know who'd be a good fit. If they don't click, follow up and ask why. If they click but then don't come back, follow up and ask why. If they become an active user, you are about to become best friends, always talking about what they like and why.

You're going to feel like a mooch for a while -- like you're always asking your contacts for things and not giving back. This is normal.

Also, this thread is on the front page, so post a link. Quick -- an opportunity!

<comment><USER11> I actually just landed on Betalist a few days ago and I've been very happy with the results. I added about 120 emails to my "early access" list.

Knowing that the audience may not be directly within my target market I made sure to ask a simple open-ended question: "How do you feel when you spend too much money?" About half the folks who signed up answered the question, and even if none of the Betalist folks convert to paying customers in the long run, I've at least boosted my understanding of the pain I'm trying to solve.

</comment></comment><comment><USER12> I'm currently working on [http://headlinr.com/](http://headlinr.com/)

It's supposed to be a billboard for startup and product launches.

I pushed it out about three weeks ago, it's picking up some pretty good traffic so far.

I plan on expanding it into something more, something that actually gets you your initial user-base.

</comment><comment><USER13> My best tools for getting beta users when I was kicking around Draft as an idea:

1) Build your own audience through teaching. Stop looking for the one time hit. The odds your startup/project is going to last the long term are probably low, and if you move onto the next thing, you'll be in the same spot. Start trying to build an audience around you of people and students who share your world views, and build stuff for them. Blog, write articles, do webcasts, talk at one of the many co-working spaces that look for speakers now.

Many people reading this are saying "But I don't know anything to teach." That's ridiculous. You just learned something last week that someone still doesn't know. I was teaching an entire Freshman Chemistry class as a Senior. There were juniors doing it. Sure, I took the class myself, but I didn't think I knew it well enough to even teach them. But I did the work to prepare, and teaching made me learn it backwards and forwards. Teaching isn't just good for the student; it's good for you.

"What is obvious to you is obvious to you" -John Medina (author of BabyBrainRules).

There is so much you know that someone else would love to acquire.

2) User testing. Get some beta testers simply by paying some people to use your app. (Read: Don't Make Me Think) I got some early folks on Usertesting.com. They were invaluable in finding problems and providing feedback in way you just don't get from some comments on a forum or thread about your product.

3) Go do some volunteer/non-profit work for 2 hours a week. Join something that has a big group of people you can help out and commit to for awhile. You'll quickly find when you start working for groups have a cause much bigger than you, you make a lot of new friends. And when you help them out, they love helping you out. You'll have these new groups to reach out to kick around new ideas. And they are the first ones spreading your stuff. Even better if you can find some groups to help with stuff you are building, but definitely not required to get some great benefits.

</comment><comment><USER14> If B2B, decide on a few target verticals. Verticals that post email addresses to websites would help you get started easily, else get creative with linked in and google to find emails.

Then create an email campaign using something like Toutapp.com to email these people telling them you'd like their opinion on a tool that does x for their needs.

If consumer, try the same thing with facebook or similar.

</comment><comment><USER15> Hmm. It seems to me, that if you answer such a question, then you do not know who your users are. And this is not good for your startup. Because you have to know your users to be able to fix problems worth fixing. So try ask another question. Who are my users? And what actual problem I want to fix for them? Then, I think, you will be able to find a way to them.

</comment><comment><USER16> Once you're no longer closed beta Museum of Modern Beta's is another option: [http://momb.socio-kybernetics.net/](http://momb.socio-kybernetics.net/)

Technology showcases also work, like e.g. builtwithbackbonejs.com

</comment><comment><USER17> Where do your customers hang out online? If your customers are "everyone", pick a narrower group to start with that you can target more directly, and then once you get traction there, expand to other groups.

</comment><comment><USER18> I had my last product on the front page for a while. Show HN can be a good source of traffic, but it was quite useless for getting users, or even quality feedback.

I suggest you look for niches in your industry.

</comment><comment><USER19> You don't appear to have a link to it from your profile?

</comment><comment><USER20> [https://news.ycombinator.com/item?id=6488822](https://news.ycombinator.com/item?id=6488822)

</comment><comment><USER21> Startup Buffer: [http://startupbuffer.com](http://startupbuffer.com) Disclaimer: I am built that.

<comment><USER22> People don't sign up for random generic lists anymore.

</comment></comment><comment><USER23> [http://startupli.st](http://startupli.st) is one I often look at.

</comment><comment><USER3> [http://beta.techendo.co/](http://beta.techendo.co/)

</comment><comment><USER24> Are the people who use "betalist" and HN in your product's target market?

</comment><comment><USER25> Contact non-profits directly and offer them a free beta account. It worked for us.

</comment><comment><USER26> Centercode is a good, for-pay beta service provider. (Centercode.com)

</comment><comment><USER27> producthunt.co

</comment><comment><USER28> By picking up the phone

<comment><USER29> YES!

<comment><USER30> Or NO!

Frankly, the right answer depends a lot on the nature of the business, and the people involved.

Being in the tech business, I would never even consider hearing someone out on the phone, simply because >99% of the unsolicited phone calls we get are scams or completely inappropriate for what we do.

If you were to send me a personal email, OTOH, you'd be guaranteed a reply. And it'd be much more likely to be positive if I've had the chance to check out your offering at my own pace.

<comment><USER28> Was more about the principle, talk to frickin' users!

<comment><USER30> I completely agree!

I was answering urbangangster's very explicit pro-phone opinion with a different, real-life side of the same story.</comment></comment></comment></comment></comment>


Ask HN: What are the websites that you rely on but have horrible UI? - <AUTHOR>

I love travelling and use Wotif.com a lot to find great hotel deals. The things is, Wotif has horrible user interface. For example, if you go to its homepage, you need to do multiple scrolling to select your destination on a country list with the size of 1 inch. Another example is airline websites, but thankfully this has been solved with Hipmunk (yay!).
So I'm asking you guys here if you share any frustrations with me on the websites that have really bad UI but we need to use it anyway. I hope this post will inspire these companies to either fix their UI, or more likely, somebody starts something better to replace them.
Thank you. <comment><USER2> _All_ the banking sites I have used have highly unusable UI. The same with my mobile and broadband service provider websites.

Sometimes it is just not about the UI. I can live without the best looking websites, but if the functionality is equally broken as the UI, then it is really frustrating. One of my biggest pet peeves is the back button not working in many websites. Many systems just tell you to log in again and it just freaks me out.

<comment><USER3> Oh god - don't get me started. I have one that enforces a crazily long password and then asks you for characters taken at specific locations from this password.

Which means that every time I log in I either end up scribbling down my password on a bit of paper or typing it into an editor window.

I refuse to believe this actually improves the level of security.

<comment><USER4> You could use Wells Fargo instead - they limit you to 14 characters, which isn't even what I would consider a medium length password.

<comment><USER5> I'm guessing that he's talking about Barclays in the UK. There the only one's i know who do this.

<comment><USER6> The Royal Bank of Scotland does this too, though they don't enforce crazy long passwords.

<comment><USER7> Lloyds TSB in the UK, too.

<comment><USER8> HSBC do this, but limit you to 10 digits

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> HN? :-)

If Reddit is "Spartan but functional", HN is positively Hittite. "We'll impale you on an iron stake and let you die slowly outside the city gates if you don't like it" user friendliness.

Oh well, at least it keeps the barbarians out.

<comment><USER10> What is horrible about it? It doesn't get in your way and allows you to post quickly. This is the only place I've engaged in online conversation for years and that's because it's just so quick and simple. Compared to forums and commenting on blogs & entering captcha's it's very usable!

<comment><USER9> How often have you mis-clicked on an down arrow instead of an up arrow (or vice versa)?

Have you ever asked someone who's not a regular to upvote something? That's obviously not something that should be done (but I guess we all sin sometimes... call it a wild unruly youth), but if you do, you'll find that most people don't even see the voting arrows, let alone figure out what they mean.

If advanced users still make fairly critical usage errors because of small, opposite buttons right next to each other, and newbies can't learn the fundamentals of the interface, i'd say that makes it fairly bad.

On the other hand, as I said, it keeps the barbarians out.

<comment><USER11> Maybe that improves the results. Your score is not a straight up vote from everyone, it's just a sampling from the subset of HN users that can figure out what the buttons do.

<comment><USER12> > it's just a sampling from the subset of HN users that can figure out what > the buttons do

Or those who don't experience layout problems. Often there is a significant part of the down arrow that results in an upvote or vice versa. Generally happens in FF for me. I feel like I need to check the URL before clicking.

</comment></comment></comment></comment></comment><comment><USER13> GoDaddy.

I was going to cite some specific examples but really the entire site is a perfect case study for bad UI.

On the other hand, it is extremely well optimized for revenue (but that's a different discussion).

<comment><USER14> I hate when I have to do anything on Godaddy. It might be optimized for revenue, but I find the added steps so they can upsell very annoying. I've been using namecheap a lot more lately and their UI is not much better, but I'm able to do what I need to do much faster.

<comment><USER15> It would be nice if GoDaddy had an option for your account like: "I'm never ever going to buy a shopping cart, or email addresses, or any of that other stuff from you, just take me right to the payment page, please."

</comment></comment></comment><comment><USER16> CiteSeer.

I spend most of my non-work hours there and it's horribly broken. Case in point, I just went there now to tally the most visible aspects of its brokenness, turns out it's down, again.

Yeah, CiteSeer is horribly broken. ArXiv is mostly for crackpot physics and has a tiny CS/EE index. What else? I refuse to pay ACM, Springer, or IEEE.

Google Scholar just .. looks "search enginey" and doesn't have the summary bar with citations, years, etc. Also, it heavily links to the above "resources" that I refuse to pay for.

CiteULike is just as lame as CiteSeer in terms of UI, but lacks the info-bar on the side, and adds crappy social elements.

CiteSeer gets the caching right though, which is why I keep going back to it.

<comment><USER17> arXiv _is not_ just for crackpot physics. A lot of the papers on arXiv are there to allow wide access to science research that would otherwise not be possible with the prohibitive cost of journal subscriptions. I know several fantastic physicists and major international collaborations that publish on arXiv 6 months before the paper is published in a journal.

It's true that you need to be an expert in the field to tell the crackpots from the experts, but if you don't understand enough of the paper to tell whether it is realistic or not then you probably will not gain very much from reading it.

<comment><USER16> Oh, I stand corrected then.

I discovered ArXiv over a decade ago, but from early on, it was filled with people of questionable insight, if not sanity, and I began to avoid it. There are some notorious USENET trolls who used it to build their credibility, and it kept me away since.

<comment><USER17> It's got no data quality checks, so you need to use it with caution, but something like <http://arxiv.org/list/hep-ex/recent> is a really nice tool for High Energy Physics (you can see quite a few of the first results from the LHC there, for example, without paying any journal subs.)

But it's a much better academic tool than a commercial one, and I would not be surprised that a lot of cranks put stuff up there and claim respectability by association, especially in theory or mathematics.

<comment><USER18> Actually, getting your paper into arXiv isn't _that_ easy - IIRC, it essentially requires you to work at a university.

<comment><USER17> I think that you must register as being present at an institution, but I am not sure how strongly they check that information. Maybe they take your subs off if you are caught lying, but what are the chances of being caught?

</comment></comment></comment></comment></comment></comment><comment><USER19> Paypal. Trying to find anything is a 10 minute exercise in spelunking through at least 10 different pages.

<comment><USER20> It's also way too slow.

</comment></comment><comment><USER21> Blackboard, at every university.

<comment> wh-uws I really believe this market is ripe for disruption. Like right now.

<comment><USER6> The problem is that as soon as you are any threat to them, they'll either sue you (they have a ton of e-learning related patents) or buy you. Not sure you want to go into that area.

<comment><USER22> Our University recently switched to Moodle, which is an open source competitor.

<comment><USER23> So did ours. The problem is that most faculty hates it. You need to realize that most professors are quite set in their ways and have been using Blackboard for years, so they're opposing the full roll-out. Even some of the I.T. Faculty want to stick with Blackboard.

<comment><USER11> Same reason our University had such a hard time switching from Internet Explorer, and is still stuck on Windows XP. Most faculty members are not power users and they want to stick with what they know, no matter how crappy it is.

</comment></comment></comment></comment></comment></comment><comment><USER24> Slashdot! Especially on iPhone/iPads. It randomly switches between normal and some large font special rendering for no apparent reason. The comments interface is barely usable on these devices too - no drag/drop of the comments filtering threshold, expanding a hidden comment on the ipad scrolls you off a mile down the page, fortunately with a small arrow showing the chosen comment when you scroll back up to find it....

And the ajax interface is so intertwined with the generated HTML I can't see an easy way to write a decent native app...

And trying to google for anyone else's thoughts on the matter just leads to more slashdot stories...

I'm so happy to have found HN for a sane browsing experience! (Not just the usability!)

<comment><USER25> I agree on the Slashdot iPad issue. Expanding a hidden comment is useless.

</comment></comment><comment><USER26> Craigslist. In spite of the UI, it's still the best place to locally buy/sell used stuff within the US.

It has been like this for years though, so at this point I doubt they'll make any significant changes to the user interface.

<comment><USER27> They recently made changes, but I really love the simplicity of the UI. Minimalist. What is it that really makes it a poor UI, lack of gradients or lack of ajax. I think it does what its supposed to do exactly how it should be done.

<comment><USER28> it takes too much of my time to do simple tasks

</comment></comment></comment><comment><USER29> My bank's website. For example to get my account statement, I have to select which company I want, which account I want and what type of statement I want. Even though I have exactly one company, exactly one account for it and exactly one possible statement I can ask for.

<comment><USER30> Seconded, at least for my Chase accounts. Credit unions' websites are often much better than your average BigCo bank (ex: <https://www.becu.org/>).

</comment></comment><comment><USER31> Pretty much any Indian website that I use including: www.icicibank.com/ www.bangaloreone.gov.in/ www.bookmyshow.com/ (Mainly the payment processing piece) www.irctc.co.in/ (I challenge anyone to find a website that has 4MM unique visitors/mo. and that has worse usability) timesofindia.indiatimes.com/ (Popovers/unders, floating ads. Annoys the crap out of me each time I use it. But I still use it. Go figure)

<comment><USER32> icicibank.com is ok and gets the work done for me at least compared to HDFC and other internet banking sites.I agree with other sites. Especially IRCTC. The new beta interface and the frequent,infamous and random errors makes me want to kill myself. But we are stuck with that. Another hobby of me is to check popular indian university and college websites and they all are pretty much ugly.

I can add many to the list - moneycontrol, rediff and any news sites. Also,i'm pretty sure the sites i have never visited such as in.com, ibibo etc. will also be awful.

</comment></comment><comment><USER33> MSDN.

They improved it a bit with somewhat recently added layouts with less scripts, navigation trees, iframes and whatnot, but it's still unusable without Google (or Dukgo -> !msdn) for me.

<comment><USER34> I call it NASCAR navigation. I keep clicking links, thinking each will lead me to the info I want, but more than once I found myself clicking in circles. The other big issue is the number of broken links.

<comment><USER35> "NASCAR navigation"... good term. It express exactly how I felt today while reading on TFS (Team Foundation Server)

</comment></comment></comment><comment><USER20> Every single credit card gateway's web interface I've used.

<comment><USER36> Perhaps unrelated, but I've always wondered why <http://www.authorize.net/> insists on generously using 1990s-style stock clipart all over their site. Does the picture of the lady with the headset really make their operation _that much more_ trustworthy?

Not to mention, anything with this sort of clipart now automatically looks like spam/domain landing page to my eyes.

<comment><USER37> I think "stock photography" is the phrase you're looking for.

> Does the picture of the lady with the headset really make their operation > that much more trustworthy?

Actually, yes. I would definitely bet that that style of corporate stock photography is what their target audience associates with "trustworthy".

</comment></comment></comment><comment><USER38> CAESAR. <http://www.northwestern.edu/caesar/>

Everything sucks about it. Everything.

</comment><comment><USER39> The Virginia Business One Stop (<https://apps.cao.virginia.gov/IDC/index.html>). It's not something I have to use very often, but it's on the top of my mind because I just formed an LLC. Its primary purpose is to help new companies get formed in the state by providing a "wizard" to help you gather in one place all the information and forms required by the state and Fed. When I finally found it through word of mouth (it's _Flash-based_ and doesn't show up in my Google search results), I had already formed my LLC but was wondering if there were any important forms I had missed in my manual dredging of the State Corporation Commission's site. I could go on about the poor user experience, but suffice it to say it makes incorrect assumptions, forces repeated data entry, sends you to sites (the IRS) that have an even worse UX and hang without saving, and makes you pay $20 for the privilege.

On the plus side, I've now gotten my first bad business decision out of the way.

</comment><comment><USER40> Hotmail, even after its recent Gmaily redesign.

I find all the View options distract my eye from the Actions that I am more often looking for, and I still find it clunky and too time consuming to use easily. I'm only still on there for old contacts who don't have my gmail address.

</comment><comment><USER41> Slightly off on a tangent here, but with the recent influx of Digg users to Reddit there's been an unusual amount of chatter over there about usability. The newbies seem to think Reddit is ugly and hard to navigate, whereas the old-timers think of it as spartan and utilitarian.

<comment><USER42> Ugly? maybe. Hard to navigate? I don't know how you could make it any easier. Maybe making everything bigger?

</comment></comment><comment><USER43> DNS Made Easy

You can't use the back button and you can't open links in a new tab/window

<comment><USER44> Yup. Their website is totally DNS Made Hard. Furthermore, delete removes all records by domain name. So if you have aliases, you have to type them in all over again.

</comment></comment><comment><USER45> Gmail. Everything's so small and needs so many clicks. Nothing optimizes for my typical workflow - read an email, archive it. Sometimes reply to one. Sometimes mark it for later.

<comment><USER45> I'm sure the keyboard shortcuts would be awesome if I'd ever had a browser / OS combination that they worked on.

<comment><USER46> What doesn't work? FF + Windows has always worked for me.

</comment></comment></comment><comment><USER47> I'll second all the bank comments. My own bank is horrible and has no way of escaping from statement view without logging back in (same with print friendly pages).

Of all the others, the one that got me most recently was Skype. Trying to upgrade my account, I spent a good half hour trying to figure out which links did what (some go to help, others to order pages). It's never entirely clear that you are buying what you think you are until you get to final payment page.

</comment><comment><USER17> Spires (<http://www.slac.stanford.edu/spires/>) is a difficult search box to use. Everyone I know uses the "Easy Search" option on that page. It's just my hunch, but if you need to have a non-default "easy" option for searching, you're probably doing it wrong.

However, the info aggregation at Spires is amazing and it's more or less an essential tool in High Energy Physics.

</comment><comment><USER48> Malaysian Airlines website. I was trying to buy a return ticket to Hong Kong. I entered my credit card details, clicked next and received an email saying I've bought the ticket..... to Kuala Lumpur. It's probably that I entered the wrong destination but, for a plane ticket, why is there no confirmation page!? I called them up and they said it'll cost $150 to fix it.

<comment><USER49> Off-topic but: what is your recourse here? Can you cancel the charge at your CC company? What's the impact of doing that?

<comment><USER48> It's my dad's credit card; He says he hasn't been robbed so how can he cancel the charge? Also, the wrong ticket I bought very clearly stated "This is a discount ticket, it cannot be changed or refunded." I feel lucky they even let me to change it for $150.

</comment></comment></comment><comment><USER50> Public library search interfaces are awful. The Vancouver library and Seattle library both use the same standard catalog software. They're slow and clunky.

Based on the name ipac, I think they both use this software - <http://www.l4u.com/iPAC.php>

</comment><comment><USER51> Craigslist. It is insanely hard to manage multiple _anything_.

Whether you've got all of your furniture up for sale or are interested in more than 2 apartments. It's just such a mess.

But dammit, it works... and I'm not sure I've ever personally experienced a second of downtime.

</comment><comment><USER52> Several of the TV shows I watch put the episodes online (which is great), but the websites invariably fall short in the way they organise those videos and the rest of the site. They are definitely popular _in spite_ of their UI, not because users "unconciously" prefer it.

<comment><USER25> Which TV sites do you not like and which do you consider good UI?

I am currently working on a video site, and looking for suggestions.

</comment></comment><comment><USER53> TripAdvisor. Terrible UI in that everything was too green and too dense. It used to be especially hard to use on the iPhone.

If it were me, the mobile use case would be among the first I'd solve for a travel site, but it took them some time to get around to it.

Meanwhile, you'd load up Trip Advisor on Mobile Safari and get either browser pop-ups or worse, content-obscuring overlay ads you had to swipe around the screen to dismiss. (Best part: these popups were trying to sell me airline tickets for the town I was already in.)

It became so bad I just stopped using Trip Advisor, but I endured it for awhile every time I traveled. Now I use travel guides and other sources.

<comment><USER54> I think when you're talking about the mobile site you're probably referring to when they didn't have a mobile site yet. Over the year they've released an actual mobile website.

I do agree that the full site ads are pretty annoying, and the mobile site has its issues, but it's more usable than what it was before (which was the full site on mobile).

<comment><USER53> Yeah, I was using it on iPhone before they had a proper, mobile-optimized site.

And wow, just tried it out. Much easier to use than muddling through the full site before.

Maybe I'll give them a try again. I was turned off by their aggressive sales pitches.

</comment></comment></comment><comment><USER55> The most (and it has ben decades) badass UI of the web is the sun Java website which keeps you from downloading the right sdk/jde/jee/bleh in under 10 minutes !

edit: I'm complaining about their multiple bundles that make no sense at all , at least for me.

</comment><comment><USER56> Don't want to look a gift horse in the mouth and I still love the product, but Google Docs hasn't improved all that much since it launched. I loved Etherpad when it came out, then I was really excited when Google bought Etherpad... but they haven't implemented some of the basic stuff Etherpad had.

Still love GDocs and I'm really hesitant to complain about something I'm getting for free - but I do think they're playing with fire here a little bit if Google actually cares about the online document space. If they don't improve GDocs, someone's going to come take that market share from them, and Etherpad already showed a few easy improvements to make.

<comment><USER46> What are some specific problems you have with GDocs? I see a small bug once in a while, but nothing major.

<comment><USER57> I was using Chrome and imported a .doc into GDocs a week ago. A ton of words were marked misspelled; it was internally seeing "wor d" instead of "word". Deleting and retyping the words didn't help.

</comment></comment></comment><comment><USER58> I know of a calling card website that asks the user to enter the last 8 digits of their pin to validate their account, then it asks the user to enter the last 4 digits of their pin to continue.

</comment><comment><USER59> United.com, especially the mileage plus section. Had to write a script to screen scrape the data I wanted out into CSV, where they could just offer an API/export feature.

</comment><comment><USER25> revision3.com - I watch the show Filmriot. Each tv series has its own section, but you must navigate through several clicks to watch the current episode.

Also, if you don't interact at the end of the episode, it will start automatically playing older episodes in reverse chronological order.

...and there is no cohesive source of information. It is spread between revision3, facebook, and twitter.

</comment><comment><USER60> Jobmine. <http://www.jobmine.uwaterloo.ca/> Everything sucks about it. Everything.

</comment><comment><USER61> Pivotal Tracker.

</comment><comment><USER62> rallydev.com

It's really quite awful and cumbersome in certain respects. It's a useful tool but it makes you go through so much to do some really basic things (like adding items to an iteration) and the search is next to useless.

</comment><comment><USER63> www.teamliquid.net

everything is forum style with a shitty forum implementation :/

</comment><comment><USER64> evite.com

Horrible UI, both the old and the new one. Plus they don't expose any functionality in their emails, you are forced to come to the website for simple tasks like a 'yes' response.

</comment><comment><USER65> Indian Government Websites. Suck big time. Try anyone of them

</comment><comment><USER66> Billing websites for public utilities (gas/electricity).

</comment><comment><USER67> LiquidPlanner. I find the UI noisy and counterintuitive.

</comment><comment><USER68> boardgamegeek.com

</comment><comment> tomh- Windows live mail

</comment><comment><USER69> Everything by my university.

</comment><comment><USER70> Salesforce

</comment><comment><USER71> Amazon

</comment><comment><USER72> Virgin Mobile, NEt10, Oracle, IBM, IRS, and any bank

<comment><USER73> I use Virgin Mobile Broadband 2 go. That website would have been bad in the 90s! Plus the flow for topping up is pretty poor. After adding money, I should be given the choice to purchase MBs, instead of going back to the main screen!

</comment></comment><comment><USER74> ebay craigslist odesk

see a pattern</comment>


Ask HN: Can I compete? - <AUTHOR>

I am looking for help/advice.
A few weeks ago, I had a flash of inspiration, which turned into a good idea. The more I thought about it, the more I realized it was a _great_ idea. I looked around for other companies/products that were doing something like it already, figuring something had to be out there. I couldn't find it, so I began figuring out how to make it myself.
However, I discovered a service yesterday that does almost exactly what I wanted to do. It's not completely off the ground yet, but it's been covered in the press, is YC backed, and was built by three people from companies like Google and Apple.
I've never worked for a huge tech company, nor do I have any funding or co-founders. How can I compete? Can I? <comment><USER2> I grew up relatively poor, in a small town (800 people), didn't do that great in college, went to a no-name college in the midwest. I used to think like you "How will I ever compete"

And then I started to meet people the exact opposite of who I was. I realized they are just like me, and there is nothing to be afraid of.

If you're motivated and half way intelligent you'll be fine. Things probably won't turn out how you expected, but you'll be okay.

<comment><AUTHOR> yeah, it's hard to imagine being similar to someone who built something covered in TC, when something I built has only ever been covered on my (small) college's website. they don't seem to compare :)

<comment><USER2> So, you've got coverage already. Awesome!

Use the stair step technique. Who is slightly bigger than your college's website? City/State Paper? And then build from there!

<comment><AUTHOR> thank you for your motivation! I really appreciate it. it's because of smart, motivational people like you that this board flourishes

</comment></comment></comment></comment><comment><USER3> It's near impossible to find anything with zero competition. If you think you can build and market it, do it. You never know what direction your competition is going to take.

I'm working on project that would have been in direct competition with a YC funded company. Then they were bought by Twitter and dissolved a month before my launch date.

<comment><AUTHOR> Thank you for your response! I really do want to try to build this thing, and it helps to hear that just because I'm up against a huge obstacle, doesn't mean I can't do it.

</comment></comment><comment><USER4> Undoubtedly.

It's really up to you. With most things, it's really about the execution and first-mover advantage is increasingly becoming even less important.

As for competition, that's generally a good thing. It simply means that you might be on to something if other people are pursuing the same opportunity.

<comment><AUTHOR> yeah, that was one of my thoughts too. If it's already been funded, someone must think it's a good idea.

I think a lot of my fear is they are three ex-tech-giant guys, and I'm one guy who didn't even apply in the Valley because I don't think I'm a coding "rockstar".

<comment><USER4> Color is an app founded by three ex-tech-giant guys.

:)

<comment><AUTHOR> haha, fantastic point :)

</comment></comment></comment></comment><comment><USER5> I once read somewhere (I honestly can't remember where) that if you are the only one pursuing a business idea with absolutely no competition, you are either a genius, or a fool.

This all comes down to such trite sentences as: "Ideas are a dime a dozen", "Execution is everything", blah blah blah.

<comment><AUTHOR> I really like the "genius or fool" quote, it is perfect. thanks for sharing!

</comment></comment><comment><USER6> If you have an idea, at least 5 different people have already had it. Blah blah blah all boils down to if you think you can make it, then will make it.

With regards to market position and all that stuff, thats where strategic thinking come in. Its how Apple unseated RIM. Google slammed Yahoo, Altavista and all those others. And lets not forget YouTube. None of these companies were the first in their field, but they are at the pinnacle today.

All that said, practically speaking, it would be an excellent idea to involve others - mentors, board members, financiers, and/or cofounders. Best course of action is to find a startup incubator nearby and get the feel for the people there.

<comment><AUTHOR> Thank you for the advice. I think the sell to cofounders/financiers will go over better once I have the prototype working :)

</comment></comment><comment><USER7> You could ALWAYS compete. When you have a great idea and it seemed obvious and there is no one doing it, you should reconsider it. A good idea is afraid of being lonely.

<comment><AUTHOR> very good point. thanks!

</comment></comment><comment><USER8> Make it and release before them, steal their thunder.

1 competitor is nothing to worry about. Like everyone has said competitors mean there is likely a market. That being said given they haven't launched nothing is proven.

</comment><comment><USER9> Find a niche and own it.

<comment><AUTHOR> So, a market sector with no competition? Or is this sector still niche because only one service is addressing it?

<comment><USER2> I would avoid a market sector with no competition. If you have no competition, you're probably creating a problem to solve.

Sometimes competition is a bad word to use though, and it is better to think of as alternatives. For example, the first car company had no competition, but they had alternatives (the horse).

<comment><AUTHOR> interesting, I've never thought of it that way. that actually is a fantastic parallel in this case, too.

I know competition brings innovation, but it still makes me feel very self- conscious about my abilities to create a comparable product, one that could be considered an "alternative".

Thanks for your response!

</comment></comment></comment></comment><comment><USER10> I have been cataloging my ideas for several months now, in preparation for bringing others into the loop to help further refine and develop them,

By every metric bandied about on most start-up/entrepreneur websites involving initial position to make a good jump, I wouldn't appear to have a chance. I certainly don't fit the model of elite-school graduate with powerful social networks/resources installed from boot-up.

I don't even think about that stuff. It's information detailing other people. Not me. Not my thoughts. Not my ideas. Not my approach. Not my experience. Not my insight. Not my life.

Not a problem.

They say there's nothing you can say or do that hasn't been said or done before... but we've got more resources at our fingertips this instant than the entirety of all civilizations on Earth did just 20 years ago. We have the ability to grow our thoughts into real things like never before in history, and I mean to use them. You should too-- be _exited_ , not pensive.

Be awesome-- your inspiration is not like others, and your implementation need not be the same either.

I think of articulating ideas in a software solution context as describing Mona Lisa's smile. Many people will use many different words. Some will sound better to some people than others, and others will sound good to everyone-- but there is no perfect answer for everyone. Just remember the most important thing: they are all describing the same thing! Of course there will be similarities between them. They're trying to solve the same problem(s). No worries.

All you can do is observe, watch others observe, and learn to describe your solution the best way you can-- using your vision and the world around you as a feedback mechanism to tweak and develop your approach.

You might have a superior element to your design that the current developers will not even ponder until they see you implement it.

TL;DR: JUST DO IT.

<comment><AUTHOR> thank you for your in-depth reply, I really enjoyed it! I love you metaphor of Mona Lisa's smile, it works perfectly for describing how people feel about different approaches to the same "problem".</comment></comment>


Statistics have lost their power (2017) - <AUTHOR> https://www.theguardian.com/politics/2017/jan/19/crisis-of-statistics-big-data-democracy <comment><USER3> Ultimately, I feel this headline ("Statistics have lost their power," in case the Guardian changes it later) buries the lede. The dispute is not really about statistics as a way of understanding the world, it is about the epistemology of it, and at its core the idea that a national aggregate is a valid proxy for well-being.

It's easy to decry:

> Presented with official estimates of how many immigrants are in the country > illegally, a common response is to scoff. Far from increasing support for > immigration, British Future found, pointing to its positive effect on GDP > can actually make people more hostile to it.

... but the underlying belief appears to be closer to:

> If you live in one of the towns in the Welsh valleys that was once dependent > on steel manufacturing or mining for jobs, politicians talking of how "the > economy" is "doing well" are likely to breed additional resentment. From > that standpoint, the term "GDP" fails to capture anything meaningful or > credible.

The first statement makes no sense in and of itself, and it would seemingly suggest a knee-jerk reaction against the very idea of data. However, in the context provided by the second statement we see a different view: a core distrust that "average well-being" (represented by the statistic of choice) in fact represents the _common_ good, suitably defined[1].

As a result, I feel that the article's later musings -- that we're merely collecting the wrong kind of statistics -- misses the core point. If we start reporting on underemployment, then the right circumstances might come along to discredit _that_ indicator, and so on. The article begins to grapple with this issue in its digression into big data (and how there are no national agencies for it in the manner of the ONS), but even there the author deals with a practical problem of said data being more useful in the short term than long term than the core problem:

Ultimately, if society as a whole does not have a shared view of the 'common good', then _no quantity at all_ can measure it. The question of "is this good?" becomes fundamentally unanswerable in a democracy with an identity crisis.

[1] -- That could mean "median well-being," "well-being of people I know / in my region / like me," or "personal, individual well-being of the speaker."

<comment><USER4> I feel like all of this is overcomplicating the issue. Now, at the risk of oversimplifying, I offer this:

If I am not doing well and some journalist or some economist tells me the GDP has grown a lot and everything is great, I am going to feel resentment toward that person. Doubly so if they see my less-than-enthusiasm and start talking about the "common good." Why? Because the implication is either that there's something wrong with me (for not keeping up with the Joneses) or that I am an acceptable sacrifice for the benefit of the common good.

Okay, it's fine if you (the journalist or economist) think I'm an acceptable sacrifice, but don't expect me to be happy about it, let alone agree with you. Don't expect me to support the status quo, come Election Day. DO expect me to try to throw a spanner into the gears. DO expect me to support a strongman who says he'll champion my cause over the cause of those who think I'm the acceptable sacrifice.

</comment></comment><comment><USER5> Journalism has been one of the worst offenders with regard to the misuse of statistics, not only in "soft" topics, but also in science reporting. Perhaps statistical literacy ought to be normative in that profession the same way that checking sources and using correct grammar (supposedly) is.

<comment><USER6> Even if statistical literacy was normative wouldn't people's selfishness still cause them to use/abuse statistics to influence those who are less literate in them?

<comment><USER7> Knowledge can be abused, but lack of knowledge will almost certainly lead to, unintentional, abuse. Especially in the case of statistics.

In many cases, reporters want to be dramatic, but not liars. However, the lack of deeper statistical knowledge often lead to them becoming liars, even though they only wanted to be dramatic.

</comment></comment></comment><comment><USER8> As usual, the title's description is wrong, and the real news is buried and overlooked in the story:

"People assume that the numbers are manipulated and dislike the elitism of resorting to quantitative evidence."

If people don't believe that something is useful, it doesn't matter what that "something" is, it will start to have a diminishing affect our society. It goes for statistics and liberal democracies just as much as ancient gods and ancient languages of yore.

<comment><USER9> That's like saying if people don't like military drones, then military drones will start to have less relevance; but some technologies are sufficiently powerful in their own right that it needs only a few people to recognize their power. Then the stress of competition can do the rest.

I doubt statistics or mathematics gained its influence because various cultures were fond of symbolic play. We study these things because we expect concrete _payoff_ , not because of cultural affection.

So is social science lame? Or is Google insight scary? At some point a deliberate posture of mis-devaluation will come to terms with reality.

<comment><USER8> > That's like saying if people don't like military drones, then military > drones will start to have less relevance;

Sure I'll back that up. Thought experiment: if everyone, including all the drone pilots, suddenly magically stand up all at once, walk away, and never talk about it again, then yeah it won't impact humanity.

Is this particular scenario realistic? No. Has mathematic or chemical knowledge been collectively lost before in human history, and been eliminated from society? Yes.

> but some technologies are sufficiently powerful in their own right that it > needs only a few people to recognize their power. Then the stress of > competition can do the rest.

Sure, those few power can recognize its power, but if it's anything short of immortality, never underestimate the power of every other human being being a Luddite wielding a pitchfork ready to kill over progress, because it violates a cultural norm. Doesn't matter if your statistics can find a cure, societies and collective humans' irrationalities are expert suppressors of technology as both a mean and an end. Look no further than the US stance on nuclear waste reprocessing. The science and power are there. The will of people, is not. Or, look at South Africa and Ukraine giving up nuclear weapons. Power? Yes. Popular will to hold onto this power? No.

> We study these things because we expect concrete payoff, not because of > cultural affection.

Exactly, because society values concrete payoff, things like "derivations from first principles" and "following the scientific method". But if society as a whole pressures people to never pursue ideologies along these lines, or turn actively hostile against it (book burning, HDD erasing).

I take this article as an alarming warning. Scientific progress is itself not an end. And it is not an inevitability. I like scientific progress and statistical tools, this article just goes to show how careful -- ethically responsible -- those of us wielding them must be when living in our society. And call out bad actors.

This is why engineering professions have ethics boards. If engineers build bridges and bad actors build bad bridges, people won't trust bridges anymore. And if people don't trust bridges, they don't get used, so more don't get built.

The greatest failure of the "modern" education has precisely been the removal of religious ethics _without_ an equivalent amount of time working to help students develop their sense of personal ethics.

</comment></comment></comment><comment><USER10> This is an objectively good thing, most statistics don't actually tell most people anything interesting about the world. They don't aid the average untrained guy in the street in gaining a better understanding of the world around them. They are bombarded with opinions that are based on contradictory studies and statistics all day, this is bad in politics and sociology but medical statistics are probably the worst offenders.

Wine is good for you, chocolate is bad for you, cholesterol is good for you, wine is bad for you, red meat good for you, Fluoride bad for you! I could find you a statistically significant study supporting any conclusion I want right this minute. Since that is the case, why should the average Joe believe any of them? This is made even worse by news articles and popsci blogs not even linking to the source papers, so avg Jane can't even investigate further if she wants to.

<comment><USER11> Statistics aren't bad. Extrapolating unwarranted conclusions is bad.

<comment><USER10> I am not a trained medical professional, and I don't have time to be scrutinizing and reading background literature to gain a full understanding of the context each specific study has within its sub-field. I don't have access to whether these conclusions are generally accepted or are commonly disregarded for some technicality in the methodology that I didn't understand. Me personally, I can't be an expert in everything all the time, and I can't waste my life gaining a full breadth of understanding of every topic. I rely on extrapolations to do this for me, if those extrapolations are commonly faulty, I won't pay any mind to them.

<comment><USER11> Unfortunately, this is the best option for modeling the world around us that humanity has come up with. Throwing out the only tool we have to evaluate and re-evaluate what we consider to be knowledge is not the best course of action.

Solution is to support proper scientific procedures, support civic organizations carrying out the important tasks of vetting claims, and being an example of someone who values the correct protocols when evaluating data and making conclusions (or not making them).

It's a very slow process, and we're lucky we're in a timeline where the work of various people throughout history has gotten us here. We'll have to work to keep it going further, and literacy in math, statistics, and the scientific process is crucial.

<comment><USER12> I disagree here strongly. It is not the best option. Statistics has become the tool of obfuscation and making exaggerated claims.

Compare the two statements: "10 out of 80 people that took the drug lived a month longer but were extremely miserable."

Versus: "A new cancer drug doubles the average survival rates scientists say".

Which one do you understand better? Here I just made up some examples, but as a scientist I'll tell you just about all the papers I read are in the second category, it takes an unreasonable amount of effort to get the first type of infomration out of the publications.

<comment><USER11> I don't understand the chain of reasoning in your claim regarding the 1st and 2nd statements, and statistics in general.

When I use the word statistics in this conversation, I mean the use of math to analyze and compare data. This can be done inappropriately, of course, but the problem doesn't lie with the principles of math (including statistics), but the agent using them inappropriately.

And medical (or biology related) statistics are used most inappropriately, due to various cognitive biases and financial incentives. But the problem is not statistics, and it's still the best tool we have unless we can find a Magic School Bus to shrink us down and go observe the chemical reactions in real time. But I know that stats are abused, so anytime I see a fantastical claim, especially in medicine, I approach it much skepticism.

<comment><USER12> There are fields of science that have banned certain statistical measures:

Psychology journal bans P values

[https://www.nature.com/news/psychology-journal-bans-p- values...](https://www.nature.com/news/psychology-journal-bans-p- values-1.17001)

I happen to agree with the sentiment expressed above that the entire concept of hypothesis testing is fundamentally flawed. This is what you call the "best tool". It is not, it is the tool that is used because it allows for the most fudging of results.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> The quote, "using statistics like a drunk uses a lamppost, for support and not for illumination" comes to mind.

Data is great for illuminating things, but for arguments, it's usually cherry picked. I do think that writers for the guardian vastly underestimate the intelligence of people who don't agree with them. I generally mistrust statistical arguments because someone forearmed with statistical talking points has usually already signalled their intransigence. Data is nice, but alignment of interests and incentives is better.

It reduces to, "according to criteria and data I have selected, your argument does not bear out." It is a passive appeal to the authority of whoever provided the number, and not meaningful or logical information in itself.

Logical arguments tend not to persuade anyway, but to say someones argument is illogical because it does not resist a coded illogical premise (appeal to authority fallacy), is certainly a way to make them give up on arguing with you.

</comment><comment><USER14> It is more about declining trust in the source of that information and the institutions that spread it around. People have been given plenty of reasons to distrust the various sources of information over the past decades.

</comment><comment><USER15> Even if the underlying statistics accurately represent the situation correctly, bad analysis on top of it creates the same results. From last week:

 _" Paul Krugman and other mainstream trade experts are now admitting that they were wrong about globalization: It hurt American workers far more than they thought it would."_

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

<comment><USER16> That Foreign Policy article illustrates exactly why the influence of statistics is on the decline. If you read Krugman's original article ([https://www.bloomberg.com/opinion/articles/2019-10-10/inequa...](https://www.bloomberg.com/opinion/articles/2019-10-10/inequality- globalization-and-the-missteps-of-1990s-economics)), you can see Krugman make several points, all using statistics. One point is that the effect of globalization in the 90s was small, but it had an unexpectedly large impact on manufacturing in the 2000s. The second point is that the overall effect disguised the fact that certain industries were particularly hard hit. He then cites the papers where you can find the details. These papers only exist because of the statistics they do. Krugman is a clear writer, and he is taking the unusual step of admitting he was wrong, so his article should be interesting.

But nobody cares about that, because nobody cares about statistics anymore. They want that dopamine hit of outrage, so they read the FP article, that deliberately misrepresents the argument (notice how "manufacturing" suddenly becomes "workers", despite the fact that most workers are not in manufacturing), and doesn't give any evidence. It just quotes a bunch of people settling scores with Krugman. Even there, it mischaracterizes, for example, Krugman's review of Greider's book to heighten the outrage.

Statistics is boring, and rage is interesting, so the Internet era optimizes for rage.

</comment></comment><comment> 08-15 This single sentence explains the problem very well:

> The thinktank British Future has studied how best to win arguments in favour > of immigration and multiculturalism.

BF didn't set out to figure out whether immigration and multiculturalism is favorable. They only tried to figure out how to use statistics (or anything else) in support of their foregone conclusion.

Maybe the headline should be "Statistics have lost their usefulness for propaganda."

</comment><comment><USER17> I think the solution to this problem is more statistics. In particular, we need a mandatory statistics course at the high school level. The problem is that people are bombarded with "studies" right now claiming to prove stuff and many of them do no such thing. If people had a better sense of what is provable and what isn't, what makes for a good study, how much you should trust the results of a single study etc, I'd hope that they'd be far more informed and effective citizens.

<comment><USER12> that is the cliche definition of insanity:

"doing the same thing over and over and expecting a different result."

probably the most common mistake students everywhere make. They keep taking more courses - it never helps just makes you more confused.

</comment></comment><comment><USER18> I can't help but laugh. Make the slightest mention of statistics broken down by race, and the same publication that is despairing of how people no longer trust statistics, would be finding innumerable reasons why _those_ statistics are invalid.

<comment><USER19> Why does that make you laugh? Your take away should not be "well clearly everything someone calls stats should be supported". The article is about how stats are becoming dismissed before examination, not that they shouldn't be scrutinized.

<comment><USER18> And that all the examples given of uneducated masses distrusting statistics just happen to align with the Guardian's pet causes is of course pure coincidence.

Really, that's the perfect example of _why_ statistics are distrusted - <USER2> those statistics that align with someone's agenda get presented. And sometimes, they're not even gathered in the first place: [https://www.thelocal.se/20180508/why-sweden-doesnt-keep- stat...](https://www.thelocal.se/20180508/why-sweden-doesnt-keep-stats-on- ethnic-background-and-crime)

<comment><USER19> You're describing a separate phenomenon from what the article is about. Poking at statistics with biased/politically motivated effort is not the same thing as dismissing the field of statistics entirely.

The article is not suggesting that statistics should not be scrutinized.

</comment></comment></comment></comment><comment><USER20> Too many science projects reporting statistical results that do not hold up in repeat experiments; contradictory media coverage of the same topic repeatedly as a result.

Reduces trust in science, statistics, and the media all at once.

<comment><USER11> The problem is verifying experiments gets no funding.

<comment> munk-a I think the bigger problem is that the initial experiments are usually funded by interests with a desired outcome in the study - instead of being funded by grant money or educational funds.

</comment></comment></comment><comment><USER12> It is a 17th-century concept applied to 21st-century data collection.

Plus it gets misused all the time - even by statisticians that should know better.

</comment><comment><USER21> At one point does policy targeting a statistical measurement render that statistic useless? I'm looking at you, CPI.

<comment><USER3> > At one point does policy targeting a statistical measurement render that > statistic useless?

When the statistic is a proxy for a quantity of interest, and when policy exploits ways of manipulating that proxy without commensurate change in the underlying quantity of interest. My driving policy of targeting my speedometer does a fine job of controlling my vehicle's speed even though the former is just a potentially-inaccurate measurement.

In the case of the CPI (actually the PCE for the US Fed [1]), the quantity of interest is the "[nominal] cost of living." To the extent the CPI doesn't in fact measure the cost of living, the easy solution is to change to a price index that _does_ measure the cost of living. Since living tends to involve buying and consuming things, a price index, suitably defined, can be a fine measure of this.

To the extent you are concerned about the exact ways in which the CPI is computed, independent measurements [2] generally reproduce the broad trends in US data, which in turn suggests there is no significant manipulation by the BLS.

[1] -- [https://en.wikipedia.org/wiki/Personal_consumption_expenditu...](https://en.wikipedia.org/wiki/Personal_consumption_expenditures_price_index)

[2] -- [http://www.thebillionpricesproject.com/](http://www.thebillionpricesproject.com/)

</comment></comment><comment><USER22> 90% of statisticians agree with the conclusion.

The other 90% challenge the sources of this article.

(With apologies you Yogi Berra)

</comment><comment><USER23> Describing this entirely as "the declining authority of statistics" is like saying the WTC towers suffered "declining structural integrity" before they collapsed - there are _people_ behind both...

<comment><USER24> God damnit, you should know better than bringing up WTC towers here. It attracts conspiracy theorist like how moth are drawn to a flame.</comment></comment>


Hash tables - <AUTHOR> https://www.data-structures-in-practice.com/hash-tables/ <comment><USER2> High-performance Hash table design is pretty interesting, because modern CPU architecture has grossly changed their performance characteristics.

In the 90s, it was (probably) faster to do linked-list / chaining as a collision resolution mechanism. But because L1 caches are so fast on today's machines (and DDR4 remains very high latency), linear probing seems to be the winner on modern machines.

Consider that DDR4 RAM is maybe 200-clock cycles to access (50ns on a 4GHz modern machine). L1 cache can be accessed within 4 clock cycles. Fetching an entire cache line is like guessing on 8-positions in linear probing.

The if/else statements will execute all within single-digit nanoseconds (Modern CPUs execute at 4GHz, and can execute more than 1 instruction per clock tick... up to 6-instructions per tick if all instructions are in uop cache and are properly branch-predicted), long before the 2nd location (ex: the 2nd member in a Linked List) can be even accessed.

Furthermore, modern CPUs will perform pre-fetching when they notice code traversing through memory linearly. As such, the 200-clock cycle latency is "pipelined" and performed in parallel in practice. Your "effective latency" drops significantly when you traverse linearly.

EDIT: And finally: staying on the same DDR4 row (Roughly 1024 bytes) means that you only have to perform a Column-read command over and over again. If you leave a DDR4 Row, the RAM needs to precharge, open the new row, and then perform a new column read. Takes roughly 3x longer than reading from an already open column.

<comment><USER3> Firstly, we have L2 caches, not only L1.

Secondly, it is possible for all of a linked list to in fact be in L1.

Thirdly, if by "linear probing" you are at all referring to "open addressing", then there are some disadvantages to consider there.

If we suspect that linked lists are performing badly, the reasonable thing would be to stick with the chained hash table, but replace the chains by little vectors. Essentially, "linear probing" but sideways out of the table, into little sub-tables.

Issues with open addressing are issues like clustering if linear probing is used. If we use quadratic probing, then the table size has to be prime, otherwise we may not be able to able to insert a key into the table even if it is nowhere near full. When we delete keys, we have to leave "tombstone" entries in their place, so that the linear probing can continue past them to find other items. Things of that sort.

<comment><USER2> > Issues with open addressing are issues like clustering if linear probing is > used.

Robin Hood hashing more or less solves that problem.

> When we delete keys, we have to leave "tombstone" entries in their place, so > that the linear probing can continue past them to find other items.

Actually no. Even ignoring Robin Hood Hashing, you just swap a later element into place.

        idx = hash(value);
        delete(array[idx]);

        for(int i=idx+1; array[i] != empty; i = (i+1) % TABLE_SIZE){
            if(hash(array[i].value) <= idx){
                array[idx] = array[i];
                idx = i; // Repeat for the new location
            }
        }

I just typed the above in like 2 minutes, so there's probably a bug. But its probably "correct enough" that you can get the concept. There's no tombstones needed for linear probing (and only linear probing).

Conceptually, you can see that array[i] is simply being "re-hashed" into the hash table. Donald Knuth in "The Art of Computer Programming" proves that the above procedure (well... the correct bug-free version at least) is equivalent to clearing out the hash table and rehashing all elements. Except of course, the above procedure is way faster.

\</comment></comment></comment><comment>--

Robin Hood hashing solves the problem in a different way. See this other guy's blog post for details: [https://www.sebastiansylvan.com/post/robin-hood- hashing-shou...](https://www.sebastiansylvan.com/post/robin-hood-hashing- should-be-your-default-hash-table-implementation/)

<comment><USER3> What you have to do is walk the linear (or whatever) probe sequence completely to find two elements: the to-be-deleted element, and the last element in the sequence. Then if the to-be-deleted element exists, and is the same as the last element, we just mark that element as a free slot. Otherwise, we move the last element over the to-be-deleted element and mark last element's slot free.

Of course, "the last element" has to be one which belongs to the original starting hash slot S. We must check that its hash value odulo the table size is S. The first element that we encounter which not followed by an occupied slot is not necessary that last element.

<comment><USER2> > Otherwise, we move the last element over the to-be-deleted element and mark > last element's slot free.

That doesn't work at all.

Consider a hash table of size 5: [Foo, Bar, 0, 0, 0], where 0 represents "empty" locations. Assume "Foo" is in "slot#0" (0-indexed arrays. Note that Knuth in The Art of Computer Programming works with 1-indexed arrays)

Lets say we delete Foo. Bar does NOT necessarily want to go into location #0. For example, hash(Bar) might == 1 (in the case of linear probing). So in this case, we want to leave Bar exactly where it is.

That's why I have the "if(hash(array[i].value) <= idx){" line in the code. However, this conditional seems impossible to write in the case of quadratic (or other forms) of hashing. This if-statement ONLY works on linear-probing.

\</comment></comment></comment><comment>----

Consider this other pattern (still Quadratic probing): [Foo, Bar, 0, 0, Foo2], where Hash(Foo) == Hash(Foo2) == 0.

While Hash(Bar) == 1.

Lets say you want to delete Bar. How do you know to "move" Foo2 into Slot#1 ? You don't. There's no easy pattern to check for here. Quadratic-probing requires the tombstone method.

\</comment><comment>----

The code I presented is very subtle (subtle enough that I probably have a few bugs in it). It works because linear probing has a very predictable sequence.

Quadratic probing, and other forms of probing (ex: double hashing, Cuckoo hashing, etc. etc.) are very irregular, and hard to figure out if an object "should" be moved back.

\</comment><comment></comment><comment>

There's a lot of ways of thinking about this problem. But I'm pretty sure the description you gave is incorrect.

My preferred way of understanding the problem is as follows:

1\. Upon any deletion, you want to perform a set of operations that is equivalent to rebuilding the Hash Table from scratch.

2\. The procedure I listed before, is provably equivalent to rebuilding the hash table from scratch. (Most elements stay where they are). At least, if I didn't write a bug in it accidentally...

\</comment><comment>--

> The first element that we encounter which not followed by an occupied slot > is not necessary that last element.

I disagree.

An empty slot, __in the case of linear probing__, guarantees that you've finished the chaining sequence.

That's why linear probing is best. Because you have simple guarantees for which objects are part of a "collision chain", and which ones aren't.

This means that deletion under linear-probing can be implemented efficiently. But deletion under other probing schemes (ex: Quadratic) requires the inefficient "tombstone and vacuum" procedure you were describing.

There's a lot of subtleties at play here which makes linear probing the best. And a lot of textbooks get these details wrong (ex: the Cormen book!!).

</comment><comment><USER4> > A hash function is a one-way function that produces the same output for a > given input. It's one-way in the sense that, given the hash function, it > should be difficult to convert the output back to the input without trial > and error.

Usually I like to say that they convert an input into a uniform distribution of fixed length output, since reversibility isn't really important if you using it for a non-cryptographic purpose such as this one.

<comment><USER5> Yeah sometimes the best hash functions for hash tables are easily reversible. And hash functions that can't be reversed faster than brute force can be really bad if their output is biased making collisions more likely.

<comment><USER6> It's an important distinction that many people forget: * Hash tables need speed and uniformity * Cryptographic hashes need irreversibility

<comment><USER2> Cryptographic hashes also need speed and uniformity. They just need irreversibility significantly more.

GF(2) space is incredible for both speed and uniformity. IIRC, the fastest x86 hash-functions just use the AESENC instruction (Note: the AESENC instruction executes with 1-instruction per clock cycle on Intel, and 2-instructions per clock cycle on AMD. Its an incredibly fast primitive).

<comment><USER7> That's throughput you're citing, they still have 4-8 clock cycles of latency, according to [https://software.intel.com/sites/landingpage/IntrinsicsGuide...](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=132,133,227,236,233&othertechs=AES)

<comment><USER2> True, but in practice, throughput is what you should be thinking about as a low level performance programmer.

CPUs can execute many, many, many instructions in parallel. If all your data fits inside of L1 cache (4-clocks of latency), its actually pretty easy to achieve 2-instructions per clock or more !

Furthermore, modern CPUs are out-of-order processors. So the processor will automatically execute independent instructions to "fill up your latency", at least to some extent.

CPUs have enough space to even handle main memory fetches (over 200+ reorder buffers on Skylake, to handle the 200+ clocks of latency on a DDR4 memory read or write). As long as you have "enough independent work to do," its not too bad. Compilers usually figure out independent chunks of work as they unroll loops for example.

In my experience, the loop accounting (for int i=0; i<100; i++) will all execute inside of that latency in parallel to the work inside of the loop. So there's almost always work to do, at least at the ~5 clocks to 10-clocks worth of "misc" functions in any bit of code.

The hard part is coming up with work to do for ~50ns of latency (ex: DDR4 Reads or Writes).

<comment><USER8> Actually no, latency is usually a bottleneck before throughput is.

Edit: for example when accessing an hash table, the hash computation is in the critical path.

<comment><USER2> > Edit: for example when accessing an hash table, the hash computation is in > the critical path.

Hmmm... I think I'm biased a bit because of something I'm writing recently where different iterations of a loop were independent.

In this case, you're right. The hash calculation is on the critical path and therefore is latency bound.

<comment><USER8> > Hmmm... I think I'm biased a bit because of something I'm writing recently > where different iterations of a loop were independent.

That's a great place to be in :D.

BTW, I haven't tried to get implement an hash function in a while (I remember playing with carryless multiplication), but IIRC 6 clock cycles is not too bad.

<comment><USER2> > BTW, I haven't tried to get implement an hash function in a while

Multiply RAX, CONST1 / bswap RAX / XOR RAX, CONST2 / Multiply RAX, CONST3.

12 cycles of latency. CONST1 and CONST3 must be odd (bottom bit is 1). Pick CONST1, CONST2, and CONST3 out of /dev/urandom.

\</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment>--

BTW: This is exactly why latency didn't matter, because the 12-cycles of latency here are basically independent between loops. The next loop iteration would cut-the-dependency on RAX, allowing the next loop iteration's "RAX" to get a new register and execute independently.

\</comment><comment>--

AESEnc is a good baseline, but you need 2 or 3 iterations of it to work well. AESEnc also works on 128-bit vector registers, but most people want something that works on the 64-bit registers.

If your data was already in XMM registers, AESEnc / AESDec will be great. Otherwise, 64-bit multiply is really good at shuffling those bits around. Take RAX (64-bit result), EAX (32-bit result), AX (16-bit result), or AL (8-bit result) as needed.

<comment><USER9> If you are multiplying (or using any other t-function) for mixing, you generally want the higher bits, rather than the lower bits.

<comment><USER2> Think about what bswap does: [https://c9x.me/x86/html/file_module_x86_id_21.html](https://c9x.me/x86/html/file_module_x86_id_21.html)

After Multiply / BSwap / Multiply, all 64-bits will be "high quality". The XOR "shifts the zero" (I don't like the fact that Hash(0) == 0 personally), but honestly I haven't been able to figure out a statistical change in my testing. So I guess the XOR is optional.

<comment><USER9> er. confession: I somehow only read the last two sentences in your post!

</comment></comment></comment></comment><comment><USER10> Also [http://craftinginterpreters.com/hash- tables.html](http://craftinginterpreters.com/hash-tables.html)

</comment><comment><USER11> > SipHash is a relatively fast hash function.

Oh my! SipHash is by far the slowest of all practical hash functions. [https://github.com/rurban/smhasher#smhasher](https://github.com/rurban/smhasher#smhasher)

<comment><USER12> Those benchmarks are for hashing data in the billions of bytes range. Hash tables typically use data in the 1-20 byte range. Pretty big difference!

As it turns out, hash functions optimized for billions of bytes don't work so well when you use them on only a few bytes. There's just too much startup time and too many irrelevant branches and too much bloat for the icache to handle. That's why most hash tables use simpler algorithms like FNV1A or SipHash, which are faster for small data.

<comment><USER13> > Those benchmarks are for hashing data in the billions of bytes range. Hash > tables typically use data in the 1-20 byte range.

No, you misunderstood the purpose of the project. From the benchmarks, SipHash:

       Small key speed test -    1-byte keys -   110.91 cycles/hash
       Small key speed test -    2-byte keys -   110.32 cycles/hash
       ...
       Small key speed test -   20-byte keys -   164.79 cycles/hash

wyhash:

       Small key speed test -    1-byte keys -    18.00 cycles/hash
       Small key speed test -    2-byte keys -    18.00 cycles/hash
       ...
       Small key speed test -   20-byte keys -    21.00 cycles/hash

The whole purpose of smhasher is to help choose hash functions for hash tables and alike implementations.</comment></comment></comment>


Wikileaks releases pre-commitment hashes after Assange's Internet has been cut - <AUTHOR> https://twitter.com/wikileaks <comment><USER2> The pre-commitment hashes were released before, not after.

</comment><comment><USER3> Multiple discussions on this already.

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


State to Detroit man: Pay for child that isn't yours or go to jail - <AUTHOR> http://www.wxyz.com/news/state-tells-detroit-man-pay-for-child-that-isnt-yours-or-go-to-jail <comment><USER2> Oof. So anyone can be named as a father without any proof.

Starting hitting the governor, judges and members of the state legislature with these false paternity claims. Law will change real fast.

</comment><comment><USER3> As we continue to deteriorate the rule of law, stuff like this will happen more and more. We're nowhere near the endgame...</comment>