Tiny Australian startup gets 250,000 downloads of its app in just 4 days - <AUTHOR> http://discovr.info/2011/07/250k-downloads-of-discovr-apps-in-the-last-4-days/

<comment><USER2> Full text of the page in case it's down:

Just over a month ago we launched our new app Discovr Apps to help you find apps for your iPhone and iPad. Everything has gone really well and we're very excited to announce some of our most recent stats:

* In the last 4 days alone, Discovr Apps has had more than a quarter of a million new downloads (256,719 downloads in 4 days).

* In the same 4 day period we've served more than 4.8 million requests in the app, averaging more than 1 million requests per day.

* On a single day in that period, our users spent the equivalent total time of 9 months and 1 day using the app.

* Discovr Apps also went straight to #1 app in 17 countries including the US, Canada, Japan, Australia, and Germany.

* We've released three updates in the 6 weeks since launch, and we're very fortunate to have an average App Store rating of 4.5 stars.

* We've also seen an entirely new business model emerge in the last few weeks, with lots of developers wanting to advertise in the app.

All in all, we're completely blown away by the response. We're a small team based in Perth, Australia, and we just can't believe it.

Thankyou so much to everyone who has had fun with the app. We're just getting started. Get in touch to tell us what you want to see next!

The Filter Squad Team Stu, Matt, Tamas, Ben, and Dave

</comment><comment><USER3> Perhaps not as easy as it used to be, it's always encouraging to see that there are still apps in the app store that can pull huge numbers on release.

On a side note, I wonder which Lodsys patent this one violates? :)

</comment><comment><USER4> Looks like they built on AWS to achieve that scale. Pretty cool.

