John Carmack on Developing the Netflix App for Oculus - <AUTHOR> http://techblog.netflix.com/2015/09/john-carmack-on-developing-netflix-app.html <comment><USER2> John Carmack is a good role model for any techies that move up to management. If you want to keep in touch with the base tech that your devs are using, you have to dive into a project like this where all your tech knowledge is brought to bear on a problem and you learn lots of new things.

None of this "well I guess I knew a bit of C++, let me find another engineer to work on this Netflix app and offer micromanaging style tips and tricks" which is what I've seen from a lot of managers who used to be technical.

He's also an amazing role model for regular programmers; figure out the requirements, take a crack at it with a prototype and then iterate. The iteration doesn't have to be an overtime week affair.

<comment><USER3> Why do you say that Carmack is in management? I don't get the impression that he's a people manager. A CTO does not necessarily have people reporting to them in a people management sense. From what I've read, I would assume he does not. (I could be wrong - I don't really know.)

High judgment individual contributors often take on responsibilities that can be considered management, like deciding business and technical strategy, designing products, prioritizing roadmaps, etc., but while these are management functions, taking on these responsibilities does not mean that one is in management.

From the blog post, it sounds like Carmack is a highly productive, high judgment individual contributor with the responsibilities you'd expect of a CTO (technical strategy). I would say that someone is "in management" when their chief function is managing other people. From this post, Carmack seems to be delivering work as an individual contributor and (very senior) technical lead.

Along the same lines, I recommend we discourage phrasing like "move up to management". Management is a different job, not a better or superior one. In well-run technical companies there are managers and individual contributors at all seniority levels, such that one does not need to become a manager to "move up", even to CTO level.

<comment><USER4> In some of his recent keynotes (especially the later quakecon ones) he focuses a lot on how he's changed his mind and that he now believes that software development has a lot of "social science" aspects to it. I think he's given a lot of consideration to how one manages a software team, and even though he sometimes disappears into his office to write something like this Netflix app, he still does manage people.

<comment><USER5> In theory a CTO should only have employees that self manage.

</comment></comment></comment></comment><comment><USER6> Oculus: "Hey Netflix, how about we work together on getting your service on our platform?"

Netflix: "Gee, we're pretty busy, maybe next year..."

Oculus: "We would have John Carmack work on it..."

Netflix: "YES! Yes, yes, yes. Okay, now is good. Can we have him write a guest post on our tech blog when it launches?"

<comment><USER7> That first gee from Netflix made me read the rest as mortys voice.

Gee rick!, were pretty busy here ya know? I mean like uhm maybe next year?

</comment></comment><comment><USER8> It's a real shame that DRM once again stifles progress and limits the video resolution to 480p in this VR app.

<comment><USER9> Yeah the moment I read about casting lighting based on screen contents, I was thinking "things you can't do with 'secure' output". Sad.

This partially remains why other players are better than Netflix. If I ever need to really modify playback, I'm all set, no problem.

</comment></comment><comment><USER10> The depth of thought that Carmack is able to apply to every detail of a problem is astounding. Granted, he's been working on VR for years now and pioneering realtime graphics before that, but his perception about what the end user wants out of a product is second-to-none.

</comment><comment><USER11> It's your living room, _but on a computer!_

[http://www.jerf.org/iri/post/2916](http://www.jerf.org/iri/post/2916)

(Expect to see the Virtual World idea that prompted that post pop up again for VR, too. Expect it not to work any better this time.)

It's cute but it's just demoware. Once the novelty wears off, the usual thing to do will be the "void theater". That's our subjective perception of a good movie anyhow, that the entire rest of the room is gone.

<comment><USER12> Re:the novelty

Is there any practical use for this? My understanding is that movie theaters are preferred to home theaters because the distance from your eyes to the screen is far enough that you can focus to infinity, which is easier on the eyes. Could a vr environment make viewing Netflix 'easier' on the eyes? Anyone have an opinion or link?

<comment><USER13> This is along the lines of why I'm interested in it. I actually want a mock environment (e.g. a living room) in the virtual environment that I can watch tv on OR code on.

I'm extremely nearsighted – age and my already excessive use of computers are exacerbating this. Because of the design of the VR Gear, I can _almost_ see clearly at the highest correction level (similar to what I would see if I wore my 2-4 year old glasses).

Since the preponderance of evidence supports the hypothesis that looking at 'near' things (e.g. computer screen, books, tv across a small room) exacerbates myopia, I'm hoping that doing my normal activities on (a) a screen with infinite distance and (b) a device which allows me to change the correction of the lenses, means I _might_ be able to reverse _some_ of my myopia. I _don 't_ think it will _cure_ my myopia, but if I could stagnate or reverse the loss I've had over the last few years (or dare I hope, decades), it would be a blinkin', technological miracle! ;-)

