W3C HTML5 Logo Unveiled - <AUTHOR> http://www.w3.org/html/logo/ <comment><USER2> Wow, I was prepared to mock it after seeing that w3.org actually had to design something, but it's rather good.

<comment><USER3> I had the same reaction. Pre-click: Hate dialing up to DEFCON 1, Post-click: huh, not too bad -- back to the morning coffee.

<comment><USER4> "Hate dialing up to DEFCON 1"

At first, I thought you were talking about DefCon, the convention, which really confused me.

Then, I realized you were talking about defense condition.

</comment></comment></comment><comment><USER5> I don't know why, but it puts a smile on my face. I guess, the logo shows some confidence previously unassociated with boring standard bodies.

<comment><USER6> Maybe it reminds you of Moses from South Park?

<http://www.google.co.uk/images?q=moses+south+park>

<comment><USER7> No way... the new HTML5 logo reminds me of a 2d paper cutout version of the Master Control Program.

<comment><USER8> Moses from South Park _is_ the Master Control Program ;)

[http://www.southparkstudios.com/clips/151458/i-desire- popcor...](http://www.southparkstudios.com/clips/151458/i-desire-popcorn- necklaces)

</comment></comment></comment></comment><comment><USER9> I have to say that I find the icons to be really, really ridiculous.

It doesn't look like something someone hired from outside did, and the HTML5 logo looks like the header on a Tutsplus vector tutorial.

Most of the different icons have very poor symbolic value, and look really unintelligible.

They could do a lot worse, so that's always something.

<comment><USER10> I re-checked the URL two or three times to convince myself that this is not an amazingly done HTML5 troll-site ! I just don't associate such imagery with the W3C ...

</comment></comment><comment><USER11> Wow. I actually doubled-checked the location bar to see if this was the real deal or just some designer take on it.

It's a really great logo, definitely "with the times" with the bold, sharp lines and flat colors. I'm not sure I'll be putting it on any websites, since I don't think most users care or understand markup versioning, but grats to w3c for doing something that doesn't look like it came out of a committee of phds and marketroids.

<comment><USER12> Maybe you won't put it on any main page but I suggest you do on your "about" page or what have you.

I can't be the only user in the world who has seen an interesting "tech" thing and subsequently learned more from a website.

It can't hurt!

</comment></comment><comment><USER13> "IS THIS W3C'S "OFFICIAL" LOGO FOR HTML5?

Not yet. W3C introduced this logo in January 2011 with the goal of building community support. W3C has not yet taken it up in any official capacity. If, as W3C hopes, the community embraces the logo, W3C will adopt it as its own official logo for HTML5 in the first quarter of 2011."

<comment><USER14> Was this a REAL response by them? If not, satire at it's best! I hope it wasn't, but wouldn't be surprised if it is.

</comment></comment><comment><USER15> I'm not certain I like it.

Think about its purpose; it needs to work _with_ a huge range of styles, each of which will have specific and varied audiences.

The choices made (collegiate typeface / bright orange) are quite bold; I don't think it lends itself to sympathetically supporting a broad range of differing styles of design.

Also, when this is used, it's likely to be quite small - the gap between the tail of the '5' and its upper curve is slight. I think it will have a tendency to resemble a '6' at smaller resolutions.

Maybe I'm being too negative, but on top of all this I don't think it looks visually appealing or balanced. I don't think the proportions (forced perspective / surrounding gap vs. typeface weight) are pleasing to look at.

But then again, maybe once we see it everywhere, it's ubiquity will create new associations and familiarity will win out.

<comment><USER16> _Also, when this is used, it's likely to be quite small - the gap between the tail of the '5' and its upper curve is slight. I think it will have a tendency to resemble a '6' at smaller resolutions._

Someone realized this. If you look at the favicon, they've dropped the tail.

<comment><USER15> Ah, well, I think that impacts on consistency.

The smaller version of the logo should be the primary use-case imo.

<comment><USER17> It's very common to have structural changes in letters at different sizes in order to maintain readability, yet no one complains about consistency. Why?

Because being consistent is very deliberately not supposed to require being identical. So long as the visual identity is maintained, and I think it is, then small changes are welcomed.

<comment><USER15> Most logos / marks need to be compatible with a broad range of media formats. Any system generally needs to be flexible - whilst remaining true to its original concept.

If the mark needs to be altered to work in a particular format, I think that _could_ show a lack of foresight on the part of the designers. I'm playing devil's advocate though.

I think a very simple HTML + black shield border + black 5, could provide a useful additional mark; which might prove less obtrusive.

\--

" _It's very common to have structural changes in letters at different sizes in order to maintain readability, yet no one complains about consistency. Why?_ "

I don't know of any common examples of logos which make similar structural changes - but I'd be very happy to be proven wrong.

<comment><USER17> They are distributing black and white versions like you mention. Moreover these can be easily colorized to subtly blend with a design. The ease of this transformation does show foresight. The real issue is instead the boldness of the shield and font choices, but that fits the use case of the logo which is pride in technology and standards compliance. Not every website must use the logo, obviously. All said and done, very, very few will no matter how popular the logo is.

I'm on a really poor connection, so I'll do research later, but the difference between display and body variants in fonts comes to mind immediately. Knowing the two distinct use cases will highlight very different properties of the font's design, the letterforms are varied. The differences can be fairly large, however it is always clear that the two fonts are from the same family.

<comment><USER15> " _They are distributing black and white versions like you mention. Moreover these can be easily colorized to subtly blend with a design. The ease of this transformation does show foresight._ "

I see your point .. setting a typeface involves decisions re. kerning and many fonts use 'hinting' to ensure they can be read well at varying sizes, and some display faces are altered to suit headline text or specific use cases - but I think most logos have aims which are more specific than a typeface.

If people are free to alter the colours of a logo to suit a design, and the rules for doing so aren't defining clearly - before long a logo isn't able to fulfil it's purpose, because the unifying elements of the design become unclear.

That's not to say that a logo _has to be_ the same everywhere - a successful identity system can break the rules, but if it does so, it needs to be very consistent in the way _those rules are broken_. I think agencies like Wolf Olins provide a good example of this kind of thinking.

I don't think the the adaptation of the HTML5 logo for the smaller favicon format is a feature - it seems like an afterthought.

<comment><USER17> The choices I see are:

         (1) Do not correct the 5 and cause people to misidentify the logo at small sizes since it looks like a 6 then

         (2) Correct the 5 at the cost of an almost imperceptible change in small instantiations of the logo

         (3) Redesign the whole thing to use a font that is distinctive at all sizes

Between (1) and (2), I feel that (2) is always the winner. (3) appears to beat them both, but it means prioritizing distinction at small sizes at the same level as style, text color, weight, and any number of higher level and arguably more important factors. I feel like this exact tradeoff _was_ done by the designer and their choice of (2) very well founded.

Wolf Olins is a particularly good example of the fact that brand is far larger than logo. I'm not even a particular fan of this new HTML5 brand, I feel like it overemphasizes and romanticizes a tool, but I won't get caught arguing that it's not comprehensive, or strongly suggested by all of the proposed instantiations on the website, or to weak to survive the likely numerous changes it'll suffer should it be widely adopted.

<comment><USER15> I agree about the three options - and I think (3) would have been the best outcome - because whenever this logo is used, it will most probably be shown as relatively small badge.

For example - this blog (<http://almaer.com/blog/>) is listed as an example of the logo in action on the launch page.

I think this page is a good example of my point; at this size, the logo suffers from the '5-becoming-6' problem - it doesn't actually communicate its message successfully at the most basic level.

\--

I've had a think about this in a bit more detail - and the more I think about it, the less impressed I am.

I think the whole concept should have been based around producing a mark that can identify whether a product supports HTML5 technologies.

I don't think the logo should have been produced to place on a site (or teeshirt) to show allegiance to the cause - I think it should have been created along the lines of the DVD, USB, HD or Blueray industry support logos.

An identity that helps promote HTML5 as a consumer technology - and shows a consumer at a glance, whether the product they are about to download or buy is capable enough to adhere to the upcoming spec.

But maybe that's what this is? Still, I'm a bit doubtful about whether it achieves these aims.

<comment><USER18> _it doesn't actually communicate its message successfully at the most basic level._

As a marketer, I agree.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> Is that how HTMTL5 websites are supposed to look like? With the cluttered layout, the various fonts and sizes, the flashy colours and the interactive content I find this page incredibly difficult to parse. It's hard for me to extract the important informations from the text. Is it really about the new logo? What's the deal with the "HTML5 semantics" on the middle? I know nothing of web development, so I have no idea what this means.

I could also question the need of... 2^8 variations of the same logo (the "build a logo" thingy).

EDIT: fixed typo

<comment><USER20> The class semantics section appears to be related to the other logos that the w3 has created for them.

Personally, I think its extraneous information. If you came away with knowledge of what the logo looks like (and you should since it took up fully 2/3rds of the first page), then you're set.

As for the rest of your criticism:

> I know nothing of web development, so I have no idea what this means.

Although HTML originally was created to be human readable, and better yet-- writable by ordinary people---that isn't how history played out. Hardly anyone writes their websites in bare HTML anymore.

For a time, it seemed that HTML instead would be automatically generated by machines--either a CMS or Dreamweaver/Frontpage and its ilk. This 'dream weaver' age brought us XHTML and its XML inspired draconian parsing requirements.

But slowly, a cadre of individuals was growing who _did_ write HTML by hand and documented the fine differences between browsers, and put pressure upon their makers to change them. These folks were a sect that didn't exist before (and perhaps couldn't have existed in the 90s low-bandwidth websites)...they are web designers.

HTML5, logo and all, looks like the w3's way of trying to capture the attention of _web designers_ because at the moment they have little to no credibility with that group.

<comment><USER19> I see, when I read the page I thought the intent was to market HTML5 "to the masses". It reminded me of the "use firefox" campains. I guess I'm just not the target audience. Thank you for your insight.

EDIT: I stand by my point regarding the layout though. I think a website promoting HTML5 should try to keep it clear. Trying to mix an informative content with an HTML5 demo page might not be the best idea.

</comment></comment></comment><comment><USER21> Looks like the Autobot insignia.

Is this a declaration of solidarity against the evil forces of the Flashicons?

<comment><USER22> More like a take on the Superman insignia.

<comment><USER23> my thoughts exactly. i like it.

</comment></comment></comment><comment><USER24> I'm sorry, but this is laughable.

Do people put icons in their iOS apps advertising the use of CoreAnimation? Do they put some kind of Silverlight or Flash badge on their web sites done with those technologies?

It's just a set of useful technologies. Why all the branding hoo-hah?

<comment><USER25> CoreAnimation no, Flash no, Silverlight yes. Of course, even if there weren't a Silverlight branding badge, the Microsoft updater that starts every time you visit a page that uses it would remind you.

</comment></comment><comment><USER26> I really like it. It looks acceptably corporate, but it has a hint of the whole 'unicorns are awesome!' early-adopter-webdev aesthetic that will put a smile on the face of the people who actually use html5 day to day, and evangelise for it.

Sort of like dog whistle politics but used for good :)

