Execution in the Kingdom of Nouns (2006) - <AUTHOR> http://steve-yegge.blogspot.de/2006/03/execution-in-kingdom-of-nouns.html <comment><USER2> It's nice to see this classic appearing on HN. Certainly worth a reread. (Edited, thx tikhonj)

The first time I read this article was about one year after leaving University. I graduated as a near pure Java developer and worked in a pure java consultancy. I could have recited various GOF design patterns from memory. By pure luck I was hacking about in Erlang in my spare time.

In Erlang I was managing to piece together a pretty mind bending (for me) application for distributing depth-first search algorithms over a network. I was neck deep in learning about all sorts of hard problems and it was only afterwards that I noticed that I had barely missed the lack of Java-style object orientation. I was a changed man :) I am still a Java dev but I preach OO moderation.

Objects are great, but 90% of the time you probably wouldn't miss them if they weren't there. Now I program Go in my spare time :)

<https://github.com/fmstephe/Erlang-Sat-Solver>

<comment><USER3> A "reread if you haven't read it before", eh? :P

That said, I certainly agree with you--it's a great article. It gives a very good perspective on the issue, and hopefully convinces people who have only ever worked with nouns to broaden their gaze.

I don't entirely agree with everything Yegge writes--like the most recent liberal/conservative stuff--but I do agree with this article wholeheartedly. But then again, I am very clearly the sort of person to verb nouns and then to lambda :).

<comment><USER2> It is probably the most entertaining of all Yegge's articles. And I think it actually gives a really useful overview of the alternatives that are available.

</comment></comment></comment><comment><USER4> I like first class functions. I get hung up on the trash example in this essay though. To show the commonality of verbs in a person's general understanding Yegge says 'get the garbage bag from under the sink'. WTF (Who the fuck) 'gets' the garbage? I do. 'I' is implied. I get the garbage from under the sink. Or perhaps 'Steve' gets the garbage from under the sink. These are nouns (or pronouns, whatever).

If anything, verbs do nothing without a noun to do them, and nouns need verbs to do anything. So perhaps we should just acknowledge the value of traits, objects, and functions and move on. Forgive me (but correct me first) if I have missed something massive here... I'm trying to drink as much as Steve is alleged to while writing this comment.

<comment><USER2> It is true that there is some being, or noun, that is implicitly taking out the garbage in his example. I think the important thing to note is that we can happily _describe_ the process of taking out the garbage without mentioning who does it.

If we step back and look at it in terms of programming the principle here is that an Object Oriented insistence on defining and instantiating a doer for every action is unnecessary clutter.

When a programming paradigm makes people insist that 'everything is an object' or more alternatively 'static methods are terrible' we have strayed from simply finding ways to directly describe what we want a computer to do. We are instead forced into being object oriented.

The example nursery rhymes are a fantastic example of what this culture leads to. That is my daily life and it can be a horror.

I don't think that Steve Yegge would claim that objects are bad, but it is a very effective parody of modern Java programming (perhaps C++ and others but I don't do any of that).

I feel his essay is an excellent rebuttal to the complaint that a piece of code is 'not very object oriented' in some corners of the programming world objects have become and end in themselves. Steve is humorously pointing out that there are alternatives.

<comment><USER4> This was a very nice clarification; thank you. I think your point to look at this 'in terms of the programming principle' identifies the truth that Yegge is getting at, the functions should be first class, without the clutter of the English metaphor.

</comment></comment></comment><comment><USER5> This is a real classic. As someone who had only done imperative programming before reading this it really inspired me to give FP a try and led me down the road to trying Scala and then Haskell. However a year into this adventure, I still prefer "nouns". I think the human brain really does work imperatively for most logical problems. I can't deny that for a single problem the functional solution is often more " beautiful" , but the end user can't see the beauty of my voice and I can always think of an efficient imperative solution much faster. I hope one day I'll have a functional epiphany and be able to write Haskell as fast as I can write Java but so far I haven't had such luck.

<comment><USER6> I think you've mistaken Yegge's point if you see it as "Declarative functional languages are better than imperative ones." It's more about how the version of OO embodied in Java warps your program designs in an awkward way. He presents functional languages as the antithesis of this because, well, they are. But it's certainly possible for an imperative language to put functions and data on the same level — Yegge's favorite language, JavaScript, is an imperative language that does this.

<comment><USER5> I understand it was more anti-Java than pro anything else, I just saw functional as his solution to this problem. I'm already fluent enough with Java that I see absolutely no need to switch to a different imperative language as my main workhorse, so I looked at Haskell as a sort of "go big or go home" approach to weaning myself off of mutable state, etc.

</comment></comment></comment><comment><USER7> OOP goes bad when you take a centralized design and nominalize the verbs, yes. It's more fun to think in terms of trained animals: "Trash, go empty yourself outside."

        TrashBag >> emptyInto: vessel
          |here| here := self place.
          self go: vessel place.
          vessel add: self spill.
          self go: here

This seems just as reasonable as the English he wrote. (I like functional programming too.)

<comment><USER8> Trained animals is a good metaphor. Not passive objects acted upon but actors. Your example is even cleaner in Self which allows implicit 'self':

      emptyInto: vessel = (| here |
        here: place.
        go: vessel place.
        vessel add: spill.
        go: here
      )

</comment></comment><comment><USER9> The problem with verbs is that they are black boxes. With objects you can subclass and override methods - do stuff like the Universal Design Pattern - basing something on prototypes that you tweak here and there. Functions you can only apply, objects have parts that have names.

<comment><USER3> This is why the fundamental operation in the land of the verbs is composition: do this _then_ do that. It turns out that composition is such a useful idea that we want more of it, which is where categories, monads and arrows come in.

The most obvious type of composition for functions is, well, function composition. In math we define the composition of functions f and g as f(g(x)), usually written as f ∘ g. We can write this directly in Haskell pretty trivially:

        f ∘ g = λ x → f (g x)

And, in fact, you will see this operator everywhere in Haskell, except most people are too boring for ∘ and use the ASCII . instead. (Weak.)

Also, a cool aside. I just realized that Haskell syntax is even more regular than I had assumed. In general, in Haskell, you can rewrite expressions like

        f x = λ y → ...

as

        f x y = ...

Turns out this even works for operators! So you could actually write the above composition as:

        (f ∘ g) x = f (g x)

I think that's pretty cool, but maybe I'm just easily impressed.

The idea of a category just takes the ∘ operator and generalizes it to other types, letting you use it for things that aren't normal functions. As I mentioned above, these things could be arrows or functions involving monads, but they can really be anything at all. This is, coincidentally, one of the main reasons we care about category theory: at its very heart, category theory is the study of composition. (Okay, I'm probably really misrepresenting the mathematics here, but that's how it works out for programmers :).)

There _are_ also other things you can do with functions. In particular, you can map functions to other functions. And this is, indeed, what the well-known map function does. Normally, you think of the map function as taking a function and a list and then mapping that function over the list. In Haskell, this has the following type:

        map :: (α → β) → [α] → [β]

However, I posit that map actually does something rather different and more subtle--it takes normal functions and produces list functions. In fact, the type signature is better thought of this way:

        map :: (α → β) → ([α] → [β])

(This is why currying is so great--both interpretations are equally valid!) So, in fact, we can think of the list type as a way of mapping existing types (like a) to new types (like [a]) and mapping existing functions (like (α → β)) to new functions (like ([α] → [β])).

This operation also turns out to be exceptionally useful. So useful, in fact, that it's the basis for one of the most fundamental concepts--the functor. In fact, a functor (in Haskell) is simply any type with a function analogous to the list type's map. For historical reasons, we call this function fmap and it has the following type:

        fmap :: Functor f => (α → β) → (f α → f β)

All this says is that, given a functor type, we can map normal functions to functions over the functor. Another way of thinking about this is that a functor is roughly like a function at the type level.

Of course, we have other ways to transform functions as well; fmap is just the simplest. Similarly, we have other ways to compose functions, function composition is just the simplest.

So the most important idea is that we actually have a fairly wide variety of operations over functions. We can sling them around as easily as any other data type, really.

We move forward by _combining_ functions rather than trying to modify them. Instead of starting with a composite piece and working inwards, we start with the basic building blocks (functions and types) and work outwards, combining them in different ways to get a composite program.

It's a difference in philosophy, and I think a rather important one.

<comment><USER10> Your explanations of Haskell concepts have been impressing me lately. Do you write elsewhere?

<comment><USER11> of course he does. every Haskell programmer has a blog. some have several.

</comment></comment></comment></comment><comment><USER12> It's funny that this is so popular, because I think it is probably the single most counterproductive thing written about software ever. Seriously.

As far as I can tell, the only point of speaking about the poor oppressed "verbs" is to screw up the thinking of the reader, making the reader feel sorry for them. It seems to have worked in some cases, but is there some other reason for it?

But what really annoys me is that the author is an illiterate. He doesn't know what nouns and verbs are. He says nouns don't do much, but of course its only nouns that do things; verbs are what nouns do. How can anyone read this without wanting to point out to the author that functions are nouns?

The only substance to his complaint is that Java seems unnecessarily verbose. Because some objects are one-trick ponies, it seems unnecessary to say "call" or "execute" or "doit", when that can be implied. But calling a function is calling a function, whether your language uses the word "call" or not. It is only because a function is a noun that it makes sense to use a function itself (rather than its output) as argument to another function or as a return value. You can use the function as an object precisely because the function itself is something different from calling (or if you prefer "executing" the function.

<comment> qu4z-2 Is "eat" a noun too now?

What's the subject of the previous sentence?

If we insisted on only using gerunds + "do", English would be a very strange world indeed. I imagine it would sound much like Java often does: "Eating is done by me of a sandwich.". Sometimes even "An eating is done [...]" :)

PS: The author is hardly illiterate. That's plain uncharitable.

<comment><USER12> <i>What's the subject of the previous sentence?</i>

"eat". Words used as words are nouns in that context. Like the word "eat". Like the word "word". When something is eaten, someone or something is doing the eating, eat" doesn't eat itself.

I think it's fair to be a bit harsh when the entire essay is based on grade- school level misunderstanding of what nouns and verbs are.

<comment> qu4z-2 The question was somewhat rhetorical.

The point I was trying to convey was that even though verbs can be used in a noun context, that doesn't really make them nouns.

Similarly functions and objects. There's a certain verbiness to a multiply function that a Cat object doesn't have.

For further consideration: "It rained." What's doing the raining?

