Ruby+OMR JIT Compiler: What's Next? - <AUTHOR> https://developer.ibm.com/open/2017/03/01/ruby-omr-jit-compiler-whats-next/ <comment><USER2> > In Evan's keynote, he proposed a really interesting and ambitious solution > to the problem he called "lifting the core." It involved shipping Ruby with > LLVM intermediate representation of the CRuby functions to allow the LLVM > JIT technology to look inside the CRuby functions and dramatically increase > the optimization horizon. As far as I know, this hasn't been attempted yet — > although, if it has, I really want to see it!

Actually unladen_swallow and cperl are doing this. Compile the whole runtime to a lib<rt>.bc (trivial make rule), load this bitcode file (a single call), and add the expensive optimizations, esp. the inliner and IPO in llvm. Just the type-checks need to be done in the jit. This inliner does a lot of good magic esp. for the small RT functions. >10x faster.

The compiler is expensive though (i.e. very slow), and LLVM changed it's jit API 3 times already. <=3.4 jit, then mcjit and >= 3.6 ocrjit, all 3 of them still having major quirks.

With mcjit you cannot selectively add jit code to a module. So every single body needs to be a new module. So module != package/class/namespace. So the jitcache is a bit complicated. With the latest ocrjit you got problems in finding the symbols in the bc. The C API doesn't support the name resolver at all, and it's a major quirks with C++. LLVM's C API is really behind, but at least they don't change it that often as the C++ API.

unladen_swallow has a huge JIT overhead library, which nobody really needs.