</comment><comment><USER27> Without considering the context, the logo itself is pretty good. I like the badge/custom badge and related components. Overall though, I don't like it. I don't think it's a fitting logo (the superman/superhero comparisons are what come to mind to me as well).

The logo treatments and website seem like a contrived effort design a logo to whatever the designers believe is the "HTML5 Design Aesthetic." Sure, rich content and all, but HTML5 (and related technologies, like this logo is supposed to imply) shouldn't be represented by over contemporary design.

Interestingly, the logo is not the "official" logo. On paper, it's just the community logo - and it will only officially be adopted if it gets enough grassroots support.

 _Is this W3C's "official" logo for HTML5?

Not yet. W3C introduced this logo in January 2011 with the goal of building community support. W3C has not yet taken it up in any official capacity. If, as W3C hopes, the community embraces the logo, W3C will adopt it as its own official logo for HTML5 in the first quarter of 2011._

</comment><comment><USER28> Reminds me of Transformers

<comment><USER29> HTML5 logo ~= Autobot Logo <http://t.co/p8lQ9xp>

<comment><USER30> Looks like a stretch to me...

<comment><USER9> That's because it's obviously a Decepticon and not an Autobot: [http://media.photobucket.com/image/decepticon/Decepticoncaus...](http://media.photobucket.com/image/decepticon/Decepticoncause2006/decepticon-6.png).

Tsk.

</comment></comment></comment></comment><comment><USER31> Nice article by Jeremy Keith on why this logo creates and propagates confusion between HTML5 and CSS3:

<http://adactio.com/journal/4289/>

</comment><comment><USER32> How many type foundries do you think would be trumpeting their fonts' inclusion in the HTML5 logo?

One of the many reasons I love Hoefler & Frere Jones.

 _Gotham + Mercury + Knockout, all from @h_fj, make the HTML-5 logo.<http://www.w3.org/html/logo/> #next #stop, #webfonts_ <http://twitter.com/H_FJ/status/27369279905071104>

</comment><comment><USER33> I am not sure I see how useful it is. I think people who would care about HTML5 are already aware of it and the ones who don't will probably not be influenced by the logo. What remains seems to just be some kind of nerdy bragging thing: collect them all!

It reminds me of the "Netscape Now!" button campaign from the early web. The logo and badges looks nice tough.

</comment><comment><USER34> Logo's available in SVG - a reminder that I have no idea how to use SVG.

</comment><comment><USER35> Anyone know who made it?

<comment><USER36> Ocupop: <http://ocupop.com/>

<comment><USER37> Times New Roman headers on a design firm's site? Yikes.

</comment></comment></comment><comment><USER38> Am I the only one that finds the aliasing created by slightly tilted lines a design flaw? It was meant to be displayed digitally, and the designer should have avoided aliasing. <http://en.wikipedia.org/wiki/Spatial_anti-aliasing>

<comment><USER38> It's very apparent in the small version they want you to plaster on your site: [http://www.w3.org/html/logo/badge/html5-badge-h- css3-semanti...](http://www.w3.org/html/logo/badge/html5-badge-h- css3-semantics.png)

</comment></comment><comment><USER39> It's super strange that this page itself is HTML5. Doesn't W3C have a policy of only publishing documents using standards already in the "Recommendation" stage?

<comment><USER40> What irks me more is that they made another one of those one-page scroll-till- your-eyes-bleed sites to show the logo off. I don't know where this new "trend" is coming from, but I find it really tiresome already.

</comment></comment><comment><USER41> I like it. How long until it's implemented using CSS3?

<comment><USER42> About 4 hours? Didn't take that long though. Enjoy.

<http://news.ycombinator.com/item?id=2116593>

</comment></comment><comment><USER43> I do like the impact of the logo, but am I the only one who thinks it's a bit too "military?"

<comment><USER44> That looks nothing like any military logo I've ever seen. Is there some logo in particular it reminds you of?

</comment></comment><comment><USER45> It seems the logo is an image (<http://www.w3.org/html/logo/img/html5-topper.png>). How long until someone can draw it using purely HTML5?

</comment><comment><USER46> This looks like something you'd see on a Transformer, not a professional logo for a new web standard. I think it's good for what it is, unfortunately that "what it is" isn't what should represent HTML5.

</comment><comment><USER47> It is finally out. I guess we will be living with that for some time. I do not mean to be grumpy but something with a bit more curves would be more appealing or representative of the new design era.

</comment><comment><USER48> And the IE folks on Twitter are using it as their picture:

<http://twitter.com/#!/IE/status/27397420665016320>

I think we can expect full compliance.

</comment><comment><USER49> I'm surprised, the active states of the icons seem to be buggy in the latest chrome for Mac: <http://cl.ly/0B0f0N3B1K2z3F2H3e0k>

</comment><comment><USER50> That's awesome and vastly superior to other w3c logos.

</comment><comment><USER51> I expect to see this changing in phone booths in the near future.

Interesting. Nowhere near as bad as I had expected, a little too alter-ego for my tastes though.

</comment><comment><USER52> You probably can't trademark a five-pointed star in a circle, but that part of the logo immediately got me thinking of Daring Fireball.

</comment><comment><USER53> <http://www.flickr.com/photos/kurafire/5367609066/> ;)

</comment><comment><USER54> This actually makes me more excited about HTML5.

That, and learning that Netflix on the PS3 is a HTML5/WebKit implementation. I'm sold.

</comment><comment><USER55> The icon for "Device Access" looks very similar to an apple. Does a square apple mean anything? :)

</comment><comment><USER56> Autobots, autobots, autobots!!! you love it cause it's a rip off of your favorite cartoon!

</comment><comment><USER57> 'S' on an orange background. A new logo for smashing magazine. No? I kinda like it though.

</comment><comment><USER58> Reddit doesn't seem to like it. And HN seems to like it. Why so much difference ?

</comment><comment><USER59> I find it looks quite ugly honestly. The logos on the bottom are much better.

</comment><comment><USER60> Looks like HTML 6.

<comment><USER61> I would like a wider gap in the 5, too. Interestingly, you get your wish if you use the "vertical" badge generator.

</comment></comment><comment><USER62> To my eyes, it looks too american-style.

</comment><comment><USER63> What no Favicon? or did I miss it?

<comment><USER64> You missed the favicon. Here is a link: <http://www.w3.org/html/logo/favicon.ico>

</comment></comment><comment><USER65> HTML5 Badges: The E-Peen of 2011.

</comment><comment><USER66> It looked like a RSS icon to me.

</comment><comment><USER67> Why does it look like Klingon?

</comment><comment><USER68> "THE HTML5 SHIRT — BUY IT! Every Man, Woman and Child can show their HTML5 Pride!"

As long as you wear a XL or smaller.

</comment><comment><USER69> was there an html4 logo? why do we need an html5 logo?

<comment><USER70> Because it's cool, and we can. Haters gonna hate.

<comment><USER69> but what does it mean? No user will know/care.

I guess it's just like putting a badge on your website that says your site passes some html verification test.

<comment><USER70> It's really just to peer pressure other developers (and maybe the Internet Explorer team) into adopting the standards.

</comment></comment></comment></comment><comment><USER71> w3c copied SuperMan, where is that damn sue button :|

</comment><comment><USER72> 5uperlogo!

</comment><comment><USER73> I expected the logo to be in CSS3 :-(

</comment><comment><USER74> It looks lot like Superman's Logo (The one that's on his shirt)

<comment><USER75> I'm not sure if I love the standalone logo, but I am loving those shirts. Reasons why the shirt is awesome:

1) It's not black. (I have too many damn black tech shirts at this point in my life).

2) Sales profits go to development of the HTML5 suite. (A good cause!)

3) As you say, superman. And who doesn't want to be a super hero?

Ordering mine now.

</comment></comment><comment><USER76> Was anyone else expecting the thing to be fully CSS rather than a .jpg?!

<comment><USER77> That would be awesome. An incredibly awkward contortion of CSS is always a better way to render a logo than, you know, pixels.

<comment><USER76> I'm sure you got it - but my point was that I was expecting them to use all 'HTML 5' to render their HTML 5 logo...

Not that I am condoning it, I was just expecting it.</comment></comment></comment>


Fred Wilson Explains Why He Wouldn't Invest In Groupon Or Pandora - <AUTHOR> http://techcrunch.com/2011/02/12/founder-stories-fred-wilson-groupon-pandora/ <comment><USER2> Linkbaited again! Therefore derailing comment ahead...

This is what happens when you make a headline for an article, put a video in it, mislead the answer with a bunch of garbled text and then expect people to draw conclusions about it. Everyone's first inclination from the headline is "OMG what does Fred see in Pandora/Groupon that I don't?!" Don't believe me, look at the first few comments of the article.

Save yourself the time and read the TL;DR "I don't invest in those companies because we only invest in companies that have a large network of engaged users". And this, my friends, is how you turn a question with a one sentence answer into ad revenue. Go AOL!

<comment><USER3> This is why i read hn comments first when i see techcrunch anywhere in the title.

<comment><USER4> This is why I read hn comments first, period. Always seemed the best way to find out if a link's worth even following.

Of course, I guess that wouldn't work if _everyone_ did it that way...</comment></comment></comment>


Robert Scoble and Jaron Lanier on wearable technology [video] - <AUTHOR> http://www.bbc.co.uk/news/technology-22770908

<comment><USER2> You may or may not like him, but Jaron Lanier is right in that interview: _It is dangerous that corporations control the data of devices you are supposed to wear._

