The HTML5 boom is coming. Fast - <AUTHOR> http://gigaom.com/2011/07/22/the-html5-boom-is-coming-fast/

<comment><USER2> 'HTML5' is losing all meaning and just becoming a buzzword.

 _"HTML5 is not just going to be big, it's going to be huge — and it's coming fast.

More than 2.1 billion mobile devices will have HTML5 browsers by 2016, up from just 109 million in 2010"_

No, more than 2.1 billion mobile devices will have _web browsers_. Yes, they'll use HTML5 but the figure is significant because of users gaining access to the 'full web' on fast 3G connections- that has nothing to do with HTML5.

 _"Much of this growth will be thanks to Apple's massive support for the HTML5 platform, according to the study. And Apple is also likely to be one of the biggest beneficiaries of the technology's wide scale adoption. "_

Actually I'd argue that Apple has done some of the biggest damage in harming HTML5 adoption. Their refusal to make HTML5 a first-class citizen in the app- writing world (and Android is equally as guilty of this) means that people are still being funneled through Objective-C pathways, locking their apps into the iOS platform.

 _"Because Apple has so much control over its software and devices, it will be most poised to take full advantage of HTML features as they emerge in the coming years."_

Or, they'll be poised to take full advantage of their market position and make it very difficult to write any kind of cross-platform app. We'll see.

<comment><USER3> While I don't disagree that the term "HTML5" is overused... I thought it was obvious that the expansion of "HTML5 browsers" was in reference to well performing and compliant WebKit browsers that can leverage the richer and more featureful... features of HTML5.

I also don't see how the native platforms in iOS or Android impede anyone's ability to use purely web technologies. At all. I find that to be a disingenuous or at least off topic insult.

> _Or, they'll be poised to take full advantage of their market position and > make it very difficult to write any kind of cross-platform app. We'll see._

Are you trying to imply that Apple is going to disregard the HTML5 specs or fork it in some way that makes web apps for Android and iOS incompatible? I guess I don't understand where you're coming from... at all.

<comment><USER2> _> At all. I find that to be a disingenuous or at least off topic insult._

Is it even possible to _insult_ a multinational company?

My point is that the article suggests that Apple is a big friend to HTML5, and that the growth of HTML5 will be in large part due to Apple's "massive support". I do not believe that Apple is a "massive" supporter of HTML5.

Apple's first priority is securing their own walled garden, not HTML5. HTML5 and its associated technologies are capable of creating fully-featured, offline-capable web apps that work on a variety of smartphone platforms with minimal changes. Apple will not allow such submissions into the App Store, and instead channels users towards an Objective-C, Apple-only path. They are pro- HTML5 when it suits them (fighting against Adobe) but when it threatens their walled garden, they discard it.

It isn't my intention to single them out in this- Google is just a bad with Android, as is MS with Windows Phone. The only reason I'm focusing on Apple is because the original article made them out to be a big flag-waver for HTML5, and I think _that_ is disingenuous.

<comment><USER3> Again, how is having a native platform in any way shape or form hostile towards HTML5? The _only_ possible way I could understand your paranoia was before Apple turned on Nitro for their embedded web views. Now that they've done that, there's simply no reason to believe that they would deprecate their browser or fork HTML5.

Besides the article doesn't say that they're a big supporter (though I think they are: WebKit, Safari, Mobile WebKit, millions of iOS devices, etc) of HTML5... it simply says they are putting capable browsers in the hands of users.

>Apple will not allow such submissions into the App Store

A false accusation, and more importantly... HTML5 applications using those technologies would not even [need to or benefit from] be submitted through the App Store. That's the entire point. What are you even talking about? The only way your argument makes any sense is if you're implying that Apple scrap Mobile Webkit, remove Mobile Safari, or intentionally REGRESS their own mobile browser to prevent native-app-like-features from HTML5... which, I'm sorry, but I find to be a ludicrous assertion.

Who isn't bad in your scenarios? Every platform in existence has a native layer in it that you could "cite". If it weren't for Google (Android, Chrome, WebKit), Apple (WebKit, Safari, Mobile Safari) and Microsoft (IE9, Mobile IE9), we wouldn't even be speaking hypothetically about web apps as the future, as they'd be impossible!

<comment><USER2> At this point I really don't know what to reply- I really don't understand how on earth you'd read the comment I posted and interpret it as "Apple should scrap Mobile Webkit". You seem to have interpreted my comments to be _the exact opposite_ of what I was actually saying. How does "I think Apple are holding back HTML5" (my original comment) end up meaning "I want Apple to remove HTML5 features from their phones"?

There is no reason why App Store apps could not be written with HTML5. It works offline. It has local storage. Apps written in such a way could work on iOS, Android, WM, WebOS... the whole lot. Yet they are not allowed in the App Store (or Android Market, etc. etc.)- this holds back HTML5. (and _of course_ they would benefit from it- users go straight to the App Store to download apps. Offline web sites just don't have the same understanding)

I am not suggesting that the manufacturers throw out their existing native layers- there are times (3D games, etc) where they are entirely appropriate. But while they are the _only_ option, developers are forced into walled gardens when writing apps. I can't work out how anyone would perceive that as a good thing.

<comment><USER3> I really don't mean to sound rude, but you're not reading what I'm writing and I'm honestly not sure that you understand HTML5 or the capabilities that current mobile devices have in the HTML5 front.

You can absolutely publish fully functional HTML5 apps right now and any user on any mobile platform can use them. Even more, you can make simple Web View wrapper and publish them to Market, App Store, etc. Surely, surely, you're not really sitting there saying they have to build some new manifest and packaging format to support web apps... in their NATIVE application store, right? The entire point of web apps is that you don't need the concept of an "app". The app is the webpage as it's displayed in the browser. If you want to avoid that perception issue, then use an embedded web view wrapper.

My point was that all of these functionalities and abilities are in existence RIGHT NOW in (at least) the WebKit browsers. You're acting like it's not possible now, or that it won't be in the future. My point was that your accusations imply that Apple/Google/etc will, at some point in the future, go back and remove the Location API or Local Storage APIs or future Device APIs from their browsers... (since that's the only way your accusations make any sense).

You continue to act like the native platform or native app store somehow impedes the ability to use the browser or web views, which is just either above my head or just plain wrong.

<comment><USER2> "My point was that your accusations imply that Apple/Google/etc will, at some point in the future, go back and remove the Location API or Local Storage APIs or future Device APIs from their browsers..."