</comment></comment></comment></comment><comment><USER11> Yegge is a great author. I really wish his collected rants book was available in paper and not just the Kindle edition.

</comment><comment><USER13> I remember reading this. Highly recommended but the methodology dogma goes both ways.

My take on it is this. Object-oriented and imperative style is eating with a fork and a spoon. Functional technique gives you a knife. The people I'm most suspicious of are the ones who think I'd be more productive if one of my utensils were taken away.

</comment><comment><USER14> Yeah, but you can always have static methods, which let you call a function without creating an object.

<comment><USER15> Sure, which you can use the following ways:

* C: function pointer

* Pascal/Delphi: procedural type

* JavaScript: function/expression as r-value (weakly typed)

* C#: delegate

* Java: er, ah, well, I guess you're screwed, as there is no way to pass that function around to other functions. Maybe in Java version N+1! (or Scala or Groovy) -- that is, a static function is even worse than a "virtual" function, since you cannot even pass an object/class/interface as a way to call that function (method).

<comment> qu4z-2 I believe the Java equivalent is something like

      passableF = new NotAClosure() {
        public void execute(int i) {
          return f(i);
        }
      }

But maybe someone knows better than me. I've had thankfully little to do with Java recently.

EDIT: Which I guess defeats the purpose of "without an object", but...

<comment><USER14> Just to note, I am in no way claiming Java is superior. Java is inferior in ways I think are not the ones Yegge claims.

For me, these are the things Java sucks at.

1) There is no easy way to create lists or maps. Look at python; how easy it is to create a dictionary. In Java, you have to "write code" to put elements in a map.

2) Reflection is very weak. It is not type checked at compile time. You have to write a lot of garbage just to run the show.

3) The getters/setters are a hell. Not to write them mind you, but the amount of cruft that creeps in, that you have to filter out to get to the heart of the problem during reading.

4) The constructors: A a = new A() (wtf....)

5) piss-poor Generics.

6) File Operations are pure crap.

7) One class per file? Omg.. For a long time, I thought i sucked at OOPS. The single biggest reason it took me long to get acquainted with OOPS is because of one class per file. Any other class is a new file, a context switch in my mind. In Java, Objects are first class entities; it should be cheap(in terms of things i need to look at) to define, create, and switch between them.

Finally, I think Java sucks because of its verbosity. And a subliminal style that it supports. There are a lot of programmers in Java who think the best way of multiplying two numbers is to add one of them other number of times . Somehow, everything should be drawn out.

<comment><USER15> For all of its warts, Groovy really makes much of this more tolerable in an environment that readily interoperates (call either way in/out) with legacy Java code.

Java file handling with dozens of classes still seems a horrific solution, like you said. I don't miss having to constantly check return codes and "errno", vs getting IOException, but I do miss the simplicity some days of "FILE *" and fopen()/popen(). (I also don't miss maintaining code that FAILS to check error codes while doing I/O)

Thanks for your replies, by the way. Thoughtful without being combative.

<comment><USER16> > For all of its warts, Groovy really makes much of this more tolerable in an > environment that readily interoperates (call either way in/out) with legacy > Java code.

5 yrs ago Groovy had the best interop with Java, and its promoters said so often, but things have changed a lot since then. Perhaps now you'll find another language has all the interop you need but without those warts.

</comment></comment></comment></comment></comment></comment><comment><USER17> Oldie but a goodie.

</comment><comment><USER18> Too long. An idea could be stated in a few sentences.)

Java:

This is an instance of an mammal of an animal kingdom which doesn't include dolphins and whales, which has a..., placed within the instance of a class Plain of polymorphic shape which has some private attributes...

ML-family:

This is a member of a set of only mammals of animal kingdom, excluding dolphins and whales, of small size, which has a..., located on the member of a set of geometric figures....

Lisp:

The cat sat on the mat.

<comment><USER19> Well, with CLOS you really define your verb behaviour on tuples of nouns (methods) and the verbs (generic functions) are separate and you can, if you want, get as creative as you want as to how your methods get invoked by your generic functions.