Scoble doesn't seem to care about that.

<comment><USER3> Scoble doesn't seem to care about anything. He behaves like a highly uncultured person who haven't got a clue about pretty much everything except his job.

<comment><USER4> When you hand the type of person you described Google Glass.. they become a Glasshole. This might be the best definition yet. (Disclaimer: I LIke Glass, just not some of the fools who use it)

<comment><USER5> Incidentally Scoble was one of the people brought up to ask questions during Google I/O 2013, and identified _himself_ as a "glasshole."

</comment></comment></comment></comment><comment><USER6> This doesn't seem like much of a grilling because it's essentially coming from Paxman's naive/populist viewpoint rather than direct experience or deep thought. Jaron does provide some of those perspectives, but carefully distinguishes between the _device's_ attributes and _Google's_ attributes - the former being relatively benign and the latter being potentially evil or manipulative or at the very least commercial. I would like to see a longer, unmediated conversation between the two techies, because it seems like the their excitement and resentment come from the potential of the technology more than its current implementation. Such a conversation could actually influence development toward one kind of Glass future or another.

The comments about narcissism are interesting for the public but are ultimately banal and non-specific to this particular technology. The related questions about privacy and how the technology further eliminates barriers between public and private life, however, could use a lot more popular discussion...

<comment><USER7> As far as I remember Paxo is no dummy, so this looks like a superficial fluff piece to fill time on a slow news day.

What would have been more insightful would be for them to talk about the commodification of the self and how various aspects of personal life are, or will be with the aid of new technology, increasingly commercialised and turned into some kind of property in a manner which they weren't previously. So for example I doubt that whatever companies are selling AR systems in future will be able to resist the temptation to "harvest" and sell personality or health metrics to any other organisations which might want to buy.

</comment></comment><comment><USER4> Total waste of time.

Lanier is obnoxious and comes off as a total clown. Paxman is not really interested in the topic. Scoble is just a Glasshole.

I'd like my 10 minutes back.

<comment><USER4> I respect the right of those who can to downvote me, but I hope it's not in defense of Glass.

I love the product, I can't wait to get my hands on one.

Objectively however, the 3 speakers really offered nothing.

<comment><USER8> But what could Robert do better? He answered why he likes Glass, and after a few sentences, he was always interrupted by the interviewer. He couldn't provide any more insight in such a short time he was given. But I agree with you regarding the other two guys.

<comment><USER4> I agree I was probably a bit harsh on Robert.

I was a bit put off by the photo of himself in the shower.

</comment></comment></comment></comment><comment><USER9> I found the host obnoxious, personally, and the show was from the outset staged as a Fox style take-down: Scoble is "self-obsessed" (this "narcissism" angle was a recurring theme in this. Yet another discussion about Scoble taking a picture of himself in the shower...in a series of blog posts where he was talking about integrating Google Glass into his life) because he uses the device for biometrics, leveraging technology for better health insights? I'd say as a 48 year old male he's making a smart decision.

Another irritating aspect to every one of these discussions is the argument that Google is an advertising company so therefore everything they do is and will always be about advertising. While Google has some golden handcuffs of advertising dropping a lot of cash in their coffers (which their competitors have as well, as an aside, to varying success. Microsoft has an ad branch. Apple has an ad branch), they have endlessly been demonstrating that they are trying to build secondary businesses.

The raw cynicism to discard an entire computing experience is not useful.

<comment><AUTHOR> The host is something of a legend here in the UK :)

Not least for this: <http://www.bbc.co.uk/programmes/p00r2912>

<comment><USER10> I think I would go less with "legend" and more with "notorious twat". Can't stand that aggressive style of interviewing myself, especially because now every half-wit newsreader thinks they're the next Paxman by interrupting the interviewee every 5 seconds.

<comment><USER11> Paxman can be quite aggressive, and I would say justifiably, with politicians trying to avoid answering a question. For another side of Paxman see this interview with Christopher Hitchens - <http://www.bbc.co.uk/programmes/p00r2c42>

</comment></comment></comment></comment><comment><USER12> This was the most awkward interview I've seen in a while...

</comment><comment><USER13> Real journalists put people on the spot.

Their (the subjects) feelings dont matter. Go watch some 60 minutes Mike Wallace interviews.

If they can charm their way through the interview they win. If they cant well then we can all think about that.

But dont for one second think that a real journalists ideal should be to play host to technology bozos.

If being polite were a journalistic trait Nixon would still be in office.

<comment><USER14> Yes, but how would they get their next interview?!

Rock the boat too hard and suddenly you're outside the circle of trust. Enough talking heads out there kiss ass to the point that press releases posing as journalism rule the day.

But hey, at least you'll be on the guest list for the next Apple event!</comment></comment>


Easy i18n in your Angular apps - <AUTHOR> http://www.ng-newsletter.com/posts/angular-translate.html

<comment><USER2> Looks awesome, exactly what I need for one of my projects. Great :-)</comment>


A glib-like multi-platform c library - <AUTHOR> https://github.com/tboox/tbox <comment><AUTHOR> The project focuses on making C development easier and provides many modules (.e.g stream, asio, regex, container, algorithm ...), so that any developer can quickly pick it up and enjoy the productivity boost when developing in C language.</comment>


200M Americans Will Suffer 'Psychological Distress' from Climate Change - <AUTHOR> http://indefinitelywild.gizmodo.com/200-million-americans-will-suffer-psychological-distre-1740617789 <comment><USER2> It's crazy that every scientist for decades has been banging the drum of 'this is going to be bad', meanwhile we do as close to nothing to address the issue as possible.</comment>


Stop Calling These Dark Design Patterns or Dark UX - <AUTHOR> https://uxdesign.cc/stop-calling-these-dark-design-patterns-or-dark-ux-these-are-simply-asshole-designs-bb02df378ba <comment><USER2> How about calling it fraud? :P

 _fraud: n. A deception deliberately practiced in order to secure unfair or unlawful gain._

from The American Heritage® Dictionary of the English Language, 4th Edition

</comment><comment><USER3> There's a subreddit with the same name that calls out these kind of techniques if you're hungry for more examples.

