Why the Normal Distribution Is Vanishing - <AUTHOR> http://alexdanco.com/2015/12/17/taylor-swift-ios-and-the-access-economy-why-the-normal-distribution-is-vanishing/ <comment><USER2> This looks bullshit to me. He says the normal distribution is vanishing, and to prove himself, he brings up some charts which do not look like a normal distribution. Like the first smartphone-related chart:

"You're looking to buy a new smartphone. What does your demand distribution look like? Is it normally distributed? Absolutely not. It looks like this:" [ non-Gaussian 'curve' ]

Okay, what is a 'demand distribution'? I am pretty sure the market demand for smartphones does not look like the graph he's showing. Etc. etc.

<comment><USER3> whole article comes only with 'hunches' and not a single data point researched.

it conveniently ignores many facts and makes up some, like Androids being the cheaper, low quality choice, ignoring there are devices sold for as much as iPhones. one could argue that those are sold in lower volumes, but then that'd be a gaussian distribution

also, of course economics stats are not a good fit for a gaussian. they tend to stabilize around exponential. that's why the price pyramid is a pyramid.

I have to concede that by looking at some data, it seems there is a exponential distribution going on for all price ranges except at the highest end, but that's more a hint of the product price/features space being discontinuous than we being in a post scarcity society where gaussian/exponential distributions suddenly vanish.

but anyway, the fact remains that the data is out there, even for the other field, this on smartphone is but one of the many he didn't research preferring to follow intuition. and human brain is very bad at applying intuition to statistics.

[http://image.slidesharecdn.com/tomiahonen- engagewithmobile-w...](http://image.slidesharecdn.com/tomiahonen- engagewithmobile-wsa-abudhabi2015-150220083444-conversion-gate01/95/tomi- ahonen-engage-with-mobile-at-wsamobile-global-congress-abu- dhabi-38-638.jpg?cb=1424442956)

[http://4.bp.blogspot.com/-uY7kRAl6XfA/URibddfrTqI/AAAAAAAAPL...](http://4.bp.blogspot.com/-uY7kRAl6XfA/URibddfrTqI/AAAAAAAAPLI/pnN9ivxjtt0/s1600/Smartphone+Sales+Distibution+by+ASP.png)

<comment><USER4> > _it conveniently ignores many facts and makes up some, like Androids being > the cheaper, low quality choice, ignoring there are devices sold for as much > as iPhones._

He absolutely does not ignore that fact, in fact he specifically says that the better end of the market is either iOS or high-end Android phones.

Obviously (and all market data point to that), the Android phones that sell more are not the high end units, but the cheapo units that dominate the "free with subscription", "prepaid" etc market.

</comment></comment></comment><comment><USER5> The normal distribution is important because it arises naturally when the preconditions of the central limit theorem hold. But you still have to use your brain - you can't unquestioningly assume that any random variable (or sample or whatever) you will stumble upon will be approximately normally distributed.

<comment><USER6> This is the right answer.

Quite a lot of things are not normally distributed. Often this is because there's more than one generating mechanism. For instance you may have a financial market where normally things go up and down smoothly, people are reacting to news as normal. But then there are also panics, where people are not behaving normally.

There's also cases where the past influences the future, and drawings are not identically and independently distributed (though Wikipedia tells me there's weak variants of the CLT).

<comment><USER7> The conditions under which the Central Limit Theorem hold are complicated (in particular, weaker and weaker conditions have been shown to be sufficient even fairly recently). But intuitively, they boil down to two conditions that are fairly sensible:

1\. The individual observations can't be _too extreme_. Bounded variance, for example, is sufficient, but weaker conditions suffice.

2\. The observations must be _somewhat independent_. Independence is a strong condition and sufficient, but again weaker conditions suffice.

If 1) doesn't hold, a massive outliers could swamp all other observations. If 2) doesn't hold, for example if one underlying factor influences all observations, all bets are off: the observations could "conspire" to be fairly large (or fairly small), thus giving rise to fat tails inconsistent with the normal distribution.

(Having IID (independent identically distributed) observations, btw, is not sufficient, if the distribution itself is too fat tailed.)

<comment><USER5> Nice. I was aware that you could weaken independence, but not bounded variance. Without bounded variance, I thought you would get something like Student's t.

</comment></comment></comment></comment><comment><USER4> The author is making an observation based on market knowledge and long term trends.

Yes, he's not mouth-feeding us with the relevant data points -- we can search for them ourselves and see whether they match his observations or not.

Once we get over this, in the same way that we don't expect any conversation or comment in real life to come with charts and figures, we can discuss and try to verify where his assumptions/deductions are correct and whether they match the data that we have access to.

Being unsubstantiated is a different thing from being wrong.