[Mind you, it's been a while since I developed in CLOS, so apologies in advance if this is incorrect].

<comment><USER18> CLOS is really required in about 5% of very specialized tasks, such as simulations.

<comment><USER19> I'm not sure - "simple" CLOS is really pretty simple and arguably works in a more intuitive way than most OO environments. However, if you do want more sophistication, as with most of Lisp, taking the Red Pill of the MOP can take you as deep as you want to go....

[Damn - I really need to do some more Lisp development]

<comment><USER20> I would agree with this... basic defgeneric/defmethod/defclass work is straightforward. It's when you start with the advice partial methods and the MOP that things get... _exotic_.

(I read the AMOP earlier this year and I'm pretty sure I haven't recovered from that mind bender).</comment></comment></comment></comment></comment>


Quick Course On Effective Website Copywriting - <AUTHOR> http://www.smashingmagazine.com/2012/05/18/quick-course-on-effective-website-copywriting/ <comment><USER2> Great post, though too short. It does contain valuable information, but not enough about copy writing itself.

So let me add a bit to it.

The job of your copy is to make the prospect reach into his pocket and give you his money.

It is not to make you look good.

It is not to get you likes on Facebook.

Copy has to sell.

Now, writing copy to someone who programs is a bit difficult. You are used to structure, rules, and abstraction. You may be comfortable with feelings, but may have some difficulty in expressing them. I know. Happens to me to.

So, how do I write copy that moves (an emotion) someone into giving me their money?

You start by writing a description of what it is that your product is. Don't use buzzwords. In fact, never use them. Ever.

Say -- "Facebook allows you to keep in touch with your friends and family. You can share pictures, and they can write comments on them. It also allows you to get back in touch with people you havent seen in a while."

Easy, right?

Then from there you expand. Your basic product description is the wire frame for the copy. It dictates the main message.

But RM, that is boring.

I know. I know.

Here comes the hard part.

You must get the attention of the person reading the ad.

How?

A headline!

Well, a headline, or a picture. Or something that communicates your main message.

Ok, ok.

So, while using the product description above, I would put a picture of a happy family. You know the kind. Where everyone is sandwiched together side by side. I bet you have one just like that. See, I bet you also smiled while reading that last line.

To continue...

You take the family picture, and right above it you write (in big catchy letters):

Keep in touch with your loved ones.

Then a quick sun-headline:

See what everyone is doing with Facebook.

And now. Hey, by now everyone is reading the add. The saw the picture, the headline, and the sub-headline.

Are they ready to buy?

No.

They dont have enough information.

Your job now is to give them the information they want.

But how?

Write a list of all the good things your product has.

Write a list of all the bad things your product has.

Use the good things list to write the first paragraph of the add. Keep sentences short. Very short. People hate reading long sentences. They are hard to follow (plus they are lazy).

Then put one or two paragraphs of the bad things. Say:

"I know what you might be thinking. What about my privacy? Does Facebook respect it? Yes, yes it does. Facebook allows you to choose who can view your profile. You control your pictures. Videos. And even the comments."

Then what?

You go in for the sale.

Write up your sales pitch as if you were selling it to a friend.

"So, why not join Facebook? It makes your life richer. Easier. Better. Click on the little button below to join."

Then include a PS. because people read them. It must have the same sales pitch but in condensed form.

But wait!

That's not all!

If you have noticed, everything I've written follows a rhythm.

Sure, it doesn't rhyme. But it does have some kid of kick to it, right?

That's where practice comes from.

You need to practice copy writing until your fingers can talk better than your mouth.

Until then, just keep writing.

For a more detailed look into this, go and get a copy of Joe Sugarman's book. I always forget the title. But you can find it quickly with a web search. Joe Sugarman was one of the best copy writers ever. He is the guy who sold the blu-blocker sunglasses. A multi-million dollars a year product. Yeah, the same crappy glasses you find at Walgreens.

 __*

Hope I was able to add to this thread.

You can always tell me how much you hated this post by sending me a quick email.

PS. My email is: rm at innovafy dot com

<comment><USER3> Thank you for the step-by-step guide from an engineer's perspective.

I guess the Joe Sugarman book you mention is one of these two:

[http://www.amazon.com/The-Adweek-Copywriting-Handbook- Advert...](http://www.amazon.com/The-Adweek-Copywriting-Handbook- Advertising/dp/0470051248/)

[http://www.amazon.com/Advertising-Secrets-Written-Word- Entre...](http://www.amazon.com/Advertising-Secrets-Written-Word- Entrepreneurs/dp/1891686003/)

<comment><USER4> _Advertising Secrets of the Written Word_ is a good read. I read a bunch of copywriting books a few years ago, and this is the one that sticks out in my memory, above the others.

</comment></comment></comment><comment><USER5> _"The goal of a regular text is to inform or entertain. The goal of Web copy (and ideally your website in general) is to get people to do something"_

Good article, on the whole. But I disagree, slightly, with this point. At the risk of being cute, I'd say that the goal of _all_ text is to get people to do something. Writing is persuasion. The particular end may change, but the means should always fit some end. Writing devoid of purpose is bound to be powerless. It's rambling. It's filler. It's extraneous.

Before writing anything, whatsoever, consider why you're writing it. Consider whom you're writing it for. Consider what you'd like that person to do, or think, after having read your copy. You need to be engineering an outcome. If not, you're basically gambling that your reader will stumble into something accidentally. Instead, leave nothing to accident. It doesn't matter if you're writing a cookbook, web copy, a letter to a friend, an email, or a science fiction novella. You're trying to get your reader from a point A to a point B, and the first step in doing so is taking careful stock of what A and B are.

</comment><comment><USER6> This article contains information that is not in some of the best published copywriting books I've read, as well as the classic copy basics. Highly recommended.

</comment><comment><USER7> The article itself is an example of good (copy)writing. It's easy and a pleasure to read.

<comment><USER8> I found it very irritating to read. Even though this article isn't trying to sell me something, it feels like there's a salesman screaming in my face when I'm reading it.

</comment></comment><comment><USER9> SmashingMag always comes up with some super useful stuff. Instant InstaPaper It.

I am guilty of having thought "I write based on how it sounds to me!".

</comment><comment><USER10> _"Will you choose a surgeon who has read some books on anatomy and knows where the gallbladder, is or someone who relies on his own intuition?"_

After you've learned to copy-write, learn to proof-read.</comment>


On Writing Short Papers - <AUTHOR> https://golem.ph.utexas.edu/category/2017/12/on_writing_short_papers.html <comment><USER2> This describes how to _shorten_ your paper (which is useful to get it within page budgets). This is not how to write "short papers", which is a term generally used for lesser papers with a shorter page budget, as opposed to a "full" or "long" paper.

If you want tips on how to condense a paper: shrink figures and tables, put multiple charts into a single figure, reduce the space between captions and figures, omit parentheticals, and shorten lists of references (e.g., [3, 4, 7, 11, 15]). At the cost of readability, you can also begin removing transitional phrases and examples.

<comment><USER3> Sentences can almost always be optimized to reduce wordiness, you can almost always make a paper shorter and more readable, it is only a matter of how much time you have to do this. As Blaise Pascal once said "I only made this letter longer because I had not the leisure to make it shorter."

<comment> 52-6F-62 This little tool is a favourite of mine when I'm in a time crunch, or firing off an email that begins to seem a little wordy, long, or washed-out: [http://www.hemingwayapp.com/](http://www.hemingwayapp.com/)

(Larger context behind the name: [https://en.wikipedia.org/wiki/Iceberg_Theory](https://en.wikipedia.org/wiki/Iceberg_Theory)) Of course the theory itself applies more directly to fiction, but that little tool can be useful to aid thinking through the process of editing.

</comment></comment></comment><comment><USER4> A lot of these points, like "Omit or shorten proofs", suggest that maybe more papers should have companion materials. Having the proof written out _somewhere_ is definitely valuable (especially for us non-doctorate-holders who still would like to benefit from your research).

Would be especially interesting if journals started encouraging (and perhaps hosting/mirroring) supplemental materials.

<comment><USER5> It's called an appendix.

<comment><USER6> Appendix not included with the paper is called a textbook.

<comment><USER7> It can just be files in a GitHub repo, or a tarball somewhere. It doesn't need to become a textbook.

</comment></comment></comment></comment><comment><USER8> (This is not a statement about their journalistic quality. But:)

Axios is an interesting example of changing the format of news story writing to be both more concise and more visually scannable. And, thus, easier to glean important info from.

See, for example:

[https://www.axios.com/wearables-still-slow-to-catch-on-in- th...](https://www.axios.com/wearables-still-slow-to-catch-on-in-the- u-s-2518970213.html?utm_source=sidebar)

Compare to a more traditionally written article:

[https://www.nytimes.com/2017/12/21/us/politics/facial- scans-...](https://www.nytimes.com/2017/12/21/us/politics/facial-scans- airports-security-privacy.html)

I do think the way we communicate with the written word online needs to continue to evolve. The way we read and learn is certainly very different.

Anyway. That's what this article makes me think of.

</comment><comment><USER8> Where's my red pen? For an essay about brevity, this has a lot of fluff. ;-)

</comment><comment><USER9> Define "Short". Condensed does not equate to easy to read. For a math book, time to read is in reverse proportion of the size. The shortest path is not the fastest.

Here's "Writing, Briefly" by Paul Graham [http://www.paulgraham.com/writing44.html](http://www.paulgraham.com/writing44.html)

<comment><USER10> Did you read the article? Because that is literally what the first paragraph is about.

</comment></comment><comment><USER11> Write short papers by writing more directly, and practice this by writing directly in articles, social media posts, etc.

For this article, I would drop the leading 5½ paragraphs.</comment>


Mr.doob adds WebGL Minecraft demo to three.js - <AUTHOR> http://mrdoob.github.com/three.js/examples/geometry_minecraft.html

<comment><USER2> Mindcraft -> Minecraft. tree.js -> three.js. webgl -> WebGL. Mr. Doob -> Mr.doob.

:D

<comment><AUTHOR> haha sorry dude! But MindCraft sounds like a hell of a game

<comment><USER2> If it has anything to do with Mind Game, I'll buy it! <http://www.youtube.com/watch?v=XU4EfF85u60>

</comment></comment></comment><comment><USER3> _Instructions under OSX_

 _To get this working in Webkit Nightly - webkit.org_

1\. install Webkit Nightly from <http://nightly.webkit.org/>

2\. paste the following into terminal: defaults write com.apple.Safari WebKitWebGLEnabled -bool YES

3\. visit the link (this has minor render issues for me under webkit)

 _To get it working in Chromium:_

1\. first install latest chromium from: [http://build.chromium.org/f/chromium/snapshots/chromium- rel-...](http://build.chromium.org/f/chromium/snapshots/chromium-rel-mac/)

2\. Drag into Applications folder

3\. launch from terminal using: ./Chromium.app/Contents/MacOS/Chromium --enable-webgl

4\. visit the link

You might want to check out [http://www.chromium.org/developers/demos-gpu- acceleration-an...](http://www.chromium.org/developers/demos-gpu-acceleration- and-webgl) for some more awesome webGL demos.

or, mrdoob's awesome site of course: <http://mrdoob.com/>

</comment><comment><USER4> I'm getting "Uncaught ReferenceError: Float32Array is not defined" on Chrome on OS X. Anyone else get it to work?

<comment><USER2> Chrome 9+, Firefox 4+

<comment><USER5> Works for me too, about 10FPS in Chromium 9 on 64-bit Ubuntu, 2.4GHz C2D, Nvidia 8400M GS.

<comment><USER6> I'm impressed that all of this & my hardware rendering are working "straight out of the box". I'm getting ~50fps in chromium 9.0.598.0 under openSUSE 11.3 with a radeon mobility 5650.

</comment></comment></comment></comment><comment><USER7> On the daily minefield (4.0b8pre from today, ubuntu 10.10, i3 gpu), I get only a flash of some triangles the first time I open the page. Otherwise it's completely empty :( Other webgl demos work well.

</comment><comment><USER8> Getting "Could not initialise shaders VALIDATE_STATUS: false, gl error [0]" on chromium 10, I think it might be related to the probable lack of shader support in the graphics card of this computer.

</comment><comment><USER9> Fair warning: froze my browser.</comment>


"The New COBOL" (Benno Rice): what will be the *next* most-hated language? - <AUTHOR> https://youtu.be/BCqGjGzWI48 <comment><USER2> Actually, I quite liked COBOL.

It was singular in being the best language where you could pick up a program that you had written many years before and 'get up to speed' in understanding what it did in very quick time.

It might have been long-winded and very wordy to write, but it was originally designed to be easy to read. It was.

On the other hand BASIC was the worst. I gave up trying to understand what was happening in some programs that I had written because they were just impossible to read if you hadn't looked at them for six months.

<comment><AUTHOR> Really? Wow.

I've often heard that said of C and other curly-braces languages, and of Perl, but rarely of BASIC.

Of course, a lot of it is how clearly someone wrote it in the first place. I've seen immaculate Perl, for instance. I don't know Perl and I could still read it.</comment></comment>


Ask HN:  Is there a service that hosts landing page, usersignup, payments? - <AUTHOR>

<comment><AUTHOR> To expand: Looking for something that provides a basic template for an app landing page w custom domain, user signup, stripe / subscription integration and an API, that I can hook into to integrate with user info, subscription level, etc.

Basically, I'm lazy. Can someone make this a service that I can pay for and put an API in front of it: <https://github.com/RailsApps/rails-stripe- membership-saas> ...let me know when it's ready...thx.</comment>


Our Responsibility as Analytics Providers: Building Trust in Your Product - <AUTHOR> https://hookfeed.com/blog/our-responsibility-as-analytics-providers/

<comment><USER2>
      127.0.0.1 www.hosted-pixel.com

You can edit /etc/hosts on your mobile device if you jailbreak it; on iOS there is iFile from Cydia or you can maintain it in your box then load it with scp. Some models of Android devices permit you to load firmware yourself.

You can block web and mobile bug servers at your firewall.

You could in principle hack a DNS server to return 127.0.0.1 for analytics servers but I dont know of a nameserver that actually does so.

I am completely cool with you analyzing your own web server logs. What I am not down with is you correlating my activities at two or more different sites.

I dont install any mobile apps that I dont absolutely require - not even the free ones - because many of them use mobile analytics. The sdks are free as in beer but the services use entire data centers. Data centers are very costly; someone must be paying for all that.

I know of an analytics service that is used for credit risk evaluation. I dont recall its URL but I will dig it up again.</comment>


Life After Death: A Case for Extinction - <AUTHOR> http://whatblag.com/2011/10/18/life-after-death/ <comment><USER2> A very disappointing article.

While there is little to no scientific (physical) evidence of another 'dimension' or of the existence of a soul or consciousness, there is also no evidence against it.

The claim that chemical reactions in the brain have been proved to be responsible for everything we experience is simply not true.

We are still not really sure of what causes dreams, what causes near death experiences.

We also have no scientific explanation for a surprising correlation between all of the worlds religions (even those of civilizations milennia removed from one another), or of a surprising consistency in the experiences of those who have been clinically 'dead.'

While I am not religious, this is a classic example of arrogance in the name of science.

We do not have any recorded data on what happens after death.

And if we were to rely purely on claimed observations (of which there are literally millions), then there is definitely a plethora of evidence for the existence of some plane above our own.

Indeed we cannot even develop a method to get rid of the common cold, or of cancer. Which compared to understanding precisely what causes self awareness, consciousness, that 'knowledge' that there is something 'seeing' out of our eyes, using our brains, something maybe more than we know of already... compared to understanding all that, beating cancer or the common cold should be a walk in the park.

The fact is, we can't solve either, and our knowledge of the human body is still incredibly infantile. Let's try to take some baby steps before we can claim to know what happens in the mind, or the 'soul.'

</comment><comment><USER3> From the article:And yet, we know today that it's just not true. Biology is that things that makes you you. Genetics. Neurochemistry. There is no "mind" and "brain" — there's just the brain.

This is speculation, albeit compatible with that of many scientists. We have no proof that mind/brain are the same thing, we have correlations between brain activity and subjective self reports, but these do not necessarily imply causation.

It annoys me when people assign extremely high probabilities to matters about which we, as a species, have very little understanding (even if I may agree with the particular viewpoint expressed).

<comment><AUTHOR> Would you agree at least that, even if there is a mind, that it requires a brain in order to manifest itself, such that "mind-minus-brain" makes no sense at all?

<comment><USER2> No because nobody has any idea what the 'soul' or 'mind' is. For all we know it may be possible to completely remove our soul from our body and exist in a different way and enter into another. Nobody knows</comment></comment></comment>


The Researchers Who Analyzed All the Porn on the Internet - <AUTHOR> http://healthland.time.com/2011/05/19/mind-reading-the-researchers-who-analyzed-all-the-porn-on-the-internet/

<comment><USER2> This was actually a really interesting article. I'm tempted to acquire this book.

Oddly enough I saw this book for the first time on the new books rack in the bookstore just a couple of hours ago and admired the cover design but didn't bother to pick it up because I had no idea from the vague cover and description what it was actually about. I suppose the publishers decided _not_ to go with a cover which emphasizes "porn".

Still, in the interests of maintaining a bookshelf which my mother can look at, perhaps I'll get this one for the Nook.</comment>


ShowDoc is a tool greatly applicable for an IT team to share documents online - <AUTHOR> https://github.com/star7th/showdoc <comment><AUTHOR> test</comment>


"The People V. O. J. Simpson" as Historical Fiction - <AUTHOR> http://www.publicbooks.org/artmedia/the-people-v-o-j-simpson-as-historical-fiction <comment><USER2> This really nails it. One of the spookiest moments of the show for me was when the show finally arrives in that infamous court room. As a child of the 90's, it triggered something.

I'm also fascinated by how they made a character out of the courtroom TV cameras – just short of Cronenberg, menacing.

Started watching as a 'guilty pleasure', I've been recommending the show to everyone.

<comment><USER3> My spooky moment was when some piece by Richard Wagner starts playing and the camera pans up to Fuhrman with his Nazi memorabilia. I thought that was very well done.

I agree with you on this being a guilty pleasure. I started watching expecting some kind of cheesy overproduced show that I'll stop watching after two episodes but I was hooked. I kept looking for all the 90's detail in there and they did a lot of that right.

I kept going to YouTube during the shows to revisit scenes and they did a remarkably good job of giving me 90's nostalgia. The courtroom artist has an interesting take on it: [https://www.washingtonpost.com/news/comic- riffs/wp/2016/04/0...](https://www.washingtonpost.com/news/comic- riffs/wp/2016/04/05/o-j-simpson-courtroom-sketch-artist-says-o-j-was-miscast- in-fxs-crime-miniseries/).

<comment><USER4> Thanks for posting that.

Cuba Gooding Jr. was miscast. He is great but looks nothing like O.J., and a lot of what made O.J. so appealing was his looks. I saw O.J. on a plane once and he is striking. He is an enormous man with a chiseled face. Looks like a living statue. He was a combination of amazing athelete, great looks, and charm.

Cuba is great. Super charming, but small and has a wirey frame. This part of the series really bothers me. I remember the night that O.J. was in the Bronco (it was during the NBA finals and the Rockets were playing) and it all seemed unbelievable. O.J. was this moviestar athelete that everone looked up to and, over time, he started to look like a monster. People began to notice that - hey - this is a huge, strong guy.

Great show. I feel a little dirty watching it, but I can't stop.</comment></comment></comment>


I'm writing software for a 2.5 ton fire breathing musical instrument - <AUTHOR> http://www.syzygryd.com/

<comment><USER2> This guy is jealous:

<http://lagaffemegate.free.fr/marottes/images/monde04.jpg>

What an amazing thing you are building, it's a pity burning man is a continent away or I would come just to see it play!

<comment><USER3> I had completely forgotten about the "Gaffophone"!

For those of you who don't know "Gaston Lagaffe" is an office dreamer who is part artist, part scientist and came up with this instrument which sounds good only to his ears and cause a lot of damages through the deep vibrations it creates.

</comment></comment><comment><USER4> Got an email about donating to this project at work. Apparently if you donate enough money, you can get a flamethrower.

</comment><comment><USER5> I'm so looking forward to playing with that.

</comment><comment><USER6> and if you donate even more, you can get your own private run of Dance Dance Immolation or 2pir

</comment><comment><USER7> What are the liabilities should this thing catch a bunch of Burning Man hippies on fire?

<comment><AUTHOR> Note the disclaimer on the back of Burning Man tickets: [http://www.erowid.org/culture/burningman/1998_burningman/ima...](http://www.erowid.org/culture/burningman/1998_burningman/images/1998_bm_ticket_mid.jpg)

<comment><USER8> Has this ever been tested, and if so why can't this work in other situations?

I have been told (though not by any reliable source) that these kinds of disclaimers are not legal even if they are signed by the user.

<comment><USER6> Man Burned at Burning Man Assumed Risk of Being Burned by Burning Man, Says Court

[http://www.loweringthebar.net/2009/07/court-man-burned-at- bu...](http://www.loweringthebar.net/2009/07/court-man-burned-at-burning-man- assumed-risk-of-being-burned-by-burning-man.html)

</comment></comment></comment></comment><comment><USER9> I was sold at flamethrower. Looks pretty slick.

</comment><comment><USER10> This is quite possibly the most awesome piece of art I've seen all year.

</comment><comment><USER11> If this comes together, I will be seeing it in person out there.

<comment><AUTHOR> The software is actually available to play with now. At present it's intended primarily for musicians who will be writing sets using Ableton Live.

Info on the software is here: <http://music.syzygryd.com/help/Install_And_Setup_The_MDK>

The software is open source so source code is available.

</comment></comment><comment><USER12> Where's the "musical" part? Is this a pyrophone?

<comment><AUTHOR> It features three grid sequencers that participants interact with to create music based on Ableton Live sets submitted by artists.

</comment></comment><comment><USER13> Don't you have anything better to do?

<comment><USER5> Don't _you_ have anything better to do? ;)</comment></comment>


Ask HN: What's your LOC-to-Developer Ratio? - <AUTHOR>

I work on a small but amazing development team that has been churning out high quality software for the past 6 years. We've added a few people and lost a few people to normal churn, but basically have written and now maintain close to 3 million lines of code (LOC) with 5 developers. (General break down is 1/2 million in Java, about 2 million in HTML/CSS/JS, and remaining in various XML configs, property files, and etc.)
We're trying to make a case that although we've been able to do a lot that we're well past the sanity point of LOC-to-dev ratio with each developer responsible for maintaining about 600K LOC.
I do realize that it's not a perfect science, but am curious to hear the ratio that you have on YOUR team and what breaking points you've identified in the past or thresholds that you're using to identify when to add people.
I also welcome other suggestions for alternative metrics than LOC that do a better job of showing load-per-developer and any benchmarks for what's reasonable. Thanks! <comment><USER2> For some napkin math, that's about 100kloc per year per dev, or 50 lines per hour.

Few thoughts off the top of my head:

\- How many projects is this code spread over?

\- What about refactoring?

\- How much time are the developers spending on bugfixing/maintenance compared to building new features?

\- Does it make sense to include a half million lines of config?

\- Does every developer understand every part of the system, or would you lose "600kloc of knowledge" if a developer left?

<comment><AUTHOR> \- It's all one product, but consists of smaller projects or modules. It's all running a big website and a few sister sites that pull in things from the master site.

\- The LOC includes all refactoring. Basically we had a big spike a few years ago as we rearchitectured, and have gone up and down in LOC over the last few years as we refactor away code, simplify, and add new features.

\- We're spending more and more of our time on bug fixing and maintenance now. Our systems have gotten more and more complex with business rules and we're now struggling to balance the demand for "new" with keeping things working properly.

\- Perhaps including config doesn't make sense if looking at developer ratio. It was easy to get the "all in" number, but easy enough to remove it too for an apples-to-apples comparison.

\- No, not every developers knows every part of the system. We will lose 600kloc of knowledge (or more) if someone leaves.

Thanks for your thoughtful questions!</comment></comment>


Chinese Internet Traffic Redirected to Small Wyoming Building - <AUTHOR> http://bits.blogs.nytimes.com/2014/01/22/chinese-internet-traffic-redirected-to-small-wyoming-house/?_php=true&_type=blogs&_php=true&_type=blogs&hp&_r=1&

<comment><USER2> The title is a little misleading; the traffic wasn't directed to the building, but instead to two companies nominally registered there. Sophidea.com looks to be hosted at Hurricane Electric in Fremont, and DIT like it's at PSInet in Atlanta. The two companies appear to be related (a trace of sophidea.com goes through dynamic-internet-technology- inc.10gigabitethernet1-1.core1.fmt2.he.net).

I wish they had some numbers illustrating just how much traffic "most of China's 500 million Internet users" would represent. I bet it would saturate a 10 gigabit line ;)</comment>


Typed Clojure - <AUTHOR> https://github.com/frenchy64/typed-clojure <comment><USER2> there are places where you really need type checking, and there are places where you don't.

show me the monads.</comment>


Model S Long Range Plus: Building the First 400-Mile Electric Vehicle - <AUTHOR> https://www.tesla.com/blog/model-s-long-range-plus-building-first-400-mile-electric-vehicle <comment><USER3> I've been following a multi-month discussion over in the r/electricvehicles subreddit about EPA range. There's a growing consensus that something is very wrong with it.

Here are a couple of the articles that got some discussion in that sub:

[https://insideevs.com/news/407807/eletric-car-real-world- ran...](https://insideevs.com/news/407807/eletric-car-real-world-range- tested/)

[https://www.caranddriver.com/reviews/a30874032/porsche- tayca...](https://www.caranddriver.com/reviews/a30874032/porsche-taycan-range- test-tesla-model-s/)

As someone who has owned both a Tesla Model X and one of the other EVs on the list from the first article, I can also provide my own anecdata that at freeway speeds Tesla routinely underperforms their EPA range rating, and by quite a large margin. Meanwhile at freeway speeds my non-Tesla EV routinely exceeds its EPA rating.

That's not to say that Tesla hasn't done an amazing job at maximizing efficiency in their cars. They have. Just maybe not to the degree that the EPA test would suggest.

<comment><USER4> I make an app (called Nikola, not the truck company) for Tesla owners that has seen over 5 MM miles driven on it. I did some quick queries to validate actual range vs. EPA range for those curious.

My general takeaway is to see the EPA range as a useful, albeit unrealistic, indicator. Essentially nobody gets the EPA range, either because they choose not to go the speed limit, they accelerate harder than the EPA test factored in, or the vehicles drain some juice while parked.

The data: For the hundreds of Nikola trips with an average speed of 60 mph, the actual MPGe was about 102. Once you get up to a 75 MPH average trip speed, the MPGe drops to 94. And by 80 MPH the MPGe drops to 77. (avg over all Tesla types)

As a bit of "anecdata", I've driven trips where I hit my range on the nose, just to show I could, but the driving is less fun and I was going slower than traffic. I don't drive that way anymore.

What's most striking to me as someone who has heard over and over again about how air resistance is a X^2 property, is the extent to which short (and presumably slow) trips punch above their weight in terms of range consumed per mile. From what I can tell, the actual cost here is the fixed cost of booting up some systems and electronics, and the variable costs of running them over fewer miles can make the MPGe drop. Starting and continuing to run the AC adds up!

edit: have had some people ask. The app can be found at [https://download.nikolaapp.com](https://download.nikolaapp.com)

I can also post data / graphs or make a blog post about that if people have more requests. Let me know what you'd like to see!

<comment><USER5> _What 's most striking to me as someone who has heard over and over again about how air resistance is a X^2 property, is the extent to which short (and presumably slow) trips punch above their weight in terms of range consumed per mile. From what I can tell, the actual cost here is the fixed cost of booting up some systems and electronics, and the variable costs of running them over fewer miles can make the MPGe drop. Starting and continuing to run the AC adds up!_

Two factors.

First, if you go 10% faster, air resistance may be 21% higher, but you only take 10/11 for spending 10% more energy per mile. So higher speeds cost less than you'd naively think.

Second, at low speeds we start and stop a lot. Coming to a full stop requires actually putting physical brakes on and losing energy. The heavier your car, the more that this costs you. For slower traffic, if you look at distance traveled, number of full stops and energy, I bet that you can fit a linear model in 2 variables that fits the data better and gives you a sense of how much coming to a stop costs you.

<comment><USER6> That's incorrect. Power consumption is proportional to drag * speed, and drag is speed^2, so power is speed^3, and energy per mile is speed^2.

<comment><USER7> True but we're interested in power consumption per distance traveled so it goes back to O(v^2).

<comment><USER8> That's precisely what the last clause you're responding to says. You're agreeing but couching it as a "but".

</comment></comment></comment></comment></comment></comment><comment><USER9> Man do I love Hackernews.

Everyone is pro-innovation, pro-future, pro-forward thinking until literally anything new happens, in which case everyone shows up with a "well, ackshually", to tell you why the new idea is dumb.

It's amazing to me that Tesla continues to increase State Of The Art range and EV efficiency, at scale, for cars that already smoke the competition. I hope their fervor to improve the technology never stops, and I'm glad they're dragging the industry, kicking and screaming, into the future.

<comment><USER10> "Nobody is going to buy this thing. I commute 250 miles each way to my job, in my pickup truck. Call me back when Tesla makes a _real_ car with _real_ range. Anybody who buys these now is a sucker."

Because people keep saying shit like that. Tesla's range increases are a giant experiment to find out at exactly what point opposition to electric collapses.

<comment><USER11> For me it has always been at a range of 1000 kilometers. (600 miles.)

<comment><USER12> It is the same limit for me. The car should be able to go until I am tired driving it, which is around 6 to 8 hours driving at 120km/h, including breaks of 15-20 minutes each 3 hours. Then I can accept a 30-45 minute break to charge if I have to continue.

<comment><USER13> Tesla's are already very close to that right now.

I used to drive from Florida to Pennsylvania fairly often, and in my model 3 it's a rough cadence of drive for 2.5 to 3 hours, stop at a supercharger for under 30 minutes, repeat until I'm there.

And that's with the vast majority of the trip at 75mph/120km/h.

It does get worse in the winter though, I need to stop more frequently like every 2 hours, and for more like 30 minutes per stop.

<comment><USER14> I think discussions of range alone are misguided for this reason. The state of charging infrastructure is just as important as the range of the car itself. The 300 mile range on a tesla is fine even for long road trips because the infrastructure is solid.

<comment><USER15> > The state of charging infrastructure is just as important as the range of > the car itself.

And this is why I facepalm every single time I see a car manufacturer trying to make a "Tesla competitor" by focusing on getting most of the range with none of the charging infrastructure. (Or they assume the infrastructure is someone else's problem, that can be solved with some press releases about business agreements.)

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> I wonder how much of this will translate to real world driving. Teslas have generally significantly underperformed in real world range compared to EPA. This reads very much like they're optimizing more towards a benchmark.

<comment><USER17> If it's possible, every car maker can "optimize towards benchmark".

So is your theory that all car makers except Tesla are dumb and cannot optimize their range for EPA tests?

That they are morally superior to Tesla and will sacrifice sales by not optimizing for EPA range but some purported "real world range"?

And in what way exactly do you optimize for EPA test?

I've seen this "explanation" for superior Tesla results many times but somehow no-one actually explains how do you make a battery or electric motor or drag coefficient of the car that is optimized for EPA test but doesn't generalize to regular driving.

<comment><USER18> > If it's possible, every car maker can "optimize towards benchmark".

Like VW optimizing cars towards benchmark. Doesn't always ends great.

<comment> 10-1-100 Not sure faking results counts as optimizing cars /shrug

<comment><USER18> They were not faked. Cars were optimized to behave in a certain way under exact test scenario.

They were not producing any fake output data from the sensors, just "optimizing" engine behavior.

<comment><USER19> They didn't output fake data, true, but their "optimization" was to only activate emissions controls _during testing_. That's fraud.

[https://www.npr.org/sections/thetwo- way/2015/10/08/446861855...](https://www.npr.org/sections/thetwo- way/2015/10/08/446861855/volkswagen-u-s-ceo-faces-questions-on-capitol-hill)

</comment></comment></comment></comment></comment></comment><comment><USER20> It's great that Tesla keeps increasing the range, but the EPA numbers are ridiculous. I would love to see the EPA range claims for electric vehicles re- standardized to measure:

* at the median driving speed on free-flowing US interstate highways

* during cold weather

* with some hills

* using a medium level typical of drivers of cars of the price range

A car manufacturer particularly focused on realism could publish a two range values; a lower number as described above, an upper EPA number (perfect conditions, low speed).

<comment><USER21> The EPA tests are interesting. They do simulate stop and go driving, and that's why on a gas car the city number is worse, but the steadier highway test shows better numbers. One of the weird things with an EV is that the highway numbers are actually worse (as other posters have commented).

The tests definitely trade off realism for consistent reproducibility though. This article describes it in detail, it's really interesting: [https://www.caranddriver.com/features/a15388892/the-truth- ab...](https://www.caranddriver.com/features/a15388892/the-truth-about-epa- city-highway-mpg-estimates/)

<comment><USER16> The test is absolutely insane and it totally makes sense why EPA estimates can vary so much from real world numbers. It would practically ignore the effects of aerodynamics and I'm not even sure weight plays a role given both of those are supposedly accounted for by a simulated drag on the rollers.

<comment><USER22> weight is inertia and aero drag is a speed dependant force...both are just forces that can be simulated really easily on a dyno.

</comment></comment></comment></comment><comment><USER23> They mention "significant weight reduction" but don't mention how much weight they saved. Considering how heavy Model S's are, this seems like it could be a productive approach, though on the other hand if there were easy/obvious ways to reduce unnecessary weight, it would have been done by now. On some level it's a trade-off between being too heavy and being unsafe, though reducing the weight also means it doesn't have to be as strong.

<comment><USER24> yes and no. Older cars were far heavier and far less safe. They could make incremental safety design improvements that allow to reduce weight incrementally without compromise.

<comment><USER25> I'm not sure whether you mean older teslas or older cars generally here. Small cars in the 70s and 80s weighed just over half as much as they do now. The Golf Mk 1 was 795kg while a Mk 8 is 1255kg. Much of that increase in weight is safety equipment and they are much safer for it.

<comment> globular-toast Some of the increase is safety equipment. Some is just the fact they they are bigger in just about every way. The Golf Mk1 wasn't even a particular small or lightweight car. The Mini was about 600kg, for example.

<comment><USER25> Individual models do have a tendency to grow in size over time so perhaps the current Polo is a better comparison to the Mk1 Golf and even that weighs in at 1164kg.

</comment></comment></comment></comment></comment><comment><USER26> Congratulations to the Tesla team! You deserve the success that you're having!

Tesla is 100% succeeding in their quest to speed up the change to renewable mobility.

</comment><comment><USER27> Wow, they are doing brake blending now? I'd be interested to know how good their implementation is. I always assumed they refused to do it because it's so damn hard to perfect.

<comment><USER28> Tesla doesn't do any blending of the brake pedal. Pressing the brake pedal always applies the friction brakes only.

However, since a software update last year, they have had a one-pedal driving mode (Stopping mode "Hold"). In this mode, the vehicle is able to come to a complete stop without using the brake pedal, using a blend of re-gen and friction brakes to do so.

In practice, it means it uses re-gen down to a very low speed (< 5mph), then applies the friction brakes to achieve a complete stop (this also doubles as a "hill hold" \- the brakes won't release until you press the accelerator again).

<comment><USER29> Quick question - do Teslas turn on brake lights when using one-pedal mode? Seems it can brake quite aggressively using regen.

<comment><USER30> Modern vehicles are required to turn on the brake lights at a given level of deceleration, regen / brakes or not!

<comment><USER31> So if I'm driving a new manual transmission car, and downshift/engine brake, my brake lights would activate?

<comment><USER30> That's my understanding!

EDIT: Actually this may only be required for vehicles with certain features, like regen or endurance braking! Car regulations are...complex.

</comment></comment></comment></comment></comment></comment><comment><USER32> It's really incredible what Tesla is doing. Haters gonna hate, but they continue to innovate and move the industry forward.

<comment><USER33> Really enjoying Tesla's 'innovation' of giving my Model 3 only 70% of the promised range.

Doesn't help that everyone on Tesla forums love to praise the company no matter what they do, so it's not like this is something easy to learn prior to using the car for some time.

<comment><USER34> There are a million variables that go into range. I could drive the same route and get 25mpg on my old Prius, or I could get 65mpg.

[https://teslike.com/](https://teslike.com/)

This site has been linked on this thread a few times and I've had it bookmarked for some time. TLDR = drive more slowly and lay off the brakes.

</comment></comment></comment><comment><USER35> Still wondering why they haven't announced a new, cheaper EV yet.

Autonomy isn't such a big issue, price is.

I know Tesla needs to develop its production scale, which means making low- quantity high-margin vehicles first.

Did Tesla deliver all the model 3 yet? I'm pretty sure that selling a vehicle that can do 150km at a lower price could still sell well.

<comment><USER36> > Still wondering why they haven't announced a new, cheaper EV yet.

They seem to be selling their current low-end cars as fast as they can make them, why should they attempt to divert their efforts to a new lower-margin car? They can leave the cheap EV announcements to other manufacturers like VW for people who want to buy an EV some time later...

<comment><USER35> > why should they attempt to divert their efforts to a new lower-margin car?

why not?

<comment><USER36> Because it makes no sense from a business perspective.

<comment><USER35> I'm not really sure Elon Musk really wants to make money in the first place, he also wants to make ICU cars obsolete.

And I'm pretty sure there are plenty people willing to buy an electric vehicle even if it performs worse than an ICU vehicle. A lot of customers are ready to do it because it's the right thing to do.

</comment></comment></comment></comment></comment><comment><USER37> This is impressive. Almost 650 Km. Conservatively, let's say 600 Km, it's very very impressive.

My daily commute is 30 KM, I can go 20 days without charging. Back of the napkin suggests that if I charge overnight in my garage, I can go without super charger charging for more than a month and a half. This is no small feat.

<comment><USER38> If you charge overnight on your garage, you _never_ need to visit a supercharger unless you take road trips. Last time I visited a supercharger was 4 months ago.

<comment><USER37> That's even better.

</comment></comment></comment><comment><USER39> EV range as a blended efficiency using the same test cycle we use for ICEs is not a very useful metric. EVs are already insanely energy efficient so we don't really need to measure that. What people want to know is if they go on a road-trip how far can they go until they need to charge. Just testing the highway range at whatever the normal speed is in your location would be a much more useful number. It would be nice if we had a standard rating for highway range in winter/summer at a continuous 120/130/140 km/h for example. For a Model 3 this can easily be 60-70% of the rated WLTP range. When you're in the city the car is parked most of the time and may as well be connected to a charger, range on city cycles and short trips is not nearly as relevant.

</comment><comment><USER40> 402mi = 647km

</comment><comment><USER41> The larger importance of this is that for a lot of potential ev purchasers, 400 miles is the lower limit of what they consider acceptable range. Yes, I know that is rather arbitrary and irrational, but that's how it is.

400 mile range is also important for political debates about the practicality of ev's and whether or not governments should be promoting them.

</comment><comment><USER42> When I open the page it asks me which market I'm in. I choose Germany yet all units used in the piece are imperial.

</comment><comment><USER43> So it used to be rated at about 335mpc (miles per charge)? And 20% yanks it up to 402? That must be an incredible mass savings something like 10% I'm guessing, on a car that is already built on an all-aluminum unibody. I hope the NHTSA crash ratings are not affected!

<comment><USER44> 335, then 370, and now 402.

</comment></comment><comment><USER45> Now give us a truck that doesn't resemble late 1990s video games with these long range innovations, and I would put in a reserve for a Tesla.

Right now I'm leaning towards Rivian, but they are currently unproven and would like to ideally wait out a few generations.

</comment><comment><USER46> I'll wait for Consumer Reports or the EPA before believing any of Tesla's range claims.

E: As in from the EPA itself and validated by Consumer Report's field-testing, not Tesla claiming EPA certification and verified through easily cheat-able testing.

<comment><USER47> Teslas are known for achieving only 75-85% of EPA in the real world.

This is based on my own data, owning multiple Teslas over four years.

The issue is that short drives suffer HVAC losses and long drives are at highway speeds, which is significantly above the speed the EPA uses for their dyno. tests. Further, Tesla actually runs the tests themselves and uses their own calculations to simulate wind resistance.

<comment><USER48> The HVAC losses are much less in the Model Y due to the heat pump / octovalve, something I wish they'd update the new from the factory Model 3s with. Sandy Munroe did a full Model Y teardown and has a whole segment on how this simple invention is brilliant as it increases real-world range.

Edit: mentioned the octovalve, which has no equivalent in any existing EV (i3, taycan, and leaf included).

<comment><USER47> Other EVs have been using heat pumps for years, like the i3 and LEAF. I don't know why they didn't go with it for the 3, or retrofit it to the S and X.

<comment><USER48> Not one like this. The Model 3 "superbottle" was the best in the industry for the problem they were trying to solve with it. The Model Y "octovalve" heat pump is the successor and does things even better (and it is patented FYI).

[https://insideevs.com/news/408437/tesla-model-y-teardown- hea...](https://insideevs.com/news/408437/tesla-model-y-teardown-heat-pump/)

<comment><USER49> All I see in the video is a description of a heat pump. In what way is Tesla's heat pump better than, for example, Hyundai's:

[https://press.kia.com/eu/en/home/media-resouces/press- releas...](https://press.kia.com/eu/en/home/media-resouces/press- releases/2020/New_Heat_Pump_Technology.html)

<comment><USER48> Not sure if you're familiar with the Model 3 super bottle. Here is an overview of that from Jason Torchinaky (who used to design heat pumps for a living):

[https://jalopnik.com/the-tesla-model-3s-superbottle- easter-e...](https://jalopnik.com/the-tesla-model-3s-superbottle-easter-egg- is-a-fascin-1830992728)

The octovalve heat pump in the Model Y improves the range by 10% (per an interview with Elon and Sandy Munro).

I'll note that the total range of the Model 3 LR is 322 miles and the Max range of the larger Model Y is 316 miles.

This compares to the 111 miles of all electric miles in the Kia Soul EV, 258 for the Hyundai Kona, and 170 electric only miles in the Hyundai Ionia EV. To be fair, the press release is likely correct as in 2014, the Soul having that heat pump likely was industry leading. It isn't even close to it today, and things like Tesla's patented (but very strange) inventions like the octovalve are why.

Today Tesla announced the Model S Long Range Plus is EPA rated at 402 miles. There really isn't any competition (thr VW ID.3 likely being the closest).

<comment><USER49> > _I'll note that the total range of the Model 3 LR is 322 miles and the Max > range of the larger Model Y is 316 miles._

That's a function of battery size. The maximum battery size of the current Kona, Niro, and Soul is 64 kWh. Batteries cost money. The Kona, Niro, and Soul are all less expensive than the top end Teslas.

> _This compares to the 111 miles of all electric miles in the Kia Soul EV_

Not the current model.

> _There really isn't any competition_

Sure there is. Tesla used to be the #1 BEV maker in Europe. Now they're #3. That's competition for you:

[https://www.schmidtmatthias.de/post/april-2020-european- elec...](https://www.schmidtmatthias.de/post/april-2020-european-electric-car- market-top-sellers)

But none of this answers the original question. In what way is Tesla's heat pump better than Hyundai's?

<comment><USER48> > That's a function of battery size. The maximum battery size of the current > Kona, Niro, and Soul is 64 kWh. Batteries cost money. The Kona, Niro, and > Soul are all less expensive than the top end Teslas.

The Model 3 LR battery size is 75 kWh. Are you telling me a 9 kWh difference say ~15% is the sole reason for an almost 25% increase in range? If it is only a matter of the battery size, the range would be linear. It is a function of battery size, total mass, and efficiency. A more or less efficient heat pump is absolutely a defining part of this equation, especially in the cold, as the press release you linked stated. It is why the longer, wider, and taller Model Y has only slightly less range than the Model 3 when it should have less due to aerodynamics and increased mass.

> Not the current model.

Sorry, you are right. The 2020 Kia Soul EV range is 243 miles. The google card result is out of date.

> Sure there is. Tesla used to be the #1 BEV maker in Europe. Now they're #3. > That's competition for you:

I was referring to competition when it comes to overall efficiency and range. The ID.3 and any EVs built on VW's EV chassis are the closest competition to Tesla has in that area. When it comes to price, it isn't hard to beat Tesla so you're right on this, but I wasn't being specific enough.

> But none of this answers the original question. In what way is Tesla's heat > pump better than Hyundai's?

This segment dives much deeper into the octovalve / heat pump for you to see: [https://www.youtube.com/watch?v=eGffUODWWSE](https://www.youtube.com/watch?v=eGffUODWWSE) and this podcast has both Sandy Munro and Elon Musk discussing the design in depth: [https://www.youtube.com/watch?v=pih4kU6yvz8](https://www.youtube.com/watch?v=pih4kU6yvz8)

Tesla heat pump patent (with diagrams): [https://patents.google.com/patent/US20190070924A1/en?oq=US20...](https://patents.google.com/patent/US20190070924A1/en?oq=US20190070924A1)

Kia / Hundai heat pump patent (with diagrams): [https://patents.google.com/patent/US20160009161A1/en](https://patents.google.com/patent/US20160009161A1/en)

TL;DNR: look at the diagrams from the Tesla vs the Kia / Hundai patents. The Tesla pump combines the heating and cooling for the cabin interior, battery, drive drain, inverters, and motors into a single package with a closed heating loop. It does it in an entirely novel "printed circuit board design" that uses zero tubes.

The Hundai / Kia approach is more industry standard and much simpler. By being less ambitious, it is not as efficient overall as they still need separate heating / cooling systems for the battery, and/or separate cooling systems for the motors plus drive train.

It isn't a real apples to apples comparison, which is what I meant when I said there is no competition. This sort of thing, or things like the use of Inconel, a super-alloy not seen in any other automotive manufacturer, in the Model S and X. Inconel is usually used for orbital class rockets like the SpaceX Merlin Engine Manifold or United Launch Alliance's new rocket engines. Or the use of the IDRA gigapress (first the OL 5500 CS for the Model Y in 2019. Later, it was upgrade to the OL 6100 CS. [https://www.idragroup.com/index.php/en/solutions/machines/gi...](https://www.idragroup.com/index.php/en/solutions/machines/gigapress)), the worlds largest aluminum die cast machine for the underbody of the Model Y. When it was first done with the rear part of the Y body it was the first in the entire industry and created two parts. They've managed to get it down to a single piece with the upgraded OL 6100 CS. There is no one in the industry doing this. All of this ontop of Tesla creating their own Aluminum alloy using metallurgists on loan from SpaceX, who use a proprietary aluminum alloy for the Falcon 9 rocket body.

<comment><USER49> > _The Model 3 LR battery size is 75 kWh. Are you telling me a 9 kWh > difference say ~15% is the sole reason for an almost 25% increase in range?_

No, I'm telling you you're comparing paper miles instead of real world miles. Here's a real world range test of the Kia Niro 64 kWh and the Model 3 LR:

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

The Model 3's extra 11 kWh only bought it an extra 15 miles. It achieved 78% of its WLTP range. The Niro delivered 90% of its WLTP range.

> _By being less ambitious, it is not as efficient overall_

All you've really said is that Tesla's heat pump is a different design, not demonstrated that it's actually better than Hyundai's. You should take Tesla's claims with a grain of salt.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER50> Can we have an EV for people who don't suffer from range anxiety and are willing to trade that off for cost?

I travel 5000km (3000mi) a year, longest single day use 50km (30mi). Vehicle is garaged with access to power. I just need 100km (60mi) (double to be sure :) ) range at an affordable cost.

<comment><USER51> So .. a used Nissan Leaf is good for you. 70-100 mile range. Probably < $12k

</comment></comment><comment><USER52> Here I am with a 2018 S 75D getting low 200's. _sniff_

</comment><comment><USER53> dear Tesla. I live in a city.

<comment><USER54> Inside a (properly designed) city you should not need (to own) a car at all.

<comment><USER36> Perhaps not everything in life is about need.

I presume what you actually wanted to say is: _you_ don't want other people in cities to own cars.

<comment><USER54> This is a thread about EVs and how a particular feature (range) that is worse than ICU cars is improving over time, which everyone wants, because we _need_ cleaner cars for the environemnt. Nobody in here is taking the position of saying: Who cares? Just use ICU cars forever, there is no problem at all.

So I am argueing a specific point about cities. Because EV cars might be better, but are still objectively bad compared to public transport. So no, it's not about what _I_ want, it's about the underliying point of the whole thread: What I (or really we/our children) _need_ other people to do.

<comment><USER36> > but are still objectively bad compared to public transport

For whom? Certainly not for the owner.

> So no, it's not about what I want, it's about the underliying point of the > whole thread: What I (or really we/our children) need other people to do.

You don't even have children. So you confirmed my interpretation: it's what you want from other people, not as you initially claimed what they need.

<comment><USER54> You are refusing to accept, that I am talking within the context of this thread. There are some premises here, which I explained in detail and take for granted in further sentences I am writing. I refuse to define everything to first principle in every sentence, because your only goal seems to be to go one step further up and suddenly you are right. In that sense, you or anyone does not need to do anything at all, because you don't even have to live. But then this whole discussion becomes really pointless.

</comment></comment></comment></comment></comment></comment><comment><USER55> "a new custom tire"

sounds expensive to replace when you drive over a nail

<comment><USER56> Yes but don't most "luxury" automobiles come with non-cheap tires to begin with that may or may not bring 2% mileage improvement with them?

<comment><USER57> I guess it depends what you mean by "luxury", but the vehicles I'm thinking of tend to come with sticky high-performance tires. these actually increase rolling friction.

<comment><USER56> Exactly so one, they don't run very long and two they add rolling resistance (for better two wheeled traction), so both in Tesla's favor.

</comment></comment></comment></comment><comment><USER58> This is a good step, but 400 miles is hardly long range. Any gas powered car can get 500 miles of range with a 5 minute fill up.

</comment><comment><USER59> Tesla's batteries fall from their initial range in 2 yrs and to get around it they changed the display. Instead of miles they started calling it "range miles" or something like that and that is a cooked up number using some algorithm. It's it real and is done to get around the fact that the battery holds less charge over time.

</comment><comment><USER47> The Hyundai Nexo EV is already at 380 miles, and it's a real SUV, not a flat- as-a-pancake Model S. It refuels in five minutes, to boot, but is only practical in California. If they increased tank volume by 5% it'd be at 400 miles EPA.

<comment><USER60> For those wondering this is a Hydrogen fuel cell car, only available for sale in CA because that's the only place you can fill it. It appears they sold about 270 units in the US last year.

<comment><USER49> > _only available for sale in CA_

No, you can buy it in Korea and Europe as well. Europe and China are the most important markets for EVs. Hyundai isn't making many Nexos yet though.

</comment></comment></comment><comment><USER61> They are lying. I was in the market for a new car earlier this year, and I really wanted to get a Tesla. I also really wanted a car that could handle a trip of 295 miles that I regularly make. I will not go into the nightmare that was scheduling a test drive of the long-range Model S, but after getting conflicting answers from multiple PoCs at Tesla, I finally got the firm answer. The car cannot do even my 295 mile commute (either way) without recharging once. I gave up and bought something else, but I did reserve a "Cyber Truck" which they claim will have a 500 mile range.

<comment><USER62> The BMW i3 has had the perfect electric car design for the last 7+ years - <USER2> battery pack good for ~50-120 miles (increased with model revisions) and a gasoline generator "range extender" with a small tank for indefinite length journeys hopping between standard gas stations - which are abundant.

It improves on hybrid-car designs: the engine isn't connected to the drive train, so it's a lot less complex, and the engine is not as large because it doesn't need to power the entire car for 100k+ miles and it can use the battery for short bursts of power (acceleration, hill climbs) while charging on flats and downhills. As it's smaller and less heavily used, it only needs servicing every two years.

Given the top concerns about electric cars are range anxiety, charging time, and availability of charging points, and this design addresses all of them, why don't more electric car makers offer something like this?

<comment><USER63> Range axienty disappears as you get familiar with driving an EV with trip planning. Charging time is already short enough with version 3 of Tesla Superchargers. Availability of charging points isn't an issue when you charge at home/work. Hybrids are just adding complexity, cost and air pollution.

<comment><USER36> > Range axienty disappears as you get familiar with driving an EV with trip > planning.

It's true, but in some parts of the world (e.g. eastern Europe) it has been replaced with "what charging cards or apps do I need" anxiety.</comment></comment></comment></comment>


A new breed of Chrome Apps - <AUTHOR> http://chrome.blogspot.com/2013/09/a-new-breed-of-chrome-apps.html <comment><USER2> Prediction:

The much-anticipated convergence of Android and Chrome is near. These new Chrome apps are the programming model for the upcoming native Android webapps

The next milestone I expect to see is V8 added alongside Dalvik as a first- class runtime for Android. Maybe in Android KitKat?

<comment><USER3> As an Android dev I can tell you this isn't happening in the next 5 years. They may add Chrome apps to Android, but it will be a niche option that won't be used by anybody.

My utopic wish is a new open platform that will combine strengths of the web and of operating systems (Windows, Android):

\- Web: Great for documents, which it was originally designed for. Automatic updates. No installation. You can "fork" an app / document by middle clicking a link.

\- Operating systems: Great for apps. Speed. More low level access to the hardware. Much richer platform than the web (window mnagment, human interface guidelines, ...).

<comment><USER4> Why, as an Android dev, do you say that?

<comment><USER3> Because, as an Android dev, I understand that both platforms have different strengths. Merge of the android and chrome/web platform, that would keep the strenths of both, is basically impossible. So the only possible scenario is making interative improvements to the chrome/web platform. But:

1) That would break backwards compatibility with Android apps. They would basically have to kill Android and replace it with Chrome OS Mobile.

2) Chrome OS platform is far, far behind Android (and operating systems in general) in many aspects.

<comment><USER4> _Merge of the android and chrome /web platform, that would keep the strenths of both, is basically impossible._

Why do you say that? Add some APIs to the Android browser, allow it to open apps full-screen... there doesn't seem to be much more to it than that.

<comment><USER5> That's really not too different from what it takes to package HTML5 code into Android apps already, with the same result of apps with UIs that feel foreign to the system.

The trend is not towards HTML5, but actually away from it. Quite honestly the Chrome Mobile team are swimming against the tide on this.

<comment><USER6> > The trend is not towards HTML5, but actually away from it. Quite honestly > the Chrome Mobile team are swimming against the tide on this.

That's quite a statement. The average Android app is already a UI nightmare that feels foreign to the system, I don't see how HTML is going to be somehow worse (especially when there would be a full set of HTML5 components to use).

<comment><USER7> > _The average Android app is already a UI nightmare that feels foreign to the > system, I don 't see how HTML is going to be somehow worse_

Well, it's gonna be worse by being even more foreign, feeling even more foreign (what's with custom components re-created for HTML5) and slower.

Actually, it's not a hypothetical: you can already check "wrapped in native" HTML5 apps and proper native apps, and the former do feel inferior, unless the developers have put tons of effort in them (and still, they are not able to do cpu-intensive things that native apps do, from live video filters to audio stuff).

Of course that might still be OK for simple apps, todo lists, glorified web clients, etc. But those are not what will drive mobile forward, it's just the lowest common denominator.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> One thing that I think is really cool about Chrome Apps is that you can write USB drivers in Javascript that will run on any platform that runs Chrome or Chromium. This means that if you want to make a hardware device that syncs with the cloud, all you have to do is write what is essentially a web app, and anyone with Windows, OS X, Linux, or Chrome OS can use your thing.

I'm personally working on a Chrome SDR app for the Funcube Dongle, so you can just install an app from the Web Store, plug the thing in, and start listening to any radio transmission from .5MHz to 2GHz. (The only snag is that the HTML5 audio API doesn't give you 192kHz sound samples, so I think I'm going to have to read them directly via USB. Fun.)

<comment><USER9> The documentation says chrome.usb only works on Chrome OS, are you sure it works in the actual browser?

Last time I looked into this stuff it's nontrivial to let arbitrary user-mode applications manipulate arbitrary USB devices on Windows, so I'd be impressed if they got it working in a secure fashion and deployed it to the open web.

<comment><USER10> Chrome packaged apps give the same api in the browser as in chrome OS. The whole trick of packaged apps, is to get the same API on all OS. And along the way, google gets apps for chrome OS. I guess it's some kind of chicken and egg problem, to use the OS you need apps, but developers only develop if there are users. By having apps working on various OS the entice developers to create stuff that will also work in Chrome OS.

</comment></comment></comment><comment><USER11> "Chrome-specific code that means they won't be able to run on other web browsers" This sounds vaguely familiar...

<comment><USER12> I agree. I would be much more excited about this announcement if it sounded a bit more open for other browsers to join in.

<comment><USER10> they will be free to copy the API. much of HTML5 is standardizing stuff already existing in various browsers (ironically, a lot of IE stuff). Firefox is already working on an API for USB for example.

<comment><USER13> But they won't, because Mozilla hates NaCl and loves asm.js

</comment></comment></comment></comment><comment><USER14> Firefox has made stubs for web apps that can be launched directly from the desktop since Firefox 16 ([https://wiki.mozilla.org/Apps/WebRT](https://wiki.mozilla.org/Apps/WebRT)). I guess the difference here is more (Chrome-specific) APIs and better support for running offline?

<comment><USER15> Chrome has had that particular feature for just as long (look for "Create Application Launcher" in the menu; or right-click a regular chrome app, set its presentation to "Window", and click "Create Shortcuts".) This is a separate feature, about creating apps that don't appear to be "from" the web.

</comment></comment><comment><USER16> So, really, there's only two new features here:

\- Launch chrome apps directly from the desktop \- Run chrome apps with out any of the browser toolbars

Everything else is already possible in a regular chrome app.. Right?

<comment><USER17> It looks like they open up APIs that otherwise wouldn't be exposed, like access to the shell and devices.

<comment><USER18> Cool, Java Applets reborn

<comment><USER19> More like ActiveX components reborn, because these things will only run in Chrome. Much like ActiveX only ran in IE.

<comment><USER6> They run "on" Chrome, not in it. A separate icon, window, etc. You need to have Chrome installed, but it's different from ActiveX in that you're not going to see "plug-in missing" in the middle of a page somewhere.

<comment><USER20> Great, phonegap for the desktop :(

</comment></comment></comment></comment></comment></comment><comment><USER21> It would be nice if the apps they recommended (wunderlist) actually worked. I have attempted 5 times to "sign up" for the wunderlist app, every time I hit the button the app freezes on the load screen. Not once has it made it past. I also have not received one email verifying my attempt to sign up. My first experience with app launcher and one of the apps would be horrible. Better get on the ball if you really wanna change the web in such a dramatic way.

<comment><USER21> Just and FYI, if anybody is having this same issue, if you go to the website (not using the app on your desktop) you can sign up there, then you will be able to sign in.

</comment></comment><comment><USER22> This is, effectively, bringing a ChromeOS-like app interface to Windows (and soon other platforms). The new app launcher looks just like it does on ChromeOS, putting Chrome Web Store apps on an equal footing with native apps started from a Start menu or equivalent.

</comment><comment><USER23> Chrome/Android.. What about Chrome/Windows. Notice that every new advancement in Chrome squeezes out the need for Windows.

They need to improve the APIs for developers though, a Visual Studio 6 for Chrome platform development, probably the high point in softees history. Really tie together web with more traditional native api development. No-one has cracked that yet.

</comment><comment><USER24> If I could use the Hangouts extension as an app, I would be so happy. I don't like the implementation of the extension on my Mac.

<comment><USER25> It acts like an app on ChromeOS. I have a buddy list that shows up in my dock, completely outside any Chrome window.

</comment></comment><comment><USER26> Our game RAD Soldiers is featured up on the games page: [https://chrome.google.com/webstore/detail/rad- soldiers/dkiah...](https://chrome.google.com/webstore/detail/rad- soldiers/dkiahcckehgdocgonfdickeagmoembpe)

You can cross play with the iOS version, feel free to leave feedback :-)

<comment><USER27> I gave it a try on my Pixel and found that the touch didn't always seem to work as expected - for instance, when I rotate the globe, it would always try to center Africa on my finger and I couldn't tap on cities. I'd prefer if the game defaulted to fullscreen and allowed me to zoom out more - I assume this is because it was originally designed for smaller screens.

Also the game was capturing the ChromeOS volume, brightness, maximize keys (probably as F1-F10 keys) and discarding them.

Past issues specific to the packaged app - great game! Very polished. I love X-Com and this is right up my alley.

As one of the few who have actually used it, can you give us your perspective on the highlights and limitations of the packaged apps API?

<comment><USER26> > As one of the few who have actually used it, can you give us your > perspective on the highlights and limitations of the packaged apps API?

Considering we're a game there is actually very few things that we need to consider from the APIs. We have our own UI and the integration with the OS is quite limited.

The reason we were interested in the Chrome version is that we're essentially a play by mail game in multiplayer so the push notifications are crucial. Unfortunately the way the push works on Chrome is a bit iffy, way less polished than it works on Android and iOS but it's not too bad.

Since we're free to play there are some optional in app microtransactions to monetize the game. These all use the new Google wallet API for packaged apps and they work reasonably well. Since we allow cross play between iOS and Chrome we need to be careful with how we set the prizes and making prize matching between iOS and Chrome is hard due to differences in how tax is handled.

There is on way to query the final prize for an in-app purchase through the API which makes things like "-50%" badges hard to implement. The way the game gets around it is by guessing what the final prize will be. I wish there was a nicer way but I can see why it's done that way.

<comment><USER13> Prices have been annoying, yes. We ended up geoip-ing to guess the applicable tax and pray that Wallet made the same guess.

There are also some (temporary) limitations with the NaCl runtime (no, it's not PNaCl, at least not yet).

For example, fullscreen on OS X is quite broken. Keys that shouldn't get captured, in particular the one to cancel fullscreen. That (and other small issues) is likely why packaged apps with NaCl aren't yet officially supported there.

</comment></comment></comment></comment><comment><USER28> Brilliant that on win8 it sits in the taskbar, right where every Windows user expects a menu of applications.

<comment><USER29> That might be why Microsoft brought back the start button in 8.1

They might have been afraid that if they left this prime piece of desktop real estate, Google might take it.

</comment></comment><comment><USER30> I've been hacking on a Chrome App for the past few weeks and have been wondering how to open a tab instead of a new window. That announcement leaves me confused: what's new exactly? Is it even possible that the new stuff has been in the docs for months?

</comment><comment><USER31> Chrome is a resource hog. I don't want that on my phone, which barely lasts 4 hours idling in my pocket. Thanks but no thanks. On my Mac, Chrome with 20 open tabs is always using most of my memory and CPU.

<comment><USER32> And Firefox doesn't?

<comment><USER33> Firefox as of 23+ uses significantly less memory than Chrome (in my experience - your mileage may vary though)

<comment><USER34> Being able to identify which tabs are hogging CPU/memory is a deal breaker to me.

<comment><USER35> about:memory shows detailed report on which website uses how much memory.

</comment></comment></comment></comment></comment><comment><USER36> Sounds like Google has decided to try to compete directly with Pokki ([https://www.pokki.com](https://www.pokki.com)).

</comment><comment><USER37> I was hoping this was away to wrap a webpage in chrome and distribute that, but it seems to require me to distribute it through there webstore. Given that they don't have a default monopoly on selling things over the web (unlike, say Android, where they have most of the users), why would I want to do that?

The technology is certainly interesting, if a bit limiting.

<comment><USER38> I'm also interested in distributing my app offline to my customers, but I didn't find a solution for that yet.

</comment></comment><comment><USER39> this will be a UX nightmare. windows 8 already has desktop, metro interface, and now CHROME APPS?!?

</comment><comment><USER40> Its really awesome to see Google taking the web seriously by giving it more access to hardware, but it would be nice with some indication of where these APIs are headed.

Are they "forking off the web" or just experimenting before standardising?

</comment><comment><USER41> How do I get my app to be in "for your desktop" category? It's not on the developer page of my app. It's a media player app that matches most of the requirements of the new apps.

</comment><comment><USER42> Google says that "packaged apps are written in HTML5, JavaScript, and CSS" but the first one they show, Pixlr Touch Up, is actually written in Flash. New breed, eh?

<comment> jarek-foksa From my read of the code it appears to be written mostly in JavaScript. There is one NaCl module, not sure what it does though.

<comment><USER42> Err, I guess was testing the Pixlr version in the Chrome Web Store, which I assumed would be the same thing as the "desktop" version. Is it possible that one would be Flash and the other would be something else?

<comment> jarek-foksa Definitely, Flash is on the list of web features that are disabled in packaged apps: [http://developer.chrome.com/apps/app_deprecated.html](http://developer.chrome.com/apps/app_deprecated.html)

</comment></comment></comment></comment><comment><USER43> At first i was excited that finally I can cmd-tab into a chrome app. Turns out it doesn't. I don't really get how this is so useful.

</comment><comment><USER44> Are these apps supposed to be written in pure JS or are they PNaCl (Portable Native Client -- basically LLVM bytecode)?

<comment><USER45> Whatever runs in Chrome. Wunderlist uses javascript, while Cracking Sands uses NaCl. Though the apps run in their own windows, opening chrome://inspect in the main Chrome window lets you examine the various open apps.

</comment></comment><comment><USER46> The new breed of chrome apps has a lot of flaws after I tried to convert my app over:

-Previous installed chrome app matches the HTML5 api, the new chrome apps has a lot of restriction where you have to totally rewrite you code in terms of storage. i.e. Chrome.storage instead of localStorage; All chrome storage is async.

-The new window format for apps are a huge UI flaw. You can not open an Chrome app in a tab anymore. Basically, you now have an extra window whenever you open a chrome app. This is very annoying since when you click on the existing window the app is hidden in the back, you have to flip through your windows on the mac to find the app you just opened again.

-Javascript execution permissions are very strict, and no longer follows that of a normal webpage.

The result is, you can no longer build an HTML5 app and prepare it for the chrome store, you have to specifically change the code to package it. This makes it less ubiquitous and creates extra work for developers.

<comment><USER47> > -Previous installed chrome app matches the HTML5 api, the new chrome apps > has a lot of restriction where you have to totally rewrite you code in terms > of storage. i.e. Chrome.storage instead of localStorage; All chrome storage > is async.

I belive this is only localStorage right? (indexedDB is still available afaik)

Firefox OS had mentions of disabling localStorage, its been a huge problem due to its synchronous API, I dont think it did end up being disabled though, I would really like to see localStorage being (slowly) deprecated and an async api (possibly even just a helper for idb) being promoted as an alternative full web standard as opposed to chrome specific API's coming in here

<comment><USER48> indexedDB is available with an entirely async API. Bring on the callbacks!

<comment><USER47> Yup, we have a shared helper in Firefox OS on top of IndexedDB that all the apps use (localStorage is as close to banned as it can be) ([https://github.com/mozilla-b2g/gaia/blob/master/shared/js/as...](https://github.com/mozilla-b2g/gaia/blob/master/shared/js/async_storage.js))

However thats fine when you are building your own apps, but I meant as a long term solution to the web platform, if localStorage needs disabled on one platform in favour of a propietary API, maybe its best to replace it with a non proprietary web api

</comment></comment></comment></comment><comment><USER49> Chrome is now a serious security risk for me. it's just waiting to happen.

for now on, it will be used as the remote debugger for android browsers (until we have something native). just like i have a spare mac for running xcode for the same reason.

firefox serves me well. and will not make me worry much.

<comment><USER50> All this functionality sounds like an increased attack surface, and it is. But when the comparison is Firefox, it's far outweighed by the fact that Chrome has a very good process sandbox, while Firefox has none. It will be years before Firefox can match Chrome's level of security.

<comment><USER51> Moreover Google has paid millions to security researchers for finding flaws in Chrome.</comment></comment></comment>