Everything you ever wanted to know about hexagonal grids - <AUTHOR> http://www.redblobgames.com/grids/hexagons/ <comment><USER2> That's neat. I spend my work days simulating advanced nuclear reactors that have hexagonal fuel assemblies. In my codes I've used a lot of this info. This is an excellent resource that I'll be referring people who come from the more traditional square lattice world.

</comment><comment><USER3> Tangentially related, I have heard of modelling forest fires with cellular automata.

[http://en.wikipedia.org/wiki/Forest- fire_model](http://en.wikipedia.org/wiki/Forest-fire_model)

The grid is usually rectangular, and I've always found this a bit odd: hexagons represent 2-d sphere packing, so they always seemed more natural to me. I once asked researchers in the field about this, around 2006, and they responded that rectangular grids serve just as well. I just found this paper from 2007 where apparently hexagonal grids fare better:

[http://www.sciencedirect.com/science/article/pii/S0307904X06...](http://www.sciencedirect.com/science/article/pii/S0307904X06000916)

This makes me wonder, for realistic models that are meant to model a notion of neighbour cells, why aren't we always using hexagonal grids in 2d or higher- dimensional analogues? With rectangular grids, you're always faced with the choice of defining whether touching on edges and corners count as neighbours or not, which seems like an unnatural choice. Why, then, does this not seem to matter in the end?

<comment><USER4> As far as I know the reason why square lattices are preferred over hex lattices is that they can easily generalized to 3D, ... . If you invest lots of time thinking about good, say, FEM or Finite Volume algorithms, you want to have results that can easily generalized afterwards.

<comment><USER5> Actually there is a simple 3D analog of the hexagonal grid, which occurs in crystal structures. Somewhat interestingly there are two variants, known in crystallography as Face-Centred Cubic and Hexagonal Close Packing. [http://en.m.wikipedia.org/wiki/Close- packing_of_equal_sphere...](http://en.m.wikipedia.org/wiki/Close- packing_of_equal_spheres)

In higher dimensions there are applications to broadband coding (you want the densest possible constellation).

[http://mathworld.wolfram.com/HyperspherePacking.html](http://mathworld.wolfram.com/HyperspherePacking.html)

<comment><USER5> Though perhaps more relevant to FEM is the tetrahedral mesh...

<comment><USER4> Both types are important. The math is indeed more complicated for square meshes, but you can use the fact that the basis functions (is this the proper English translation of the German "Basisfunktionen"?) on square elements have more degrees of freedom to sometimes get better approximations.

Disclosure: I heard some advanced lectures about FEM intended for students who intended to write a diploma thesis about this topic.

</comment></comment></comment></comment></comment><comment><USER6> Fascinating! One of Affirm's old job application puzzles was about a hexagonal grid. I did a write-up[1] of how I solved it, unaware that I was reinventing the wheel. The cube coordinates abstraction would have been _killer_ for being able to explain things to myself.

[1]: [http://vincentwoo.com/2013/03/08/above-and-beyond-the- affirm...](http://vincentwoo.com/2013/03/08/above-and-beyond-the-affirm-job- puzzle/)

<comment><USER7> That's funny, I brought this exact puzzle up last time this link was posted. Twins! Nice solution.

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

</comment></comment><comment><USER8> This was a fantastic article -- examples were concise and clear, and everything was well-written.

Tangentially, I'd love to know the best way to create the visuals for this kind of content. I assume no one's writing all those SVGs by hand, right?

<comment><USER9> Thanks! (I'm actually in the middle of a major update to the page — I hope to have it published in a few weeks)

I used d3.js for this page (and most of the pages on my site).

For a given shape of map (rectangular, triangular, hexagonal, parallelogram, etc.) I generate a set of cube hex coordinates. I then use d3 to instantiate an SVG shape for each coordinate. D3 will maintain the mapping from the cube coordinate to the SVG shape, so I can set element classes on mouse events, and then I style those with CSS.

For example, in the line drawing example, I have a generic function that creates a hexagonal shaped grid (of hexagons)[1]. On mouseover, I figure out which hex it is, then run the line drawing algorithm to create a set of coordinates from the start point to the hex you're pointing to. I then tell d3 to iterate over all the SVG dom nodes and set the "selected" class if it's in the set returned by the line drawing routine[2]. The color changes with the CSS rule #diagram-line .selected polygon {fill: hsl(200, 50%, 80%); }

I've used canvas for some of the pages but I find svg much easier to work with. I can attach mouse events to the elements, and I can set properties (such as color) easily without redrawing everything. D3 is great for maintaining a mapping from data (such as a set of hex coordinates) to dom nodes (such as a set of svg <polygon>s). D3 also has transitions, but I think most of my needs could be handled with CSS transitions instead of D3's JS transitions.

[1] See [http://www.redblobgames.com/grids/hexagons/Grid.hx](http://www.redblobgames.com/grids/hexagons/Grid.hx) : hexagonalShape() [2] See [http://www.redblobgames.com/grids/hexagons/ui.js](http://www.redblobgames.com/grids/hexagons/ui.js) : makeLineDrawer()

</comment></comment><comment><USER10> 20 fun facts about hex grids: [http://gamasutra.com/blogs/HermanTulleken/20140912/225495/20...](http://gamasutra.com/blogs/HermanTulleken/20140912/225495/20_Fun_Grid_Facts_Hex_Grids.php)

</comment><comment><USER11> I've never seen hex described this way, but here's how I envision simplifying their logic in games:

a regular 2d array, but with every-other row logically offset by 50% of the cells width, thus you end up with:

      [  ][  ][  ][  ][  ]
        [  ][  ][  ][  ][  ]
      [  ][  ][  ][  ][  ]
        [  ][  ][  ][  ][  ]
      [  ][  ][  ][  ][  ]
        [  ][  ][  ][  ][  ]

super simple data structure (normal 2d array), and pathfinding isn't difficult (use hex algos). I wonder why nobody ever writes about this....

Edit: ahh, the article kind-of describes this in the "Offset coordinates" section, just no explicit mention of able to use an array for storage.

<comment><USER9> The offset approach is what most people do. I've used it too. It makes the storage simpler for rectangle shaped maps but the algorithms more complicated (and slower). I wrote this page to present the alternative coordinate systems. The symmetry of the cube system greatly simplifies many of the algorithms, so it's often easier to convert offset or axial to cube, run the algorithm, and then convert the answer back to offset or axial. The main downside of axial is that map storage in an array is a little more complicated; [http://www.redblobgames.com/grids/hexagons/#map- storage](http://www.redblobgames.com/grids/hexagons/#map-storage)

<comment> T-hawk Why are we storing in an array at all? Why keep that last vestige of rectangular representation?

How about storing the map directly in cubic coordinates? The storage structure would be a dictionary with a three-value tuple as the key. Iterating along any of the three axes is perfectly simple, and all directions work the same way. Algorithms like A* work directly on a list of neighboring hexes with no coordinate conversion required. Serialization to a savegame format or network communication would look like JSON with key-value pairs of the 3-tuple (key) to the tile data (value).

The advantage of the 2D array structure is only a bit of performance, that the coordinates of each tile are implicitly defined by the array indices. I'd venture to say that our modern languages and platforms don't need that optimization any more. We insert another layer of abstraction in decoupling the tile's coordinates away from its storage location in memory.

Put another way, the only conversion occurring is between the 3-tuple key and the physical location in memory, and that's abstracted away from us in whatever mechanism (hashtable or whatever) that the dictionary uses internally. Everything at the application level works directly with cubic coordinates. By getting rid of the 2D array storage, we get rid of the last remnants of anything rectangularly-related, with never any need at all to convert to the rectangular vestiges of axial or offset coordinates.

<comment><USER12> Have you actually tried implementing something like A*? The inner loop is very tight, and putting several easily avoided dictionary lookups in there is just silly.

Given how simple it is to write a solid abstraction that implements the coordinate-based lookup with an array storage, and given how much better such an implementation behaves in terms of instruction counts and memory layout (think cache locality), you'd be silly not to use an array.

<comment> T-hawk I understand the concerns, but the same "have you tried implementing" concern applies there too. This is premature optimization, until you do it both ways and profile it and see if the runtime difference matters. Cache locality is a thing, but so is prematurely guessing about cache locality.

Not everything using A* runs millions of pathfinding queries in tight loops. Maybe it's an offline turn-based game that runs A* once per move and saving 10 μs just won't ever matter as compared to the complexity cost of implementing and maintaining the extra abstraction.

<comment><USER12> While I appreciate your concern about premature optimization, having 2D arrays as fundamental data structures in this kind of thing is so common that it just seems bizarre that you even call it an optimization. The resulting code is just as simple and natural, after all.

Perhaps we need a countering meme about gratuitous de-optimization...

</comment></comment></comment></comment></comment></comment><comment><USER13> Wow. The interactive examples make for one of the most impressive tutorials I've ever come across. Great job, amitp!

</comment><comment><USER14> I would like to see a game on a Penrose tiling. Obviously you couldn't make it wrap though.

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

<comment><USER15> The lack of wrapping would be fine for something like Minecraft, where the world could be generated radially outwards from the starting point :)

</comment></comment><comment><USER16> That is an amazing resource and I used it when developing my hex game library for PixiJS.

[https://github.com/mark-harmon/HexPixiJs](https://github.com/mark- harmon/HexPixiJs)

<comment><USER17> I used it to to build the rule system for my game engine.

</comment></comment><comment><USER18> I've explored similar questions using a grid of equilateral triangles. Obviously they are very close in spirit. I wonder though, if the triangles are somehow more basic.

<comment><USER19> The triangular grid is dual to the hexagonal grid -- if you take a hexagonal grid, put a vertex in the center of each hexagonal tile, then form tile edges by connecting each vertex to its six neighboring vertices, you get a triangular grid. Doing the same operation to the triangular grid gives you the hex-grid back again.

<comment><USER5> It is maybe worth noting that triangles are 2D simplices, so for a non-flat mesh, triangles are a simpler solution. Hexagons won't always be flat. There's a literature of progressive mesh transmission that does fun things with mesh topology. Not sure if it's still a live topic but I remember a paper with nice illustrations from 2001: [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.5...](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.5034)

</comment></comment></comment><comment><USER20> I wonder what a non-cubic polyhedron-based voxel system would look like, without going all the way to marching cubes/tetrahedrons (where the cubes/tetrahedrons are only part of the algorithm that helps in rendering basically arbitrary voxels).

To wit: [http://mathworld.wolfram.com/Space- FillingPolyhedron.html](http://mathworld.wolfram.com/Space- FillingPolyhedron.html)

</comment><comment><USER21> If you want to get into grid programming, the MOAI framework has pretty good support, and the samples are pretty easy to grok: [https://github.com/moai/moai- dev/blob/develop/samples/grid-h...](https://github.com/moai/moai- dev/blob/develop/samples/grid-hex/main.lua)

</comment><comment><USER22> For anyone who hasn't read it, (and is interested ofc.) this website has one of the best explanations of A* I've ever read.

[http://www.redblobgames.com/pathfinding/a-star/introduction....](http://www.redblobgames.com/pathfinding/a-star/introduction.html)

</comment><comment><USER23> Wow, I've been trying to make a Settlers of Catan game for fun and the thing I struggle most with is the board algorithms. This a fantastic resource to help with that, thanks.

</comment><comment><USER24> Very comprehensive. Enjoyed the interactive examples.

</comment><comment><USER25> This is such a good resource!

</comment><comment><USER26> brilliant article!</comment>


Patch's new owner lays off staff in 1:39 conference call - <AUTHOR> https://soundcloud.com/jim-romenesko/sounds-from-wednesday-morning <comment><USER3> I had to lay quite a few people off in 2002 when the company I co-founded in '95 was acquired (post IPO) by another company who then tanked. I was the only founder/exec who stuck with the acquirer and I got the dubious pleasure of laying off everyone in our office before I was myself laid off by the roving HR manager.

One thing that I'm slightly proud of is that when I had to lay people off at least I did it myself to their face - quite a few thanked me for the time they'd had and some even wished it had turned out better for _me_ \- which was rather humbling.

<comment><USER4> Wait, did you know you were going to be laid off too?

<comment><USER5> I don't think so. As I understand it, they wished things had worked out better for him because he was a founder/exec and a bunch of layoffs means it's already going down the drain.

<comment><USER3> What happened was that post acquisition there were 3 or so rounds of lay offs each removing about 50% of staff until there was maybe a dozen of us left from the original acquired team. In an attempt to save the team we pitched a new product, which actually had customer interest, to the CEO of the acquirer and he promised he would think about it and come back with an answer.

On the day when we got the call from the CEO to tell us whether our proposal was good or not rather than it being myself and our Director of Engineering on our side of the call we had all twelve in the room (although the guys on the other side of the call had no idea).

We were told it wasn't going to happen, so everyone knew at that point what was going to happen next. I seem to remember something like laying most of the remaining people off, going to see the HR manager - finding out that my severance package wasn't going to be what I thought it was and I could take a cheque there and then or fight it in court.

By that point I was so tired of the whole thing I took the cheque without a fight and moved on....

[NB I was involved in actually doing a substantial portion of the lay offs in each phase - after a while people really did _not_ want to have 1 on 1 meetings with me].

<comment><USER6> I think in your situation I would have made HR do their own dirty work.

</comment></comment></comment></comment></comment><comment><USER7> This kind of behavior (promoted by HR/Legal) needs to stop. Period.

It is not about firing people by conference, phone or whatever. It is about the thanklessness and the attitude that sucks. Does it really hurt to genuinely feel and say "sorry we cannot keep you any longer. Hope you understand". No one is going to sit and whine about being laid-off but the manner of layoffs (in america at least) is getting shameful, appalling and disgusting.

However, not shocking at all. Companies have too become risk/lawsuit averse when it comes to firing/lay-offs that they all have scripted things to say because they don't want to risk a potential lawsuit. My friend was laid-off by my ex-boss (I referred him and left). I know that my ex-boss was a really nice guy who would at least apologize. During the lay-off, all my friend got was "Your position has been eliminated. Please do not use any company device and leave immediately. We will ship your stuff to you". He was even told not to talk to any co-worker while leaving. Poor guy was so heartbroken that he could not even say bye to people he worked with. You know what he was not sad about ? Finding another job.

May be I am overreacting but this is when Capitalism starts to bite. I am all in for profits, competitions, fierce business but if I _ever_ have to layoff someone specially for no fault of theirs, you bet I will say sorry in person.It may not mean much but it is called "being human".

<comment><USER8> Its not Capitalism, its Lawyerism. The sad fact that you can get sued for being something other than a robot is horrible. The HR / Lawyer part of our economy is one heck of an anchor compared to the legitimate wrongful termination and employment discrimination.

<comment><USER9> What's crazy is that the US is an "at will" employment law. Which means you can get fired (or quit) for any trivial reason at all what so ever (the meaning of 'at will'). The only people with legal recourse are protected classes (ie, minorities). But it would be both improbable and abusive if mass- lafoffs were only legal fodder in this context. Who the heck else is suing and for what? Or is it just the threat of lawsuits (bad pr) and no-fee lawyers (1/3 ransom) that facilitates this as some sort of "greenmail"? What an odd system!

<comment><USER8> > What's crazy is that the US is an "at will" employment law.

I live in an "at will" state and it hasn't been a problem. I believe in freedom of association.

<comment><USER10> The crazy part is that it's virtually impossible to successfully sue for wrongful termination, but companies still go to extreme lengths to cover their asses.

<comment><USER11> I can see going to heavy lengths at certain company sizes, like Wal-Mart. A flaw in your HR policy at that scale can escalate to a class action or large case that district attorneys lust after. Wal-Mart, for instance, has paid out hundreds of millions in legal suits stemming from HR practices in the last decade alone.

</comment></comment></comment></comment></comment></comment><comment><USER12> I had a recruiter send me an email exactly 5 months ago today claiming "I've placed ten folks with AOL in the past year, and Patch is the most profitable and exciting division especially for the engineers."

First time I've ever had to respond to a recruiter to tell them they were full of shit.

[http://www.forbes.com/sites/jeffbercovici/2013/08/09/layoffs...](http://www.forbes.com/sites/jeffbercovici/2013/08/09/layoffs- begin-as-aol-looks-to-close-or-sell-400-patch-sites/)

<comment><USER13> Well, I guess you could call this exciting.

<comment><USER14> Potentially profitable too, if you're a recruiter looking for job candidates...

</comment></comment></comment><comment><USER15> Wow. That was incredible. The monotonous way in which the message was delivered, the complete lack of emotion and empathy, is appalling. Notice she did not apologize nor express any condolences beyond declaring the new unemployed state of those people to be "unfortunate." Without knowing much about the situation (I only listened to the recording), and leaving myself wide open to be corrected by someone with more insight into the background, I believe the word _cowardice_ would be a pretty good description of what's going on here.

<comment><USER16> I heard it as coldly professional. What, do you think they'd want a hug? I object to your use of "appalling".

[http://www.youtube.com/watch?v=Bo7zkd0kRS4](http://www.youtube.com/watch?v=Bo7zkd0kRS4)

<comment><USER7> Why do professional and being nice have to be mutually exclusive ? Why do we have to be "coldly professional" and not "morally/humanly professional" ? No one is complaining about layoffs here. What is being complained about is the _way_ companies are treating their employees. I don't expect a handout or a hug and can find my own work if I get fired. But if you fire me the way these guys did, you will surely never be on my list of good people. May be that does not matter to some.

<comment><USER17> professional = I want to eat you

nice = I want to help you

professional + nice = I want to eat you and help you?

Now that doesn't work at all.

<comment><USER7> An analogy like that can be used in many ways. Here is my version:

professional = I have to eat you (not want)

nice = I am sorry (being nice is not only about helping)

professional + nice = I have to eat you and I am sorry.

<comment><USER18> I am sorry but I have to eat you.

?

<comment><USER19> I drank your milkshake, ha ha ha.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> The next one is a gem too:

~1:55 in: "Abel, put that camera down right now. Abel, you're fired, out."

[https://soundcloud.com/jim-romenesko/aol-ceo-tim- armstrong-8...](https://soundcloud.com/jim-romenesko/aol-ceo-tim- armstrong-8-9-2013)

<comment><USER21> I like how just 30 seconds prior, he mentions somewhat off-handedly that he doesn't care if anyone leaks anything to the press.

<comment><USER22> I noticed that too, I guess he does care.

</comment></comment></comment><comment><USER23> In addition to the "firing people by conference call is a douche move", her voice is an excellent argument against hiring any non-Australian with the high rising terminal mode of speech.

<comment><USER24> I would say "American" (edit- instead of "non-Australian"). It's pretty common in other English dialects. There's a great series called "The Story of Film" which is narrated by an Irish guy who uses rising inflection on nearly every sentence. It's difficult for me to get used to but I wouldn't give anyone a hard time about it.

edit2 - fixed title. [https://en.wikipedia.org/wiki/The_Story_of_Film:_An_Odyssey](https://en.wikipedia.org/wiki/The_Story_of_Film:_An_Odyssey) It's available on Netflix

<comment><USER25> The irish and welsh accents have always been like that. The welsh accent in particular modulates in pitch strongly throughout sentences, going up at the end is just part of it.

There's a thing where it plunges right down in pitch and timbre at the end too, for a different kind of emphasis. I love welsh voices.

<comment><USER26> I just heard great nana Parry telling me off when I read that (Nana spoke Welsh and a few words of English). If she was alive now, she would be about 140. Thanks.

Reporters. Local. Might not be so easy for them to find jobs. But hopefully _new media_ skills will help.

</comment></comment></comment></comment><comment><USER27> I don't think it's that bad. It was formal and distant, but not insulting. It's more insulting when someone _pretends_ they are sorry, but actually aren't. If she's not actually sorry, and there are perfectly valid reasons not to be, then it actually shows more spine to just say it like it is.

Actions speak louder than words, and we don't know what the "separation packages" are. They could actually be good, for all you know.

We don't have the context on what it was like working there. Some places/professions are more "mercenary" than others. In Silicon Valley people are used to "company culture" and "team building", but not all companies need that.

</comment><comment><USER28> I didn't hear of Patch until today. This seems like a private call between employees and someone responsible for HR. Why is this news? Is Patch a big name?

<comment><USER29> In spite of the fact that some group of people lost their jobs, the audio track is kind of funny in the sense that this real HR department sounds like a parody of what tech people think of HR departments.

<comment><USER30> I don't know. I got laid off 18 months ago. HR did it to my face (bringing in a small group of people at a time). It sounded almost identical to this, tone and everything. More realistic than parody.

<comment><USER5> No matter what they say, you're still losing your job and it's going to sting. I think the message was pretty reasonable, it just sucks that they did it by phone.

</comment></comment></comment></comment><comment><USER31> I don't see anything wrong with this. It conveyed all the information you'd probably need to know right away. It was direct.

From my experience the worst thing you can do is empathize and apologize. Just break the news, and move forward.

It's a business.

</comment><comment><USER32> The fact that it was over the phone is a legitimate insult.

The fact that it was 100 seconds long is a mercy.

<comment><USER33> Honest question, why is a phone firing such an insult? I may need some sensitivity training, but putting myself in the shoes of the person being fired I think I'd probably prefer phone. Maybe someone can help me see the other point of view more clearly.

<comment><USER32> As smackfu says, it is not always possible to do a layoff or firing in person, especially in this case. I still think they should have been done in one-on- one phone calls at a minimum.

But people have a spectrum of reactions to being fired, and I think being able to address their immediate concerns one-on-one is important. They may have done it this way in the name of efficiency, but some times it is better to just take the hit and do things the old fashioned way. Nobody is happy about being laid off, but six months from now both employer and ex-employee will feel better about it than the impersonal conference call.

</comment></comment></comment><comment><USER34> Laying people off is never easy. I'm sure many people will poopoo this call but this is a clean and a clear message.

<comment><USER35> Except it wasn't delivered face to face, which in my mind is worth 'poopooing'... and my goodness, the monotone voice...

<comment><USER36> Sounds like something I'd expect to hear in Aperture Science (seconds before the floor gets flooded with neurotoxin), not in a company staffed by human beings. Poopoo well deserved, IMO.

</comment></comment></comment><comment><USER37> It seems pretty harsh to do it this way, but from the sounds of things these were pretty sweeping layoffs ("hundreds" is what's being said). Doing it on a personal level probably wasn't even remotely viable, even just in terms of time.

<comment><USER38> If you have hundreds of employees who can find the time time to work for you day-in and day-out, every week, you can find the time to let them go in person.

<comment><USER39> >who can find the time time to work for you day-in and day-out, every week

It's not like they do it out of good will. They get paid for it. That said, I agree that it should be done face-to-face.

</comment></comment></comment><comment><USER40> I bet this woman was really upset that she had to layoff that many people at once (she probably lived in another state so she couldn't do it in person). I imagine that's the reason she said it like she was ripping off a bandaid.

</comment><comment><USER41> "Hello, and welcome to AOL Moviefone. To be acquired and laid off, please press 1."

</comment><comment><USER42> This would be funny if it wasn't so infuriating. I tried to listen to it but I cringe too easily so I'm waiting for a transcript. Based on the first few sentences of the call, here's how I expect the rest of the speech to go:

 _"...you no longer have a role in the company. And by role I meant job. You no longer have a job. Unless you had another job, in which case you still have at least one. Point is, you're fired. From this company. It's Patch calling by the way."_

</comment><comment><USER43> Could any of you transcript the call? My english is not good enough for <48kbps transmissions.

<comment><USER44> "Hi Everyone, it's (HR person). Patch is being restructed, in conjunction with the creation of a joint structure with Hale Global. Hale Global has decided which Patch employees will receive an offer of employment to move forward in accordance with their vision for Patch, and which will not. Unfortunately, your role has been eliminated and you will no longer have a role at Patch, and today will be your last day of employment with the company."

The rest is just general termination junk like turning in laptops and turning off email.

</comment></comment><comment><USER45> Love it. A great HR-scripted call.

<comment><USER46> They should have used text 2 voice software.

That would have made it seam a bit more personalized.

<comment><USER47> Agreed, I would have preferred:

$ say -v "Bad News" "Unfortunately your role has been eliminated and you will no longer have a role at patch. Today will be your last day of employment with the company"

<comment><USER45> That's what happens when lawyers and HR people get involved. Can't get sued, so read the script...

</comment></comment></comment></comment><comment><USER48> Up in the air anyone? :)) [http://www.imdb.com/title/tt1193138/](http://www.imdb.com/title/tt1193138/)

<comment><USER49> I was thinking of Company Men, another great movie.

</comment></comment><comment><USER50> What is Patch?

<comment><USER51> Site that the CEO of AOL founded before joining AOL. Then bought once hired at AOL and poured millions into before being forced to cutback/sell to keep his AOL job.

<comment><USER52> Tim Armstrong is the current CEO of AOL and former senior Google Executive. He is reputed to have been the driving force behind the success of Google's Ad Words business.

He seemed to become less effective at Google as his responsibilities expanded and moved on to AOL.

Patch was his big play to make AOL relevant again and has proved to be a complete economic failure.

Highlights an unfortunate reality of the Silicon Valley that past success can sometimes just mean a longer rope to hang yourself with.

The reality is that running AOL is thankless job.

</comment></comment></comment><comment><USER53> Soulless and robotic, to be sure. And eerily so.

But what else should we expect from the owners of a news portal that was, from the outset, itself nothing other than soulless and robotic, to its very core -- and whose passing almost no one is likely to mourn?

("No one", that is, except of course those who've recently found out they "no longer have a role with Patch", along with their unlucky dependents).

</comment><comment><USER54> This made me sick to my stomach and I don't even work there.

"Hey you're fired tomorrow, thanks for your work!"

</comment><comment> mkr-hn I stopped using the local Patch when they broke the commenting system. I don't know what broke, I just can't comment, and no one else does either. The comments were the best part.

A lot of the bad news out of Patch seems to have started around the same time.

</comment><comment><USER55> I've never heard of Patch. It's unfortunate that I had to learn of them this way, because the premise seems useful. I don't think I would participate now based on these bad vibes.

</comment><comment><USER56> To do it via a conference call? What a piss poor leader and dick move.

<comment><USER57> I'm assuming this was a call with all the remote staff that edit the individual sites and live in the communities that the sites cover.

I don't think they were going to fly them all into a central location to fire them.

<comment><USER58> For a small company, I wonder how much that would add to the wind-down costs. Fly everyone to Las Vegas for a company offsite/conference, announce the firing at the 10am meeting, give everyone $X00 in extra termination pay up front and tell them to hit the slots.

If you're already planning to spend $5-20k per employee for X weeks severance, an extra $1-2k per employee for the offsite firing might only increase your wind-down costs by 10%.

<comment><USER59> Wow, good one, I've never seen as evil an idea as this.

</comment></comment></comment></comment><comment><USER60> OUCH! That hurt me and I don't even work there. That was as cold as a block of ice, but I'm sure workers at Patch had to see this one coming after the last fiasco.

</comment><comment><USER61> How many people are working at Patch? Sounds like an internet startup with less than 30?

<comment><USER44> They had 1100 people in August 2013, at which point they laid off 500.

</comment></comment><comment><USER62> I'm guessing they were not covered by the WARN Act.

</comment><comment><USER63> Patch was kinda rocking at first for me - especially when I was over in Broooklyn. It was showing up in my feeds or when i went searching for stories in some states.

Then AOL got them and suddenly I saw no posts from The Patch on my feeds - <USER2> like all of 2013.

What happened?

<comment><USER64> Sounds like AOL happened. As far as I can tell, they've never been all that comfortable with this new-fangled "inter-web" nonsense.

</comment></comment><comment><USER65> I think I would be literally incapable of saying those words in that way under any circumstances. I know that everybody is different. Things like this just make me really, really curious what it would be like to be inside the mind of someone capable of speaking like this, seriously.</comment>


Happy 20th birthday, Linux - <AUTHOR> http://www.itworld.com/it-managementstrategy/197157/small-poll-my-new-operating-system

<comment><USER3> It has been a fun ride!

I started using Linux in 1994 when I was twelve with Slackware Linux. I remember having long fights with my younger brother about how to divide a 40MB hard disk between Linux and MS-DOS (for games).

It is important to remember how Linux and the BSDs made it possible for a whole generation of tech enthusiasts to educate themselves. At that age, I could not afford to buy a compiler or books as means of getting sample source code. Linux and BSD gave us free compilers, source code from the masters' hands to study, and generally a fun system to tinker with. I can not image being where I am now without that ecosystem.

I hope that future generations will be as fortunate to have these possibilities.

<comment><USER4> At 12 years old, how did you end up finding out about it so early?

<comment><USER5> We did have the Internet and dial ups back then you know...

...back when usenet and gopher were king and you could telnet places still...

...and spam was about new Sun Sparc equipment.

Wish I could get back my SS2 with Wietek CPU and 2x 200Mb disks running SunOS4 :)

<comment><USER3> Most people in the Netherlands didn't, where the then telco state monopoly charged 25 guilder cents per minute for calls.

<comment><USER5> Ouch that is really expensive. Was approx 1/8 of that in the UK at the same time with our state monopoly (BT)

</comment></comment></comment></comment></comment><comment><USER6> I got my first taste of Linux in the late 90's. That taste? RedHat and Debian. I was, oh about, 8..9 or so.

I initially played with linux only as a luzer -- I would go up to a friend's place for parties but more accurately to sit in the "commanders seat' -- In a ring of 3..4 monitors. Being a kid, I was enthralled. The friend? Hugh Daniel of the FreeSWAN project (Thanks for the keyfobs, Hugh.)

Then I got a copy of RedHat 6. I used it with an old dilapidated win95 box we had after a move. During the move, we had gotten new laptops, so this one I took over as the nerd child.

I found Mandrake. I dont remember what version -- It was around 2002 or so. It had instructions for dual-booting Windows XP in the manual.

I played with linux until I actually didn't have a choice: I had a machine I couldn't run Windows on at all. I was using Ubuntu 6.06 LTS and the machine was an Alienware computer that wouldn't boot windows right. It had a bad IRQ line from a car crash being pulled low.

Since then I've used Arch, DamnSmall, Debian, Ubuntu, Suse/OpenSUSE and even TInyCore. I've done kernel rebuilds and written countless lines of shell. I've run Linux on Dingoo`s, Zaurii, even SBCs. I've worked with printers that run BSD on the inside (NetBSD) and on servers with hundreds of gigabytes of space. I have done things that Windows would cry over. I have mastered my world's machines with Linux, as well as its friends.

Cheers, Linus.

</comment><comment><USER7> Looking back at Linus' original email, I find it interesting that there's a "Summary" header in addition to "Subject:"

      > Subject: What would you like to see most in minix?
      > Summary: small poll for my new operating system

RFC 5322 [1] doesn't have anything to say about a summary header, so maybe it was an invention of Linus'.

[1] <http://tools.ietf.org/html/rfc5322#section-3.6>

</comment><comment><USER8> Is Linux a repeatable phenomenon? Is there a college student _today_ whose hobby OS can snowball into such a dominant technology? If Linux started in 2011, I wonder what design decisions would have Linus made differently.

The Innovator's Dilemma suggests that a disruptive technology replace a dominant standard by working bottom-up: specialize in a corner of the market that is too small or unprofitable to be of interest to the dominant player, then add "cheap but good enough" features.

The economics of Linux might bend some of the Innovator's Dilemma assumptions, but it does seem like Linux is losing its focus as it tries to support servers and desktops and embedded devices. Perhaps a smaller, less capable kernel could capture some super-low-end devices (like cheap mobile devices or home automation).

<comment><USER9> I guess Linux will be hard to repeat, exactly because it is so successful. There's simply no similar itch left to scratch for hobbyists. There are still people writing general operating system kernels from scratch, but they are not driven by the lack of a decent free general operating system.

Linux lacks in real-time features. That could be an angle to get in a new operating systems.

There's a saying that Unix stopped serious research into operating systems. Whenever somebody writes a new system nowadays, one of the first things they port is the Unix infrastructure.

</comment></comment><comment><USER10> My first memory of Linux was when I was about 12. My 486 wasn't fast enough to play MP3s in Windows. Previously, if I wanted to listen to a song, I would convert it to a WAV on our family Pentium 75, split it into 1.4MB chunks and copy it via ~15 floppy disks onto my PC.

I installed RedHat 5 (from a PC mag CD). RedHat came with a commandline MP3 player (called mpg123) that would decode and play MP3s on my 486. This meant it only took 2 or 3 floppy disks to copy a MP3 I'd downloaded from our family PC's 14.4kb/s net connection.

Today, my phone runs Linux (Maemo), my work PC runs Linux (Ubuntu), my laptop & our TV run Linux (Ubuntu), our router & NAS run Linux (some kind of Debian). Our next car is likely to run Linux and so might our fridge. Thanks Linus!

</comment><comment><USER11> The kernel is literally a day older than I am, and I use it every day. I wish I'd accomplished nearly as much as it had.

<comment><USER12> Start hacking on the kernel, maybe you will :).

</comment></comment><comment><USER13> Today, we are celebrating 20 years of Linux, listening to the kernel : <http://www.linux.fm>

</comment><comment><USER14> woohoo! Linux! A couple of years back,when I was still in School, I was so darn scared to even touch linux. The reason being, I used to write "Hello World" type of programs and I'd be so so restless if I was asked to work on anything other than windows Turbo C++ . I now know how much power - <USER2> computing gives.. Linux, Happy Birthday, its all cuz of you :)

</comment><comment> saw-lau I thought this quote was interesting: 'helped keep Linux together and defy the trend for forking and fractionalization' when compared with images like this regarding the numerous distributions:

[http://files.cyberciti.biz/uploads/tips/2007/06/44218-linuxd...](http://files.cyberciti.biz/uploads/tips/2007/06/44218-linuxdistrotimeline-7.2.png)

DISCLAIMER: I've never used Linux, partly because of the above ('which one should I pick?'). Also, I'm not trolling here, but would welcome the opportunity to understand why (to a newcomer at least) there seem to be so many variations to choose from.

<comment><USER3> It is not that much of a problem, since 95% of the people probably use one of the top-5 distributions. If we go by Distrowatch's popularity, those are Ubuntu, Mint, Fedora, Debian, and openSUSE. Two those are derived directly or indirectly from Debian (Ubuntu and Mint). So, three of the five are virtually the same, except that Ubuntu and Mint are more focused on user-friendliness.

The more serious problem is the immense amount of resources that are wasted on developing multiple desktops, photo editors, photo managers, music players, chat clients, etc.

Some people will say that competition is good, but if you have that tiny market share, I think it would be better to focus on the overall experience.

<comment><USER15> > if you have that tiny market share, I think it would be better to focus on > the overall experience.

If there is _one_ lesson to be taken from the Apple saga that would be the one I'd pick.

</comment></comment></comment><comment><USER16> While I have only discovered the awesomeness that is GNU/Linux approximately a year ago, I feel at home like it's been forever.

Happy birthday, Linux, and cheers to the best kernel in the world!

</comment><comment><USER17> Heh. I remember using the Linux Kernel 0.99pl13.

I was working at DEC then and I remember writing a batch job that would download the the SLS (and later Slackware) distribution floppy images and store them on one of our VAX machines, so that I could copy them onto floppies the next day in order to take them home.

Ah fun times.

</comment><comment><USER18> _waiting for them to say Happy Birthday GNU..._

</comment><comment><USER19> Didn't realize it has been 20 years already :/

</comment><comment><USER5> Now I feel old. I've used Debian since 1.2.

<comment><USER20> Same here, and i remember having to compile the kernel to version 1.3 so i could use the special driver my cdrom used because the controller was propietary , well the "standard" those days for cdrom were or SCSI or the soundblaster cdrom controller.

<comment><USER5> Ha I remember them. Horrid things slapped on the end of the card. Sort of worked.</comment></comment></comment>


Inside Alabama's Auto Jobs Boom: Cheap Wages, Little Training, Crushed Limbs - <AUTHOR> https://www.bloomberg.com/news/features/2017-03-23/inside-alabama-s-auto-jobs-boom-cheap-wages-little-training-crushed-limbs <comment><AUTHOR> That's also what comes with "bring back our (cheap industrial) jobs"</comment>


A/B testing on ecommerce site finds left navigation improves conversions - <AUTHOR> http://visualwebsiteoptimizer.com/split-testing-blog/usability-left-navigation-menu-bar-conversions-ecommerce-website/

<comment><USER2> They don't give a clear explanation of why this is though. Do users typically look at the left side?

<comment><AUTHOR> Yes, left to right F shaped scanning is pretty well documented. <http://www.useit.com/alertbox/reading_pattern.html></comment></comment>


Original Thinkers Can Be More Dishonest [pdf] (2011) - <AUTHOR> https://www.apa.org/pubs/journals/releases/psp-102-3-445.pdf <comment><USER2> This paper uses the Gough Creativity Scale to measure creativity in participants.

The Gough Creativity Scale asks people to check the adjectives that apply to them.

If you check "Honest" that is -1 for your creativity rating.

These results are built into the pre-assumptions of the self-assessment metric the study used for a creative rating.

Therefore the study uses circular reasoning and is invalid.

<comment><USER3> That's a bias, but it's not sufficient to guarantee that the highest "creativity" scores show a lower prevalence of self-reported honesty than the lower scores. It could easily be the other way around.

If I measured creativity in a group of test subjects using the Gough Creativity Scale and found that, e.g., the people in the top 10% of measured creativity were Honest at double the rate of the bottom 90%, would that finding be invalid because of the design of the Gough Creativity Scale?

</comment></comment><comment><USER4> #1. "Evil Genius? How Dishonesty Can Lead to Greater Creativity"

Psychological Science published online 18 February 2014

 _" Abstract: We propose that dishonest and creative behavior have something in common: They both involve breaking rules. Because of this shared feature, creativity may lead to dishonesty (as shown in prior work), and dishonesty may lead to creativity (the hypothesis we tested in this research). In five experiments, participants had the opportunity to behave dishonestly by overreporting their performance on various tasks. They then completed one or more tasks designed to measure creativity. Those who cheated were subsequently more creative than noncheaters, even when we accounted for individual differences in their creative ability (Experiment 1). Using random assignment, we confirmed that acting dishonestly leads to greater creativity in subsequent tasks (Experiments 2 and 3). The link between dishonesty and creativity is explained by a heightened feeling of being unconstrained by rules, as indicated by both mediation (Experiment 4) and moderation (Experiment 5)"_

[https://msbfile03.usc.edu/digitalmeasures/wiltermu/intellcon...](https://msbfile03.usc.edu/digitalmeasures/wiltermu/intellcont/Evil%20Genius-1.pdf) ( pdf )

\---

#2. "Computational Evidence that Self-regulation of Creativity is Good for Society" 11 Aug 2014

[http://arxiv.org/pdf/1408.2512.pdf](http://arxiv.org/pdf/1408.2512.pdf) ( pdf )

</comment><comment><USER5> My anecdotal experience:

In games with "choice" and "morals" (Fable, Black and White, The Sims) I often chose evil. Evil choices attracted me more. From this study, I'm thinking they might be more creative. I call myself a "programmer" and think myself a "creative," not a "software engineer."

By contrast, my dad and some of my friends went for the good guys in video games, and they don't call themselves creatives.

Just anecdote. Still this study offers an explanation for something that's bugged me for years: how am I attracted to evil choices in video games?

</comment><comment><USER6> I have in fact noticed that most of my friends are more honest than me. Everybody seems generally more candid, more honorable, more trustworthy than myself.

So I can see the day coming where I'm gonna have to face the facts and admit I'm a big phony.

</comment><comment><USER7> Correlation is not causation.

<comment><USER8> true. but either way this is an interesting correlation. No one said it implied causation.

</comment></comment><comment><USER9> I take that as a compliment.</comment>


Creating a smart alternative to 'CD' command - <AUTHOR> https://bhupesh-v.github.io/creating-a-smart-alternative-to-cd/ <comment><USER2> CD on windows concatenates space separated name parts with spaces to make names with spaces. So you can frequently CD to a filename with spaces without messing around with quotes.

Since CD only takes on argument there is no reason why a shell like bash couldn't support that too.</comment>


Apple health team faces departures as tensions rise over differing visions - <AUTHOR> https://www.cnbc.com/2019/08/20/apple-health-employee-departures-show-split-over-ambitions.html <comment><USER2> > CEO Tim Cook saying that he hopes it will someday be Apple's "greatest > contribution to mankind."

Well, almost. Healthcare may be mankind's greatest contribution to Apple.</comment>


Rash of in-the-wild attacks permanently destroys poorly secured IoT devices - <AUTHOR> https://arstechnica.com/security/2017/04/rash-of-in-the-wild-attacks-permanently-destroys-poorly-secured-iot-devices/ <comment><AUTHOR> I wonder, does doing something like this for the greater good make it the right choice in the long term? Creating a bot that enforces good security by bricking your devices would be a really bad experience for the users affected now, but if it finally gets these IoT companies to be serious about security it might be the right move in the long term.

That said, I'd imagine this is still very much illegal, and am not saying I'd advocate anyone writing bots like this.

<comment><USER2> In the short-term it might even drive sales of devices to replace previously- bricked ones.

<comment><AUTHOR> I'm not sure that's true. Class action lawsuits will probably crop up pretty quickly, with people making warranty demands. I think it'll be a net negative for anyone who is liable for these devices and their security.

</comment></comment></comment><comment><USER3> I would rather this happen now, peicemeal, so vendors can respond, than 5 years later as part of a coordinated attack. State sponsored actors are on the rise, and industrial IoT has always been a juicy unsecured target.

</comment><comment><USER4> This might not be a popular opinion -- or the "right" one -- but, personally, I'm glad to see this happening (and I hope it happens more) if it has the effect of getting folks to pay attention and address the underlying problem.

<comment><USER5> Turns out, that _is_ the popular opinion 'round these parts.

</comment></comment><comment><USER6> I'm surprisingly okay with this. We all know the IoT hype has given rise to many, many incredibly insecure, often non-GPL compliant slapped together Linux SoC's hooked up to whatever IO a regular appliance could have. The manufacturers and developers have not given any consideration for real security because they haven't had a reason to yet. Sure, every other week a security researcher pwns another device and leaves a random manufacturer I've never heard of with egg on its face but unfortunately that doesn't seem to stop the global trend. This might.

I wonder if anything similar has happened before.

</comment><comment><USER7> I agree with the Radware researcher. This seemed to be a preventative measure against devices that would not get fixed, as Schneier's articles have been suggesting.

And in my head I see the equivalent of XKCD's Devotion to Duty comic: [https://xkcd.com/705/](https://xkcd.com/705/) \- Maybe someone is taking it upon themselves to solve the perceived problem, for better or for worse (potentially far worse).

</comment><comment><USER8> oh no. stop. ...said no one.</comment>


Remove PG_ZERO and zeroidle (page-zeroing) entirely - <AUTHOR> http://lists.dragonflybsd.org/pipermail/commits/2016-August/624202.html <comment><USER2> When a program needs memory, the operating system maps a physical page of memory (4KB in most cases) into its virtual memory space.

That page might have been in use by a different program only moments before, so the new program could go poking around in it to find interesting stuff. Like SSH keys or passwords or whatever. So the operating system has a responsibility to tidy up pre-loved pages before giving them out.

Once upon a time, filling 4KB with zeroes was a costly operation. It took a bunch of CPU cycles, and worse, would have trashed memory caches closer to the CPU.

So operating systems tend to have queues of discarded pages, background threads to zero them (when nothing more important is happening), and queues of zeroed pages to hand out when a program wants more memory.

This change is DragonFly BSD saying, "Fuck it, we'll do it live". It turns out that with the speed of modern CPUs and the way memory caches work today, they reckon it's faster to just zero the memory synchronously, when the program requests it. No more queues, no more background work, no more weird cache behaviour.

<comment><USER3> > Once upon a time, filling 4KB with zeroes was a costly operation. It took a > bunch of CPU cycles, and worse, would have trashed memory caches closer to > the CPU.

Even Intel 486 can do that in 50 microseconds. _Without cache_. Probably in a few microseconds assuming L1 cache. So I wonder if the assumption has ever been true.

<comment><USER4> > So I wonder if the assumption has ever been true.

This fear went back to the PDP-11 in Unix and even predates Unix. It was true even when disks were really really slow, as CPUs had small or no cache and lacked multiple functional units, much less hardware multithreading. A big PDP-10 mainframe might still have been .7 VAX MIPS -- the first one I programmed's only "high speed" memory was its DTL registers -- core was literally core memory.

You can get a feel for what a big deal this was in the fact that it felt radical and expensive for Stroustrup to decide that all new objects would be zeroed. Or you can see in the original posting that there was special memory handling support for special devices -- finally eliminated by this patch!

<comment><USER3> > You can get a feel for what a big deal this was in the fact that it felt > radical and expensive for Stroustrup to decide that all new objects would be > zeroed. Or you can see in the original posting that there was special memory > handling support for special devices -- finally eliminated by this patch!

That's a pretty different issue. Zeroing freshly allocated memory in usermode causes all pages to become committed. Actual zeroing won't take much time, but getting all those pages physically mapped... that's another issue. On memory pressure, that can take arbitrarily long time.

<comment><USER5> I think that your concern is valid, something that a lot of people aren't aware of, but it probably doesn't really apply in a lot of cases most people deal with. Unless your dealing with entities that take up a page or more, then chances are the rest of the page is being used by something else. If you write to anything in the page, then the entire page has to be committed, and if the page is reused by the allocator then it is also probably already committed. So the chances you can avoid commuting memory for small objects seems likely, and it probably not really worth worrying about.

Now, if you're instead allocating large objects, or allocating a large array at one time, then in theory the allocator would get some fresh memory for that large entity (Assuming no piece of memory exists that can fit it). It should be smart enough to know that the OS will give back zeroed memory and avoid zeroing it a second time, so those pages don't have to be committed right away.

All that said, if such a thing is actually a worry then you should probably skip the default allocator move to an interface like `mmap()` anyway, which can provide pages of memory that you can be sure are untouched and read as zeros.

<comment><USER4> That's right; my point was that the time to zero memory was considered significant overhead regardless of where it occurred.

> I think that your concern is valid, something that a lot of people aren't > aware of, but it probably doesn't really apply in a lot of cases most people > deal with. Unless your dealing with entities that take up a page or more, > then chances are the rest of the page is being used by something else.

vardump's objection addresses VM pressure, to which you respond. But zeroing objects on allocation is likely to have negative implications on the cache, slightly mitigated only in the case where you immediately initialize nonzero values. RAII can in theory alleviate some of that but I am unaware of any compiler that does this.

> All that said, if such a thing [large objects] is actually a worry then you > should probably skip the default allocator move to an interface like > `mmap()` anyway, which can provide pages of memory that you can be sure are > untouched and read as zeros.

... zeroed by the mechanism of this patch!

</comment></comment></comment></comment></comment></comment><comment><USER6> DragonFlyBSD is slowly but steadily becoming more attractive as a Linux/FreeBSD alternative. 4.6 has good support for various newer Intel GPUs, hammer is stable and the SMP and Networking performance is stellar.

I had a 2.8TB backup archive that I have repeatedly tried to dedup with ZFS and the realtime while-you-are-writing architecture of ZFS dedup just kills the performance so badly that I have never actually succeeded going over the full dataset. Past week I made a 4.6-rc2 based DragonFly VM, attached a 3TB disk with RDM, formatted it with HAMMER, started rsync of the backed up data and ran hammer dedup every 30 min - I am now at 1.9TB used after the whole thing was done and a final dedup ran - no noticeable speed drops and I got around 900GB back!

<comment><USER7> Did you try something like bup? (Of course, depending on your use case, that might not work out so well.)

Not that I have anything but respect for DFBSD, but I'd have suggested trying a userland archiving tool with dedup before spinning up a VM + FS in it.

<comment><USER6> Yeah I did try it on btrfs IIRC - but it's far too complicated (as opposed to hammer dedup where everything is included and it just works) and doesn't cater to my use case too well - I have multiple machines backing files up to a SMB share with lot of potential for duplicate data. I also need to be able to access those backed up files back over SMB. Just making a HAMMER mount point, running dedup on it via cron job at night and exporting it via Samba does everything I need.

<comment><USER7> Yeah, that's much nicer for your use case than bup.

(I should point out that Windows apparently has similar after-the-fact dedup capabilities on NTFS in Server 2012/R2 and up [1], though I suspect you'll find DFBSD much easier to run with low overhead in a VM.)

[1] - [https://msdn.microsoft.com/en- us/library/hh769303%28v=vs.85%...](https://msdn.microsoft.com/en- us/library/hh769303%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396)

<comment><USER6> It's not present in the R2 essentials sku though - so cost is also a major factor.

</comment></comment></comment></comment></comment><comment><USER3> The main takeaway from this:

          - Pre-zeroing a page only takes 80ns on a modern cpu.  vm_fault overhead
            in general is ~at least 1 microscond.

          - Multiple synth and build tests show that active idle-time zeroing of
            pages actually reduces performance somewhat and incidental allocations
            of already-zerod pages (from page-table tear-downs) do not affect
            performance in any meaningful way.

Not surprising. I've seen so much code with comments explaining how expensive copying or zeroing memory is (but not actually measuring it), that that's why "zero-copy" techniques are used. Ending up doing so much work (spending even microseconds) to "save" the cost that turns out to be 100 ns or less.

</comment><comment><USER8> Fear of zeroing is related to fear of copying. One of the big arguments against message-passing systems is that there's extra copying. But today, copying is usually cheap, especially if the data was just created and is in cache. On the other hand, futzing with the MMU to avoid copying usually results in lots of cache flushes and is a lose unless you're remapping a huge memory area.

This is a total reversal from the situation back when, for example, Mach was designed. Or, for that matter, Linux. It makes message passing microkernels faster than they were back then.

It helps to do copying right. If a user process does something that causes the operating system to copy user-created data, the copy should take place on the same CPU, where the cache is current. These sorts of issues are why message passing and CPU dispatching have to be integrated to get good performance from a microkernel.

</comment><comment><USER9> I always love net-negative commits.

<comment><USER10> So zen

<comment><USER9> The best code is no code!

Related, one of my favorite programming stories: the 0-byte program [http://peetm.com/blog/?p=55](http://peetm.com/blog/?p=55)

</comment></comment></comment><comment><USER11> I wonder if this has issues with recent research showing reducing the temperature of memory allows reading it after a restart—swap computers to dodge the fault and read away.

</comment><comment><USER12> Interesting, anyone knows if Linux does any of this?

<comment><USER2> Yes, Linux (and Windows for that matter) does everything DragonflyBSD just removed.

<comment><USER13> Windows does more of it, in the sense the heap manager likes to give freed blocks back to the OS, whereas UNIX programs traditionally never gave memory back until program exit.

I had a massive production outage a few years back involving this behaviour on Windows; symptom was 100% CPU usage in-kernel on exactly two threads and no other processes doing anything much. Still recall that as one of the most interesting bugs to track down.

<comment><USER14> How did you track it down? MS's performance debugging toolkit? (Can't remember the actual name) Or something else?

<comment><USER13> Hours and hours of narrowing down the symptom from a program that would recreate it, plus disassembling the Windows heap manager and tracing through it in the debugger.

</comment></comment></comment></comment></comment><comment><USER15> I don't get it.

Edit: Ahh, now I get it. [https://news.ycombinator.com/item?id=12228540](https://news.ycombinator.com/item?id=12228540)

<comment><AUTHOR> I thought it was interesting for:

      Remove the PG_ZERO flag and remove all page-zeroing optimizations,
      entirely.  Aftering doing a substantial amount of testing, these
      optimizations, which existed all the way back to CSRG BSD, no longer
      provide any benefit on a modern system.

<comment><USER16> I think for many people without any context that explanation isn't quite enough. jdub's comment explains it quite well though.

<comment><AUTHOR> The joys of linking to the original source. Slashdot does have one interesting advantage over HN in that putting a large explanation, often with multiple links, is expected when submitting something. I probably could have found a blog or article with a fuller explanation, but then you get into accusations of submitting "blog spam". I figured this is HN and someone like jdub would come along and write a great explanation if the topic was worth consideration.

</comment></comment></comment></comment><comment><USER17> EDIT: Wrong thread. Meant to post here: [https://news.ycombinator.com/item?id=12227507](https://news.ycombinator.com/item?id=12227507)

<comment><USER18> That's "PG" as in "page" not as in "postgres". It's a Linux kernel patch.

<comment><USER19> Not Linux, DragonflyBSD.

</comment></comment></comment><comment><USER20> If I understand this change correctly it removes background zeroing of freed pages.

What effect will this have on security? Grsecurity adds a feature which allows the linux kernel to sanitize freed pages[1]. I realize that the idle time freeing isn't the same as the immediate sanitation that grsecurity offers but I'm curious if this change has any effect on security in this manner.

[1] [https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity...](https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options#Sanitize_all_freed_memory)

<comment><USER21> Nope. I draw your attention to this paragraph:

> Zeroing the page at fault-time...</comment></comment>


Today is Towel Day - <AUTHOR> http://towelday.org/ <comment><USER3> I'll probably be burned at the stake for this. I'm about 3/4 of the way through the entire Hitchhikers Guide series, and I'm just not enjoying it at all. I understand it is supposed to be humorous, and full of satire. But the scatterbrained events, nonsensical plot, and one dimensional characters, just ruin it for me. I don't get the appeal, and I watch a fair amount of British comedies, and movies.

<comment><USER4> My personal impression is that a reader steeped in soul-crushing dysfunction in his or her daily life will enjoy The Guide with gusto not achievable by those whose lives resemble nirvana.

<comment><USER3> Excuse me if I'm missing interweb sarcasm. But how are young children, who are more of the latter, enjoying it more than adults? I'd rather just watch Brazil for that!

<comment><USER5> Children's lives are entirely run by adults. They love to envision a world where that isn't true, as do the rest of us

<comment><USER6> I keep waiting for the adults, and they never show up.

<comment><USER5> Yes, we're all children. Don't let the adults know or they'll stop working so hard

</comment></comment></comment></comment></comment></comment><comment><USER7> I know I'm hanging out on the right site when a link like this gets promoted to the top spot. : )

A quick note to Hitchhikers Guide to the Galaxy newcomers, your mileage may vary depending on your background. I read all the books when I was a kid, and absolutely loved them. And when the most recent film came out, a bunch of engineer friends and I went to see it. Me and the other British friend howled with laughter throughout, but the two other (from India and Brunei) looked utterly baffled. So, it may, based on this limited sample, play better to those with a British sense of humour...

<comment><USER8> As an American, I think it's worth investing in the necessary background in British culture to appreciate the humor. If you don't, you miss out on Douglas Adams of course, but also the incredible and varied world of panel shows, everything that the alumni of 'Monty Python's Flying Circus' ever touched (Fawlty Towers!!!), and so on.

As a kid, Douglas Adams was my first major introduction to British humor, and questions about "what does that mean exactly?" drove me to learn a lot more about it.

<comment><USER9> Also from the States, I read the _Hitchhiker 's Guide_ when I was eleven and laughed so hard I couldn't breathe. Predictably, I delight in the Pythons and their works. And Eddie Izzard, who seems to mine the same vein. But the reason I'm posting this is not to reminisce. It's that, out of sheer coincidence and for reasons having nothing at all to do with British humour, I'm carrying a towel around today.

<comment><USER7> I've noticed that brit humour seems to appeal to a particular subset of Americans. Not quite sure how to define the ones that appreciate it most, but regardless, it's great to have them in the brit humour appreciation club. Glad to know that someone else out there gets us crazy people, when the rest of the world doesn't. : )

</comment></comment></comment></comment><comment><USER5> My favorite line is the one about British sandwiches.. [1]

> There is a feeling which persists in England that making a sandwich > interesting, attractive, or in any way pleasant to eat is something sinful > that only foreigners do.

> "Make 'em dry" is the instruction buried somewhere in the collective > national consciousness, "make 'em rubbery. If you have to keep the buggers > fresh, do it by washing 'em once a week."

I ate some sandwiches in the UK. They were dry and rubbery

[1] [https://norighttobelieve.wordpress.com/tag/douglas- adams/](https://norighttobelieve.wordpress.com/tag/douglas-adams/)

<comment><USER10> One of my favourite lines from the first book :

"The ships hung in the sky in much the same way that bricks don't."

<comment><USER11> Similarly, my favorite line of all is:

"The knack of flying is learning how to throw yourself at the ground and miss."

(I've forgotten which book it's from)

<comment><USER12> Might as well be from Toy Story

</comment></comment></comment></comment><comment><USER13> If you want to keep track of similar geeky events, I maintain and curate a "Geeky Events" Google Calendar:

[https://calendar.google.com/calendar/embed?src=9t07jqib63if4...](https://firstname.lastname@example.com)

Let me know if there's anything I'm missing.

<comment><USER14> That looks brilliant but I am struggling to get it into my Google Calendar using the "Other Calendars > Add from URL" option. Do you have any advice?

<comment><USER13> Does the button in the bottom-right of the page work?

<comment><USER14> Aha! Yes thank you. Crikey that is not obvious...

<comment><USER13> You're not the first. I shared this with many people and many seem to miss the button.

It's arguably bad UI, as I'd imagine most people would expect functional buttons to be at the top of a full-page UI, and not shoved down to where you usually have a status bar or footer. The coloring and flat design doesn't help either, as it looks like some sort of badge rather than a button.

</comment></comment></comment></comment></comment><comment><USER15> I've been a huge fan of Douglas Adams since I read the Hitchhiker's series in High School.

My personal recommendation is to grab the audiobook version that's read by the Douglas himself. As an American, there's a little bit lost between British/American English and some of the humor is missed (sometimes changes are even made -- in the American version of the book that I have "Biscuit" is replaced with "Cookie"). I'm an audiobook junkie (speed reading has killed reading fiction for me) and I usually stay away from books narrated by the author because the quality of the narration suffers. Such was not the case with Adams' narrations -- they're excellent and I picked up on several things that I missed from my original (several) readings.

I was very sad when he passed -- a heart attack while working out that was probably complicated by his legendary drinking. It was almost sadder when the latest book came out as evidence that nobody could pull off that series but Adams.

The books and the author are endlessly quotable (and recognized by nearly every programmer I've ever worked with), but my favorite of his -- from the Dirk Gently series -- is "Let us think the unthinkable, let us do the undoable, let us prepare to grapple with the ineffable itself, and see if we may not eff it after all." I use it every time a project is proposed that someone thinks is "nuts" or "impossible" and it sits on the background of my Visual Studio code editor as a reminder. :)

<comment><USER5> > "Let us think the unthinkable, let us do the undoable, let us prepare to > grapple with the ineffable itself, and see if we may not eff it after all."

That's awesome. I need to find time to reread these. Thanks for sharing

</comment></comment><comment><USER16> Way back in the day when offices had 'on hold' music on their phone systems, we had the Hitchikers Guide radio show on regular rotation on our hold system for years. Customer would actually get angry when a worker took them OFF hold and ask to be put back on so they didn't miss the next bit. Others were completely mystified and ask us what the heck they had been listening to.

Alas, our office was broken into one day, and about the only thing the thieves took was the little CD player hooked into our phone system next to the reception desk that played the series which we had on CDs (the thieves also took the CD boxed set after smashing one of the discs on the floor - <USER2> the stolen set basically worthless). Sad day.

</comment><comment><USER17> Douglas Adams on David Letterman (14 February 1985): [https://www.youtube.com/watch?v=SF2fZ2iOXhk](https://www.youtube.com/watch?v=SF2fZ2iOXhk)

The interview contains a version of one my favourite stories of his starting at 2:55. The whole video is worth watching.

<comment><USER18> There's a Snopes entry dedicated to variations of that story:

[http://www.snopes.com/crime/safety/cookies.asp](http://www.snopes.com/crime/safety/cookies.asp)

<comment><USER17> Like all of the best stories, the truth is probably somewhere in between the fantastic and the more plausible. I'm willing to suspend my disbelief for the sake of comedy.

</comment></comment></comment><comment><USER19> I didn't know the origin before - as in why May 25th - but the Wikipedia article provided the background, and even the original proposal via Web Archive: [https://web.archive.org/web/20020424065309/http://systemtool...](https://web.archive.org/web/20020424065309/http://systemtoolbox.com/bfarticle.php?content_id=46)

Edit: To save the unknowing a link click, May 25th was two weeks after Douglas Adams' passing.

</comment><comment><USER20> Douglas Adams' grave has bouquets of pens & is often strewn with tiny gifts: #TowelDay

[https://twitter.com/peachesanscream/status/73542173543307673...](https://twitter.com/peachesanscream/status/735421735433076736)

</comment><comment><USER21> H2G2 is interesting to me - in general, over the last decade, there's been a growth in the popularity of "nerd culture". A lot of this has led to "nerd content" actually becoming less targeted (see: Big Bang Theory, recent seasons of Doctor Who). I find H2G2 fascinating because, as far as I can tell, it remains known only by those who were or would have been participants in nerd culture before it became a big thing.

</comment><comment><USER22> Well I'm just glad it's not Thursday. I could never get the hang of Thursdays...

<comment><USER23> "This must be Thursday,' said Arthur to himself, sinking low over his beer. 'I never could get the hang of Thursdays."

</comment></comment><comment><USER24> Remember how 42 is the Ultimate Answer to Life, the Universe, and Everything? And how everyone's searching for the Ultimate Question? I think I've figured it out.

According to Prak, it is impossible for both The Answer and The Question to be known in the same universe; should someone know both the question and the answer, the universe would cease to exist and would be replaced by something more bizarre and inexplicable. The narrator teases the reader that another theory states that this has already happened before.

I posit that the Ultimate Question is, "How many times have the Ultimate Question and Ultimate Answer been known, and thusly the universe been eradicated and replaced by something more bizarre and inexplicable?"

Answer: Forty-two.

[https://scott.arciszewski.me/blog/2013/10/ultimate- question-...](https://scott.arciszewski.me/blog/2013/10/ultimate-question- douglas-adams)

<comment><USER5> That can't be it, we're still here. Quit guessing! ;-)

<comment><USER25> But _were_ we [past tense of still] here? Or did we come into existence in this new universe created by the above commenter?

<comment><USER5> Hmm ok I'll bite. If that's happened, then the number is ever-increasing and can't be known, because the moment you ask the question, the number increments and the answer changes

Sounds like quantum stuff which would be right up Douglas Adams' alley. Cool theory, CiPHPerCoder! I'd agree you've nailed it

<comment><USER25> Another possibility is that the Answer to the Question is a new universe.

<comment><USER5> Ah, good one. You people are smart

</comment></comment></comment></comment></comment></comment><comment><USER16> Damn, missed it again. I am only glad that Towel Day falls on a Thursday next year... then at least I will have an excuse to not get the hang of it...

As upsetting as the recent death of great musicians and authors have been, no one's death hit me as hard as DNA's did. The thought of no more Svlad Cjelli stories always fills me with sadness.

</comment><comment><USER26> I recently started carrying around a handkerchief. It's more useful than I would have thought, like a miniature towel.

<comment><USER27> Every man in Japan carries a small towel. I always think of Douglas Adams.

</comment></comment><comment><USER28> Its worth remembering Doug Adam's book on endangered species he wrote late in life: [http://www.amazon.com/Last-Chance-See-Douglas- Adams/dp/03453...](http://www.amazon.com/Last-Chance-See-Douglas- Adams/dp/0345371984)

Fondly remember meeting him briefly at the big bookstore near ULU in London to sign it when it was released.

Sometimes I regret I gave it to my then-girlfried ;)

<comment><USER16> That book was a great read. I am heartened to hear recently that the Kakapo seems to be making a comeback in New Zealand...

<comment><USER29> During the filming of the TV series of Last Chance to See (with Stephen Fry) this happened [https://www.youtube.com/watch?v=9T1vfsHYiKY](https://www.youtube.com/watch?v=9T1vfsHYiKY) with a Kakapo named Sirocco and he then became quite the internet celebrity: [https://www.facebook.com/siroccokakapo](https://www.facebook.com/siroccokakapo)

</comment></comment></comment><comment><AUTHOR> I'm very much enjoying listening to the original radio series: [http://www.induceddyslexia.com/hitchhiker.htm](http://www.induceddyslexia.com/hitchhiker.htm)

<comment><USER30> there used to be a constantly looped broadcast of this on a shoutcast stream, to fully appreciate the genius, I highly recommend listening to it twice in a row, or more! The stream stopped around the same time towel day began :( I've always wondered whether it was respect, or Mr A was running it, after all, he was fairly into this digital stuff :)

</comment></comment><comment><USER31> I never, ever travel without a towel. It is the first thing I pack. Not a large towel, mind you, but a towel nonetheless. It has been used countless times while on those trips.

</comment><comment><USER8> Always... and I mean ALWAYS know where your towel is. [https://s-media-cache- ak0.pinimg.com/736x/91/9d/2c/919d2cc01...](https://s-media-cache- ak0.pinimg.com/736x/91/9d/2c/919d2cc01ef766a4ce93bd9e29cf4766.jpg)

<comment><USER32> Startup idea: always connected towels with GPS modules.

<comment><USER33> I guess RFID-tagged towels[1] is a start...

1\. [https://www.tnooz.com/article/when-pilfered-hotel-towels- bec...](https://www.tnooz.com/article/when-pilfered-hotel-towels-become- tracking-devices/)

</comment></comment></comment><comment><USER34> I did not know about this. It immediately made me think of South Park.

<comment><USER35> If you haven't yet read The Hitchhiker's Guide to the Galaxy, I'd do so when you've got the chance.

<comment><USER22> "A towel, [The Hitchhiker's Guide to the Galaxy] says, is about the most massively useful thing an interstellar hitchhiker can have. Partly it has great practical value. You can wrap it around you for warmth as you bound across the cold moons of Jaglan Beta; you can lie on it on the brilliant marble-sanded beaches of Santraginus V, inhaling the heady sea vapors; you can sleep under it beneath the stars which shine so redly on the desert world of Kakrafoon; use it to sail a miniraft down the slow heavy River Moth; wet it for use in hand-to-hand-combat; wrap it round your head to ward off noxious fumes or avoid the gaze of the Ravenous Bugblatter Beast of Traal (such a mind-boggingly stupid animal, it assumes that if you can't see it, it can't see you); you can wave your towel in emergencies as a distress signal, and of course dry yourself off with it if it still seems to be clean enough."

 _― Douglas Adams, The Hitchhiker 's Guide to the Galaxy_

<comment><USER36> You can't omit the second paragraph when quoting that, it's the punchline:

More importantly, a towel has immense psychological value. For some reason, if a strag (strag: nonhitchhiker) discovers that a hitchhiker has his towel with him, he will automatically assume that he is also in possession of a toothbrush, washcloth, soap, tin of biscuits, flask, compass, map, ball of string, gnat spray, wet-weather gear, space suit etc., etc. Furthermore, the strag will then happily lend the hitchhiker any of these or a dozen other items that the hitchhiker might accidentally have "lost." What the strag will think is that any man who can hitch the length and breadth of the Galaxy, rough it, slum it, struggle against terrible odds, win through and still knows where his towel is, is clearly a man to be reckoned with.

<comment><USER22> Agreed, thanks for filling the gap. For what's worth I just copy/pasted from a HHG quote site...

[https://www.goodreads.com/work/quotes/3078186-the- hitchhiker...](https://www.goodreads.com/work/quotes/3078186-the-hitchhiker-s- guide-to-the-galaxy)

</comment></comment></comment></comment></comment><comment><USER37> My coworker has had a towel hanging from his cubicle for months. Today I ask him why.

</comment><comment><USER38> Douglas Adams is pretty much the only "celebrity" whose death really touched me.

I am a big fan of his work and thinking about all the books he did not get a chance to write tears me up even now.

<comment><USER39> That, and Pratchett.

<comment><USER40> And today isn't just _towel day_, it is also _wear the lilac day_, a day to remember Pratchett and raise awareness about alzheimer. :/

</comment></comment></comment><comment> jim-greer My kids don't quite get Hitchhiker's Guide to the Galaxy yet, but they enjoyed making a Don't Panic towel to take to school.

[https://twitter.com/jimgreer/status/735497227183919104](https://twitter.com/jimgreer/status/735497227183919104)

<comment> jim-greer Some paper towels were harmed in the making of this video.

[http://imgur.com/d7lnT7Q](http://imgur.com/d7lnT7Q)

</comment></comment><comment><USER41> Funny. Today is the day Pratchett fans wear the lilac. Actually, I'm wearing one right now.

</comment><comment><USER42> Indeed: "Celebrating towel day at #RIPE72 !!"

[https://twitter.com/nnimpuno/status/735400708967665664](https://twitter.com/nnimpuno/status/735400708967665664)

</comment><comment><USER43> Silly brag. I often work out of a local library where the blinds don't work, so I always carry a towel in my bag which I use to block the sun.

I always know where my towel is. Every day is Towel Day for me.

Thank you, Douglas Adams!

</comment><comment><USER44> Also from the Hitchhiker's Guide, "Don't Panic" is pretty much one of the most helpful advices ever. Remembering it saved my ass multiple times in a hectic trip just last week...

</comment><comment><USER45> Not that it's super important or anything, but Sweden and Switzerland are different countries. :-)

</comment><comment><USER46> You wanna get high?

</comment><comment><USER47> aft42 checkin' in - towel in hand :-)

</comment><comment><USER48> Belgium says : deal with it, you hoopy froop.

French : Fait comme, espece de heuapy freaup.

Nederlands : U bent een froopy hoop.

Long live the King - Long live Belgium.

I'm sorry : I'm talking complete bollocks. It is friday night.+</comment>


Vanity Project: The difficulty of knowing that we look like ourselves - <AUTHOR> http://reallifemag.com/vanity-project/ <comment><USER2> Concerning the avatar thing, it seems to me like it is common to extend into the clothes one wears to some extent: The matter I experience as 'me' includes my clothes most of the time, and this seems to be true for others as well.

In a similar vein, it is often weird to see another person in one's trusted winter coat; as if they were wearing/assuming a part of one's identity.

<comment><USER3> Having recently been homeless, and then having achieved a high-paying tech job, I can say that the clothes you wear affect not only you, but also your surroundings, to a great extent.

Before I achieved a good wardrobe, I could literally feel the tension in a room as a result of wearing poor clothing. It is experienced as a vulnerability to social attacks... think the experience you get when your boss frowns at you, but this experience occurring in every room you go into. Without dress comparable to my coworkers, I had to adopt social behaviors which patched the vulnerabilities. (This occurs in the animal kingdom as well, for example, with behaviors such as stotting.) When I had achieved better clothing, I no longer had to worry about such behaviors, and could devote more time, and mind "power", to focusing on my own pursuits.

I am reminded of Virginia Woolf's essay "A Room of One's Own": without some basic necessities one must adopt characteristics to appease the social dynamics around oneself. (I believe Machiavelli writes about this as well, regarding man's relationship to weather, but that's a looser connection.) Now imagine what it must be like to have food, shelter, no problems, good health, and $500,000 in the bank, versus a child in Sy ria. The psychological impact can't be measured.

We must keep in mind that we are all ships at sea, and even the smallest decision can be, and for the majority of individuals on earth is, fundamental to our survival.

tl:dr: When identity in relation to a group matters, unique behaviors sometimes occur to make up for weaknesses in other areas.

<comment><USER4> Invisibilia just had a episode pertaining to this on July 22, "The Secret Emotional Life of Clothes." One of the sections had a study where the participants were asked to do a concentration test. The group that wore a doctors lab coat scored far better than the group who didn't. What was interesting is that when the coat was described as a painters coat rather than a doctors coat the results effect was not the same.

<comment><USER3> This is why perception is so important: the same descriptions do practically, historically and in the present, apply to people as well as to clothing and items.

Let's say two men walk together in a market and meet a magistrate. The first man boasts that he bears scars from the building of the republic; the second man says of the first: "he bears the scars of an unpunished crime!" The second man's perception wins out; the first man is taken to prison.

When someone willingly characterizes another person in a negative sense, they turn lab coats into painters' coats. This diminishes not only the capacity of the individual with the changed description, but the capacity of `the republic' as a whole, through social stratificiation and description-based dominance, et. Yet it is frequently the case that the one who dresses his kin in a negative description is viewed as the more noble of the two, though in truth, he has reduced the capacity of another to think and act. We may ask ourselves what crime the first man may have been hiding, but we seldom call the second man to account, even though he has effectively maimed his brethren and his state.

These negative changes in description occur as a matter of course, and as of yet are unchallenged as a mode of social being. Competition is viewed to extend to such matters. We are enslaved by it in practice.

I personally believe the best system would be to take a human rights-dominated system -- that is, one predicated on human rights as sacred -- and spread this philosophy globally, identifying victims of negativism and propping them up. Rinse & repeat until negativists are natural outcasts, and always allow them to join in. Needless to say, prisons, killing in all forms, and torture would need to be abolished worldwide.

</comment></comment></comment></comment><comment><USER5> I get this. I hate watching videos of myself presenting, because I don't look or sound like that in my head.

</comment><comment><USER6> This was a very compelling essay. I could almost see the limit of my brain's ability to accurately see "self".</comment>


Are any of these the Web's next big thing? - <AUTHOR> http://www.cnn.com/2009/TECH/ptech/12/10/internet.future/index.html?eref=igoogle_cnn

<comment><USER2> I don't know if I'm a good judge (most startups make me yawn), but I'm left cold. It looks like a list picked by someone at CNN.

<comment><USER3> The only ones I recognize are Netvibes, BlueWiki, and that Pearl thing.</comment></comment>


Daring Fireball: Mozilla, Video, and Mobile Computing - <AUTHOR> http://daringfireball.net/2010/03/mozilla_video_mobile <comment><USER2> _Put another way, "open and better" is a recipe for success; "open but worse" is a recipe for obscurity._

This is equivalent to: _"better" is a recipe for success; "worse" is a recipe for obscurity. Openness is irrelevant._

<comment><USER3> No, it's not. Given the choice between "better" and "worse", you (and Mozilla) would always choose "better". However, if the options are "closed and better" and "open but worse", you might choose the latter.

Openness isn't irrelevant; it's Mozilla's reason for choosing "worse".

<comment><USER4> That's kind of a confused response. Openness _is_ irrelevant to whether users will adopt something, even if it's relevant to Mozilla. In other words, Mozilla cares about irrelevant factors.

</comment></comment></comment><comment><USER5> All the talk of h264 and not one word about AAC? h264 license is actually very affordable for small companies (free for less than 100,000 users) and large. (capped fee per year) AAC is less friendly.

<comment><USER6> "Maximum Annual Payment $32,000 per PC Software Product"

<http://www.vialicensing.com/Licensing/AAC_fees.cfm>

This sounds dirt cheap.

<comment><USER5> It is just more complicated. What count as a product? Is it per platform, per version? Is what you are building an enabling software?

Also, notice that there is no free provision for low volume, or internet broadcast.

</comment></comment></comment><comment><USER7> Can anyone think of a case in recent memory where the fear mongering over a proprietary, wisely used, web format lived up to the doom & gloom predictions? Seems like it usually turns out fine in the end or, over time, a more open solution wins out on technical merits and better/cheaper accessibility of encoders. In 2010 I still see animated GIFS on a fairly regular basis, MP3s, even RealMedia which thankfully VLC plays well. I don't think it's a bad thing Mozilla is trying to make a point here about open formats but they shouldn't take it too far or they risk really hurting the web by committing market share suicide and limiting the diversity of commonly used browsers.

<comment><USER6> "between 2002 and 2004 Forgent was able to obtain about US$105 million by licensing their [JPEG] patent to some 30 companies." (<http://en.wikipedia.org/wiki/JPEG#Patent_issues>) Sounds pretty gloomy to me, yet regular people never noticed.

</comment></comment><comment><USER8> You hear this "open is only better if it's technically better" argument all the time but any popular, open tech I can think of either was or is worse than the alternative.

At what point did Gecko become better than IE? Where would we be without the people who worked on it then? When the technically superior alternative was left to rot because it suited the owner's business reasons.

KHTML? Webkit? Wikipedia? Linux? MySQL? LLVM?

I'm honestly struggling to think of one that was better straight out the gate. Even if I think of one it probably built on one that wasn't.

<comment><USER9> The Theora/VP3 code cannot be substantially improved without breaking backwards compatibility. While there are some gains to be made with better encoders, some of the choices, such as small fixed block-size, permanently hobble the codec.

There are those far more qualified than I to go into the technical details (I think there was an article by one of the FFMPEG devs), but the situation is not analogous to early versions of Webkit, Linux or Mozilla.

This is not a situation where it can substantially improve over time, which is one of the major advantages of an Open Format.

<comment><USER8> What is stopping them from revving the spec and breaking compatability?

Is it all those hardware implementations? Clearly not. And existing content would still play just newly encoded material wouldn't play on old encoders. Very similar to H.264 profiles, where Main and High profiles won't play on iPhones.

I would suggest they haven't done this yet because they are making rapid progress without having the need do so. The longer they leave it the more they can improve when they break either by taking advantage of more expired patents or just more experience.

If the argument is that Theora can't be revved (for some unspecified reason) and that limits progress then that argument should be made so it can be challenged. It does not follow directly from anything said in the article.

<comment><USER6> _What is stopping them from revving the spec and breaking compatability?_

Basically that's Dirac, except they started from scratch rather than improve incrementally from Theora. There was also Sun OMS Video (which has probably been canceled) that attempted to incrementally improve H.261 in a patent-free way.

</comment></comment></comment></comment><comment><USER8> He claims Mozilla only have a mobile browser on Maemo. Which is both untrue, as they've got builds for WinMo and Android, and a bit cheeky for an Apple pundit since it's Apple that is the main blocker for that happening on their platform.

(Mozilla claim they do better on Javascript benchmarks than the bundled Android browser, which is surprising).

</comment><comment><USER10> He forgot the Wikipedia factor: Wikipedia probably won't be using H.264 anytime soon, and it's one of the top sites in terms of traffic.

<comment><USER11> Currently, Wikipedia is 95% text and 5% images, with negligible amounts of audio and video served up with a cumbersome almost broken Java thing. Barring substantial changes, I'd go so far as to say Wikipedia's audio and video are irrelevant to users and browser vendors.

<comment><USER8> If you're getting the Java thing it means your browser doesn't have native Theora support. You should upgrade or install an appropriate plugin.

(They've also done a lot of work to improve the Java fallback but it's not gone live yet).</comment></comment></comment>