Throughout this entire discourse (and I'd challenge the claim that you've "tried to be nice", unless you just didn't try very hard) you've thrown out various accusations of what I think, then dismantled them- despite me having never suggesting anything of the sort in the first place.

Why on earth would I accuse Apple/Google of planning to remove HTML5 APIs? I genuinely have no idea why you are projecting these ideas. My point is that HTML5 could be a first-class citizen when it comes to app making. It is not. And the fault for that lies with the phone manufacturers. Therefore, in my mind, Apple does not have "massive support" for HTML5.

But hey, let's leave it here, while you're trying to be nice. I'm not sure I'm interested in finding out how condescending you'll be when you aren't.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> It's amazing how - I think at least - the web is moving away from framework based technologies to HTML, CSS and Javacsript as primary sources. Indeed, Windows 8 is pushing support for such technologies and actually supporting a move away from framework based technologies to the HCJ combo. Even now with the popularity of HTML5 API's and NodeJS - the push away from traditional frameworks is becomming evident. Just look at Silverlight/Flash as sources of this - MSFT touted Silverlight as the "new future" and now its all but giving it the big middle finger.

Is this a good thing ? I think that Google and Apple are intent on killing Microsoft and Adobe respectively and they believe the best way is to strike at their respective hearts is by reducing their core platform reliance. I'm not necessarily of the view this is the best way forward, and data security and privacy laws having a long way to go before we all start using "Chrome Books". I just sometimes wonder whether Google/Apple self-interest in pushing ahead HTML5 is, and will, benefit the developer community as a whole in development of web technologies or rather create some sort of HCJ hybrid "gadget" '@web application@' community.

Further, I'm not always convinced that writing lines of HTML5 and Javascript will replace the eons of work [flagrant exaggeration intended] that has gone into traditional languages. Just like the HTML4 spec, it will be a while before the HTML5 spec is "truly adopted". A simple DocType switch and you're "technically" in HTML5.

"The HTML5 boom is coming. Fast" - maybe it is, but I don't know whether that represents the "super exciting" future we all dream of - or whether it represents a flood of new poor constructed web technologies aiming to be the next "Facebook". Call me a cynic - I just think we need to preserve our roots as much as we do need to forge a better web future.

<comment><USER5> What do you mean by 'framework based technologies'?

There are many kinds of frameworks in many languages and technologies.

<comment><USER6> I believe he meant technologies that have the bulk of their logic server side, as opposed to on the client side (ie, old Twitter vs. new Twitter).

</comment></comment></comment><comment><USER7> The iOS and Android browsers have laughable HTML5 support. On paper they may seem OK, but implementations are highly buggy at best. (Speaking from the perspective as an HTML5 game dev.)

WP7 might be the first to have a good default browser for HTML5, and that kind of dumbfounds me. Get on the ball, Apple and Google. I know it's in your best interests to keep the more powerful stuff out of your mobile browsers, but the sooner the better.

<comment><USER8> Totally possible that when you get down and dirty with games they are not great, but from the perspective of a general web dev they are awesome and let you do any of the standard things you'd want to on the desktop side with ease (again, talking about regular web apps here, not games).

<comment><USER7> True. But the buggy stuff for games is still stuff the mobile web apps can use to enhance themselves, and bring them closer to native apps in features and even performance.

</comment></comment></comment><comment><USER9> Youtube's HTML5 player is still very alpha and poorly designed (still no fullscreen?). It has hardly changed in over a year since it was released.

I question Google/Youtube's commitment to moving to HTML5.

<comment><USER2> AFAIK, it isn't possible to watch fullscreen video in HTML5. At least, not in the way you with Flash.

<comment><USER10> Go to <http://teevox.com> and press F11. Works fine. Youtube could easily have a "full-page" button that also asks you to press F11.

<comment><USER2> It's really not an ideal solution. Does F11 even work on the Mac? I F11 in Chrome, I get no (ahem) chrome, but if I F11 in Firefox and IE, my tabs are still there.

(EDIT: just realised they disappear after a little while. Interesting.)

In any case, the fact that there is nothing clickable is baffling. I really don't understand why no-one thought to tackle this when discussing the <video> tag.

<comment><USER3> I love this behavior actually. Besides the fact that Flash has had years to get fullscreen right, I've yet to have it worked 100% as expected and I might as well light myself on fire as try to use it in Linux.

(With HTML5 <video>) I can easily get the video to go fullscreen in the window (as is the behavior of "fullscreening" video in Chrome) which is nice because I can have a video play and not have to have my browser window at the normal size... and if I want, I can press F11 and have it go full screen (without borking my computer in the process). (Who cares what the button is... is the clipboard going to fail because it's Cmd+C in OS X and Ctrl+C in Windows?)

edit: I can't reply any further, but this provides context for why this decision was made. When considering mobile devices, this seems like an even more prudent choice: [http://stackoverflow.com/questions/1055214/is-there-a- way-to...](http://stackoverflow.com/questions/1055214/is-there-a-way-to-make- html5-video-fullscreen/1055524#1055524)

</comment></comment></comment></comment></comment><comment><USER11> I thought I read somewhere last year that Flash was dead. Yet, Flash is still here.

I think everyone can agree that we all understand that Flash is on its way out as a tool for websites. Those stupid intros and Flash menus are already dying out thanks to javascript. Nothing to do with HTML5 at all.

So HTML5 will offer us similar capabilities to Flash using Canvas. Does that mean in a few years we can start hating on Canvas because it'll do all the same things we hate Flash for? Banner ads in Canvas anyone?

Flash video you say? Not until some form of DRM is in place. Content providers probably wouldn't care for that right-click "Save Video As..." choice we would have. But, most likely, it'll eventually happen.

So, can silly articles like this just stop already? If all you know is Flash on web pages then, yes, Flash is indeed dying. Screw that, as a website tool Flash is already dead. But, if you can think beyond that, Flash is turning into something else entirely. If you pay attention to things Adobe is doing or has done, such as embracing HTML5 with their related technologies, then you shall see that Flash dying on websites is far beyond Adobe's concern.

<comment><USER12> Agreed. Copyrighted content delivered solely via HTML5 has a long way to go. Proprietary runtimes controlled by large companies with DRM technology are currently the safest method (for copyright holders) to deliver that content to a paying audience.

</comment></comment><comment><USER13>
        "I think the disappearance of Flash is closer than
        people think," ABI senior analyst Mark Beccue said
        in a press release accompanying the data.

This is from the mouth of someone who doesn't really understand what Flash is, apparently. HTML5 may dethrone Flash as the defacto video delivery system. But, to say HTML5 completely obliterates Flash is...kinda hyperbolic in a way.

<comment><USER14> So what reasons are there to use flash over HTML5, I ask myself and the HN crowd?

      -Video. (Mwoah, only non-WebM video, can't really count this one)
      -Webcam
      (thanks garethsprice)
      -Simultaneous sounds (thanks AndyJPartridge)
      -Cross-browser support (browsers interpreting HTML5 differently)
      -???

Non competitive advantages:

      -Games (see Angry Birds)
      -3D hardware acceleration (both have the same security issues exposing shaders)

Competitive advantages HTML5 over flash:

      -2D Hardware acceleration
      -Open
      -Cross-browser support (flash has it's update/versioning problems)

<comment><USER15> For me, the biggest problem I have trying to use HTML5/Javascript/CSS for a game is sound.

I can't get background music and sound effects working simultaneously under iOS using just those standards.

<comment><USER16> is that a deficiency of the iOS browser or the HTML5 standard?

<comment><USER15> iOS mainly: Sounds need to be triggered by touch events, which of course for gaming seriously restricts what you can do.

EG: No sound effect from an alien shooting at you.

</comment></comment></comment></comment></comment><comment><USER17> Yes, HTML5 is coming fast, and I think we actually have Microsoft to thank because previously their lack of support was hindering adoption. However, they are making incredible strides in IE9 and IE10.

<http://html5test.com/results.html>

Now, if they would only adopt WebGL.

</comment><comment><USER18> As a Web Developer I've been doing HTML5 for a few months now. I just use JS libs to fix old browsers. I've produced 20 or so websites already all using HTML5 and none have had "ZOMG YOU AREN'T SUPPORTING MY BROWSER" complaints. (Daily traffic to these 20 is about 3-5k uniques each, it's not a massive test base so take it as you will.)

</comment><comment><USER19> Is it really AAPL that is giving massive boost? How about GOOG?

Ohh..c'mon! Feels like I'm reading AAPL fanboi blog.

<comment><USER20> Well, before Google started with Chrome you could say that was true, they were doing impressive things with WebKit. I am not counting commits and their weight now, so hard to tell how it is today.

<comment><USER3> I'm fairly certain the point is about getting good (WebKit) browsers into the hands of users... not the attribution of features and commits to WebKit.

</comment></comment></comment><comment><USER21> The only thing that will keep Flash alive even once HTML5 is pretty much universally supported will be the content control Flash has. With the <video> or <audio> tag, all you have to do is view the page source and you can download anything. I think companies like Vevo will fight hard against that.

<comment><USER22> Yeah, I mean, it's not like there are any Flash download tools now or anything.

Or even digging through various directories to find where your video's been downloaded to.

For a while there, Flash was insisting on deleting its files (the directory entry is removed but the handle and content remain) in Linux. You can still find the filehandle through /proc and restore it.

Content control doesn't work so long as users own their systems and you've got to distribute it in some means or another.

</comment></comment><comment><USER23> Browser trends from a fairly-well-trafficked site, this month: 31% IE8, 18% Firefox, 16% Safari, 11% Chrome, 11% IE7, 10% IE9, 3% Other (IE6, mostly).

IE8 has dropped 12% share in a year. Firefox has dropped 2% in a year. Safari has climbed 12% in a year (iPad and iPhone usage). Chrome has climbed 6% in a year. IE7 has dropped 7%. IE9 obviously has climbed 10% share.

That's 55% of audience that has an HTML5-capable browser. Enough for us to put in CSS3 tweaks, selectors, etc., but not enough to abandon the metric ton of legacy Javascript and div soup that we have. At its current rate, IE8 is going to be around for a long, long, long time, much like IE6 was.

<comment><USER24> Mobile Safari is not the same thing as desktop Safari, just like Android browser is not Chrome, Opera Mobile is not desktop Opera, and mobile Firefox is not desktop Firefox.

It's completely misleading to _suddenly_ add iOS browser market share to desktop Safari market share and go like "Wow. Safari market share grew 12% - in a year!" - when Mobile Safari has grown at a steady pace since 2007 and has never been considered part of desktop Safari's market share.

They may share code with their desktop counter-parts, but they are not the same, and if you are going to lump the desktop version with the mobile version together, then at least do it for _all_ browsers.

</comment></comment><comment><USER20> See [http://www.brucelawson.co.uk/2011/html5-notes-for- analysts-a...](http://www.brucelawson.co.uk/2011/html5-notes-for-analysts-and- journalists/)

</comment><comment><USER25> Where do Flash games come into this? I'm not very familiar with the development of a flash game but some guy in this article claims "Flash will disappear" or something. I assume this means whatever source the games have will just be compiled into some other sort of file compatible with HTML5? Or am I missing something completely?]

<comment><USER26> He is implying that new content (including games) will be created in HTML5 using Canvas and JS instead of in Flash. While google has made a tool that can convert some content from Flash to HTML5 automatically (Swiffy), it only supports very old Flash content.

<comment><USER11> I've always wondered how games written with javascript on canvas would handle cheating since you can type javascript code into the web page you are currently looking at.

Adobe also has a tool for converting Flash to Canvas: <http://labs.adobe.com/technologies/wallaby/>

<comment><USER5> If you write the javascript code inside an anonymous function, outside code by the user can't interact with it.

However, the user can still use javascript to manipulate the dom, and hence the canvas (I think).

</comment></comment></comment></comment><comment><USER27> It says the HTML5 standard is not slated to be complete until 2020. That seems ridiculous. Why so long?

<comment><USER20> Because by definition it requires three browser wendors with _complete_ implementation of the standart. Looking at it this way we have no version of HTML complete.

</comment></comment><comment><USER28> so fast that gigaom missed it, apparently.

</comment><comment><USER29> I DON'T KNOW WHAT HTML5 IS, BUT SIGN ME UP FOR SOME. I'LL TAKE 13!!! BUY NOW!!! CAN WE INVEST? IS IT PATENTABLE??? DO IT NOWWWWW.

</comment><comment><USER30> "The HTML5 boom is coming. Fast."

That's what she said?</comment>


Tracing at Slack: Thinking in Causal Graphs - <AUTHOR> https://slack.engineering/tracing-at-slack-thinking-in-causal-graphs/ <comment><USER2> The real takeaway here: Honeycomb is a great tool for log and trace analysis, and by using Honeycomb's minimal data model [1] for traces you can expand tracing throughout much more of your stack. Now Honeycomb itself makes you pay by the event so Slack's internal buffer and collection system really lets them use it effectively for just the data they need. The low adoption of tracing is also due to the high cost of application level integration, which they are deferring by using the existing tracing systems service layer integration.

So if you come at this as a Honeycomb user Slack has not really re-invented any wheel so much built their own backend to funnel data to Honeycomb and use it's excellent trace viewing and light weight analytics UI [0]. In fact API and model which this article goes to great lengths to explain and justify is basically the Honeycomb tracing API and data model [1]. Which itself is an evolution of the system Facebook uses [2]. It is very cool that they have plugged the gap in Honeycomb which is the lack of historical analysis capability by also funneling all data into Presto.

I would love to see the system they use for keeping field/tag names under control. Honeycomb really strains under large numbers of field names.

0 - [https://www.honeycomb.io/trace/](https://www.honeycomb.io/trace/)

1 - [https://docs.honeycomb.io/getting-data-in/tracing/send- trace...](https://docs.honeycomb.io/getting-data-in/tracing/send-trace- data/#manual-tracing)

2 - [https://www.techrepublic.com/article/ex-facebook- engineers-l...](https://www.techrepublic.com/article/ex-facebook-engineers- launch-honeycomb-a-new-tool-for-your-debugging-nightmares/)

<comment><USER3> What would you consider a "large" number of field/tag names?

</comment></comment><comment><USER4> I didn't really get this. Spans in other frameworks are already DAGs; and easy to reason about them as such.

Sounds like they just made the API "more generic" by removing request oriented nomenclature ?

<comment><USER5> Agreed - this definitely has some "Not Invented Here" baked into it. Seems like they didn't like some of the nomenclature associated with Jaeger/Zipkin, even though both are pretty extensible . . .

> In the future, we plan to build on this success by adding a more powerful > query language for querying trace data.

Now they just need a custom DSL!

</comment></comment><comment><USER6> I'm sorry but the problem statements really did not resonate with me. I felt like there was a very strict limited consideration for the existing tools, justifying breaking away, but the SpanEvent they came up with felt practically indistinguishable from the preexisting technologies they spent so long poo- pooing.

<comment><USER7> Author of the post here. I was the tech lead for Zipkin at Twitter, implemented tracing system at Pinterest[1] and a contributor to the Open tracing spec[2]. So, limited consideration of existing tools may not be too accurate of a description :).

A SpanEvent is a simpler span.

Regular Span - Annotations(nested structures) = SpanEvent.

Most developers don't think about using spans to represent DAGs in their applications. The goal of a SpanEvent is to aid developers to think in terms of DAGs.

In my experience, with some care and clever code, you can use existing Span formats. But, most developers give up and do something else instead.

[1] [https://medium.com/pinterest-engineering/distributed- tracing...](https://medium.com/pinterest-engineering/distributed-tracing-at- pinterest-with-new-open-source-tools-a4f8a5562f6b) [2] [https://opentracing.io/specification/organization/](https://opentracing.io/specification/organization/)

</comment></comment><comment><USER8> For answering the question "Am I missing my SLA because of slow DB queries on a specific http endpoint?" you might want to look at the trace analysis features offered by Lightstep in addition to or instead of Honeycomb. Lightstep can classify your trace population to find span data disproportionately associated with high latency. It's pretty slick.

</comment><comment><USER9> If anyone else was curious...

"Our tracing pipeline has been in production for over a year now and we trace 1% of all requests from our clients. For some low volume services, we trace 100%. Our current pipeline processes ~310M traces/day and about ~8.5B spans per day, producing around 2Tb of trace data every day."

</comment><comment><USER10> The more I read posts like this, the more I like the _modular monolith_ architecture. :-)

</comment><comment><USER11> > Zipkin and Jaegar are two of the most popular open source tracing projects > that follow the above model

Jaeger. This error happens multiple times in the article.

> While the current APIs work very well for their intended use cases, using > those APIs in contexts where there is no clear start or end for an operation > can be confusing or not possible.

I don't understand this part. At Klarrio, we are using Jaeger to trace a multi-tenant microservice system. We ingest data over mqtt and forward to kafka. Contexts are created on ingest and forwarded via kafka to further services. Each service adds its own spans to the trace. A message can be sent from one tenant to another, we don't know when the trace is completed as the tenant can add spans at any time in the future. There isn't clear end to the process. Traces can span over days. We use it to report latencies in a real time environment to a governmental body.

> whose event loops call into application code (inversion of control), we need > complex workarounds in existing APIs that often break the abstractions > provided by these libraries

I'd like to know more how a custom solution solves this problem. At the end of the day, the trace id and parent span id still has to be somehow forwarded to the next service.

* edit: there is an example of a curl query towards the end of the article. Jaeger has a built in reporter and it's already possible to send a context over http to another service. It's just data?

So it also has to somehow plug into the mentioned frameworks/IoC? What's different?

In worst case, this is a perfect example of where a contribution for opentracing support would be probably appreciated.

> Further, we also found that in those use cases there may be multiple request > flows (producer-consumer patterns via kafka, goroutines, streaming systems) > happening at the same time or we may want to track a single event across > multiple request flows. In either case, having a single tracer for the > execution of the entire application can be a limiting factor.

It's possible with Jaeger. We do this at Klarrio. Span context can be sent over the wire. Furthermore, one is not limited to a single tracer per application.

> Raw spans are internal implementation details in tracing systems.

Yes, implementation detail.

> These internal implementation details are hidden from users, who interact > with these spans via an instrumentation API at creation time and via the > trace UI at consumption time.

Consumption, how? In the UI? Yes, they are visible. Through an API? They're in tags and logs fields. They're definitely not hidden.

> For example, I'd like to be able to ask a question like "Am I missing my SLA > because of slow DB queries on a specific http endpoint?" Even though traces > contain this information, users often have to write complex Java programs, a > multi-day effort, to answer their questions. Without an easy way to ask > powerful analytical questions, users have to settle for the insights that > can be gleaned from the trace view. This drastically limits the ability to > utilize trace data for triage.

Jaeger has pluggable storage back ends. One of them is kafka. With kafka, it's one step to such a solution. Either store them in a database allowing for such query (presto, druid... hello?) or write a kafka app managing alerts. Why reinvent the wheel completely?

I'm not convinced but if it works for Slack, great. So... can I try it?

<comment><USER7> Author of the post here.

Thanks for reading the post and your detailed questions.

> I don't understand this part. At Klarrio, we are using Jaeger to trace a > multi-tenant microservice system. We ingest data over mqtt and forward to > kafka. Contexts are created on ingest and forwarded via kafka to further > services. Each service adds its own spans to the trace. A message can be > sent from one tenant to another, we don't know when the trace is completed > as the tenant can add spans at any time in the future. There isn't clear end > to the process. Traces can span over days. We use it to report latencies in > a real time environment to a governmental body.

If your trace data is perfect, everything works. The issue comes when your traces are imperfect.

It is my experience that the existing tracing tools break in subtle ways when the parent span doesn't enclose the complete time for the child span (the UI and the trace analysis tools). Things may have improved a bit since I last looked though.

When we treat traces as raw data, we side step these issues since we leave the real interpretation of the data in the causal graph to the reader instead of forcing a specific view of the data.

> I'd like to know more how a custom solution solves this problem. At the end > of the day, the trace id and parent span id still has to be somehow > forwarded to the next service.

When you use a tracer in application frameworks today, it comes with built in trace context propagation. However, in some contexts this may be not be ideal since your application or framework already has implicit context or some other mechanism built in. In those cases, having a lower level API just to produce spans directly is more useful. It also allows for gradual addition of tracing to your application instead of adding tracing all at once. For example, if you use a jenkins_job_id as your trace_id, you don't have to explicitly propagate any context across all those tasks in that job.

OpenTracing is a higher level API in these cases and adding these lower level APIs may not be ideal.

> one is not limited to a single tracer per application

Yes, you can have multiple tracers per application. But, you are limited to one tracer per request execution in the current libs.

> Consumption, how? In the UI? Yes, they are visible. Through an API? They're > in tags and logs fields. They're definitely not hidden.

You are right, none of the data we put on the span is hidden from the user. In the existing systems, a user is exposed to an abstraction of a span. They are not exposed to raw spans. It is in this sense, that the true spans are hidden from the user.

> Jaeger has pluggable storage back ends. One of them is kafka. With kafka, > it's one step to such a solution. Either store them in a database allowing > for such query (presto, druid... hello?) or write a kafka app managing > alerts. Why reinvent the wheel completely?

Yes, we already put this data in Presto and query that data using SQL.

We tried doing it with zipkin data in the past. However, such efforts have failed because beyond a few power users regular users had a hard time querying the raw span data. Further, the current span formats are not database friendly since they have nested structure.

In practice, the simplest system we found is one where the user produces the data in a specific format and then consumes the data in the same format. SpanEvent was created to provide the same view during span creation and span consumption. The short answer to why a new system is it's simpler.

</comment></comment><comment><USER12> To me, it seems pretty crazy that (what's basically) a chat app needs such high-levels of traceability -- 2Tb of trace data every day? _Why?_ I mean, people have been running IRC servers in their basements for decades just fine, but I guess the millions in engineering budgets need to go _somewhere_.

<comment><USER13> You are comparing two different types of services. While they share commonalities (passing messages between users), the details are quite different. For example, you don't get the history of IRC server for times you were offline. It's like comparing between an airbus and a glider, both fly, right?</comment></comment>


How My Little Pony turned a little girl into a computer scientist - <AUTHOR> http://www.boingboing.net/2010/02/10/how-my-little-pony-t.html

<comment><USER2> Well, I read that as "If you have that kind of sciencey/geeky mind, you'll see math everywhere - even in some dumb plastic pony".

<comment><USER3> Yeah, I don't know. I feel like we all had something like this when we were tiny.

</comment></comment><comment><USER4> This is entirely about a very bright little girl and not at all about My Little Pony.

If you have the right mind, you'll see the math in whatever you're focused on - radios, Legos, or dolls.

<comment><USER5> yyyes, sort of---but when someone says that their, I dunno, Erector set taught them about careful engineering and design, we don't tend to say "this is entirely about a very bright little boy (or girl) and not at all about Erector sets". Is that because construction sets tend to be more associated with boys? Almost any time I see a comment of the form "X taught me about Y when I was little", it usually really means "I was inspired to discover Y by some feature of X", not so much that X was an edutainment toy designed to teach Y.

So why not X=My Little Pony?

<comment><USER4> I don't think recursive braiding of hair is ever something that's been suggested by My Little Pony toys in the same way construction is encouraged by Lego.

</comment></comment></comment><comment><USER6> Drifting slightly off-topic--the self-similar structure of cauliflower is neat, but is put to shame by a closely related plant. Behold, the king of recursive food, the ultimate fractal vegetable: Romanesco Broccoli. [http://upload.wikimedia.org/wikipedia/commons/4/4f/Fractal_B...](http://upload.wikimedia.org/wikipedia/commons/4/4f/Fractal_Broccoli.jpg)

</comment><comment><USER7> Sounds like she was close to rediscovering the Mandelbrot set.

<comment><USER8> Sure does. Boys could do that to but are too busy demonstrating that Force = Mass * Acceleration.

</comment></comment><comment><USER9> A diamond in the rough! (in the literal sense)

Great to see the spirit of curiosity and intellect alive in the most unlikely of circumstances.

<comment><USER10> Hu?

You make it seem like she grew up in a 3rd world country sorting garbage for a living, and found a pony which changed her life.

What's unlikely about her life? And why's she a diamond in the rough?

She probably when to school like everyone else, and the pony had nothing to do with it. It was just a prop.

<comment><USER11> A diamond "in the rough" is not a diamond surrounded by roughness, but rather an unpolished diamond. Or at least that's how gemcutters use the term. The idea that a "diamond in the rough" is related to sorting diamonds from junk is probably a folk etymology.

<comment><USER12> So you are saying she is an unpolished diamond? Or was? Perhaps, but no more than any other budding mathematician/computer scientist.

</comment></comment></comment></comment><comment><USER13> really thought this was going to be a Fake Steve Jobs post about Jonathan Schwartz: [http://www.fakesteve.net/2010/02/my-little-pony-a-look- back....](http://www.fakesteve.net/2010/02/my-little-pony-a-look-back.html)

</comment><comment><USER14> Personally, I find it interesting to see this young person's mathematical mind manifest itself in such a way. She apparently adored her My Little Pony, and became consumed in pushing division into her braiding experience with it. Sure it was a prop, and she would have likely started doing the same thing elsewhere; but, it's engaging to see such an origin.</comment>


Federal Whistleblower Investigator Fired After Blowing the Whistle on Own Agency - <AUTHOR> http://www.nbcbayarea.com/investigations/Federal-Whistleblower-Investigator-Fired-After-Blowing-the-Whistle-on-His-Own-Agency-332240782.html <comment><USER2> And meanwhile the government is saying that Edward Snowden should have used official whistleblowing avenues instead of going public.

<comment><USER3> While completely ignoring that contractors like Snowden have absolutely no whistleblower protections at all.

<comment><USER4> Yeah Hillary brought up the chestnut of seeking whistleblower protections in the most recent debate... nobody called her out on it.

<comment><USER5> [http://www.politifact.com/truth-o- meter/statements/2015/oct/...](http://www.politifact.com/truth-o- meter/statements/2015/oct/14/hillary-clinton/clinton-says-nsa-leaker-snowden- failed-use-whistle/)

</comment></comment></comment></comment><comment><USER6> So the agency responsible for investigating claims regarding _workplace health and safety_ matters, under the OSHA organizational umbrella, fired an employee for making claims regarding _unethical work policies_ , which are now under investigation by a _different_ agency, the Office of Special Counsel.

The umpire has reviewed the play: it is not irony. I repeat: it is _not_ irony.

<comment><USER7> Under the original definition, it is not irony. Under the modern definition, it is rain on your wedding day.

<comment><USER8> Irony is in the eye of the beholder since it hinges on the reader's expectations.

</comment></comment></comment><comment><USER9> Is this just re-reporting a past event? They even include a clip of Jon Stewart on the Daily Show talking about this specific event in the past. Is there any new information here, or is this just blogspam from a news channel in an actual TV news segment?

<comment><USER10> Now he has been fired. The included Daily Show blurb consisted of him saying he'd probably be fired.

</comment></comment><comment><USER11> I think it's pretty obvious that protection can only go so far in whistleblowing. If you upset your superiors, they will not resist their humanity to keep you on. A law that says "you can't terminate that person" would be useless because employers can always find a reason to terminate.

What protection can be offered would be something like protection from prosecution. Protection from government nuisance. Protection from lawsuit.

<comment><USER12> There is more to humanity than base impulse.

<comment><USER11> I agree that there sometimes exists philosopher kings and executives. But I also think it's a dice roll very much against the whistleblower's favor.

</comment></comment></comment><comment><USER13> Some managers at OSHA need to be fired. Now. Names need to be named by the press.

We need much tougher labor law enforcement.

</comment><comment><USER14> This is so meta ...</comment>


Programming has become an empirical science (video) - <AUTHOR> http://parleys.com/#id=2103&st=5

<comment><AUTHOR> It also mentions this presentation: The art of java benchmarking

[http://developers.sun.com/learning/javaoneonline/sessions/20...](http://developers.sun.com/learning/javaoneonline/sessions/2009/pdf/TS-5391.pdf)</comment>


How I Manage Resources in Pure C - <AUTHOR> https://www.youtube.com/watch?v=ncRv9fCxt_w <comment><AUTHOR> Also discussion here: [https://www.reddit.com/r/C_Programming/comments/8ytihi/how_i...](https://www.reddit.com/r/C_Programming/comments/8ytihi/how_i_manage_resources_in_pure_c_life_time/)</comment>


Show HN: WandererApp – Check your total travel milage on Foursquare - <AUTHOR> http://wandererapp.co/

<comment><USER2> nice to see that here. thanks.</comment>


A minimal CSS layout framework - <AUTHOR> https://github.com/robertpiira/ingrid

<comment><USER2> This is very similar to a minimal grid system I developed a couple of years back, but I define the fractions on the child elements, rather than the parent, eliminating the need for extra classes. I don't make any assumptions about margins, but you could easily apply border-box and padding to the columns (like Ingrid does). I really like that border-box is picking up support. I find it a much easier way to think about the box model, because I find it applies well to UI development in HTML (especially on mobile devices like iPads).

GitHub Project: <https://github.com/colingourlay/frak>

Demo: <http://colingourlay.github.com/frak/>

<comment><USER3> border-box is the only sane way to work with boxes... it's the way things should have been from the start. The mental gymnastics involved in box layout is so unnecessary :(

</comment></comment><comment><USER4> Some issues...

Even using the grid normally, it ends up using more horizontal space than on the viewport, forcing a horizontal scrollbar (Chrome 18).

Another problem: setting max-widths on units. Any proceeding units are handicapped by this and often just leave empty space to the right.

I also don't like the presence of three sets of classes when two would be appropriate. "ingrid" as the container, and "span-x" for each column division. And this is unavoidable, as you need to define "in-[parts]" in the container to even use the span-x classes. I understand that it's less work if you stick to equal parts, but this is not the majority use case in my experience.

I find the naming scheme awkward. "in-twos" and "in-thirds" instead of "in- halves" or "in-threes". Keep it consistent.

\---

All in all, I wouldn't recommend this to my mother.

I use Nicole Sullivan's snippet in her github project, [https://github.com/stubbornella/oocss/blob/master/core/grid/...](https://github.com/stubbornella/oocss/blob/master/core/grid/grids.css)

(demo: <http://oocss.org/grids_docs.html>)

And it's been damn bullet proof, being used in production code.

</comment><comment><USER5> relevant <http://1kbgrid.com/>

<comment><USER6> My favorite one. Really easy to use.

</comment></comment><comment><USER7> Ultra minimal: [http://www.vcarrer.com/2009/06/1-line-css-grid- framework.htm...](http://www.vcarrer.com/2009/06/1-line-css-grid- framework.html)

</comment><comment><USER8> I think the .unit class could be done away with if he used .ingrid > * in its place. Of course, that might mean rewriting some of the CSS to account for the change in specificity in that rule.

<comment><USER9> I believe this would have performance implications (css selectors are read "backwards" by browsers, so this would mean every element on the page is examined to see if it's inside a .ingrid class). Not always, but definitely could for a large/complex page, and since this is a framework that will be used in all sorts of situations it's best that the author stays on the conservative side.

</comment></comment><comment><USER10> I'm not big fan of CSS frameworks but could actually try this one. Like the lightweight approach + storybook association.

</comment><comment><USER11> Be sure to resize your window when trying this out. This is a fluid layout in every sense.

<comment><USER12> I got a little choked up when I did this and saw the fluidity. It was beautiful.

</comment></comment><comment><USER13> Is this released under a license? I'm reluctant to use code which hasn't been.

</comment><comment><USER14> I'd consider including HTML5 Boilerplate's JS in the demo html.

</comment><comment><USER15> s/who's/whose</comment>


New Zealand Government Rushes Through Controversial Anti-Piracy Law - <AUTHOR> http://torrentfreak.com/new-zealand-government-rushes-through-controversial-anti-piracy-law-110413/ <comment><USER2> Why do we call laws like these "anti-XXX"? The laws do not prevent piracy; it's already arguably illegal. All these laws do is excessively punish the offenders. We should call these laws "severe arbitrary punishment laws" instead, as that's what they actually are.

I'm fine with making sharing movies illegal, but the punishment should be something like a $50 fine, similar to riding public transportation without a valid ticket. The damage to society is similar (i.e., near zero), so the reparations to society should be similarly minimal.

Let's be honest. The world will not descend into chaos if people share movies and jaywalk. Let's not write laws that imagine otherwise.

<comment><USER3> The reason the fines are so high is that risk of getting caught is infinitesimal. This is the same reason they had to raise fines for honking in NY in non-emergencies to $500 to get people to stop. The appropriate fine should be something like

(damage to society) <= (fine) * (risk of getting caught)

<comment><USER4> (damage to society) <= (fine) * (risk of getting caught)

This is nuts. If say a kid spray paints a tiny bit on an abandoned building at night, and then gets caught, by your logic we should ruin his life. We must treat something like that like murder because the chances of getting caught are so low.

<comment><USER3> You can also work on risk part of the equation, of course.

</comment></comment></comment></comment><comment><USER5> A direct link to the proposed bill if anyones interested:

[http://www.legislation.govt.nz/bill/government/2010/0119/lat...](http://www.legislation.govt.nz/bill/government/2010/0119/latest/whole.html?search=ts_bill_Copyright+%28Infringing+File+Sharing%29+Amendment+Bill_resel&p=1#tmpn1011a)

I used to work for one of the countries leading ISP's and they have historically been massively against this proposal. They have always been vocal proponents of Net Neutrality and I can't see them simply accepting the conditions of this bill without a fight.

</comment><comment><USER6> This tweet sums up the situation best "Having parliament talk about filesharing is like having gay guys talk about vagina. They don't really get it, and they don't want to."

I watched the debate on parliament tv tonight and the lack of understanding of many of the ministers was very disheartening, It's technically not going to be possible to prove guilt or innocence for downloading pirated content via torrents. The decision to push it through in urgency is equally outrageous.

There was one lone MP opposed who certainly seemed to "get it" and he gave a very good speech <http://www.youtube.com/watch?v=GLHJYWa9iDM>

<comment><USER7> Well, the entire Green party opposed it. It was just Hughes that spoke.

The sad part is that he proposed an amendment to remove the disconnection provision, and it was voted down by Labour and National. What happened to having an opposition?

</comment></comment><comment><USER8> These bills/laws/what-have-you always seem to get "rushed" through. Something un-democratic happens on each and every one of them. UK's Digital Millenium act gets passed without debate in the last minutes of a session. France's Hadopi law gets mysteriously passed after being rejected. ACTA gets negotiated in secret.

Why?

<comment><USER9> Why? Campaign contributions/lobbying/bribery. Whatever it's called in your particular jurisdiction.

<comment><USER8> That's the mechanics of the "why", thank you for that. Let me clarify:

Rushing or backdooring these things through has a cost, and a price. Both have to be higher than a normal legislative process, I believe. I guess I should say "what motivates people to rush or backdoor these things through at the higher cost?" rather than just say "Why?".

<comment><USER7> I believe that the National party in NZ believe that by implementing ACTA (that's essentially what this is) that they will curry favor in terms of a potential US free trade agreement. It's basically the US dictating intellectual property law to the world.

The reason to do it under urgency is that it's so incredibly flawed and unpopular, it probably wouldn't stand up to a normal democratic process. So by sidestepping the democratic process, it makes it much easier to get things done.

</comment></comment></comment></comment><comment><USER7> Here's the letter I wrote to my local MP. People are welcome to appropriate any bits of it to form their own indignant letters to elected representatives, if they like:

[http://www.plsadventures.com/2011/04/i-dont-usually-post- non...](http://www.plsadventures.com/2011/04/i-dont-usually-post-non-pl- related.html)</comment>


4chan Doesn't Allow Criticizing Russia - <AUTHOR> http://lj.rossia.org/users/sadkov/434044.html <comment><USER2> It seems that a moderator of /int/ removes posts that criticize russia. I would try to contact gookmoot and see if he cares.

</comment><comment><USER3> Recently Reddit doesn't allow criticising the west.

Everything that does not follow the mainstream narrative gets banned or abnormally downvoted in the main subs.

<comment><USER4> This comment is off topic, but off topic in a particular, illuminating way.

4chan doesn't allow criticizing Russia, which if true, is of interest because 4chan is one of those places that trolls have been able to get their racist and fascist memes out in the public view, and into mainstream discourse. 4chan is also been accused of being Russian-influenced. Deleting posts criticizing Russia would seem to be more evidence of that influence.

Reddit doesn't allow criticizing "the west" is not relevant. It's vague in a weird way, and not even equivalent. "The west" isn't well defined: western hemisphere, NATO members, western Europe + USA and Commonwealth nations, what? This is vague enough that I'm sure you could look and find examples of unfairly downvoted reddit posts and comments.

But so what? Reddit is not 4chan. This is classic Russian-style "whataboutism" ([https://en.wikipedia.org/wiki/Whataboutism](https://en.wikipedia.org/wiki/Whataboutism)). Like I wrote above, that's of interest because if some 4chan moderator is deleting Russia-related comments/whatever, then someone using a Russian-style attack on criticism of that would seem to be part of the 4chan problem.

<comment><USER3> Because 4chan compared with Reddit is the slum of the internet. I don't use it, and I think very few are worried of what's happening there.

But I care about Reddit. Until recent was a good open forum that allowed good discussions. And recently it changed.

"the west" is where I live, so I would like to be able to criticize my leaders. Wich with the Assange developments, and the ABC raid, it is clear that thing are only about to get worse.

By "the west" I meant countries align with US objectives. If you still don't know I can compile you a list...

Yes, "whataboutism" is a point made a lot by hypocrites wanting to criticize others without wanting to analysis their own behaviors.

<comment><USER4> The phrase "the west" gets used to mean a lot of different things. You really should clarify what you mean, and maybe avoid "the west" as a catchall - you're going to confuse some people, and make yet another population suspicious of your reasoning.

</comment></comment></comment></comment><comment><USER5> [https://cryptome.org/2012/07/gent-forum- spies.htm](https://cryptome.org/2012/07/gent-forum-spies.htm)

I'll just leave this here.

Information Warfare and Perception Management is a real and valuable tool in manipulating world events, and collective awareness.

The more you're aware of this, the easier it is to start to make sense of things.

Happy browsing Not-so-Anon.</comment>


After Announcing Plans To Destroy Microsoft Windows, HP CEO Pulls A Gutsy Move - <AUTHOR> http://finance.yahoo.com/news/announcing-plans-destroy-microsoft-windows-011240408.html <comment><USER2> Who cares what software it runs, the interesting thing here is the memory: [http://en.wikipedia.org/wiki/Memristor](http://en.wikipedia.org/wiki/Memristor). If they manage to bring this to market, it'll really turn around their reputation as a company that's lost its R&D roots and become just another clone manufacturer. That's the bigger strategic move here: creating product differentiation using technology your competitors don't have.

<comment><USER3> I care if it runs a Unix-like operating system. As an engineer, my life is made so much easier when standard Unix stuff is available. And I'm rather miserable when I have to rewrite something to account for the absence of standard Unix stuff.

For end-users, a Unix-like system can be perfectly usable. OS X runs on Darwin, which has slightly less Unix support than I'd prefer, but still waaaay more so than Windows. Ubuntu is, in my opinion, just as easy for the non- technical to learn as Windows or OS X.

Given the benefits to developers, and the absence of a downside for end-users, I see no reason not to root for Unix on The Machine.

Now, it doesn't have to use the Linux kernel, GNU utilities, or any of the other familiar building blocks. It just has to _act_ like systems that do.

</comment></comment><comment><USER4> I don't think this is really a plan to destroy Windows. Sounds more like they're just working on the open source OSs because it's easier to do while the Machine is still largely theoretical.

If it does ever come to market, I'm sure they'll end up working with Microsoft in some form to create something together. But that requires all sorts of legal business agreements, which you can completely avoid in the early stages by working on own-brand or open-source systems.

<comment><USER5> Are these going to be expensive server computers? I would think so for the first several years. They must be high-margin machines for HP to throw money at it.

Anyway, what kind of a market would there be for Windows in this market? There's a Windows supercomputer OS but it don't think it's used much, for example.

<comment><USER4> Well if it's as revolutionary as the hype suggests, they could be looking at all market segments. Given that they're working on an Android version, they must at the very least be thinking of its possibilities on mobile.

But you're right on the the server front. If that's the way they're going, then I doubt Windows will get much of a look-in (unless MS make it themselves).

EDIT: I guess a lot of this boils down to whether they'll be going with a standard open system like exists in the current PC market. Or whether they'll be locking the hardware like Apple. If it's the former, then anyone can make an OS to fit.

</comment></comment></comment><comment><USER6> I don't want a "brand new operating system _based_ on Linux". I just want it to _be_ Linux.

When companies say stuff like this it usually just means their gonna help themselves to all of the great free stuff everyone contributed and then make their machine a thorn in the community's side with all kinds of binary blob drivers that only work with one kernel/release.

<comment><USER7> From a familiarity point of view so do I but progress in operating systems and languages hasn't moved on much for decades. Linux is the pragmatic solution for now and for some time to come but if my kids' kids are still using vim on a unix-like system to create software in a c-like language for an Intel compatible CPU architecture I am happy to entertain the possibility that we may have fucked up somewhere.

We badly need a Xerox Parc again doing stuff because they can and not because they must. So much technology came out of places like that and Bell Labs and we seem to have lost that.

</comment></comment><comment><USER8> HP-UX? Hps unix variant. It had some good features and some odd issues. One of my least favorite OSs.

HPUX did have an add-on (Real Time Extensions?) to allow you to disable processor interrupts on select processors providing almost realtime mainframe(superdome) computing (some system calls were verboten in this mode). Of course a crash would mean a reboot. Grouping processes to processor sets (psrsets) was kind of neat.

So they did try and its not like they didn't have experience with OS development before. Starting with Linux is probably a better bet for them.

<comment><USER9> HPUX is _light years_ ahead of Linux on workload management, seriously. HP have an amazing portfolio of OSs, HPUX, OpenVMS, Domain/OS, NonStop, etc. Linux is the lowest common denominator, in 2014 it's barely where these were in 1994...

<comment><USER10> I think your post needs a use case qualifier.

[For some server work] Linux is the lowest common denominator, in 2014 it's barely where these were in 1994...

What's the status of nvidia graphics support on all of those systems? Or laptop suspend support?

<comment><USER11> I'd argue that's the problem with Linux, its trying very much to be all things, to all people, rather than a really good desktop system, a really good server system or a really good mobile system.

</comment></comment></comment></comment><comment><USER12> I've never used a piece of software from HP that I've thought was of any quality. We use several of their enterprise development tools where I work, due to an ancient contract and some political contrivances, and nobody is happy with them.

And don't even get me started on their printer ride-alongs. It's just a printer, HP. I don't need 10 programs to use it.

<comment><USER13> What were the enterprise tools?

<comment><USER14> I guess hpqc for quality control

</comment></comment></comment><comment><USER15> What, its not going to run PalmOS?

I think someone should remind Meg that 70% of Enterprises run their infrastructure on Windows.

Also, their laptops are terrible. Can they fix the stuff they already have?

<comment><USER16> They run the computers with screens on Windows. All the servers and rack- mounted stuff is mostly Linux these days, as far as I know.

<comment><USER15> 70% of Enterprise servers are Windows.

</comment></comment></comment><comment><USER17> HP's claim isn't rediculous if you consider that they're not developing memristor tech to replace flash storage. They want to unify mass storage drives with DRAM. You do need an O.S. that can be partially rewritten, because the system can remain in the state where you switched it off. Richard Stanley Williams is the name to Google if you want insight into their roadmap.

</comment><comment><USER18> They make good hardware, usually. As for software? We shall see. I think they'll forgive us if we say we've heard this all before.

</comment><comment><USER19> "operating system research which we think has been dormant or stagnant for decades"

Is as much of a dig on unix/linux as windows, is it not?

<comment><USER20> It's a sad fact that the two dominant OSs these days are a copy of Unix and the bastard child of VMS.

I'd love to see some fresh approaches to this old problem.

<comment><USER21> Oh, the old comparison of Windows NT and VMS. I never thought that was fair by a long shot. Are there some actual real evidence of NT/VMS similarities other than some of the original team members?

EDIT: So you "really don't like Microsoft much". Maybe that's all I need to hear.

<comment><USER22> [http://everything2.com/title/The+similarities+between+VMS+an...](http://everything2.com/title/The+similarities+between+VMS+and+Windows+NT)

The similarities between VMS and Windows NT

DEC thought they were pretty similar.

</comment></comment></comment></comment><comment><USER23> Linkbait. Windows would have to be re-coded, which is easier with open-source.

<comment><USER20> Not quite.

Windows, like Linux, assumes a certain architecture: one or more processors connected to volatile memory that holds transient data and much slower persistent storage that is required to preserve a consistent state for long periods.

You don't see "Windows for D-Wave computers" and you won't see "Windows for HP's The Machine".

Any new OS will have to, at least, have a POSIX API if it wants to be used from day one, but, from that point, HP is free to invent.

I wish them luck.

</comment></comment><comment><USER24> This is link bait. HP is just doing what we used to do until the 90's, making an OS tied to the hardware to optimize things. They have done this before.

Banks are still heavily run off of mainframes and IBM Power servers that aren't standard x86 running Windows or GNU/Linux.

This isn't a plan to destroy Windows, I expect most of the market that would be interested in "the machine" is currently running a mainframe or some unix variant/clone right now.

</comment><comment><USER25> Seems like a pretty sensational article. Using open-source technology is not an attempt to "destroy Windows," and I wouldn't classify memristors as "new technology," since they've been around since 2008 [1].

[1] [http://en.wikipedia.org/wiki/Memristor](http://en.wikipedia.org/wiki/Memristor)

<comment><USER26> Memristors are new technology considering that you can't buy a computer that uses memristors yet.

</comment></comment><comment><USER27> I bet they've been waiting to do this for quite a while. Why? Because this is _exactly_ what Microsoft did to them with Surface, two years ago. HP clearly hasn't forgiven Microsoft for that stunt, and since then it has only tried to strengthen the relationship with Google and put more ChromeOS/Android devices on the market.

<comment><USER28> Well, if you go further down the memory lane you'll see that it was HP that fired the first shot.

[http://arstechnica.com/information- technology/2011/03/webos-...](http://arstechnica.com/information- technology/2011/03/webos-to-ship-on-all-hp-pcs-from-next-year/)

Look at Lenovo which is actually innovating instead of resting on its laurels like HP and churning out the same cookie cutter crap year after year and expecting profit to stay up. The Surface is a red herring, actual innovation is still rewarded, for example see the Lenovo Yoga line of laptops.

[http://www.cnet.com/news/lenovo-earnings-soar-on-solid-pc- sm...](http://www.cnet.com/news/lenovo-earnings-soar-on-solid-pc-smartphone- sales/)

</comment></comment><comment><USER29> Couldn't they have come up with a better name for a super-smart computer than "The Machine?"

<comment><USER30> Maybe it's an indirect reference to the all encompassing Machine in E.M. Forster's story:

[http://archive.ncsa.illinois.edu/prajlich/forster.html](http://archive.ncsa.illinois.edu/prajlich/forster.html)

</comment></comment><comment><USER31> Competition is good, if its not HP it will be someone else but they are at least going in the right direction. We have to break free from Windows and move to something much much better.

</comment><comment><USER32> Microsoft will rebuild Windows and contribute to the open market of OS's.

They'll also rebuild Azure so their data centers will use memristors.

<comment><USER20> How would you rebuild Windows into something that runs on a machine where there is no volatile memory and no distinction between memory and persistent storage?

Whatever results from this would only be called Windows for marketing reasons.

</comment></comment><comment><USER9> _a brand new operating system for The Machine based on Linux_

If HP are making their own Linux distro then their target is Red Hat.

</comment><comment><USER33> If HP can pull this off, it will be as big a wave as the PC, the Web, and the Mobile ones, if not bigger.

</comment><comment><USER34> Wait, the same HP that tossed aside PalmOS? The same HP that gave us HP-UX? Wait stop, I am laughing too much, the coffee shot out of my nose.

Glad to see you pushing the memristor, but really, have any of the board actually, like, you know, used an HP laptop recently? Mine waa awesome as a backup oven, the overheating at last useful, but otherwise?

<comment><USER20> > Wait, the same HP that tossed aside PalmOS?

No. That was Leo Apotheker, the Idiot.

> The same HP that gave us HP-UX?

You may not like HP-UX, but it does some of the neatest tricks in workload management I've ever seen.

</comment></comment><comment><USER35> I wonder what happened to their prior plans to destroy the iPad.

<comment><USER10> Leo happened ;)

</comment></comment><comment><USER36> Sensational! On the edges of my seat!</comment>


Three hundred programming interviews in thirty days - <AUTHOR> https://data.triplebyte.com/three-hundred-programming-interviews-in-thirty-days-12c23c26b5ba <comment><USER2> I could have sworn I already read this, turns out the date on the article isn't correct, I think this was written in June '15:

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

Which makes sense given that I tried out their online quiz this summer after reading this exact post.

EDIT: Here's a link to when it was posted to LinkedIn, June 23rd, 2015:

[https://www.linkedin.com/pulse/three-hundred-programming- int...](https://www.linkedin.com/pulse/three-hundred-programming-interviews- thirty-days-harjeet-taggar)

<comment><AUTHOR> My bad! I did an HN search for the link before submitting it, I find that gets around cases where people change the title. But I could have done a title search as well.

<comment><USER2> Well it's clearly not that much of a problem, HN has such an appetite for what they're doing/writing about that it's back on the front page. Also for what it's worth even though I'd previously read the article I made it about halfway through before it clicked for me that I'd already seen it.

</comment></comment></comment><comment><USER3> _" we've come up with a replacement for resume screens, and shown that it works well"_

No you haven't. You might have, but you'll have no way of knowing that until they've been on the job at least 3 months.

Personally, I think it's bullshit that I can show employers all the things I've built and they still expect me to write a reverse sort btree or whatever the fuck thing that has nothing to do with web development.

College grads are perfect at passing these tests and they have no fucking idea what they are doing, but will get more offers and better pay every time.

Experience counts and if you disregard it then I'm firmly in the "Fuck you, I don't want to work for you" camp.

Unfortunately, I've resigned myself to memorizing the typical interview questions or going into management. I'd love to stay a dev, but being ruthlessly quizzed about shit that you never use in real life makes changing jobs a pain in the ass.

<comment><USER4> > Personally, I think it's bullshit that I can show employers all the things > I've built and they still expect me to write a reverse sort btree or > whatever the fuck thing that has nothing to do with web development.

Aye. It's a hard problem: as an employer, you want to be _pretty sure_ that you're getting someone on team that's going to bring you value.

How do you do that? I guess ask them as much as you can.

You definitely present a good problem, it is the same they're trying to solve over at triplebyte.

> College grads are perfect at passing these tests and they have no fucking > idea what they are doing, but will get more offers and better pay every > time.

Yeah, you have to study for interviews. It sucks, but almost every software company asks the same questions. Just prepare, I guess, and it'll pay off with that higher salary.

> makes changing jobs a pain in the ass.

You might have nailed it here. Employee retention is good for everyone!

I think the solution is you need connections. When someone works at the company and they know you're a good dev they aren't going to ask you questions they ask other developers.

<comment><USER5> >> makes changing jobs a pain in the ass.

>You might have nailed it here. Employee retention is good >for everyone!

I'd say having a good work environment is good for employee retention, not arbitrary limitations to prevent people from switching jobs.

<comment><USER4> Yeah, it's the XY problem. Sorta.

</comment></comment></comment></comment><comment><USER6> I would applaud the author on trying to take a data-driven approach to discover the best hiring signals, but I must offer one major critique of the approach: These data are ultimately not too meaningful unless you correlate actual job performance with interview performance. By the author's own admission, interviews are often faulty. By correlating final-round interview performance with early-round interview performance, you are really only predicting how candidates will perform in the final-round interview, which is not necessarily a good predictor of long-term job performance.

<comment><USER7> Sure, but this is still really useful for many companies in the interviewing space such as hackerrank, hackerearth etc.

They're optimizing for hiring, not job performance.

<comment><USER8> Which seems totally at odds with what their clients want and furthers the perception that tech interviewing has become a hazing ritual totally detached from evaluating the ability of the interviewee to actually do the job.

<comment><USER9> Beware premature optimization.

</comment></comment></comment></comment><comment><USER10> I certainly hope that they don't ever assume that experienced candidates don't need a programming test.

There is a particular kind of dysfunctional candidate who once was a programmer, graduated to being a lead programmer, and then became an architect. As an architect they stop programming, and their programming becomes rusty. Once that happens, the feasibility of their proposed "architectures" becomes steadily less practical.

You can detect them by their first getting offended that they would be asked to program during an interview, and then failing to actually write working code.

By contrast people who really do program have no objection to being asked to program in an interview. To the contrary being asked to actually program is seen as a positive sign that they won't have co-workers to deal with who can't actually program. (This is an unfortunate experience that most programmers try not to repeat.)

<comment><USER11> I write lot of code, but I refuse to do coding at interview. For me its sign of dysfunctional company. But I do not mind to do pair coding, and fix an actual bug.

There are more reasons, in short it takes me couple of hours/days to warm up and grasp the problem.

And secondly I refuse to waste my time, on half arsed throw-away code, with zero results.

<comment><USER12> > And secondly I refuse to waste my time, on half arsed throw-away code, with > zero results.

That's a very wierd thing to say. Does that mean that each and every side- project that you do ends up being substantive? If writing few lines of code gets you a job at a good company where you can spend your time working on exciting problems how is that wasteful?

I do program a lot too, and I typically don't mind writing code in an interview. The only thing that sets me off are stupid level-order binary-tree traversal questions which test nothing but rote-memorization skills.

<comment><USER9> I mean you should know how the basic data structures work. Not necessarily for a web dev job but for a software engineering job. Data structure interview questions are a good small concrete problem to reason about.

But they completely ignore the other 80% of the job which is design, soft skills, estimates, timelines, code reviews etc...

<comment><USER12> > I mean you should know how the basic data structures work

Oh I'm not discounting that. I'm just saying that off the bat binary-tree traversal don't really test my understanding of the data structure. Recently in an interview I was asked a problem which eventually required using a binary-search-tree to improve the running time. This, I believe, is the right way to test but it requires the employer to spend more time designing interview questions rather than relying on a problem bank[0]. (which is a strong filter for good companies in itself)

> But they completely ignore the other 80% of the job which is design, soft > skills, estimates, timelines, code reviews etc...

This is true but this is really really hard to test. In the interviews that I've been giving, I've indeed been asked design questions. I assume soft skills are implicitly tested while speaking to the interviewer (to some extent, at least). But other factors, AFAIK are very hard to test. Also, I would argue that a candidate doesn't need to know everything coming in. Estimates, timelines etc can be learnt on the job.

IMO, if somehow employers could find a way to reasonably trust that the code I have on my Github is indeed written by me then I think that should be strong indicator of my competence. Evaluating candidates who don't have any code in the open is a different matter altogether to which I have no solution.

[0] - [http://leetcode.com](http://leetcode.com)

</comment></comment></comment></comment></comment><comment><USER13> >As soon as we started doing them however, I saw a problem. Almost everyone was passing. Our filter was not filtering. We tried extending the duration of the interviews to probe deeper and looking at code over Google hangouts. Still, the pass rate remained too high.

To me, it seems like your team isn't that good at judging ability. To compensate, you rely on coding questions. This what the industry has been doing for years. What exactly is innovative here? I see the need for coding questions (and think that your method sounds pretty good) but too often culture fit & 'soft skills' are overlooked in favor of cramming as many technical questions as possible.

One of the best experiences I had on an interview involved no coding on-site at all. I completed a project for them, they liked it, I got an interview. 3 hours of culture/team/work philosophy. There were no surprises - if I wasn't "technical enough", I wouldn't have been let in the door. It took time up front, but at least the interview itself wasn't waste of time, PTO, and money.

<comment><USER14> 3 hours of soft questions seems much more preferable to 3 hours of whiteboarding data structures. Hopefully your project wasn't a bunch of questions from an undergraduate data structures/algorithms class.

<comment><USER13> They were tough, insightful soft questions. And I asked a lot of them too. Gave me a good feel for how they worked and what they valued (which is what I really want to know). The challenge was pretty tough but it wasn't just graded on performance. The team lead came in with feedback from each member which was really good. Stuff like "you could have done this with less objects" or questions for me to resolve for them. I've used the feedback to improve my code since.

</comment></comment></comment><comment><USER15> What the heck is going on with the statistical explanation?

The chart's y-axis is labeled "correlation coefficient" but the text blurb analyzing it describes the definition of R^2 instead (% of variation of Y explained by X). The clarification at the end does not disambiguate this. Also, how do you numerically quantify "interview performance"/Y?

Additionally 3 out of 6 of the variables have error bars crossing 0, which means that the correlation _could be positive or negative_ but we don't know (it would handily fail a statistical test of significance at p = 0.05 significance). Why were they included at all?

Many startups (including statistical startups!) have been playing hard and lose with statistical analysis lately and it's getting annoying.

<comment><USER16> I completely agree.

I also would not consider an r-squared value of 0.47 indicative of strong correlation between two variables. I guess the point is that the composite quiz score is _more_ correlated with performance than traditional methods, but I still get the impression that someone is overselling something.

</comment></comment><comment><USER17> I've conducted a lot of programming interviews over the past three decades. I think that it's easier to do at places like Google where the objective is to avoid a Type I (false positive) error and it's expected that a lot of time and money will be spent to identify the best hires. It's harder in other contexts where Type II errors matter more.

I have a big portfolio of technical questions, but I usually stick to a small set that I consider to be well calibrated by posing them to smart coworkers and seeing what they do with them.

I've found, counterintuitively, that the best indicators are the questions that deal with "programming in the small", such as coming up with a predicate expression to describe a test for a simple relationship between a few values, because either you can do it easily or you can't do it at all. And programming in the large depends on a lot of cases of programming in the small.

</comment><comment><USER18> I gave the TripleByte application a try very recently, but this step wasn't a part of it:

> 1\. A fizzbuzz-like programming assignment. Applicants completed two simple > problems. We tracked the time to complete each, and manually graded each on > correctness and code quality.

Instead, I was presented with a single, rather convoluted, 1-hour long programming problem that was _most definitely not_ anywhere close to the difficulty level of a FizzBuzz test (the solution they're looking for probably involved dynamic programming, which I honestly haven't had much practice with). This was before I even spoke to any humans on the phone screen or interview steps of the process.

I couldn't finish it in 1 hour (I kept going at it on my own time for another 2-3 hours before I finally arrived at a sub-optimal solution, at which point I had enough). I'm sure there are plenty of people who are much better at this than I am who can finish it in an hour. But I do want to question the wisdom of using something of this level of difficulty as a screening test.

Your clients seem to value the "Product Programmer" very highly. Using a question like that as a screener will weed out a significant portion of these "Product Programmers" before they ever get a chance to showcase their product skills. Most "Product Programmers" I know (myself included) don't do enough convoluted dynamic programming problems in their spare time to be able to solve a dynamic programming problem like that within an hour with any level of certainty (and yes, solving problems like that _quickly_ involves either extraordinary talent or lots and lots of practice). Instead, in their spare time, these "Product Programmers" like to build things, and learn new technologies and techniques to help them build things in a simpler, more maintainable, and more productive way.

</comment><comment><USER19> The best programmers I've worked with had this quality:

They'd always heard of everything, and they had a good idea of what everything was, even though it was quite far from the current task to hand. For instance, plenty of people have not had the opportunity to work with functional languages, yet still have a good grasp of why they're useful, what languages there are, who uses them, and so on. They tend to see coding as a vast field where you can make many valid decisions, each with their own pros and cons.

The kind of people I'd root out are the ones who merely see programming as a tool. Something along the lines of "I've got this data in a spreadsheet, I need to calculate this statistic, so here we go..." They almost always end up creating an unmaintainable mess, and they never mention any well known pattern. Quite hard to identify in an interview, though. Perhaps the lack of key words that suggest a deeper understanding?

(Hey, that's an interesting thought. You could machine learn what words good devs use vs less good ones.)

As for coding in the interview, I think this can only root out the absolute novices. It's quite hard to think of a short test that will demonstrate that someone can't write elegant code. Perhaps a take-home, open-ended test would work, but you're gonna lose people who don't want to spend a whole weekend doing it.

</comment><comment><USER20> 15 years ago you could get a software job by showing some passion, intelligence, a CS degree from a average university, and some knowledge of memory / space complexity of typical data structures and algorithms. And, if the hiring manager (usually a programmer) liked you? Job offer on the spot. Sure, you got paid 50-60k / year, but it was what it was. And, you actually got to work with an entire team of people under reasonable deadlines, 40 hours a week, with a real office, with clear objectives and scope, and an actual schedule. You got to actually use your brain and some creativity (not just google the 'best' answer or look on stack overflow or steal some code from github). Projects sometimes failed, almost always because of requirement failures, and sometimes the code was beautiful; most of the time it was average; sometimes the code was really bad.

Today, you have to go through hours and hours of phone screens, technical interviews, team meet and greets, etc. You have to know how to implement a distributed KD-Tree with skip lists in brainfuck. And, then they nitpick the code on style. And, sure, you get paid 90-150k / year now. (Wow!) But, it's such a time consuming process. And, the smart (or motivated) people know how to game the interview anyway (there are lots of resources out there on how to beat the interview process). And, even when you ace the interview it's still often difficult to get a straight answer on whether your hired or not (strangely more so if you're over 40).

They say that software developers are in high demand... I say that people just hate the idea that software developers make a respectable wage.

But, the funny thing is, after working in this field for over 15 years, after working with 100s of people and seeing millions of lines of code, the truth is that the projects are still failing, and the code is just as bad as it ever was. And, projects still fail most often because of bad requirements, poor vision, and bad management. In fact, I drink the koolaid: I hire people who ace the interview, and you know what I've found? There's a 50/50 chance that they're just as good as the person who I hired who failed parts of the interview (sometimes I'm desperate). And, those people don't bring down the project - it's the guy in the corner office.

Luckily, I was smart enough to save a lot of money over the years. I'm just too old for this shit.

</comment><comment><USER21> This article is extremely interesting, but it seems to be equating success in interview decision with competent performance at the job, which has not actually been established yet. It is interesting though to see which components of pre- and early-interview evaluation ended up being related to the decision to hire.

</comment><comment><USER22> Sadly, this is almost certainly illegal in the US due to the 4/5ths rule ([http://adverseimpact.org/CalculatingAdverseImpact/Four- Fifth...](http://adverseimpact.org/CalculatingAdverseImpact/Four- FifthsRule.htm)).

<comment><USER6> The language in that description refers to "protected groups". As long as the author is not calculating selection rates for groups of candidates based on some special criteria, such as race, gender, age, etc. he should be ok, right?

<comment><USER22> That's not nearly enough. The 4/5ths rule is designed to identify "structural discrimination", or cases where no discriminatory act can be identified, but the outcomes are nonetheless considered discriminatory. As long as a lawyer can show that some protected group is disadvantaged by the quiz, that's enough for it to violate the rule.

<comment><USER23> I am not a lawyer, but I thought the defence was if you can show that the screening criteria correlated with on the job performance it is OK. No matter what you think of protected groups using a criteria that does not correlate with performance is not very smart anyway.

<comment><USER22> There may be some certification process you can go through to get a test approved, but mere job applicability isn't enough. For example, this firefighting test was found to violate the 4/5ths rule.

[http://www.scribd.com/doc/213380090/1999-NYC-Firefighter- Wri...](http://www.scribd.com/doc/213380090/1999-NYC-Firefighter-Written-Test)

You'd have a hard time convincing me that doing well on it didn't correlate with being a better firefighter.

</comment></comment></comment></comment></comment><comment><USER24> Why don't companies manage open source projects, and simply require a certain amount of contribution as a gateway to a final interview? This would allow candidates to prove their ability to write production ready code.

<comment><USER25> Because they'd filter out all the good candidates who don't work for free (for for-profit companies)

<comment><USER24> But they'll interview for free? They don't need to be large contributions (and if small changes require too much time, that becomes a natural filter).

</comment></comment></comment><comment><USER26> I have to take exception to this because part of what I do for a living is teach tech companies how to hire.

The claims are:

1\. Performance on our online programming quiz is a strong predictor of programming interview success

2\. Fizz buzz style coding problems are less predictive of ability to do well in a programming interview

3\. Interviews where candidates talk about a past programing project are also not very predictive

Those claims may be true, but it misses a key point: no matter how well someone performs in an interview, it doesn't mean they'll perform well on the job. In particular, the post talks about hard skills (and does well there), but doesn't talk about soft skills.

It's absolutely true that someone can talk a big game about hard problems they faced that they solved, but failed to mention their use of Google or StackOverflow. So unique coding tests can definitely tell us whether or not a candidate can really code (though the tests need to be tailored to the sort of real work the candidate will face). However, programming is a _hard skill_ (one that is easy to teach), and not a _soft skill_ (one that you tend to learn over time or have a natural inclination for).

Case in point: early on we made the mistake of hiring a very talented programmer on the basis of his reputation and a brief interview. He was a disaster because he was completely unable to work without a very hard set of requirements. In the very rapidly changing, agile, environment we put him in, he flailed badly because he was good at implementing requirements, but he was very bad at projecting himself into the customer's shoes. Later, we put him on technically demanding tasks which required considerable talent, but had no ambiguity, and he was fine. In fact, he was able to implement tasks that would have been very difficult for other developers who were fine in ambiguous environments.

Soft skills are tricky and most employers have no idea how to interview for them. They require an understanding of the actual role someone will be hired for and the set of skills necessary for them to succeed. Are there tight deadlines? If so, can the developer prioritize tasks and make a case for delaying less critical portions beyond the deadline? Is it a rapidly evolving environment which makes it hard to nail down exact behavior? Are you on a team with strong personalities who often disagree and can the dev handle that? Is the developer required to report to non-technical people who have no understanding of technology and can't appreciate what refactoring is?

Or here's a fun one for you aspiring managers: we've had one project with a superstar developer who was so monumentally productive and so brilliant at his work that some very talented developers who worked with him nonetheless had _negative_ productivity at times because they spent so much time playing "catch up" with the superstar and understanding how the project was evolving that they spent more time keeping abreast of the code than developing it. The code was "bus sensitive" because one brilliant developer was so competent. How do you manage that?

These and other soft skills are part of what you really need to evaluate because depending on your work environment, you'll have these and other soft skills as critical skills that a dev will need, but you almost NEVER see interviewers check for these because very few people are trained in interviews.

Pro tip: start reading up about structured interviews. They've been proven via multiple studies to have a strong correlation with employees being successful. Unfortunately, they're harder to conduct and require training to understand them. As a result, companies don't know about them or worse, ignore them, because it costs more money. But what costs you more money in the long run? Taking longer to interview or hiring the wrong person?

</comment><comment><USER27> Why should I spend so much time with all these interviews when I can simply reply to one of the countless job offer I receive every week?

<comment><USER28> Are these offers where you start next week if you sign the contact, or are they expecting to meet you first?

If it's the former you should have no difficulty answering your question ;)</comment></comment>


Ask HN: Any recommended resources on content marketing? - <AUTHOR> <comment><USER2> [https://priceonomics.com/the-content-marketing- handbook/](https://priceonomics.com/the-content-marketing-handbook/)</comment>