[http://discovr.info/2011/07/scaling-a-rails-webservice-on- aw...](http://discovr.info/2011/07/scaling-a-rails-webservice-on- awsec2-for-a-1-iphone-and-ipad-app/)

</comment><comment><USER5> I'd be very interested in knowing what the team did prior to launch in terms of marketing / viral / PR strategy to get these numbers. Impressive!

<comment><USER6> Apparently nothing. They printed some stickers and hoodies and that's it (according to the blog post, anyway).

<comment><USER7> Some simple Googling gives me lots of articles on LifeHacker, Techcrunch, Mashable, etc. It's clear they reached out to PR months before the release.

<comment><USER8> This is an interesting point, especially considering they specifically mentioned their lack of a marketing plan. Somebody got on the phone/plane at some point, or otherwise utilized existing connections. I took a screenshot[1] of the results (it appears they launched in mid-June), and most startups I've seen will kill for that kind of covdedrage.

[1]<http://i51.tinypic.com/2d7bqcj.png>

</comment></comment></comment></comment><comment><USER9> Are they profiting from this App in some way? Not to be a debbie downer, but surely for an App this popular they must have a plan to reap some financial benefit, but i didnt see one in action?

<comment><USER8> From the post:

 _"_ We've also seen an entirely new business model emerge in the last few weeks, with lots of developers wanting to advertise in the app." _

</comment></comment><comment><USER10> More info on rankings history and such:

[http://appshopper.com/entertainment/discovr-apps-discover- ne...](http://appshopper.com/entertainment/discovr-apps-discover-new-apps)

Wonder why they went free a week ago.

<comment><USER11> When did they go #1 in the US? I don't see that at all.

<comment><USER10> Yeah, I noticed that but technically the charts only go 30 days back, so it's theoretically possible they hit #1 at some point. Although doubtful since it was a paid app then.

</comment></comment></comment><comment><USER7> What is the criteria for ranking #1? Is it just a daily ranking for total # of downloads that day or what?

<comment><USER10> Apple doesn't say. They tweaked the ranking algorithm recently though, to include usage in addition to downloads.

<comment><USER12> where did you hear this? As far as I know top paid is still total # of downloads over a 3-4 day period.

<comment><USER10> Maybe they only tweaked the free?

<comment><USER12> my apps are currently ranked #2 and #4 in their respective categories but looking at usage stats I highly highly doubt that is factored in. Seems to be downloads only.</comment></comment></comment></comment></comment>


GWT 2.7 Finalized - <AUTHOR> http://googlewebtoolkit.blogspot.com/2014/11/gwt-27-finalized.html

<comment><AUTHOR> Just wondering if anyone is still using it for new projects?

<comment><USER2> Google Inbox uses it: [http://gmailblog.blogspot.com/2014/11/going-under-hood- of-in...](http://gmailblog.blogspot.com/2014/11/going-under-hood-of- inbox.html)

<comment><AUTHOR> Wow, this is big news for the GWT community, I was lead to believe that GWT is somewhat abandoned by Google.</comment></comment></comment>


Under the Hood of the Microsoft Teams Desktop Application - <AUTHOR> https://blog.thoughtstuff.co.uk/2017/04/under-the-hood-of-the-microsoft-teams-desktop-application/ <comment><USER2> > However, another interesting point. Microsoft choosing an open-source, > community supported application in favour of a tried and tested, Microsoft- > built alternative. Exciting times.

> This is not your Grandfather's Microsoft, or even your Father's Microsoft. > There has been huge change in the last few years in the development category > of Microsoft applications, with a real move towards open-source first. It's > really interesting to see this move permeate out to the rest of the > organisation and start to manifest itself in other areas like Productivity > Applications such as this one.

Another point here: It actually works reasonably well on Linux. For young people here, given the history of Microsoft this was not something that would have happened only a few years ago.

Back then it would have been as unusual as if Google had suddenly turned around and started testing their web sites in other browsers except Chrome ;-)</comment>


"Ah Consciousness Who can define it?" - <AUTHOR> http://journalofcosmology.com/Consciousness133.html

<comment><USER2> Ayn Rand has a good definition and observes that consciousness, along with existence, is an axiomatic concept that is implicit in any claim of knowledge and is the foundation of reason. I agree.

<http://aynrandlexicon.com/lexicon/consciousness.html></comment>


Singapore Math Adopted in More U.S. Schools - <AUTHOR> http://www.nytimes.com/2010/10/01/education/01math.html

<comment><AUTHOR> I've used the Singapore Math materials for homeschooling my four children. (The oldest is off to university as a computer science major.) The article describes the program as being slower to progress through concepts than most United States programs, but that is true only at the very beginning. By third grade, the Singapore curriculum generally is more advanced in its expectations than most curriculums used in the United States, and laying a good foundation ultimately means much better success at algebra in seventh grade.</comment>


What Your Open Source Culture Really Says, Part One - <AUTHOR> https://modelviewculture.com/pieces/what-your-open-source-culture-really-says-part-one

<comment><AUTHOR> Hmm, I was actually kinda expecting that to tell me this was already submitted and take me to it.

Is there a way to search for HN posts by submission URL?</comment>


Recycled rockets: SpaceX calls time on expendable launch vehicles - <AUTHOR> http://www.bbc.co.uk/news/science-environment-24331860 <comment><AUTHOR> Although the stage lost some stability as it approached the water, Musk expressed great satisfaction with the way the experiment went.

Elon Musk, SpaceX CEO: "If things go super-well then we will be able to refly a Falcon 9 stage before the end of next year

"In this case, the boost stage did not have landing gear, which helps essentially to stabilise the stage like fins on an aircraft.

"The stage actually ended up spinning to a degree that was greater than we could control with the gas thrusters, and it centrifuged the propellant. It caused the boost stage to run out of propellant before hitting the water. So it hit the water relatively hard.

"We've recovered portions of the stage, but the most important thing is we believe we now have all the pieces of the puzzle."

</comment><comment><USER2> If this ends up happening, does it mean SpaceX will have single-handedly drop the price of commercial space transportation by about 2 orders of magnitude during its first decade of life?

I know they were saying initially when they came out with the first one that it costs about an order of magnitude less than competition, and if they can re-use the same rocket, that should reduce costs by at least an order of magnitude again.

After this they "only" need to make one with a fusion reactor, to reduce transportation (to Mars or asteroids) by another order of magnitude [1]. That's when the true space (or rather solar system) era will begin.

1 - [http://www.theregister.co.uk/2013/04/10/nasa_fusion_engine_f...](http://www.theregister.co.uk/2013/04/10/nasa_fusion_engine_fast_mars_trip/)</comment>


New Route 53 and ELB features: IPv6, Zone Apex, WRR and more - <AUTHOR> http://www.allthingsdistributed.com/2011/05/aws_ipv6.html

<comment><USER2> 24 May 2011 05:26 AM

<http://news.ycombinator.com/item?id=2582733>

Not news now.</comment>


The Neural Advantage of Speaking 2 Languages - <AUTHOR> http://www.scientificamerican.com/article.cfm?id=bilingual-brains&print=true

<comment><USER2> I think HN is getting at a point that it needs some clever ajaxy thingy when posting a link. E.g. on Stackoverflow when you post a question you get a list of similar/related questions when you start typing in the question title box.

Since most people copy and paste the blog/news titles anyway as the link title, the chance will be pretty big for a perfect match when you post a link.

<comment><USER3> Or penalize resubmitters? For every vote that the resubmitted article gets the submitter loses a karma point.

It might be a bit overboard but could be interesting to see.

<comment><USER2> That might be a bit to much. I don't think there is a reason to penalize re- submitters as it's obviously not re-submitted on purpose or to do harm. It's re-submitted because no one can look at every single link posted here and it's quite easy to miss something. I mean, for most common folk (like myself) reading HN is not a day job but a spare time activity. Not all of us are that fortunate.

</comment></comment></comment><comment><USER4> <http://news.ycombinator.com/item?id=1067421></comment>


Open Source LibreTorrent Client Kicked Out by Google Play - <AUTHOR> https://torrentfreak.com/open-source-libretorrent-client-kicked-out-by-google-play-191123/ <comment><USER2> I'm probably a bit naive, but who torrents on their phone or tablet? Like, who does that?

<comment><USER3> Kids who don't have a laptop or desktop. This may be the only "computer" they have access to.</comment></comment>


IPOs Just Aren't What They Used To Be - <AUTHOR> http://www.avc.com/a_vc/2010/06/ipos-just-arent-what-they-used-to-be.html

<comment><USER2> Dupe detection just isn't what it used to be, this is from today as well: <http://news.ycombinator.com/item?id=1444641>

(The URLs of each entry look the same to me, is exact dupe detection broken? Perhaps this URL was edited post-submission and is now equal?)

<comment><AUTHOR> And why would I edit the URL?

<comment><USER2> I've edited mine before if I notice there is cruft like campaign trackers, etc., to get to the canonical URL (i.e., I made a mistake submitting). I am not "accusing" you of anything, I am wondering why the dupe detector does not work. It's of interest to me especially since I rely on the submission here to do an atomic "Submit or vote this up" action instead of polluting things.

</comment></comment></comment><comment><USER3> Under what circumstances would a company fail to IPO successfully? I'm assuming this would happen if they didn't create enough interest among investors to raise a specified threshold of money. Is my intuition correct?

</comment><comment><USER4> "[L]iquidity offerings followed by an eventual sale transaction", Can someone explain with that means?

<comment><USER5> "Liquidity offerings" refers to the sale of some of the shares from the original investment in the secondary market. And by "eventual sale transaction", I think that he just means an exit through a sale — acquisition or otherwise.

</comment></comment><comment><USER6> Why cant these companies just pay dividends?

<comment><USER7> Venture funds typically have a ~10 year lifespan. Their investments must be made liquid by the end of the fund.</comment></comment>


Ask HN: How do I learn to use Powerpoint well? - <AUTHOR> I work a job that uses Powerpoint both for traditional presentations (talk in front of slides) and documentation (here's a 10 slide presentation covering X that you read yourself).
I don't pick the format, I am aware of all the disadvantages, I have read Tufte, Powerpoint is the tool I will be using for this.
I am looking for a method to learn how to use PP quickly (shortcuts, best practices, features to avoid) so I can put things together quickly that look decent. The vast majority of online content on this is extremely basic or focused on presentation skills - I am looking to learn the software. Something like Joel Spolsky's "You Suck At Excel" talk, but for Powerpoint.
Articles, MOOCs, video, whatever will be fine. Thanks. <comment><USER2> I always wonder why people always use libraries when building software but never use templates when making presentations. Graphics and transitions are extremely important when presenting, so why not build on top of other people's work ?

I highly recommend using templates. You can get some really good ones here (from 5 to 30 dollars)[1] or for free using google.

[1] [https://graphicriver.net/category/presentation- templates/pow...](https://graphicriver.net/category/presentation- templates/powerpoint-templates)

</comment><comment><USER3> Focus on real content – maps, charts, pictures – and create it using some better tools outside of Powerpoint. Don't write everything you plan to say on your slides. The talk is the written content, the slides are visual backup.

Cut the bullet lists. Cut the animated transitions. Cut the clip art, tacky color schemes, overabundance of wacky fonts.

Use text big enough to read. Don't put too much of it on each slide. Write in complete sentences. If you have more information than easily fits on slides, print it on a handout.

This will both improve your talk, and reduce the amount of work you have to do trying to herd powerpoint into doing anything tricky. All the MS Office products are hilariously bad at doing precise layout work, full of inexplicable and unreproducible bugs. The best approach is to not try too hard with it, you'll just frustrate yourself. If you keep your layouts exceedingly simple, you have a chance of success.

<comment><USER4> BAD PowerPoint presentations are for the speaker's benefit. They are just transparent notes. Professors are the most guilty of this with a VERY close second anyone that just is a bad public speaker.

GOOD PowerPoint presentations add to the speaker's presentation and requires more from the speaker and less from the audience. These are very rare. People who are selling you something are the most likely to do this well.

</comment></comment><comment><USER5> I am a professional presentation designer and the founder of a PowerPoint alternative: www.slidemagic.com.

Of course, I am biased and encourage you to try my app, but failing that, feel free to browse through blog posts I have written over the past 8 years that include a lot of PowerPoint advice: [http://www.slidemagic.com/search-the- presentation-design-blo...](http://www.slidemagic.com/search-the-presentation- design-blog-archive/)

My book (free) also provides useful pointers: [http://www.slidemagic.com/book#free-presentation-design- book](http://www.slidemagic.com/book#free-presentation-design-book)

</comment><comment><USER6> The best way I've found to learn powerpoint to identify 'good' powerpoint slides, and then try and recreate the slides yourself from scratch. My top tip in general is to use the Align and Distribute feature to manage the layout; you'll be surprised how much of a difference it makes!

</comment><comment><USER7> As you've asked for "Best Practices"

The Old KISS principal applies here too.

Use whatever standard template your company or whomever mandates and then have a Title per slide and Bullet points.

If none mandated, just plain white background and standard font size in the default template works best.

All transitions etc.... get lost when converting and delay switching time.

Only have a single image per slide. The image should be self contained. i.e: Create the diagram in word or other and use image of it.

It might look BORING, but it'll be easier to read and the slides are a guide. People should be looking at presenter, NOT at the slides. :)

</comment><comment><USER8> 1\. Use you organisation's template. It should have 30+ slides of different layout options. 'Text on left, 2 graphics vertically stacked on right', 'Text on right, 1 graphic on left' etc, and a few pages of widgets. And your organisation's colour palette with adjusted shading, etc.

If you can't find it, ask someone in marketing, as they'll probably have something similar if not official.

2\. Use the keyboard to move things around. It is much more effective than using a mouse.

</comment><comment><USER9> This reminds me. The best "presentation" I've ever seen (and I was lucky to be present in person for this) has been by a guy that was, if I remember correctly a top person in Twitter's scalability team a few years ago. His name was Raffi. It was so good that I've since been looking for these slides actively and never managed to find them. The talk was about how they scaled Twitter after it became a thing, and what happens to a tweet once the user clicks "Post", how the timelines are generated, etc. The presentation on the wall was made so tastefully, and clicked so amazingly in place with the speaker's verbal story, that everyone was completely mesmerized.

If anyone can find me these slides (they weren't traditional slides and the whole thing felt more like a smooth movie almost), I'd be extremely grateful. Great material to learn from.

<comment><USER9> [https://twitter.com/raffi](https://twitter.com/raffi) is the guy that did the presentation.

</comment></comment><comment><USER10> My personal recommendations:

1 - use your corporate template

2 - stay away from fancy transitioning between slides

3 - watch font size, avoid small font unless printed, and even then...

4 - augment what is seen on slide with what you say, do not read verbatim, or if you do read, read then expound.

5 - control viewing with bullet point transition, revealing one bullet point at a time.

6 - fewer slides are better unless your internal corporate is accustomed to 100 page decks (I've actually seen this)

7 - Images are great, but avoid juvenile images.

The other thing is that Powerpoint creation is an actual career in and off itself. A friend of mine in marketing said that some executives offload PPT creation to freelancers and that is _ALL_ that the freelancer does to feed and house themselves. Creating a good presentation is an art in and off itself.

</comment><comment><USER11> [http://gazit.me/2012/12/05/designing- presentations.html](http://gazit.me/2012/12/05/designing-presentations.html)

</comment><comment><USER12> As you're asking specifically for using powerpoint, I would like to suggest few tips you can use.

Colors:

When choosing colors for presentations, use [http://colorhunt.co](http://colorhunt.co), [http://Coolors.co](http://Coolors.co), or [http://colorlovers.com](http://colorlovers.com), as you'll find prebuilt color templates that look quite good than the stock colors of powerpoint. This will definitely save you a lot of time on deciding colors.

Fonts:

If you can, install google fonts and use them instead of stock fonts. Most of the stock fonts are overused in the industry (comic sans) and gives your presentations a boring look. You can use [http://canva.com/font- combinations](http://canva.com/font-combinations) for fonts suggestions that go well togather. One for headings and other for content. You can choose a thrid font for comments or captions.

Template:

Here, I would suggest that many other are suggesting. Use your company's provided template. It would be much easier to modify that than to start from scratch and think of something new. Still if you want to use something new, watch a lot of presentations, especially the featured one on Slideshare.

And if Powerpoint is not the only option: I would highly suggest using [http://canva.com](http://canva.com) for your designing needs. I, from past year, have been using it to design almost everything. From presentations to Infographics and deliverables.

3 benefits I would like to highlight - 1\. It is much more flexible than powerpoint to modify, add colors, add pictures, resizing your designs.

2\. Provides hundreds of shapes, illustrations, images, few good fonts (for free). This saves a lot of time.

3\. Offers multiple free templates to start with.

The major of all is, its free and you can use it anywhere, on home, office. Share the files easily with just a link.

PS: I'm not related to Canva's marketing or anything, I'm just a too happy client of them. I haven't even purchased their premium package as I never felt the need.

</comment><comment><USER13> Create plaintext to powerpoint generator

<comment><USER13> Not sure why the downvotes. He doesn't seems to be excited about it, when you will have 50 different presentstions and you need to do minor change in it, you just run the generator and it's done in few seconds. You can diff the changes with VCS. You will have consistent style in every presentation, if you change color of title it will change in every slide of every presentation.

</comment></comment><comment><USER14> I would suggest looking at presentations like the one you want to give.

That last bit is important. I see academics trying to emulate Steve Jobs, not realising the Steve Jobs style doesn't work when you have genuinely technically difficult material to get across.

</comment><comment><USER15> I found an useful YT playlist. Hope you enjoy it. [https://youtu.be/g5EX7dpoLiY?list=PLq- yuDBwPhRvOP9qGzQtQlK1v...](https://youtu.be/g5EX7dpoLiY?list=PLq- yuDBwPhRvOP9qGzQtQlK1vNvbWmKs8)

Good luck!-

</comment><comment><USER16> one sweet trick is to design each slide as an image in photoshop. looks much better.

</comment><comment><USER17> @dilemma's suggestion is the right one. The best way to use powerpoint is DON'T USE POWERPOINT to create your presentation. For example, if you use PPT shapes and text objects on a slide, and somebody tries to view it on a different version of PPT (mac v. PC for example), the layout may change. Yesterday, I presented in a webinar. I sent my slides to the sponsor in PPT format. The webinar presentation software wanted 4:3 aspect slides and mine were 16:9 so they mangled the format.

Use another tool to create each slide. Photoshop if that's your thing. I use omnigraffle on my mac a lot. Each slide should consist of a single jpg or png.

So you don't have to learn anything about PPT, which is a worthless tool, but unfortunately ubiquitous. Make your content and use PPT only to share and present.

<comment><USER18> The OP clearly stated:

> I don't pick the format, I am aware of all the disadvantages, I have read > Tufte, Powerpoint is the tool I will be using for this.

And still there are people that go on telling him not to use PowerPoint and the reasons why.

<comment><USER19> The poster above didn't say not to use PPT as the final format. If you had read OPs issue closely you would probably identify this as a viable work- around.

</comment></comment></comment><comment><USER20> I know you're not specifically looking for suggestions on content, but this is worth a look:

[http://blog.dilbert.com/post/144505424481/impossible-to- igno...](http://blog.dilbert.com/post/144505424481/impossible-to-ignore)

</comment><comment><USER21> Don't know any content references, but find a person in your network that has worked in management consulting, and they can take you through exactly what you need

</comment><comment><USER22> A foolproof method that I have used to great success:

Use the 6 by 6 rule: keep your slides to a maximum of 6 words per line, and 6 lines per slide.

Budget about 30 seconds per slide, and then talk about the things that your slides outline; don't just read what's on the slide.

You can add notes to the slides that don't show up in the presentation but I prefer to use a piece of paper as it lets you walk around.

<comment><USER23> 30 seconds per slide? are you mad?

<comment><USER24> I'm confused by your statement. Do you think that 30s/slide is too fast or too slow?</comment></comment></comment>


ORNL demonstrates 120-kilowatt wireless charging for vehicles - <AUTHOR> https://www.ornl.gov/news/ornl-demonstrates-120-kilowatt-wireless-charging-vehicles <comment><USER2> 120 kilowatts is a lot, like a thousand of the old incandescent lamps, or a hundred electric heaters. The normal wires of a home can carry something like 5 kilowatts, so … where is the catch?

My guess is that they transferred 120 kilowatts for a very tiny amount of time. (You can store the energy in a capacitor or something, transfer it, and store it in another capacitor.) Does someone have mor data?

For this to be useful, it important also how much energy they could transfer before the wires got flames or get destructed.</comment>


Why I Hate Object Orientated Programming (2010) - <AUTHOR> http://blog.jot.fm/2010/08/26/ten-things-i-hate-about-object-oriented-programming/comment-page-2/ <comment><USER2> Is this article a joke?

"" Patterns. Can't live with 'em, can't live without 'em.

        Every single design pattern makes your design more complicated.

        Visitors. I rest my case.

""

A design pattern demonstrates a solution to a common programming problem! How can you take issue with them? You don't need to program in an OO language to use the concepts that design patterns describe.

The whole article just seems to be anecdotal and full of straw men. If it was written in jest then the humor was lost on me.

<comment><USER3> As Peter Norvig famously said, "Design patterns are bug reports against your programming language." Read his presentation on why the most common design patterns become simpler or even unnecessary when using a dynamic functional language such as Lisp: [http://norvig.com/design- patterns/](http://norvig.com/design-patterns/)

<comment><USER4> Whether a design pattern is implicit or explicit is a matter of preference. Personally, I prefer to make my design patterns explicit even when working in languages that don't require that convention because it makes my code easier to grok for others.

Edit: Thomas, I can't reply since this has been flagkilled, but for you or I an implicit pattern is superior. That said, many business programmers don't come from a functional background and for those programmers I prefer to make my code easier to read.

<comment><USER5> Can you give a couple examples of pairs of patterns and native language implementations where the explicit pattern invocation is clearer and easier to grok? Norvig's simplest example is "factories" in languages where classes are already first-class and can be passed around without extra machinery. Clearly, Norvig is right about that one.

<comment><USER6> The one I think of off hand is the Registry Pattern. A Registry is a collection of objects or classes that need to be globally accessible. You can't just attach state anywhere in Java, so you create Registry classes to hold all of them.

But in Ruby, you can define instance variables on class objects, so that's where I put my registries. Let's say I have a custom logging class, named Logger, and I have three different logs that need to be accessed. What I would do is define self.[] on Logger, that accesses @loggers on the Logger class itself. So whenever I need a file logger, I just call Logger[:file] rather than LoggerRegistry.get_logger(:file)

Note that an instance variable on a class is different from a class variable. A class variable in Ruby is shared across the all the descendants of the class, and up the chain too to a point. (I don't think they go all the way up to Object but I'm not too clear on the details there.) In practice class variables are rarely used.

For the Factory pattern, the usual way to do it is to define a .create or .build method on the superclass, and have it return or define the needed class. If it were me, I'd use .create to make objects, and .build to make classes.

<comment><USER3> _A Registry is a collection of objects or classes that need to be globally accessible._

This is a variation on the "Singleton Pattern" and IMO it is an antipattern. It tightly couples your classes to a "global state" class which makes unit testing very difficult. This is why Dependency Injection was invented. And in Lisp-like languages DI is totally trivial due to having first-class functions and closures.

<comment><USER6> Well, the coupling is there whether you're using DI or a Registry, it's just a question of where the code expects its dependency to be. In DI, the dependency is passed in as part of the sets of arguments, in a Registry, it expects it to be somewhere else.

What I like about using a class object to hold the state is that the class is being depended on anyway, so you're not introducing any 'extra' coupling. I also like to allow the dependency to be passed in as an argument, with the default being to grab it out the registry, for testing purposes or in case I'm hooking into the code with a REPL for whatever reason. This way you get the benefits of DI without littering your classes with keyword arguments that, 99% of the time are only going to interact with one thing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Joe Armstrong is quite fond of calling Erlang the only true OO language in its original sense. The idea of methods being messages sent between isolated and opaque objects. This isolation is really enforced at the heap level and method call are really messages being send to an actor's mailbox. So it maps very well to the original concept.

And Alan Kay agrees:

[http://www.purl.org/stefan_ram/pub/doc_kay_oop_en](http://www.purl.org/stefan_ram/pub/doc_kay_oop_en)

\---

OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them.

Cheers, Alan

\---

<comment><USER8> Alan Kay's restrictive definition of OOP is a lot easier to apply than the buzzword-list definitions. It clearly rules out a lot of languages.

C++ 'OOP', by comparison, is little more than syntax sugar for calling functions that take a struct pointer as their first parameter; a feature to make the compiler forcefully limit the access scope of certain members; and a v-table implementation.

I really like Go's OOP implementation because it doesn't pretend to be anything more than the 3 features listed above.

> This isolation is really enforced at the heap level

This is a very good point. True messaging OOP with "extreme late-binding" requires by definition that no object knows the memory layout of any other object. In practice, we achieve this by putting everything on a heap.

That characteristic is against C++'s goals. Heap isolation is useful for implementing certain features but it is not acceptable to apply it to the entire program when runtime performance is important.

But if you don't require the pattern everywhere, it really cuts down on the reusability argument for OOP, because inevitably you will want to change a part of your program that doesn't use the heap isolation.

It's also hard to reconcile Kay's definition of OOP with C++'s strict ownership semantics. It seems like Kay's OOP requires a garbage collector almost by definition.

C++'s template system is almost like the dual of Kay's OOP. Instead of messaging, every function call is a candidate for inlining. State might be hidden by the `private` keyword, but all memory is accessed directly. All things are bound at compile time.

</comment></comment><comment><USER9> I'm not a huge fan of OOP either, but I'm rather much getting tired of these articles who rant on about it from a logically unsound position like my grandfather rants about Obama.

OOP "sucks" because programmers suck. There are a lot of bad programmers in the world. SOme of them occasionally write programming languages, too. So just because certain people fail to create quality projects, or one particular language, written in ancient times, doesn't stand up to scrutiny, doesn't mean the entire idea is flawed.

Modern object-oriented programming (whatever you want to call it, I'm not going to get into any No True Scotsman debates) is a very well-understood paradigm. If you have a set of experienced, skilled developers and nobody is going off trying to do insane things, you can implement many projects with an OO design and it will be very successful.

Not every project is a Boeing 747 or the Sistine Chapel or Dante's Inferno. Most projects are just wood sheds and latrines and gas stations. In terms of grunt-work programming where the problem domain is well understood, OO works just fine.

And FP works just fine. And straight procedural works just fine. And it really doesn't matter. Because the quality of software has nothing to do with your choice of paradigm or programming language or operating system or anything. It is the team that matters. That's it.

And if you're embarking on a massive air liner or an epic poem, your basic choices of tools are once again not going to matter that much, either. It is again up to having the right people. In this case, you need brilliant people, and not just people who struggle to put together a birdhouse without supervision.

</comment><comment><USER10> He's all over the place, and as other commenters have mentioned some of it is a little ridiculous. However, there are a few great kernels.

 _I am guessing that one of the reasons that Test-Driven Development is popular is that it also exposes object interactions during development._

This is exactly right. The reason TDD is useful goes right back to the fact that Well Factored Programs Cannot be Understood Statically [0].

 _Type systems cannot deal well with the fact that programs change, and that different bits of complex systems may not be consistent._

Oh my this is exactly right. Most of my work is doing integrations with a variety of APIs. I try to do as much as possible in JavaScript because it's dynamic nature papers over the major issues in nearly every "enterprise" API. I'm very excited about the prospect of pluggable types [1] that he mentions.

 _I challenge you, however, to name a single programming language mechanism that supports change._

The first I've ever seen was just yesterday [2], but even that is just a tool attached to a language ecosystem, not a part of the ecosystem itself.

 _I like to think that one day, when we grow up, perhaps we will think of the model as being the source code._

I think this is already the case in many circles. For instance, domain-driven design makes it a priority.

 _...we have difficulty distinguishing real and accidental complexity._

This might be the most insightful statement in the article. I'd be intersted in readin gmore about this and how to mitigate the problems.

[0]: [http://c2.com/ppr/wiki/WikiPagesAboutRefactoring/WellFactore...](http://c2.com/ppr/wiki/WikiPagesAboutRefactoring/WellFactoredProgramsCannotBeUnderstoodStatically.html)

[1]: [http://bracha.org/pluggableTypesPosition.pdf](http://bracha.org/pluggableTypesPosition.pdf)

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

</comment><comment><USER11> If you're looking for a focused criticism of OOP, you should look elsewhere. Some points in the article deal with programming in general, sometimes very vaguely, like the single sentence criticism of design patterns, methodologies, on change, on types...

</comment><comment><USER5> I assume this is the same Oscar Nierstrasz?

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

(A CS professor at Berne focussing on OO).

</comment><comment><USER12> "The great thing about object-oriented programming is it makes small, simple solutions look like big, complex ones."

<comment><USER13> Example: J2EE

</comment></comment><comment><USER3> _For me the point of OOP is that it isn't a paradigm like procedural, logic or functional programming. Instead, OOP says "for every problem you should design your own paradigm". In other words, the OO paradigm really is: Programming is Modeling_

Bingo. The biggest problem I deal with in an OO language is people (especially non-programmers like business analysts) trying to "model the world" with class diagrams and inheritance trees. It only leads to endless debates about whether something is-a something else, or has-a something else, and it takes a lot of time away from implementing the solution to the actual problem.

</comment><comment><USER14> I hope this was all meant to be funny.

* Its nonsense to blame OO for the "my programming language is superior to yours". It is a natural trait. Ford vs Chevy, Hockey Team A vs Hockey Team B, CPU A vs CPU B. Additionally this sort of comparison is what the entire article is.

* Whatever type of programming language you use you will do modelling. You might do the modelling differently but you still have to do it.

* Stating that procedural code is just easier to read might be an indication that the author has spent most of his time reading this type of code. Talented programmers will make their code easy to comprehend no matter what is in their toolbox.

</comment><comment><USER13> "One of the reasons it takes us so long is that we spend much of our time bouncing back and forth between … lots of little methods. "

I have to agree here

Computation is hidden between layers and layers of inheritance and polymorphism.

Using these _in moderation_ is ok, however, you have to read a big amount of code to understand what's being done

"everything happens somewhere else" is a great description.

<comment><USER15> This of course reminds me of Enterprise FizzBuzz, the nice exercise of pushing the limits of indirection. [https://news.ycombinator.com/item?id=5395215](https://news.ycombinator.com/item?id=5395215)

</comment></comment><comment><USER16> To me, messaging is the most important part of "OOP", and "OOP" should have been Message Oriented Programming. Calling it object oriented programming and having classes and inheritance made all of academia excited because you got to name and classify things. Object reuse was going to save the world, etc.

Message oriented programming - that you need some kind of message protocol between two things to communicate is something we do a lot of, and has built huge systems like The Internet and all of our web services and JSON API's and all that jazz.

The beauty of MOP is that once you have a format between two things, you can simply code to the format. We do this all the time with Web API's. The entire paradigm of microservices that is gaining popularity is really close to what Alan Kay was talking about when he created OOP. The biggest difference is microservices add network overhead complexity.

If we built software as a series of Objects/Services/Containers that sent messages to each other over an enforced protocol, many of the OOP complaints go away because what is important is NOT the object, it's the communication protocol between objects that drives value.

We have completely inverted the paradigm and lost a lot of value along the way.

You don't need a lot to do message oriented programming. You need request/response formats, you need to enforce those formats, and you need a sender and receiver that do things on either end of the request-response.

Erlang and the Actor pattern seems to be one approach to solving problems using this technique, microservices is another.

I think there is a third option where you have contained objects/services/whatever running in the same program sending simple data structures like hashes as messages back and forth to each other. It would work well as long as you have code to enforce the message protocol between things(right data format, nil checks, etc).

That approach could be done in OO languages like Ruby, Java, C++, PHP, Python, etc. OR it could be done in FP languages like Clojure, LISP, etc.

It's not complicated, it's just applying the request-response pattern to connect objects/processes/code together in a sane way. Sort of like UNIX pipes on the command line. Sort of like HTTP. Sort of like a lot of things we use, but don't seem to think would be good patterns for code.

</comment><comment><USER17> This article is terrible. There's no insight here whatsoever, he even fails to understand one of the quotes that he cites.

> "There are only two kinds of languages: the ones people complain about and > the ones nobody uses." — Bjarne Stroustrup

This quote is about how everybody complains about the languages everybody uses, and nobody complains about the ones nobody uses because nobody uses them.

The underlying fact is that all tools are flawed. Familiarity breeds contempt. If you don't see the glaring design problems with your language of choice, it probably means you haven't used it enough yet. Or you may just be blinded by fanaticism.

A good developer chooses the existing tool that is best for the job, or creates a tool if one is needed. She does not waste energy complaining about the available tools just to complain.

</comment><comment><USER18> I think I'll write "Ten things I hate about "Ten Things I Hate About Object- Oriented Programming"".

</comment><comment><USER19> I have seen so much of these posts that I am now only willing to take opinions on languages from people who do actual research / develop a language that is popular. Anyways I think this is an opinionated post that one can choose to reject if one needs to. The article is very vague at the least.

<comment><USER20> Well, Professor Nierstrasz has been doing language research since the early 1980s with a particular focus on object-oriented and concurrent OO paradigms, so he definitely fits your requirements. This should be taken for what it is -- a breezy, somewhat exasperated tour of where OO hasn't lived up to its (often rather handwavy) promises, from a researcher who has spent his career trying to improve the theoretical and practical state of the art.

</comment></comment><comment><USER21> > I hate having to say everything twice. Types force me to do that

Thats just because most OO languages OP uses don't have powerful type inference. Sure, type inference is tricky in languages with subtyping but it certainly doesn't need to be verbose and redundant like it is in Java.

<comment><USER22> Can you elaborate, what redundancy are you talking about?

<comment><USER23> I believe he means that very often, type annotations are not necessary to know unambiguously the type of a variable or the return type of a function.

For example, in the following Java code:

      public String myMethod() { return "hello, world"; }
      String myVal = myMethod();

Given that the compiler knows that myMethod cannot return anything but a string, there really should be no need to state it explicitly - it's redundant information. Likewise, myVal can only be of the same type as myMethod's return type.

Languages with type inference get rid of (most of) that redundancy. Take Scala, for example:

      def myMethod() = "hello, world"
      val myVal = myMethod()

</comment></comment></comment><comment><USER24> Slightly OT, but can someone explain the opening quote: "Object-oriented programming is an exceptionally bad idea which could only have originated in California."

I'd always thought the Object-oriented programming originated in Norway. Is there some pre Simula language I'm unaware of?

</comment><comment><USER25> Oh Hacker News. This is like something I would have seen on kuro5hin 13 years ago. Please grow up.

<comment><USER4> That's the worst thing about being on HN. You keep getting older and the users stay the same age...

</comment></comment><comment><USER6> The complexity of a program has to go somewhere. Everybody's got different ideas about where it should go.

Old-school Unix guys would prefer that you divide it all up into lots of differently-focused languages, tools, and such based on the ethic of 'doing one thing, well'. Which is fine and all, but it forces everybody new to learn a hundred little tools and languages to make anything significant.

The great thing about using a language/framework is that all your tools can share the same semantics. With OOP, you can model all sorts of interactions between domain concepts and do it in an iterative fashion.

But most OOP languages are insufficiently powerful, as the article says. It's difficult to move complexity around because OOP languages tend to not be dynamic enough to really be fluid like you need.

If you ask me why I think everyone hates OOP, it's because they haven't really understood Ruby's object model.

Ruby makes most everything an object that needs to be an object. A primitive is just a syntax for creating a built-in object. All of them ultimately inherit from BasicObject, which is separate from Object because it allows you to create entirely new hierarchies.

A block is not an object, but it can be turned into a Proc, which is.

All of this fluidity makes it so you can push around the complexity of your application to wherever you feel it needs to be. The ability to see exactly how complex your OOP programs is is a feature, not a bug. How can you remove duplication if you can't see it? How can you see the dividing lines of your emerging domain model if there's no way to make your code model anything, if it's obsessed with data rather than relationships between abstract concepts?

With Ruby, you can write the long complex methods, then gradually DRY them up into a bunch of methods, then collect those methods into classes, slowly deciding what needs to be class behavior and what needs to be object behavior, then meta-program the creation of those classes and objects with a DSL/front- end, then finally turn the whole thing into a tool you use declaratively which generates whole new concepts on the fly.

It works the way the human mind works, we take concepts and model them and their relationships in our heads and try to reason about edge cases. Once it's all well-defined, you can just add new cases as data rather than as code. Your business users think in terms of classes and objects, your boss thinks in those terms.

If you don't have a domain model you're at least trying to work out, then it will be that much more difficult to get them involved in the process. You want them involved because otherwise you have to understand the domain yourself. Your boss will have to come to you whenever the promo generator isn't quite working because he won't really understand the semantics behind it.

If you have an object model you're hacking on, you can just hand it to him and be like, "OK point to where you think the problem is". But if it's just a bunch of functions focused on data, that might make it easier for you to trace the data through your pipelines and find the bug, but you're going to spend a lot of time translating between the domain model your boss and business users are already and _informally_ using anyway to understand the application and the way you understand that it's actually working. They're already using a domain model, so it would behoove you to create a canonical model and get it as reflective as possible of the business needs.

You don't use OOP because it makes it easier for you to understand. It doesn't. Clarifying a domain model is hard work. You do it because that complexity has to live somewhere, it should be the domain model, because other people besides programmers are involved in the system too.

</comment><comment> d--b "some of my students" ?! Wow the OP is a teacher!

</comment><comment><USER26> Hate? You really exert the time and effort required to hate something, towards hating object oriented programming? Surely there are better uses for your time.

</comment><comment><USER27> I stopped taking this article seriously after the first two sections, neither of which are problems specific to OOP.

</comment><comment><USER28> hoo boy, this article sounds like it was written by somebody who only had a first-year course in OOP. I hope it's mostly tongue-in-cheek, but in case it's not, let's quickly go through it:

1\. Paradigm: The paradigm of Object Oriented Programming follows directly from its definition of an object: a structure that contains both data and behaviour. Objects are your first class citizens. "Everything is an object" is, for most, a goal. Everything else, all the variations on how to formulate it or how the language implements it, are interpretations of how to do that.

2\. Object-Oriented Programming Languages: I agree, everybody has their axe to grind with another language. This is no different from other programmers. On the flip side, for most this axe-grinding is pretty light-hearted. In a world as big as the OOP one, rivalries are everywhere.

3\. Classes: "There is a complete disconnect in OOP between the source code and the runtime entities". Because the runtime entities contain data. Classes determine the behaviour on that data. It's a direct consequence of nr. 1. OO Code shows us the behaviour of an object, interacting with the behaviour of other objects. Everybody is free to dislike it, but calling it 'nonsensical' is ridiculous. As an aside: there are IDEs that show objects. BlueJ ([https://en.wikipedia.org/wiki/BlueJ](https://en.wikipedia.org/wiki/BlueJ)) comes to mind. They tend to be educational tools, because seeing and inspecting actual objects during development means you still need to work on how you mentally model the code.

4\. Methods: Methods should be a sensible length. Make them as short and as sweet as is possible, but no shorter. If you need to go bouncing around huge amounts of tiny methods to figure out what is going on, you have a code smell. If you have to search through a 1000-line monster of a method to figure out what is going on, you have a code smell too. The goal is to find a sweet spot, not to apply some rules to their extreme.

5\. Types: I'll be short on this one: the point of types is to make sure you don't accidentally do something stupid. In the process, they make other things harder, but also more predictable. If you don't like that, no problem, there are OO languages that are dynamically typed, or ducktyped, or any other variation on the theme.

6\. Change: I don't quite know what the author means with change here. He seems to mix up change of the program (maintenance, extension, etc.), with change in the program's environment.

7\. Design Patterns: A standard way to solve a standard problem. Refusing to use them or not knowing them will lead to either bugs or reinventing them. If they 'make your design more complicated', you're using them wrong.

8\. Methodologies: Are a general problem in all programming, and always have been.

9\. UML: I'm a professional developer. I almost exclusively do OOP. I haven't touched UML in years. I haven't seen UML in years, not from other developers, not from architects, not generated by the code. The code is the code, the modelling language is a way to communicate about the structure of the code. Reversing that relationship just means you're hiding code behind a graphical representation. See also: BlueJ.

10\. The Next New Thing: Happens everywhere.

The conclusion sounds like a complete inversion of the original premise of the article. I agree we have a long way to go in OOP, and I agree we are still in the early days of OOP. But hating OOP is as shortsighted as hating FP, or procedural programming, or any other paradigm.

<comment><USER29> This was a speech at an OOP conference. The a author is a computer science professor with a couple hundred publications. This is an entertaining rant from someone speaking informally about a subject they know very well, not just a first year course in OOP.

</comment></comment><comment><USER30> This article is very difficult to consume.

</comment><comment><USER31> Why Nobody Force You To Use OOP</comment>


Node.js PaaS Nodejitsu Open-Sources Several Tools - <AUTHOR> http://www.readwriteweb.com/hack/2011/06/nodejitsu-open-source-nodejs.php

<comment><USER2> Nodejitsu did a lot for the node community by releasing some of their tools. Other offerings like nodester and nodester based solutions where only possible because of them, at least in such a short time.

</comment><comment><USER3> I knew about most of those projects before but the Haibu node.js application server is new to me:

<https://github.com/nodejitsu/haibu></comment>


Pack Your Bags – Systemd Is Taking You to a New Home - <AUTHOR> https://hackaday.com/2019/10/16/pack-your-bags-systemd-is-taking-you-to-a-new-home/ <comment><USER2> The idea (portable homes) that I could ssh into a system and have my home directory come with me (with a personal vim config, shell, gitconfig, etc) on any newer Linux machine is very exciting

</comment><comment><USER3> > user-specific record in form of a JSON file

Can we please not do any more json at the command line? The age of Xml was terrible enough. Key/value pairs please

</comment><comment><USER3> Also for the chicken/egg ssh problem, right now pass hashes are stored outside of the home dir, why not pubkeys? Openssh has a config point for this right now</comment>


The Spectacular Failure Of Better Place - <AUTHOR> http://www.fastcompany.com/3028159/a-broken-place-better-place/? <comment><USER2> There is no doubt in my mind that the 'clean tech' investment bubble is as popped as the dotcom bubble, albeit for different reasons, but with the same refrain. Pets.com and better place will end up as poster children for speculative bubbles in which large amounts of money are thrown at business plans with little research and absolutely no product.

People seem to like comparing themslevs to Steve jobs, being on the worlds stage, releasing products to a stunned audience. But they just want to skip to that part and not go through the whole starting a company in the garage thing.

The comparisons between tesla and bp could not be more stark. One took investment carefully, consistently only enlarging scope when success was already seen with the team and the product. The other attempted to reinvent the world, seemingly with no real product and a vey vague, shifting plan.

Imagine how long that billion dollars could have lasted had it been invested sensibly. They might be a success in Israel now and accepting favorable offers from other car manufacturers and governments. Now it's just another cautionary tale in the long list of people who lost their shirts trying to sell electric cars.

<comment><USER3> I think the dressing-like-Steve-Jobs is a sure sign of failure. It evinces the belief that appearance and charisma is what drives people to build (and buy) a product. Well, yes, it's reportedly true that Jobs had that effect. But in his early stages, he also had Woz, someone as one-of-a-kind as he is, and in later years, attracted the kind of engineers and designers who could survive the Kool-Aid drinking. For someone to think that Jobs did it on pure gusto and dreams alone, and even worse, to assume such a thing is a formula that can be replicated and regurgitated...that's not a great sign of leadership.

And also, if you really were a visionary who an idea that, in many ways, is even bigger than Apple...why the f __* would you settle for being the "Steve Jobs of electric cars?" The pop-psychologist in me wants to believe that such a visionary would rather make his/her own distinctive stylistic mark.

<comment><USER4> Also, Steve Jobs would go to the stage when his new idea had become a complete product! He would go on stage to show it, not pitch it!

He would spend a few years without telling no outsider what he and his team were up to, then when they proved for themselves that it works (including all the industrial capacity and logistics to deliver it in place), _then_ he would use his charisma to sell it. He sold products, not ideas (or ideals).

<comment><USER5> I cant stop laughing at the Dressing-as-Steve antisignal. I wonder if there are any startups out there pitching vcs in black turtlenecks.

</comment></comment></comment></comment><comment><USER6> I suspect BP would have actually worked (rather, been made to "work") during the socialist lost decade(s) in Israel. The national security advantage of not needing oil probably would have led to a huge tax on either petrol cars or fuel, combined with subsidy. Consumers could have been forced to accept one model of kind of mediocre car instead of the full range of options today.

<comment><USER7> "... during the socialist lost decade(s) in Israel"

I wouldn't call them "lost decades". Many of us sorely miss those years; though, to be honest, it's hard to separate fact from nostalgia.

</comment></comment><comment><USER8> The trajectory of Better Place and the character of the founder Shai Agassi is almost analogous with another recent super failure of a promising Brazilian oil venture OGX Petróleo e Gás and its founder Eike Batista [1].

It is like a case of bubble cycle representation in a singe investment venture.

The pattern here is that the impressive early success of a charismatic founder is accepted as a promising billion dollar venture by some prominent investors. At this point the visionary founder gets lost in positive feedback loop and looses touch with reality. Eventually the the bubble bursts and the business goes under.

[1] Batista Loses $15 Billion as Brazil Awakes From Dream. [http://www.bloomberg.com/news/2012-07-12/batista- loses-15-bi...](http://www.bloomberg.com/news/2012-07-12/batista- loses-15-billion-as-brazil-awakes-from-dream.html)

</comment><comment><USER9> Better Place failed because swappable batteries don't make sense. The technology is too complex and it would have required a massive leap of faith amongst automakers to adopt the standard from an startup, even one as well- funded as Better Place.

I worked in the electric vehicle industry for 4 years, and it was clear early on that the market was moving towards permanent battery storage (not unlike smartphones) with intermittent charging taking place at public locations. Today, the vast majority of EV charging takes place at home.

Better Place management did not to listen to the market and the company suffered greatly as a result. If they would have pivoted to building recharge stations or charging networks they just may have had a chance to succeed.

<comment><USER10> "Better Place failed because swappable batteries don't make sense." Did we read the same article? It seemed pretty clear there were incredible management missteps like burning $500k/day with only a few hundred cars being sold or the CEO going excommunicado for months that destroyed the company. Even with the right tech it sounds like they were setup for failure.

</comment></comment><comment><USER11> And they say that hardware startups are hard. Hardware startups that require hundreds of custom, million dollar station installs, AND cooperation from a significant fraction of car manufacturers... are the hardest.

The Tesla Superchargers cost about $20k each to install, which is low enough that they didn't need anyone else's cooperation to cover the US.

<comment><USER12> Even if Telsa covers the earth in superchargers... it doesn't matter unless other cars are using the same tech... which they are not.

And if every 200 miles I have to sit for 30 mins... what? What if the stall are all full? I have to sit for an hour? No even on its best day was that a good idea...

<comment><USER13> If you aren't taking a 30 minute break every 3-4 hours then I really don't want to be on the same road as you.

<comment><USER14> You might want to reconsider driving in the USA. b^)

</comment></comment></comment></comment><comment><USER15> These articles are missing the "Better Place Super Yacht"

[http://www.superyachts.com/sail-yacht-8657/better- place.htm](http://www.superyachts.com/sail-yacht-8657/better-place.htm)

Maybe not the most efficient marketing dollars...

<comment><USER16> Wow, do a lot of luxury yachts have sails? I was under the impression the term "yacht" wasn't really applicable, but this thing seems like a real sail boat.

All that luxury glassware wouldn't hold up too well if you catch a bit too much wind on a tack.

<comment><USER17> Sure, yacht pretty much just means a fancy recreational boat, and has existed as a word since when most of them were wind-powered, some still are.

</comment></comment></comment><comment><USER18> I actually saw a sort of showroom of theirs in Israel a few years ago, complete with a track where they'd take you around in one of the cars. It all sounded good, but at one point they put us in this very fancy video auditorium and showed us a 10- or 15-minute marketing film that I distinctly remember was totally devoid of content.

<comment><USER19> Did you see the Shai Agassi hologram?

<comment><USER18> Ha, I don't think I did.

</comment></comment></comment><comment><USER20> i saw shai agassi speak for about 30 minutes in a TED talk and at the end of it, i still had absolutely no idea what his company actually did.

<comment><USER19> the crazy thing is most people who heard that talk seemed quite taken -- despite the outrageousness of the whole thing (for instance, the comparison to EVs and the end of slavery)

</comment></comment><comment><USER21> Better Place Failed.

We have a tendency to look at success and failure stories and pick out some storyline that suits us. Here we have a lot to choose from: boiling oceans, CEO god complexes, too much money, wrong business model, the charging stations business model, etc. etc.

I think its useful to read accounts of success and failure analyze them and such. But extracting too many lessons might be as bad as too few.

I don't think there was anything inevitable about Better Place's failure. I don't think there was (is?) anything inevitable about Tesla's success. I do think that it is inevitable that some of these will fail.

Lets learn, but not to much.

</comment><comment><USER22> >The GM executives were nonplussed. "If it's free, why don't you just swap the car instead of the battery?" one asked.

Burn. It seems like this guy was more delusional than Jobs at his worst.

</comment><comment><USER23> Why did they spend so much time and money addressing the limited range of electric cars... in Israel. A country smaller than New Jersey.

It seems like his initial market had little need for his one differentiating feature.

I can't help but wonder if this Onion Talk was modeled after Better Place after reading the article: [https://www.youtube.com/watch?v=DkGMY63FF3Q](https://www.youtube.com/watch?v=DkGMY63FF3Q)

<comment><USER24> Focusing on the Israeli market made a certain amount of sense. They positioned this as a sort of a patriotic project that would be transformative for a small country and they had the country's top leadership involved from the beginning. They were probably in a much better position to get what they wanted from government and local businesses than they would have been in the US. It's also a lot easier to build enough charging stations to cover any place a customer wants to go if your target country is very small.

<comment><USER17> Focusing on the Israeli market probably makes a lot of business sense, for the reasons you say. Parent commenter's point is that once you've made that (sensible) choice, there's no need, for that market, to focus on increasing the range between charges, because that market doesn't need increased range, that's not what will help you succeed in that market.

</comment></comment></comment><comment><USER25> I think there are two many lessons that can be learnt from this story.

1\. Stay focussed. 2\. Keep your team as small as possible.

<comment><USER23> 3\. Ship

<comment><USER26> They did ship. It's not that rare to see their cars driving around Israel. From what I've heard, owners loved them - less so now, obviously.

I think BP burnt through their money too quickly, and ran out of resources (and investor patience) just as they were starting to get some traction.

</comment></comment></comment><comment><USER27> "The one group of people Agassi seemed in no hurry to hire were actual managers with car-industry or infrastructure-building expertise. 'We had no automotive experts,' explains one person familiar with the inner workings of the company. 'Nobody who'd done a car in their life.'"

That's quite an oversight.

</comment><comment><USER28> Too much too early. Sad.

</comment><comment><USER29> Car startups are so hard - more respect for Tesla.

<comment><USER12> not if they work...

</comment></comment><comment><USER30> The real reason is because Shai Agassi, a 0.001 percentile guy, was beaten by Elon Musk, a 0.0000001 percentile guy.</comment>


Fast and Easy Infinitely Wide Networks with Neural Tangents - <AUTHOR> https://ai.googleblog.com/2020/03/fast-and-easy-infinitely-wide-networks.html <comment><USER2> Can someone explain the implications of this for performance, or what we can do now that we couldn't do before?

<comment><USER3> Well, they seem to be claiming it allows insight or understanding into how the networks work. However, they don't seem to demonstrate that as such.

</comment></comment><comment><USER4> It really looks more and more like JAX is the internal winner after the tf 2.0 fiasco</comment>


AlphaGo Movie - <AUTHOR> https://www.alphagomovie.com <comment><USER2> The moment Lee Sedol has to leave the room is actually high drama. The story itself could be adapted to a great feature as well. Say in the hands of a master screenwriter. Was the DeepMind team 100% certain of victory?

Video: Lee Sedol Reaction to Move 37 and W102 vs AlphaGo

[http://www.businessinsider.com/video-lee-se-dol-reaction- to-...](http://www.businessinsider.com/video-lee-se-dol-reaction-to- move-37-and-w102-vs-alphago-2016-3)

<comment><USER3> I believe it's been shown in video feeds that Lee Sedol had left the room before move 37. He came back from a smoke break and noticed AlphaGo's shoulder hit play. It's of course still dramatic when he comes back and sees it. You can see some discussion about it at [https://www.reddit.com/r/baduk/comments/49zik4/the_sadness_a...](https://www.reddit.com/r/baduk/comments/49zik4/the_sadness_and_beauty_of_watching_googles_ai/) and the moment in video at [https://youtu.be/VunLUhNP_Aw?t=2590](https://youtu.be/VunLUhNP_Aw?t=2590)

</comment></comment><comment><USER4> A year after Master played 60 games and won every game. [https://deepmind.com/research/alphago/match- archive/master/](https://deepmind.com/research/alphago/match-archive/master/) Nobody knows how strong Master is/was. But these games have changed the game.

</comment><comment><USER5> I don't know why but the piano at the end made me think of this....

[https://m.youtube.com/watch?v=DbYR_1LvSGQ](https://m.youtube.com/watch?v=DbYR_1LvSGQ)

</comment><comment><USER6> Is Google involved in the creation of this?</comment>


Coinpunk becomes first Bitcoin mobile wallet app to be unbannable by Apple - <AUTHOR> http://www.youtube.com/watch?v=L77XfFnoxdI

<comment><USER2> That's a pure web-based QR code scanning Bitcoin wallet. Very impressive.

</comment><comment><USER3> awesome!</comment>


Tesla insiders say 'it's a s--tshow' under beleaguered Elon Musk - <AUTHOR> https://nypost.com/2018/08/23/tesla-insiders-say-its-a-s-tshow-under-beleaguered-elon-musk/ <comment><USER2> I'm getting the impression that all the freaking out is coming from non- techies. People that have been in the industry for a while are just shrugging and saying "Yeah, that's professional software development for you.".

<comment><USER3> I'd be more comfortable with that explanation if it was from people in the auto industry. I'd like Tesla to have better QA than developers normally do.

</comment></comment><comment><USER4> In the big picture of things, it's still early days. Tesla's only been around for less than a decade and their model 3 only recently became available. They'll get things sorted out over the next 10 years, I would imagine.

Once their reliability goes up, I'll consider purchasing a used model S. The model S costs a lot to fix, so I wanna make sure I'm getting something that's not broken. I think the incentives are in place to create a car that lasts a long time. Unlike some others. BMW and mercedes, as far as I know, have terrible reliability after the 10 year mark: they kinda self destruct. Mechanics are always telling me how they see nothing but BMW and mercedes in their shops.

<comment><USER5> I'm sure, given a decade and unlimited money, they will sort it out. But they have to sort it out before their investor money runs out and the banks stop loaning.</comment></comment>


RIM drops all variants of Playbook to $299 - <AUTHOR> https://store.shopblackberry.com/Product/BlackBerry-PlayBook/PRD-38548-001

<comment><AUTHOR> Bizarrely, the 16/32/64 GB variants all have the same price!</comment>