For the cperl jit I just used 4 days so far and doesn't even link yet. I used the C API, not the better C++ API. No C++ for cperl. But it's very simple. [https://github.com/perl11/cperl/blob/feature/gh220-llvmjit/j...](https://github.com/perl11/cperl/blob/feature/gh220-llvmjit/jit.c)

<comment><USER3> Wow I had no idea anyone was shipping bitcode of their runtime for dynamic compilation. Are there any blog posts, papers, etc about it? Does it work well?

<comment><USER4> impala does.

<comment><USER2> The impala bitcode reader/resolver is here: [https://github.com/cloudera/Impala/blob/cdh5-trunk/be/src/co...](https://github.com/cloudera/Impala/blob/cdh5-trunk/be/src/codegen/llvm- codegen.cc)

It also needs a special mcjit resolver: [https://github.com/cloudera/Impala/blob/cdh5-trunk/be/src/co...](https://github.com/cloudera/Impala/blob/cdh5-trunk/be/src/codegen/mcjit- mem-mgr.h)

</comment></comment></comment></comment><comment><USER5> Ruby is my favorit language and i am very excited about the performance improvements by projects like this.

<comment><USER6> Seconded and seconded. Nice to see Ruby continuing to grow/improve, and not always necessarily with a rails-centric motivation or focus.

</comment></comment><comment><USER7> I really wish someone would step forward and do what Mike Pall did for Lua with LuaJIT. Phenomenal performance gains he achieved with Lua. Essentially runs equal to C performance.

And no, just because Ruby is highly dynamic - that's not an excuse for it being slow.

To quote Mike:

" tl;dr: The reason why X is slow, is because X's implementation is slow, unoptimized or untuned. Language design just influences how hard it is to make up for it. There are no excuses. "

[1] [https://www.reddit.com/r/programming/comments/19gv4c/why_pyt...](https://www.reddit.com/r/programming/comments/19gv4c/why_python_ruby_and_js_are_slow/c8nyejd)

<comment><USER3> I believe that Lua is significantly simpler than Ruby. Not in the language, but in the size and scope of core library. To make a Ruby application fast you also have to make a large number of core library routines fast. A real Ruby program is not much more than a chain of core library calls.

I'm working on techniques to optimise through the core library in Ruby, and it's requiring novel research techniques that clearly weren't needed in LuaJIT, as it was done without them, so there must be something extra in Ruby.

<comment><USER8> Does Ruby actually do more dynamic behaviours than what is possible in Smalltalk, Lisp and Dylan?

Knowing Ruby only superficially I fail to see why the former three managed to have AOT and JIT compilers, while Ruby still requires novel research techniques as you say.

Thinking of Smalltalk, _become:_ is probably one of the best ways to kill anything a JIT knows about an object.

<comment><USER3> I think Ruby probably does use more dynamic behaviour in practice.

I use a Ruby library called psd.rb as an example. It's for handling Photoshop files. It represents pixels as a hash (map) of r, g and b values, and it parameterises the kind of filter in your image by making reflective method calls with dynamically created strings instead of using a function object of some kind.

So to compile that to tight machine code that looks like something a C compiler would output, you are going to have to completely optimise away the pixel hash and the reflective method call.

You could probably write that kind of code in the languages you mentioned, but people usually don't. In Ruby, that's how a lot of the code is written, starting with the standard library itself.

Maybe I could restate it by saying that optimising typical idiomatic Ruby code is more difficult than optimising typical idiomatic Smalltalk, Lisp, Lua etc.

More here: [http://chrisseaton.com/rubytruffle/pushing- pixels/](http://chrisseaton.com/rubytruffle/pushing-pixels/). Look half-way down at 'Acid Test'. My implementation of Ruby can compile that whole program to a constant.

<comment><USER8> Thanks for the overview, I was missing that.

I remembered you mentioned that example in some Graal talks I've watched.

</comment></comment></comment></comment></comment><comment><USER9> Repurposing a statically-typed JIT is limiting. This is why PyPy, v8, LuaJIT and HHVM all have written custom JITs specifically for the languages.

[https://pdfs.semanticscholar.org/d1fc/e50f5476088671adc3910d...](https://pdfs.semanticscholar.org/d1fc/e50f5476088671adc3910d333082df937920.pdf)

<comment><USER10> I'm pretty sure that paper is talking about an earlier version of this same work targeting Python instead of Ruby.

<comment><AUTHOR> While the 'Pitfalls' paper was implemented on top of the Testarossa compiler technology (that underlies the OMR compiler technology), the OMR project has spent a lot of engineering effort to make the technology more modular and easier to interact with.

While it doesn't invalidate the reasoning behind the 'Pitfalls' paper, we think that we're addressing the problem in a fairly different manner: Instead of providing a fully featured JIT compiler that you need to wedge the language into, we've instead chosen to create a more modular system that lets the JIT compiler be more customized to the target language and VM.

</comment></comment></comment><comment><USER11> Eclipse OMR is interesting, it provides good platform abstraction with support for threading, monitoring, etc.

Can you create new native languages using Eclipse OMR ?

<comment><AUTHOR> When you say "native languages" you mean a statically compiled language?

It's been done before with the technology underlying the OMR compiler component, however there is some work that would need to be done to support this.

In principle though, there's no reason it couldn't be done.

<comment><USER11> Yes, I meant "statically typed" similar to swift.

I was thinking, OMR providing the native platform semantics that will enable multiple language syntaxes.

</comment></comment></comment><comment><USER12> What does OMR stand for? Couldn't easily find a definition for it.

<comment><USER13> OMR is the Open Managed Runtime. Basically, IBM took their Java implementation (the J9 JDK), or more precisely, J9's Java Virtual Machine implementation, separated all the language-specific and VM-specific parts from the language- agnostic and VM-agnostic parts, broke it up into independently re-usable modules (memory manager, JIT compiler, garbage collector, profiler, debugger) and released it as Open Source Software under the umbrella of the Eclipse Foundation.

Ruby+OMR is the proof-of-concept project that aims to show that OMR is _indeed_ language-agnostic and VM-agnostic and can be used as drop-in parts not only for newly-designed VMs but also easily integrated into existing VMs. The Java 8 version of IBM's J9 JDK is already built on top of OMR, but you could consider that cheating, since that's the very VM OMR came out of; Ruby+OMR shows that you can also do that with languages other than Java and VMs that have a different design than J9.

I believe there is also a Python+OMR project which does similar things with the CPython VM, but that project is not (yet) public, AFAIK.

</comment></comment><comment><USER14> Could this make eclim useful for ruby developers?

<comment><USER15> Eclim is already fairly useful for Ruby developers. I use it for the "stellar omnifuncs" it provides YouCompleteMe as described in the official docs [0].

[0] [https://github.com/Valloric/YouCompleteMe#semantic- completio...](https://github.com/Valloric/YouCompleteMe#semantic-completion- for-other-languages)

</comment></comment><comment><USER16> Ruby 3x3 is here already. It's called Elixir ;)

No, seriously, if your heart beats for Ruby, you will fall in love with Elixir. Give it a try and you won't look back.

<comment><USER17> I really like Elixir... but to say it's ruby 3x3 isn't quite fair. While the syntax is ruby-like, even the simplest ruby program isn't directly portable to Elixir. It's definitely something different, so saying things like this is misleading.

It'd be closer to say: > Ruby 3x3 is here already. It's called Crystal ;)

Definitely check out Elixir and Crystal though if you need more performance.</comment></comment>


Want to find out someone's native language? Ask them how many fingers they have - <AUTHOR> http://ask.antimoon.com/questions/453/want-to-find-out-someones-native-language-ask-them-how-many-fingers-they-have

<comment><USER2> Wrong. Every native English speaker I know would answer 10 fingers.

</comment><comment><USER3> Conceivably, if asked as a science question:

"How many fingers does a gorilla have on each hand?"

One might hear, in English, "Four fingers and a thumb."

Otherwise, as a native English speaker, when asked "How many figures do you have?" I'm answering "ten".

</comment><comment><USER4> As a native English speaker my answer would be ten. Second most likely would be five. I'd be unlikely to ever say eight.

</comment><comment><USER5> As an Englishman, I'd say 8 fingers. Then again, I'm also quite pedantic, I figure some people would definitely say 10, but I wonder if it's a transatlantic thing.

</comment><comment><USER6> "It turns out that..."</comment>


Legendary Productivity and the Fear of Modern Programming - <AUTHOR> http://techcrunch.com/2015/09/11/legendary-productivity-and-the-fear-of-modern-programming/ <comment><USER2> > _While no one programming legend can possibly accomplish any big feat solo, > there are programmers worthy of fame for their supreme productivity._

Actually at least one programming legend did according to many:

\</comment><comment>

Woz designed all the hardware _and_ all the circuit boards _and_ all the software that went into the Apple II, while the other Steve spewed marketing talk at potential investors and customers on the phone. Every piece and bit and byte of that computer was done by Woz, and not one bug has ever been found, "not one bug in the hardware, not one bug in the software."[15] The circuit design of the Apple II is widely considered to be astonishingly beautiful, as close to perfection as one can get in engineering. Woz did both hardware and software. Woz created a programming language in machine code. Woz is _hardcore_.

- _Geek Sublime: The Beauty of Code, the Code of Beauty_

<comment><USER3> Also, how about:

\- Donald Knuth (TeX, METAFONT); even more surprising here given that he's mentioned in the article a few times on other accounts; [https://en.wikipedia.org/wiki/Donald_Knuth](https://en.wikipedia.org/wiki/Donald_Knuth)

\- Fabrice Bellard (QEMU, FFmpeg, & other) [https://en.wikipedia.org/wiki/Fabrice_Bellard](https://en.wikipedia.org/wiki/Fabrice_Bellard)

<comment><USER4> Knuth had help from his graduate students. Some of them did their dissertations on work they did in TeX and I think METAFONT too.

<comment><USER3> hmm; "[citation needed]", although I've already found something via Wikipedia:

[https://gcc.gnu.org/ml/java/1999-q2/msg00419.html](https://gcc.gnu.org/ml/java/1999-q2/msg00419.html)

 _" [...] Knuth definitely wrote most of the code himself, at least for the Metafont re-write, for which I have pesonal knowledge. However, some of his students (such as Michael Plass and John Hobby) did work on the algorithms used in TeX and Metafont. He also did have a programmer (David something) working for him at one point, but not as I recall at the time of the Metafont re-write."_

That said, some solid source on the earliest phases, as well as on particulars of the specific "algorithms", would be nice to learn.

</comment></comment></comment></comment><comment><USER5> _Peter Norvig may be immediately associated with JSchema_

Umm, what? One of many weird things in this article. Generally non-programmers do not write well about programming.

<comment><USER6> Means JScheme, which, yes, isn't one of his better-known works. The whole article is like that.

</comment></comment><comment><USER7> Seems mostly right on. I don't think you need to know one language, though. You just need to understand whatever tools you use to model the problem and solution. One can get pretty far by ignoring as much of what's out there as possible, using subsets, and using a consistent style across tools. Let's you get more in your head without mastery of every detail. I still use a Cleanroom-like approach and FSM's with my programs looking similar across toolchains.

re nobody accomplishing any big feat solo

Seems to be a few, potential counterexamples on this list:

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

Bram Cohen's Bittorrent jumps out as having traits of one programmer, a solid technical contribution, and impact. Probably more but must assess if they had help. List is misleading on that part.

<comment><USER8> Bram has written a post (link: [http://bramcohen.livejournal.com/4563.html](http://bramcohen.livejournal.com/4563.html)) about what in his view separates great programmers from others (spoiler: it is the ability to come up with good architectural decisions). But then, his codeville project went nowhere so take it with the grain of salt ;)

<comment><USER7> That was an interesting write-up. I disagree with how he thinks people will come up with good architectural decisions. That blind trial-and-error is how most programming happens and most of it is anything but good architecture. It's a nice learning and exploratory process, though.

For learning architecture, I'd recommend people do what I did: look up all kinds of present and past solutions to problems that worked well to see how they did it. See what they worked with, constraints, goals, specifics, and what resulted. Most discoveries are re-hashes of old ones and there's plenty of good stuff to draw on in many subfields. Some are truly novel but studying old stuff for new applications will get you pretty far. Out of the box thinking for the rest.

</comment></comment></comment><comment><USER9> This article is bizarre: "The greatest programming minds are capable of using software to multiply massive integers that are bigger than the universe." What does this even mean?

<comment><USER10> We could generously assume some words are missing and it means "numbers larger than the number of particles in the universe".

But there's only 10^80 particles in the universe, so that's not very impressive. You could do it, rather tediously, with a pen and paper.

</comment></comment><comment><USER11> Whether software is the most complex systems humans have built very much depends on what you consider to be a system.

And whether you agree that software is the most complex thing humans have built also seems to correlate, to a remarkable degree, with whether you build software for a living.

<comment><USER12> "Whether software is the most complex systems humans have built very much depends on what you consider to be a system."

Indeed. To take just one example, the world economy is a system created entirely by human beings, yet seems to me to be much more complex than any piece of software. People try to model pieces of the economy with software, with varying degrees of success, but I don't think it's feasible (it may be impossible) to model the economy as a whole.

<comment><USER13> I don't know if software systems are the most complex systems we built, but you can't compare it to the world economy, which is an emergent property that nobody has "built".

<comment><USER12> It's composed of the individual actions of human beings, so yes, it was built.

It certainly isn't a natural phenomenon.

"Emergence" doesn't have any bearing on it. The properties of music and art are emergent, too. Doesn't make them not constructed by humans.

<comment><USER13> > It certainly isn't a natural phenomenon.

Now, this is interesting. You mean that we humans aren't a natural phenomenon? :D

<comment><USER12> nat·u·ral ˈnaCH(ə)rəl/ adjective 1\. existing in or caused by nature; not made or caused by humankind.

Humans are natural. Human artifacts are not.

<comment><USER14> Mom's tomato garden?

<comment><USER15> Not that I necessarily agree with the distinction made in the definition above, but assuming it's true, wouldn't the garden be an artifact? The soil and the tomatoes surely not, but the garden in layout and concept would be a human built thing.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> The point about internalizing what you are doing is sadly overshadowed here. I know folks love Bret Victor's talks about externalizing this visualization to teach people and make things easier to show to others. What that misses, is there is a great benefit to internalizing this such that you don't _have_ to find a way to visualize it.

The killer section for me is Thompson's quote regarding how hard it is to follow programs that are built with layer upon layer. Just a single paragraph really sums this up.

</comment><comment><USER17> One thing is to start SOLO when the field or subfield is new and a very different thing when it is mature. Game programming? individuals or small teams developing great games for the Atari 2600, Sinclair X, and Commodore Y but now that's almost impossible. You can follow the indy programming route but requires to ignore some dimension of the finished product.

</comment><comment><USER18> > It's simple: If code is too dependent on one person, your business is > susceptible to dire wounds.

Ah, reduce your product to what the lowest common denominator is capable of producing, to avoid too much "dependence" on them.

AKA: Make sure your engineering team is entirely swappable, like batteries. Plug them in, burn them out, no problem.

</comment><comment><USER19> We can't forget:

"adding programmers to a late project makes it later"

Right, Brooks.

And his solution was the _chief programmer team_.

</comment><comment><USER20> two books I would recommend anyone wanting to become a great programmer to read:

\- the pragmatic programmer

\- clean code

I'm not sure I believe articles like this, but myself and colleagues have found these books to greatly improve our coding.</comment>


Web Standards - <AUTHOR> http://dcurt.is/web-standards <comment><USER3> This is the result of a standards process running in reverse: _first_ the specifications, _then_ the implementation. There was a time when the "Internet" could if you squinted right be defined as "the collection of people who make fun of that process and do the opposite"; their motto was (literally) "loose consensus and working code".

First you get things working. Then you standardize on them.

Complain when the Webkit team refuses to implement standards. Have they shown any unwillingness to support W3C standards once published? No? Then what's the gripe? The browser vendors are doing _exactly what they're supposed to do_ : come up with new things. If the W3C was doing its job, it would watch those new things carefully and, when enough momentum existed, start ratifying them as standards.

It's not enough to say, "you could have used the same argument to defend Internet Explorer". To indict someone for "embrace & extend", you need both halves of the behavior: creation of new features, _and unwillingness to support subsequent standards for those features_.

<comment><USER4> It constantly amazes me how many people do not understand this. So many web standards advocates will cry foul the moment any vendor tries something out that has not already been standardized. Even Brendan Eich cried foul about Dart even though JavaScript was out in the wild for a year before Netscape even submitted it to a standards body.

Committees are not the right process for innovation. 10 years of overly complicated and unneeded standards from W3C should have taught us this.

<comment><USER5> I'd go further than that. I think the era of the technology standard as a formally specified, committee-managed, cross-platform entity is coming to an end. What we're seeing instead is the emergence of open-source implementations that are themselves the de-facto standard. This is particularly true of languages. Look how Apple has managed to run circles around the C++ committee in their single stewardship of Obj-C. Or think how ridiculous it sounds to think of a "standard" definition of Python or Ruby.

<comment><USER6> If it is true that we have moved past the era of formal standards, we will have lost something that is important. More important than most people understand.

If a technology has only implementation, even an open source implementation, that implementation will have all sorts of hidden assumptions and biases. No one will know about or understand those assumptions and biases until the time comes to use that technology in a new context.

In my work, I've dealt with multiple implementations of things like simulators, models and even languages. The additional implementations usually had some specific reason behind them (performance, alternative features, supporting different execution environments, different mathematical properties and so on). Nevertheless, the value of each alternative implementation (in terms of surfacing hidden assumptions, finding bugs, illuminating more general and flexible alternatives, etc.) went well beyond the specific reason that implementation was made.

These considerations are even more important in the case of software that is part of a large, chaotic, heterogeneous system like the Web. Imagine where the mobile web would be today if there hadn't been a W3C and, at the turn of the century, the Web really had been "what Internet Explorer renders" with no attempt to document and codify anything else.

Or, to take your example of Objective C, how much does Objective C matter _outside_ of Apple's ecosystem?

Contrast this with:

\- How much does JavaScript matter outside of Netscape's ecosystem?

\- How much does Java matters outside of Sun's?

\- Or, to take the granddaddy of examples, how much does C matter off of the PDP-11 and outside of Bell Labs?

None of those languages would be anywhere near where they are today without standards. On the other side of the coin, there is a reason languages like Python, Ruby and Haskell have had (and, each to a varying extent, continue to have) a "bus problem". Standards matter and even just the standardization process itself matters. I wish more people understood that.

<comment><USER5> _How much does Objective C matter outside of Apple's ecosystem?_

It doesn't need to. Apple has demonstrated the agility of a wholly owned, vertical stack. The pace of change has qualitatively changed since the days of language standards set by plodding standards bodies.

<comment><USER6> It depends on what your ambitions are. I'd agree that it doesn't matter much to Apple that Objective C isn't standardized (and not standardizing may be an intentional part of Apple's business strategy by increasing porting and switching costs).

But that also means that, no matter what its true potential is, Objective C will never be more than what Apple makes of it. It won't be seriously used outside of application areas Apple is interested in. It won't develop new features Apple doesn't care about. And if Apple decides to go in a different direction and/or runs into serious trouble, well that's it.

Apple has changed the world, but, unlike some other, standardized languages including the ones above, Objective C never will. If we lose the full potential of future great languages because they are limited by a single company and/or a single implementation, we will all be poorer because of that.

<comment><USER5> I used to think so but I've come around to the idea that the language is just part of the platform. Learning the Apis and idioms is always more work than learning a new syntax anyway.

<comment><USER6> I guess this is where we're actually parting ways. I agree that learning a platform, its APIs and idioms is important, non-trivial work, but...

As you might guess from my username, I'm a fan of more than a few languages where (at least I believe) the differences go well beyond syntax. That means I want standards because I want to know what I can (or could) take with me to another platform and what I can't.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> _the developers of WebKit added the prefix -webkit to the experimental stylesheet declarations. This ensured they worked only in WebKit._

No. This ensured that they didn't pollute the global namespace with experimental, partially-implemented ideas. If Mozilla, Opera, and Webkit each make e.g. "rounded-rect" declaration, and one browser takes the width as the first argument while another takes the radius first, then we're screwed. At least having "-moz-rounded-rect" and "-o-rouded-rect" means developers know how their pages will behave in each browser. I agree that the W3C is unacceptably slow, but that doesn't mean prefixes are a terrible idea.

<comment><USER8> What I still don't understand is why the global namespace isn't used straight away.

You could, for example, just use one line of css for border-radius for all browsers. If one vendor does it differently you use their vendor specific namespace to override it. Surely that makes more sense than having to do a line of css for every vendor?

<comment><USER7> But if there's no standard, then how do you know which behavior to expect in the "global" case and which ones should be vendor-specific? And if only one browser experimentally implements a new feature, should you use the vendor- specific namespace for it, or hope that all future implementations in other browsers are the same?

<comment><USER8> Just to clarify I'm not suggesting there should be no standard, there definitely should be.

However for the initial implementation what's wrong with survival of the fittest? The most popular way will win through, which would most likely become standard. For those browsers that don't implement it in the same way you use their vendor specific namespace instead.

Yes it's likely to be hairy when it's first being put to use if browsers have slightly different implementations but no more so than using an experimental tag in the first place.

The difference appears to me to be that for the next five+ years I could be writing 8 lines of basically the same css for every instance of linear- gradient (and that's assuming we don't get any new browser vendors in the coming years) vs writing 2-4 lines with backwards compatibility or shock maybe even 1 line if I didn't care about older browsers (e.g. <http://www.colorzilla.com/gradient-editor/>).

</comment></comment></comment></comment><comment><USER9> Welcome to the 'standards' world. It sucks big time.

I've participated in standards in both POSIX working groups (network file systems, network apis), IEEE working groups (PCI express Advanced Switching), IETF working groups (RPC and XDR, heck I'm the 'owner' of port 111!), various CAD standards groups, and a whole bunch of things that never even rose to a level of relevance to get published.

If standards bodies are effective, they take away power from companies to distort the playing field, if they are ineffective they allow folks to distort independently. So large companies send representatives to standards bodies to distort them in favor of their own company (Rambus is the canonical example) and other companies send representatives to make them ineffective so that they won't level the current field (Microsoft and XML is the canonical exemplar there).

The bottom line is that Standards bodies whine that nobody lets them do their job, and they tolerate members who actively prevent them from making progress. I have long since given up feeling any sympathy for them whatsoever.

<comment><USER10> > Welcome to the 'standards' world. It sucks big time.

Because a hegemony is so much better right? What fun that was last time around.

</comment></comment><comment><USER11> Dustin, I totally agree with you that the current system is whack. Glacial adoption of W3C standards has a real cost on developers and users, and ends up with rounded corners taking 16 lines of CSS, and gradient fills taking 8.

I don't think that we'll be better off just by making the current process "go faster," though.

There needs to be _some_ proper vetting of features. You'd want to avoid the tyranny of the monied interests. It can't just be Apple/Microsoft/Google making the decisions about what goes in and what doesn't -- even though they're going to shoulder the cost on the user-agent side to implement the feature.

It might just be as simple as leaving the current ecosystem as it is, looking at the adoption rate and success of a given construct, and folding those into the "living" spec (without the prefix, of course) -- and just do this process on a regular, fairly frequent interval, like every 6 months.

<comment><USER12> I disagree about the proper vetting of features being a necessity. As long as open-source rendering engines like Webkit or Gecko are pushing forward and providing ideas _and_ implementations of those ideas, we can let web developers vote with their websites.

Everyone understands that advanced features of CSS can't be relied upon—this is now part of the collective front-end developer consciousness.

Get rid of the W3C and let Mozilla and the Webkit project define the web moving forward; they've done a great job so far.

<comment><USER13> > Get rid of the W3C and let Mozilla and the Webkit project define the web > moving forward; they've done a great job so far.

The standardization of required codecs for the `<video>` element is indeed a wonderful accomplishment by the non-W3C HTML5 WHATWG.

Seriously, a third-party neutral organization will always be needed. Who will you appeal to when the main companies start having different ideas about something? Another thing that organizations like W3C or IETF do is to provide some kind of shelter from patents and similar problems.

We can discuss about the efficacy of such shelters and about the ability to mediate between different options, but the web is definitely under a better situation than wireless telephony, a field where company-run consortiums decide standards and "settle" disputes.

<comment><USER14> Speaking of `<video>`, i came across a site today that used <embed src="foo.wav">. As long as video and audio formats are loosely specified, we could've used the existing syntax and existing browser infrastructure (you still can't disable HTML5 audio/video in Chrome[1] for e.g. data cap reasons)

__________________

1\. <http://crbug.com/50132>

<comment><USER15> The irony is that <embed> was never a standard (unlike <object>); if you believe the W3C fans then you must be evil to use it. But it works, and has always worked, better than any of the alternatives. I hear with html5 they've given up and declared it part of the standard.

<comment><USER16> The "they" that "gave up" is a different group of people than the "they" who thought it was evil, by the way.

The current group working on the contemporary HTML living standard just describes reality, by and large, so there was never really any doubt that "embed" would be part of the standard when we started back in 2004.

</comment></comment></comment></comment></comment></comment><comment><USER17> Somewhere in building 50 on Redmond campus, the IE team is wondering why nobody ever said this in their defence when the exact same scenario was playing out with IE (dominant browser, not available on all platforms, glacial standards bodies, browser specific extensions, etc).

<comment><USER18> This is a very different situation in quite a few ways. For one, IE was not just a big browser, but was almost completely dominant. For another, many of IE's browser-specific features were Windows-only by design, such as ActiveX.

Here, we have an open source rendering engine that clearly delineates browser- specific features (each of which is well-documented). The use of a prefix makes it possible to use the browser-specific features offered by WebKit without sacrificing compatibility with other browsers, something Microsoft actively resisted. For quite a while, it was very difficult, if not impossible, to make sites that looked and felt right both in IE and in other browsers.

Had Microsoft extended standards in a way that played nice with the rest of the community, maybe they would have had someone saying something like this in their defence. Instead, they used browser-specific features as a way of undermining standards.

<comment><USER19> NaCl is specific to individual processor architectures by design, much like ActiveX was specific to Windows.

Prefixed WebKit features are certainly not consistently well-documented. CSS animations, transforms, etc. had to be carefully reverse engineered by other browsers.

<comment><USER20> CSS animations and transforms were released along with formal specs. The Webkit developers read mailing lists, hang out on IRC, etc. If anyone thought these were underspecified or ambiguous, they could easily ask for answers or adjustments to the spec. It's not like the Webkit folks were trying to hide anything.

<comment><USER19> The spec was not released alongside the implementation of animations and transforms. It was released much later.

<comment><USER20> You're right. CSS animations were announced and added to Webkit betas in October 2007, and it took until the beginning of April 2008 for Apple to put up their proposed formal spec. I'm not sure when they first hit a publicly released version of Safari. Still, 6 months is pretty short in browser spec time, and pretty much no one was using these features in the wild until much later.

</comment></comment></comment></comment></comment></comment><comment><USER21> This is a somewhat ungrateful perspective, just after the Eolas patent case was thrown out.

Yes, the W3C process takes about half the lifespan of many HN readers. Yup, it's not ideal.

But it's the only game in town and it's been going on so long because it works. Because it successfully brought Microsoft into the fold and conversation at a time where, had they decided, they could have broken everything.

It's worth exercising a little perspective. Can you think of any endeavor that has so successfully united vendors to create something as broad and interoperable as the web, over such a relatively small period of history? The W3C has been fundamental to this.

\- What has the W3C ever done for us?

\-- Well, HTML.

\- Oh yeah, they gave us that. Yeah. That's true.

\-- And CSS you could view source and copy.

\--- Yeah, you remember how scared we all were of Microsoft Blackbird?

\- All right, I'll grant you that HTML and CSS are two things the W3C have done...

(you get the idea.)

<comment><USER22> W3C isn't the only game in town. There's the WHATWG because of W3C's shortcomings.

</comment></comment><comment><USER23> My complaint is not that -webkit CSS extensions are bad. I love how fast the browsers move. It's that people aren't careful to make sure they use all the prefixes when they're available. It's an education problem, but people using CSS preprocessors such as LESS and SASS have no real excuse.

<comment><USER24> That wouldn't be a problem if the non-vendored variants of the CSS attributes didn't take so god damn long to become proper standards.

The problem is not the webkit vendor attributes, the problem is that proper standards aren't able to keep up.

HTML5 is _still_ not a proper W3C standard (or "recommendation"), it's still just a working draft, and was last updated in May of 2011. It's been six years. So far.

<comment><USER25> I don't really understand this objection. Sure, HTML 5 isn't officially a standard, but neither is -webkit-whatever; in both cases, you can use whichever non-standard you like, subject to browser support. The advantage of the W3C draft is that it is a non-standard that the browser makers are all working towards.

<comment><USER24> The objection is that the standardization process is too slow. Not a little bit too slow, but so glacially slow it's almost indistinguishable from abandonment. So, progress of key web technologies needs to be put into vendors's hands.

CSS border-radius is _still_ not a W3C recommendation. It's been a draft for _nine and a half years_. So far. It was last updated one year ago.

With a standardization process that broken, vendors need to take things into their own hands, and them doing so, especially webkit doing so, has been an astounding success, IMHO.

<comment><USER25> Yes, but _why does it matter_ that the standardization process is slow? What is the practical relevance of something moving from "Candidate Recommendation" to "Recommendation" status? Why are draft standards any worse than vendor extensions?

<comment><USER24> Prefixed attributes bring features to developers while they are still experimental, which means we don't have to wait a decade before trying them out.

</comment></comment></comment></comment></comment></comment><comment><USER26> Aside: Please don't have a flashing beacon thing where I'm trying to read. I get visually distracted very, very easily.

<comment><USER27> I'm going to have to agree that's a usability gaffe. Peripheral animation that isn't in service of a notification or something else that actually requires the user's attention is, quite literally, only a distraction.

<comment><USER28> It's worse than that actually - hold your mouse over it and you give the author "Kudos." I find that particularly offensive /rant

</comment></comment></comment><comment><USER29> To me, the article comes across as a bit of an uninformed rant.

> I hope it does kill the W3C and CSS Working Group standardization process.

To this, I have to ask "Mr Curtis - are you _CRAZY_?"(!)

Do you not realise that it's taken over 12 years to say good bye to IE6. Have you not had the pleasure of battling with the ramifications of a browser that doesn't play by the rules?

\--

There are some understandable reasons for not making use of vendor prefixes.

The article that Dustin Curtis links to makes some valid points about the dangers of continuing to use vendor prefixes. A similar line of thinking is presented here [1]

The alternative to using vendor tags isn't to stop using the features - it's to simply drop the vendor prefixes and use the property names from the (non- ratified) CSS specifications before they're fully approved.

For all it's failings, the W3C does a grand job. Negotiations take time. Best we don't throw our toys out of the pram.

\--

[1] [http://www.quirksmode.org/blog/archives/2010/03/css_vendor_p...](http://www.quirksmode.org/blog/archives/2010/03/css_vendor_pref.html).

<comment><USER3> I think you're misinformed by what "the rules" are.

W3C standards are not, in fact, an innovation speed limit. Vendors are free to implement whatever they'd like.

The only way a vendor should be encumbered by the W3C is that if they choose to implement a feature, they should _also_ support the W3C incarnation of that feature. That's it, full stop.

The problem with IE6 isn't that it did extra things. It's that it did a variety of things (some extra, some not) _badly_ , and then Microsoft _refused to bring it into compliance_. That's not a problem we have with Webkit. So what are you saying when you try to tar Webkit with the IE brush? How familiar are you with the development process behind Webkit?

<comment><USER29> If you read the article referenced, you'd realise that web-kit isn't being picked on. The concept of using vendor-prefixes is being questioned.

I'm not tarring webkit with an IE brush. I'm stating that without the W3C or similar body to set standards, we would in a far worse situation.

The article spectacularly misses the point.

<comment><USER3> Do you have something to say about vendor prefixes? That's what we're talking about. I'm not particularly concerned about what particular blue ribbons we affix to the W3C. They're great. Now what?

<comment><USER29> These links [1][2] provide some reasoning behind not using vendor extensions. The second is referenced in the article we're commenting on. I find it difficult to understand why much vitriol needs to be expended.

[1] [http://www.quirksmode.org/blog/archives/2010/03/css_vendor_p...](http://www.quirksmode.org/blog/archives/2010/03/css_vendor_pref.html)

[2] [http://www.glazman.org/weblog/dotclear/index.php?post/2012/0...](http://www.glazman.org/weblog/dotclear/index.php?post/2012/02/09/CALL- FOR-ACTION:-THE-OPEN-WEB-NEEDS-YOU-NOW)

<comment><USER30> That QuirksMode article you posted includes an update acknowledging that it's wrong. I think the stance in the newer post it links to is more reasonable, though I'm still not sure it's all the way there.

<comment><USER29> The article provides a summary of potential problems with vendor prefixes, which still stands.

The author acknowledged that his suggested solution was wrong. See the redux [1] (which is actually mentioned in the article) for alternative solutions.

My main concern is that the dcurt.is article misses the point entirely.

[1] [http://www.quirksmode.org/blog/archives/2010/03/css_vendor_p...](http://www.quirksmode.org/blog/archives/2010/03/css_vendor_pref_1.html)

</comment></comment></comment></comment></comment></comment></comment><comment><USER31> Way to go, dcurtis, ranting about web standards and webkit's greatness while your website doesn't render sanely on my android devices' webkit browsers.

<comment><USER32> That's unfair, it says right at the top of the page that he's a superhero not a web developer.

</comment></comment><comment><USER33> This seems to be a fairly standard gripe from the W3C. "Listen to us, because if you don't the sky will fall!"

They are making themselves increasingly irrelevant because they exist primarily to restrict and limit rather than to expand and innovate.

Partly that's the nature of the beast, standards are after all rules.

The problem is that the rules need a clear and timely mechanism to evolve. Clearly the W3C is the wrong answer to that problem.

I remember well what things were like in the days of horrible tag soup trying to support internet explorer and netscape, and that sucked too.

Standards are good, having a single rule set for everyone to test against is good.

The W3C though, yeah they suck hard.

Way past time to move to a usage-based standards adoption mechanism. Let people innovate, if that change sees wide support adopt it as a standard.

</comment><comment><USER34> Does anyone have any insight as to _why_ the W3C has taken over 10 years to converge on the spec for rounded corners? Any info more than just "bureaucracy"?

<comment><USER35> you really do have to properly vet these things. i didn't realize the work involved either until i started following the rdfa spec. beyond the bureaucracy (which is actually pretty good, like a software development process) there are unintended use cases and side effects, and the concept needs to be as complete as possible and not self-contradictory. there must also be prior art to be researched and understood and incorporated wherever possible as to not throw out good ideas with an off-the-cuff implementation. second, it is actually done sort of slowly, and with your input if you want, and you can start to use a lot of the core features of drafts, just like a beta program.

</comment></comment><comment><USER36> Browser developers are going to innovate new features. A standards body doesn't drive innovation. Innovation is not a top-down process. A standards body exists to ensure some level of interoperability between browsers.

What Prefixgate shows is that a W3C standard is not a rigid set of laws like the 10 commandments. Rather a W3C standard is like a peace treaty - <USER2> adherents agree to respect certain protocols and behave in certain ways, buy are free to pass whatever laws they want within their own boundaries. Assuming that these proprietary laws do not conflict with existing treaty stipulations.

Peace treaties give us access to the best of both worlds: vendors are free to innovate as they see fit, yet they still commit themselves to some level of interoperability. Innovations influence the standard and the standard ensures that all vendors adopt the best innovations at some point.

The comparisons between IE of old and Webkit are incorrect. Microsoft has a history of implementing standards incorrectly (<http://www.quirksmode.org/css/quirksmode.html>) and bullying standards bodies ([http://techrights.org/2011/09/06/michel-levy-comes-out- swing...](http://techrights.org/2011/09/06/michel-levy-comes-out-swinging/)). When it comes to standards _Microsoft does not act in good faith._

<comment><USER37> > _Innovation is not a top-down process._

I don't see why it can't be. For example, going back 10 years the W3C could have said we're standardising a series of layout definition attributes (or multiple backgrounds, or colour fades, or bordering styles, or animation modes or whatever) and then waited for those to be implemented by the browsers. I don't see why the standards bodies can't anticipate a need that hasn't yet been coded for and implement a preliminary standard definition for browser writers to use.

It probably wouldn't work in practice because it appears to rely on the standards body moving faster than the browser makers which is a laughable suggestion as things stand now.

As I, probably shortsightedly, see things now it's the javascript (jquery, mootools, etc.) writers who're best placed to speak to the next iteration of web standards as they are actively filling the holes that are missing in the current iteration of HTML+CSS (and associate tech).

<comment><USER38> > For example, going back 10 years the W3C could have said we're standardising > a series of layout definition attributes

So 10 years ago, before the iPhone and the iPad and the entire mobile web? You really expect that standards body _10 years ago_ would have anticipated the need for multi-touch events, for example?

<comment><USER37> I didn't say that all innovation is exclusively top-down. I just said that I couldn't see why it couldn't happen. For example when a client gives you a design brief for a system that's a limited type of top-down innovation.

W3C do appear to create some standards before there is a working implementation too.

</comment></comment></comment></comment><comment><USER39> I find it funny that that rant holds up as an example the magic bit of CSS animation on the right which treats a brief hover over it as a "kudo".

</comment><comment><USER40> I'm glad that the webkit-specific features were prefixed. I just wish they would have chosen a prefix that was a wake-up call to anyone relying on them.

Perhaps a prefix like "this-feature-will-be-deprecated-in-2013-".

Slightly off-topic, but in a similar manner, when we struggled with users permanently deleting records, ignoring the warning that they were permanently deleting records, and calling us to retrieve the irretrievable, we changed the confirmation box from "click OK" to "type the word 'irreversible". This cut the calls to near zero.

</comment><comment><USER41> It is correct that W3C certainly lacks the ability to coordinate different vendors. But is it good to abandon the _coordination_ process altogether? No, the problem here is a standardization process and not a coordination process. You at least have to coordinate vendors to maintain the very baseline, no matter Web standard is means or not. (If you don't agree on this, you'd be better looking at the past...) Someone should really bring up the better alternative than Web standard, and not only criticize it.

</comment><comment><USER42> "Despite having representatives from all of the major browser developers, the Working Group has not been able come up with a solution."

IMO there's no "despite" about that, "Due to" would be more appropriate.

Design by committee sucks even under the best of circumstances. When the committee is made up of very different companies each trying to use the web as a chip to bolster different parts of their businesses, of course the process is going to be broken. It probably can't not be broken.

<comment><USER43> I don't see how deciding the syntax for a gradient fill might affect one business concern vs another

<comment><USER42> Actually there are very real ways in which this sort of thing can impact one vs another. eg. Adobe may push for a format that natively supports the double sided color filling rules they use in Flash to make it easier for them to produce Flash->HTML5 conversion frameworks without a lot of code rewriting while other parties may not have this as a concern.

That aside, you picked a ridiculously low-hanging fruit of a concern. Consider something larger, like JavaScript and the fate of ECMAScript 4 due to the very situation I'm talking about. But even the minor bikeshedding concerns can be used as political levers one way or another regardless of how (in)significant one implementation is compared to another.

<comment><USER43> There ought to be at least some things that literally none of the participants in w3c etc have any conflict of interest about and therefore would be able to decide quickly on. The debate over the <video> tag for example may never be decided on. But I have trouble thinking of any counter-examples.

</comment></comment></comment></comment><comment><USER44> Ohhhh, so it's okay when webkit does it... just not IE.

</comment><comment><USER45> I think the reason for this kind of slow evolution is lack of generic properties (like --surprise-- internet explorer's filters ) which lets developers push the boundaries on their own with in a reasonable limit. For example, support for border-radius, linear gradient, box shadow, text shadow etc all deal with rendering of elements at various levels. If there is a generic property which lets us control rendering and positioning of elements to a limited extent, the current evolution and standardization processes will be much less of a problem (I'm not saying internet explorer's filters are the way to go. But you have to give them credit for putting such a generic property in developer's hands).

</comment><comment><USER46> the guy proposes to kill standardization bodies, and that web engines should do w/e the hell they like, regardless of standards.

coming from what appears to be a webkit dev, that's pretty bad.

standardization bodies should certainly be deeply fixed - but this kind of reply is wrong.

</comment><comment><USER47> >The reason the -webkit prefix was necessary is simple: the W3C and the CSS Working Group are ineffective, failed organizations.

This is a bit too far. The -webkit prefix was a gesture of courtesy. What if other browsers implement it differently, and the spec changes? then older webkit browsers will render it incorrectly.

The solution is simple: code to the standards, then target the fringe browsers. It doesn't matter if it's webkit or IE, this is a future proof, cross compatible solution that will solve both problems.

</comment><comment><USER48> Let's broaden the picture a bit here and look at the internet as a whole. There are no standards - there are suggestions (RFCs), lots of open stuff (open source, free, whatever), and some closed stuff, and then there's what really happens.

It turns out that IPv4 and DNS worked pretty well, though of course the internet at-large only uses a portion of those "standards". We didn't need an organization to tell us every last little detail and how it would work and "approve" it before we use it. People found out what worked, documented it, and it became the de-facto standard. We've never waited on the various internet "governing" bodies while keeping our own progress at bay. THere's absolutely no reason to.

Know why everyone (more or less) obeys the allocations issued by ARIN? Because we recognize someone has to manage that limited resource pool, and they do an okay job of it. We're all free, more or less, to set up networks in whatever way we want, with whatever IP space we want - we just can't expect cooperation from our neighbours without some discussion and agreement so we don't stomp on each other's space - so we look to ARIN and their brethren to manage this. If they ceased to do so efficiently, they'd be replaced.

The W3C has no power to force a developer or vendor to implement a given feature or not, and nobody really cares whether or not something is "officially" compliant. Most web pages are not fully compliant... yet the web, built by kids and adults and everything in between grew up and here we are, talking on HN.

It'd be great if people could agree when we end up with overlapping features from different vendors...... it makes it hard for the developers right? That should be obvious to all. But we've switched browsers over the years, and will again, and whichever ones actually do what people need them to do, as well as keep developers happy, will prosper - w3c has little to do with it as far as I can see.

Same for DNS (gripes aside - let's be realistic).

We implemented IPv4 and it works great, but does the internet at large obey the type of service bits which are part of that standard? heck no. It's a big, evolving, organic thing.

The web - same deal. Know what makes a standard? Something people adopt and continue using. Usage defines the standards - nobody is compelled to do anything just because it's a "standard" according to some group.

</comment><comment><USER49> Front end Developers seem to disagree a lot. Some embrace the webkit prefix and sprinkle it all through their CSS. Others prefer not to resort to old fashioned site building techniques and instead aim to get the functionality working everywhere in one hit without coding like it's 1996.

</comment><comment><USER50> I fully agree with this. CSS set the web back years with it's inability to handle simple layout. The W3C organization is run by representatives of major corporations, and the standards take years to roll out.

</comment><comment><USER51> W3C is a web standard, on paper.

<http://www.webkit.org/coding/lgpl-license.html>

WebKit is living, breathing, open standard that anybody can fork and contribute to.

Code talks, paper walks.

<comment><USER6> Code is crucially important. That is why good standards bodies require implementations. Nevertheless, that doesn't make an implementation a standard (unless you are satisfied by under-specified, poorly documented, fragile, de facto "standards"). That you don't seem to care about (or possibly don't understand) the distinction suggests you are part of the problem.

NevWebKit is an implementation, not a standard. That you

</comment></comment><comment><USER52> Why doesn't the standards body ask webkit to deprecate and begin to phase out any -webkit-* CSS selectors which have been fully standardized? That seems like an effective way to force people to use the standards once they actually exist.

Complaining about people using -webkit-* before the standards exist is obviously unreasonable, considering the implications of populating the global namespace with conflicting versions of the same feature.

<comment><USER53> The standards body has asked WebKit to do that, in fact.

Apple flat-our refused to ever remove -webkit prefixes that they have once shipped.

Note that no one is complaining about the mere existence of the prefixes; the problem is:

1) The way they're being used by web developers. 2) The fact that some of these properties are not standards-track, with Apple actively refusing to allow them to be standardized.

</comment></comment><comment><USER54> ... dcurt.is is an abuse of the TLD standards...

</comment><comment><USER55> Great points. I'm going to automatically concur on the grounds that I don't think bureaucracies that produce nothing should have a say in the production of anything.

</comment><comment><USER56> The aggressive dismissal of the concerns are unwarranted and a bit ignorant. The concern is not, per se, vendor extensions -- such a mechanism exists for a reason -- but rather that many _users_ of those extensions have lazily taken to only bothering with webkit extensions. Most of the time for no reason other than an IE-only like "suck it" attitude (many demos front-paged here on HN only work in single browser, despite often needing just trivial changes to work elsewhere).

Dismiss the W3C and the purpose for standards at your peril. Webkit and its offshoots have the ability to innovate on the edge _because_ that body and its impact kept the web open.

EDIT: It's worth noting, with sober consideration, that _exactly the same argument was made to support Internet Explorer_ during the ugliest days of the web. This could have been cribbed verbatim from something a Microsoft advocate would have said in the late 90s.

<comment><USER12> You miss the fact that Gecko and Webkit are open source projects. There will never be the case where something like ActiveX can exist with these projects.

<comment><USER57> Okay, so you now you have edited the source code and compiled a binary, is your recommendation that the binary be downloadable and installable by the user from the website?

Open source is one thing, but if you're not able to convince Google and Apple to ship your changes, you've hit a wall. FF implementing support for the WebKit extensions is what will break the web back into the IE-dominant era.

<comment><USER58> Note that, to get the web _out_ of the IE-domininant era, it was first necessary for Firefox to implement IE extensions like document.all and innerHTML.

Having a competing browser is useless if it won't work with the content that people want to use.

</comment></comment></comment></comment><comment><USER59> Relax. Just relax. The web browsers are automatically updating themselves for a reason.

</comment><comment><USER60> I am going to go out on a limb and say: fuck standards.

Make a powerful, but extremely simple (as in: small instruction set) virtual machine and protocol. That way anyone can make their own standards.

<comment><USER61> Sir, do you understand the World Wide Web?

<comment><USER60> Apparently not - what am I misunderstanding?

<comment><USER61> More-or-less assured interoperability and complexity of content creation stand out as two of the larger issues. Episodes of the web's history when organizations did create their own standards might be another one.

</comment></comment></comment></comment><comment><USER62> Kudos to the author of the article. I read the referenced article on glazman.org, and once "glazou" described -webkit-* as having "hardware market dominance", I could not stop LOL'ing until I finished reading his blog post. Seriously?!

I second that the web is constantly evolving, whether or not it benefits the ego-fat cats at Google, Apple, or Mozilla. Get used to it and adapt, at least that's what I remember hearing in a Google Tech Talk back in 2008, does anyone still tune in to those?</comment>


Astronomer complains: The ISS passed through NGC7000 - <AUTHOR> http://spaceweather.com/submissions/large_image_popup.php?image_name=Nick-Howes-issngc7000_1313624231.jpg <comment><USER2> I wouldn't be complaining about having taken that shot. It's pretty great.

Also, it's not like NGC7000 is about to go anywhere. Do it again tomorrow night!

</comment><comment><USER3> ? I don't see a complaint there.

<comment><AUTHOR> The wording feels like a complaint to me. Maybe it's a British thing, and slightly more subtle than comes across in most internet text. It feels gently annoyed, slightly tongue-in-cheek.

<comment><USER3> I read it more as chagrin. I was once looking at Saturn through a telescope and a satellite (of Earth) crossed the scene. As it's rather rare for "fast" events to happen while looking at the sky, I was somewhat thrilled. I interpreted that poster's comment with similar context.

The author did say the observation was "just to test a new guide camera", so it's not like ISS interrupted the main purpose of shot, and a picture of NGC7000+ISS is much less common than NGC7000 by itself.</comment></comment></comment>


Iron Age study targets British DNA mystery - <AUTHOR> http://www.bbc.co.uk/news/science-environment-43712587 <comment><USER2> I'd love to understand how the DNA modelling from archeological remains found, curated before we knew how to do PCR avoid contamination issues.

Basically, how do they _know_ the level of contamination in these huge held stocks of pots and fragments?

For future finds, I can totally get behind a protocol to collect from a layer with huge amounts of _avoid contamination_ behaviour. But did they do that enough during the golden age of digging?</comment>


None of Us Knows What We're Doing - <AUTHOR> http://www.feross.org/none-of-us-knows-what-were-doing/ <comment><USER2> I don't usually play the part of armchair psychologist, but this essay appears to me to be an excellent example of projection.

<http://en.wikipedia.org/wiki/Projection_bias>

The author assumes that because he doesn't know what he's doing, other people also don't.

I disagree. Sometimes people can know exactly what they're doing, and be fairly confident about the possible consequences.

I made a viral hit similar to the author's YT instant, and I very much did not know what I was doing. Then I did it again with different code, without leveraging the existing user base, just to see if it was all luck. It wasn't. I think a better argument would be that "sometimes successful projects are successful by accident", but that would make a terrible post title.

<comment><USER3> Yeah, according to the author I guess Einstein was "winging it" too.

<comment><USER4> "If we knew what it was we were doing, it would not be called research, would it?" \-- Albert Einstein

<comment><USER3> Sure, and we still research Gravity today. That doesn't mean we're _guessing_ a ball will drop when released the same as it always has, now does it? At some point you _do_ know what you're talking about, to a degree of certainty beyond "winging it", at any rate.

<comment><USER3> I find it funny someone downvoted my comment above. They must imagine we _really don't_ know anything about anything. Perhaps we should just throw out all scientific experimentation, proofs, textbooks, etc. ever done and pretend the universe is actually working according to Dr. Seuss type principles. It's just as likely, right? </sarcasm>

</comment></comment></comment></comment></comment><comment><USER5> "I decided to turn off the incessant trivial chatter on Twitter and TechCrunch, get my hands dirty, and just build something."

Hence this exchange a few days back: <http://news.ycombinator.com/item?id=2556295>

        "He seems to leave virtually no trace (other than awesome software) on the Internet."

        "Probably because he spends his time writing awesome software."

<comment><USER6> An excellent point.

</comment></comment><comment><USER7> I'm surprised this didn't get much of a response on HN - I really enjoyed the article. Very inspirational and candid.

</comment><comment><USER8> Is it just me or is this perhaps taking the story of YouTube Instant a bit far?

I mean ya, I guess it got some press and got him a job offer, but it's not like he invented cold fusion or something. It was a cute idea. Can we really draw any kind of real conclusions from it?

Seems like that type of success, of a cute meme taking off is actually rather common, it is the longer term, build a sustainable company, king of success that is much more difficult.

PS. Hate the font formatting, ugh.

<comment><USER5> He's excited about how successful he can be when applying himself to an idea for a few hours.

Scale it to 10,000 hours (Gladwell's Rule for success).

And that to >100,000 hours (lifetime devotion to an idea by the hyper- successful).

The importance of learning enough to recognize an opportunity, searching for it, finding it, then tenaciously applying oneself to it for decades, is something not taught in schools (at least not well) - most have to figure it out or fall into it.

</comment></comment><comment><USER9> I'm surprised no one's brought up the counterexample of Steve Jobs. He turned Apple from an unknown garage startup to one of the industry's most powerful players in just a few short years.

When Jobs was ousted, Apple went to the dumpster. When he returned, Apple once again rose to great success. Jobs was directly responsible for enough wildly successful products to make probably any other company or inventor in history green with envy.

It would be silly to claim that Apple's success is due to blind luck. Jobs' relationship with Apple and Apple's products appears causal and has been repeated in different market environments with vastly different product lines, which flatly contradicts the idea that _all_ successful people wing it and succeed based on luck.

Sure, some people succeed on accident. Some people succeed because they have real talent and just happen to get publicity at the right time. But some people succeed on purpose.

</comment><comment><USER10> Your claim that most people who hit success dont have product vision may be true. Even though this might not be quantifiable, I get a similar idea from what I read. But I definitely think that it is not as uncommon as you think among Fortune 500 companies. I would think Bill gates( controversies/ethical questions apart) had a great vision. The reason why I say this is, I could say cancel a trip to Bahamas hoping to build something and see if I make it big. However, I would probably not drop out of a prestigious school to build something unless I am dead sure it will be a success. Obviously I am talking about Bill here.

</comment><comment><USER11> What's with all the bold and italics? I feel like I'm being yelled at in the face.

</comment><comment><USER12> Are you still reading Hacker News? Didn't you get it?

</comment><comment><USER13> One think I'm missing in this story: You have to know what you are doing to have some luck in doing what you do.

</comment><comment><USER14> One of the best articles on hn this year.

</comment><comment><USER15> The grammar of this headline really bugs me. The author correctly remembers that "None of us" is singular, but then spoils it by throwing in the plural "we're".

The correct version would, I think, be "None of us knows what he's doing", although both the feminists and the languagelog folks would complain about that.

<comment><USER16> Are you sure about "none" being singular in that context? I agree that the title is inconsistent, but I'd have written "None of us know what we're doing" (if I couldn't just pick some other phrasing).

gcide defines "none" as "No one; not one; not anything; – frequently used also partitively, or as a plural, not any." and also offers "None of their productions are extant. –Blair", both purportedly from 1913 Webster. So it seems that the pronoun can be interpreted in either number as needed.

<comment><USER17> Yep, "none" is not always singular. For example: "None of them are coming today" instead of "none of them is coming today". It is generally considered unidiomatic to use the latter.

<comment><USER15> No, the former is wrong (and sounds very wrong to me) regardless of how frequently misused it is.

"None" == "Not one", and therefore singular.

</comment></comment></comment></comment><comment><USER18> The internet is so unpredictable.

</comment><comment><USER19> Well, yeah.

No one knows what they're doing. They only have the appearance by doing the sensible thing and doing the best they can.

The result is that in reality a lot of people know what they're doing; but they're still resting on that cardinal assumption:

whatever you're doing, it could fall to pieces. Even the most egotistical hacker, in his/her private moments, acknowledges the chaos of the universe.</comment>


Where business logic isolation fails with RDBMSses - <AUTHOR> https://ministryofdev.org/2016/11/08/where-business-logic-isolation-fails-with-rdbmsses/ <comment><USER2> > If you've already decided that you have to have an RDBMS to clear the job, > take this advice: screw the good advice 'never design for the future'.

This gives a high expectancy for the article. It begins in a good way, with a real database, but all of sudden it ends. Some questions are presented, but I'm sure it will get much more valuable when the problems are solved by showing the answers and examples. Probably a following article will complement it, no?</comment>


I'm Meng, Retired Jolly Good Fellow of Google. AMA - <AUTHOR> https://www.techinasia.com/talk/chade-meng-tan-google-ama <comment><USER2> That whole block of self-promotion at the beginning kind of put me off continuing to read the ama.</comment>


Older versions of Reason not compatible with High Sierra - <AUTHOR> https://www.propellerheads.se/support/news/propellerhead-products-and-macos-high-sierra/ <comment><AUTHOR> Looks like I won't be upgrading any time soon. It's either that, or dump Reason for Logic.

Makes me wonder just what kind of nightmare I might be facing with other software I use.

</comment><comment><USER2> What kind of crazy stuff has been going on that would make older versions damage documents on an OS upgrade?</comment>


Politicians are using the coronavirus to seize control - <AUTHOR> https://www.washingtonpost.com/world/2020/03/23/how-politicians-are-using-coronavirus-seize-control/ <comment><USER2> "Never let a good crisis go to waste."

The proposed backdoor nationalization of companies via bailout wasn't discussed. Proposals include mandatory board positions for workers, increased minimum wages and other regulations which will make already failing companies uncompetitive.

It isn't difficult to imagine how this would lead them to ask for further bailouts. At which time, further government intervention would be proposed.</comment>


We Need Mandatory Enduser APIs for Social and Search Systems - <AUTHOR> https://continuations.com/post/172413445510/we-need-mandatory-enduser-apis-for-social-and <comment><USER2> "Mandatory"? Sorry, not all problems should be combated by government regulations. In fact, regulations almost always make matters worse.

The libertarian in me is shrieking.</comment>


Peter Norvig - World's Longest Palindrome Sentence? - <AUTHOR> http://norvig.com/palindrome.html

<comment><USER2> Only a sentence in very rough terms as he's just stringing together an arbitrarily large number of noun phrases. The palindromes are of the form:

S -> "A man", "a plan", (NP,)* "a canal, Panama!"

which I suppose you could call a sentence.

<comment><USER3> Indeed. It's a fun exercise in coding but the output is very "monkey at typewriter not producing Shakespeare".

</comment></comment><comment><USER4> Not loading for me.

You guys know the Weird Al song, right?

<http://www.youtube.com/watch?v=Nej4xJe4Tdg>

<comment><USER5> Way more awesome. And I did not. Many thanks for the link!

</comment></comment><comment><USER6> Google cache: [http://webcache.googleusercontent.com/search?q=cache:7e4IeWg...](http://webcache.googleusercontent.com/search?q=cache:7e4IeWgkyioJ:norvig.com/palindrome.html+http://norvig.com/palindrome.html&cd=1&hl=en&ct=clnk&client=firefox-a)

</comment><comment><USER7> That's AFAIK the longest human-made palindrome but I'm sure there must be longer ones:

<http://everything2.com/index.pl?node_id=830538>

I'd be glad to find longer ones!

</comment><comment><USER8> Doesn't he have bigger things to worry about, like staying ahead of Bing search quality, for one?

<comment><USER9> Sometimes programmers do things just for fun. Its helps stave off the urge to bludgeon themselves to death with their own keyboard.</comment></comment>


If the economy is going to recover, Americans need to start taking risks again. - <AUTHOR> http://www.slate.com/id/2213595/

<comment><USER2> Can someone explain how this article isn't self-contradictory? On one hand, "In January, Americans saved 5 percent of disposable personal income, up from 0.4 percent in the fourth quarter of 2007" but on the other, "We also need to start investing again".

Where are those additional savings going? Barring folks stuffing the money under their mattresses, it must go into some investment instrument, which means it's going into either equity or loans to businesses, or into banks where it goes into loans to businesses or consumers (other than banks building up a buffer against the risks they're finally recognizing). If those loans go to consumers, they must obviously get spent. If we're talking about any of corporate equity, corporate debt, or bank loans to companies, all three of these things are investments in future production. The only discrepancies should be those bank buffers, and any investments going overseas. Money always gets spent, it's really just a question of how quickly, and on what.

Also, "Last year, Delaware ... saw new incorporations drop by 25 percent [relative to what?]." Well, at least part of this is our own doing. This has been going on for several years, but new incorporations have been down for several years to the costs and risks that were added by Sarbanes-Oxley. See, e.g., here <http://www.nysun.com/opinion/reclaiming-the-market/46366/> and here [http://findarticles.com/p/articles/mi_hb042/is_2003_Nov- Dec/...](http://findarticles.com/p/articles/mi_hb042/is_2003_Nov- Dec/ai_n29046313) . So it's not clear how much of this effect is due to the current drop and how much is intentionally self-inflicted.

</comment><comment><USER3> Unfortunately, the reason that we are in this recession is that people took too much risk. We have been living with a net negative national savings rate for a while now. That consumption of capital is partly what has allowed this downturn to occur. We need to be saving now more than ever.

Also, there is no paradox of thrift. When people save, it does not mean that they do not produce, merely that they are refraining from consumption. And at a savings rate of five percent, we are hardly refraining at all.

Normally the higher savings (refrain from consumption, higher interest in future goods over present ones) would cause businesses to invest more in longer term production, i.e. making more future goods. Thus a higher savings rate is responsible for a higher future standard of living, and more risk taking. So attacking the savings rate and saying that we shouldn't be so careful is a terrible idea.

That said, businesses are still likely to take too much risk because of the low interest rates. The way that the higher interest in future goods signals the companies is normally through lowering interest rates, which the federal reserve has done recently even though there has not been a corresponding increase in savings. This imbalance between business expectations and actual consumer desires is what causes booms and busts.

So please don't tell me to be risky with my money. I'm not saying that taking advantages of opportunities is a bad idea. I like the idea of being an entrepreneur myself. But telling us that a five percent savings rate will cause our depression to get worse is like telling a sick person that taking a 15 minute nap will make them more sick. They probably need a lot more sleep than that, and encouraging otherwise may prove disastrous.

<comment><USER4> More like they took the wrong kind of risk. The problem was that people were expending their future incomes on present consumption-- e.g. by borrowing money to live in luxurious houses. It would not have been so bad if they'd been been borrowing money to invest it in productive assets, like more efficient machines for their businesses.

<comment><USER3> Indeed. I didn't say that risk was bad, necessarily. Rather, encouraging risk to avoid a non-existent paradox of thrift is a dangerous thing. Personally, I think that the news about people losing less money at casinos is a good thing. They are much more likely to be able to invest it in worthwhile endeavors having not lost it ;)

Also part of the problem is that everyone was consuming their present and future income (negative net savings rate) - as opposed to some borrowing and consuming the present savings of others. As such we were actually consuming present capital and reducing our future income, as evidenced by the recent downturn.

</comment></comment></comment><comment><USER5> Also important to point out there are some risks that we don't want to start taking again (i.e. 35x leveraged banks)

</comment><comment><USER6> "Mother Nature doesn't do bailouts."

</comment><comment><USER4> Stay tuned.

<comment><USER3> Why - are you writing an essay on the topic? ;)</comment></comment>


Reviews for Heroku add-ons - <AUTHOR> http://heroku.orankl.com/

<comment><USER2> Went to the page, clicked one that looked interesting called "Wrangler" (I am not familiar with this). No reviews, ok, but not even a link to the owners page? No links to documentation or anything to help me find the original project? Searching for "wrangler" on google helps me find a lot of information about Jeeps. More context would be very helpful.

<comment><USER3> Searching for "heroku wrangler" would be wiser, and produces a number-one result suggesting that it's a report generation tool for your database: [https://devcenter.heroku.com/articles/wrangler](https://devcenter.heroku.com/articles/wrangler)

</comment></comment><comment><USER4> Is this official or otherwise endorsed by Heroku?

<comment><AUTHOR> No. We just felt that there should be a place for the community to talk about heroku addons so we made this.

<comment><USER5> There's no way Heroku are going to let you clone their design and use their brand like this.

<comment><AUTHOR> If they ask, we will change the design. We just made it like this to make it easier for people to find the add-ons.

<comment> vertex-four You're in violation of their trademark at least. There is nothing, anywhere on that page that suggests that you are not Heroku or acting in concert with Heroku, and you're using their logo and branding heavily.

</comment></comment></comment></comment></comment><comment><USER6> Awesome idea however not many reviews. If there were more I would definitely refer to this website. From my experience you can't rely on community contributions to grow your website until later on. So might be a good idea to get you and your friends to test out the features and write reviews yourself, just to get a starting point.

</comment><comment><USER7> If anyone has used one of the elasticsearch add-ons, I'd love to read a review.

Feature request: Allow the reviewer to specify which tiers of service they've used. I want to use elastic on heroku for my side project, but if the $10 plans are as slow as the $10 db plan then I need to decide between dropping heroku and jumping to the $50 db.

<comment><USER8> We've used both Bonsai and Found in production with some fairly heavy read loads. They've both been a joy, with better support, stability and pricing than what I'd expect out of other database providers (Redis in particular used to be troublesome for us.)

<comment><USER9> Redis is surprisingly difficult to run well. I think most early providers just weren't very sophisticated. The Elasticsearch providers are mostly a new generation.

<comment><USER10> Depends on the provider - some are doing the same thing they did 2 years ago whereas others keep innovating constantly :)

<comment><USER9> I specifically wasn't thinking about you guys as "early" when I said that. :D

</comment></comment></comment></comment></comment><comment><USER11> Like the idea, it usually takes a lot of research to track down which add-on to use, it's not easy/a good use of time to try-before-you-buy.

Feature request: Would be easier if there was a star/popularity rating on the front page.

<comment><USER12> You should take a look at StackShare.io

(Disclosure: I'm an investor in StackShare)

</comment></comment><comment><USER13> This is awesome. I have been asking Heroku for this for several years now.

Some add-ons are not backed up by solid support/ops teams so this is extremely valuable to anyone considering relying on them for production use.

</comment><comment><USER14> Good idea.

They should add github Oauth for the login.</comment>


Rent prices across the US: SF tops list with new record high - <AUTHOR> https://www.zumper.com/blog/2015/06/zumper-national-rent-report-june-2015/

<comment><USER2> When did Miami get that high?? I grew up in an immigrant family of four in Miami. One, we never paid rent anywhere close to that, and two, we wouldn't have been able to afford it, at all.

Not the Miami I remember.

<comment><USER3> If you live downtown in Brickell, that's for a luxury condo with a bay view, in-unit washer/dryer, parking spot, etc. I have friends that live downtown with less amenities and in a safe area but not so nice apartments that pay around $1200.

Less than a year ago, I had a nice 900sf 1br highrise (garage parking, 2 spaces) in Coral Gables (near downtown) for $1600.

I live now about 45-50 minutes from downtown in Pembroke Pines and pay $1850 for a 3br townhouse (it's a nicer one).

I'd check Zillow if you are truly interested but yeah these numbers seem off, for Miami anyway.

 __edit, by nice I mean title floors (no carpet at all), in unit washer /dryer and a decent kitchen. My townhouse has all granite/stainless steel appliances and is newer (2008) construction. The condo I had in Coral Gables was newer (2005?), had key entry (for garage and pedestrian entrance), had on-site gym, pool, business center and a security guard. I was a 5 minute walk to Miracle Mile (shopping and restaurants). Commons areas were well maintained and cleaned everyday, painted and or deep cleaned every few months (to the point it got annoying! - but that's a good thing, right?).

</comment></comment><comment><USER4> TAKE THAT YOU DAMN TECHIES

(whatever they are)

</comment><comment><USER5> insane! thanks for sharing!</comment>


Ask HN: Why would I pay WeWork's Hot Desk for $220/month - <AUTHOR> Why would I pay WeWork's Hot Desk for $220/month when I could use a public library or coffee shop for free?<p>Ok maybe some coffee shops may have loud annoying music, but there are still community college / local universities everywhere I sit for free. <comment><USER2> WeWork works because many autonomous individuals still have the need to have an office... a place to get work done. Also because clients wouldn't meet you at the library or coffee shop for a meeting.

<comment><AUTHOR> Why wouldn't clients meet at the library or coffee shop? There are plenty of coffee shops that aren't noisy. And if not, you can book a quiet room in the library too.</comment></comment>


Firefox Bug 111373 - don't allow animated site icons - <AUTHOR> https://bugzilla.mozilla.org/show_bug.cgi?id=111373 <comment><USER2> For anyone who hasn't seen it, a favicon-based game:

[http://www.p01.org/releases/DEFENDER_of_the_favicon/](http://www.p01.org/releases/DEFENDER_of_the_favicon/)

<comment><USER3> This is hilarious.

</comment></comment><comment><USER4> The ticket is open so long because a workaround exists: close this tab and never open this web site again.

<comment><USER5> Or rather, a userscript/plugin?

<comment><USER4> what plugin?

<comment><USER6> Greasemonkey extension with some script like [https://gist.github.com/robbyrussell/46193](https://gist.github.com/robbyrussell/46193) (I didn't test it but it should work)

<comment><USER4> Ah, a script/plugin as a workaround? Maybe, but do the sites with animates favicons deserve so much attention? Do you know any useful web site with animated favicon?

<comment><USER7> GMail has a cool extension in Labs that changes the favicon to display the number of unread messages. So that's a use-case.

<comment><USER4> That's useful, My webmail (yandex) has this feature too.

I think such notifications is not what this ticket is about. Not just because technically in this use case favicon is replaced, not animated.

The ticket IMHO is about favicons which constantly move.

In any case, if I don't like a web site (its favicon, or the content) I don't use it; I personally don't see the anymated favicons as a serious problem and wouldn't spend any hour of my time working on it. Moreover we don't have right to demand it from FireFox team.

Although I understand the author of this post, I sometimes feel annoyed by certain features or problems in software too. Give it some time, and you will forget about it :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I also hope FireFox would prevent HTML5 YouTube videos form autoplaying and autoloading. They will implement a such feature in the next version, but it doesn't seem to work properly now (It's beta, I know). And it's not clear to stop autoloading, either. Does anyone have a good idea to block autoplay and load HTML5 videos?

[http://www.ghacks.net/2015/06/11/finally-mozilla-adds- workin...](http://www.ghacks.net/2015/06/11/finally-mozilla-adds-working- html5-video-autoplay-blocking-to-firefox/)

<comment><USER9> I think it would be possible to configure noscript to allow scripts, but require a click to play media (I haven't actually tried it like that, since I just keep almost all scripts blocked anyway).

<comment><USER10> NoScript has a configuration option allowing you to set HTML5 content as click to play.

<comment><USER11> I can't find it. Is it not in the options GUI?

<comment><USER9> Did you try the "Embeddings -> Forbid <AUDIO> / <VIDEO>".

</comment></comment></comment></comment></comment><comment><USER12> That bug only has 60 comments. Here's one with 600+ comments and 400+ people in CC. [https://bugzilla.mozilla.org/show_bug.cgi?id=78414](https://bugzilla.mozilla.org/show_bug.cgi?id=78414)

<comment><USER13> I noticed that one too. I think with flash and co dying this won loses intent as well. Nowadays I have nearly zero websites where this is a problem.

</comment></comment><comment><USER14> _It 's a trap_

Low priority issues can sometimes linger around for a _very long time_ taking away precious focus of developers and creating distractions from adding real- value-features.

</comment><comment><USER15> Hmm. How many animated favicons have you noticed? I can't think of any...

<comment><USER16> I've seen zero animated favicons. I'm wondering if it's a "feature" that doesn't work on Linux. The URL bar doesn't even display favicons anymore, although they show up without animation in bookmarks.

<comment><USER16> [http://www.p01.org/releases/DEFENDER_of_the_favicon](http://www.p01.org/releases/DEFENDER_of_the_favicon) that somebody linked to shows that the animation does indeed work in the Linux version of Firefox. Weird that I've never seen one before, but now that I've seen it, I don't want to see another.

</comment></comment></comment><comment><USER17> This is a sign that Firefox decision making is democratic and actually fair isn't it?

<comment><USER18> It's more a sign that a lot of people have an opinion about it but none of those are sufficiently annoyed by the issue to actually fix the problem. There's way more work to go around than time available.

</comment></comment><comment><USER19> I didn't read the entire bugreport; did anybody mention non-gif dynamic favicon changes? Like this:

[https://gist.githack.com/hraban/e669edce68fbb9cd004b/raw/5f8...](https://gist.githack.com/hraban/e669edce68fbb9cd004b/raw/5f87685874594d43666de49a0ca3e8123101d8c6/faviconchanger.html)

(essentially: $('link[rel=icon]')[0].href='...';)

Because that's kind of useful for a lot of sites. Then again, if you don't remove that, what's the use of banning gifs?

<comment><USER20> That's interesting, the animation seems to be slower when I'm on another tab, maybe Firefox has some optimisations affecting this.

<comment><USER21> It has. IIRC the setTimeout and serInterval functions are throttled to 1000ms while the tab is unfocused.

</comment></comment></comment><comment><USER22> I wouldn't blame the Firefox team for not fixing it. It's not that they were doing nothing in the meantime. They actually have their hands full with more meaningful changes. When the web stops developing then they will probably have more time on doing this kind of fixes/changes.

</comment><comment><USER23> I noticed recently that firefox no longer stops playing animated gifs when I press the <esc> key. This behavior change, which prevents me from stopping annoying animations, annoys me more than any favicon ever did.

<comment><USER24> [https://addons.mozilla.org/en-us/firefox/addon/toggle- animat...](https://addons.mozilla.org/en-us/firefox/addon/toggle-animated- gifs/)

shift + esc

<comment><USER23> Thank you for showing me a workaround for this regression!

</comment></comment></comment><comment><USER25> > These animated favicons are a huge problem for laptops. I just reduced

> Firefox's CPU usage from 21.6% to 2.8% by closing a single background tab

> with an animated favicon.

 _why_ does it use so much CPU ? Something is not optimised here, it should be a lot less.

</comment><comment><USER26> My "favorite" ancient bug report, is [https://bugzilla.mozilla.org/show_bug.cgi?id=91337](https://bugzilla.mozilla.org/show_bug.cgi?id=91337) (and its duplicate [https://bugzilla.mozilla.org/show_bug.cgi?id=259109](https://bugzilla.mozilla.org/show_bug.cgi?id=259109))

It's why I stopped using thunderbird, and mostly gave up on mozilla products. Here we are, about 14 years later.

<comment><USER27> I can't reproduce.

<comment><USER28> Same. I'm waiting for the perfect moment

</comment></comment></comment><comment><USER29> This is amusing.

There are bugs opened for 10 years that are infuriating though, like [https://bugzilla.mozilla.org/show_bug.cgi?id=307089](https://bugzilla.mozilla.org/show_bug.cgi?id=307089)

<comment><USER30> There is no magic. Either the browser stores the source somewhere or the browser refuses to show source or the browser refetches the source from the server when asked to show it.

Given that in the setting of that bug report the user has explicitly instructed the browser to not store anything anywhere, and that you don't like the third option (the current behavior), I assume your proposed solution is to put up some sort of error message instead of showing the source in this situation?

<comment><USER29> I suggest to do it like Chrome does, show me the source. Maybe it caches the original source, I don't know, but I can't imagine that's expensive (given all that Firefox caches on each tabs ...).

<comment><USER30> Caching the original source can in fact be pretty expensive in a lot of cases. Which is why Firefox tries to put it on disk, not in memory. But, again, if the user then explicitly turns that off, then Firefox doesn't do it.

The key part here is that this bug report is about a situation in which the user explicitly changes the browser's default settings to not store stuff. And then the browser ... doesn't store stuff. Shocking, I know.

</comment></comment></comment></comment><comment><USER31> At my old job I made one for a client. Their logo would spin once a minute. I thought it was super neat. I guess it was kinda subtle compared to what's possible, it's still the only animated fav icon I've seen.

</comment><comment><USER32> If a browser blocks animated favicons, I can see that blocking sites that dynamically update the favicon with a badge to show unread messages / new updates / etc.

<comment><USER33> Am I missing something or are a lot of people confusing animated favicons (animated gif as favicon, as per the linked article) with dynamically setting the favicon?

<comment><USER34> The problem is that there is no difference.

Or rather: you can simulate animated gifs with dynamically setting the favicon. And as such blocking animated gifs wouldn't do anything beyond driving people to use JS to animate them instead.

So, realistically, either block both, block dynamically setting it but allow animated gifs, or keep both. But blocking animated gifs but allowing people to dynamically set it won't do much of anything.

Personally, I'm for blocking animated gifs (or rather, making it a config option), and throttling dynamically setting the favicon (like how FF already throttles background JS events). Unfortunately, given FF's push towards no options, I very much doubt it's going to happen.

</comment></comment></comment><comment><USER35> One nice thing about Firefox is that you can turn off the display of favicons via about:config. This is nice as I personally find them to be annoying and unneeded.

</comment><comment><USER36> Reminds me of block popup features (not necessarily solely in Firefox). Is it really that hard to prevent ANY new tabs or popups being opened by a page?

</comment><comment><USER37> I have an idea, if you don't like something a site does, stop using it.

<comment><USER38> I really don't get that logic.

To me what you're saying is equivalent to saying that we should never discuss anything.

 _Something 's wrong with the society? If you don't like it, you can just move to a different country._

How can we possibly improve anything with that mindset?

I know that I'm overreacting here, but I would genuenly like to here comments about that.

<comment><USER39> Not everything has to be dealt with the same way, and not everything exists as the same priority. Using or not using an annoying website doesn't come close to the effects that living in a society that touches every part of your life.

I can stop going to a website or a store because of many reasons without impacting anyone around me and getting the same result of not being botherd by them. That is not an option regarding where I live. No I can not just move, it is not that simple.

> I know that I'm overreacting here, but I would genuenly like to here > comments about that.

It would seem you likely already know the answer.

</comment></comment></comment><comment><USER40> Yeah, yeah, everyone loves to hate on Firefox.

Still, if you're gonna do some shaming, pick something serious, there are some serious things to pick form iirc.

<comment><USER41> Yeah like the fact that chrome is just generally shitty. It takes 30 seconds to open and then uses half my RAM, but nah, lets hate on FF. OSS is such an easy target too, seeing as most communication is done out in the open.

When chrome developers make closed source tools for flash that's fine, "It's all about business and they're a private corporation who can do what they want" but whenever the FF devs make any decision about anything they get criticized, and most of the people doing the criticisms are chrome users and people who swear by chrome for web development, but they seem to be the same people who completely ignore other web browsers as if chrome is all that matters. Back in the day we had to target all major browsers, now there's a group of people who have a major hard-on for chrome and don't give a shit about any other ecosystem and for some reason they think they're "good" programmers.</comment></comment>


The title of this video should change with the times [video] - <AUTHOR> https://www.youtube.com/watch?v=BxV14h0kFs0 <comment><USER2> Dupe. [https://news.ycombinator.com/item?id=22798914](https://news.ycombinator.com/item?id=22798914)</comment>