</comment><comment><USER8> If anyone else is curious about the second picture, I tineyed ( [http://tineye.com/search/863a041e2607e3405d2dcec1fb148bce471...](http://tineye.com/search/863a041e2607e3405d2dcec1fb148bce4713e8f5/) ;-) it and found two agreeing attributions. One from a 2010 piece by Terry Tao:

[https://terrytao.wordpress.com/2010/09/14/a-second-draft- of-...](https://terrytao.wordpress.com/2010/09/14/a-second-draft-of-a-non- technical-article-on-universality/)

 _' Fig 23. A "living histogram" of 143 students at the University of Connecticut, with females in white and males in black. (Source: The Hartford Courant, "Reaching New Heights," November 23, 1996) Compare this non-bell- shaped distribution with Figure 5. '_

And another also mentioning U. Connecticut and crediting the photographers in the image itself: [http://image.slidesharecdn.com/visualiationofquantitativeinf...](http://image.slidesharecdn.com/visualiationofquantitativeinformation-110321181118-phpapp01/95/visualiation- of-quantitative-information-39-728.jpg?cb=1300731563)

</comment><comment><USER9> > The world's shift from Normal, Gaussian distributions of demand towards > bifurcated, two-tiered distributions is a natural consequence of our shift > from a world governed by scarcity to one governed by abundance.

FWIW, others (e.g. Steve Keen, of "Debunking Economics" fame) would convincingly argue that the world never fit into economist make believe normal distributions to begin with.

</comment><comment><USER10> This article may look like science, but it's actually just an opinion. Don't be fooled by the graphs.

</comment><comment><USER11> This article hints at the inequality implications, but I think they're likely to become increasingly important. We're already seeing this with creative works: the vast majority of works earn zero or near-zero, apart from a few massive global hits.

Inequality obviously also affects people's ability and willingness to pay for things. The lower end products are not just cheap but increasingly "free": either ad-surveillance-supported or paid for by the exploitative gambling-like "free to play" systems. Again, it's well known in F2P that most of the revenue comes from a tiny fraction of users.

</comment><comment><USER12> _This could be a high-end news source like the New York Times; it could also be a small, niche site like Stratechery._

He's massaging the examples here. Just because NYT is somewhat above the sewers of the Internet doesn't make it high-end.

There's still a normal distribution with relatively little demand for vile content (shock sites), more for gossip sites, a lot for Buzzfeed and other click bait factories, including what fills many Facebook feeds, then less for NYT and the like, finally very little for niche, truly high quality sources (blogs run by hobbyists, hackers, professionals, academics).

<comment><USER4> > _He 's massaging the examples here. Just because NYT is somewhat above the > sewers of the Internet doesn't make it high-end._

That's beside the point (not to mention that when it comes to perceived quality, the vast majority of people would call NYT high quality, even if they don't read it).

The point is most will either go to few specific sources or to a few generic aggregators, instead of breaking their surfing across a large distribution of sites (as people did more in mid-nineties).

</comment></comment><comment><USER13> Data is wrong on examples.

Mobile Phone = "Good Enough Android" and "iOS and Flagship Android"

[http://www.gartner.com/newsroom/id/2996817](http://www.gartner.com/newsroom/id/2996817)

Apple had 15% of Worldwide phone sales in 2014. Samsung had 24% which is 39% for both and the sales and demand are fairly similar to what people are willing to pay. He had data he just didn't want to use.

</comment><comment><USER14> Author tries to find some anecdotes that would verify his claims, without actual data of course. I would like to know for example, what is the actual distribution of money people paying for a cellphone (without contract) in different countries? Or the distribution of topics that people are looking in Facebook and elsewhere in Internet. Answer would probably not be a Gaussian but quite different than what author claims.

</comment><comment><USER15> I was really hoping for something about how marketing identifies consumer market segments and custom tailors product offerings and prices to make the best margin they think they can get. Even so, I'd guess that for commoditized products, there would still be a normalizable distribution of prices offered within the confines of a targeted market segment.

</comment><comment><USER16> a single agent's preference might not be normal, but the average agent's preference is surely asymptotically normal! (as the number of agents tend towards infinity)

[edit: of course not everything is asymptotically normal. a sequence of Cauchys do not tend towards the normal distribution.]</comment>


Ask HN: How do you wake up in the morning? - <AUTHOR> What's your pre-work routine? I can't seem to consistently wake up at the hours I want. <comment><USER2> Do you consistently go to bed at the same time, keep you meal times relatively consistent and keep your stimulant intake (caffeine, etc) consistent as well? I fare a whole lot better when I do.

Regardless, for me: 8:30 alarm, although I'm usually stirring by then. Meditate, coffee, email check (I rarely reply at this time). ~9:30 Gym ~11:15 Work

I drink decaf coffee in the afternoon, and decaf tea in the evening (it's not as good, but cutting the bulk of my caffeine out after my breakfast cup has really helped my sleep). I try to keep some level of routine/discipline, including an hour or so to relax before bed, which is usually around 12:30-1am. I forced myself to get up 'early' for a fair while, but after reading Matthew Walker's "Why We Sleep" ([https://www.amazon.co.uk/Why-We- Sleep-Science-Dreams/dp/0141...](https://www.amazon.co.uk/Why-We-Sleep- Science-Dreams/dp/0141983760/)) I just accepted I was more of a night owl and adjusted accordingly.

</comment><comment><USER3> 6am: alarm rings.

6:30am: as I have everything ready I leave for the gym.

7:30am: coffee and reading.

8:00am: train commute.

8:30: work.

For me the key is going to bed early. Maybe I go to bed at 10:30pm but dont actually sleep till 11 or 11:30 when cant read anymore.

</comment><comment><USER4> _I can 't seem to consistently wake up at the hours I want._

Protip! Get a kid and have it be your responsibility they get to school on time.</comment>


Free CCTV for your website - <AUTHOR> https://peekin.io <comment><USER2> Interesting premise - will give it a whirl. Just FYI - typo in the page "We are still investigating how we can build the pest possible product"

<comment><AUTHOR> when you try it, make sure you have some whiskey nearby. It's a pretty damn painful experience seeing what users actually do when they use the site without supervision compared to a beta tester you might sit next to.

<comment><USER2> ha! Considering our target audience is around 65 years old, I'd make it a double.</comment></comment></comment>


Show HN: Kanye West Quotes API (Kanye as a Service) - <AUTHOR> https://kanye.rest/?ref=hackernews <comment><USER2> But the real question is - does Kanye like fish sticks?

[https://en.m.wikipedia.org/wiki/Fishsticks_(South_Park)](https://en.m.wikipedia.org/wiki/Fishsticks_\(South_Park\))

I think that episode more or less captures Kanye's personality and mannerisms.

</comment><comment><USER3> Made a Siri Shortcut:

[https://www.icloud.com/shortcuts/f0b4b6986cfd422aae1a40b09da...](https://www.icloud.com/shortcuts/f0b4b6986cfd422aae1a40b09daad175)

</comment><comment><USER4> Oh bravo. I would like to put this on Spike.sh loading screen

</comment><comment><USER5> Kanye instructs and liberates us. Bravo.

</comment><comment><USER6> Why Kanye???</comment>


Airline passengers still concerned about paying extra to sit together - <AUTHOR> https://www.caa.co.uk/News/Latest-Civil-Aviation-Authority-review-finds-passengers-still-concerned-about-paying-extra-to-sit-together/ <comment><USER2> Some people are willing to pay less because they don't care where they are sat. But now it's assumed everyone should pay less but still have a choice of seating.</comment>


IPhone Users Are Smarter Than Other Smartphone Users - <AUTHOR> http://www.ihash.eu/2014/01/iphone-users-smarter-smartphone-users/

<comment><USER2> I'm BB user and i didit in 99 seconds.

</comment><comment><USER3> good one, but actually the smartest was samsung user. his time was 47 seconds. gooooo samsung :)

</comment><comment><USER4> 150 seconds i`m ashamed. nokia user</comment>


Ask HN: What web technologies should a web virgin learn? - no-go-mojo

I want to build dynamic web apps.
So far I have gone through web tutorials (w3 schools) of HTML, CSS, jQuery and score about 75% at the end of each tutorial. I'm now going to go through AJAX and SQL tutorials on the same site. Next I'm going to try Michael Hartl's Rails tutorial.
Say I become 65 or 70% competient with the above technologies (while being slow to build), am I ready to build dynamic web apps, or should I add something to my to-learn list? Are there any holes or gaps in my plan? I also want my apps to look nice and feel fast.
I used to know C++ fairly well about 5 years ago. No coding ever since.
To get an idea what I'm trying to build think something like a simple groupon-esq featured online college application tool (so you can apply for multiple colleges/scholarships/funds at the same time).a <comment><AUTHOR> I was in a similar boat about 4 months ago...I said 'fuck it' and just started coding. I've never regretted it.

Sure, you'll make mistakes. You'll get stuck. You might have to throw away 3000 lines of code and start over, like I did. But the fastest (and best) way I've ever learned is by working on a project I was passionate about.</comment>


Aurora Borealis visible in Northern US tonight - <AUTHOR> http://www.accuweather.com/en/weather-news/dazzling-northern-lights-antic-1/10107004

<comment><USER2> Does not look like it to me <http://helios.swpc.noaa.gov/ovation/>

:(

</comment><comment><USER3> Bad news: cloud cover over most of northern USA will significantly decrease odds of seeing it :(

I was planning on driving out from Chicago to WI or IN. :(

<comment><USER4> i, too, was glad that chicago conveniently falls in the "poor" category, in addition to light pollution. /sarcasm

</comment></comment><comment><USER5> Clear sky and good transparency here in MD with no sign of aurorae.

</comment><comment><USER6> I grew up in Carson City, NV, which is between San Francisco and Denver in latitude.

When the Russians decommissioned Mir, there was this strange red splotch in the sky. People came out of their houses to speculate on what it could be. (A bunch of people thought it was related to the satellite - some people thought it got nuked.) Turned out to be an aurora borealis. It was only visible for a couple hours, so by the time my dad got his camera out and drove into the mountains, it had faded.

I grew up thinking auroras were these neat things reserved for Scandinavians and Alaskans - never thought I'd see one in the lower 48.

I bet they're more impressive up north, though.

</comment><comment><USER7> According to the Ovation report, the Borealis is well north of the US / Canada border: <http://www.swpc.noaa.gov/pmap/pmapN.html> and [https://twitter.com/GarySzatkowski/status/323252624713469952...](https://twitter.com/GarySzatkowski/status/323252624713469952/photo/1)

</comment><comment><USER8> Winnipeg, Canada. Clear skies, but the aurora wasn't very bright. Just barely made it out.

</comment><comment><USER9> If you've never seen the it before, it's worth going outside to check it out if you are in the right areas. Saw it when I was younger in Missouri, pretty spectacular!

</comment><comment><AUTHOR> I'm in VA and planning to head out to Leesburg unless someone in the area knows of a better location to try to catch the display.

<comment><USER10> I am in Arlington wasn't able to see anything.

</comment></comment><comment><USER11> Beautiful clear skies here in Berks County PA. I'm supposed to be able to see the auroras, but there is nothing yet to see.

</comment><comment><USER12> Haven't seen anything yet in Pennsylvania.

</comment><comment><USER13> I'm in NYC now and have been watching the sky for the last few hours. No joy yet....

</comment><comment><USER14> Ugh never fails. Every time there's northern lights visible it's cloudy. :(

</comment><comment><USER15> I'm near Pittsburgh; sky looks clear but no sign of anything yet.</comment>


Man Says He Has USB Drive in Prosthetic Finger - <AUTHOR> http://abcnews.go.com/Technology/story?id=7112491&page=1

<comment><USER2> Duplicate.

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


Hacker News IRC/Chatroom available! Use gtalk, email, sms or the web to chat. - <AUTHOR> http://news.ycombinator.com/item?id=131819

<comment><USER2> /upvote

I like this service. I think you guys are onto something.</comment>


Detecting Cycles in a Directed Graph  - <AUTHOR> http://neopythonic.blogspot.com/2009/01/detecting-cycles-in-directed-graph.html

<comment><USER2> Another way to do it is to DFS or BFS a graph while marking nodes "visited" or not. If you encounter a node in your search path that was marked, there's a cycle. I think you did something extremely similar, but I'm not sure you marked them or not. There might be a simpler way to do it wihtout so many loops:

      # Initial condition is for all nodes: node.visited = False

      def detect_cycle( start ):

         if start.visited == True:
             return True

         start.visit = True
         cycle = False
         for child in start.children:
               cycle = cycle or detect_cycle( child )
         return cycle

Of course you might need some other stuff to be returned, in which case this would be wholly inadequate ;-)

<comment><USER3> this code does not work. it tests if the graph is a tree, not a directed acyclic graph.

<comment><USER2> You're right. Now that I think about it. Someone else mentioned that it doesn't test for unconnected nodes, or nodes connected only via back links.

However, figuring out how to find them will depend heavily on your implementation. Most likely you store all of them in an array and perform the search on each of them. I wish I could find my data structures and algorithms textbook. I lent it out and I really wish I still had it...

</comment></comment></comment><comment><AUTHOR> Posted for the Python and the discussion.</comment>


Is it easier to get a job if you're Adam or Mohamed? - <AUTHOR> http://www.bbc.co.uk/news/uk-england-london-38751307 <comment><USER2> That was quite an interesting read. I am a bit concerned about the name-blind CVs, though: wouldn't that prevent "googling" the name before, or additional information gathering on the candidate? I am not saying that this would necessarily be a bad thing (there are a number of problems to the current approach), but I would be curious to see how employers/interviewers would react.

</comment><comment><AUTHOR> This was in London which is a diverse city.

[https://en.wikipedia.org/wiki/Ethnic_groups_in_London](https://en.wikipedia.org/wiki/Ethnic_groups_in_London)</comment>


Google Designing 'X Phone' to Rival Apple, Samsung - <AUTHOR> http://online.wsj.com/article_email/SB10001424127887324731304578191711598368942-lMyQjAxMTAyMDIwMTEyNDEyWj.html <comment><USER2> It is shockingly simple to get at least near the level of Apple products: don't let your vendors ship crapware on the device.

When you play with a Nexus device with vanilla Android and no crap apps installed by default, it's great. It's very comparable to an iPhone experience. If Google installed more of their 1st party apps by default, it would be even better.

Yet most devices shipped by Verizon have 7-10+ apps that are absolute garbage and distract from the experience.

It's entirely analogous to laptops. Windows isn't terrible. Windows combined with the 20 apps that Dell shipped by default is terrible.

Don't let the middlemen (Dell/HP for Microsoft, Verizon/AT&T for Google) define your user experience.

<comment><USER3> _Don't let the middlemen (Dell/HP for Microsoft, Verizon/AT &T for Google) define your user experience._

This is not, as you think, simple. There are no margins in commoditized devices. If they all trend toward being identical and low cost, all partners will find the most exceedingly clever ways to differentiate from each other or boost margins. Software is a prime target.

You also speak of "letting" vendors ship crapware. Let? This is an open platform. Google only has control if vendors desire the Google goodies that cost a little bit of money. Also, how much leverage do they have exactly against a carrier like Verizon, which is their primary sales channel? Not as much as you would think. As this article points out, forking Android (especially to Samsung) is becoming an increasingly viable alternative to playing ball with Google, and the consequences would be pretty disastrous if they were to do that.

This hedge of doing their own hardware represents yet another challenge with your shockingly simple solution: that supply chain management in this market is really difficult, especially if you have some killer ideas in mind for new kinds of hardware (i.e., using materials other than plastic, new experimental displays, sensors, etc.) How quickly did Nexus 4's sell out? It's very possible that demand was strong, but the double-glass enclosure probably proved to be more of a headache than originally conceived to manufacture.

So it's not simple. This market is difficult, fraught with trust issues and risks in doing it all yourself.

<comment><USER4> > This is not, as you think, simple. There are no margins in commoditized > devices. If they all trend toward being identical and low cost, all partners > will find the most exceedingly clever ways to differentiate from each other > or boost margins. Software is a prime target.

Except a high quality Android phone is _not_ a commodity. It's a premium product that no one (outside the Nexus line and the OG Droid) has created. If there's a segment of the market interested in such a product (which is what everyone believes), then they will be willing to pay a premium for it.

> As this article points out, forking Android (especially to Samsung) is > becoming an increasingly viable alternative to playing ball with Google, and > the consequences would be pretty disastrous if they were to do that.

Forking is not an issue because that would remove access to the Play Store, without which a smartphone simply would not be competitive. Look at the Kindle Fire - it had the advantage of being a tablet (where Android apps are still being developed), coming out quite a while back (again, app situation more favorable than now), having an existing content ecosystem (which Samsung doesn't), and being their first foray into the hardware/Android market (not the case for Samsung).

At this point, Samsung really doesn't have any choice but to stick to just skinning Android if it wants to keep selling phones.

<comment><USER5> Carriers are the ones that sell directly to consumers though. They're optimizing for the showroom experience. They want to walk you around their showroom and have a variety of devices to choose from. If they can convince you that you have a lot of options, they've won.

They also want to maintain control, and so playing manufacturers off of each other helps with that.

</comment></comment></comment></comment><comment><USER6> I still feel the dominant position of the iPhone is an understanding of marketing as much as anything else. People aren't necessarily buying iPhones because they are better, but because they want an iPhone. That is a huge distinction that carries a ton of weight.

I understand the belief that if you make a significantly better option, it will sell well. I question the validity of this belief. As well as the ability of anyone to do so.

<comment><USER7> It's not so much that Apple understands marketing (they use the same ad agencies as anyone else), but they understand the market.

I think a really good example of this phenomenon is the whole screen size debate. The tech press just could not understand why Apple was so hesitant to join in the screen size war and go from 3.5" to 4.0" to 4.3" to 4.7" phones. The tech press is, of course, almost entirely male. Meanwhile, more than half of the potential customer base for these phones is female, and disproportionately young females at that. Females have substantially smaller hands than males. My wife, who has no exposure to the tech press debate over screen size, lamented to me that her new iPhone 5 was great except she didn't like how the screen was bigger and harder for her to use one handed.

Apple gets it. Apple understands that teenager girls are a bigger market than male geeks and designs its products accordingly. If you think, instead, that Apple's dominance is the result of Apple being better at targeting advertisements to teenage girls, then you've completely lost sight of the ball.

<comment><USER8> Precisely, Apple understands that the women demographic is more important than the male. An observation I've noted is that of the women that love iPhones all love them due to the size and "feel" in their hands. A very visceral and physical response to a device if you ask me. They may hate the rest of the phone/company/etc, and hate here is over-exagerrating, but being able to hold your phone in one hand to use is important to many people.

Having to explain this as a guy with small hands to really big guys is annoying. But I have noticed that larger people (physically) don't mind the larger/wider phones. But their hands are actually bigger. I can't use a phone much wider than the iPhone. Once I get to the point that I have to shift the phone in my hand I feel like I'm holding a mini tablet.

I know everyone raves about the bigger devices but I can't use them for more than a few minutes. They're too wide for me, no matter how much I may want to use android I have to side with the women on this one. 3.5" width is the sweet spot for the other 50% of the population. As guys the sooner we realize that our physical characteristics influence what we buy we'll be better off.

For the record my glove size is 7.5, big for womens hands, tiny for guys.

</comment></comment></comment><comment><USER9> I'm really glad this is happening. Hardware companies have long been stingy and focused on the bottom line. One of the things that annoys me to no end about most PCs is that they have "Intel Inside" and "Designed for Windows" stickers. Hardware companies get maybe $20 from putting these stickers on the computers, and another $20 to put crapware on the computers they ship. $40 profit on a (say) $700 computer. As a consumer, I absolutely despise this. If I'm spending $700, I don't want to have to use rubbing alcohol to remove stickers. I don't want to have to spend several hours uninstalling trial versions of software I didn't want in the first place. I'll pay the $40 out of pocket, just give me a clean usable computer. It's really a shame that only one company has realized this.

I'm glad that Google has wised up and is taking a stand against the race to the bottom that has pervaded the hardware industry. With both major platforms having high quality hardware, the pressure will be on for the third-party manufacturers to up their game.

<comment><USER10> > $40 profit on a (say) $700 computer.

If you're willing to pay $740 instead of $700 then you might get that -- but most people aren't. It's not that only one company realizes it, it's that one particular company also charges you a lot more.

<comment><USER11> Who's making that $740 PC without crapware right now? I know I can buy a Mac and have a usable machine out of the box, but who is doing this in the Windows PC world?

<comment><USER12> You can buy any pc from store.microsoft.com or the physical microsoft store and that would come with no crap/bloatware

<comment><USER13> Story time:

Two years ago, I bought a Lenovo IdeaPad with the intention of running Linux. I bought it from the Microsoft Store website, because it was $200 cheaper than buying it from Lenovo (even with discount codes from dealnews.com)

So, as I was checking out, the store asks me if I would like to pay $80 more for "Microsoft Signature" setup. Given that I was going to run Linux, I was already upset at the implicit Windows tax, and declined without even checking what "Microsoft Signature" was. Especially since the whole thing was $650, so $80 is almost a 15% increase.

Three days later, I get the thing, and the box says "with Microsoft Signature". I first looked to see that they did not charge me for it. And then, just before calling to shout at them for installing crapware I didn't ask for, I checked what "Microsoft Signature" really means. Lo and behold, it means "Lack of manufacturer crapware".

Microsoft was offering to charge me $80 more so that I would only get Microsoft software out of the box.

(The Intel Inside and Win7 stickers were still there, however)

</comment></comment></comment></comment></comment><comment><USER14> Let them first fix their supply chain; buy a ton of factories or whatever, because here (in the EU) Nexus 4 and 10 are still sold out (before xmas; how smart...). Many people I know now went for the SIII or iPad 10 inch instead of waiting any longer. That's incredibly lame.

Edit: in my country (Netherlands) they haven't even started selling the Nexus 10 in the first place, but I usually order that kind of stuff in Spain because they are apparently 'important enough' for second (behind the US) launches most of the time.

</comment><comment><USER15> Hopefully. Android may be good enough for the vast majority of people, for myself it's just rage inducing.

You know, I was sort of jaded from Apple's stupid antics. When my dad asked me what phone his employer should buy for him I told him to get the Samsung Galaxy SII. It got great reviews and was widely praised, it also runs a somewhat recent version of Android. Now I'm visiting my parents for Christmas and helping my dad configure it.

Holy shit, what an unbelievable piece of crap! There aren't enough expletives to describe that train wreck. Running Android 4.0.4, no less. Wow. It's just awful, no better than those crappy feature phones from five years ago, making all the same idiotic mistakes. How anyone can deal with this crap is a mystery to me. (I now just feel bad for my dad who has to deal with it.)

Apple, I may hate your antics, but you do blow Samsung out of the water. Google still has to step it up. I thought they were on a level. They still are not. All they have going for them is price and diversity. (Not that anyone but me care. But holy shit, what a piece of crap. I'm really wondering what all the gushing reviewers were smoking. Also, what the hell is wrong with that awful display? Why is white so green?)

<comment><USER16> Good thing you have all those specifics in there. Or any. Or even a hint at what is such a "train wreck". My litmus test is when my got-super-rich-off- Apple-stock friend is saying that he's trying out 4.2 and is envious of it. And that's just from casual exposure to someone who has owned every iOS device made.

<comment><USER17> I bought a Nexus 7 as my first Android device a few weeks ago, primarily for reading. Overall, I've been pretty happy with it as a long-time iPhone and iPad user. I'll say this: It's surprising how bad Android's momentum-free scrolling feels. Apple patents strike again!

<comment><USER18> is that really true? We implemented momentum scrolling on the Sony-Erricson p800 ages ago. go figure...

<comment><USER16> I don't know, this is the second time I've heard this complaint in two days. I have inertial momentum scrolling in Android. It's been here forever and it works quite well... I think this is "it feels different than iOS so it sucks" mentality.

</comment></comment></comment></comment></comment><comment><USER19> As an owner of a Samsung Galaxy Nexus, I just have three words for Google: more battery life. Seriously, I love the phone but it sucks down the juice like there's no tomorrow. And that's with an extended capacity battery pack and App Killer set on Aggressive.

<comment><USER20> The battery life on the Note2 is phenomenal. Helps that it has a 3100mah battery.

</comment></comment><comment><USER21> Of course, they would be rivaling Apple/Samsung if they would just produce enough of the Nexus 4 and market it better. But that just seems TOO EASY I guess.

<comment><USER11> _if they would just produce enough_

But that's why this is so hard. Google and LG completely fucked up the Nexus 4. They so completely misjudged market demand for the N4 that they didn't have their supply chain in line to produce enough. That's why even now you can't get one. It takes a while to get all of the downstream suppliers in line and they're probably scrambling to do that now.

That's why this business is so hard. It's not that they _just_ didn't produce enough - they didn't produce enough and they're not very good with contingency planning and supply chain management and so the Nexus 4 isn't an option for most consumers who would want one. Don't underestimate just how good Apple and Samsung are at this.

</comment></comment><comment><USER22> What does this mean for the future of the Nexus brand?

<comment><USER23> Did anyone say it could not be "Nexus X" ?

</comment></comment><comment><USER24> I for one hope they also let manufacturers create many more "Nexus" devices, if they are going to pursue this with Motorola anyway. They need to create a Nexus program with _much stricter_ guidelines than the typical Android phone (no skins, no extra crapware, lag-free, and which gets at least two dot-oh upgrades - like 5.0 and 6.0), and also allow them to make $100 (unlocked) Nexus devices, too.

I wouldn't buy the cheap one for myself, but I could recommend them to people who just want a cheap smartphone. I'd much rather recommend them a clean Nexus device, than a skinned custom-software one, with an unpredictable user experience, that also doesn't get upgrades.

All of these Nexus devices also need to have all of their upgrades handled by Google alone - just like the Chromebooks. In fact, this Nexus program should be handled almost like the Chromebook program. Nobody gets to touch the Chrome OS but Google.

I think these devices would become increasingly more popular thanks to the word of mouth of the people who actually know what they are and recommending them to all their friends. This would clean up the Android ecosystem a bit by having exactly one user experience across Android devices, and having a major portion of the Android ecosystem be upgraded on time and for a longer period.

As for this X-devices strategy from Motorola, they could use it as "iPhone- killers" - as hero devices of their ecosystem, like Nexus has been until now. But they need to be devices of highest quality, and they shouldn't try to also compromise on price, like they did with Nexus 4. I'm not saying that Nexus 4 suffered from it, but to be honest that strategy started to worry me a little because Google might want to get to lower and lower price points in the future, and forget about making the very best devices in the market. And I think that would be a very bad idea. Google needs to excite "influencers" in the tech world, and they can't do that with sub-par cheaper devices.

But with the X strategy, they can deliver these hero "best in the market" devices, while the Nexus program would allow for a sub-group of the Android market, to have devices from $100-$600, from different manufacturers, but under very strict guidelines, and with Google handling all the upgrades. Basically the Nexus program should become what Android should've been if Google could restart Android today.

tl;dr - Nexus = Windows/ChromeOS strategy, with one UX and all upgrades from Google for at least 2 years. X-phone - iPhone strategy; Google's hero device for the year, the one that's made to excite the tech-insiders, and push the ecosystem further, and the one that always comes with the dot-oh versions, not dot-one (e.g. 5.0, not 5.1).

<comment><USER25> Why would any vendor agree to such an arrangement? If you're not allowed to differentiate on either hardware or software except in trivial ways, the product commoditizes immediately and there's no profit for the vendor.

The reason Apple can do this is that they make their own hardware, so there's nobody else who needs to get paid and no reason to try and "differentiate". The downside of the Apple strategy is that hardware businesses are extremely difficult and expensive.

<comment><USER24> For the same reason they entered the Nexus program - for the popularity in the Android community. And I guess Google could and _should_ help them with marketing, the way Microsoft is promoting Windows 8. Google has never really promoted Android as a brand, and I think that was a _huge_ mistake, not only because it means that in the mind of a regular consumer Android doesn't mean much, but also because it makes it that much easier for other manufacturers to step all over Android's regular interface - because the consumer doesn't know it anyway.

I'd argue that some manufacturers would be happy to make such devices if Google spent many millions in promoting them.

</comment></comment></comment><comment><USER16> I was just sitting here thinking that I wouldn't upgrade my Galaxy Nexus with 4.2.1 until it breaks given how it literally handles everything I need it for, but if Motorola put out an unlocked AOSP device, I'd be all over it.

Though, I also remember how much I enjoy VZW coverage and how unlikely it is that Google is going to play ball with them anymore.

-

>For the X phone, an initiative being led by former Google product manager Lior Ron who specialized in mapping, Motorola wanted top-notch features for the phone's camera and photo software, such as better color saturation and the ability to take panoramic shots, two people familiar with the situation said. But some of the features were found to drain battery life or already have been incorporated into popular new devices, such as the iPhone 5 that launched earlier this year, they added.

....... uhm, what? Android beat iOS to panoramas and Photosphere was part of 4.2. I can't understand how "color saturation" drains the battery constantly. (Frankly the 4.2 stock camera kicks ass, especially combined with the new lock screen widgets. Very slick. One gesture, one tap to take a picture from a locked phone.)

I also don't understand the implication that this is Google hedging bets in case Samsung gets disappointed. Samsung is beginning to eat Apple's lunch in Android sales... why would they turn their back on Android?

<comment><USER26> Unless Samsung is thinking of turning its back on android for any reason.

<comment><USER23> They're involved in efforts like <https://www.tizen.org/about>, but I don't really see this one lifting.

</comment></comment></comment><comment><USER27> > _It is shockingly simple to get at least near the level of Apple products: > don't let your vendors ship crapware on the device._

Well, you also need to get the actual hardware on par. Cheap plastic won't do. Get the machining and the materials right.

Oh, and let the users UPGRADE between versions of Android. What the duck is up with that?

<comment><USER16> > Cheap plastic won't do.

I have never doubted that my Android phones are tougher than iPhones. I drop my Galaxy Nexus constantly on concrete without issue. Every single one of my family members has broken an iPhone screen in the last year, year and a half.

<comment><USER27> It's the feel, not the toughness when people constantly drop them.

That said, the glass back panel on iPhone 4 was easy to break. The solid metal iPhone 5 not so much.

</comment></comment></comment><comment><USER26> Working with your hardware partners to develop more choices for customers while also providing a premium experience that you have full control on... Interesting that Google is copying Microsoft's strategy that people feared might backfire for Microsoft.

</comment><comment><USER28> This could easily start to kill Apple - or at least start taking big bites out of them.

<comment><USER29> Easily start to kill Apple? That's a pretty strong claim.</comment></comment>


Intuition and Logic in Mathematics (1905) - <AUTHOR> http://www-history.mcs.st-andrews.ac.uk/Extras/Poincare_Intuition.html <comment><USER2> Richard Courant said it nicely in "What is mathematics?", my all time favourite book:

 _There seems to be a great danger in the prevailing overemphasis on the deductive-postulational character of mathematics. True, the element of constructive invention, of directing and motivating intuition, is apt to elude a simple philosophical formulation; but it remains the core of any mathematical achievement, even in the most abstract fields. If the crystallized deductive form is the goal, intuition and construction are at least the driving forces. A serious threat to the very life of science is implied in the assertion that mathematics is nothing but a system of conclusions drawn from definitions and postulates that must be consistent but otherwise may be created by the free will of the mathematician. If this description were accurate, mathematics could not attract any intelligent person. It would be a game with definitions, rules, and syllogisms, without motive or goal. The notion that the intellect can create meaningful postulational systems at its whim is a deceptive half-truth. Only under the discipline of responsibility to the organic whole, only guided by intrinsic necessity, can the free mind achieve results of scientific value…To establish once again an organic union between pure and applied science and a sound balance between abstract generality and colourful individuality may well be the paramount task of mathematics in the immediate future._

<comment><USER3> Here's an opinion by Terence Tao along the same lines that I found insightful:

[http://terrytao.wordpress.com/career- advice/there%E2%80%99s-...](http://terrytao.wordpress.com/career- advice/there%E2%80%99s-more-to-mathematics-than-rigour-and-proofs/)

 _The "post-rigorous" stage, in which one has grown comfortable with all the rigorous foundations of one's chosen field, and is now ready to revisit and refine one's pre-rigorous intuition on the subject, but this time with the intuition solidly buttressed by rigorous theory. (For instance, in this stage one would be able to quickly and accurately perform computations in vector calculus by using analogies with scalar calculus, or informal and semi- rigorous use of infinitesimals, big-O notation, and so forth, and be able to convert all such calculations into a rigorous argument whenever required.) The emphasis is now on applications, intuition, and the "big picture". This stage usually occupies the late graduate years and beyond._

</comment></comment><comment><USER4> Another mathematician basis function from Freeman Dyson, _Birds & Frogs_:

[http://www.ams.org/notices/200902/rtx090200212p.pdf](http://www.ams.org/notices/200902/rtx090200212p.pdf)

Dyson contrasts the ADHD of the multi-disciplinary cross-fertilizing polymath, with the meticulous obsessive immersion of the specialist.

There is also the Kuhnian distinction between _revolutionary_ and _ordinary_ progress: the leap of the system creator compared to the incremental steps of the system extender.

I think it is very relevant that the intuitionist geometric thinkers are often the mathematical physicists. They have a vivid kinaesthetic imagination, where mathematical entities have a visual appearance, complete with spatial properties and forceful interaction. Sometimes these take the form of practical _thought experiments_ , which open a problem to precise mental tests. But they can also involve more abstract explorations, like the slow precession of a mobile sculpture, such that alignments and symmetries become manifest: not yet understood, but actually there for examination.

A list of the greats would include Newton, Gauss, Riemann, Poincaré himself, Einstein and Feynman. Many of these used spatial representations to inspire algebraic progress. A more recent example (although necessarily on a lower tier) would be Penrose.

</comment><comment><USER5> It seems to me that the absolute intuitionist and absolute logician can not exist as real persons. I see them rather as two extremes that are always mixed in some proportion (and always in fight with each other for more space, so the proportion changes over time). For instance, Euclid is mentioned as logician, but at least one of his axioms (about parrallel lines that could not intersect) is based on intuition that, turns out, is not always "true". Therefore we have got other Non-Euclidian geometries.

<comment><USER6> Actually, this example makes Euclid even more of a logician. Recall that Euclid stated his Fifth Postulate (where his postulates really mean axioms). Geometers for thousands of years afterward, guided by intuition, attempted to prove that in fact the Fifth Postulate could be proved from the other axioms. But by the 19th century, it was actually clear that Euclid was correct to include the postulate; had he not included the postulate, his geometry would not convey what he wanted to convey. Euclid in this way was fundamentally a logician! He realized that he needed the Fifth Postulate to prove facts about a geometry he imagine (e.g. angles in a triangle sum to two right angles), and included as an axiom something that others intuited must be derivable from the others.

But as Poincare mentions, we can also see that Euclid DID have much "intuition" in his works. In modern days, we do not consider Euclid's Elements a rigorous work of logic, mainly because his definitions are not rigorous definitions; he says a point is "that which has no part." Hilbert remedied Euclidean geometry in the 20th century, with a work that has some undefined objects (points and lines) and precisely defines the rest. He needs something like 24 axioms, as opposed to Euclid's 5.

It's interesting to see where Euclid's logic breaks down. Look at his very first proof - the construction of an equilateral triangle. He constructs two circles and looks at their intersection. How do we know we can build the circles to intersect? He draws us a picture and it seems obvious :).

But in Hilbert's Euclidean geometry, we need what I think of as a really nasty axiom in order to ensure the circles intersect: "Axiom of completeness. To a system of points, straight lines, and planes, it is impossible to add other elements in such a manner that the system thus generalized shall form a new geometry obeying all of the five groups of axioms. In other words, the elements of geometry form a system which is not susceptible of extension, if we regard the five groups of axioms as valid."

<comment><USER5> Thanks for pointing out this.

</comment></comment></comment><comment><USER7> Here's a more readable version: [http://www.scribd.com/doc/150574528/Intuition-and-Logic- in-M...](http://www.scribd.com/doc/150574528/Intuition-and-Logic-in- Mathematics)

</comment><comment><USER8> This shows how badly Wikipedia fails. There is not reference there (in the Poincare page) to this translation.

<comment><USER9> _This shows how badly Wikipedia fails. There is not reference there (in the Poincare page) to this translation._

You could fix that.</comment></comment>


Software Defined Radios with GNU Radio Companion - <AUTHOR> https://www.youtube.com/watch?v=TZmHgIPBLDo&list=PLVQhg1UYyzxUcv-bZnxOOA6pkoAB021d9 <comment><AUTHOR> Complete course in how to use software to create a radio completely in software.</comment>


At This Juncture... - <AUTHOR> http://alarmingdevelopment.org/?p=177

<comment><USER2> It's kind of depressing that he felt the need to rebrand just because it wasn't commanding respect. Getting a good demonstration (rather than fibonacci!) would go a long way to getting Subtext noticed!</comment>


Ask HN: Do you know any good audio books for developers? - <AUTHOR> I am curious if you know any good audio book for developers.
The topic of programming usually don't lend itself well for audio books.
I know there are a lot of podcasts about
programming out there. Most times I don't think you learn by listening to them.
This is why I am searching for good audio books about programming. <comment><USER2> Not specifically about programming, but "Every Tool's a Hammer" by Adam Savage was really good. Tons of good information in here, and it tickles the Mythbusters itch.

Are you looking for books about a programming language? or about methodologies, patters, best practices, etc.

As far as about specific programming languages, personally I think the internet is a far better resource. Books are better for the "Soft"er skills (communication, design, etc)

Here are a few I've enjoyed:

* The Phoenix Project

* Accelerate

* Deep Work: Rules for Focused Success in a Distracted World

* Rework

Finally, if you've never read "How to win Friends & Influence people", do it now! I'm 34 and for whatever reason put off reading this until last month. I wish I had read that book 10 years ago. I'll definitely be adding it to my re- read list as there is a TON of good advice for building relationships, which is arguably more important than many technical things.

<comment><USER3> I was about the same age when I read HTWF&IP. It's a shame because it's a really good book about, basically, how to be a good person.

I think the reason we put it off for so long is that they couldn't have titled it worse if they'd called it "How To Be An Asshole"

</comment></comment><comment><USER4> "Algorithms to Live By: The Computer Science of Human Decisions" by Brian Christian and Tom Griffiths is an interesting _listen_ on Audible. Surprised that nobody has mentioned it here yet. It is a perfect candidate for an audiobook because of lack of code snippets and formulae.

<comment><USER5> 2nded. Amazing and engaging book

</comment></comment><comment><USER6> The Kubernetes Book by Nigel Poulton is the best audiobook adaptation of a technical book that I've come across.

[https://nigelpoulton.com/blog/f/kubernetes- audiobook](https://nigelpoulton.com/blog/f/kubernetes-audiobook)

<comment><USER7> I can also recommend this one, works surprisingly well

</comment></comment><comment><USER8> War and Peace will help you better understand and deal with the constant change in your requirements and why you are right that management has no fucking clue. Also, great value for your audible credit.

<comment><USER9> But which one? There are more than one translation out there

</comment></comment><comment><USER10> The Goal

Novel by Eliyahu M. Goldratt

A business fiction book that describes "The Theory of Constraints" a process initially applied in manufacturing that deals with optimizing production line systems.

I found the sections on identifying a bottle neck in a system, focusing on optimizing the system around this point and re-evaluating system performance afterwards very applicable to software engineering.

Everything from CICD pipelines, the flow of work through your team to or performance optimizing a service oriented architecture.

Very much a fore father to books like Phoenix Project mentioned by others here.

<comment><USER11> Having recently listened to The Goal on Audible, it may be worth noting that it has multiple voice actors as well as ambient background sounds. Definitely adds some color to an already impressive novel.

</comment></comment><comment><USER12> "Organon" and "Metaphysics" by Aristotle. I've found that the more I think in Aristotelian terms, the easier it is to design and model my systems.

<comment><USER13> Really!? My undergraduate degree was in philosophy. I spent a lot of time studying Aristotle's "Metaphysics" (which isn't about metaphysics). How does it apply to software development?

Nichomachean Ethics are very helpful.

But don't read Aristotle's actual work unless you have a philosophy background. Way too dense and complicated.

Try "Aristotle For Everyone" by Mortimer J. Adler, and then "Aristotle" by David Ross.

<comment><USER12> System modeling is frequently the task of sorting the universal from particular, the substance from the accidents, etc. This is especially true in the object-oriented world. Functional programming and system integration are essentially answering the questions "what causes this?" and "what ought to cause this?"

I'm not a fan of the Nichomachean Ethics. I'm of the Augustinian school.

</comment></comment></comment><comment><USER14> Software Engineering Daily

Manager Tools

Selfish plug: Launching in 2020 one about working with big data & the challenges that come with it. [https://techatscale.com](https://techatscale.com)

</comment><comment><USER15> Yes!

1\. Masters of Doom 2\. Hackers: Heroes of the Computer Revolution

<comment><USER16> _Stay Awhile and Listen_ is also a very good one in this vein.

<comment><USER2> this looks great! I've been looking for another book. just grabbed it on audible.

</comment></comment></comment><comment><USER17> Zen and the Art of Motorcycle Maintenance.

<comment><USER2> I've read this twice. Enjoyed it both times and have referred frequently back to it. I second this wholeheartedly

Also, random side note, here's an interesting talk given by Ashley Williams on Rust that refers to the book: [https://www.youtube.com/watch?v=Pn-1so- Ibsg](https://www.youtube.com/watch?v=Pn-1so-Ibsg) (Zen and the Art of Convincing Your Company to Use Rust)

</comment></comment><comment><USER18> The Soul of a New Machine was a fascinating listen.

</comment><comment><USER19> There's an audiobook version of "The Design of Everyday Things" by Don Norman.

The book per se doesn't have much to do with programming per se (at least directly), but Norman describes a couple of mechanisms how humans interact with tools and describes some simple formalisms around them. I personally believe that it's a very useful book to have read (or listened to) if you're going to write _any_ software that humans interact with -- be it UI driven or APIs.

</comment><comment><USER20> If you are looking for a quick way to convert an ebook into an audiobook, give us a try:

[https://auditus.cc](https://auditus.cc)

<comment><USER21> I completely understand that you need to start with epub books. But do you have longer term plans to partner with the proprietary ebook providers? There are a lot of older Kindle eBooks without audio versions that I would love to listen to during my commute.

<comment><USER20> We do! Currently we are working with web serial authors to help create narration for their works. Support for azw, mobi formats are coming soon. There is a newsletter box near the bottom. If you subscribe, we will let you know once we launch support for those formats.

</comment></comment></comment><comment><USER22> I've listen to some of these [https://www.manning.com/liveaudio- landing](https://www.manning.com/liveaudio-landing) and there are some glitches like some code snippets not being read. The books were not designed for audio so sometimes it is try but you can learn something.

Some of these (maybe all?) are available on audible as well.

</comment><comment><USER23> This is only tangentially related to your question, but you might enjoy it anyway: [https://creativecommons.org/2008/01/20/doctorow-completes- re...](https://creativecommons.org/2008/01/20/doctorow-completes-reading-of- sterlings-the-hacker-crackdown/)

</comment><comment><USER24> The Pheonix Project and The Unicorn Project are two good audiobooks centred around Devops and Software Development.

</comment><comment><USER25> I enjoyed the audiobook versions (while following along with or having already read the written version) of Grokking Algorithms and Classic Computer Science Problems with Python

</comment><comment><USER26> Creative Selection - Inside Apple's Design Process During the Golden Age of Steve Jobs

[https://www.audible.com/pd/Creative-Selection- Audiobook/B07D...](https://www.audible.com/pd/Creative-Selection- Audiobook/B07D416JT3?pf_rd_p=6a5ce8e4-798e-4a64-8bc5-71dcf66d673f&pf_rd_r=KH9QDTN523GYRG8TE9NN&ref=a_lib_c4_libItem_B07D416JT3)

</comment><comment><USER27> The Unicorn Project, The 7 habits of highly effective people by Stephen Covey, Permanent Record, Turn the ship around, The Checklist Manifesto,

These are good ones!

</comment><comment><USER28> "Notes to a Software Team Leader" \- on Audible, is an older version of my print book "Elastic Leadership": [https://www.audible.com/pd/Notes-to-a- Software-Team-Leader-A...](https://www.audible.com/pd/Notes-to-a-Software- Team-Leader-Audiobook/B078TPYF47)

</comment><comment><USER29> I agree that it's tough to truly grok technical material in purely audio format. With that said, I think you can learn a ton by learning about the history, trends, and other software companies. Here are some of my favorites:

The Dream Machine

Hackers: Heroes of the Computer a Revolution

How the Internet Happened

The Soul of a New Machine

AI Superpowers

Platform Revolution

The Everything Store

</comment><comment><USER30> 1- A sit at the table / Mark Schwartz 2- Influencer 3- Accelerate (devops)

<comment><USER31> Who is the author for Influencer

<comment><USER32> Kerry Patterson

</comment></comment></comment><comment><USER33> Life in Code: A Personal History of Technology, by Ellen Ullman

An autobiography of a developer, and an author, looking back at her life. Narrated by the author. Might not be for everyone, but I really liked it.

</comment><comment><USER34> I would check out [https://www.sumizeit.com](https://www.sumizeit.com). They have great nonfiction book summaries that you can read or listen to.

</comment><comment><USER35> Dreaming In Code by Scott Rosenberg has some relatable war stories.

</comment><comment><USER36> The Phoenix Project

</comment><comment><USER37> The DevOps Handbook and The Phoenix Project

</comment><comment><USER38> Superintelligence by Nick Bostrom. Don't read this before you go to bed though. lolz

</comment><comment><USER39> The Launch Pad: Inside Y Combinator</comment>


Mythology in C++: Exceptions are Expensive - <AUTHOR> http://www.flounder.com/exceptions.htm

<comment><USER2> Using isolated, raw time numbers is meaningless when talking about performance. What you should be talking about is how much time is spent in code RELATIVE to all other code in the critical path. This talk of nanoseconds and how they don't matter over X operations is terribly irresponsible and deceptive.

What we see from the performance tests at the end of the article is that running an empty code block with exception setup/teardown takes twice as long as it would without exceptions. That's bad if this code turns out to be the bottleneck, since you could effectively halve the bottleneck cost by taking exceptions out.

But even then, this is a flawed experiment, because you need to factor in the cost of what you're actually DOING inside of the exception handler (after all, nobody runs an exception handler with nothing in it!). If the exception setup/teardown code only accounts for 1% of the total execution time within it, removing exceptions isn't going to help your performance at all.

Not only that, but you really need to be checking times when exceptions ARE triggered, as well as not. In short, performance testing needs to be done in an environment as close to the real runtime environment as possible, with conditions as similar as possible. Otherwise you could very well be wasting your time.

So are exceptions expensive? Based on the author's own calculations, they can be if you have very little code within your exception handler. And if the exception can be expected to trigger with sufficient frequency, the exception catching code needs to be taken into account as well. So no, the myth is NOT busted, because the fact remains that exceptions can have a very real cost, depending on your usage (and platform!).

As well, the rant on code style at the top of the article is flawed:

"Why is this for(;;) idiom so popular? Not because it makes sense as a syntactic structure."

It's popular because it has been used for so long that it has become an accepted idiom in C (and other C-like languages). It makes no difference how it originated. I've never met anyone who actually believed that for(;;) is faster or slower than while(true).

Same goes for embedding assignments within if statements, the author's personal views on code aesthetics notwithstanding.

<comment><USER3> >> And if the exception can be expected to trigger with sufficient frequency

But if this is the case, it can be said that the exception handler code should be a part of a normal code flow - it's generally wrong to use exception mechanism when it is expected that the code will be executed regularly. Basically, in that case it is not an "exception", but standard branch of execution.

>> you need to factor in the cost of what you're actually DOING inside of the exception handler

Again, the same issue. Exception is not supposed to be triggered that often so this cost will be significant.

<comment><USER2> And yet we see this all the time, even in common libraries. I'd agree that it _shouldn't_ happen, but the cold hard reality is that it _does_ , and with shocking frequency.

And when you're the poor sod who has to figure out why this legacy code you've inherited is so slow, it's common practice to look for bottlenecks such as these and find some way to tame the chaos.

</comment></comment></comment><comment><USER4> I think he missed the point as to why exceptions are expensive. It's not (only) the setup and teardown. It's _mostly_ the throwing of exceptions. Throwing an exception is expensive when compared to returning a status code and checking its value.</comment>


Fluent Terminal – Open-source, native Windows 10 tabbed terminal - <AUTHOR> https://github.com/felixse/FluentTerminal <comment><USER2> The situation for terminal emulators is still bad on Windows.

Those web-based ones have no problems with fancy font features like powerline icons or ligatures but they still have a limitation when it comes to color support. [1] Fluent seems to be affected from this as well.

The other important feature for me is tmux with mouse support. To my knowledge, only WSLtty [2] does this right. It lacks support for font ligatures but I value a functional tmux more than some ligature eye candy.

I still hope that Microsoft will improve their own conhost.exe in further updates. Also, the upcoming 1903 update will improve the color support those web-based terminal emulators.

[1] [https://github.com/zeit/hyper/issues/1968](https://github.com/zeit/hyper/issues/1968)

[2] [https://github.com/mintty/wsltty](https://github.com/mintty/wsltty)

<comment><USER3> I tried out Alacritty [1] yesterday - it seems to work pretty well. It's the only one I've found so far that uses the new ConPty API. It's font rendering doesn't seem quite as nice as conhost though.

[1] - [https://github.com/jwilm/alacritty](https://github.com/jwilm/alacritty)

</comment></comment><comment><USER4> Looking at the source code, this appears to be a UWP wrapper around the xterm JavaScript library loaded in a system web view. It uses a WebSocket connection to facilitate communication between the embedded web environment and the application. I'm not sure how comfortable I am with that from a security standpoint.

<comment><USER5> Sadly I doubt this even comes close to being the most convoluted way to emulate simple technology from the 1970s.

</comment></comment><comment><USER6> Interesting. I'm wondering how it stacks up against ConEmu [1], which has been the MVP of terminal emulators on Windows for a long time now.

[1]: [https://conemu.github.io/](https://conemu.github.io/)

<comment><AUTHOR> I wouldn't call ConEmu the MVP (if you mean most valuable rather than minimum viable) - there's a number of unfixable bugs due to the insistence on Windows XP support.

Breakdown of Windows Terminals

# Top Quality (supports line editing, history, scrollback, copy on select, right click paste, tabs, iterm colors, everything else you'd expect from iTerm2 or gnome-terminal)

\- Fluent Terminal (native, lightweight)

\- Terminus (electron, so heavier, but also excellent and stable)

\- Hyper 3 Canary (electron, in beta as Hyper 2 has serious bugs, but a massive plugin ecosystem)

# Minimal (no tabs but fast and stable)

\- Powershell 6.2's inbuilt terminal

\- Alacritty

# Windows XP apps (UI has everything everywhere, some unfixable bugs)

\- ConsoleZ

\- ConEmu

# Not actually a terminal

\- Cmder

More details, config files: [https://github.com/mikemaccana/powershell- profile#for-a-dece...](https://github.com/mikemaccana/powershell-profile#for- a-decent-tabbed-terminal)

<comment><USER7> > _Fluent Terminal (native, lightweight)_

The very first line of the README:

> _A Terminal Emulator based on UWP and web technologies._

I understand the hate for electron apps and the demand for native. While I do use VSCode as my daily editor, I've also seen some electron apps that definitely don't make the cut.

That said, I don't understand the growing trend of using the native web view and calling it "native". _(Meaning it can 't be ported to other platforms, so it must be native?)_

If you're building it with web technologies, you might as well just go with electron for the more modern browser[1], easier portability, and isolation from browser version changes.

[1]: I haven't looked much at the windows web view since edge came out. I was going to say perhaps this doesn't matter as much if you can select edge, but now that edge is becoming chromium anyway, I suppose the point is moot. Hooray for monocultures I guess.

<comment><USER8> >If you're building it with web technologies, you might as well just go with electron for the more modern browser[1], easier portability, and isolation from browser version changes.

You wont get something that feels like a modern Windows app if you make it with electron, also the app will balloon by 80 meg and portability again isn't an issue if your goal is to make something that feels like a modern Windows app.

I really appreciate the work of the people behind FluentTerminal and honestly had no idea it had web under the hood till I looked at the source because building it on UWP makes it feel like a first class windows app.

</comment></comment></comment></comment><comment><USER9> Is there a good reason why running this requires you to install a certificate authority?

I get that this might be because of software signing requirements on Windows, but in that case you should bundle a script that generates+signs the build using a local certificate instead of loading a random CA into the system trust source.

<comment><USER10> UWP apps are signed. To sideload, you either need to enable developer mode (allow installing untrusted app signatures), OR install the signing CA (but don't enable developer mode).

Your proposed individual CA model does seem like an improvement for that route, but I just enable developer mode.

<comment><USER9> Interesting. If turning on developer options also allows you to run unsigned software, I don't see any advantages at all for installing this random certificate authority. Thank you for your explanation.

<comment><USER11> It would mean you don't trust some other certificate authority implicitly. That's the advantage. It's nice to have that choice.

</comment></comment></comment></comment><comment><USER12> When I'm forced to use Windows (which is pretty much just at work), I run an X server through Cygwin then use URxvt with GNU screen. I haven't found a Windows console application that doesn't play nicely with this when run through winpty, so for me it's the best of both worlds. I have used ConEmu and Cmndr, but I found them both to be nowhere near as reliable as my current setup (much like how WSL still can't touch Cygwin for my use case).

<comment><USER13> But the X server is annoying too, because for some reason setting -dpi doesn't work for me, and the fonts render like crap. If I set fonts really small they aren't as bad.

I just use PuTTY into a local or remote sshd as it's the least bad of everything I've tried so far. Wish it supported tabs natively tho.

If this thing supports mouse, copy-paste, good fonts, and doesn't steal or disable any of my key mapping, I'll take it

</comment></comment><comment><USER14> What's the reason behind using "web tech" if you're already comfortable with C#/UWP?

<comment><USER15> Author here. The main reason is that I already had some experience with 'hybrid' approaches and xterm.js made it possible to build something usable without spending too much time writing a vt parser. I'm planning to start working on a 'native' renderer next to get rid of some limitations and also improve the performance.

</comment></comment><comment><USER16> Interesting. I have been using ConEmu for a very long time and every time I try something new I always end up going back to ConEmu... and I have tried many others such as Hyper, MobaXTerm, Terminus and others which names have fled the hallways of my mind. I will give this one a try. I am also going to try out cmder which I hear is built upon ConEmu.

<comment><USER17> I've been using Cmder for years, and wouldn't use anything else - it is indeed built on top of ConEmu.

<comment><USER18> Cmder is great. However, I haven't had much luck with using it to ssh into a docker container (docker for windows). Arrow keys, etc don't work.

</comment></comment></comment><comment><USER19> I'm a Mac user. But I wish the project the best of luck!!! The proliferation of powerful terminals on all platforms is a blessing for all devs!

</comment><comment><USER20> MS could buy/employ conemu guys and close the question forever.

<comment><AUTHOR> They were going to have tabs in native terminal (which is otherwise pretty good asides from this) via Sets until that feature was cancelled. Hopefully Rich etc has a backup plan.

<comment><USER21> Sets have not been canceled.

</comment></comment></comment><comment><USER22> Last time I used Windows 15 years ago I used teraterm. The project seems to be alive and doing well

[https://ttssh2.osdn.jp/](https://ttssh2.osdn.jp/)

<comment><USER23> That requires you to have ssh server running if you to use it with WSL. You can't use it as the frontend to powershell or cmd.

That said: yes, it's alive and well. I'm using it at work, mostly because that's what everyone else in the office is using (in Japan)

</comment></comment><comment><USER24> Great stuff! Thank you. Would be great if shift would highlight text (I constantly use that in CMD to copy text).

</comment><comment><USER25> My entire workstation is an Ubuntu VM hosted at my office. I just need a simple SSH client that works well on Win10. Nothing has been as good as the chrome extension Secure Shell. I've used conemu, putty, mobaxterm, and countless others. But I always come back to secure shell. I hope this one is good enough to replace that because I just want to get rid of chrome.

<comment><USER3> Have you tried the Win32 build of OpenSSH in box in Windows?

</comment></comment><comment><USER26> I was expecting some Electron crap. I was pleasantly surprised.</comment>


A new way to remove ice buildup without power or chemicals - <AUTHOR> http://news.mit.edu/2018/remove-ice-buildup-airplanes-wind-turbines-solar-power-0831 <comment><USER2> > without power

Not entirely true, it still needs heat from the Sun, or in cases where the Sun isn't shining (night, or overcast[?]):

> It can even do its de-icing work at night, using artificial lighting.

Lights that put out as much power per square meter as the Sun, over as much area as a commercial aircraft, are not going to be light on power requirements. The article does not actually specify how much light is required to melt the thin film of ice at the boundary.</comment>


Review my startup: Budzee.com - <AUTHOR>

Hi all, Budzee is a Q&A platform where you get referrals and recommendations for almost anything in life (think of it as Quora for products and services).
When you help others on Budzee, you earn points based on how helpful you are.  You can then redeem these points for awesome stuff (this part is under construction).
Come take a look at http://www.budzee.com.  Appreciate any feedback, thanks.
- Z <comment><USER2> Clickable - [http://www.budzee.com/](http://www.budzee.com/)

</comment><comment><USER3> Sounds interesting, but I don't have a FB account.

<comment><USER4> I plus one this, (happen to have a google plus account)

<comment><USER5> i have one ... but dont want to signin with that :)</comment></comment></comment>


Why Normalization Failed to Become the Ultimate Guide for Database Designers? - <AUTHOR> http://lambda-the-ultimate.org/node/3762 <comment><USER3> Reaching the perfect database schema is only possible if you have static requirements. Out here in the real world, things change, and the more normalized your database model is, the harder it is to change that to reflect your new business needs.

Another opposing force is real-world performance. In most cases we're fine with a non-perfect model, we're fine with duplicated data, and we're fine with inconsistent data, because the problems they cause are much easier to deal with than performance bottlenecks. Having a slow frontpage because getting your inventory list requires a five-way join is gonna put you out of business really, really fast.

<comment><USER4> In my experience it is easier to change a normalized scheme then a non- normalized. The redundancy and integrity issues of non-normalized schemas are really difficult to deal with when the schema has to evolve due to changing business needs. I have certainly never observed that un-normalized data should make it _easier_ to evolve a schema - can you provide an example of when this would be the case?

Regarding performance optimization, I think it is valuable to distinguish between the logical model and the physical model. Any kind of caching is a kind of redundancy, but that is not a problem if the database engine guarantees the integrity of the logical model. Relational database engines provides ways to optimize the physical storage and querying of data without compromising the logical model. For example materialized views can provide the same kind of optimization as a denormalized table in the 5-way join case - <USER2> without the integrity issues.

</comment></comment><comment><USER5> Whenever Z-Bo writes I feel like there is a thought there, screaming to get out, but muffled by a blanket of words. I wish he would be more concise.

<comment><USER6> I got the sense that he didn't grasp the point of Kent's paper (c.f. his remark regarding "N+1 schema"). I personally agree with Kent's view regarding the necessity for yet another (but final) abstraction _layer_ to decouple semantic and logical abstractions. At some point in the future DSLs and Schemas will meet in a happy union to achieve this.

<comment><USER7> To quote one of the first engineers I ever worked with: "all problems can be solved with an additional layer of abstraction. _"

_ except performance problems, of course.

<comment><USER8> "except performance problems, of course."

Well, in some ways, even those can be solved with abstraction. The key is where that abstraction layer is placed. :) The assumption is you add them "on top" of what came before; but if you go in the other direction you may be able to improve performance by implementing, say, a smarter CPU with higher level abstractions built into the silicon. Things like that.

<comment><USER4> High level languages is also an example. C is really an abstraction layer upon machine code, but in most cases compilers produce faster code than what you would do if you wrote assembler. So C is an abstraction layer that helps you improve performance.

</comment></comment></comment></comment></comment><comment><USER9> I didn't see a lot of insight here, but I upvoted it anyway for at least dealing with some of the trickier issues of programming.

If you think of programming in mathematical terms, it's almost like you're the polar opposite of the pragmatic practitioner. This whole idea of a perfect form is inane. Relational set theory gives us conceptual ways of talking about constructs. It's a tool, not a way of life. Somebody build a bad relational model? Well -- what do you mean by "bad"? Did the resulting code achieve the goals set at the beginning?

And when I got to the point in the abstract where it said no books had shown how to use it well, I was ready to bail out. I'm not sure what books the author has been reading. The ones I've seen have practical real-world examples of normalization all through them.

</comment><comment><USER10> I wonder if it's possible to have some sort of controlled de-normalization. Like, the ability to create a read-only column whose values mimic that of a column in some other table. A "view column" if you will.

I would definitely opt for that as a "real-world" practice.

</comment><comment><USER11> Joins don't scale.

</comment><comment><USER12> There need not be any relationship between the schema, which is purely logical, and how it is implemented. In practice, there is, but why this is still the case is baffling.

</comment><comment><USER13> Let me guess twitter's bigtable:

        - id, nick, mail, pwd, time, mytwithere
        - id, nick, mail, pwd, time, anothertwithere
        - id, nick, mail, pwd, time, mythirdtwithere
        - id, nick, mail, pwd, time, mylasttwithere

hmm, no, that won't work

normalization still wins</comment>


Copying is Stealing - <AUTHOR> http://www.linuxtoday.com/infrastructure/2010070203035OPLL

<comment><USER2> When they say "all FOSS is based on copyright" they're right, but that doesn't mean FOSS doesn't work without copyright. Copyleft wouldn't work, but the spirit of the BSD would definitely be possible.

Isn't the real point of FOSS that we can all benefit by contributing to common systems everyone can draw on? Using coercion to disallow use of any kind goes against that philosophy.

How many countless closed-source companies do we rely on daily that would be nice to make cheaper by FOSS project code? Every consumer good with a chip in it, a lot of infrastructure, etc. By preventing distribution we lower the impact of our code.

It looks like a lot of these distribution restrictions are purely ego driven.</comment>


Assembler for Nvidia  Maxwell architecture - <AUTHOR> https://github.com/NervanaSystems/maxas <comment><USER2> I once found the ISA[1] for the CUDA GPUs, and always kind of assumed Nvidia provided you with an assembler. However, given that GPGPU programming is not anything close to my line of work, I never had the chance of checking my assumption.

Its amazing that he took the time to make an assembler. Also, I'm left wondering how much performance he tan gain from his tool compared to the Nvidia supplied toolchain.

[1] [http://docs.nvidia.com/cuda/parallel-thread- execution/](http://docs.nvidia.com/cuda/parallel-thread-execution/)

<comment><USER3> PTX is a virtual ISA that is not the same as the machine code that runs on the device.

In his Introduction[1] wiki page, he says that he studied sgemm implementations and came to the conclusion that NVidia is not using PTX, but an assembler for the real ISA which is not distributed to developers. He claims that his sgemm implementation is almost 5% faster than NVidia's and its faster than anything that can be done in PTX.

[1] [https://github.com/NervanaSystems/maxas/wiki/Introduction](https://github.com/NervanaSystems/maxas/wiki/Introduction)

<comment><USER4> Looking at some of the details in [https://github.com/NervanaSystems/maxas/wiki/Control- Codes](https://github.com/NervanaSystems/maxas/wiki/Control-Codes) reminds me somewhat of the Itanium: a very wide architecture that is capable of high throughput for specialised applications, but requires a lot of software-level support to even work correctly (e.g. consider dependencies.) The fact that it's not well-documented is another similarity.

It would be great if nVidia released more documentation, because chances are developers could squeeze even more performance out of their hardware that way.

<comment><USER2> From what I understand, currently almost all GPU architectures* are some variant of VLIW, with some "tricks" to get the processing cores to work with high efficiency (that is, use all the cores available for a given task).

A few years ago Michael Abrash wrote a wonderful article[1] on the Larrabee project, by Intel, which ultimately resulted not on a graphics card, as he intended, but on a "processing card"[2][3]. Of course, anything you read by Abrash in that topic will be more than interesting.

* Intel HD GPUs may or may no be VLIW, I have never been able to find detailed specs of their architecture.

[1] [http://www.drdobbs.com/parallel/a-first-look-at-the- larrabee...](http://www.drdobbs.com/parallel/a-first-look-at-the-larrabee-new- instruc/216402188)

[2] [http://en.wikipedia.org/wiki/Larrabee_%28microarchitecture%2...](http://en.wikipedia.org/wiki/Larrabee_%28microarchitecture%29)

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

<comment><USER5> I was about to say "not really, the only current VLIW GPUs are ARM's Mali" but after reading more of the documentation I guess you're kind of right... Maxwell requires explicitly encoding when to dual-issue instructions, which is basically the defining feature of VLIW.

That said, VLIW is designed/intended for architectures that are highly superscalar within a single thread of execution. GPUs have eschewed that model in favor of simply executing more threads. So a better (simplistic) model of viewing modern GPUs is "AVX-1024 with massive hyperthreading"

<comment><USER2> And with that cue, you gave me room to place another article by Michael Abrash on the Larrabee architecture (which is pretty much what you thought as a model): [http://www.drdobbs.com/parallel/rasterization-on- larrabee/21...](http://www.drdobbs.com/parallel/rasterization-on- larrabee/217200602)

This thread has been wonderful for reading all this amazing things about different architectures, hardware and software, but I should get working. I leave with a lot more to read the following weekend! :)

</comment></comment></comment></comment></comment></comment><comment><USER6> In case anyone is wondering, "Maxwell" is Nvidia's current shipping GPU microarchitecture: [https://en.wikipedia.org/wiki/Maxwell_%28microarchitecture%2...](https://en.wikipedia.org/wiki/Maxwell_%28microarchitecture%29)

</comment><comment><USER7> Good work.</comment>