[https://www.reddit.com/r/assholedesign/](https://www.reddit.com/r/assholedesign/)

</comment><comment><USER4> Why not? It seems like a pretty good term to me. They are design patterns and they have bad intentions.

This article is essentially saying "Stop using this term, I don't like it."

The author is a bit late to the party as well, the terms have been around for at least 4 or 5 years.

<comment><USER5> He's saying the crime is worse than the punishment. The term is too soft compared to what they're doing.

<comment><USER4> I guess I disagree that "asshole design" is less bad than "dark pattern". The implication with the term dark pattern is that you are being evil. An asshole is just someone that's annoying or selfish, but being evil means intentionally malicious.

</comment></comment></comment><comment><USER6> > _Have you noticed that lately some people are trying to coin the terms "Dark > UX" or "Dark Design Patterns"?_

I think that "Dark Patterns" is a pretty well established terminology by now. I was effortlessly able to find a reference from five years ago:

[https://www.theverge.com/2013/8/29/4640308/dark-patterns- ins...](https://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the- interfaces-designed-to-trick-you)

<comment><USER7> I think the argument he's trying to make is that "dark UX" can easily be assumed to be "dark colored" instead of "evil/nasty/deceitful".

And I tend to agree, I had to momentarily consider what the phrase meant, because I hadn't heard it in a long time. (not that I thought it was a color reference, I knew what it meant)

Maybe "Deceitful UX/Design Patterns" or "Conman UX/Design Patterns" would be more effective as phrase to accurately and quickly transfer meaning. This is a simple marketing issue.

<comment><USER6> If a term has already been around for a long time, you're probably going to confuse more people by trying to change it than you'll help by making it more intuitive. Also, the use of darkness as a metaphor for evil has been common in English for centuries - think of the "Dark Side" in Star Wars, saying "Dark Lord" to mean Satan, Sauron or some other fiendish character, etc. And it shouldn't take much context to figure out whether someone is talking about deceptiveness or color when reading about user interfaces.

There are lots of terminologies that are even more obscure but still well- understood because they've been used for a long time:

\- "core dump" (even though computers with core memory are only found in museums these days)

\- "carriage return" (even though output devices don't have a moving part called a "carriage" anymore)

\- "dialing a phone" (even though phones don't have dials anymore)

\- The common use of a floppy disk-shaped icon to denote saving a file

<comment><USER7> > _...you 're probably going to confuse more people by trying to change it_

Confuse who? Techies that already know what it is, or pointy-haired-bosses that make all the decisions? Give it a revolting, and undignified name, and maybe it will stop being used.

While I applaud this work going into giving this phenomenon a name so it can be shown the light. It needs a non-technical name to demonstrate how bad it is.

> _There are lots of terminologies that are even more obscure but still well- > understood because they 've been used for a long time:_

This is a _new_ phrase, created around 2010 [0], the same year the site was registered [1]. You have a list of phrases, but none of them are proof we shouldn't change this one, because yours are all technical terms. Dark UI Pattern is clever phrase for a _marketing_ problem, not a technical one. And "Dark pattern" is a very, very obscure and weak in meaning. Consider what is more effective at getting an instantly recognizable response:

      -Dark UI Pattern
      vs
      -Dirty Rotten Button Design

That's a crap name, but describes the situation much more accurately. It does matter to change the name if your intent is to describe that it's evil, deceptive and manipulative. Here's George Carlin talking about the BS of weak and impotent language. [3]

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

[1] [https://darkpatterns.org/](https://darkpatterns.org/)

[3] [https://www.youtube.com/watch?v=7n2PW1TqxQk](https://www.youtube.com/watch?v=7n2PW1TqxQk)

</comment></comment></comment></comment><comment><USER8> What's wrong with calling the patterns "Dark Design Patterns"? I couldn't tell from the article, although those examples were pretty nasty, to be sure.

<comment><USER9> I think the point is we shouldn't be polite about it.

</comment></comment><comment><USER10> Ahole is a more general category, including sloppiness, is why. For example: Blizzard's Hearthstone forces endless clicking by disabled people (and everyone else) to get through their cards collection (if you press "t" you won't go straight to cards starting with "t"), and doesn't allow you to turn off the flashing during play if you have epilepsy. Your decks are always presented in random order wasting enormous amounts of time, and on and on and on. These aren't dark patterns (deliberate way of manipulating or deceiving), it's just lazy uncaring Ahole design or pure idiocy. Be as ticked as you like at dark design, but please don't blur the words (conflate the concepts.)

</comment><comment><USER11> Many of these examples are outright deceptive. But I always thought that when "dark patterns/dark UX" practices are discussed, people are referring to those practices that are not overtly deceptive, but yet come up very close to the line.

For a more forceful terminology, I would suggest perhaps re-appropriating a term from urban design: Hostile architecture. [https://en.wikipedia.org/wiki/Hostile_architecture](https://en.wikipedia.org/wiki/Hostile_architecture)

</comment><comment><USER12> Most of the ones shown in this article aren't really the best examples of Dark Patterns IMO.

This trick Facebook Messenger uses to get your phone contacts is a good example of how bad these things really are: [https://medium.com/@scf4/an- example-of-a-dark-pattern-in-fac...](https://medium.com/@scf4/an-example-of-a- dark-pattern-in-facebook-messenger-4211772e744f)

As developers we should be refusing to build features like this.

</comment><comment><USER13> I have to admit, 'dirty screen' trick is kind of genius. I haven't used a mobile device in years, never seen it in the wild.

<comment><USER14> Actually not such a genius way to get clicks on your ads. The bounce rate on their landing page must be pretty high. You want traffic to convert, not just any click.

<comment><USER13> I think it would depend on a lot of variables, if you're paying for impressions and not clicks it would make more sense.

</comment></comment></comment><comment><USER15> If "Dark Pattern" is not strong enough a term, how about something like "Con Pattern"?</comment>


Show HN: My first Chrome extension (TabZolo.co) - <AUTHOR>

I had an idea to build a Chrome extension to help stay on track with browsing the internet in today's multi-tab-able browsers. I wanted a solution that would encourage (ie, force) me to finish my business on a single given tab before going on to doing something else in another. TabZolo is the result of my dabbling with a buddy.
Using the chrome.* APIs, when enabled, the extension forces you to use one tab and window (except incognito windows - but I probably shouldn't have told you that) and kills any new tabs/windows that get created instead replacing the current tab with the new URL.
You can check it out at www.tabzolo.co. It's completely open-sourced on GitHub too if anyone wants to extend its functionality.
What do you think of it?
For more on TabZolo:
GitHub - https://github.com/dasmall/TabZolo
My blog post - http://dazm.co/weekend-project-tabzolo-co/
My co-creator's post - http://leonardocorrea.com/posts/2013-07-14-tabzolo-to-the-rescue/
LifeHacker Mention - http://lifehacker.com/tabzolo-keeps-you-focused-on-one-tab-at-a-time-845544805 <comment><USER2> That's nice. But I kinda like the multi tab feature. It was the biggest thing to happen to browsers before HTML5. Usually when I google something I open the first 4-5 pages that look relevant so I can quickly scan their content. Even on HN I open 10+ tabs with the stories that seem interesting and then start reading them. But I'm sure there will be users who need this. Good job.

<comment><AUTHOR> By no means were we trying to abolish tabs; we pretty much just wanted to help minimize the number of ways to get distracted from any single task. It's not something we envisioned being on all the time per se. It's more for a serious focus session.

</comment></comment><comment><USER3> You should be able to support tabs open in incognito windows as well if users grant your extension incognito access.

<comment><AUTHOR> Probably but as a web developer I hold incognito mode sacred.</comment></comment>


Ask HN: Selling SaaS to government authorities? - <AUTHOR> The title pretty much sums up my question.
Together with another developer I am currently building a citizen happiness analytics solution for government authorities.
Any tips or experiences with selling SaaS to our target market? General B2G tips? <comment><USER2> It is the worst market to sell to. Deals of any substance take years at a minimum. There's no accountability, either -- your deal can get canceled for no reason at any time. The sales cycle is astronomically expensive, and the required SLAs are incredibly extensive and costly. There's a reason governments rarely, if ever, do business with small startups without massive amounts of cash.

As far as happiness goes, this are already measured in its most relevant form as approval ratings, and it's done so with varying degrees of accuracy by professional polling organizations.

If you've been following FiveThirtyEight, you'll know that polls have become exceedingly difficult to conduct with accuracy. People just don't respond to them like they used to, and it's very hard to reach certain segments that are vital to having a representative sample (e.g. low-income Latinos in the US).

And besides all that, why would a government want to analyze citizen happiness? It's very naive to believe that career politicians are working to make people happy. They have many complicated personal reasons for doing what they do, along with some combination of desire for fame, influence, or money.

</comment><comment><USER3> It is easier to market it as a product with an annual maintenance fee than as "SaaS". I say this because there is an established process (GSA for feds, it varies by state and local) for selling products, even product with maintenance agreements.

Another route you can take, depending on the agencies you are selling to, is to sell it to existing federal contractors. There is usually a "materials" line in their contract for buying stuff to bypass the normal process. This is common with DOD, not sure about others.

Good luck.

</comment><comment><USER4> Check out some of the early blog posts at www.opengov.com and the whitepapers published by Formation 8, e.g. [http://formation8.com/resources/b2g-the- excitement-of-an-old...](http://formation8.com/resources/b2g-the-excitement- of-an-old-line-industry/)</comment>


Script in Python to convert all the jpeg of a folder recursively with Guetzli - <AUTHOR> https://github.com/tanrax/guetzli-recursively <comment><USER2> Hi Tanrax,

lovely work you are doing.

I just want to let you know of something good

I'm creating an expert roundup post for my blog(www.coolpythoncodes) and would love to include your insights on the following topic:

How to learn Python effectively- The best way.

Just 100–500 words on this topic would be awesome.

I've invited 60 other influential bloggers to contribute and some have already agreed to participate.

Deadline for submissions is 3rd of November – hope you are able to participate.

Thanks,

Godson Rapture Chijoke

</comment><comment><USER3> find . -type f -iname '*.jpg' -execdir guetzli {} {}.guetzli \;</comment>


Mars rover Curiosity's software upgraded - <AUTHOR> http://www.firstpost.com/tech/mars-rover-curiositys-software-upgraded-1301509.html <comment><USER2> Also interesting is the amount of damage being done to the wheels as it drives around up there. Some good pictures of that here[1]. Apparently the wheels are designed to leave a mark so they can keep track of the rovers location by looking at the tracks[2]. The tracks spell out JPL in morse code.

[1] [http://news.discovery.com/space/martian-wear-and-tear- curios...](http://news.discovery.com/space/martian-wear-and-tear-curiositys- wheel-damage-photos-131220.htm)

[2] [http://www.planetary.org/blogs/emily- lakdawalla/2013/1002210...](http://www.planetary.org/blogs/emily- lakdawalla/2013/10022101-theres-a-hole-in-the-wheel-dear-liza.html)

<comment><USER3> "It appears to be correlated with driving over rougher terrain."

Who'd have thought....

<comment><USER4> When I read the article that also popped out for me.

Unbelievably obvious. Obviously somethings are different in the Martian environment, but the laws of physics didn't just look the other way when they saw the rover coming.

</comment></comment></comment><comment><USER5> I get nervous sometimes when flashing ROMs on my phone...And those were downloaded over a (comparatively) 0-latency connection with high throughput. Fact that sending a firmware to Mars is apparently a normal thing now notwithstanding, I find this incredible.

<comment><USER6> The rover has got two computers though and during upgrades only one is updated. If something goes wrong, the non-updated one takes over and they can restore the last working state. Phones are easy to brick since they lack a backup system.

<comment><USER7> The ease with which many consumer devices can be bricked by firmware updates is really ridiculous, though. You don't need full hardware redundancy to virtually eliminate them, just a redundant OS partition and a little sane engineering. At that point, any bricking is almost certain to be the result of an actual hardware failure, which is its own problem.

<comment><USER8> I haven't seen an easily brickable device for half a decade now... Android smartphones and tablets are very hard to brick, post-2008 laptops and motherboards have excellent BIOS recovery, what else is there? I bricked an external RAID enclosure by flashing the wrong firmware, but that POS was running on a SiliconImage chip that for some reason allowed flashing a completely different firmware to it...

<comment><USER7> Funny, I just saw a friend's Android phone get bricked by an update about two years ago. It was in a state I probably could have recovered it from if its bootloader were unlocked, but it was beyond reach of Joe User.

I've also bricked or seen bricked routers, external HDDs, and TVs in the last five years.

Many TVs, actually, if you include pre-release units. As far as I can tell, most of them rely entirely on testing to avoid bricking devices. They make zero provision for the inevitable case where something goes wrong. Power failures during updates remain a frequent cause of bricking.

Your "exception" is quite a common case when firmware updates are performed manually. Those failures have, of course, dropped dramatically since devices started being able to self-update, but they're far from the only such failures out there. The "some reason" depends on the product and manufacturer, but it's usually a combination of laziness and penny-pinching. Somebody didn't want to do the work, or somebody else didn't want to pay for it to be done.

I've seen the processes that lead to these situations up-close. There are a lot of engineers out there who don't think about failure modes, and a lot of managers who dismiss the engineers who do as paranoid and/or troublemakers.

<comment><USER9> > it was beyond reach of Joe User.

I would argue that this is not bricking, if it's beyond joe user that's just a job for experts.

Bricking to me is totally gone with no hope of recovery.

<comment><USER5> There's outside of what the Average Joe can do and then there's needing a JTAG

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> A lot of work has gone into making that software especially robust, including some custom tooling for facilitating peer review. Dr. Holzmann (formerly of Bell Labs, birthplace of Unix) heads JPL's Laboratory for Reliable Software to lead this work.

If you'd like to learn more, I written about the LARS methodology after hearing Dr. Holzmann at USENIX Hot Topics in Dependable Software: [http://www.verticalsysadmin.com/making_robust_software/](http://www.verticalsysadmin.com/making_robust_software/)

<comment><USER11> Though what you describe covers only the code. The design is just as big a part of the picture and is just as much involved in the verification, revising, reviewing and testing.

<comment><USER10> Excellent point, thank you.

</comment></comment></comment><comment><USER12> Possibly cool idea: build a Curiosity emulator/simulator. Build the o.s. for it and/or user-space (does any of those concepts apply? probably not) software for it.

Does this already exist? This looks like it. [http://sourceforge.net/projects/marsroversim/](http://sourceforge.net/projects/marsroversim/)

<comment><USER13> Curiosity definitely has an OS (VxWorks). But I asked one of the developers about releasing some code after Curiosity landed and was told that they couldn't. So I doubt an accurate Curiosity emulator will ever be possible unless JPL releases their code 45 years from now like NASA did with Apollo 11's guidance system. ([https://code.google.com/p/virtualagc/](https://code.google.com/p/virtualagc/))

<comment><USER14> I believe that the software technically falls under certain US export restrictions which is probably one reason it isn't made public.

<comment><USER15> US export restrictions? Can't export it much further than Mars. ;-)

</comment></comment></comment></comment><comment><USER16> It's so cool that we can stream software updates across 34 million miles.

<comment><USER14> It's also cool that the update was sent partly through the MRO spacecraft, then forwarded down to the surface.

</comment></comment><comment><USER17> A day later... "Adobe Acrobat Reader needs to update"</comment>


Why We Can't Kill a Useless Government Agency - <AUTHOR> http://finance.yahoo.com/news/why-t-kill-useless-government-194000521.html?soc_src=mediacontentstory&soc_trk=fb&fb_ref=Default <comment><USER2> Where did it explain why? All I saw was that Congress hasn't decided to do so.

(It can't simply be that Congress never closes agencies. It closed the Office of Technology Assessment, to give the first example that sprang to mind.)</comment>


"earthquakes in north korea" - <AUTHOR> http://www.wolframalpha.com/input/?i=earthquakes+in+north+korea <comment><USER2> This is public data from the USGS and numerous other sources. Why is it surprising that Wolfram Alpha is using it?

</comment><comment><USER3> "Detected" or "indexed"?

</comment><comment><USER4> [http://techcrunch.com/2013/02/11/how-the-nuke-from-n- koreas-...](http://techcrunch.com/2013/02/11/how-the-nuke-from-n-koreas-test- could-damage-sf-via-google-maps/)

> " _After measuring a 4.9 magnitude seismic event tonight, South Korea's > defence ministry confirmed that it was caused by an underground nuclear > test. North Korea's nuclear capability is estimated to be about 2 kilotons._ > "

I'm not sure if this source is confirmed or not, but very interesting...

<comment><USER5> For point of reference, Little Boy (the bomb dropped on Hiroshima) was 16 kilotons and 90k+ people. I'm sure there are a ton of other factors besides kilotons that determine how destructive the bomb is, but it's a data point to understand the potential magnitude.

Source: <http://en.wikipedia.org/wiki/Little_Boy>

<comment><USER6> This is their third nuclear test and every single one has failed to cross the eight kiloton boundary at least. If this one is a plutonium weapon like the others it suggests that they are having major issues designing or fabricating the implosion lens around the nuclear material. It is quite striking that they keep conducting tests and reducing their usable nuclear stockpile further. It is almost like they don't have the capability to get a reliable warhead.

</comment></comment></comment><comment><USER7> They have made an official announcement of the test:

<http://www.bbc.co.uk/news/world-asia-21421841>

</comment><comment><USER8> I read the comments, but could someone more expert in seismic activity break this down for me?

How does this demonstrate Wolfram Alpha knew about the nuke itself (or could ascertain there might have been a nuke)?

It looks like it just indexed seismic activity. Is it because the measurements are peculiar?

</comment><comment><USER9> If you put the coordinates into Google maps you get this address:

<http://goo.gl/maps/TNfuD>

<comment><USER10> So it looks like they're bombing their own nuclear facility.

<comment><USER11> Tests are typically conducted in vertical shafts, according to the Preparatory Commission for the Comprehensive Nuclear-Test-Ban Treaty (CTBTO). Holes are cut 1 to 3 meters wide and up to a kilometer deep. The atomic devices are assembled on site and placed in the hole, usually accompanied by lead- protected diagnostic canister that contains sensors to record the explosion. The tunnel is then filled with layers of pea gravel, sand and other materials to prevent radioactive material from being released into the atmosphere.

During a test, the explosion energy is released in less than a millionth of a second, according to CTBTO. The temperature will reach about a million degrees within a few microseconds, and shockwaves from the blast, depending on the size, can be detected by seismographs around the planet.

(From time.com)

</comment></comment></comment><comment><USER12> "Earthquakes North Korea" != "nuclear tests North Korea" any more than "fire San Francisco" == "temperature San francisco"

<comment><USER6> Except when the seismic signature doesn't look like a natural earthquake.

</comment></comment><comment><USER13> As you keep zooming out[1] of the location of this nuke, till you see atleast a whole portion of the earth, you will realize that the existence of this nuke (or the concept of where/how it will be used) is unnecessary.

[1]<http://goo.gl/maps/TNfuD> (Thanks to HN user jonsherrard for the link)

<comment><USER14> I like how they hid it on Nuclear Test Road.

<comment><USER15> I think the name of that road could be user supplied data to Google through that collaborative mapping effort in North Korea. I could be wrong, though.

</comment></comment></comment><comment><USER16> Yet wolfram alpha isn't quite smart enough to tell that this wasn't really an earthquake but a nuclear test:

[http://www.wolframalpha.com/input/?i=nuclear+tests+in+north+...](http://www.wolframalpha.com/input/?i=nuclear+tests+in+north+korea)

</comment><comment><USER17> I checked "earthquakes in the Netherlands" : nothing there

Google news has the one of 8 feb

[https://www.google.com/search?hl=en&gl=us&tbm=nws...](https://www.google.com/search?hl=en&gl=us&tbm=nws&q=earthquake+in+the+netherlands)

<comment><USER18> That earthquake was smaller, from: [http://www.bloomberg.com/news/2013-02-09/gas-rich- groningen-...](http://www.bloomberg.com/news/2013-02-09/gas-rich-groningen- province-in-netherlands-hit-by-new-earthquake.html)

 _> A quake measuring 2.7 on the Richter scale struck the area ..._

To see it in Wolfram Alpha you need to add more parameters: [http://www.wolframalpha.com/input/?i=earthquakes+in+Netherla...](http://www.wolframalpha.com/input/?i=earthquakes+in+Netherlands+with+magnitude+%3E+2)

</comment></comment><comment><USER19> Misleading title

[http://earthquake.usgs.gov/earthquakes/eventpage/usc000f5t0#...](http://earthquake.usgs.gov/earthquakes/eventpage/usc000f5t0#summary)

</comment><comment><USER20> It just says earthquake here (UK), no mention of nuke.

</comment><comment><USER21> How would one know this is a nuke? Earthquakes happen.

<comment><USER22> Nukes have completely different fingerprints than earthquakes.

An example: [http://quakesos.sosearthquakesvz.netdna-cdn.com/wp- content/u...](http://quakesos.sosearthquakesvz.netdna-cdn.com/wp- content/uploads/2013/02/Screen-Shot-2013-02-12-at-10.09.11.jpg)

<comment><USER23> My old geology teacher said that the test-ban-treaty was a _huge_ boon to geologists, since there was now a bottomless pit of money to be used to build seismographs anywhere you wanted to build them.

</comment></comment></comment><comment><USER24> Its also interesting that an 'earthquake' also happened on the same spot in 2009 and 2003 as well...

</comment><comment><USER25> Nothing for "nuclear tests in north korea" about the recent test.

</comment><comment><USER26> I for one welcome our Korean overlords, although I'm not sure who will be providing food aid in paradise?

</comment><comment><USER27> So what?

<comment><USER28> Nuclear tests directed by crazed lunatics are usually worth taking note of.

<comment><USER29> duly noted.

</comment></comment></comment><comment><USER30> Wolfram Alpha can't be trusted then.</comment>


Show HN: I rebuilt my WP blog on React and Cosmic JS.  It's now 10x faster - <AUTHOR> https://github.com/tonyspiro/tonyspiro.com-react <comment><USER2> Hi

Document Length is much bigger with WP. Is it compression being off in Apache/PHP or caching in React?

Update: ok, compression is off in Apache. Hmm, I'm not sure ab is a good benchmark tool here. Your React combo is asynchronously pulling data while WP is mostly synchronous. To be fair, you need to check "full loading" times.

WPT Apache: [http://www.webpagetest.org/result/151027_GJ_d747f0a207fa4b72...](http://www.webpagetest.org/result/151027_GJ_d747f0a207fa4b72af35d63f53dfd447/)

WTP React+: [http://www.webpagetest.org/result/151027_83_f3b299e3ab7957a4...](http://www.webpagetest.org/result/151027_83_f3b299e3ab7957a473bb1cd29a2f12eb/)

Fully Load for Apache is: 3.0xs

Fully Load for React+ is: 3.7xs

I can also see that you haven't done basic optimization on Apache (KeepAlive off, compression off, MaxClients, etc).

<comment><AUTHOR> Thanks for the response. I can see how it could be misleading to compare the React SPA version of my site vs the WP site based on an AB test, however, the results are there to show you the benefits of the React-rendered application are not only between pages (which you can easily see and experience the speed enhancement) but also the fact that you get to "First Paint" first. By limiting the server overhead (I could've enabled compression for the React Express server, but I didn't), you get to the page sooner. And although the "fully loaded" times appear about the same in the links you provided, the perceived speed by the user is much faster on the React version. Do you not agree?</comment></comment>


BitBucket down with guru mediation notice - <AUTHOR> https://bitbucket.org/ <comment><USER2> Maybe you should wait until they are down longer than 15 minutes to make a big deal about it?

<comment><USER3> They've been down for at least two hours now.

<comment><USER4> Seems to be up now, anyhow.

For those who didn't get the reference, and failed to see it "live" since the site is working: <http://en.wikipedia.org/wiki/Guru_Meditation>.

Basically, it's an Amiga retro thing. Which is awesome.

<comment><USER5> Still down for me (Italy)

<comment><AUTHOR> I can confirm that for germany too. Maybe only europeans are affected?

<comment><USER6> Still down. India.

</comment></comment></comment></comment></comment></comment><comment><USER7> The fact that there doesn't seem to have been any formal response from bitbucket/atlassian is quite disappointing to me. I can live with a few hours of downtime, but the lack of communication violates my trust in the company. Frankly, the "All systems up." message on <http://status.bitbucket.org/> feels like a slap in the face.

<comment><USER8> You're right. We can do better. Here are the full details which are also posted on our blog ([http://blog.bitbucket.org/2012/09/19/post-mortem-on-our- avai...](http://blog.bitbucket.org/2012/09/19/post-mortem-on-our-availability- earlier-today/))

Earlier today at 2am San Francisco time Bitbucket experienced about three hours of 500 error page responses for users attempting to access the user newsfeed and repository overview pages. The outage was caused by a kernel panic on our Redis server, which is responsible for pages that display recent events related to a user. We are very sorry for the inconvenience this outage has caused.

After rebooting the Redis server, the index that Redis uses to serve the newsfeed content was found to be corrupt, which caused certain pages on Bitbucket to fail. For users accessing pages deeper into the site, such as pull requests, commit views, wikis and issues the site continued to work as expected. During this time Git and Mercurial access continued to work over both HTTP and SSH. After identifying the cause of the problem, we turned off the newsfeed for all of Bitbucket bringing an end to the 500 errors.

With the newsfeed temporarily disabled, we began investigating the corruption problem and discovered a forum post ([https://groups.google.com/forum/?fromgroups=#!topic/redis- db...](https://groups.google.com/forum/?fromgroups=#!topic/redis- db/Ju1lfzh4ZsI)) with instructions and a repair tool to fix the corrupted index. We then used the instructions to repair the index and restore full service to Bitbucket.

During this outage we have identified areas for improvement and are implementing changes to the way we manage the operations of Bitbucket:

1, Improve our escalation procedures so that the response times are faster during non-office hours 2, Update the Bitbucket codebase so we do not have the dashboard and repo overview fail when Redis becomes unavailable 3, Increase the number of tests that status.bitbucket.org performs triggering our automatic phone alert system

We are very sorry for the inconvenience this outage has caused.

Cheers, Justen Bitbucket product manager

<comment><USER5> kudos fot the "lesson learned" part of the story

</comment></comment></comment><comment><USER9> The git backend is still up. Can commit to a private repo. __Edit: __Actually I can browse repos on the site and can view my account.

It just seems to be the home page. Everything else I've tested is working for me.

<comment><USER5> git backend working also for me (Italy)</comment></comment>


Ebay testing automated translation of auctions - <AUTHOR> http://esp.ebay.com/

<comment><AUTHOR> Disclosure: my wife Yta is working on this project.</comment>


Something simple I wish I learned 17 years ago - <AUTHOR> I'm sure many of you guys and gals know this. And it might be just one of those things that I have somehow missed during all my time coding QBASIC, VBA, C++, C, Ruby, Python, etc...
Most of the time when you are writing an if statement, you are comparing a mutable variable to something constant (i.e. variable to string, variable to integer, variable to symbol), so you can avoid the assignment-instead-of-comparison bug by writing constant == variable instead of variable == constant. This way if you forget one of the equals signs you'll get a syntax error. The key with this is you have to get in the habit of doing it and do it all the time, so that you don't have a false sense of security.
So instead of:
if foo.to_str == "hi everyone!\n"

  puts "hello there!"

 end
use
if "hi everyone!\n" == foo.to_str

  puts "hello there!"

 end <comment><USER2> I might be in the minority, but I really don't like that style. Whenever I read:

      if (NULL == ptr) { ..

it throws me off, and it doesn't read as well as the other way around. gcc's -Wall will warn you about it (and I'm sure other interpreters/compilers will do the same). I'd rather let the compiler handle things it's good at and stick to authoring code that's easy to read.

<comment><USER3> For pointers I think it's much more readable to use boolean NOT.

      if (ptr) {
        ptr->foo();
      } else {
        die();
      }

or

      if (!ptr) {
        OhNoes();
      }

Also, you can extend the whole lhs-rvalue thing to for loops. Makes them look funny but you get used to it quickly, especially after it helps you avoid a few bugs.

      for (i = v.begin(); v.end() != i; ++i) {
        i->stuff();
      }

<comment><USER4> !ptr is bad.

I worked with a C programmer who changed all occurrences of "ptr != 0" to "!ptr". The program stopped working. In Windows, a null pointer is not 0. The C idiom "ptr != 0" compiles correctly, but when you try to get clever with "!ptr", you were in trouble. The expression would evaluate to false on a null pointer. (At least with the version of Visual C++ we were using back then.)

<comment><USER5> This was true years ago (and may be true still if you have to support legacy or niche compilers) but in current standard C and C++, the null pointer is guaranteed to equal zero in integer comparisons (and therefore false in boolean expressions).

<http://www.research.att.com/~bs/bs_faq2.html#null>

<http://www.faqs.org/faqs/C-faq/faq/>

<comment><USER6> > the null pointer is guaranteed to equal zero in integer comparisons (and > therefore false in boolean expressions).

Note that this does not mean that the null pointer is 0.

I'll quote the relevant sentence from section 5.2 of <http://www.faqs.org/faqs/C-faq/faq/>: "According to the language definition, a constant 0 in a pointer context is converted into a null pointer at compile time."

Later in that section, there's an example that makes the difference between "null pointers are 0" and "constant 0s in a pointer context are converted into a null pointer". The intro to that example is "However, an argument being passed to a function is not necessarily recognizable as a pointer context, and the compiler may not be able to tell that an unadorned 0 "means" a null pointer. To generate a null pointer in a function call context, an explicit cast may be required, to force the 0 to be recognized as a pointer."

The example itself is: "execl("/bin/sh", "sh", "-c", "date", (char _)0); If the (char_ ) cast on the last argument were omitted, the compiler would not know to pass a null pointer, and would pass an integer 0 instead."

See also 5.3 which starts with "Is the abbreviated pointer comparison "if(p)" to test for non- null pointers valid? What if the internal representation for null pointers is nonzero?"

</comment></comment></comment></comment></comment><comment><USER7> I am pretty sure this is a recommendation from Code Complete, too. It's full of great tips like this. If you haven't, you should definitely check it out.

<comment><USER8> It's in a handful of canonical texts. I first encountered it in the first few pages of Debugging Applications, by John Robbins; the updated .NET version is great, but even the original Win32 edition is full of gems, just like Code Complete.

</comment></comment><comment><USER9> This is a habit I picked up, too. It's very rare, though; most people don't do this, and think my code just looks weird. :) But I'd rather see this, than have obscure bugs from accidental assignments.

<comment><USER10> Yep. Had a "lead" developer tell me, "Your conditions are backwards." -_-

<comment><USER11> Well, whether it's good or not is debatable, but they _are_ backwards.

<comment><USER12> Equivalence relations are non-directed. There is no formal sense in which one or the other can be said to be backwards.

It's only personal preference that leads you to say that, and in this case, for the reasons cited above, it is deeply suboptimal personal preference.

This is a case of Diax's Rake at work.

<comment><USER13> Actually, no. Many languages implement == as a operation on the object itself, i.e. invokes a method named == on the object on the left side of the statement. If the things you are comparing are not the same class, then == is very much a directed relation. I agree that logically it might not be, but in many implementations, it actually is.

<comment><USER14> When it's that kind of comparison, that's an argument _for_ putting the constant on the left. Then you'll know you're getting the kind of equality method defined for the constant (which is more typically what you want).

</comment></comment></comment></comment></comment></comment><comment><USER15> Nice one, never occurred to me even though I sometimes would write my assignments this way. I guess the problem is it doesn't generalise to the case where you are comparing two variables.

Fortunately not a problem with Python (the pedantism works!). I still think I prefer Pascal's := for explicit assignment though. Wish more languages would adopt it.

<comment><AUTHOR> Yeah, MySQL does that as well. That is one of my big problems. I program 70% of the time in MySQL where "=" is used for comparison, so it is hard to switch to "==" when I occasionally need to.

</comment></comment><comment><USER16> I've seen this in an old book (Code Complete?) a few aeons ago, and I can't say I like it, but I use it a lot.

In Java/C# this can throw a null pointer exception:

myString.equals("another string");

however this will never throw anything:

"another string".equals(myString); //false if myString is null, this is what you mean in most cases anyway

<comment><USER17> in c# you wouldn't use the .Equals() method. You just do myString == someOtherString. Also it has a nice static method on the string class: if( string.IsNullOrEmpty(mystring) ){}

I use that like crazy. I'm not sure if Java has something similar now. Years ago when I used java, I remember being constantly frustrated with having to write a helper method in every project to do { return myString==null || myString.equals("");}

I did find "something".equals(myString) helpful though.

</comment></comment><comment><USER18> I think it hurts readability. But sometimes it is nice to skip a null check. i.e. instead of:

if (a != null && a.equals(b))

You can often do:

if (b.equals(a))

<comment><USER19> Those are not strictly equivalent, in that b.equals(a) could evaluate to true when both are null which would fail in the first form you gave.

I'm sort of reaching here, because I don't know off-hand which language you are using, but I would assume that NULL.equals() would throw an exception. That exception would not be thrown/need to be caught in the first example.

</comment></comment><comment><USER20> Maybe a good tip for beginners who confuse = and ==, but I don't recall ever making this error, and I've written a ton of code.

<comment><USER4> Then you weren't writing that code in C.

<comment><USER21> I've written a lot of code in C and never run into this error. And I never put the constant on the left.

</comment></comment></comment><comment><USER22> I picked this up a few years ago:

<http://c2.com/cgi/wiki?CompareConstantsFromTheLeft>

I've mostly stopped doing it though, because now I usually work in languages that won't let you put an assignment in an if statement, and nobody else really does it.

<comment><USER17> yeah, i only put the constant on the left in languages that let you do assignments in the if, like C++.

</comment></comment><comment><USER23> For me one of the big things that I need to constantly remind myself of is to read what is on the screen, instead of what is in my cache. While this trick may help with testing for equality I'll often mix up the bit-wise and logic operators as well, not so mention the misplaced semi-colon that is so hard to see. Reading what is actually written has saved me numerous errors and is invaluable for code reviews and the like.

</comment><comment><USER24> That's a nice workaround, but to me that smells like something wrong with the language itself. I can't think of a good reason to allow assignment in an if statement; other than maybe save a few characters and introduce a lot of confusion / bugs in the process. If you need to make an assignment then do it separately, don't hide it in an if statement (imho).

<comment><USER25> It helps a lot with idiomatic C error handling. You'll often have a function that does something, returns 0 on success, and an error code on error. It's nice to be able to do the assignment in the if statement there.

There's no good reason for it in any language built with exceptions from the ground up, though.

<comment><USER26> Or with languages that have a better mechanism for returning multiple values. (Passing in pointers to optional results? Ick.)

There's in idiom in Lua to have functions return either <true, result> or <false, error message> (as two arguments, not a tuple) - consequently, it's common to say e.g. "status, f = assert(open_resource(arg, arg2))"; if it fails, the assert will fail, and open_resource will provide the error message.

In statically typed languages, returning a union type (e.g. Error | Pass of Result) also works well. Sometimes exceptions are simpler, sometimes not.

</comment></comment></comment><comment><USER27> Good compilers will warn you.

Extend this to functions as well.

I had a bug like

if (foo(b == A))

instead of

if(foo(b) == A)

<comment><USER28> Yes, but these warnings can generate false positives if you actually want to do assignment in a test condition. And before everyone tells me that's bad coding style, it is at least a common idiom in certain kinds situations like this very common example from PHP (whose compiler does not warn for assignment at all):

        <?php
        if (false !== ($pos = strpos($haystack, $needle))) {
            doSomethingWith($haystack, $pos);
        }
        ?>

I find the constant first notation to be very friendly, btw. It's not as natural when translated into English normally, but in terms of logic, it makes sense to think of the first part of the test condition as its own little predicate:

        // Generic language
        bool matchesMyConstantValue(val) {
            return MY_CONSTANT_VALUE == val;
        }

<comment><USER29> Agreed and a more general case of that is something like:

      if ($result = $o->someMethod()) {
    	// Do Something with $result, the method returned a value that cast to true
    }

<comment><USER30> I would argue that this is pretty unreadable. Why do obfuscate your code to save one LOC?

<comment><USER31> It's common in C where functions return an error code instead of a value that you would use again. Then the conditional just checks that you're OK to go ahead, and you don't need to declare another variable to store the error code. (If a language has exceptions, then this isn't as useful.)

<comment><USER32> I write C full time for the day job and it normally goes something like this:

if ( !method_returns_rc( args ) ) { //error handle }

This isn't great, as I believe its not good to put methods with side effects in if statements (may be wrong here, or maybe its just me), but generally thats how its done (not to say that there aren't freaking GOTOs in our code... so take that with a grain of salt.)

</comment></comment></comment></comment></comment></comment><comment><USER33> I am not sure where I read this, but AFAIR it's from "The practice of programming" from Pike and Kernighan ( _1_ ). The suggestion circumventing this was to not use a space before the assignment, i.e.:

"a= b;" instead of "a = b;"

I have been doing this constantly in all C-style languages and derivatives and never had any problems using this. This is probably less invasive that your initial suggestion and preserves readability/the usual style.

[ _1_ ]: To anybody who knows this, too: I am really, really, really unsure where I read that and it's been about 15 long years since I have been doing it, so any correction is much appreciated.

</comment><comment><USER34> I dunno, I find that I just don't make these errors these days. I mean, I obviously did when I started out, but it didn't take all that long to internalize the fact that I need to do == to compare and not =.

</comment><comment><USER35> Joel posted about it once.

(Found the link:) <http://www.joelonsoftware.com/articles/fog0000000073.html>

"Occasionally, you will see a C programmer write something like if (0==strlen(x)), putting the constant on the left hand side of the == . This is a really good sign. It means that they were stung once too many times by confusing = and == and have forced themselves to learn a new habit to avoid that trap."

</comment><comment><USER36> Its not an all the time thing, though. I often use assignment in a condition statement, in Ruby:

      if value = obj.slow_method
        puts value
      end

I know I had several bugs from the assignment back in my days of coding C/Java in college, and early in my career as a PHP developer, but I can't recall having an issue with it since programming in Ruby. Perhaps the language flow or best-practices manage to avoid the cases when that bug is possible.

<comment><USER37> If you make it a habit to _always_ reverse comparisons, then the assignments stick out that much more, and remind you that it is, in fact, intentional.

</comment></comment><comment><USER38> I probably wouldn't pick up this habit simply because

1) You shouldn't be able to make an assignment (by itself) in an if and not get a compiler error in most modern languages.

2) It goes against the logical flow. You are checking if a variable is equivalent to a constant, not if the constant is equivalent to your variable. If your code is read by someone else who is unfamiliar with this practice then they may get confused by the illogical flow of everything.

<comment><USER39> About 2): So does "string".equals(variable), which is also 'backwards' but safer.

</comment></comment><comment><USER40> I'd always assumed this was a common teaching. I saw it repeatedly in my undergrad CS days, and even saw it in some AP high school classes.

</comment><comment><USER41> I once read a tip that said:

"Read '=' as 'equals'. Read '==' as 'is equal to'"

I made this error much less after picking up that habit.

<comment><USER42> For efficiency reasons, try to stop reading source code in your mind. It's best to just feel it. Reading is is akin to mouthing words in a novel; the lip movement is distracting and slows you down.

FWIW, I read = as "set" (the verb "to set") or "assign" or "let".

</comment></comment><comment><USER43> it's a good trick but letting the compiler warn you is better (and of course always compiling warning-clean so you'll notice it). There's plenty of times where both sides are non-const and this trick won't save you when that happens.

</comment><comment><USER44> I guess i read it in Code Complete. Yes, it looks ugly; yes, it avoids many bugs.

</comment><comment><USER45> This is in my project coding standards document and one I actually like :)

</comment><comment><USER46> It's so nice I do not have to worry about this when writing in python.

</comment><comment><USER47> "Named must your fear be, before banish it you can."

<comment><USER48> What's with all the Yoda language here lately, is it a Reddit thing that's spreading?

<comment><USER49> It's a demonstration of how backwards-sounding can sometimes be right.

</comment></comment></comment><comment><USER50> you just found this? do you live under a rock?

</comment><comment><USER51> Clever - that goes in the tool box - thanks!</comment>


Ask YC: living in Bay Area dorms? - <AUTHOR>

I was wondering if anyone at YC has or knows about being able to get some cheep rent in some unused summer dorms at one of the colleges in the bay area? <comment><USER2> Check out San Jose State. I stayed there as an intern with Google. The place is nice, albeit sort of out of the way depending on where you want to be. Not sure if you could get similar rates as an individual, though.

</comment><comment><USER3> I was in a similar situation until a couple of weeks ago. Westminster House at UC Berkeley allows non-students to live there during the summer.

<http://www.westminsterhouse.org/></comment>


Nyc startup tries to make sports teams more data driven - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?f=/g/a/2011/01/10/prweb4955274.DTL

<comment><USER2> maybe one day all coaches will have a headset with analysts giving them data breakdowns of each play, player fatigue level, mathematical ways to score to increase probability of winning; all with data

I think this kind of sports would arouse Google</comment>


UBS systems fail as rogue trader blows £1.3bn - <AUTHOR> http://www.computerworlduk.com/news/it-business/3303827/ubs-systems-under-fire-as-rogue-trader-blows-13bn/

<comment><USER2> I wonder if they still call them rogue traders when these big bets actually end up winning.</comment>


Agile Development for Designers - <AUTHOR> http://hoth.entp.com/output/agile_for_designers.html <comment><USER2> Knowing that most software are always 85% ready! Rapid Prototyping and Multiple Iterations is the way to go (I do).</comment>


Why every household is about to get a brand-new fridge - <AUTHOR> http://techcrunch.com/2016/03/26/why-every-household-is-about-to-get-a-brand-new-fridge/ <comment><USER2> Yeah! Would could _possibly_ go wrong?

Well, the Stuxnet lesson didn't last long.

Also, it made me think of this:

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


The Importance of Role Models - <AUTHOR> http://www.avc.com/a_vc/2010/01/role-models.html

<comment><USER2> Just posted a comment about this on Fred's blog too, but I'm wondering if you guys have any suggestions on finding and meeting good mentors? Is it just meeting people you respect at networking events? Getting introduced? Or writing to them out of the blue? Or is there a more structured way to go about this...?

<comment><USER3> my best mentors are people who happened to be a little ahead of me and were mature enough to embrace openness. or they were people tons ahead of me specifically looking to mentor. the one thing they all had in common was not viewing me as any less capable or able, just less experienced.

i'm as interested in answers to your questions as you are...cus i don't know have i've found mentors. lucky. it helps to be open yourself and respect what others can teach or share.</comment></comment>


iPhone 5 Teardown - <AUTHOR> http://www.ifixit.com/Teardown/iPhone-5-Teardown/10525/1

<comment><USER2> In the review they say _Antennas are sized to be fractions of full wavelengths_. I thought I read a year ago that the reason the 4 and 4s didn't have LTE was because the physical size of the phone wasn't large enough for the radio antenna needed for LTE. Is it true that they needed to extend the size of the phone to get the right fractional size for an LTE antenna?

<comment><USER3> In the US the lower frequencies being used for LTE are 700/800 MHz which corresponds to a wavelength of between 37 and 43 cm.

A dipole would be at 1/2 wavelength or 21 cm at the lowest frequency. At 1/4 wavelength you'd be looking at 10 cm long.

The iPhone 4S is 11.5 cm long so I think that a 4G/LTE antenna would fit inside just fine.

</comment></comment><comment><USER4> Looks like the teardown is underway, so only a few pictures are posted. Would be fun to get a live feed of them hacking on it!

<comment><USER5> They're just disassembling in style, not hacking anything.

</comment></comment><comment><USER6> I love this site. My MBA fan had an issue and I only stumbled across it while researching my repair options.

I was able to buy a new fan and all the tools at less than half the cost of getting an Apple repair center to do it. I'll certainly be able to reuse the tools as I build up my "repair shop".

They have very detailed video guides that explain every step of the process-- and they have them tailored for every MBA generation, explaining the little differences between them as they go. Very cool. I especially like their retro philosophy of DIY and repair vs. recycle and discard.

</comment><comment><USER7> Wow, did they actually go to Asia to buy the iPhone5 so that they'd be the first ones to post the teardown? (it seems that there are a few sites that compete in this teardown/BOM space)

<comment><USER8> When I want to find out what screwdrivers I need to open my MacBook, the first thing I think of is iFixit – oh, and hey, turns out I need a screwdriver I don't have at home and they are selling it.

I think being the ultimate teardown website is worth a lot of money for them. I'm honestly not even sure how some small website selling repair tools could get that kind of exposure and attention any other way.

<comment><USER9> I think that is a symptom of a larger problem to be honest. Odd screws don't stop tampering, they just cost you lots of money to tamper. Why bother? this is another circumvention industry that doesn't really need to exist.

My Lenovo can be stripped bare and reassembled with a Swiss army knife in a few minutes and not much effort or head scratching.

For reference, Lenovo have a web site which SHOWS you how to take your stuff to bits:

<http://service.lenovo.partner-management.com/et.cfm?eid=1369>

Pick a unit, click the Take course link. Videos for everything.

<comment><USER8> I couldn't care less. That is one aspect I do not even consider when making a purchase decision. Sorry, I hope that doesn't offend you :-)

But that wasn't really what I was talking about, now was it? Your ideology might be showing if you make completely off-topic comments and free associate once something comes up your ideology tells you you should care deeply about.

</comment></comment></comment></comment><comment><USER10> It's ironic that, after all this engineering, it's reduced to court cases about rounded corners sigh

<comment><USER11> It's sad that, after all the facts, you still think it was a court case about rounded corners sigh

</comment></comment><comment><USER12> I'm interested to see if they discover a firmware disabled NFC chip, similar to how Bluetooth was originally included but disabled. And yes, I'm aware it was publicly denied.

<comment><USER13> _Bluetooth was originally included but disabled_

What?

<comment><USER14> Some ipod touch devices had a bluetooth chip in them and it wasn't enabled.

<comment><USER15> Not some, the entire second generation.

</comment></comment></comment></comment><comment><USER16> You know, seeing how many chips are in there makes me realize how much more the electronics have the potential to shrink as these things continue to integrate. Even in the same sized case, it might be possible to slip in quote a bit more battery.

<comment><USER17> Given that Apple already has two Apple-branded chips on board, that's somewhat likely.

Some of the chips, specifically ones that are mostly analog or mixed analog/digital, will likely remain discreet for quite a while.

<comment><USER18> good, I hate it when ICs get gossipy.

</comment></comment></comment><comment><USER19> They've been on step 8 for about 45 minutes. I'm looking forward to hearing what obstacles they ran into that slowed them down a bit.

<comment><USER20> Our memcached server bit the dust, and it took a while to populate a new cache machine so we could switch back to dynamic serving. In the meantime, our Varnish box served the static cache (showing up to step 8). So our teardown team was still working like mad, and it took the servers a bit of time to catch up.

</comment></comment><comment><USER21> Didn't realize the iPhone 4/4S did away with the simple screen replacement. I was really impressed with that when I broke my iPhone 3G display and came to replace it.

I was kind of thinking they'd sacrifice that with the new, even thinner iPhone 5, though. It's a pleasant surprise to see the screen assembly is effectively user-removable.

I just wish Apple supplied replacement screen assemblies. With the new integrated touch screen it's only going to become more difficult for third parties to manufacture passable replacement parts...

</comment><comment><USER22> Can someone explain why both this and the iPad need two different touchscreen controllers?

<comment><USER23> Different screen size; each controller is probably better at handling one size.

<comment><USER22> No, I'm not asking why the iPad and the iPhone use different controller chips: The teardown says that the iPhone has _two_ controller chips on the board & goes on to say that the iPad is the same. Not only do they both have two chips, but the chips are different!

That's what I'd like explained: any ideas?

<comment><USER23> Ah, I misread your question.

According to their notes, "Rather than a single touchscreen controller, Apple went with a multi-chip solution to handle the larger screen size, à la iPad.".

But I'd guess that it's not (just) the size that makes them use two chips; since they're different chips they probably have different strenghts and weaknesses. Or maybe just having two different representations of each touch make it possible to be more accurate.

<comment><USER22> Maybe one for multitouch and one for more accurate single touch detection?

<comment><USER24> There can't be separate touch controller for "multitouch". In fact the word multitouch is not even a technical term. Touchscreens are multitouch by default. The two chips probably work in parallel to handle the needs of the larger touchscreen.

Galaxy Tab 10.1 actually has three Atmel touch controllers, which is probably why scrolling on it is smoother than most Android devices.

<comment><USER22> Enlighten me: How exactly does having two, or even three controllers make for smoother scrolling? Assume I know nothing about touch screen controllers!

<comment><USER25> Speculation (I know nothing about the technology, either):

There are two factors to smooth scrolling:

\- high-resolution, low latency measurement of finger location.

\- fast, low latency scrolling of screen content.

I guess one can use multiple detectors to increase spatial resolution of position detection. For example, with two detectors that each have a X DPI resolution, one could place them in two layers, staggered from each other behind the screen to double resolution in one direction.

Alternatively, if there is no technical limitation to DPI, it might be a limitation to the controllers one can buy. If they have a maximum number of lines they can detect, one could use two controllers, each one covering half the screen, and double resolution that way.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> What stops them from doing the full teardown at once? Why only the first few steps?

<comment><AUTHOR> I believe they are posting it as they are tearing it down, so there is more to come!</comment></comment>


Facebook's Syntactical grep - <AUTHOR> https://github.com/facebook/pfff/wiki/Sgrep <comment><USER2> This project is way more than that. Spatch looks pretty awesome as well. Both are tools built on top of this library for doing fun magic with code, though.

</comment><comment><USER3> Looks pretty neat ! It probably should not be called sgrep though since its not regex anymore ... sfind maybe ?</comment>


Survey finds 90% of women in tech report demeaning comments from male colleagues - <AUTHOR> http://www.vox.com/2016/1/17/10781366/women-technology-sexual-harassment <comment><USER2> the said part is about half those the guys didn't even realize they were being demeaning.

<comment><USER3> Those poor dudes ;(</comment></comment>


Software engineering lessons from the flight deck - <AUTHOR> https://amanjain.substack.com/p/software-engineering-lessons-from <comment><USER2> I was surprised to see this person's linkedin profile, as I was expecting more extensive experience than the article implies

<comment><AUTHOR> Why would you expect more experience than implied on the article?

<comment><USER2> His article claims "I've tech-led teams at Facebook, WhatsApp, and Twitter", which is technically accurate. But most people would expect more than 1-2 years at each company, which is his actual experience according to LinkedIn.</comment></comment></comment>


Show HN: Simple, Clean and Clutter Free Android Quotes App - <AUTHOR> https://play.google.com/store/apps/details?id=com.laxmena.vakaiquotes <comment><USER2> Apart from Consistency, I would have liked the favorite button to be located on the lower half of the screen, so that I could frequently favorite quotes with one-handed use.

</comment><comment><USER3> The app is simple and intuitive. Consistentcy in the button location of favorites and back could have focused. A neat one, a clean experience.</comment>


All hail the generalist - <AUTHOR> http://blogs.hbr.org/cs/2012/06/all_hail_the_generalist.html

<comment><USER2> Amen to that. "Specialization is for ants," as Heinlein said. And in a world full of specialists, the generalist is King.</comment>


How to Build a Culture of Delivery with Lean DevOps - <AUTHOR> https://cto.ai/blog/build-a-culture-of-delivery-with-lean-devops/ <comment><USER2> DevOps is such a buzz word today that it's very refreshing to see an article talking about DevOps and it as it is: A company culture first

Great article!</comment>


A Simulated Enigma Machine - <AUTHOR> https://observablehq.com/@tmcw/enigma-machine <comment><USER2> Hi, I really like the work you've done with the animation.

However, your simulator is not working properly. It's missing key features:

\- Ring settings

\- Ground / Indicator settings

\- Double step anomaly

\- Decryption

Other notes:

In the manual it says: The positions of the rotor can also be configured but that isn't configurable yet, because it's a relatively minor detail.

It's not a "minor" detail, it's a key feature.

\- You can choose 4 reflectors, 2 of them are THIN reflectors which were used ONLY in the Naval Enigma (M4) because the model had one additional static rotor to the three rotors. I am confused what model are you trying to simulate. Your manual says "the three rotor machine" which is neither a model, nor true.

\- I tried decrypting the ciphered code in 2 different simulators, both of them gave me the same result, which wasn't the original plain text message I've entered.

\- I don't want to wait 15 seconds just to see one letter get encrypted, it will be good to speed it up, and highlight the routes maybe?

I understand if you wanted to show how observable.js works, but I do not like that it is a half-finished but published simulator. It gives a nice inside look of the rotor configuration and the current's path but it is definitely not ready for proper use.

</comment><comment><USER3> For a while, simulating an Enigma machine was the first assignment in the intro to functional programming course at Cornell :) [http://www.cs.cornell.edu/courses/cs3110/2018fa/a1/](http://www.cs.cornell.edu/courses/cs3110/2018fa/a1/)

</comment><comment><USER4> It would be cool if the routes highlighted too, so you can visualize the path better. Really neat to see it operate slowly, nice work

</comment><comment><USER5> Is that the alphabet that the machines used? I thought the German alphabet had extra letters.

</comment><comment><USER6> interestingly there was a project to break unbroken 4 rotor navel enigma messages and they still have one unbroken one

[https://enigma.hoerenberg.com/index.php?cat=Unbroken](https://enigma.hoerenberg.com/index.php?cat=Unbroken)

</comment><comment><USER7> FQEKNHRKMGOKTVZB</comment>


Freenet: The forgotten cryptopunk paradise - <AUTHOR> http://draketo.de/english/freenet/forgotten-cryptopunk-paradise

<comment><USER2> I would be interested in a short rundown on the current state of privacy networks, including: tor, i2p, gnunet, freenet, anonet etc. Do kad/emule/gnutella still exist?

<comment><AUTHOR> I created a very, very short rundown on slides for a talk¹ and a slightly longer one in a text with ideas about getting funding from groups who fight for freedom of the press².

¹: Page 7 on [https://www.noname- ev.de/w/File:FreenetSlides.pdf](https://www.noname- ev.de/w/File:FreenetSlides.pdf) ²: [http://draketo.de/proj/freenet- funding/#sec-9](http://draketo.de/proj/freenet-funding/#sec-9)</comment></comment>