Google I/O 2014 - <AUTHOR> https://www.google.com/events/io?gclid=CjkKEQjw5qmdBRCn--70gPSo074BEiQAJCe7zf8EY8JMUkoqTKWUpWgCoxLkDCZCCf0IDAcajQT_jeLw_wcB <comment><USER2> I was extremely disappointed when they started talking about "Material Design", hinting at tactile screens by showing what one might look like, and then going on to talk about it as a metaphor for tactility.

Still looks nice, but that was mean.

<comment><USER3> Yeah, all this design talk is grossly underwhelming.

<comment><USER4> It's great design, but I got really excited for a new screen technology.

<comment><USER5> Is it me, or the new design looks like Windows Metro?

<comment><USER6> Especially their design page: [http://www.google.com/design](http://www.google.com/design)

"[Google Manager]: Guys... Could you make it modern, like Microsoft Metro, but maybe decrease the padding between tiles and maybe add some blurry shadows."

"[Designers]: but shadows are a violation flat design principles!"

"[Google Manager]: I am sorry, but we cannot come across like _complete_ rip- offs".

<comment><USER7> We need 7 red lines. All orthogonal, two with green ink and the rest with transparent ink.

<comment><USER8> Well here's the problem, you're using a blue pen.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Automatic unlock of your computer when your phone is near seems like the kind of feature that sounds great on paper but is a nightmare in practice. What happens when someone picks up my phone and walks near my laptop, they suddenly have access to my entire machine?

<comment><USER10> The time has come for phones to start recognizing the presence or non-presence of trusted individuals, granting various permissions.

I'd carry a tiny wearable for this.

<comment><USER11> Like a Motorola Skip, or any number of other NFC tags that will do this?

[http://www.motorola.com/us/accessory-family- page-1/Motorola-...](http://www.motorola.com/us/accessory-family- page-1/Motorola-Skip/motorola-skip-moto-x.html)

<comment><USER10> To clarify, I meant this as a matter of ubiquity...

There are options for this functionality out there, of course, but they've not been adopted much by users.

</comment></comment></comment></comment><comment><USER12> My main thought from this is Google are damned if they do, damned if they don't. Either they do nothing exciting and we complain about that, but if they did too much we'd complain about them stepping on the toes of everyone in the ecosystem. As it stands it looks a lot like they're licking too many cookies, but underdelivering, and being damned on both fronts, but getting the benefit of neither. Go back to last year's I/O, and Android Studio still isn't really the main IDE for Android yet, and the much lauded Maps has gone off a cliff.

Let's face it, the only impressive tech stuff here today was the cloud debugging. Everything else was fluff. Frankly Amazon put on far more dangerous looking displays of technology prowess these days.

And we still can't mention China. Disappointing, but somewhat inevitable.

<comment><USER13> I'll second your point on Android Studio. I was really hoping to see it was getting some serious attention this I/O (but I'm not watching everything live so maybe there is something I haven't seen yet)

<comment><USER14> As someone who literally started developing for Android about 3 weeks ago, I also share this sentiment. Android Studio (and a pet plugin project a couple old coworkers are working on that makes Maven look downright dumb) and Gradle have been a godsend in getting me up to speed in Android development. I tried Eclipse once in the past to port an old app and absolutely hated everything about it - which I naively ascribed towards the entire Android dev ecosystem as well back then.

I'm hoping for some more stable AS releases and a plan for a 1.0.0 soon.

<comment><USER13> Good news, it may not have warranted discussion in the day 1 keynote but news of Android Studio is coming on day 2

Session title: "What's new in Android development tools", 9:00 AM

[https://www.google.com/events/io/schedule/session/ac46ad42-1...](https://www.google.com/events/io/schedule/session/ac46ad42-19c0-e311-b297-00155d5066d7)

<comment><USER14> Thanks for the link. I'll check it out after our soccer game today.

</comment></comment></comment></comment></comment><comment><USER15> Am I not in on the joke? Here's a magic 8 ball prediction: wearable stuff will bomb.

All they can do is tell me if I walked or not. I KNOW IF I WALKED OR NOT. If I wanted to walk more I'd get another dog, not a watch.

I also like DIRECTLY AFTER they show the pedometer they order a pizza. I just can't imagine a world where these are good ideas. I'd love to have been in on those meetings to throw staplers at the people who suggested these things.

<comment><USER16> I'm very happy with my Pebble.

It can't tell me whether I've walked or not, and I can't order a pizza with it, but I get all my notifications on it, which alone is very handy (pun not necessarily intended) for me.

<comment><USER5> The thing is not many people want to get notifications from their watch as they already carry a phone which is perfectly capable of giving notifications. If anyone can put a phone in a watch, then we start talking :)

<comment><USER17> My guess is: the trend will go to phonewatches and tablets.

99% of the time, I'm using the "tablet features" of my phone. I maybe get 3-5 calls a month.

A phone-watch would suffice for this.

If it could tell the time, provide me with notifications, has vibration and can tell if I move or not, this would be perfect.

The rest of the information I would consume with my tablet.

<comment><USER18> The thing that makes phones such gold mines is that people in many countries reliably buy a new one every two years (through a carrier). Tablets are arguably on a plateau already. I wonder if the industry can really turn phone watches into something that reliably generates cash.

<comment><USER19> Its almost sad that the goal is "reliably generating cash" instead of "making something better for humanity." Working to prevent me from having to pull my phone out of my pocket is not anywhere close to where our technological efforts should be placed.

<comment><USER20> It's not about making you pull your phone out less its about trying to integrate more things around you seamlessly to be more interconnected. Reaching for your phone less is a by-product. Altruistic views are nice but the driver of our technology is consistent investment facilitating iteration on all fronts.

<comment><USER19> To a certain degree I still disagree. Integrated and more connected? Take that all the way out until you can't tell where the machine stop and the human starts.

While all these micro-iterations on technology are great, and we have some amazing toys, I can't help but think that humanity is getting too DISCONNECTED from EARTH.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> I think there's something to be said for not completely overhauling the look and feel of the OS every two years or so. As it stands today a typical Android phone probably has at least one app sporting the Android 2.3 look and feel. And even in Google's UI guidelines (not sure if it's still the case), they suggested providing multiple sets of icons, some that follow the 4.0 look and feel, some that follow the 2.3 look and feel, some that follow the pre-2.3 look and feel, etc.

They make it very difficult to both follow their latest UI guidelines and the older ones (because adoption rates lag quite a bit).

<comment><USER22> The problem seems to be that Google doesn't have any real design rules, they just have designers, and these guys rotate in and out every year or two, bringing their own pet ideas with them. So what you're looking at is whatever the designer they hired two years ago had on his mind.

Android is rife with clear evidence that the project has no design guidelines. All of the UIs change completely in every release.

<comment><USER23> (Background: I worked on 3 visual redesigns for Google Search, and was an early tech lead for the Quantum Paper stuff that's being demoed today. I no longer work at Google. This was actually the last project I worked on.)

The design changeover is being driven from the top. Ever since Steve Jobs has died and Larry took over as CEO, he's gotten the design religion, and his goal is for Google's design to remain fresh and drive trends forward perpetually. So as far as the company is concerned, this is a feature, not a bug.

It's true that the individual designers responsible for doing the design often vary from project to project. However, there's a fair amount of continuity as well. The designer who initiated the design refresh announced today has been with the company since 2006; the designer I worked with for the visual refresh of 2010 now heads up design for all of Search. They are explicitly told by executives to make things fresh and remove previous constraints when imagining the new Google.

<comment><USER24> "design to remain fresh and drive trends forward perpetually"

Is this the root cause of why Google Maps/Nav on Android had a giant UX regression from 6.x to 7.x and still sucks so bad that my next phone may very well be a Lumia?

<comment><USER23> Not entirely sure, I'm less familiar with the decision-making processes in Geo. I suspect it's similar, where the goal of keeping things fresh and interesting made them take the product in a different direction, which naturally will piss off all the customers who started using it because they liked the old product direction. I don't personally like the new Google Maps either, but understand that a company's first and foremost goal is to go after new users, and making existing users happy is only important if they'll leave if you don't.

</comment></comment></comment></comment></comment><comment><USER9> Is anyone else kind of creeped out by the presentation style? I can't really put my finger on why but everything comes across very wooden and out of touch with normal people.

<comment><USER4> They lost two of their best presenters over the past year: Vic Gundotra, Hugo Barra

<comment><USER25> I was so happy to be able to see through the keynote without the presence of these two guys or anybody like them. They were always more focused on wowing the crowd than actually saying anything, always begging for more applause with ridiculous statements such as "It's basically 16 cores!!!" to describe a device with a four-core CPU and a twelve-core GPU. (Hugo Barra, 2012, [http://www.pcmag.com/article2/0,2817,2406363,00.asp](http://www.pcmag.com/article2/0,2817,2406363,00.asp)) For a developer conference, they should respect the audience enough to know that we understand the real specs and adding two unrelated numbers to make a bigger number does not make it more impressive, or even any sense.

Vic Gundotra and Hugo Barra are among the all time worst speakers at Google I/O. This year it again feels like developers talking to developers. Delightful! :)

</comment></comment></comment><comment><USER26> One of the features Apple added later-on to iOS7 was "reduce animation" after user feedback. Much of Google's keynote thus-far has focused on adding animations everywhere possible. It'll be interesting to see if they receive a different reception.

<comment><USER27> I can't use iOS7 without reduced animated. I'm very happy they have that feature.

<comment><USER28> How does one do this?

I hate iOS7 enough that my next phone will definitely be an android. But in the meantime...

<comment><USER29> It's the accessibility options in settings

</comment></comment></comment></comment><comment><USER30> We should all endeavor to guard the memory of the double-sided peanut butter jar, lost in a tragic speech recognition accident on June 25, 2014.

</comment><comment><USER31> I can't get past that particular camera angle in the video where they catch the heads of people walking out.

I understand there are thousands of people there but that particular camera makes it look like a bunch of people are leaving as the speaker speaks.

<comment><USER32> Being an attendee from last year, I can guarantee you that it's people still filing in to find seats well into the presentation. The exit is towards the back left of where the camera is. People going to the right are looking for seats. It's still not an attractive angle.

</comment></comment><comment><USER33> Direct link to the Keynote youtube stream: [https://www.youtube.com/watch?v=wtLJPvx7-ys](https://www.youtube.com/watch?v=wtLJPvx7-ys)

<comment><USER11> Oddly, their live streaming does not work without Adobe Flash. It absolutely refuses to load anything in Chromium, even though it supports every single HTML5 format that YouTube offers. I would have expected better from Google in 2014.

<comment><USER34> HTML5 doesn't support live streaming [1]. You need either Flash or HLS support (i.e. iOS/Safari).

Disclaimer: I work in the video space.

[1] [http://stackoverflow.com/questions/21921790/best-approach- to...](http://stackoverflow.com/questions/21921790/best-approach-to-real-time- http-streaming-to-html5-video-client)

<comment><USER35> Why hasn't HLS caught on more broadly? From what I know it's not licensed / patented by apple. Many Flash players implement it, and overall its a great way of delivering video over HTTP.

<comment><USER34> Its encumbered by being an Apple standard (NIH). Adobe is pushing HDS, and Google is pushing an open standard called MPEG-DASH.

They all do the same thing fundamentally; the only differences are slight technical details and who is in control of the standard.

</comment></comment></comment></comment></comment><comment><USER36> I feel the Google Watches are going to be more widely adopted than Glass. Maybe we'll get to head mounted computers in the future, but right now it definitely feels like the watch is the next step in social acceptability.

Source: I own a Glass and barely wear it.

<comment><USER37> but don't you think that someone staring at their watch during a conversation (or even in large meeting) is quite rude and distracting?

<comment><USER38> People already do this with phones, I don't see how watches are any different/worse.

</comment></comment></comment><comment><USER39> "Google's Sundar Pichai said, adding that it was "designed for form factors beyond mobile.""

"ART: ... Truly cross platform: ARM, x86, MIPS"

Sounds like they may be setting up to make a proper run at the desktop market? Now that all these Windows 8 machines are out there with cheap touch panels, it's shown that cheap desktop/laptop computers can exist with the necessary interface bits to work.

edit:and watches and cars apparently

<comment><USER40> It's hard to ascribe a whole lot of meaning to "designed for form factors beyond mobile" because mobile battery powered compiling is the most demanding case. I suppose it means they can scale compilers for ART across plugged-in, big battery, and small battery cases.

Dalvik, and Dalvik's JIT compiler are definitely tuned for small batteries.

<comment><USER41> Tuned how? By being slow as f..k? That actually makes it much worse for small batteries.

<comment><USER40> Dalvik claims to be twice as fast interpreting DEX compared to Java bytecode interpretation.

The Dalvik JIT compiler focuses on critical sections of code. There's a reason you don't see Hotspot on battery powered devices.

Large amounts of the Android framework, especially the foundations of drawing and the View hierarchy, are in C or C++. Compiling an interactive app to native code makes much less difference in performance than a synthetic benchmark of DEX interpretation might lead one to think.

<comment><USER30> _The Dalvik JIT compiler focuses on critical sections of code. There 's a reason you don't see Hotspot on battery powered devices._

Hotspot get its name from the term of art for a critical section of code, though. That's not something that makes them different from each other; it's what they have in common.

What separates them must be that only one of them was designed with a power budget in mind.

<comment><USER40> Only in a very general sense. Dalvik's JIT really tries to minimize JIT compilation. Modern Java JIT compilers are oriented around the goal of extracting maximum performance from compiled code. That's priority #1, and there is no #2.

</comment></comment></comment></comment></comment></comment><comment><USER42> Vic Gundotra's absence couldn't have been more conspicuous. That guy was a great presenter and a showman. Also, was it just me or did the keynote feel really long? I don't think it was a good idea for them to change the one- keynote-per-day format, especially when they didn't have stuff like new moonshot announcements or q&a time with the ceo to make it more engaging and interesting. Sundar was perfect for the second day keynotes about chrome and web. I don't think he is a good replacement for Vic for keynotes. The whole keynote felt a bit stale. The protests livened up the keynote more than the presenters did.

I wonder why neither Page nor Brin came on stage.

<comment><USER43> The lack of any mention of Google+ was absolutely deafening. If we needed any more confirmation that it's been dismantled within Google I think this would be it. Interesting though that nothing was mentioned to take its place or give us any hint about the future. At very least, they need an identity service of some kind to power the other platforms.

<comment><USER44> Is Google+ the new Blogger?

</comment></comment></comment><comment><USER45> Strange, all this features with the Android Auto I can already do with my Moto X. Ok, is not displayed in the car's big display ( but I don't have one! ), but I can do almost everything without using my hands.

MOTOACTV is also a precursor to this wearable watches, pretty much capable at least the notifications. Nonetheless, this was more sports oriented.

<comment><USER46> Voice actions and Motorola Connect are the best parts about the Moto X, in my opinion. Like you, I don't have a fancy dash display yet either, but the experience with the Moto X makes me long for the day when one could take over UI / input control automatically without even taking the phone out of my pocket or handling it at all. I will go in for an upgrade in auto at that point!

<comment><USER45> Oh yes, I forgot about the Motorola Connect, it jumped on me when they demoed the Phone-Chromebook integration: hey, I already do that.

It so sad that now for Google Motorola is not a poster child, but something that they try to forget about it.

<comment><USER46> I didn't see Moto X listed as an initially supported device for the forthcoming Chromecast "screen mirroring" feature either- although maybe I missed it. Hopefully it comes soon. I use the Chromecast constantly and would be all over this.

I had such high hopes for a Google-owned Motorola too.

</comment></comment></comment></comment><comment><USER47> Oh man they've added 5000 API calls. That's 1000 more than iOS 8. Guess Google wins.

<comment><USER47> Love the downvotes, but I was just trying to show how silly numbers like that are. What does '5000 API calls' even mean?

<comment><USER44> Maybe they've added Getters and Setters for every private variable, via a macro (to save typing)? That will certainly mean many more API functions to call.

Or are they counting how many times they make calls to a part of the API? Like calling a function in a for loop or something?

Either way, I'll applaud unnecessarily.

EDIT: Thanks for the downvotes! Here's to humour on HN!

</comment></comment></comment><comment><USER48> Native office file editing sounds extremely useful, depending on how well it works. I'm somewhat dubious, given other efforts, but if it _does_ work it'll be great.

</comment><comment><USER49> Anybody knows what these protests were about?

<comment><USER50> [http://thenextweb.com/google/2014/06/25/google- io-2014-inter...](http://thenextweb.com/google/2014/06/25/google- io-2014-interrupted-protester-calling-google-develop- conscience/?utm_source=twitterfeed&utm_medium=twitter&utm_campaign=Feed%3A+TheNextWeb+%28The+Next+Web+All+Stories%29)

<comment><USER51> I wish the press would stop feeding the pigeons.

</comment></comment></comment><comment><USER52> Is there a screen in the audience telling the audience to applaud ?

<comment><USER48> I think they've just been told to applaud whenever the speaker pauses awkwardly.

<comment><USER53> I think I like it better than manically applauding every bullet item.

</comment></comment></comment><comment><USER36> Honest question: Are the people who are protesting people that paid to get into I/O or do they get in some other way?

<comment><USER54> One of them was in the press area and one of them had a paid badge around their neck.

<comment><USER55> Luls, they let in fact press to protest, but didn't let me in for the first time in 6 years... Nice job Google PR!

</comment></comment></comment><comment><USER56> No Tesla nor Mercedes in Android's Open Auto Alliance :/

<comment><USER57> And no toyota.

<comment><USER56> I saw Toyota

<comment><USER58> [http://www.openautoalliance.net/#members](http://www.openautoalliance.net/#members)

</comment></comment></comment></comment><comment><USER59> What is the deal with these protesters?

<comment><USER30> Here's one article...

[http://www.idigitaltimes.com/articles/23599/20140625/google-...](http://www.idigitaltimes.com/articles/23599/20140625/google- i-o-2014-protester-keynote-interrupted-occupy.htm)

</comment></comment><comment><USER60> Wish the speakers wouldn't look so nervous.. of course all that flicker and frame drops during the unreal demo didn't help.

</comment><comment><USER13> iOS, Android and Windows 8 are all greater than the sum of their parts when you buy in to the complete ecosystem. I hope auto manufacturers are going to be able to make mobile OS enhancements modular to their vehicles. I would really hate to pay for CarPlay (iOS for cars) in a car but have cast my lot with Android, or vice versa.

Edit: corrected name of iOS for cars

</comment><comment><USER61> Was that frame skipping when they showed the 3D game demo? aka. Apple Metal

<comment><USER62> Frame Skipping has been around for decades, Apple Metal didn't invent it.

<comment><USER61> Wasn't saying Apple invented it. I was asking 1. whether it was frame skipping (confirmed now) and 2. Apple Metal reference is for those that remember how well their demo went of their engine.

</comment></comment></comment><comment><USER63> Consider that a $100 phone can have a reasonably well designed OS

<comment><USER64> Oh yeah, we're there. My Lumia 520 only cost $100, and I find Windows Phone 8.1 to be delightful on it. The new android offerings look even better.

<comment><USER44> They look pretty but it appears to be reverting back to pale grey text on a white background, thereby making it impossible to read. Is this some nostalgic reversion back to poor contrast screens like old Psions or the cheap Palm Pilots when the battery ran down or something?

It's unreadable.

</comment></comment></comment><comment><USER65> The new keyboard is beautiful.

</comment><comment><USER66> Tuned in late; did he make any mention of the battery life for the MotoX? One of my favourite things about my Pebble is the battery life.

</comment><comment><USER67> Does anyone know if they will make videos of the workshops/smaller talks available? I'm interested in a lot of these talks.

<comment><USER68> They always do. You can usually download them soon after the conference, but lately Apple and Google have been moving toward letting you download them within a day during their big conferences.

<comment><USER67> I noticed there also Code Labs, for example the Android Studio one. There are lots of VODs up for other day one talks, but since Code Lab is a bit different, do they usually release stuff for those, like walkthroughs/tutorials ?

</comment></comment></comment><comment><USER69> One UX issue with the watch is that it seems it will need _many_ swipes to find the one app you're looking if you have more than a couple apps installed (see the number of apps people have on their smartphones now), let alone find the one screen you're looking for in that app; but I suppose they expect people to use voice commands for that.

</comment><comment><USER70> Everyone receiving a Moto 360. Nice.

<comment><USER51> I liked how the whole audience sighed when the 360 wasn't ready to ship.

</comment></comment><comment><USER71> Ok so, I don't have a TV and my car is 2004 and don't even have bluetooth. What's the point of the new new new features so far? Pretty much nothing, no use, thanks.

<comment><USER72> It's a preview to what's coming up so that industries and consumers can get ready. They're moving industries forward, not always catering to current or lagging users.

</comment></comment><comment><USER73> Are there any source that have live transcript for the keynote? Unfortunately I don't have a headphone at work :(

<comment><USER39> You can turn on the closed captions, but they're machine generated and foul up pretty bad on the accents of the presenters.

</comment></comment><comment><USER74> The live captioning - they look good. Wondering if there is any open source tool that is as good as that?

</comment><comment><USER75> It was a snoozefest

</comment><comment><USER76> L? I guess they wanted to be less whimsical. But in a couple years I'll have a hard time remembering which version that was like I can remember which one Gingerbread was.

<comment><USER77> I think they haven't found a nickname for it yet. Remember KitKat was called Key Lime Pie at first.

<comment><USER78> Doesn't the codename usually come before the project?

<comment><USER77> I believe the dessert names are the actual release names if I recall so a code name like 'L' is more internal and subject to change.

</comment></comment></comment></comment><comment><USER79> Disappointing to see that X-Box gamepad there. I keep hoping Google will take console gaming seriously-enough to launch some real Google-branded gaming hardware.

<comment><USER80> Why?

Why would they want to get involved in that market?

<comment><USER79> Because Amazon and Apple are dipping their toes into that pool and Google is playing catch-up on the set-top-box market instead of leading.

They sell games. They sell hardware on which people play games. They sell a set-top device that plays games. But they don't sell an actual controller for that device.

<comment><USER80> All of those are, arguably, markets that are distracting them from their core competency.

<comment><USER44> But they dip into all markets. Someone said they are a "me too!" company that hurriedly adds products in a particular market area, then abandon maintenance of it after a while.

Their core competency is marketing / search / ads, so I suppose the entire Android system and any hardware could be considered a side show?

BTW, I am a happy Android user (other than Maps and Talk, which have gone down the toilet).

</comment></comment></comment></comment></comment><comment><USER81> Is there a link for the Google Fit APIs?

<comment><USER51> [http://developers.google.com/fit](http://developers.google.com/fit)

Sounds like they're about six months in to the project, and will have something to show in the next month or so.

</comment></comment><comment><USER82> feel like its not enough work on the battery life.

<comment><USER30> They did mention a new development tool that looks like the Energy Impact view in Xcode (sorry, I can't remember what Google called it, does anybody remember?) They said something like "if you can't measure it, you can't improve it", which is the right philosophy. It just may take another year to see a payoff.

<comment><USER83> The feature they previewed was called Battery Historian. According to the presenter, there should a be a definitive improvement in battery life for the Android "L" release. They've been using it to optimize Android and the Google apps. Hopefully people will no longer have to use all sorts of crazy hacks to because they suspect Maps/Location services is causing wakelocks.

</comment></comment></comment><comment><USER36> Android has completely leapfrogged iOS in every way...including design.

<comment><USER84> Design is irrelevant if OEMs vomit their bullshit all over it on all the devices that are actually interesting. (Yes, I tried rooting. Yes, it was a horrific warranty-removing potentially bricking experience. Even Jailbreaking feels saver.)

It looks super-awesome, though. I want it on interesting devices. I won't be able to get it, though.

<comment><USER11> If you don't want a bastardized experience, don't buy a phone from crappy OEM. Get a Nexus device (pure Google experience), a Google Play Edition device (pure Google experience), or a Motorola device (close to stock, easily rootable Dev Eds).

<comment><USER36> Unfortunately that may no longer be an option.

<comment><USER85> Why not?

<comment><USER36> At the same time Motorola Mobility was sold, Google announced the Android Silver program which seemed to confirm rumors that Nexus devices were being sunsetted.

I really hope its not true. I love my Nexus devices.

</comment></comment></comment></comment></comment></comment><comment><USER86> Their new redesign is pointless in the first place. OEMs will continue to produce overlays that completely disregard Google's design language. Instead, they'll put in poorly designed, tacky interfaces.

While this doesn't affect the experience on stock Google devices, phones such as the Nexus line represent a crushingly small share of the market, so it doesn't matter.

In addition, I don't understand the pivot towards elevation. The industry has been moving towards flat design. I like flat. It's simple. Less design is often better than more deisgn.

The new Gmail design is a great example of this. The current design is simple. Information is there as soon as you open the application. The new design has increased usage of whitespace and a larger action bar, not to mention that intrusive icon in the bottom right.

There hasn't been a single thing about this year's I/O that has impressed me, or pleased me for that matter. Disappointed that Google continues to pump out new features instead of perfecting the ones they already have.

The way I currently see it, you have Apple putting out less features with incredible levels of polish, or Google throwing features at the wall until something sticks and then only enhancing it a little (i.e. Hangouts).

<comment><USER87> >In addition, I don't understand the pivot towards elevation. The industry has been moving towards flat design. I like flat. It's simple. Less design is often better than more deisgn.

I was absolutely relieved to see the elevation parts of the new design. Flat looks good, but it's been headed to an extreme recently. I can't stand the near total flatness of parts iOS7/8; it makes it very difficult for me to visually distinguish content.

<comment><USER86> I'm interested to know which parts specifically you find hard to distinguish in iOS7/8? Are you experiencing any similar problems with current Android design language?

<comment><USER87> The calendar in particular is a complete disaster:

[http://cdn1.appleinsider.com/13.06.17-Calendar-2.jpg](http://cdn1.appleinsider.com/13.06.17-Calendar-2.jpg)

The navigation bar in general just looks like a mass of text to me most of the time, especially if there are more than two tabs:

[http://www.okilla.com/uploadfile/1/2013/07/10/11373456479/13...](http://www.okilla.com/uploadfile/1/2013/07/10/11373456479/1373456568_ios7-design- preview-3.png)

EDIT:

And no, I don't have similar issues on Android. Part of that could be the move to side drawers in Android apps. The greater contrast and lower reliance on lines as visual separators is definitely part of it as well.</comment></comment></comment></comment>


12.1T Digits of Pi - <AUTHOR> http://www.numberworld.org/misc_runs/pi-12t/ <comment><USER2> From 2013. The current record is 22.4 trillion digits from 2016:

[https://pi2e.ch/blog/2016/11/11/hitting-the- target/](https://pi2e.ch/blog/2016/11/11/hitting-the-target/)

</comment><comment><USER3> I used to be interested a lot in these topics (Mainly Pi and Mersenne Primes) back when cloud was not yet a thing and HPC meant building or renting large clusters. Got me into a lot of fun Beowulf cluster stuff which was super fun. Then also all the coding and tuning and fun algorithms.

An interesting story, though a lot of the details I have forgotten by now, I remember back in that time the race was on to get like 1T or something like that digits and there was a Japanese guy that built some sort of super rig for $10-20k at the time and got to 1T only to be beaten by Yahoo to 5T in like a couple weeks from there. There I saw the future of computing in large IT companies having the infrastructure to host large clusters cheaply which were dominated until then by supercomputers and research institutions. Might have gotten some details wrong as it's been like 10 years since then but the idea still stands.

</comment><comment><USER4> Ah, I so long for the days of trying to make simple things like finding primes or digits of pi run fast. I remember making a lazy sieve of Eratosthenes that gave you the first 120 million or so primes in 6s using chez scheme. I later did the same kind of lazy construct for pi digits.

It actually taught me a lot about memory access and reasoning about speed, and also a lot about small things that are beneficial for speed.

12T digits of pi is mind-blowing, and in that short amount of time on pretty standard hardware.

</comment><comment><USER5> One digit in base 10 uses log_2(10) = 3.322 bits. 12.1 trillion is 12.1×10^12, so that many decimal digits uses 40.195 × 10^12 bits = 5.024 × 10^12 bytes = 5.024 TB, if it is represented in the most compact form. But in the article they claimed "9.20 TiB of disk was needed to store the compressed digit output", which is about double of that.

<comment><USER6> According to the article the space intensive part was "60.2 TiB of disk was needed to perform the computation.". My guess is they weren't too worried with an optimal proprietary encoding of the final number, rather they simply lightly compressed the text output you see at the beginning of the article allowing easier consumption of the result. That text output seems to be ~3.6x less efficient.

I.e. nobody claimed optimal compression

<comment><USER7> The notion of optimal compression is nonsense anyway. Here is even more digits of pi, compressed to fit into this comment:

π

Decompression may take some work.

</comment></comment></comment><comment><USER8> To calculate the circumference of our Universe with the accuracy od Planck length we only need some 60 or 70 digits of Pi. NASA uses 15 digits to send stuff to space. Calculating 22T is an absolute, mindboggling waste of time. Still impressive though! ;)

<comment><USER9> I guess it helps to bring forward the heat death of the universe, though why that might be a good thing defeats me.

</comment></comment><comment><USER10> Does parallelization work on this problem? I vaguely remember you can compute nth digit of Pi (not sure in what bases though) without computing the previous ones but this doesn't mean that an efficient parallel algorithm exists.

<comment><USER11> I wondered the same, according to the site its not possible to parallelize:

[http://www.numberworld.org/y-cruncher/faq.html#distributed](http://www.numberworld.org/y-cruncher/faq.html#distributed)

The nth digit type computations are too slow.

<comment><USER12> "There exist algorithms like BBP to directly compute arbitrary binary digits without the memory cost of computing all the digits before it. These are called "digit-extraction" algorithms. However, these algorithms require roughly O(N*log(N)) time to compute a small number of digits at offset N. Using this approach to compute all the digits from 1 to N will result in a quadratic run-time algorithm. This alone makes it unsuitable for large N."

</comment></comment></comment><comment><USER13> What would it be the most repeating digit and at what position? Just curious.

<comment><USER14> I won't prove this here: for any digit, there exists an arbitrarily long sequence of the same digit repeating somewhere within infinite decimal expansion of Pi. Further, this happens infinitely throughout the expansion. Thus, when dealing with Pi exactly, this question does not have an answer.

However, since we're dealing with such a limited representation of only a few trillion digits, this may have an answer...

Edit: as @nightcracker points out, this is conjecture. It is not currently know as to whether or not Pi has that property. (I could have sworn I read a proof years back). Thanks for the correction. With that said, it's not know as to whether or not this question has an answer.

<comment><USER15> You won't prove this here because you do not have a proof. What you claim is in fact a conjecture and is not known to current day mathematics.

</comment></comment></comment><comment><USER16> A link in the article is dead: [http://piworld.calico.jp/estart.html](http://piworld.calico.jp/estart.html)

<comment><USER17> Archived in 2015: [https://web.archive.org/web/20150503034020/http://piworld.ca...](https://web.archive.org/web/20150503034020/http://piworld.calico.jp:80/estart.html)

</comment></comment><comment><USER18> For the very naive, I assume FP math is not used in evaluating such constants. What then is in a toolkit used for such long decimals?

<comment><USER19> For the 12.1*10^12 calculation the refernced web site says: Hudnovsky algorithm [1] for the calculation, Bellard BBP formula for verification. Implementation in the programm y-cruncher "A Multi-Threaded Pi-Programy- chruncher" [3] For the math see [4] also.

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

[2] [https://en.wikipedia.org/wiki/Bellard%27s_formula](https://en.wikipedia.org/wiki/Bellard%27s_formula)

[3] [http://www.numberworld.org/y-cruncher/](http://www.numberworld.org/y-cruncher/)

[4] [http://www.numberworld.org/misc_runs/pi-5t/details.html#form...](http://www.numberworld.org/misc_runs/pi-5t/details.html#formulas)

</comment></comment><comment><USER20> For benchmarks like these, I'm curious how many CPU cycles it takes per digit. A hundred? A thousand?

<comment><USER21> If you assume 2.9 billion cycle per sec times 94 days divided by 12 trillion you get 2000 cycles per digit.</comment></comment>


Ask HN: Any resources on doing customer interviews? - <AUTHOR> I am the point where I have enough customers to start digging in, interviewing, and learning more but I'm not sure where to start.<p>Any tips on good resources on conducting customer interviews? <comment><USER2> What are you trying to learn from them?

</comment><comment><USER3> Are you talking about?

callingly.com

from your profile.

<comment><AUTHOR> Yep, that's the one.</comment></comment>


SpaceX Dragon Ship Falls Back to Earth - <AUTHOR> http://www.bbc.co.uk/news/science-environment-18273811 <comment><USER2> Was I the only person who read the headline and thought "Wait, was it meant to?". The word "falls" has very negative connotations and could have been chosen better surely? :-)

<comment><USER3> Chosen better for what? They certainly chose a good title to get people to click...

<comment><USER4> _They certainly chose a good title to get people to click..._

And I'd like to keep "get people to click" type of content away from HN.

</comment></comment></comment><comment><USER5> "The firm has a $1.6bn (£1bn; 1.3bn-euro) contract with the US space agency (Nasa) waiting to be triggered on the successful recovery of Dragon from the ocean."

So.. no pressure or anything.

<comment><USER6> I find it hard to believe that they didn't negotiate a contract which would provide partial credit if things happen to go pear-shaped (or rather, pancake- shaped) at _this_ point.

<comment><USER7> I believe up to this point they have milestone contracts. I'm not familiar with which milestones those trigger, but they did negotiate a failsafe in case it got to some point successfully but then failed. From here on out though, their forthcoming contracts are not milestone.

</comment></comment></comment><comment><USER8> Expected timetable as best as I can work it out:

* 13:00 UTC, 08:00 CT, update from NASA

* 14:15 UTC, 09:15 CT, Coverage restarts on NASA TV

* 14:51 UTC, 09:51 CT, De-orbit burn

* 15:09 UTC, 10:09 CT, Dragon's trunk is jettisoned

* 15:35 UTC, 10:35 CT, Drogue chutes deployment

* 15:36 UTC, 10:36 CT, Main chute deployment

* 15:44 UTC, 10:44 CT, Splashdown

</comment><comment><USER9> Dragon has unberthed, has been released from the ISS's robotic arm, and has completed its final separation burn . Remaining tasks: deorbit burn, separation from the trunk, reentry, and recovery.

</comment><comment><USER10> Live stream on right now here:

<http://www.ustream.tv/nasahdtv>

</comment><comment><USER11> As watching the mission control center of SpaceX: where are the computers? Are they running thin clients? I just see a lot of monitors and 1 or 2 two laptops but no actual PCs.

</comment><comment><USER12> First parachutes just deployed...

<comment><USER12> "Dragon is in the water."

<comment><USER13> "OH GOD NO, FIRE THE TORPEDOES"

"THE DRAGON IS FRIENDLY. REPEAT: THE DRAGON. IS FRIENDLY."

</comment></comment></comment><comment><AUTHOR> > " _Scientists say that the vessel will splashdown in the Pacific Ocean > several hours later in what they are describing as "a very challenging phase > of the flight"."_

Impressed how space junk etc fall to Earth and almost always land in the ocean. Not hard when 70% of the Earth surface is covered by water. However what is the level of accuracy? I assume that it is planned to aim for a large body of water and get within an x% threshold?

<comment><USER14> It can be much, much more accurate than that if needed.

In 1960s America had spy satellites that dropped canisters with photo film, that were captured _mid-air_ by planes.

See: <http://en.wikipedia.org/wiki/Corona_(satellite)#Discoverer>

<comment><AUTHOR> Wow! Wonder if the weight of a canister and mobility of a plane may help in connecting the two together? Or make it harder? Awesome story.

<comment><USER6> The canisters had little parachutes, so it's not _quite_ as amazing as it sounds.

<comment><USER15> Just barely less amazing. Still like finding one particular mosquito in Pittsburgh?

<comment><USER6> If the mosquito were two feet across and equipped with a radio transmitter, yeah.

<comment><USER13> And I assume this was all necessary because: (a) They wanted to see if it could be done. or (b) They couldn't yet build a digital camera and/or digital cameras didn't work in space because of some obscure issues with radiation?

<comment><USER6> It was 1960. No digital cameras. The CCD wouldn't be invented for nine more years!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> Dragon coming back safe</comment>


Most Americans can't handle a $500 surprise bill - <AUTHOR> http://www.cbsnews.com/news/most-americans-cant-handle-a-500-surprise-bill/?google_editors_picks=true <comment><USER2> Most Americans have a cable+cell phone bill that is probably close to $500. If you cut down on some of these expenses (which is what I did when I didn't have any money), you can afford a surprise $500 bill.

I know many people that spend that much on weed/cigarettes/alcohol in a month.

<comment><AUTHOR> Which is caused to our public school system not teaching financial literacy to high school students, because people in power don't want that.

I suspect that in top private schools, financial literacy is rigorously taught, along with ways of starting a business, and hiring employees, and how to be a master (employer) to servants (employees).</comment></comment>


How can anyone approve an ad like this? (scroll down a little) - <AUTHOR> http://www.theverge.com

<comment><USER2> there is so much going on how could i possible know what you're referring to?

<comment><USER3> I think what you're seeing is actually the ad. Basically the whole page turns into an animation, and then a big IE splash ad appears. It's quite horrifying.

<comment><USER4> Gotta love Chrome's Adblock plugin!!! :) I didn't see a thing.</comment></comment></comment>


Google Wave vs Twitter at conferences - <AUTHOR> http://blog.freshnetworks.com/2009/11/google-wave-vs-twitter-at-conferences/ <comment><USER2> The idea of collaboratively editing a session transcript and backchanneling in real-time actually hadn't occurred to me. Genius.

I see two major flaws: provision of reliable Internet access at conferences is still Not Done Well; and the drawbacks of the current Wave UI implementation do not really encourage this sort of thing. (Oh, and trolling, yeah.)

I mean, we could have collaborative transcript wikis at conferences already, right? Add Twitter and what value does Wave really provide, especially given the discoverability problem? Why _don't_ we have transcript wikis? Perhaps that is something to address first.

I'd like to see (and wish I had time to create) a universal backchannel solution and this is certainly one platform that could well be worked in, but you gotta get over that offline barrier somehow.

</comment><comment><USER3> "Twitter has quickly become the must-have channel for conference back-chat."

I don't see how this improves on IRC.

I'd really rather see more people turn off their machines during talk and, you know, just pay attention to the human right there on stage.

Lately I've been using pen and paper to take notes, keeping the laptop closed. I come away with much greater retention (no need to fight the urge to code just one more feature), and no need to scurry for a seat next to a power source.

</comment><comment><USER4> This looks very similar to the way SubEthaEdit/Gobby have been used at conferences for distributed note taking for the past several years.</comment>


State of The Union address minute by minute on Twitter - <AUTHOR> http://twitter.github.io/interactive/sotu2014/#p1 <comment><USER2> _That's why, tonight, I ask every American who knows someone without health insurance to help them get covered by March 31st. Moms, get on your kids to sign up. Kids, call your mom and walk her through the application._

I have no health insurance, and I don't plan on getting it. This is, of course, crazy. But the reason is because I can't afford it. I'm in the same position as many others across the nation.

Under Obamacare, I am going to be fined some hundreds of dollars for not having health insurance; health insurance which, itself, costs at least $200/mo (even under Obamacare). Then next year, I'm going to be fined triple that amount iirc, with increasing penalties each year.

Isn't this the opposite of free health care? I'm not involved in this debate one way or the other. I don't know enough about the issues. But I will say that I don't appreciate the government intruding on my private life, forcing me to buy a product for at least $200/mo, a $200/mo I literally can't afford.

I don't know how this is going to play out, but the government's expectation that everyone will buy health insurance just because they're enacting tax penalties seems somewhat naive. People simply have no money for $200/mo of extra costs. People are also bad at long-term planning, so the impending threat of "next year I'll probably be fined" isn't going to persuade those who are bad at finances (the vast majority of Americans) to sign up for an immediate $200/mo expense.

<comment><USER3> I am not American, but as I understand it, if you earn so little that you can't afford a plan, you can get vouchers to cover the cost. I'm not sure of the specific boundaries and I think it varies per state.

If you detail more information I can always Google.

<comment><USER2> If I can't afford my lunch after being given so many opportunities to earn it myself, then it would be unfair for me to ask my countrymen to foot the bill. It's my problem, not theirs. I would have an extreme moral aversion to seeking a handout, even if that aversion is to my own personal detriment.

Perhaps I should be trying to maximize every possible opportunity offered to me. But I just can't stomach the idea of taking money away from other people to pay for my own personal problems.

<comment><USER4> How can you complain about the lack of a free luck, but then not take the free lunch when pointed out that it is indeed present?

People want everyone to be covered, which is how Obamacare got pushed through in the first place. You not getting covored can potential end up costing us more in the healthcare system (healthcare costs being the biggest reason for personal bankruptcy) if you don't take this and use it.

<comment><USER2> _(healthcare costs being the biggest reason for personal bankruptcy)_

This is interesting. Is this true?

I apologize if it sounded like I was complaining. I only meant I chose this life. How is it reasonable for me to choose this, and then force other people to pay for me?

The other alternative is that I should feel like a shitty human for choosing not to maximize my earning potential and getting myself into this position in the first place. But part of having freedom of choice is the freedom to choose poorly. It's my own life, a life I'm not burdening others with. If I break my arm, can't afford to pay for it, and then become bankrupt as a result, then I have suffered a personal penalty which society will remember and will punish me for. And while I may have temporarily burdened others by not being able to pay for my emergency care, I've still been penalized as a result, which seems quite fair. Whereas taking a handout to cover the same expense feels like I got something for nothing.

I admit that there are some good arguments in this thread, though, so perhaps I should reevaluate my moral perspectives. But it's extremely difficult for me to become comfortable with the idea of encroaching on other people's lives by force.

<comment><USER4> [http://www.forbes.com/2010/03/25/why-people-go-bankrupt- pers...](http://www.forbes.com/2010/03/25/why-people-go-bankrupt-personal- finance-bankruptcy.html) Here's a citation on the bankruptcy statistic. Its corroborated by many other sources (and many other studies).

No matter what your intentions on the topic, if you end up in the emergency room for a preventable condition (which will lead to more treatment), you will end up costing everybody much more than simply taking the vouchers... take that fact as you will, but statistically speaking it's very likely you'll end up "costing" society more by not participating in the healthcare system.

</comment></comment></comment></comment></comment></comment><comment><USER5> I always find it interesting how different the rhetoric in US politics is compared to, for instance, Northern Europe. It's more pompous and dramatic; certainly more interesting to listen to than what I hear here on a regular basis. Obama's speeches also always have this left-ish air of "we're all in this together!", whether true or not.

But then again, US politics is truly one-of-a-kind in most ways.

<comment><USER6> As a French citizen who has visited UK and Germany, I prefer the pragmatic data-based discourse I see in European countries. It's still bullshit but at least it doesn't like it and all the promises are verifiable. I'm not particularly fond of Obama's "I ask rich people to give a bit of money to the poor" and hope that's sufficient. Hope...

<comment><USER7> The UK and Germany may be different but from what I've heard and read about French politics I'm not sure I'd prefer that in any situation over America. Isn't there lots of institutional racism and huge restrictions on enterprise?

</comment></comment></comment><comment><USER8> "And let's pass a patent reform bill that allows our businesses to stay focused on innovation, not costly, needless litigation."

I really hope this happens.

<comment><USER9> Whatever passes would be legislation that further entrenches the biggest corps. It's the only thing that ever passes congress these days.

<comment><USER10> They already passed such legislation. And you're right, it is a joke.

[https://en.wikipedia.org/wiki/Leahy- Smith_America_Invents_Ac...](https://en.wikipedia.org/wiki/Leahy- Smith_America_Invents_Act)

Basically, it moves US patent law from first-to-invent to first-to-file. So it lowers litigation costs for the big guys who take ideas from the little guys and use their big legal departments to file the patent on it before the little guy can.

<comment><USER11> .. or in a less cynical view, it makes it easier for a little guy to sue a big guy without getting into a huge "who did what first" court battle.

<comment><USER12> ...or in an even more cynical view, let's big corporations and trolls to file patents for things that have long been in use but nobody even thought about patenting.

<comment><USER13> That's not how it works. It doesn't allow you to patent prior things because you're first, it is just to kill of disputes when people patent something "simultaneously".

<comment><USER12> Considering the patents that have been granted, I'm not so sure about that. Maybe it's supposed to be like that in theory, but in practice it seems companies can copyright basic shapes and colors.

<comment><USER11> It's not and never has been that simple. Apple didn't patent the square with rounded circle - they panted the square with a rounded circle in combination with a single button at the bottom and with a specific UI in the middle laid out in a specific way with specific features.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Not having scrollbars on the text is... an interesting idea. Also, I see I jumped through several "pages" in my history. Where did I go, exactly?

<comment><USER15> Interesting... but maybe not effective for getting people to read your content. I scrolled around with my mouse and nothing was happening so after about 10 seconds I just clicked back.

EDIT: So I went backed and checked it out some more. Completely breaks my back button as they load 20+ URLs while I try to (jerkily) scroll through the text. under ideal circumstances this interface could be really cool, but I found it unusable.

<comment><USER16> +1

I absolutely despise when sites do this. One scroll gesture and now I can't go back to the site I came from? Another common archetype for this behavior is sites that show a slideshow. I click through 20 slides, and now I can't get back to the page I came from. Webdevs: you can still have permalinks to each paragraph/slide/whatever without completely muddling the user's browser history! Use replaceState instead of pushState to mitigate this problem.

Browsers should evolve to account for this kind of abuse. Holding down the back button should present two options: One to list all the anchors you've been to on the current page (in this case, paragraphs on the page), and one list of your previous history stack that doesn't account for URL fragments/hashes.

<comment><USER17> > Browsers should evolve to account for this kind of abuse. Holding down the > back button should present two options: One to list all the anchors you've > been to on the current page (in this case, paragraphs on the page), and one > list of your previous history stack that doesn't account for URL > fragments/hashes.

Chrome does this (as I discovered when trying to escape this page)

</comment></comment></comment></comment><comment><USER18> The CBC had a great re-imagining of the speech

"The state of the union speech Barack Obama would never give"

[http://www.cbc.ca/news/world/the-state-of-the-union- speech-b...](http://www.cbc.ca/news/world/the-state-of-the-union-speech- barack-obama-would-never-give-1.2514862)

<comment><USER19> That would be refreshing to hear.

</comment></comment><comment><USER20> This is one of the neatest data visualizations I've seen.

<comment><USER21> Indeed... it's almost like an fMRI of the national "mind", measuring activation in both spatial and topical dimensions.

Might be interesting to see retweet patterns, to illuminate how sentiment is forwarded through the network.

<comment><USER22> Retweet patterns would be quite interesting. Especially since retweets happen one of two ways. You retweet someone you follow or you retweet something happening in a trend. I wonder if you could separate those two.

</comment></comment></comment><comment><USER23> More than anything it is a self fulfilling prophecy,the more people trust the social media as a source of real time news, the more they (and "social media experts") contribute to the social media to present the news, and it is a double edged sword as well.

</comment><comment><USER24> Anyone want to sync this up with a youtube video? Just make it scroll as the video plays.

<comment><USER25> And add the Who's "Won't Get Fooled Again" as the backing music.

</comment></comment><comment><USER26> I'm disappointed that he addressed energy and specifically mentioned natural gas, but did not address the controversial "fracking" method for extracting it.

Considering the high engagement from certain areas of the US at that point in the speech, I'm willing to bet a lot of other folks felt the same way.

<comment><USER27> He did, at least euphemistically. Right after the very first mention of natural gas he said "if extracted safely".

That's about as far as he is going to go if he isn't going to say 'no more fracking'.

</comment></comment><comment><USER28> I found it interesting that New Hampshire, Vermont and New Jersey seem to be pegged at the far low end of engagement for every paragraph. Bug or lack of interest in twitter/STU in those states?

<comment><USER29> There was a New Jersey Devils game on TV at the same time as the SotU Address, so that may explain NJ.

<comment><USER30> > so that may explain NJ.

I'd argue that it also " _explain_ "s USA.

<comment><USER31> I'd argue that the SOTU is about as meaningful as a campaign speech, and less so than a NJ Devils game.

</comment></comment></comment></comment><comment><USER32> my back button!?

</comment><comment><USER22> This is really spectacular. Hat tip to you.</comment>


Following Kevin Rose's lead, introducing my new project n0rth - <AUTHOR> http://www.n-0-r-t-h.com/

<comment><USER2> thats a pretty high acquisition cost for those upvotes.

</comment><comment><USER3> Writing a blank check. You are the future my friend.

</comment><comment><USER4> Gotta love the Kevin Rose affect.</comment>


What Killed Smalltalk Could Kill Ruby /Robert Martin/ (video) - <AUTHOR> http://www.youtube.com/watch?v=YX3iRjKj7C0 <comment><USER3> Martin's arguments (summarized well by beilabs and stcredzero) are interesting and represent various real problems. But none are what killed Smalltalk.

As always, everything points to money...

1 - Smalltalk tech was owned by a small clutch of companies. All had revenue driven by developer licensing. None were able take seriously the thought of radical change to their revenue model.

2 - Lack of licensing costs for Javascript enabled it to be dropped into Netscape with Microsoft following suit. Lack of licensing costs for Java enabled Sun to give it away during a time when revenue for other Sun products was able to fuel the Java giveaway.

3 - Corporate decision makers took a wait and see approach to further engagement with traditional internal IT investment starting around 1996. This was mainly fueled by drive from within these companies to start focusing on internet strategy. Up to this point, most IT organizations were internal focused.

4 - All the major IT companies wanted to try their hand at capturing the internet technology stack.

It took about a year, maybe less, to kill Smalltalk's momentum. In my retrospective opinion, the only thing that would have saved Smalltalk is for the investors at any one of the major Smalltalk vendors to make a radical shift in their business model and give away the core technology and runtime. This would have enabled Smalltalk to be dropped into a browser instead of Javacsript and enabled Smalltalk to make meaningful progress as an "open" language. Even if this happened, IT companies would have attempted to co-opt this new free-er Smalltalk in much the same way they did with Java and Javascript.

</comment><comment><USER4> Can anyone summarise the main points? I don't feel like watching a 1-hour video on this topic just to get to the "mystery".

<comment><USER5> Smalltalk & Ruby are deeply interrelated.

Much of the same syntax between the two languages

From 1970s Smalltalk was the language to watch

Smalltalk epitomized Object Orientated Design

Described C++ as a mans language (need balls to code in it and make it work)

Describes Java as an estrogen type language

Smalltalk had a productivity benefit of a factor of 5. Compared to a C application.

Refactoring in Smalltalk was a breeze

What killed Smalltalk? ( umm, at this stage I have no idea, he jumps to a new topic)

Definition of clean code - "when you look at a routine and its pretty much what you expected"

Best metric for clean code is 0 WTFs per minute

What killed Smalltalk is that it was just too easy to make a mess (Finally, 20 mins in!) Quote from Ward Cunningham

So easy to make an indirect and impenetrable system over time

Companies developing in Smalltalk were screwed up at the time

You can make a mess in Ruby, simple, elegant, wonderful language; still easy to make a mess

Projects in Ruby start well, but the framework is often violated over time; making a mess...

Boyscout rule, leave the campground cleaner than when you entered it. (Actual quote - leave life better than you found it) - apply this to your source code. Would make code get better and better as time goes by. Most of the time, cleaning code is hard!

Quote of the presentation - "If you touch it, you will break it. If you break it, it becomes yours. The best policy is to walk away, run. the messes are hard to clean"

Test Driven Development is the solution

Rails and Ruby is great for Test Driven Development.

Other languages have TDD, was born in Smalltalk.

Talks about TDD methods; If you follow TDD, regularly write and run tests, then there is no fear to change code.

Nothing makes a system more maintainable than a suite of tests

He loves Rspec and Cucumber (Behaviour Driven Development BDD)

TDD never really became a part of Smalltalks culture but is integral to the Ruby community

TDD will keep your code clean

There was an arrogance to the Smalltalk community ( I sometimes can see this in the Ruby community )

Our tools are so good, our language is so good we don't need to follow the rules. Smalltalk people didn't want to do regular programming (Enterprise Applications, etc)

Your language may be powerful, but you must be careful with it. just because we can do a thing, it does not necessarily mean we must do that thing (Star Trek quote) Us vs them feeling in the Smalltalk community.

Ruby community is not going to go down this path because: Discipline - <USER2> makes you feel good inside

Professionalism - did the doctor wash their hands, did you write your tests?

Acceptance - we need to solve the dirty problems ( Need to adapt to the enterprises needs - do not solve only the problems you like.)

We have a great tool in Ruby, we can kill it, let's not do that!

My thoughts - Great presentation style, he's quite funny. Very inspirational lecturer for developers confirming that TDD/BDD are the ways forward for software engineering.

<comment><USER6> I've been working in Smalltalk since 1998. The most important points:

        - Companies developing in Smalltalk were screwed up at the time
        - There was an arrogance to the Smalltalk community
        - TDD never really became a part of Smalltalks culture

I just got a vendor to pay attention to an (admittedly subtle) bug in GUI event processing that's been around for 12 years, causing mysterious unhanded exceptions at every company I've worked with since 2003. Their theory before this: delusional customers.

Heed this man's advice.

Your developer culture is more important than your technology! A good culture will help maintain good companies and good public relations.

Smalltalk is not dead, just hiding in niches. I plan on starting new projects soon.

<comment><USER7> What are your thoughts on AIDA/Web and Seaside?

<comment><USER6> Seaside is pretty slick. Cincom's WebVelocity even more so. I'd stay with open licensing, though.

If the new projects work out, we will be using Seaside.

<comment><USER7> Thanks! I'm really intrigued with Smalltalk by way of Squeak (I've been working through Squeak by Example). I wasn't sure where I should be looking regarding web development. Thanks for your sharing!

</comment></comment></comment></comment></comment></comment><comment><USER8> already posted...

<http://news.ycombinator.com/item?id=623823> for the discussion

</comment><comment><USER9> Come on, it's easy to make a mess in any language except the straitjacket ones nobody uses. Smalltalk is not as well-integrated with Unix as other languages, and also the syntax and libraries are kind of anal, I think that's what killed it.

</comment><comment><USER10> This video was uploaded 1 day after the conference. I remember searching and not finding any videos of railsconf 09 expect dhh's keynote.

Were these videos really available all the time and I just didn't find them?

</comment><comment><USER11> If you like Uncle Bob he was caught yesterday singing Clojure's praises.

<http://twitter.com/unclebobmartin/status/11845284938></comment>


How to become a dramatically better programmer - <AUTHOR> https://recurse.henrystanley.com/post/better <comment><USER2> There's one piece of advice specific to programming which is missing from this listing: Read lots of code in lots of different languages. Aim to read, as a general rule, about _twice_ as much code as you write, and to be able to read _twice_ as many languages as you write in typically.

Edit: The average piece of code is written _once_ and read _hundreds_ to _thousands_ of times by people. It's not unreasonable to think of code as a read-oriented activity, not a write-oriented activity.

<comment><USER3> This is a suggestion I see given a lot, but something that falls flat to me personally. The analogy I would put forth is that it feels like reading lots of different furniture assembly instructions in the the hopes of getting better at assembling IKEA furniture. Such a thing is informative, but probably not nearly as much as just assembling lots of IKEA furniture. To those who make it a point to read lots of code, are there approaches you take or methodologies you use? Or certain things you look for? Or concepts you compare to them to in your native language?

<comment><USER4> I think the idea here is to look at the code for the libraries you're using. The documentation might lead you to believe it behaves in a certain way, but the actual code is the true source of truth. Open it up and have a look instead of wondering.

Something I liked about working at Google is that I never had to wonder what the lifecycle of a certain request looked like. I could always open up the code for the server I was trying to talk to, and piece together what "internal error" really meant, or what "optional" fields were actually required to make the request succeed.

<comment><USER5> That's excellent point. When I digged into express source I understood several things like how it extends the response object via prototype to add methods like send etc. Also you will understand how exactly next function is implemented and then you can literally understand anything about the library.

</comment></comment></comment></comment><comment><USER6> I suppose this article is about _programming_ rather than _software engineering_ but at the same time, I find there are a lot of these articles with heavy emphasis on _code_. I'd much rather people who want to improve their abilities keep an eye on architecture, and I thought the article yesterday about Uber's reasoning for moving to MySql had some gems in the comments, like this one: [https://news.ycombinator.com/item?id=12166585](https://news.ycombinator.com/item?id=12166585). The code is often secondary to the architectural choices. Get the architecture right, and the language or the quality of the code is frankly, a secondary concern.

<comment><USER7> > and I thought the article yesterday Link?

<comment><USER6> [https://news.ycombinator.com/item?id=17279687](https://news.ycombinator.com/item?id=17279687). Or I guess rather I should say the article posted yesterday had excellent commentary in 2016 and 2013 ;-). The money quote was " And in this particular case, I'd say they shouldn't be using the database to do locking around sending a receipt. It should be put into a queue and that queue should be processed separately, which avoids the transaction problem altogether." For all the people who mock the GoF book or the idea of design patterns, that right there ^ is a pattern of software engineering that you can recognize and apply. It requires a layer of architectural thinking beyond just the code, but it is the kind of thinking that when I see it in people separates them as senior from not senior.

<comment><USER8> I think the problem with the GOF book is that too many people used its respectability for too long to justify terrible designs, in opposition to both common sense and the guidance in the book itself. This has tarnished the reputation of what otherwise might be a pretty useful book.

</comment></comment></comment></comment><comment><USER9> It has some great points.

> When amateurs [play tennis], they don't edge each other out by being > slightly more skillful. Instead, it's a contest of who makes the fewest > huge, gaping blunders.

I actually find this idea relevant to so many areas in life. Most of us are just about average in most of the things. It is frequent that hunting down the most critical "huge mistakes" is the easiest way to improve dramatically in a certain field. I feel like doing so just gives you the most bang for your buck, and therefore should often take precedence over slightly improving more general abilities (through a lot of hard work, usually).

<comment><USER10> This begs the question: What best practices can significantly reduce blunders and are (more or less) portable across languages?

In my opinion, a good start is learning to use filter/map/reduce instead of big nasty for loops.

<comment><USER11> Fail fast, avoid mutability, write tests

<comment><USER12> Fail fast in development. Have fallback code for deployment or you will be in deep trouble.

And as all solutions, sometimes the cost is too much for the immutability.

Writing tests is a bit glib...

</comment></comment></comment></comment><comment><USER13> The things listed are all nice and all, but here's what I've seen result in dramatically better programming: Know your problem domain. There are, in basically every field of programming, some very domain-specific problems which you need to know about, that will be much more important in whether or not you do good programming than any of the things listed here. If you're handling money with your software, you need to know about different things than if you're not. If you're making front ends in government or legal domains, there are huge implications that will impact very low level technological choices. For example, are you allowed to do a DELETE? Or do accounting or legal requirements mean that you have to make a new row, which is the correction to the original row? If you don't know that about your problem domain, it doesn't matter how good you know your language, debugger, etc. Just one example, and every problem domain has them.

Know about your problem domain. It has a dramatically bigger impact on your programming than any of the things listed in this article.

</comment><comment><USER14> "Start viewing willpower as a resource that can be depleted, and make sure you aren't wasting it on trivial things."

The concept of ego depletion is not as certain as it once was.

[http://www.slate.com/articles/health_and_science/cover_story...](http://www.slate.com/articles/health_and_science/cover_story/2016/03/ego_depletion_an_influential_theory_in_psychology_may_have_just_been_debunked.html)

<comment><USER13> The basic idea of "I'm tired, and more likely to make sloppy choices" is pretty well established, however.

</comment></comment><comment><USER15> Some of this hinges on work environment, not just habits. I was glad to see the reference to Cal Newport's "Deep Work", but it's hard to do deep work when you have three meetings scheduled that afternoon.

edit: I consider _Deep Work_ a must-read for anyone serious about doing hard things.

<comment><USER16> FYI your startups website gets flagged by chrome as your certificate date being invalid.

<comment><USER15> Yeah, I know. I hit a wall on it and have been taking a break before starting it back up. The cert expired, and when I say "I'm not doing anything with this", I need to mean it.

It'll get fixed in about a month; I'm planning on firing the machine back up with a fresh perspective after the 4th of July.

</comment></comment></comment><comment><USER17> Things that contribute to the ability to get things done:

\- ability to solve problems

\- understanding of the data structures you are working with

\- ability to formulate solutions that requires less code

\- doing one thing at a time

\- knowing how to use the debugger

\- experience working within the architecture of the application you are working on

About 1,000 other things too.

</comment><comment><USER18> There was one point where I just disagreed from my standpoint. The pomodoro technique.

In programming for me, it never really worked. I mean, let's say I just got an idea for a specific piece of code, if the pomodoro triggers a break, I just lost my line of thought. When I'll get back after the 5 minute break, I will no longer remember what I was doing or how exactly I thought doing it.

I don't really know if for you folks it worked, but for me for this reason it didn't work and it never probably will.

<comment><USER13> I can believe it works differently for others, but for me the pomodoro technique works very well. When I'm "in the zone" and banging away, I am much more likely to _fail_ to notice that there is a much easier approach that I could be trying. Interrupting my work occasionally for a few minutes, and then coming back, vastly increases the odds I will realize, "oh wait, instead of spending the next three hours doing this thing here, I could change a bit of this other part of the codebase and not even need that."

Just my experience.

</comment></comment><comment><USER19> I wonder if there is any data on the efficacy of these techniques.

Deliberate practice makes sense to me, but I really wonder if the others require purposeful study or if you just pick up metaskills if you hack away at your project.

Heck, in 5 years I might be reading an HN article: "Deliberate practice isn't all its supposed to be." And an article about how the original deliberate practice study was flawed because it just forced people into hours of extra practice or something.

<comment><USER20> It's a question of keeping track of which is the map and which is the territory. The point, I believe, is to be continually and relentlessly introspective, asking yourself how you can do better today than yesterday (and having a realistic view of what 'better' is).

Deliberate practice can be helpful in forcing such introspection, _if you let it_. If you just go through the motions, it won't help much, certainly not sustained. You end up with cargo-culting.

The classic example is the GoF Design Patterns book - it was a _very_ good book, at least at it's time, you could expand your horizons a lot by reading it, and get a lot of tricks up your sleeve to deal with certain tricky, but relatively common, situations. But if you start actively to impose design patterns on code that doesn't need it so you can tell yourself (or your peers or whoever might listen) that you're a design patterns kind of guy, you end up with overly complex and hard to read (ie: bad) code.

</comment></comment><comment><USER21> Surely five minutes spent learning a debugger isn't really in the spirit of the rest of the post. It should be more like "read the entire man page of the debugger and try some of it out." Five minutes is only enough to learn how to shove the work-flow you already know into a new tool, not to learn the work flow that is actually suited to that tool.

</comment><comment><USER22> What are some of the "Meta" things for a web programmer (backend in dotnet) who is also interested in systems programming?

<comment><USER23> Perhaps things like reflection, the clr, and how the clr implementation interacts with the os.

</comment></comment><comment><USER24> Find a mentor, someone who refined their craft for years and only through experience they know the shortcuts and right implementations. My coding mentors really kicked me in the butt from being a cowboy self-taught coder to one who needs to read more about the theories of coding and philosophies behind them to up my game.

</comment><comment><USER25> > Everyone's strategy, therefore, should be to identify and eliminate these > big, costly rookie blunders, one by one. This is far more effective than > getting quicker, hitting harder, or making that one brilliant shot now and > then.

Brilliant observation.

</comment><comment><USER26> Repost from 10 days ago:

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

</comment><comment><USER27> What about dealing with a-holes. That's as important of a skill as anything listed in the article.

</comment><comment><USER28> I found some it useful for me.

Hacker News paydirt!

</comment><comment><USER29> The biggest barrier I often see is that people won't get in there and try things. It's code, and it's under version control. You can do basically anything, and the worst usually is you have to pull down a fresh copy. So much indecision and debate and time wasted, because people won't poke at things to figure out how they work.

<comment><USER30> when i approach a new largish (say < 500k lines) codebase I'm supposed to be working on, I'll often just go on a giant tear and completely refactor it to be the way I like it.

in the process I end up breaking several foundational assumptions and have to spend even more time carefully backing out my changes and trying to get it to work again.

rewriting the whole thing isn't your job (usually). check out a fresh new copy. now you can make a pretty informed decision about the best way to make the changes you're actually being paid to make.

or, more rarely, now I have a less tested but substantially smaller version (once I replaced a 500k library with a 15k version by gutting all the abstraction layers), and if its not a maintenance smallest-delta kind of deal, I just go with that.

anyways, the shortest path to the goal isn't always to chip away gingerly at the surface with your eyes closed and your head turned away - take a nice deep dive, you can always swim back up.</comment></comment>


Redis 6 RC1 is out today - <AUTHOR> http://antirez.com/news/131 <comment><USER2> Really appreciate that @antirez takes the time to add features in a way that doesn't negatively impact old features where possible, for example if I don't want to use ACL, I don't have to jump through hoops or assign universal high level access that I have to undo later. Thanks!

</comment><comment> core-questions Much love for the hard work of @antirez and the whole team, such an incredible and usually bulletproof part of everyone's infrastructure.

</comment><comment><USER3> Thanks for updating Disque, @antirez. I've been watching the GitHub issues and Twitter like a hawk. :)

</comment><comment><USER4> Can't wait for Threaded I/O as our app main bottleneck in some deployments was Redis.

<comment><USER5> Threading can help up to a given point but sharing is the way to go.

<comment><USER4> One of our bottlenecks was really big keys (>1MB) being written and read too often and effectively stealing all the CPU time. That was fixed in the app by reducing the number of operations + compression. Threaded IO will give us a little more room.

Other use case involves LUA scripts that operate on 5 different keys, so cluster/proxy is out of question.

<comment><USER6> Genuinely curious, why do you need such big keys ? Can't you hash them so you get nice short SHA-X strings for instance ?

</comment></comment></comment></comment><comment><USER7> This got me thinking about using Redis and I needed a review of what is open source and what isn't: [https://redislabs.com/legal/licenses/](https://redislabs.com/legal/licenses/)

<comment><USER5> All Redis 6 is BSD licensed. The Disque module and the Cluster Proxy are AGPL. The link you posted is only relevant for the Redis Labs commercial modules that are not part of this release.</comment></comment>


Humans v2.0: Thinking Abstractly and in Frameworks - <AUTHOR> http://www.danielodio.com/2009/11/24/humans-v2-0-thinking-abstractly-and-in-frameworks/

<comment><AUTHOR> Here's an exercise via excerpt from the blog post I'd love to know if anyone has ever tried & get comments on:

"Here's the problem: People just don't know how to talk about what they're going to talk about! Instead, they just start talking about it! Not sure what I mean? Well, let me frame it for you. Whenever you participate in a conversation, there should really be two things you're trying to do: #1) Understand what the framework of the conversation is, and #2) Communicate and receive specific points. Everyone always jumps to point #2. Rarely do people even realize #1 exists. Here's a concrete example: Next time you're on a conference call, run a little test. Start the call by saying, "I'd like to go over our agenda. Here are all the things I'd like to cover on this call." And list your items. When you're done, ask, "are there any other topics that anyone wants to add to the agenda?" Now, what you asked for were more agenda items. This goes to point #1 – the goal is to frame out what the conference call is going to be about. But often – very often – what you'll get, instead, is that people will dive into specific items. It's the most frustrating exercise, to realize the futility of it, and the difficulty that the human brain has in processing #1. People will say things like, "Well, I wanted to talk about XYZ. And the thing about XYZ is that…." and there they go – off talking about specific items when you were trying to frame out the agenda of the call. Try that test; I'd love to get your comments."</comment>


Leaked version of 'Son of ACTA' - 'full of awful ideas' - <AUTHOR> http://www.techdirt.com/articles/20110311/00104713434/us-proposals-secret-tpp-son-acta-treaty-leaked-chock-full-awful-ideas.shtml

<comment><USER2> Thanks for posting this. It's concerning that these 'treaties' are being repeatedly floated by the USTR. They're actively circumventing due process and established law. Third party liability for ISPs and other online service providers is particularly concerning to me.

Some of the more onerous/draconian highlights:

\- Each Party shall establish or maintain a system that provides for pre- established damages, which shall be available upon the election of the right holder

\- Requires criminal enforcement for technological measures beyond WIPO Internet Treaties, even when there is not copyright infringement (art. 5.9)

\- Impose a legal regime of ISP liability beyond the DMCA standards (art. 16.3)

\- Requires legal incentives for service providers to cooperate with copyright owners in deterring the unauthorized storage and transmission of copyrighted materials; (art. 16.3.b.vi.A)

\- Requires identifying internet users for any ISP, going beyond U.S. case law (art. 16.3.b.xi)

\- Includes the text of the controversial US/KOREA side letter on shutting dow

</comment><comment><USER3> Increasing ISP liabilities could lead to a situation where people cannot run server hardware from their home, in the style of FreedomBox. This might be one of the ultimate intentions/outcomes of this sort of legislation - i.e. that you're forced to live inside someone else's legally approved and insured cloud platform.</comment>