<comment><USER14> You are still focused on a nearby screen. It just looks like a large screen at a distance due to the stereoscopic effect. The Oculus' lenses simulate a focal distance of 1.3 meters, which is not much better than a tablet in your lap. Another problem is that Oculus' focal distance is fixed, so you are not exercising your eye's ability to change focus. This isn't directly a problem that you wish to address in your comment above, but you may want to consider it. A technology that will better address these issues is the light field display. See: [https://research.nvidia.com/publication/near-eye-light- field...](https://research.nvidia.com/publication/near-eye-light-field- displays)

<comment><USER13> My understanding is that the optics are designed to actually be at an infinite focus.

\---

Short question:

> Now I read about this HMD Oculus Rift, which claims that you are always > focused on the "distance" which I assume is the same as infinity focus in > photography.

The short answer:

> In the same way as a telescope eyepiece, they create a virtual image at > infinity.

> In the HUD the objective lens focus the image from a display (on the left in > the diagram) and the lens at the front of the HUD reimages it at infinity.

The full answer: [http://physics.stackexchange.com/questions/47390/how-do- head...](http://physics.stackexchange.com/questions/47390/how-do-head-mounted- displays-simulate-infinite-focus)

\---

Which may cause other eye muscle problems... [https://www.reddit.com/r/oculus/comments/2hxfku/eye_muscle_f...](https://www.reddit.com/r/oculus/comments/2hxfku/eye_muscle_for_focus_is_not_being_stimulated/) (which does mention that the LFD is a better option)

\---

But the key for me is someone who isn't myopic noticing that ...

> I've been able to see far away objects much sharper than I was able before, > as if my sight was getting trained at infinity focus (which makes sense, I > guess).

\- [https://forums.oculus.com/viewtopic.php?t=2833](https://forums.oculus.com/viewtopic.php?t=2833)

<comment><USER14> Check this thread, which has a video of a guy actually using a camera to measure the focal distance, and finds it around 1m:

[https://www.reddit.com/r/oculus/comments/2wpccf/measuring_th...](https://www.reddit.com/r/oculus/comments/2wpccf/measuring_the_focal_distance_of_the_rift_with_a/)

<comment><USER13> Thank you, colordrops! I looked for official, or at least more definitive, information on the focal distance to no avail. This definitely qualifies!

That said, it is of the DK2, which is clearly different than the DK1. Which leads me to wonder what the focal distance is for the Gear VR (Note4) and the new Gear VR.

Sadly, I'm so nearsighted at this point, that I have a hard time reading anything more than ≈4 inches away (things are out of focus at ≈2 inches away, but it's good enough and there are typically enough clues in the 2~4 inch range that I can still read normal text). In other words, if I'm only training my eyes at a distance of 30.5 inches for the next half decade, I suspect it will still be enough to lead to an improvement, and there will be even more improvements in tech (both in the VR & optometry) during that time frame.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> > This gives the somewhat surprising result that subtitles cause a noticeable > increase in power consumption.

These are the Carmack gems I was looking for.

<comment><USER16> It's not actually all that surprising for people that use styled subtitles with antialiased edges. In extreme cases (lots of glyphs on the screen) you can end up with a noticeable framerate reduction.

<comment><USER17> It shouldn't need to hurt your framerate too much, considering that the font rendering only needs to happen once every few seconds. A new subtitle can be rendered, kept in memory as a texture, and then just blended by the GPU as pixels. The titles are also known ahead of time, so it's possible to set up a pipeline with no sudden increases in processing load.

</comment></comment></comment><comment><USER18> Why on earth simulate a living room with a TV on the wall? Why not simulate being in the best seat in a concert-hall sized movie theater with a massive screen? How about a little old fashioned movie theater, or a 50s drive-in?

I'm sure all these kinds of things can come later, it just seems odd to me that simulating being on a couch is the first take...

<comment><USER19> The skeuomorphic living room design immediately reminded me of the Packard Bell Navigator: [http://toastytech.com/guis/pbnav35.html](http://toastytech.com/guis/pbnav35.html)

<comment><USER20> Came here to say this! First thought was "Why god why return to this interface??"

</comment></comment></comment><comment><USER21> Reading John Carmack's thought processes to approaching, addressing, and moving on from individual challenges is so fun and refreshing to me. Granted, the matter-of-fact tone is inherently humble, but it does seem like a tone of making the complex sound simple, intrinsically for the audience's benefit. Just a line like "unfortunate waste of memory...but it gives me the timing control I need" is a succinct demonstration of trade-offs and explanation without, well, seeming to have many outside constraints - well, I mean there's the pursuit of the functioning program, sure, but I get the sense freedom in this environment is used studiously.

</comment><comment><USER22> This is an interesting proof of concept, and it's cool to know that you can carry a "pocket living room" around with you.

That said, shouldn't virtual reality free us to do more than replicate real life environments? It looks like VR will have its own period of skeuomorphism until better UI is invented. I'd love to be a designer at Facebook right now.

<comment><USER23> I agree with what you're saying, but I don't think there's necessarily a concept of skeuomorphism in VR.

Skeuomorphism is a mapping of real world 3D physical objects to a more constrained space, like a 2D phone screen, ostensibly to aid usability in an otherwise unfamiliar space by invoking recognition and instinct.

In theory at least no mapping like this is necessary at all for VR, things just look and act however they do, in a recreated 3D space. Of course there will be 'skeuomorphism' insofar as objects from the real world will be copied 1:1 into the VR environment, but it's kind of a redundant term at that point.

It's indeed an interesting question if we'll discover better 'UX' for virtual 3D environments than the physical ones we've built for ourselves in the real world. I'd venture yes, including but not limited to discovering tweaks that break the laws of Physics to allow greater convenience. Like wormholes that act as hyperlinks for 3D space, or something.

It'll be fascinating to see if things like this are experimented with and accepted from the get-go, or if there will be a 'skeuomorphism-like' era of VR where we play it safe and just copy our existing world for a while, until we collectively 'find our feet' in VR and learn to make tweaks that expand the possibilities. I'd hope and actually somewhat expect the former.

<comment><USER24> Of course there's a concept of skeuomorphism. Everyone expects their POV about 2m off the "ground". Objects are of a common range of sizes, 3D space is even & regular in each direction, etc. "Floating" is kinda nifty but likewise just an extension of our real-world 3D experience.

People in general aren't ready for scaleable space (sizes changing orders of magnitude instantly), varying measurements (say: X is normal, Y is logarithmic, Z is sinusoidal), warping space (various _Einstein 's Dreams_ scenarios here like consequences of "speed of light is 15 MPH", or _Interstellar_ scenarios), varying or nonexistent notions of "up" (see _Ender 's Game_ arena), absence of normal gravitational phenomena, etc.

Early on in the 3D game realm, game writers explored lots of variations on non-skeuomorphic scenarios ( _Descent II_ comes to mind, a 3D flying maze game devoid of any sense of "down"). Many years later, with endless technology & imagination available, 3D games are dominated by soldiers running around battlefields little different from reality.

People will have enough trouble with entering/exiting VR. Having seen other technologies bloom, I assure you it will be years before advancing beyond paradigms based in the real world.

<comment><USER22> I couldn't have said it better myself.

I do wonder what the point is of spending lots of energy making alternate universes if we end up replicating thing we're doing now. In a world where we can only walk, we'd like to be able to fly. In a world where we can only fly, we'd like to teleport. But then we'd probably make the environment bigger to 'keep it fun' so what's the point? Do we all just want to be floating points of light?

Maybe the only real benefit of VR is having the undo button.

All in all, maybe it's not so bad that we haven't had much choice in the design of our species and world so far. Super tangentially related: [http://www.bbc.com/news/magazine-34151049](http://www.bbc.com/news/magazine-34151049)

</comment></comment></comment></comment><comment><USER25> John Carmack overcame all of these technical issues and wrote up this blogpost in the past month with all of his other responsibilities at the same time. Humbling.

</comment><comment><USER26> > Despite all the talk of hardcore gamers and abstract metaverses, a lot of > people want to watch movies and shows in virtual reality.

Source for that claim?? strapping on a headset doesn't seem like a great way to share a movie with friends, but that's just me.

<comment><USER27> You could share it with a friend who wasn't physically there if they had a similar setup, but I"m guessing they're talking about the fact people who are by themselves like watching TV and movies in VR compared to on a standard TV screen in a real room.

<comment><USER28> I did this on a flight. It was much more pleasant than inflight entertainment.

* 360 film doesn't work well, with not being able to move around.

</comment></comment></comment><comment><USER29> Here's a great conference hallway conversation with Carmack from yesterday. He covers a lot of fun topics with the random folks in the hall.

[https://www.youtube.com/watch?v=cKUyg6cUfcw](https://www.youtube.com/watch?v=cKUyg6cUfcw)

for those who prefer text summaries:

[http://uploadvr.com/john-carmack-talks-difficulty-mobile- pos...](http://uploadvr.com/john-carmack-talks-difficulty-mobile-position- tracking-relationship-google/)

</comment><comment><USER30> In case you're interested, John's scheduled to speak at Oculus Connect 2 at 13:00 PDT / 16:00 EDT / 20:00 UTC today.

[http://www.twitch.tv/oculus](http://www.twitch.tv/oculus)

</comment><comment><USER31> Am I missing something? This lets you watch a movie in a virtual living room on a virtual TV? Why would I want that?

<comment><USER32> I would use it lying on my back in bed or in the fetal position. Sometimes sitting up straight to watch a screen is just too much work ;)

<comment><USER13> For a while after a bad leg injury, I had to lay in bed, on my back, with my leg elevated. Either I watched tv and got a crick in my neck (from the odd angle) before a 30 minute show was done, or I tried holding a book up and in the air and reading it, but I never made it more than a few pages before my arms started to feel like very, heavy, looming weights. I ended up listening to a lot of podcasts and phoning a lot of friends. I would have _loved_ to be able to watch tv from my back during that recovery period!

</comment></comment></comment><comment><USER33> What I was hoping for from the Carmack speech:

[http://i.imgur.com/ofChTKt.png](http://i.imgur.com/ofChTKt.png)

I wanted more from Carmack.

</comment><comment><USER34> When I think about it, I feel that this would mainly appeal to people like factory workers who live in horrible dorms (windowless closets), prisoners, parapalegics, the homeless; in other words people who are trapped in a specific environment. The problem is that most of them can't afford this setup... yet.

When I think about it, even low income individuals in the US have access to cheap enough flat screen TVs to have a nicer real life living room than a virtual one afforded by Oculus

<comment><USER35> I'm thinking about the guys in the NAVY stuck in small metal rooms with no windows in the middle of huge ships. VR theaters would be a boon for them!

<comment><USER34> Good point. I forgot about the submarines and the lily pad bases through out the world.

</comment></comment></comment><comment><USER36> As others have mentioned a bit, while being a cute demo this really isn't advantageous. The constant brightness gets irritating with lights 3" in front of your face beaming directly into your eyes, and good luck trying to eat pizza and drink something while doing this. On the pro side, well, um.... not very clear what that would be over having an actual TV.

If you don't have a TV and all you have is the oculus, then why try to re- create such an environment at all? You loose the immersive qualities of the oculus to begin with.

To me the point of oculus is having content made directly for it... where it is 180-360 degrees, and you can't see it all without looking around. Repurposing standard Netflix movies doesn't give much an advantage.

<comment><USER37> Have you tried it?

<comment><USER36> I own the occulus and have tried various bits of movie playing already. While I haven't tried this netflix implementation, it is not difficult to imagine.

VR has some limited cool potential uses, but it's utility is being overblown by the community similar to the 90s.

</comment></comment></comment><comment><USER38> 720x480 on a virtual TV set, and a "virtual couch". Is that worth wearing a headset for two hours?

Coming next, in-app popcorn and pizza ordering?

</comment><comment><USER39> I would really love to be able to watch a movie and look around the scene. Even if the camera was at a stationary point.

Imagine watching Batman while perched up on a ledge in Gotham... when the Joker comes flying down the street to the right and you look right to watch, while someone else viewing the movie looks left to see Batman flying down.

Awesome.

</comment><comment><USER40> Does this make anyone else really crave a VR "man cave" (for lack of a better, less polarizing term)?

<comment><USER41> it reminds me of Aech's basement chatroom from Ready player one

</comment></comment><comment><USER42> i wonder if john watched daredevil one episode at a time or if he binged on it

i was intrigued by the virtual theatre concept, but i found watching a film was too much for comfort's sake

ignoring resolution issues, or strain, the goggles pressing against my face was the source of the most discomfort

when i took off the goggles my face was hot and sweaty and my eyes had white circles around them where the blood had been kept out

these current vr headsets are goggles with elastic and as long as that is the case i think they will fail to attract a consistent, returning, user base

your eyes are unable to breathe or receive blood

imagine watching a movie while wearing ski goggles, then have those goggles shine bright lights into your eyes

it is an uncomfortable experience

MSFT's holo lens are glasses that sit off your face, allowing circulation below the lens,this sort of design is certainly the way forward

</comment><comment><USER43> Next up, World of World of Warcraft

[http://www.theonion.com/video/warcraft-sequel-lets-gamers- pl...](http://www.theonion.com/video/warcraft-sequel-lets-gamers-play-a- character-playi-14240)

</comment><comment><USER44> Half-baked semi-serious idea: An iOS content blocker that prevents scroll- jacking.

</comment><comment><USER45> I tried this out and watched some Supernatural. My only gripe would be that I wish I could move further back from the virtual screen. At least I think that's what the problem is.

</comment><comment><USER46> Bringing back skeuomorphism in full force like it's 2005...

</comment><comment><USER20> There's a lot of focus in this thread on 'Why would you want a fake living room environment?' but he makes this statement:

"You could even go all the way to a face-locked screen with no distortion correction, which would be essentially the same power draw as the normal Netflix application, but it would be ugly and uncomfortable."

This is what his post is about - the work to accomplish a screen surface that exists in 3d space independent from your head. What goes around the screen is a secondary issue.

<comment><USER47> I don't get it. Why would you want your head forced to point in one direction when you could, for example, lie down and point your head in the most comfortable position.

<comment><USER48> You can. Just start the app in a comfortable position and the image will me from and center.</comment></comment></comment>


New vs. Old – a comparison of 23andMe's health reports and the raw data - <AUTHOR> http://www.enlis.com/blog/2015/11/06/new-vs-old-a-comparison-of-23andmes-health-reports-and-the-raw-data/ <comment><USER2> Is there any way to have sequencing done anonymously? I would love to get the data, but I'm not crazy about multiple corporations and/or governments having a copy of my DNA forever, to do with as they like (privacy policies and such notwithstanding).

Edit: Ah, it appears that anonymously handing over your DNA may not even be possible: [http://www.technologyreview.com/news/509901/study- highlights...](http://www.technologyreview.com/news/509901/study-highlights- the-risk-of-handing-over-your-genome/)

<comment><USER3> Your edit touches on this but a SNP panel, much less an exom or God help you a genome is hardly anonymous

</comment></comment><comment><USER4> > "We are supposed to believe that the technology can tell us accurately if a > person has 1 copy of a variant, but it cannot determine if there are 2 > copies? What does 23andMe report if there are 2 variants? Nothing?"

Actually, this sounds _eminently plausible_. As I understand it, a DNA microarray consists of a bunch of probes that each transmit a signal when they bind to a specific strand of digested DNA. A probe is either bound or not, and since you're applying a mixture obtained from multiple cells, there's many copies of each DNA sequence present in either case. There's no way you could establish whether or not two copies of the same gene were present in an individual cell.

I could be wrong (I'm a bioinformatician, not a biologist), and 23andme could be doing something interesting which reveals this data- in either case, I'd be interested to hear. But this makes fairly bad advertising copy- everyone else with the same cursory understanding of this technology is going to have the same thought, and think that you _don 't even_ have said cursory understanding if you don't explain your reasoning better [1].

[1] For that matter, you come off as wildly unscientific simply because you make this sort of conjecture without _citing sources_. There is a resource out there, somewhere, that would confirm or deny what you're saying, and your ability to make a credible scientific statement rests on you finding it.

<comment><AUTHOR> 23andMe's genotyping chip is based on the Illumina Infinium beadarray technology. ( [http://www.illumina.com/technology/beadarray- technology/infi...](http://www.illumina.com/technology/beadarray- technology/infinium-hd-assay.html) )

There is a nice animation of the technology on Illumina's website. It's a single base extension assay where you have hybridization of a probe, then add a labeled nucleotide where the SNP is that you are studying. For a A/T SNP, if you basepair and add an 'A' you get a green signal, if you add a 'T' you get a red signal. If you end up with a mix of green/red, you have a heterozygous variant.

Illumina has a tech note on the call rate and error rate here: [http://www.illumina.com/Documents/products/technotes/technot...](http://www.illumina.com/Documents/products/technotes/technote_genotyping_rare_variants.pdf) At a minor allele frequency of 0.5% their minor allele homozygous error rate was 0.1%.

The nice thing about this technology is that the more data you have, the better your calls get, and 23andMe has real world data on over 1 million customers. (Illumina tech note used data from 2,000 genotyped samples) I think 23andMe has enough data to know which of the SNPs on their genotyping chip are accurate, but they don't exactly open up their data for public inspection.

If you are a 23andMe customer you can see the improvements to the raw data they have made over the years here: ( [https://www.23andme.com/you/download/revisions/](https://www.23andme.com/you/download/revisions/) ) If you can't see it, it says things like: "July 28th, 2014. Analysis of our data has allowed us to improve the interpretation of over 10,000 SNPs genome- wide on the V4 chip." When they get more data, they are improving their calls.

Finally, the FDA document about 23andMe's approved Bloom Syndrome carrier test says that "all homozygous variant genotype samples receive a 'no-call' result, since the calling software was designed not to detect homozygous variant genotypes." It sounds to me like they designed the software to ignore and throw out homozygous data. [http://www.accessdata.fda.gov/cdrh_docs/reviews/DEN140044.pd...](http://www.accessdata.fda.gov/cdrh_docs/reviews/DEN140044.pdf)

</comment></comment><comment><USER5> What's going on here? 23andme are not allowed to report on the full data but Enlis is? Or is Enlis flying under the radar until they get squelched by the FDA?

<comment><AUTHOR> The information that we report is all publicly available from places like Pubmed ( [http://www.ncbi.nlm.nih.gov/pubmed/](http://www.ncbi.nlm.nih.gov/pubmed/) ) and ClinVar ( [http://www.ncbi.nlm.nih.gov/clinvar/](http://www.ncbi.nlm.nih.gov/clinvar/) )

It's conceivable that that one could look at each of the 600,000 lines in 23andMe's raw data and find these research reports individually.

We simplify that process and make the connections to research reports for you. Then, wrap it up in a nice package where you can compare your family member's data, get information on genes, generate PDF reports, etc.

Unless the FDA wants to shut down public access to scientific knowledge, then we don't expect to hear from the FDA. Others have been operating in this space for several years.

<comment><USER6> Is there anything that Promethease doesn't already provide?

<comment><AUTHOR> From the website: ([https://www.enlis.com/personal_edition.html](https://www.enlis.com/personal_edition.html))

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

Here are some of the differences and advantages of Enlis Genome Personal:

It's a full software application. Rather than just a webpage or single report, Enlis Genome Personal is a full application that you install on your computer and load your genome data.

Ability to load multiple genomes and compare them side-by-side. You can load all your family member genomes together, or load multiple copies of your own genome (i.e. you have data from 23andMe and Ancestry.com), or you can compare your genome to available sample data.

Ability to generate custom disease and trait PDFs, suitable for email or printing. A sample Macular Degeneration PDF is sent with every free genome report.

For a particular disease or trait, this software will tell you how many known disease positions were successfully sequenced in your data, and how many are missing. For example, if you are interested in a hereditary disease like Cystic Fibrosis, it will indicate there are 270 known variants that cause Cystic Fibrosis. Your data covers 101 of those positions, and there is missing data on 169 positions.

More extensive information on each SNP, like variant mammalian conservation, or variant deleterious predictions. Much more information on the function of genes and where in the body those genes are expressed.

User friendly interface that is easy to use. Includes a genome browser so you can see your data in the context of genes and chromosomes.

For 23andMe users - better quality control and more data: We discovered over 500 SNPs with inaccurate data in the 23andMe results, and we automatically filter those out. See blog post here. We are the only service to identify and analyze over 1,000 of 23andMe's proprietary insertions and deletions. Most of these can have a health impact. See blog post here.

For users with whole genome or exome data: We give you the tools to make new discoveries about your data. Advanced variation filter, phenotype explorer, homozygous region analysis, and over 20,000 built-in gene categories. An example - our founder used this software to discover a cause of a rare phenotype in his whole genome data. How long did it take? Less than 30 seconds.</comment>


34th Chaos Communication Congress Live Streams - <AUTHOR> http://streaming.media.ccc.de <comment><USER2> I don't have much time this year, but the two talks I intend to watch are _Squeezing a key through a carry bit_ by Filippo Valsorda [1] and _LatticeHacks_ by Tanja Lange, Nadia Heninger and djb[2].

EDIT: Just saw that there is a talk by Maxim Goryachy and Mark Ermolov: _Inside Intel Management Engine_ [3], can't miss that one.

[1] [https://events.ccc.de/congress/2017/Fahrplan/events/9021.htm...](https://events.ccc.de/congress/2017/Fahrplan/events/9021.html)

[2] [https://events.ccc.de/congress/2017/Fahrplan/events/9075.htm...](https://events.ccc.de/congress/2017/Fahrplan/events/9075.html)

[3] [https://events.ccc.de/congress/2017/Fahrplan/events/8762.htm...](https://events.ccc.de/congress/2017/Fahrplan/events/8762.html)

<comment><USER3> Speaker of the first one here :) thanks!

There's a stream recording here while we wait for the video release: [http://streaming.media.ccc.de/34c3/relive/9021](http://streaming.media.ccc.de/34c3/relive/9021)

Let me know if anyone has questions.

<comment><USER4> That's a great talk Filippo!

</comment></comment></comment><comment><USER5> The gamification talk currently going on is painting a very effective picture of China basically taking the most evil position possible with technology.

<comment><USER6> There was a extra credit episode on that. Yes, that is purest evil. The sort that laughs alone, at night in front of a mirror, because even other evil shuns such company.

[https://www.youtube.com/watch?v=lHcTKWiZ8sI](https://www.youtube.com/watch?v=lHcTKWiZ8sI)

</comment></comment><comment><USER7> Does anyone know how you can actually attend? The talks look interesting and I'd like to look into going next year, but I spent a few minutes online and on their site, blog and wiki, and couldn't even find where the damn thing _is_ , let alone a ticket website!

It's like they don't want people discovering it, I can't figure out why they don't have a more accessible marketing website.

<comment><USER8> CCC is so heavily oversubscribed that there is an insane race every year when tickets are released, usually involving downtime for the ticketing app. If finding the app itself already presents too much effort for you (hint: [https://www.google.co.uk/search?q=ccc%20tickets](https://www.google.co.uk/search?q=ccc%20tickets) ), it's unlikely you'll succeed in acquiring a ticket.

Your best bet is to source one through some affiliated group, if you know of one, otherwise spend a few hours familiarizing yourself with the ticket app, and have at least 2 browsers with at least 10 tabs each open on the app ready for the second a release happens

<comment><USER9> I attended a few years ago (28C3). Had a great time and gave my first (unofficial) talk ever there. Found people to be supportive and chill; maybe it had to do with the fact that I was rather young at the time. I don't know.

That said, it is frustrating that they don't release the schedule weeks ahead. I was seriously thinking about attending but did not go through because conferences these days tend to have far less technical content than they used to.

<comment><USER10> It's not just about the talks (they are livestreamed afterall, you don't have to go there to see them).

</comment></comment></comment></comment><comment><USER11> A very good set of talks at the congress this year. There's something for everyone in there. Can't wait to watch the streams. Hope they are persisted.

<comment><USER12> Raw dumps of the streams are usually uploaded within a few hours. Cleaned up versions will show up over the next couple of days.

<comment><AUTHOR> Raw dumps and timeshift are available immediately: [http://streaming.media.ccc.de/34c3/relive](http://streaming.media.ccc.de/34c3/relive)

Please use this instead of versions people are dumping on youtube and monetizing them and then the nicely cut versions not being found anymore because the algorithm thinks the official CCC version is a reupload.

</comment></comment></comment><comment><USER13> Recommend: Dude, you broke the Future!

<comment><USER14> I was on the talk and I found it boring at best. What did you like about it?

<comment><USER15> I found the corporation/AI comparison rather insightful.

<comment><USER16> Both are basically optimization processes that yield considerable risk and that are tricky to regulate, but in case of cooperations you still have the human element: vulnerability/fallibility, social reputation/integration, slowness/interpretability, empathy. The best policies to mitigating the respective risks probably are quite different.

</comment></comment></comment></comment><comment><USER17> My question is how can the "advice" in CCC and other open investigations into state of the tech world be distilled into actionable things for "normal" techies?

<comment><USER18> What do you mean by "normal" techies?

Everyone who is here is a "normal" techie. Sure, skill levels and focus areas vary but there's common shared interests.

Actionable things come out of the conference when someone who listens to a talk starts thinking and discussing and forming ideas for starting or contributing to a project. There's no formula to guarantee "success" for that.

</comment></comment><comment><USER19> Anyone got a link to the schedule?

<comment><USER20> [https://events.ccc.de/congress/2017/Fahrplan/](https://events.ccc.de/congress/2017/Fahrplan/)

</comment></comment><comment><USER21> Will those be available to download after the conference?

<comment><USER22> Yes, you can even see the unedited replays

</comment></comment><comment><USER23> Would it be possible that maybe for next year they buy everyone much better microphones? You can barely hear what the speakers are saying.

<comment><USER24> Haven't listen to the live stream yet but in generall the audio is quite good. Also most/all of the talks will get subtitles.</comment></comment>


Modded Roomba screams in mortal pain when it runs into things - <AUTHOR> https://mashable.com/article/modded-roomba-that-screams-in-pain/ <comment><USER2> Michael Reeves' YouTube channel is hilarious [https://www.youtube.com/channel/UCtHaxi4GTYDpJgMSGy7AeSw/vid...](https://www.youtube.com/channel/UCtHaxi4GTYDpJgMSGy7AeSw/videos)</comment>


Radio Interview with Stephanie Shirley - <AUTHOR> http://www.bbc.co.uk/programmes/b05pmvl8

<comment><AUTHOR> She was born in Germany in 1933, came to Britain as a child aboard the kindertransport Jewish refuge trains; she went on to become an early example of a programmer selling the software that she wrote. She changed her name to Steve so that she could do business, and her company was doing affirmative action (her company mostly employed women) until the 1970s Sexual Discrimination Act made it illegal.

This radio programme is not a technical interview but it's interesting.

> As a young woman, Stephanie Shirley worked at the Dollis Hill Research > Station building computers from scratch: but she told young admirers that > she worked for the Post Office, hoping they would think she sold stamps. In > the early 60s she changed her name to Steve and started selling computer > programmes to companies who had no idea what they were or what they could > do, employing only mothers who worked from home writing code by hand with > pen and pencil and then posted it to her. By the mid-80s her software > company employed eight thousand people, still mainly women with children. > She made an absolute fortune but these days Stephanie thinks less about > making money and much more about how best to give it away.

Here's her Wikipedia entry: [http://en.wikipedia.org/wiki/Steve_Shirley](http://en.wikipedia.org/wiki/Steve_Shirley)</comment>


Vizually: Data Visualization and BI newsletter, latest issue - <AUTHOR> https://vizually.io/?wysija-page=1&controller=email&action=view&email_id=25&wysijap=subscriptions <comment><USER2> Nice! Great tips on colors.</comment>


Can education change Japan's 'depressed' generation? - <AUTHOR> http://www.bbc.co.uk/news/business-32013613 <comment><USER2> Having worked as a teacher in Japan for 5 years, I really take odds with this story. Japan is really, really different from the west. Take the survey about being happy with yourself -- I'm actually surprised that half the Japanese people surveyed actually said they were. It doesn't mean that Japanese youth are depressed. You just don't say that you are happy with yourself because it can limit your development, it makes you look vain, etc, etc.

It frustrates me to no end because this lack of understanding perpetuates really hurtful stereotypes. Things are not perfect here, of course, but this reporting is absolutely off the mark. Japanese people are no more soulless, depressed automatons than Americans are psychopathic mass murderers.

Please don't measure cultures using a yardstick from your own culture. Do not extrapolate from peculiar societal problems into thinking that there is an overall systemic failure. Different cultures have different problems and different ways of dealing with them. This kind of "journalism" is voyeuristic at best and hate mongering at worst.

<comment><USER3> There are an inordinate amount of amazing things about Japan and the Japanese; and it's why I've spent over a decade studying the culture and language.

But it's not really fair to use only rose-colored glasses. There are serious issues with _extreme_ conformity and group-think in Japan. Yes, there's exceptions to everything, but overall it's far more extreme there than it is elsewhere.

Expectations for how you are supposed to behave and interact are much more strict; and that sort of thing really does rob people of their individualism, to some extent. And you can see this by way of Japan having the seventh highest suicide rate in the world; with only two countries significantly higher than theirs.

Surely, every country has its problems; but that doesn't mean we shouldn't talk about any of them.

> You just don't say that you are happy with yourself because it can limit > your development, it makes you look vain, etc, etc.

Tell that to the producers of the TV show Cool Japan :P

(For those who haven't seen it, it's a show that brings in tourists from around the world to gawk about Japanese exceptionalism in all things; while the Japanese hosts inquire why other countries are so backward by comparison. You probably think I'm exaggerating; but I can assure you, it's actually even worse.)

<comment><USER2> Cool Japan definitely makes me cringe. That is a great example of stuff that I really would rather not happen. Or if you look at the English version of the Japan Times which seems to want to attract foreign readership by slamming all the negative aspects of Japanese culture. There is unfortunately a lot of money in this kind of thing.

I probably should never have posted what I did. That kind of poor journalism/entertainment which exploits "we're better than them" attitudes exists everywhere in the world. A random rant in HN is not going to change that. If anything it simply polarizes opinion and invites the trolls to control the stage. I wish I could think of an effective strategy to change opinions on this topic.

<comment><USER3> Oh, definitely. Nationalism is a problem everywhere. I think it stems from sheltered lives and closed-mindedness. The best thing we can do is to tear down the unbelievably fierce restrictions on immigration that exist in literally every first world country. You shouldn't have to be extremely lucky (land an ESL teacher spot), rich (degree/investor), or marry someone to live abroad in the 21st century. We should have open borders.

I don't mind your post and wasn't trying to be a contrarian. Just that I really do worry about this issue there.

But being honest, even after having studied Japan since high school, I still barely understand some parts of their culture. For one example, 遠慮 (enryo) is a concept I'll never comprehend. They say it shows humility to decline at first; but to me, it feels like it turns the tables and makes the gift-giver feel like the one that has to forcefully impose. It would make _me_ feel bad to beg someone to accept my gift. I'm willing to go pretty far to "act like the Romans", but this is one thing I couldn't bring myself to do.

</comment></comment></comment></comment><comment><USER4> I'm not sure why learning English and working abroad is supposed to curb depression? What does one have to do with the other? The article just sort of jumped from "depression" to "working abroad" without really establishing a link. I suggest there isn't one. I mean, in addition to working 80-hour weeks, new recruits have to attend English lessons as well?

If Japan was serious about curbing depression it would take serious measures to reign in the permanent overtime a lot of employees find themselves in, where many are staying in the office until nearly midnight. By "serious" I mean fines and possibly jail time for employers that allow it to happen without reason, or allow it to happen regularly even if they have a reason. And don't rely on reporting, either - start doing audits. If that sounds severe, remember that these are the people whose government formed a committee to investigate why so many Japanese companies required their workers to come in on Saturdays - which committee itself met every Saturday. "Soft paternalism" is probably not going to cut it.

The drinking culture here probably doesn't help, either. Alcohol's links to depression are well-known.

<comment><USER5> Maybe the reason is that so they can go work abroad if they aren't fitting in with Japans conformist culture.

Though the immigrants I work with seem to just reconstruct the same pattern of behavior. My Japanese office mate works til midnight every single night for no reason. I feel sad for the poor guy.

<comment><USER6> Part of that is that the Japanese excel at processing reams of pointless paperwork to get any little thing done. In addition, the strict social hierarchy forces workers at the bottom of the ladder to stay later than their superiors to demonstrate their commitment to the company. This leads to the ridiculous 12 hour work days possibly followed up by mandatory drinking with the boss after work.

</comment></comment></comment><comment><USER7> I get the feeling that the first paragraph or so is trying to make this Japanese school sound somewhat dystopian. I can't help but be amused by that, thinking back on reciting the Pledge of Allegiance every day in gradeschool.

<comment><USER8> The army isn't going to fill itself.

<comment><USER9> What if it did though? What if an army was a self sustaining force? Gathering raw materials from the land, reproducing quickly to fill its ranks. That sounds horrible, like ants... sorry for the weirdo sci-fi tangent.

</comment></comment></comment><comment><USER10> The fascinating part of the indoctrination toward citizenship isn't so much the bowing in unison and redoing it till the bow is perfect, it's rather the inane but repetitive instructions over communications systems _everywhere_ at school, in the subway, in the stations, at department stores, public spaces, always a calm soothing voice reminding you what you are to do next. It's pervasive. It's also interesting from a cultural perspective.

<comment><USER11> Tell me more :) I mean I kind of know what you're referring to but I've never really read much about it. It'll either be really dry academic stuff, or some over the top Vice article that makes any culture look like that of North Korea. And while I've watched a fair bit of Japanese cinema and all, and having visited neighboring countries but never Japan itself, I sort of know how it's like but also not really, at all, so I'd be interested to know more. Cheers

<comment><USER12> If you haven't already, I'd suggest downloading 'Japan: An Attempt at Interpretation (1904)' by Lafcadio Hearn (free for Kindle or as an .html from Project Gutenberg). Although sympathetic but culturally chauvinistic by contemporary standards this study does supply a corpus of interesting observations on the history of a Japan rapidly transitioning from micro- managed hierarchical feudalism to a form of Euro-inspired modernism, with associated strengths and weaknesses. And this while engaged in a war with tsarist Russia. What Japan was shapes what Japan is.

</comment></comment></comment><comment><USER13> I have seen about "Hikikomori", but only in anime and Wikipedia. I am really curious. Do they really exist? How could they live without work? How do they make money?

<comment><USER14> There are several good documentaries out there on the subject. I can't name any of the ones I've seen off the top of my head, but I'm sure googleing will yield plenty.

Quite a lot of young Japanese live at home even through their university years, and it seems the common case of hikikomori is that they just never leave.

</comment></comment><comment><USER15> I'm depressed that the food here isn't as good as in Japan.</comment>


Fitbit IPO – the reference for the modern hardware startups - <AUTHOR> http://www.jmyang.com/blog/2015/5/21/fitbit-ipothe-reference-for-the-modern-hardware-startups

<comment><USER2> of course, this article is mute regarding the Jawbone IP theft lawsuits: [https://www.yahoo.com/tech/s/jawbone-files-second-lawsuit- ag...](https://www.yahoo.com/tech/s/jawbone-files-second-lawsuit-against- rival-fitbit-212955469.html)</comment>


Unofficial Startup School community - <AUTHOR> https://www.metalmanac.com/topics/startupschool/ <comment><AUTHOR> After realizing that there is no common platform for people interested in Startup School (founders and spectators), I decided to start one on my site. The idea behind this community is to bring together people who were accepted into the MOOC, people who were not accepted and people who just want to watch the action as spectators. The following are some features available to this community:

* A wiki like document that will be updated as each lecture is posted with links to the video and lecture slides.

* A chat room

* A question and answer forum

* A forum to discuss resources i.e submit a link to an external resource + a comments section

Note : This is an unofficial community. Since YC has not indicated that they will bring together all Startup School enthusiasts onto a single platform, I decided to start one.

<comment><USER2> Thanks. I asked a question in your Q&A section. I am very curious about how this MOOC is being run.</comment></comment>


When Posturing Meets Reality - <AUTHOR> https://forums.grsecurity.net/viewtopic.php?f=7&t=4309 <comment><AUTHOR> Original Washington Post article - [http://www.washingtonpost.com/sf/business/2015/11/05/net- of-...](http://www.washingtonpost.com/sf/business/2015/11/05/net-of- insecurity-the-kernel-of-the-argument/) HN Discussion on above article - [https://news.ycombinator.com/item?id=10515661](https://news.ycombinator.com/item?id=10515661) [https://news.ycombinator.com/item?id=10515817](https://news.ycombinator.com/item?id=10515817)</comment>


which investors are part of the "in crowd" - <AUTHOR> http://katsenblog.com/post/84229432419/graphing-the-huge-investor-network Looks like this will take a few seconds to load if you're on a slower processor (mobile included) <comment><AUTHOR> Sorry looks like mobile devices and slower processors might take a while to load this. Will take a look at simulation.

</comment><comment> good-citizen this is cool. what does it take for an outer circle investor to move closer to the center? 1 deal with an inner circle investor?

<comment><AUTHOR> Just need to have 3+ rounds with an investor in the inner circle and they'll get pulled in.</comment></comment>


Microsoft made a better MacBook Pro - <AUTHOR> https://char.gd/blog/2018/the-surface-book-2-is-a-better-macbook <comment><USER2> If only they could make a better macOS than macOS...

</comment><comment><USER3> Too bad you can't run docker natively on it.</comment>


Customized regression model for Airbnb dynamic pricing - <AUTHOR> https://blog.acolyer.org/2018/10/03/customized-regression-model-for-airbnb-dynamic-pricing/ <comment><USER2> This is really interesting. I've found that Airbnb under-prices my listing pretty significantly, so I go through and set the weekend prices to roughly 2x of what smart pricing recommends, and they all book up anyway.

This makes me think that smart pricing errs on the side of giving guest a better value and not on the side of maximizing profits for the host.

This may be good for hosts in the long run, however, but I wish it could tell me specifically how it was weighing the factors involved in my listing. For instance:

\- seasonal demand: high, weight: 3

\- special case demand (annual conventions, etc): low, weight 2

\- local lodging availability: scarce, weight: 5,

\- percentage of the time guests choose your listing vs others when both are available: 75, weight: 3

\- competitiveness based on incentives for length of stay: 8, weight: 3

\- your typical guest price sensitivity: low, weight: 5

It would also be very cool for Airbnb to offer beta testing of different smart pricing algorithms. Supply and demand is volatile, so just because a unit averages $x does not mean it can't sometimes fetch 5x (see Uber's surge pricing). Smart pricing _never_ does this, so I suspect there is no notion of demand surges built into the algo, even though they obviously occur.

<comment><USER3> > _Supply and demand is volatile, so just because a unit averages $x does not > mean it can 't sometimes fetch 5x (see Uber's surge pricing). Smart pricing > never does this, so I suspect there is no notion of demand surges built into > the algo, even though they obviously occur._

There are laws against such price gouging in many US states, e.g. to prevent hotels from charging very high prices during natural disasters, or from discriminatory rates. Undoubtedly airbnb will not implement such protections unless forced to.

<comment><USER4> I think OP was talking more along the lines of, say, Atlanta during super bowl weekend, or Random, Wyoming during a total eclipse.

</comment></comment></comment><comment><USER5> What should one study if you wanted to "get up to speed" with these types of models? Like which branches of statistics deals with this? It looks like you need to combine time-series with some kind of demand forecasting?

Say I wanted to do something like this to Widgets and adjust their prices over time, assuming I can collect data on how other people are pricing similar Widgets in the "market" (using this to estimate demand/supply), etc.

I'm just not sure what this type of field is called so I get get up to speed with state of the art.

<comment><USER6> One of the keywords you're looking for is "statistical forecasting."

It's a fairly specialized data science skill since it requires experience with some fairly specific techniques (e.g. dealing with seasonality, autocorrelation, etc. within data has all kinds of interesting solutions).

</comment></comment><comment><USER7> This looks a lot like getting short term profit increases for losing long term control. I wouldn't do it, at least not with just Airbnb suggestions.

</comment><comment><USER8> What's the point of generating a price plot without a y axis?</comment>


How undefined signed overflow enables optimizations in GCC - <AUTHOR> http://kristerw.blogspot.com/2016/02/how-undefined-signed-overflow-enables.html <comment><USER3> Wasn't there substantial controversy over gcc optimizing away certain code that tried to check for integer overflows?

Check out this infamous thread: [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475) ...it gets pretty nasty!

The takeaway is that although overflow is technically undefined, a lot of security-related code was naively implemented by checking for overflows occurring in the most typical way (wraparound), and this check began to be removed by this sort of optimization. This made some pragmatically minded security folks quite angry, because although such behavior is technically undefined by the spec, it was the most widely used method of defending _against_ overflows, and recognizing that such code was already everywhere in the wild they feared all the vulnerabilities that would be introduced by gcc dropping branches for i > i + proposed_increment.

<comment><USER4> >>The takeaway is that although overflow is technically undefined

As they say: technically correct is the best kind of correct.

>>This made some pragmatically minded security folks quite angry

They sound very entitled to me. The C standard is clear on the issue, it's not some arcane hidden thing, it's just a fundamental behavior of basic types in the language. It's very annoying to read the entitled comments from a person who is clearly in the wrong bashing the GCC crew.

>> it was the most widely used method of defending against overflows, and recognizing that such code was already everywhere in the wild they feared all the vulnerabilities that would be introduced by gcc dropping branches for i > i + proposed_increment.

As mentioned by maintainers in the thread there is already a flag to catch unsigned overflows. They even mentioned a way to catch those overflows in the code.

I want a compiler to be technically correct and do optimizations which are possible as the whole point of writing things in C is for them to be fast and efficient. It's nice that GCC has quite a big repertoire of flags, checks, sanity checks, warnings, sanitizers etc. They are very helpful. Demanding that the core compiler doesn't use the language specs to produce better code is pathetic though.

It also didn't "break" any real world things. You just need to use proper compiler flags to compile your non-conforming code if you want a newer version of the compiler. Then thank the hard working compiler maintainers for providing those to you as they could've spent their time on something more fun than fixing shitty code for you.

/rant

<comment><USER5> _The C standard is clear on the issue_

The problem is succinctly summarised by the saying "In theory, there is no difference between theory and practice. In practice, there is." Unfortunately what most programmers think of as "C" is subtly different from how the standard defines it. In other words, perhaps we should fix compilers (and eventually the standard) to match reality instead of the other way around.

The standard even states in the section on undefined behaviour that "behaving during translation or program execution in a documented manner characteristic of the environment" \--- exactly what C programmers are usually expecting from UB --- is a possible choice.

<comment><USER6> Yes. People are quick to point to the standard when it comes to compilers doing something surprising, and quick to use this as evidence that programmers are silly to expect the expected. But if compilers did exactly what these programmers expect, they could point to the standard just the same...

(At least this article provides a good explanation of advantages to be had from being aggressively pedantic about UB. Many by way of evidence just wave their hands and claim people are stupid.)

<comment><USER7> If you don't go by the spec, what _do_ you go by? Intuition? What if yours is different from someone else's?

In this case as well, acknowledging that signed integer overflow is undefined behavior allows for _more_ consistent behavior in certain circumstances. For instance, the compiler knows that `x < x + c`, where `c > 0`, and optimize it to `true`. Even if you don't care about the optimization, is it not _equally_ surprising that such a statement could ever be `false`?

No matter which way you go, _some_ behavior is going to be surprising. And in these scenarios, the only plausible thing to do so is to follow the standard, so at least there's a consistent ideal that everyone's intuitions can converge to, which is crucially important. Each compiler implementing a different C-alike standard just leads to more confusion.

<comment><USER5> _If you don 't go by the spec, what do you go by?_

To quote the standard, "a documented manner characteristic of the environment."

If the machine is two's complement (which is the vast majority of them), then you'd expect that behaviour. If it's sign-magnitude or one's complement or saturating, then the behaviour would be different but still consistent.

 _Even if you don 't care about the optimization, is it not equally surprising that such a statement could ever be `false`?_

Overflows wrapping around is not surprising, it's what decades of computing hardware (or centuries if you include mechanical calculators like [https://en.wikipedia.org/wiki/Pascal%27s_Calculator](https://en.wikipedia.org/wiki/Pascal%27s_Calculator) ) have always done.

<comment><USER7> > If the machine is two's complement (which is the vast majority of them), > then you'd expect that behaviour. If it's sign-magnitude or one's complement > or saturating, then the behaviour would be different but still consistent.

How is this different in practice from undefined behavior, other than the compiler can't take advantage of it for optimizations?

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Since this is likely to degenerate into a discussion on the merits and pitfalls of optimizing undefined behavior, how about a look at this thread on mechanicalsympathy where the topic was beat to death just a short while ago:

[https://groups.google.com/forum/#!topic/mechanical- sympathy/...](https://groups.google.com/forum/#!topic/mechanical- sympathy/jAqF8f0HdM0)

One of the juicier replies discussing some of the undefined behavior in C (by Rajiv Kurian):

1\. A program in a hosted environment does not define a function named main using one of the specified forms - not a compile time error, it's UB.

2\. The arguments to certain operators are such that could produce a negative zero result, but the implementation does not support negative zeros.

3\. Two declarations of the same object or function specify types that are not compatible - again not a compilation error, it's UB.

4\. An unmatched ' or " character is encountered on a logical source line during tokenization. During tokenization!!

5\. An exceptional condition occurs during the evaluation of an expression - how specific.

6\. An exceptional condition occurs during the evaluation of an expression - hmmm

7\. A structure or union is defined as containing no named members - ookay.

8\. The value of an unnamed member of a structure or union is used - why is there a compiler at all!

9\. The character sequence in an #include preprocessing directive does not start with a letter - <USER2>

10\. The program modifies the string pointed to by the value returned by the setlocale function - dear god.

11\. The string set up by the getenv or strerror function is modified by the program .

12\. The array being searched by the bsearch function does not have its elements in proper order - not a logical error just straight up UB.

This is the tip of the iceberg. How confident is any one now that their program doesn't invoke UB? Things many programmer would assume are compiler errors are actually UB. What would happen if gcc/clang exploited each one of these?

<comment><USER9> 12\. Well breaking the invariants of a function is never a good idea, but putting defined behaviour in that case would put substational restrictions on how the function could be implemented (and still almost certainly do something weird anyway latter)

<comment><USER10> It could be implementation-defined without being UB.

</comment></comment></comment><comment><USER11> This is a list of optimization patterns; it's not an analysis of how much actual code gets sped up, and it doesn't consider the accommodations that would be made in the alternative universe: where defined signed overflow is the default, and there are other tools for when this impacts performance too much.

The question is if the alternative universe is better than this one, where you have to work harder to protect against unwanted overflow - and especially the compiler eliminating your efforts to test whether it occurred or not.

<comment><USER12> The command line switch '-fno-strict-overflow' will grant you access to this alternative universe.

<comment><USER11> The alternative universe includes a different C++ standard and potentially additional language constructs or types to opt out. Different defaults have cultural implications far beyond the mechanics of any single compile.

</comment></comment></comment><comment><USER13> Any range information the compiler intuits from signed values not overflowing could, in principle, be given explicitly with the following code:

      if (foo > 1000) __builtin_unreachable();

Or macros that make that kind of thing look prettier. I prefer using unsigned values everywhere for both safety and semantics. (It's not possible to have a negative number of bananas, so why should I use a type that admits a value of -3 bananas?)

<comment><AUTHOR> Clang also has a more explicit __builtin_assume(expression) builtin, although anecdotally GCC makes better use of these hints. Folly has a function to make it portable:

[https://github.com/facebook/folly/blob/bb5ed8070d533c016e1e9...](https://github.com/facebook/folly/blob/bb5ed8070d533c016e1e93cd274e76ce28a780bb/folly/Assume.h#L35)

</comment></comment><comment><USER14> It doesn't say that much about the loop optimizations--

The cases where I've seen the largest gains come from loops where analysis shows that the loop runs, say, exactly 8 times or forever (due to overflow). Knowing it runs 8 times exactly lets the loop get unrolled, which then lets vectorization work... and then some inner loop runs more than 3x faster.

<comment><USER15> In languages with GCs or managed in some other way, knowing the upper bound of loop iterations is also important because it allows you to remove the check- if-we-need-to-stop-the-world operation from the loop.

This applies even if the loop isn't unrolled. For example if I see a loop that definitely doesn't iterate more than 2^32 times (because it doesn't overflow) and I can see it only has a few simple instructions in it, then I may decide to omit the check from the loop because I know it can't take that long.

<comment><USER11> In Java specifically, I've gotten good results by following this technique:

\- start with an empty routine for the main loop to be optimized

\- add the simplest loop you can that iterates over your source data, written such that has a simple obvious bounds check

\- test the loop in a microbenchmark harness and look at the generated assembly if necessary to verify that bounds checks get hoisted out, the loop is being unrolled, etc.

\- slowly add more code and continuously verify that assumptions are met

\- if the loop body gets too complex and the JVM stops optimizing it properly, try and split the loop into multiple seperate (possibly nested) loops that are in their own functions, and repeat the process

\- when finished, experiment with inlining loops again

Coming at it from the other angle - a complex loop that you poke until the generated code is decent - is much more frustrating. E.g. manually unrolling loops is fairly pointless - you really really want the JVM to unroll the loops, because it will do so with fewer bounds checks that you can't eliminate yourself. Start with the JVM producing good fast code, and keep it that way as the complexity grows.

<comment><USER15> Yes I understand that the java.util.concurrent code includes a lot of loops that look unusual, and in fact they're carefully constructed in such a way as to just avoid the poll (the check-if-we-need-to-stop-the-world part) for inner-loop concurrency operations.

</comment></comment></comment></comment><comment><USER16> I never see anyone do this, but it doesn't seem like a bad idea to run a program through a C interpreter and see if it ever triggers undefined behavior. As I understand it, the C standard is written so that all undefined behavior is able to be caught in this manner. I could even see something like gcc coming with a 'create an interpreted executable for debugging purposes' flag.

It wouldn't constitute a formal proof or anything, but it would solve the problem of people leaving overflow and null pointer checks in plain sight expecting them to be hit.

<comment><USER17> Undefined behaviour isn't a set of checks the compiler goes through before deciding to call invoke_nasal_demons() which you can then just replace with yell_loudly_about_UB(). Undefined behaviour is a set of conditions that the standard says they can pretend do not occur, ever, so certain results are easier to obtain because the UB is never checked for and assumed to have not occurred.

UB is fundamentally not a well defined condition because it is the absence of knowledge about the state of a program, and many UB conditions are very very hard to detect if not actually impossible (cf Turing) which is why the standard says the compiler doesn't have to care to begin with.

Its very nature means detecting UB in anything approaching a reliable way is impossible, the C standard is not remotely compatable with such an idea.

</comment></comment><comment><USER18> I wonder how often actual code uses these patterns. Is there anyone who would write (-x)/(-y) instead of x/y?

Also, some of these patterns claim to eliminate something, but they actually just move it around. For example, -(x/y) -> (-x)/y doesn't eliminate negation, so it's not clear to me that the latter form is faster than the former.

<comment> Ono-Sendai It doesn't really matter if someone would write such code by hand. Code can be transformed into that pattern by compiler transformations such as inlining, CSE, constant folding etc..

</comment></comment><comment><USER19> This kind of makes a great case for why signed/unsigned ought to be a feature independent of overflow.

</comment><comment><USER20> So, does that mean we should use unsigned integers whenever possible, such that we have defined overflows and still benefit from optimizations?

<comment><USER21> No. You should use a language better aligned to the processor - one in which you can express a "loop exactly n times" construct directly, without having to add a ceremonial iteration variable.

<comment><USER15> > one in which you can express a "loop exactly n times" construct directly

The problem with this advice is that there are so many things that the processor may be interested in knowing declaratively, rather than having to claw it back from the semantics of your application somehow, that the problem has become totally unmanageable. And even if we could manage it, the next generation of processor microcodes may be completely uninterested in what we've carefully encoded into your programs are actually want some other information instead.

<comment><USER22> I don't think the problems with that advice are singular. Perhaps the most ultimately-relevant is that looping exactly N times without a "ceremonial" counter is really only very rarely useful. Truly, how often do you see the canonical `for (i = 0; i < N; i++)` pattern in C with _no_ references to `i` anywhere in the loop body? (Hint: if there are any, it's not "ceremonial".) Blindly repeating the _exact_ same sequence of code just isn't something you want to do very often.

To address the issue of "okay, in what languages _could_ we do this anyway?": taken in full mathematical generality, such a capability would necessarily require bignum support, which cuts down your options significantly. I'm not sure if that was actually the intent, but if we instead accept the limitation of "up to some largeish power of two", constructing a macro to do this "directly" in C would also be quite easy. So... _(shrug)_

<comment><USER21> I agree that it's rare, but aren't those exactly the cases where this kind of optimization is relevant? In the cases where you're using i and it could overflow, the optimization couldn't be applied anyway.

</comment></comment></comment></comment></comment><comment><USER23> EDIT: I see- a different reading of the post than my original take would suggest that the author is saying, you as a C/C++ programmer are "not allowed" to compile code that would cause under/overflow. The compiler assumes that you are following this rule, enabling these optimizations. The author's wording is unclear as to who or what is not being allowed to under/overflow, hence my confusion.

\---

Right off the bat-

> Signed integers are not allowed to wrap in C and C++

What? This is...not true.

      $ cat > test.c
      #include <stdio.h>
      #include <limits.h>

      int main()
      {
          int i = INT_MAX;
          printf("%i\n%i\n", i, i+1);
      }

      $ cc test.c
      $ ./a.out
      2147483647
      -2147483648

Im not an expert on these matters, but I suspect signed integers are _not defined as wrapping_ and in fact not defined as doing anything particular in under/overflow situations, though in one common convention, two's complement integer arithmetic, they often do. The optimizations rely on the fact that the programmer can't depend on any specific overflow or underflow behavior.

<comment><USER24> You are incorrect, or perhaps correct in a nit picky way[0]. It is undefined behavior, as any Google search can tell you. Your compiler is just being nice --it is allowed to print "screw you" as the result of that program.

For more about undefined behavior, try here: [http://blog.llvm.org/2011/05/what-every-c-programmer- should-...](http://blog.llvm.org/2011/05/what-every-c-programmer-should- know.html?m=1)

[0] Since its undefined behavior, the compiler can choose to wrap it. If that's what you're saying, I think it's pretty confusing expressed the way you did.

In spite of that, a well defined C program is not allowed to overflow, and a compiler can compile a program that overflows it absolutely any way it chooses to. It is in fact able to optimize the program based on the assumption that the overflow cannot happen, even if it is actually possible.

<comment><USER25> I think 'ssalazar is interpreting the phrase "not allowed to wrap" to mean "if the C compiler causes them to wrap, it is violating the spec". Undefined behavior means _anything_ is allowed; this includes reasonable behavior.

(Remember that undefined behavior exists for the purpose of allowing optimizations. Adding code to print "screw you" is rarely an optimization. Doing just what the programmer expected is _usually_ an optimization, which is why UB is so tricky; it's just not always an optimization, and doing something unexpected might be faster.)

<comment><USER24> You're right. I added a note when I thought of this, and if that's what the parent meant, I think it's an exceedingly unhelpful addition.

</comment></comment></comment></comment><comment><USER13> So compilers use a tricky and unintuitive corner of the C standard as a half- assed substitute for doing real program-wide bounds analysis.

<comment><USER4> It's not a tricky corner of C. It's the most basic C thing ever if you are not not negligent and actually check the standard for what happens when you overflow a signed int.

I mean, the C standard isn't that long nor complicated. There aren't many basic types in C, learning how they behave in basic situations like division by 0, overflow etc. is an hour long task.

<comment><USER8> May I refer you to the 13 pages of section J.2 Undefined behavior of the C standard[1]. I hope you don't have any other appointments after your "hour long" task...

[1][http://www.open- std.org/jtc1/sc22/wg14/www/docs/n1256.pdf](http://www.open- std.org/jtc1/sc22/wg14/www/docs/n1256.pdf)

<comment><USER4> We are talking about the basic operations on basic types in C, not all possible undefined behaviors. You don't need to learn a list of possible undefined behaviors. You just need to check how your basic types behave when you try to store numbers too big for the number of bits they have. It's something you learn in like first few hours of your introductory C course.

<comment><USER26> Assuming you aren't targeting multiple systems, which with its own C compiler.</comment></comment></comment></comment></comment>


Bret Victor the Future of Programming - <AUTHOR> https://www.youtube.com/watch?v=8pTEmbeENF4&feature=youtu.be <comment><USER2> This needs either a (2013) or (1973) tag in the title. It's a good video and worth watching like many other Bret Victor videos.

<comment><USER3> He probably wasn't born in 1973.</comment></comment>


Robert Scoble on Airbnb controversy - <AUTHOR> https://plus.google.com/111091089527727420853/posts/eT6Zar6WM1X#111091089527727420853/posts/eT6Zar6WM1X

<comment><USER2> Scoble, from the discussion thread: "the problem is that that batshit crazy drama queen is more believable than anything Airbnb has said this week"

Classy.

<comment><AUTHOR> His recommendations felt like a nice summary[1] of Dale Carnegie's _How to Win Friends and Influence People_ [2], mentioned by pg on _Why Smart People Have Bad Ideas_ [3]

[1] [http://www.amazon.com/review/R1IGJOWWDLP3RS/ref=cm_cr_dp_per...](http://www.amazon.com/review/R1IGJOWWDLP3RS/ref=cm_cr_dp_perm?ie=UTF8&ASIN=1439167346&nodeID=283155&tag=&linkCode=)

[2] [http://www.amazon.com/How-Win-Friends-Influence- People/dp/14...](http://www.amazon.com/How-Win-Friends-Influence- People/dp/1439167346/ref=cm_rdp_product)

[3] <http://www.paulgraham.com/bronze.html#f8n>

</comment></comment><comment><USER3> Scoble speaks sense.</comment>


We work at Microsoft and we use node.js - <AUTHOR> http://anodejs.org/

<comment><USER2> Glad to see this. If anyone at MSFT is reading, it would be useful if the blog posts had permalinks.</comment>


From Chaos to Control – Netflix's Resiliency Tests - <AUTHOR> http://techblog.netflix.com/2015/08/from-chaos-to-control-testing.html

<comment><USER2> Irony... The link is down right now.

But sure it is very interesting netflix has a great score dealing with complexities and it is a game changer on entertainment field.</comment>


Show HN: BigScreen sends pictures and music from OS X to ChromeCast - <AUTHOR> http://www.roguesavant.com/bigscreen/

<comment><AUTHOR> Was looking for an easy way to send pictures on my computer to my ChromeCast, and thought having a "native" app would be a nice way to do it without having to cast a Chrome tab. Since Google explicitly doesn't make SDKs available for anything other than iOS/Android/Chrome I ended up wrapping a couple of things together in a long little afternoon. Let me know what you think!

<comment><USER2> Looks great. I'd use this for videos on my laptop that I want to cast, so definitely looking forward to video support!

<comment><AUTHOR> That is coming: ran out of time and didn't want to drag my feet on actually releasing it. Video is also complicated: transcoding becomes a real requirement and its just messy to do that in a performant way. But I have something like 40 apps and libraries I've written that are all 80% there but never get released, so for this one I set an explicit rule that it would be released in whatever stable state it is in by the end of July.

<comment><USER3> in that case... congrats on shipping!

</comment></comment></comment></comment><comment><USER4> Here is a C# library and sample app to send photos to an Apple TV using AirPlay:

[https://github.com/spouliot/airplay](https://github.com/spouliot/airplay)

</comment><comment><USER5> Looks nice! I've been using [https://github.com/googlecast/CastHelloVideo- chrome](https://github.com/googlecast/CastHelloVideo-chrome) plus some custom Java code to stream video content for a few months now. I'd love to have something like this as a UI instead of my cobbled mess. Drop me a PM or email @gmail if you want to compare notes. Cheers!

<comment><AUTHOR> Thanks. Will reach out once I get a chance: the video transcoding/streaming will be the real heavy lifting. This was mostly just a node-webkit exercise, but not sure how cleanly it will merge with the Chrome code you linked to.

<comment><USER6> The transcoding isn't actually too bad. You basically just need ffmpeg compiled from source on your box, and you can use [https://github.com/fluent- ffmpeg/node-fluent-ffmpeg](https://github.com/fluent-ffmpeg/node-fluent- ffmpeg) . You just need to transcode everything go h264 / AAC (so make sure you compile with libfdk_aac ).

The thing I have been unable to figure out so far is how to start streaming to chromecast before the transcoding is complete. It will play to the point it was transcoded when I started playing, regardless of how far it has gotten since then. I have tried transcoding to HLS which chromecast supports, but have not been able to figure it out.

Are you planning on develping this open source? I didn't see a github for the actual project on first glance.

<comment><USER7> You can actually stream the file directly to the chromecast as it's transcoding.

I've got this working in my own chromecast app mkvcast: [https://github.com/maherbeg/mkvcast](https://github.com/maherbeg/mkvcast)

See [https://github.com/maherbeg/mkvcast/blob/master/lib/controll...](https://github.com/maherbeg/mkvcast/blob/master/lib/controllers/stream- file.js) for the parameters to use.

<comment><USER5> I got something similar working in Java by simply exec'ing ffmpeg and getting a handle on the stream. Not being able to seek kind of sucks, and Chromecast does not like infinite streams. However, I've seen that he Chromecast will actually stream some MKVs just fine (so long as the underlying codecs are supported).

</comment></comment></comment></comment></comment><comment><USER6> Nice, I have been looking for something like [https://github.com/thibauts/node- castv2-client](https://github.com/thibauts/node-castv2-client) for a while.

All of the other NodeJS clients I found were written for version 1 and stopped working, so I ended up forking Popcorn Time and hacking it to work in a regular browser so I could use the official Chromecast Extension.

<comment><AUTHOR> Yeah, spent a couple of hours trawling the web before I stumbled upon that: gold, that one. I'd originally started using ChromeCast's DIAL support but that's apparently deprecated, which is a shame because the replacement is quite a bit more complicated.

</comment></comment><comment><USER8> Try this for on the fly transcoding even unsupported media: [https://github.com/mustafaakin/cast- localvideo](https://github.com/mustafaakin/cast-localvideo) Disclaimer: I made this, but people seems happy using it.

<comment><USER9> Or use Plex or XBMC and control it from your smartphone

<comment><AUTHOR> Those solutions do exist, but to a certain degree the point of this was not to need a phone or Chrome. It is obvious that those are the sanctioned solutions from Google's perspective, but this is an attempt to provide a different option.

</comment></comment></comment><comment><USER10> If I use this to play music, will my computer still go to sleep and stop playback like when I use a brower-based music app?

<comment><USER11> For stuff like that, I use Caffeine ([https://itunes.apple.com/us/app/caffeine/id411246225?mt=12](https://itunes.apple.com/us/app/caffeine/id411246225?mt=12)) to prevent my Mac from sleeping.

</comment></comment><comment><USER12> Why are there recent Macs without HDMI ports? You'd think that would be ubiquitous by now.

<comment><USER13> Mini-Displayport to HDMI / DVI / VGA adapters are less than $10.

<comment><USER14> Did they ever do anything about the audio jack? I always thought it was wack how they not only forced you to buy a dongle, but also a 3.55m to rca cable.

<comment><USER15> Some mini-dp to HDMI adapters also pass audio through (including I believe the Apple branded one as well as one I bought after confirming reviews on Amazon), but I've also bought a couple that do not

</comment></comment></comment></comment><comment><USER16> Any way to send vlc to chromecast?

Edit: This is great, btw. Thanks, fomojola!

</comment><comment><USER14> If it was for Linux I'd gladly give it a spin.

<comment><AUTHOR> It will be available for Linux (at least Ubuntu): I just need to brush off my old scripts for generating .deb packages and I'll have something. Just didn't want to dawdle and let it fall into my pile of neglected projects.

<comment><USER17> Would something like [https://github.com/jordansissel/fpm](https://github.com/jordansissel/fpm) help?

<comment><AUTHOR> Indeed it could: thanks!</comment></comment></comment></comment>


The Sickening Business of Wellness - <AUTHOR> https://theoutline.com/post/350/the-sickening-business-of-wellness <comment><USER2> Warning - This page will make your eyes hurt. If you attempt to read it you will see words floating in front of you, everywhere you look, for the next 15 minutes.</comment>


Delta anti-union poster: Spend on video games over union dues - <AUTHOR> https://www.washingtonpost.com/business/2019/05/10/delta-told-workers-save-up-football-beer-video-games-instead-union-it-didnt-go-well/ <comment><USER2> Give me a break, some people are pro union, companies are not. pro union folks campaign to get folks to join, companies campaign to stop that. Delta didn't say anything along the line of if you join you will loose your job or some subtle threat. They said spending $700 on video game sounds more fun than union dues. I personally think it's funny. If anyone is going to be swayed by that, then that person probably shouldn't join a union or can just as easily be swayed by a union with something silly and more catchy than Delta's campaign.

<comment><USER3> Comments like this make me wonder what the economic philosophies of the average HN commenter is. I see a lot of things that seem pretty pro- capitalist, neo-liberal, etcetera. But I've always viewed the bulk of who's visiting and viewing to be mostly working, middle, or upper middle class. There's remarkably few people who benefit from the no-union position (even if Delta's messaging was legal). Of course your company is going to protect its own interests, but I'm surprised how frequently I see pro-employer comments at the top, rather than pro-worker.

Personally, I dis-like Delta's messaging because it equates one of the last vestiges we have of worker's rights -- the union -- to a video game console. It's absolutely insulting to the worker, to suggest the people that work for you are dumb enough to believe that argument. It's fine for the employer to have an opinion on unions, but this is tasteless.

<comment><USER4> A lot of people on HN are entrepreneurial, and have started their own businesses or have worked at a small one and understand the perspective of management. I do not want employees, no matter how low level, to view their employers antagonistically. Unions foster a sense of antagonism and inflexibility, which makes hard but necessary decisions more difficult. Ultimately it will kill the business, which helps no one.

<comment><USER5> \--> "I do not want employees, no matter how low level, to view their employers antagonistically"

The problem is, at its core, the employer-employee relationship is a type of exploitation. Exploitation of any kind generally does not come without antagonism.

<comment><USER6> If you find it exploitative, try living without an employer, hustling for every customer. You'll learn how much of a service employers provide by providing a steady paycheck just for showing up.

</comment></comment></comment></comment></comment><comment><USER7> > Crosses One Line Too Far in Union Busting

With posters giving their point of view? I was expecting to read about them calling in strike breakers with baseball bats, given that headline. Surely posting literature that isn't untruthful, offensive, abusive etc is always ok and should be protected even if you don't agree with the argument?

<comment><USER8> An example of the poster can be found here:

[https://twitter.com/EoinHiggins_/status/1126477710434414592/...](https://twitter.com/EoinHiggins_/status/1126477710434414592/photo/1)

A lot of people are finding it offensive.

<comment><USER9> Lame? Sure. Offensive? No.

"Offensive" shouldn't be a synonym for "something I don't like".

<comment><USER10> Maybe consider "offensive" under its "aggressive" definition. It's a plainly worded discouragement from participating in unionization.

<comment><USER11> I don't see any aggression. What is "aggressive" about pointing out that for the cost of paying a union boss to negotiate for you, you could buy a video game system instead?

Maybe more to the point, what's wrong with a company discouraging employees from participating in a union? It's against the company's interests. They have a right to try to persuade their employees with posters, just as the union has a right to promote their position with their own propaganda.

<comment><USER12> Frankly it's none of their business, just as the company shouldn't lobby their employees on who to vote for.

> It's against the company's interests.

The fact that it's a baseline assumption that a company's interests is opposed to the interests of the employees who create the company's value is exactly why employees and their unions need political protection.

<comment><USER11> It's definitely the company's business, since unions add another layer of management to their business processes. And these days it's generally assumed that a union is opposed to the company's interests because unions by definition are there to extract money from both the company and its employees.

<comment><USER13> Unions are nonprofit, they don't exist to "extract money" from anybody. They exist to act on the behalf of all their members in negotiations, to increase wages and to provide employment-related services like labor lawyers in case of a wrongful firing. In the airline industry, Union workers make on average $12k more than non-union workers, which more than makes up for the $700 dues.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> I'm pretty pro union myself. However, I think it makes sense for people to NEED the union. If they don't need it they shouldn't join it. Defaulting into something is how you get stagnation. You should think about whether or not $700 would be better than the union.

If you get rid of the Union and then your pay goes to shit, then Unionize again and demand higher pay. We should make Unions as fluid as possible so that not only companies but unions feel the pressure of their membership numbers.

EDIT: Yes, I know this ignores the startup cost of forming a union and the pressure by companies to form unions. But I think that points out a flaw in our current legal system not a deficit in my (overly) optimistic idea of how easy it should be to form and end a union.

My goal is competition in unions, not to start and stop them every time they lose favor. Starting and stopping them may not be realistic ever, but it'd be nice if we had options.

<comment><USER15> I'm not sure what happened but this website versus two years ago is filled with shills. Posting on twitter that your employees should buy an Xbox instead of join the union is fucked up

<comment><USER7> > Posting on twitter that your employees should buy an Xbox instead of join > the union is fucked up

Did they post it on Twitter? I'm not sure that's what happened in this story.

But anyway the argument they're making is 'your union is not worth $700 to you so spend that on something that is instead' I don't know if that's true but it's a reasonable and plausible argument.

</comment></comment></comment><comment><USER16> Flagged for changing the link from

[http://ebb.org/bkuhn/blog/2019/05/10/delta-union- busting.htm...](http://ebb.org/bkuhn/blog/2019/05/10/delta-union-busting.html)

to

[https://www.washingtonpost.com/business/2019/05/10/delta- tol...](https://www.washingtonpost.com/business/2019/05/10/delta-told-workers- save-up-football-beer-video-games-instead-union-it-didnt-go-well)

circa 5pm Fri 5/10/19.

PSA to all confused readers reading comments posted before that time.

Moderators, if this isn't against policy, it ought to be.

<comment><AUTHOR> As the person who posted the original article then going to the front page later and seeing some other story and title replacing the one I linked was pretty strange.

<comment><USER16> Odd indeed!

</comment></comment></comment><comment><USER17> Delta is the only big American airline, that I know of, that doesn't own any Boeing 737 Max aircraft.

I don't know when these planes will go into the air again but I assume they will. Based on the reporting of the problem with Boeing and these planes I don't feel like I want to fly in that plane and I don't want to play ticket games to try and avoid a particular type of plane.

I know lots of people have good reasons for being angry at Delta, but for me just the fact that they don't have this particular plane and thus I'd never have to worry about ending up on one of them makes me likely to continue using Delta. Is this irrational of me?

<comment><USER18> Irrational? Not at all. Delta can be reasonably well priced and you're avoiding a known risk that hopefully is fixed. If you're paying substantially more for Delta to avoid that plane while also not having the income to support that luxury it might then be irrational.

</comment></comment><comment><USER19> The naivete of people in situations like this drives me nuts. This person discovered that a company they frequent has done something that offends their sensibilities. Now they going to Do Something About It! And we should all join them! This aggression cannot stand!

This is arbitrary offense-taking. I'm not taking a stand on whether or not Delta has done something egregious. I don't care about the underlying issue. What I can't stand is people who become aware of something like this and act like they've uncovered a crime against humanity that we're all ignoring.

I guarantee that the author wrote that blog post while wearing clothes manufactured in a sweatshop, on an electronic device manufactured in many sweatshops, with a stomach full of food picked by disadvantaged illegal immigrants, after driving home from work in a vehicle powered by oil from an unsavory country. They're proud of the million miles they've flown, with a carbon footprint that's big enough to sink a continent.

To be fair, the author acknowledges much of this in the post, which makes it all the more inane. This one company crossed some arbitrary ethical line in the sand, and the author wants everyone else to jump on board.

The world is a messy place full of suffering and wrongness. By all means, pick the occasional battle and take a stand once in a while, if that's your thing. I'll find something better to get bent out of shape about.

<comment><USER20> Very true, we should never criticize anything bad because we can't criticize everything bad. We do live in a society after all.

<comment><USER21> I realize sarcasm is the "way of expressing things on HN", and I did some of it myself in a post upthread, but to get serious on norgie's point for a moment: I picked this specific issue to speak out on for two reasons: (a) as a regular traveler [0] and speaker at FOSS events, this was a great opportunity to draw attention to the problems with airlines, as all of us use them to attend these events and my blog is well read among FOSS folks and (b) as someone who _is_ a frequent traveler, and recognized by Delta as a "good customer", I have a louder voice then most in this debate.

There are indeed a lot of issues that we should be speaking up on, and it can be exhausting to speak up on all of them. I try to target moments when my voice can get a bit more attention than usual for some reason and pounce on the opportunity to make a difference. I think it's a good approach.

(Again, I'm the poster of the ebb.org blog post that was the original article linked to in this thread; as others have mentioned, this article was changed to be about the Washington Post news story that inspired my blog post).

[0] and yes, the fossil fuel impact of that does bother me and I've spoken about that too at FOSS conferences)

</comment></comment></comment><comment><USER22> Someday unions will be back. Until then, keep listening to what your Sinclair station tells you.

</comment><comment><USER23> Url changed from [http://ebb.org/bkuhn/blog/2019/05/10/delta-union- busting.htm...](http://ebb.org/bkuhn/blog/2019/05/10/delta-union- busting.html), which points to this.

</comment><comment><USER24> Wherever you stand in the union issue, you have to take exception with the dishonest reporting about Delta's profitability. Airlines are enjoying profits recently because of low fuel prices over the last five years. But nobody mentions that Delta went through bankruptcy in 2007. Airlines aren't a long- term profitable business that can support inflexible union arrangements. A spike in fuel prices can quickly put them in the red.

<comment><USER25> > Wherever you stand in the union issue, you have to take exception with the > dishonest reporting about Delta's profitability. Airlines are enjoying > profits recently because of low fuel prices over the last five years. But > nobody mentions that Delta went through bankruptcy in 2007. Airlines aren't > a long-term profitable business that can support inflexible union > arrangements. A spike in fuel prices can quickly put them in the red.

Airlines don't hedge against increases in fuel price by engaging in futures markets? That sounds borderline irresponsible of management.

<comment><USER26> That's another way to quickly go into the red. You purchase futures contracts to hold your fuel prices steady, then the market turns and fuel gets really cheap. Your competitors can now start a fare war and you're locked into expensive fuel while they enjoy cheap fuel.

When you make a bet on the future price of a commodity, that bet may work well for you (see Southwest during the late 2000s [1]). But it just as easily can hurt you if the prices move the other way.

[1] [https://www.nytimes.com/2007/11/28/business/worldbusiness/28...](https://www.nytimes.com/2007/11/28/business/worldbusiness/28iht- hedge.4.8517580.html)

</comment></comment></comment><comment><USER27> Honestly, I'd rather fly with an airline where the mechanics aren't unionized.

I don't want someone to have a poor team attitude and not care about what they're doing because they know they can't get fired for less than 3 infractions or whatever else the union negotiates.

I want underperforming mechanics out ASAP and the best ones rewarded.

<comment><USER28> > I want underperforming mechanics out ASAP and the best ones rewarded.

That would be nice. I think it's more likely that it would be the mechanics that don't make waves and keep costs down who would be rewarded. Woe betide the mechanic who insists on delaying a flight and costing the airline large amounts of money to investigate a possible issue that might result in a 0.01% chance of a crash, rather than delaying it to a more convenient time.

<comment><USER27> Sure, that would be nice. Maybe I'm just not familiar with unions, but what are some examples of high performing / high quality companies with a unionized workforce?

My only experience is friends who have worked in unions and their stories make it sound like there's little to no chance for advancement besides waiting in line, so at best people skate by and do the bare minimum and at worst actively try to subvert management decisions.

<comment><USER29> Plumbers, electricians, lots of other sole proprietor workforces in the trades have unions that institute strong training and protection for their union work. Is it perfect, nope. I can't stand police unions in my state because they prevent perfectly reasonable road crews from functioning with only flag crews instead of with flag crews and a usually sleeping officer just to pad their wages. There's some crappy things about unions but it's the only effective way to protect individuals from companies. They don't however protect companies from outsourcing, usually to lower paid non union workers of lower quality.</comment></comment></comment></comment>