Front-End Walkthrough: Building a Single Page Application from Scratch - <AUTHOR> https://blog.poki.com/front-end-walkthrough-building-a-single-page-application-from-scratch-d47c35fdc830 <comment><USER2> "We knew we wanted to build a single page application (SPA) in order to have more control over the user experience of our website, making it as smooth as possible. On top of this, it also helps speed our website up since there's no longer a need for full page reloads. We only need to load the data that we don't have yet, and then re-render the page."

I'm bothered by this perception that SPAs inherently provide a better user experience. They certainly can provide a different user experience, but "better" is entirely up to the developers. I'd argue its actually quite hard to create a better UX in an SPA than the simple page based UX metaphor everyone is used to that the browser provides. Netflix is an example of a great UX from an SPA, nba leaguepass is an example of a disaster SPA.

Also there is no inherent speed boost from an SPA. Anything that is slow on the server will still be slow, and its up to the developer to create a good UX for latency. In page driven applications, the browser provides a fairly standard UX for page loading that most people are used to. In SPA apps, the developer needs to roll this themselves. Widgets popping in all over the place at different times, moving things all over the page, is a common UX I see in SPAs that is not good.

<comment><USER3> > "Also there is no inherent speed boost from an SPA"

There is: superior caching & resource management. Even if your non-SPA perfectly caches resources (impossible with bundling), you are still wasting time on parsing/compiling/executing cached scripts on every page reload, which can take up to a few seconds on smartphones.

<comment><USER4> In theory yes, and if you only aim your site at flagship smart phone owners.

In my experience in Latin America with 50-150$ Android phones, very few developers/managers in the "western world" actually care about their SPAs performance and in about 9/10 cases the simple backend rendered sites provide a better experience for me.

edit: Of course there also plenty of devs that add a ton of inperformant js to their backend rendered sites, destroying the experience.

</comment></comment></comment><comment><USER5> Alan Kay was right, programming is pop culture.

It's increasingly harder to find non-legacy single page apps that aren't using React or Angular (Vue and Ember are distantly trailing behind). Corollary: it's increasingly harder to find jobs for anything other than React or Angular.

After technology du jour becomes popular, people will use it not because it's good or even necessary, but because it will ensure their employment. And then the rationalizations sink in afterwards.

<comment><USER6> Hard to find? How about the wast majority of apps don't use react or angular. Seriously, let's get out of the echo chamber that is HN.

<comment><USER5> Sorry, I should have qualified it as Single Page Applications, not web apps in general. Still, hard to find a front-end job that isn't about SPA anyways.

<comment><USER7> If you're going to make a SPA, why the heck wouldn't you use one of the frameworks that has tons of tutorials, walkthroughs, supporting libraries, and a zillion asked and answered questions on SO? In other words why not use one of the top 5 frameworks of the current time? It seems efficient to do so to me.

<comment><USER5> It's expedient for many reasons to use a major framework, but it doesn't mean there are no drawbacks.

There are learning curves, inner platform effect (have to do the framework way of doing things), major breaking changes and outdated information, opinionated authors you may not agree with, huge dependencies for users to download, performance bottlenecks and gotchas arising from not using the framework properly or even the framework itself is slow. These things are basically guaranteed.

</comment></comment></comment></comment></comment><comment><USER8> This seems like a great writeup with some good information in it.

But to be picky, the title needs work. It isn't as describe. In fact it contradicts itself.

The title is:

> Front-end Walkthrough: Building a Single Page Application from Scratch

Half way down the article:

> When it comes to building a SPA, you can either do things from scratch or > use a library to help you out. Building from scratch is a lot of work and > adds a lot of new decisions to be made, so we decided to go with a > framework.

I would be very interested to see an article in 2017 that is actually from scratch. Bonus points for not using a ES6 transpiler. Like "Linux from Scratch" (the book)... useless from a practical standpoint but awesome from a learning standpoint.

Edit: as a side note, when I started making web apps, jQuery was still in beta so I didn't even use it. A lot has changed, obviously, for one SPA didn't really exist then.

<comment><USER9> The title was editorliazed by the poster, the orginal articles title does not contain "from scratch":

> Front-end Walkthrough: Designing a Single Page Application Architecture

> We documented our journey towards a shiny new stack.

<comment><USER8> > The title was editorliazed by the poster, the orginal articles title does > not contain "from scratch":

I actually copied and pasted my quote from the article title not the HN title. They were the same but they changed the article title (maybe after seeing my comment?). Which is completely OK, it's a good change.

</comment></comment></comment><comment><USER10> I want to point out that it works perfectly fine making a JavaScript web app in just vanilla JavaScript using NodeJS as server and the browser as client. You do not need any frameworks!! Vanilla JavaScript works for both small projects and big projects. And it performs well! (at least compared to the popular frameworks) and it's very nice to debug! There is no complication step! And your code will be supported _for ever_ unlike the framework's that will make your code obsolete within a year or so.

<comment><USER11> "And your code will be supported for ever unlike the framework's that will make your code obsolete within a year or so."

This is a confusing assertion. How does using a framework make your software unsupported in ways that not using a framework would not? i.e. if I build an application, whether I use a framework or not, and then I stop touching it, forever, why is the non-framework code more resilient to not breaking in the future?

The framework will keep evolving, but you're under no obligation to upgrade, if you don't need to keep developing. It seems silly to complain about the code you didn't have to write.

There are trade offs when using existing software to do things you want to do, sure. But, you get the core web app functionality you needed to implement, anyway, and it's been tested by a lot more developers than your code likely ever will be. In fact, I'd argue compatibility with a framework will be better than implementing it yourself, assuming you cover the same amount of functionality in each app; again, because of the heavier testing a widely used framework gets.

<comment><USER12> The devil is in the details. From experience, upgrading framework code is time-consuming. It's mainly because frameworks have a layer of architecture that you app needs to adhere to. When the architecture changes, so must the app.

When you roll your own, that is a non-issue. You can switch out libraries as you wish. I have made several major refactorings on my client's app with significantly less pain than it took to upgrade my previous clients' framework-based (i.e. Rails, angular) codebases.

When you roll your own, you can wait until libraries mature, or you can choose to use snippets of the essential code (thereby avoiding bloat).

I utilize patterns that minimize structural architecture, by utilizing dependency injection, es6 modules, promises, async/await, factory methods, agents with events. I avoid classes by utilizing factory methods.

[http://www.briantakita.com/posts/sveltejs-from- riotjs/](http://www.briantakita.com/posts/sveltejs-from-riotjs/)

<comment><USER11> "When you roll your own, that is a non-issue."

I don't see how it can be. You've got to build and maintain it yourself now, instead of relying on a huge community of volunteers. If you're OK maintaining the entirety of the view layer framework (or whatever) yourself, where's the harm in starting from a known-good state? If you don't want to upgrade but want to add new features to the framework you picked, you can fork it and do that.

Now, if you don't _like_ a given framework, having a framework is a loss because it'll suck to work on. I've seen this a ton. But, that's not the same problem and one that can be avoided by doing an extra day or two of due diligence and building a simple app before settling on your favorite. I dunno about you, but I've built libraries that I decided I hated after I was done with them. Sometimes, I rewrote them after I figured out why I was originally wrong about what I like, and sometimes I spent more time finding an appropriate replacement that somebody else made (this is usually the better choice).

</comment></comment></comment></comment><comment><USER13> yet another web framework medium article with a misleading angular vs react comparison.

it isn't angular 2 anymore. it's just angular. it's been out for over a year and if people were having problems running it in production, we would hear about it. there are many sites running angular 2-4 in production, google it and see for yourself. just because google didn't rewrite gmail in angular doesn't mean you shouldn't use it.

I wonder if there is some highly ranked google search result that spreads this misinformation, months after some of these points were valid.

<comment><USER14> The pop culture cuts both ways it seems.

<comment><USER13> Every framework is going to have flaws, but if you perform a comparison I think there's a responsibility to accurately represent the frameworks being compared.

</comment></comment></comment><comment><USER15> Recommendation for poki, make it easier to reach your website from your blog.

When I go to blog.poki.com, if I like what I read I typically delete "blog." to checkout what "poki.com" is about -- which should be the purpose of blogging. In this case it doesn't work, and I had to manually type "www.".

<comment><USER16> Rather than relying on URL rewriting by the reader (and, thus, specific URL relationships), it would be better just to put a prominent link to the (www.)poki.com website from the blog.

Relying on manual URL rewriting to navigate to a related page is missing the entire point of the web.

<comment><USER15> I guess both will be useful - not having http(s)://poki.com configured seems also missing the point of the web :)

</comment></comment></comment><comment><USER17> Most of the issues cited with Angular and React aren't really issues in EmberJS right now. I always find it interesting that so many people jump right into frameworks that have design philosophies against maintainability.

<comment><USER18> The problem with Ember is that finding developers is a lot harder so nobody will use it. I'm not saying it's bad, but if I would start a company now and had to do a SPA (hopefully not) it would definitely be either React or Angular just because finding developers would be easier.

</comment></comment><comment><USER19> I am doing SPA with vuejs and django backend, its a huge step in the right direction as far as (my) web development goes. Initially I was sceptical of webpack, now I see what an asset it is in compiling static content and many other handy features. I prefer vuejs to react or angular but I haven't really given them much time, maybe one day

<comment><USER20> This is a debate that can be done to death (which is good, that's how these frameworks improve), but as someone that's used backbone/marionette, angular, and react react/redux, I can say the day I found the Vue docs was like a reawakening. I don't mean to get poetic, but I genuinely had a sense of "holy shit, _this_ is what docs should look like!" I only got more and more excited as I read through and learned more about it.

Vue is fucking awesome. I'm just now learning it and I can't wait to build something more serious than a todo app with it.

<comment><USER19> I haven't yet met a developer that doesn't like vue

<comment><USER21> I have. I once worked at a shop that tried to rebuild all of its web sites as SPA's with Vue. Four devs, two with deep JS experience, and it was a complete disaster. Vue isn't ready for enterprise, and the documentation is a joke.

I don't work there anymore, but looking at the sites now, I can see the old ones are still online — TEN months later, no sign of Vue.

<comment><USER20> Woah, so looks like we disagree completely.

Why don't you like the docs? I love how it has a great introduction guide[1] that really dives deep into the hows and whys, but also has a full API guide when you just gotta know one specific thing [2].

[1]([https://vuejs.org](https://vuejs.org))

[2]([https://vuejs.org/v2/api/](https://vuejs.org/v2/api/))</comment></comment></comment></comment></comment>


Three Delusions: Paper Wealth, a Booming Economy, and Bitcoin - <AUTHOR> https://www.hussmanfunds.com/comment/mmc171218/ <comment><USER2> This guy expects a market loss of about -65%, which would send the S&P 500 back down to 900. He also expects negative total returns over the next 12 years.

Of course, his _Strategic Growth Fund_ has not only underperformed its benchmark (the S&P 500 index), the fund actually has negative returns over the past 1, 3, 5, and 10 year periods[1].

Losing money in this market is a truly remarkable feat.

[1]: [https://www.hussmanfunds.com/strategic-growth- fund/](https://www.hussmanfunds.com/strategic-growth-fund/)

<comment><USER3> This company has ~$750mm under management, and has several funds that manage to have both a) high expense ratios and b) horrible performance over the short and long terms.

Serious question, for those who work in finance: how do companies like this stay in business? Shouldn't the transparency of their poor performance have long since driven them out of business?

Semi-serious question, also for those who work in finance: what are the barriers to entry to starting funds for those of us who could do better than this guy?

Edit: I'm also stunned that anyone running any kind of "growth" fund could manage to lose money the last few years.

<comment><USER4> Funds like this tend to outperform in bad to normal markets and underperform in highly bullish markets as they have more discipline around valuation. Warren Buffett famously underperforms in very bullish markets as well

The pitch of funds like this is that for a few years out of 10, they'll underperform, and then massively outperform when everyone else is sucking. People invest in funds like this (note I don't know too much about his fund in particular but know many funds with similar styles) because when all the people who think they are expert investors bc they rode a bull market crash, these funds will be making lots of money

<comment><USER5> But it didn't outperform in 2008. At least not by much.

<comment><USER6> Losing 9% instead of 37% is quite some outperformance. Let's say you started with $100: ending with $91 is 44% more than ending with $63.

</comment></comment></comment></comment></comment><comment><USER7> I believe the man is essentially saying that past performance does not indicate future performance. Ironically, most of the comments here are saying he is wrong, because of his past performance.

Can we instead talk about his specific points and why they are wrong instead of just focusing on his past performance?

Also, it looks to me that his performance was good during the great recession. So if another recession is coming, shouldn't the critics here be flocking to him? Or is everyone stuck in the current bull market feedback loop?

<comment><USER8> Seeing as the market always recovers and then some, you are going to need to make very, very good returns in the downturns to make up for all the list potential on the upside.

In other words, the overall return of the markets over their entire lifetime is positive, not negative.

It would be great to ride the bull and then switch to the bear in a down market. But that would require timing the market.

<comment><USER9> The market always recovers? Japan must not have gotten the memo. Or is the U.S. too special to ever have the same problems as Japan?

<comment><USER8> By "the market", I was referring to the US Markets. We have a few hundred years of history of always recovering. Japan is the special case though. Small and landlocked, rather xenophobic with an aging population. Things that could happen in the US, but the US is just a completely different, and much larger animal.

</comment></comment></comment></comment><comment><USER10> I look beyond the "there's a crash coming" sentiment. In that opinion, he is like all other pundits yammering on CNBC: entertaining rather than enlightening.

What I like about his article is the insight — new to me — about the nature of paper wealth vs real wealth. He described it in a way that is useful and enlightening to me. The assertion that a security (stock, bond) is not an addition to net wealth — just a zero sum transfer between individuals over time — is a provocative statement that I will ponder for some time.

<comment><USER11> Trade is a wealth creation mechanism, because different people assign different values to things. When a baker exchanges some loaves of bread with a carpenter for a table, wealth is created: they're both rational actors who know that the thing they're getting is worth more (to them) than the thing they're giving away. The same is true when the baker sells bread for money. The same is true when they issue a bond for their baking business. Of course the bond just moves money around, but a lot of wealth creation consists of moving things around rather than directly building a physical thing.

<comment><USER12> Correct, but the article specifically referred to securities as zero-sum transfers. A security is linked to something that has value, and exchanging the security doesn't alter the value of what the security is linked to.

<comment><USER11> A particular stream of payments with a particular risk profile is an asset that has different (present) value to different entities like any other.

<comment><USER13> I may not be using the proper terminology here, but would I be correct in restating this as:

The underlying value of the asset is just one component, but the vehicle the asset is traded through can change that value equation by adding or removing its own value.

<comment><USER11> No, I don't think that's correct. A security doesn't have its own value independently of the payment stream it represents, any more than the deed to a house has its own value independently of the house. But the same payment stream (or house) might be of different value to different people, so buying or selling it can create wealth.

<comment><USER13> So the risk and form that the payment stream takes (ie. bond coupons are different from rental property income) might both be $100 for example, but if someone is overindexed in real estate in their portfolio, there may be more value to them in the bond?

<comment><USER11> Yeah. A risk profile isn't just a percentage, it's also a question of what it's correlated with.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Understanding Bitcoin is hard. Here is a response to some of the criticism:

> Every time a block is validated, a single node in the network gets a reward, > and everyone else's computing time is completely wasted.

This is a misunderstanding of what PoW is [http://www.truthcoin.info/blog/pow- cheapest/](http://www.truthcoin.info/blog/pow-cheapest/)

> The system already features a rather steep cost per transaction, and hardly > any of those transactions are for the purchase of goods and services

Second-layer scaling allows an arbitrary number of off-chain transactions based for a single on-chain transaction. See [https://lightning.network](https://lightning.network)

<comment><USER15> >> Every time a block is validated, a single node in the network gets a reward, and everyone else's computing time is completely wasted.

>This is a misunderstanding of what PoW is [http://www.truthcoin.info/blog/pow- cheapest/](http://www.truthcoin.info/blog/pow-cheapest/)

Honest question: I tried to find the problem with that view in the link you provided, but couldn't. Can you explain it to others who may share the same belief? I think that's what the Bitcoin white paper describes, but could be mistaken.

<comment><USER14> You need opportunity cost in order to secure the network. Without that, there is no incentive to keep the network secure. There is no cheaper solution to solve this problem, therefore there is no waste.

<comment><USER16> "Bitcoin is inherently wasteful, therefore it's not wasteful." What?

<comment><USER17> Welcome to Bitcoin advocate logic. Clearly using more energy than a moderate sized european country in order to process 3 or 4 transactions per second isn't wasteful. Right?

I mean in absolute numbers, says the bitcoin advocate, the fiat banking system has to use more, right?....

....nevermind the fact they do something that is not driven by pure speculation and do it at thousands of times larger scales.

Bitcoin -- the perfect intersection of people who don't understand finance, economics, computer science, scaling, politics, socio-economics, or math.

PS: People only quote Bitcoin's energy use and often times they leave out things like air conditioning. Nobody seems to sum up the total energy required to power the entirety of the crypto "space" including Ethereum, Litecoin, etc.

<comment><USER18> Yes our financial system isn't based on speculation. Good one

</comment></comment></comment></comment></comment></comment><comment><USER19> I find myself in agreement with most of the author's statements, especially regarding bitcoin and paper wealth.

I also like the following statement -- "If our policy makers are interested in boosting long-term structural U.S. GDP growth, they should be providing direct and targeted tax incentives for real investment, education, research & development, and other factors that could, over time, increase our nation's productive capacity."

Too bad our political system no longer has that capability, if it ever did. It seems tax incentives find their way to the most powerful factions instead of the most productive ends.

Real Investment - too many parasitic factors. Education - too many parasitic factors. R&D - too many parasitic factors.

<comment><USER11> Education is in a bubble of its own at the moment, partly because it's fun out of proportion to its economic value. We're churning out PhDs who then have nothing to do. "Innovation" tax incentives reward companies for registering patents, but if patents ever did reflect innovation that's long since fallen to Goodhart's law.

Infrastructure investment is usually a good idea; so is direct government funding of real research, the kind that NIH or DARPA put out. But if, as the article claims, the biggest issue is the number of people in the labour force, then the best way to improve growth would be to ensure more people can participate in the labour force. That means encouraging things like public transport and flexible working hours, and finding a way to square our current approach to unemployment and medical insurance with the so-called gig economy (i.e. people working multiple part-time jobs). That would be win-win, and is unquestionably the government's area of responsibility.

</comment></comment><comment><USER20> The economy is just a mechanism to have a predictable environment in which to raise children.

<comment><USER21> The most striking moment to me in my IPE class was when the professor, after we'd covered how governments and, in democracies (by proxy), We the People, bring modern economies into being and choose, to some degree (other governments and a variety of natural factors have more than a little say), the shape they'll take, innocently asked, "so, why have an economy?"

Yours is a better answer than what any of us came up with at the time.

<comment><USER22> Every society has to have some kind of apportionment and exchange of resources, which might be called an economy, so I find the question strange.

</comment></comment></comment><comment><USER23> Fund managers are just scammers - plain and simple. He loses his clients money, he makes money. He earns his clients money, he makes more money. Either way he wins. It's all sales and bullshit.

Source: worked at a hedge fund

</comment><comment><USER24> There is a lot to dissect but I would focus on labor force. Our labor force used to be all human labor. Now it includes a large number of bots, both physical and software, that take care of business. The (output = labor . x) doesn't work anymore.

<comment><USER25> Great. But that begs for more questions. Money is a unit of trade between humans for getting something from the other human in exchange for your money. If an entire class of humans is no longer needed, how will they receive money to pay for what they need? How much is your legal tender worth when large swaths of the country whose denomination you claim your wealth from are no longer "part of the economy"?

Not that I have answers to these questions. But we do live in interesting times.

<comment><USER26> I believe these questions are exactly what is driving the current crisis. Let's not be confused here. People getting more rich, and prices rising doesn't mean we don't have a crisis.

The problem is that nobody knows yet, what this world will look like, where the formula value = number_of_people * output_per_person holds true. So where to put all the capital, power, and information wealth that one has created in a system based on that formula? So everything that gives the impression it may make it over the leap into the next system, start-ups, new currency, tech gimmicks, gives some of the people hope that they have finally found something that will protect them and bring them into a good position for the next cycle of politcal evolution.

Truth though is, there are no systems that hold forever, or which could predict something which is not part of their system. There is only flexibility, intelligence, and a few tricks that sometimes work. E.g. making fire will probably the same, even if capitalism has ended. A useful trick to surivive cold and food-sickness. Also the ability to build trust relationships may survive as long as humanity survives. But few of these really enable one to continue living in the luxuries wealthy people are used to.

</comment></comment></comment><comment><USER27> His chart "Nonfarm business sector: Real output per person" shows a notable _slowing_ of the growth rate of per-capita productivity, consistently, over the last 70 years.

I was under the impression that the opposite has occurred - we've achieved mind-boggling amounts of per-person productivity, and rapid rates of growth in productivity, fueled by advances in automation and communication technologies.

Is this chart wrong? Is my impression opposite to reality?

<comment><USER28> I'd say yes, your impression is wrong, but you're not alone.

Productivity growth in the 50s and 60s was consistently higher than it is now. Then it did slow down while IT was taking off, which is known and studied as the _productivity paradox_ [1]: "Academic studies of aggregate U.S. data from the 1970s and 1980s failed to find evidence that IT significantly increased overall productivity."

There are many attempts to explain it, including

* lag: productivity started to pick up in the 90's (which you can see in Hussman's graph, but it's fallen back now...)

* "hedonistic" improvements: IT makes many things better, but they do not show up in GDP measurements

Bottom line, though, that arguably earlier technical advances (electricity & machinery, assembly lines & mass production, etc.) had much bigger impact than yet another Tinder for dogs.

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

</comment></comment><comment><USER29> The writer makes a few good points -- I liked his quoted selection "Faced with extreme valuations, the first impulse of investors..."

However, I think there is a fundamental flaw in his analysis -- specifically when he makes this a majority foundation of his point:

"Every security is an asset to the holder, and an equivalent liability to the issuer."

That's not true right? A few moments reflection makes me think of stocks -- which are equity, not a asset nor liability. [1]

What do you guys think? That point seemed to be a big part of his analysis, right?

[1] [https://www.quora.com/What-makes-a-common-stock-an-asset- or-...](https://www.quora.com/What-makes-a-common-stock-an-asset-or-a- liability)

<comment><USER30> Companies issue shares. These shares are listed as a liability on the company's balance sheet. Each share represents a liability to the company because it entitle its holder to a share of any dividends paid by the company.

The intrinsic value of a share is the net present value of this future stream of dividend payments, not its current market price. OP's point is that the market price of a share can be significantly above its intrinsic value in periods of irrational exuberance, such as now, creating "paper wealth" that doesn't really exist and which will evaporate when the speculators head for the exit.

<comment><USER31> The present value of future dividends is highly dependent on the terminal state of the company, and the future of the economy. So I don't find wild fluctuations in stock prices to be _proof_ that the market is inefficient or over/undervalued because the far future is very uncertain.

Every stock chart is an invitation to assume false precision, because unlike a scientific measurement there is no explicit +/\- range. But the true value _must_ have a range of uncertainty, and it can easily be many orders of magnitude.

Also, every time I see the phrase "irrational exuberance" I am reminded that while there _was_ a bubble in the late 90s, at the time Greenspan famously was worrying about the market in public, the Dow was around 5,000 or so IIRC, a _long_ time before the peak.

<comment><USER29> Wait till you see how much more money is in the world's money supply since 2001, thanks to derivatives [1].

[1] [https://pavlok.com/moneysupply](https://pavlok.com/moneysupply)

</comment></comment></comment></comment><comment><USER32> What the bubble callers miss is that in the middle of a bubble, only cranks call bubble.

The opposite is the case now. Every other armchair investor (and their ivory tower counterparts) is calling bubble now: on Bitcoin; on stocks; on bonds.

Here's how to identify a real bubble. The conventional wisdom says go all in on a single asset. If you don't, you will get rekt. The only people who disagree with this position are cranks.

That's a bubble. It happened in 1999 with stocks and it happened in 2007 with real estate.

No asset is in a bubble at the moment based on this definition because the conventional wisdom is against all of them.

</comment><comment><USER19> What matters more - the size of the theatre or the size of its exits?

<comment><USER33> Coinbase sent me an email saying that they cannot guarantee uptime during high volatility. The exits are locked.

<comment><USER34> Oh please, people have had months and months to cash out nearly any time they please.

<comment><USER33> Yep, except for when they might want to... y'know. When the price is crashing.

[https://www.theverge.com/2017/12/22/16810614/coinbase- tradin...](https://www.theverge.com/2017/12/22/16810614/coinbase-trading-buy- sell-unavailable-bitcoin-price-drop)

</comment></comment></comment></comment><comment><USER35> Ok, so if you think the hell thing is going to hell, just go SHORT, it's one click away. How simple is that?

And that's why these predictions never pan out, if it's SO EASY to make a ton of cash off a crashing market, then EVERYONE will go short, since it's so EASY to make money.

And that's why markets are generally stable and it's what humans do best, we go LONG. :-)

<comment><USER33> > Ok, so if you think the hell thing is going to hell, just go SHORT, it's one > click away. How simple is that?

Uh, how? Also, the hard part about making money on a short is knowing WHEN the price is going to crash. You can call an obvious speculative bubble what it is without knowing exactly when it's going to pop.

> if it's SO EASY to make a ton of cash off a crashing market, then EVERYONE > will go short, since it's so EASY to make money

If the market is already crashing, why would someone sell you the stock to short sell? Don't you have to short before the price starts to drop?

> And that's why markets are generally stable and it's what humans do best, we > go LONG. :-)

What?

</comment></comment><comment><USER36> I found this reading very interesting, and novel.

However, he lost me when he wrote: "With regard to Bitcoin, my view is that the Blockchain algorithm itself is brilliant. Bitcoin itself, however, is just one application of Blockchain, and a rather awkward one."

Every time I read a comment like this, my eyes roll up.

</comment><comment><USER37> Lots of permabears will go long when it's obvious markets are headed up, not Hussman.

[https://www.hussmanfunds.com/strategic-growth- fund/](https://www.hussmanfunds.com/strategic-growth-fund/)

As always, Hussman manages the near impossible feat of reliably losing money in virtually any market environment

The Dow has risen 5k in a year and Hussman still manages to be in the red....I'm sure his clients are thrilled

on top of the how-is-that-possible string of losses in every fund he manages across any time frame...his expense ratio is insane! 5% fee ratio to lose money in a bull market...sign me up?

his clients would be better off maxing out a string of savings accounts to earn 0.1% interest but get FDIC coverage

most permabears since the 80s realized you can't fight the Fed, even if the whole system is based on BS

<comment><USER38> It's a canary in the coal mine IMO. Sure, he's early; but he's not wrong. A very significant portion of growth over the last decade has been the growing ability of US companies to avoid paying US taxes. That growth eventually caps out until you reach a 0% corporate tax rate — the problem here is that shifts the tax burden 100% onto the populace, which absolutely destroys consumer spending and ultimately the economy as a whole.

Right now they're just turning these changes in the tax rate into enterprise value, but it's a one-time shot. And if you do too much of it, you undermine the economy. But the corporations can't help themselves, so we will have yet another boom-bust cycle.

<comment><USER37> sorry but the only answer any investor should care about is achieving their financial goals over the expected investment timeframe.

markets tend to rise and as a result market declines tend to be temporary

the permabear thesis appeared in the early 80s when the US was in a rut and we also became a debtor nation. the permabear thesis -that debt and fiat currency would produce an economy favoring the pessimistic (but not completely imploding to the point of collapse, because you can't invest in that), proved to be wrong over a thirty year window

if you have an axe to grind, you will always find a permabear manager willing to tell you tales of doom...it will cost you your financial goals though

<comment><USER38> I think these funds are useful as a risk hedge — there is some non-zero risk every year that the economy will collapse. If you invest in a fund that will help offset some of that risk by performing above average in a downturn, you might want to do it as part of a portfolio strategy.

Nobody should be putting their life savings into one of these. Hedge funds like this aren't for that; they're a risk management lever that gets set according to the economic model an investor is using.

<comment><USER37> lots of people here keep using the term "hedge"...none of the permabears market these as hedge funds...they do not internally hedge their own risk positions

these are what they appear to be - bear market funds

<comment><USER39> Giving a bear market fund a % of your total investment capital is the hedge. They don't need to be hedging their positions, you've already done that on the macro level by diversifying your investment portfolio.

</comment></comment></comment></comment></comment></comment><comment><USER40> I should add Fiat currency...

<comment><USER41> Sure, but that'll get downvoted in a jiffy in HN.</comment></comment>


A Python Compiler for Big Data - <AUTHOR> http://continuum.io/blog/blaze <comment><USER2> I just want to point this out because I feel like there's a good chance a lot of people won't have gotten this far:

 _Because our implementation does not explicitly depend on Python we are able to overcome many of the shortcomings of the Python runtime such as running without the GIL and utilising real threads to dispatch custom Numba kernels running at near C speed without the performance limitations of Python._

<comment><USER3> Yes, using Numba we can just-in-time compile numeric Python logic straight down to machine code, so naturally we can achieve some pretty impressive numbers on kernel execution.

In case many people didn't reach the bottom here are the links to the repo and the docs. The project is still in early stages, but is public and released under a BSD license.

* <http://blaze.pydata.org/docs/>

* <https://github.com/ContinuumIO/blaze>

</comment></comment><comment><USER4> Bit of a tangent, but I'm wondering if anyone here has had any luck with Cython?

I'm starting to run into some performance bottlenecks with Python, and so I'm just now looking at Cython, PyPy, Psyco, and... gasp... C.

From what little I've read, Cython is supposed to be as easy as adding some typing and modifying a few loops here and there, and you are in business.

<comment><USER5> I would go with C/C++ as the ways to address performance are well studied. There are many tools out there like callgrind or nvvp that will make it pain- free.

I can narrow down performance in C/C++ quite quickly, but neither I nor anybody I know has done much of this for Python. Many people who I work with consider a Python implementation a prototype, while Fortran/C/C++ is mature _real_ code worthy of attention.

The only real downside is that C/C++ requires a little knowledge of the POSIX/LINUX or Windows. This represents a learning curve, but when you are over it, it represents quite durable long lasting skills.

<comment><USER6> > Fortran/C/C++ is mature _real_ code worthy of attention

Just be prepared for Drew Houston, Paul Graham et al. to come after you whipping their lashes.. (tongue in cheek)

<comment><USER5> I'm not scared of a man who speak with a Lisp!

</comment></comment></comment></comment><comment><USER7> So is there anyone using Python for machine learning in production systems (i.e. not just for prototyping). I would love to do it but seems Java/Mahout is a safer choice, performance-wise.

I wonder whether Blaze is a step towards that direction.

<comment><USER8> I use Python for nearly all of my ETL processes that involve text processing. Even in production systems, I'd be hard-pressed to admit any significant performance issues. Python facilitates implementing algorithms in a functional style, which I tend to prefer over the imperative style (i.e., Java). With C++11 and boost, I'm able to translate my Python code to C++ while preserving the functional style, which has immensely simplified prototyping/deploying NLP/ML algorithms while simultaneously begetting enormous performance gains. I see Python as an extremely viable alternative to Java.

<comment><USER7> You got me a bit confused here. If I understand correctly what you 're saying, you 're still using Python for prototyping the core algorithms and C++ in actual production systems. I'm not saying Python is not good for production systems in general, I'm wondering whether it is good enough for real-world implementations of machine learning algorithms.

Also, I believe most people would consider Java as an alternative to C++, hence all the Java-based Apache projects, such as Mahout, Solr etc.

<comment><USER8> I use Python in production for text pre-processing and other ETL-related processes, which is part of a larger reinforcement learning approach. Additionally, I use Python to prototype the core ML algorithms, which I sometimes re-implement in C++. However, for many of those algorithms, numpy actually performs identically to BLAS in C++.

<comment><USER7> I get it now, thanks. It's very interesting, maybe I will give Python for ML a chance!

</comment></comment></comment></comment></comment><comment><USER9> It would be great to eventually have a GPU version as well (as in the cases of Matlab and R). I saw a brief demo of Matlab on a Mac Retina Pro 15 where the GPU version ran 30x the CPU version.

<comment><USER3> GPU support is definitely planned and already supported in NumbaPro[2]. Here's a video of Travis Oliphant's talk about targeting CUDA through Numba:

[1] <http://www.ustream.tv/recorded/26973799>

[2] <https://store.continuum.io/cshop/numbapro>

</comment></comment><comment><USER10> I read about continuum after the fellow who developed numpy left a few days ago to work on continuum. I am curious to see actual projects using continuum. So some sort of writeups.

<comment><USER11> You're being downvoted because Travis Oliphant, the original author of Numpy, is also a co-founder of Continuum Analytics.

<comment><USER12> I figure he's talking about <http://news.ycombinator.com/item?id=4931027>. Not sure where the downvoting comes in...

</comment></comment></comment><comment><USER13> how does this compare to theano? it seems like some of the ideas are similar?

<http://deeplearning.net/software/theano/>

in general, i like (ie i don't see a better solution than) the idea of having an AST constructed via an embedded language that is implemented by a library. but it does have downsides - integration with other python features is going to be much more limited (it gives the _illusion_ of a python solution, but in practice you're off in some other world that only looks like python).

are there more details? i guess the AST is fed to something that does the work. and that something will have an API and be replaceable. but is that something also composable? does it have, say, a part related to moving data and another to evaluating data? so that you can combine "distributed across local machines" with "evaluate on GPU"?

<comment><USER3> > how does this compare to theano? it seems like some of the ideas are > similar?

It's quite similar, we just take some of the ideas farther and try to generalize the data storage to include storage backends that data scientists use more frequently ( i.e. SQL, CSV, S3, etc ). We're very friendly with the Theano developers and hope to bridge the projects with a compatibility layer at some point.

> (it gives the illusion of a python solution, but in practice you're off in > some other world that only looks like python).

I would argue that's what make Python a great numeric language, and NumPy so succesfull. You get this high level language where you can express domain knowledge but also this 1:1 mapping between fast code execution at the C level. Blaze is the continuation of that vision

> i guess the AST is fed to something that does the work. and that something > will have an API and be replaceable.

Precisely, we build up a intermediate form called ATerm out of the construction expression objects, do type inference, graph rewriting, and then pattern match our layout, metadata, and type information against a number of backends to find the most optimal one to perform execution. Or if needed we build a custom kernel with Numba informed by all this type and data layout information we've inferred from the graph.

We don't aim to solve all the subproblems in this area ( expression optimization passes, distributed scheduling ) but I think we have a robust enough system that others can build extensions to Blaze to do expression evaluation in whatever fashion they like.

> are there more details?

Yes! See: <http://blaze.pydata.org/>

</comment></comment><comment><USER14> Interesting approach to modelling data that lives elsewhere, in fact quite similar to SQLAlchemy's.

<comment><USER15> ... but you can't use numpy operations efficiently on SQLAlchemy data

<comment><USER14> That's not what I meant. Both this and SA turn python expressions into expressions to be run elsewhere, on data that isn't necessarily in the process' memory.</comment></comment></comment>


My weekend project: ObamaMillion.com - <AUTHOR> http://www.obamamillion.com

<comment><AUTHOR> On my last day in SF, I randomly had this idea to create a huge physical wallpaper with little pictures of Obama fans all over the world.

Logistically, that would be hard to do and I just didn't know much about wallpapers. So I decided to start with a digital version which I coded in LAMP over New Year's. In the process, I learned a fair bit about ImageMagick and PayPal integration.

We'll see where it goes:)

<comment><USER2> not to be rude, people should stop chasing the million dollar homepage...It won't happen again till people forget about it :)

<comment><AUTHOR> "It won't happen again till people forget about it :)"

shh:)

On a more serious note, I obviously think this idea is different enough than MDH. Of course I'll find out just how much...which is how the world of launching new stuff works.

</comment></comment></comment><comment><USER3> Parse error: syntax error, unexpected '}' in /home/obamamillion/modules/obamamillion.tools.php on line 51</comment>


99-problems in Java 8, Scala, and Haskell - <AUTHOR> https://github.com/shekhargulati/99-problems <comment><USER2> I find the language percentage information (~ Java 57%, Scala 37%, Haskell 5%)[1] a bit scary (and admittedly hilarious), given that I have only serious experience with Java among the three.

[1]: [http://i.imgur.com/zRwFzSC.png](http://i.imgur.com/zRwFzSC.png)

<comment><USER3> Well the 99-problems were originally in Prolog, and many have to do with list manipulation, something that Haskell has built in. Additionally, Haskell will benefit from its lazy, functional nature, which makes dynamic programming, searching, and even some data structures a little cleaner.

I haven't worked with Java in quite a while, but I imagine that it still requires a lot of boilerplate and set up for trivial things in other languages. I'm sure if C were also included it would be the most verbose.

<comment><USER4> Java does still include some boilerplate for setting up classes — though that may go away in 10 when they add scripting. However, it is a lot more terse than in 7:

      package com.shekhargulati.ninetynine_problems._02_arithmetic;

      import java.util.stream.LongStream;

      /**
       * (**) Determine whether a given integer number is prime.
       */
      public class P31 {

        public static boolean isPrime(long number) {
            return !LongStream.rangeClosed(2, Math.round(Math.sqrt(number))).anyMatch(n -> number % n == 0);
        }
      }

</comment></comment></comment><comment><USER5> OCaml version: [https://ocaml.org/learn/tutorials/99problems.html](https://ocaml.org/learn/tutorials/99problems.html)

</comment><comment><USER6> Warning:shameless promotion, here's my 'R' take on 99 problems, needs working on though! [https://github.com/saysmymind/99-Problems-R](https://github.com/saysmymind/99-Problems-R)

</comment><comment><USER7> Maybe someone who knows more about logic programming can correct me, but it seems that these are just imperative solutions to problems designed to be solved in a logical programming context.

For example, take a look at problem 2.07 from the original 99-problems for [Prolog][1] and compare it to the [Java][2] solution in the linked repo. In Prolog, you're defining relations, so with GCD defined, you can compute the GCD (g) given two integers a and b, but you can also compute possible values for b, given a and g, for example. The Java solution doesn't allow for anything like that.

So, given the README information, I expected to see the implementations in different language platforms utilize some prolog-esque logic programming library (like core.logic for Clojure), but that isn't the case.

[1]: [https://sites.google.com/site/prologsite/prolog- problems/2](https://sites.google.com/site/prologsite/prolog-problems/2) [2]: [https://github.com/shekhargulati/99-problems/blob/master/jav...](https://github.com/shekhargulati/99-problems/blob/master/java8/src/main/java/com/shekhargulati/ninetynine_problems/_02_arithmetic/P37.java)

</comment><comment><USER8> For the Java version I would seriously consider not using JUnit 4's assertThat and instead rely on AssertJ [1].

Besides AssertJ being easier to use and IMO more elegant than Hamcrest, JUnit 5 will be removin `assertThat`.

I contemplated filing a bug/request but its more of a conversation point than an issue.

[1]: [http://joel-costigliola.github.io/assertj/](http://joel- costigliola.github.io/assertj/)

<comment><USER9> According to this issue[1], JUnit5 will still allow the use of Hamcrest's 'assertThat' in the next major revision.

[1]: [https://github.com/junit- team/junit5/issues/147](https://github.com/junit-team/junit5/issues/147)

<comment><USER8> How is that possibly if Hamcrest isn't going to be put in?

I think you misread that bug report.

       >Closing this issue since there are no plans to include direct dependencies on third-party assertion libraries within JUnit 5.

</comment></comment></comment><comment><USER10> K version: [https://github.com/kevinlawler/kona/wiki/K-99%3A-Ninety- Nine...](https://github.com/kevinlawler/kona/wiki/K-99%3A-Ninety-Nine-K- Problems)

</comment><comment><USER11> I've never used Haskell, but it seems like everything in Haskell can be done in one line :).

<comment><USER12> It helps that everything in haskell is an expression

<comment><USER13> Everything but declarations, anyway.

</comment></comment></comment><comment><USER14> when I read that headline: "... but a B*tch ain't one!"

<comment><USER15> I'm guessing people are downvoting this comment because they don't want the Redditization of HN.

If it's any consolation, that was the first thing I thought as well. I even thought the problems would make some joke reference to the song.

However, it seems as if Werner Hett at the Berner Fachhochschule came up with this independently of Jay-Z.

<comment><USER16> Ice-T, Jay-z copied it about 10 years (probably more) later

<comment><USER17> Everyone always forgets about Brother Marquis.</comment></comment></comment></comment>


Samsung i900 Omnia now Official: Samsung's answer to the IPhone - <AUTHOR> http://www.itechnews.net/

<comment><USER2> Neat, but as soon as I get to the "Windows mobile" part I hit the back button.

<comment><USER3> You beat me to it. The rest of the article is irrelevant.

</comment></comment><comment><USER4> _The 5MP camera does also smile detection..._

Waiting for "funny moment detector", "a la Bresson genius shot detector" and of course "reddit top story detector".

Seriously, it has always been practically impossible to compete with Apple with products that simply copy them. If you want to kill^H^H^H^H compete with iPhone, do something really different.

</comment><comment><USER5> Dang, did I end up on "tech gadget news" again? I totally meant to to Hacker News. I am not good at the internets ...

</comment><comment><USER6> How much?</comment>


Show HN: Lisn2.me – Practice language listening skills - <AUTHOR> https://lisn2.me <comment><AUTHOR> This is a small side-project I'm working in my free time, for the last 2 months. The idea is that users will (hopefully:) share/exchange short voice recordings in their native language (and use existing recordings to practice language comprehension with other languages). Recordings are uploaded with text, translation and they are "synchronised" with the audio.

Here's an example: [https://lisn2.me/exercise/1458307740540341002](https://lisn2.me/exercise/1458307740540341002) . You can listen to the recording in various speeds (normal/slow), with/without text/translation.

Then, you can also practice listening and writing: [https://lisn2.me/exercise/1458307740540341002/quizes/dictate](https://lisn2.me/exercise/1458307740540341002/quizes/dictate) (listen to a couple of words and then you need to write them down, if it's correct it's shown in green, otherwise it's red, Type ? for help).</comment>


Gaffer: Large-scale graph database by GCHQ - <AUTHOR> https://github.com/GovernmentCommunicationsHeadquarters/Gaffer <comment><USER2> This can't be real. I needed something _exactly_ like this and was about to start looking tomorrow. And, lo and behold, GCHQ delivers.

As for my future software needs, I expect the code to be written at MI-6 and delivered just-in-time by James Bond.

<comment><USER3> Just don't mention anything about a new JavaScript framework in any of your private communications, or they might spot it and make a new one of those too.

</comment></comment><comment><USER4> The name is ridiculous in german. A "gaffer" is a stalker or someone who looks when he's not supposed to. Quite fitting.

<comment><USER5> Very weird! I've always heard it used to refer to English soccer club coaches

<comment><USER6> You mean English football clubs. Nobody says soccer in Europe mate :p

</comment></comment></comment><comment><USER7> Really? The spies release a graph database where edges can have statistics attached, like oh, say, counts?

We're being trolled.

Edit: Looking for forward to the release of RingTone, a system for processing very high volumes of call detail records in real time.

</comment><comment><USER8> This is just a PR move to get the tech community to hate them less, even if only by a little bit. They want to muddy the waters and insert the idea into people's minds that "we're not all bad."

<comment><USER9> I don't think that's the case, the software is taxpayer funded so it makes sense to release it.

I think it's more likely that it will help with recruitment, pull requests of high-quality might provide a potential interview or job offer.

<comment><USER10> If it's 'taxpayer funded' as you say, it should be licensed under the public domain.

No 'if', 'ands', or 'buts'. If it's paid for by the people it's the property of the people.

<comment><USER11> And if you pay enough in taxes you should get your own tomahawk cruise missile.

<comment><USER10> Not sure what you'd do with a tomahawk (besides hump it for fortitude).

Anyway...

In the US the policy is:

A United States government work is prepared by an officer or employee of the United States government as part of that person's official duties.

It is not subject to copyright in the United States and there are no copyright restrictions on reproduction, derivative works, distribution, performance, or display of the work. Anyone may, without restriction under U.S. copyright laws:

\- reproduce the work in print or digital form

\- create derivative works

\- perform the work publicly

\- display the work

\- distribute copies or digitally transfer the work to the public by sale or other transfer of ownership, or by rental, lease, or lending.

Source: [https://www.usa.gov/government-works](https://www.usa.gov/government- works)

US government based software developer agencies like 18f and USDS (United States Digital Service) license all of their code to the public domain.

The UK is slightly different: [https://github.com/GovernmentCommunicationsHeadquarters/Gaff...](https://github.com/GovernmentCommunicationsHeadquarters/Gaffer/issues/3)

But there _is_ the OGL (Open Government License): [http://www.nationalarchives.gov.uk/information- management/re...](http://www.nationalarchives.gov.uk/information- management/re-using-public-sector-information/licensing-for-re-use/guidance- for-information-providers/make-information-available-ogl/)

</comment></comment></comment></comment></comment><comment><USER12> Interesting to get open source from the British sort-of equivalent to the NSA.

I just looked at the code: Java code that sits on top of the Hadoop file system. Supports date-binned data storage so it looks applicable to systems where you want to toss out old data occasionally.

<comment><USER13> Yep, and the Accummulo store it's built upon was open-sourced by the NSA.

</comment></comment><comment><USER14> I like how it is on top of Accumulo which was created by NSA: [https://en.wikipedia.org/wiki/Apache_Accumulo](https://en.wikipedia.org/wiki/Apache_Accumulo)

Great to see spy agencies cooperating in open source :P

</comment><comment><USER15> Do ends justify the means when it comes to knowledge being added to the world open-source repository of software? Should we, as a community, reject these people's hard work or just use it while also understanding that they're evil? I'm conflicted.

<comment><USER16> If you think what they do is evil then explain why. Don't pretend that everyone thinks that way so much so that it doesn't even need an explanation.

<comment><USER15> It has been discussed to death here why what they do is evil.

If you want a security expert's opinion, read Bruce Schneier's blog, and if you are inclined to learn more about the ethics, this page is great: [http://cs.stanford.edu/people/eroberts/cs201/projects/ethics...](http://cs.stanford.edu/people/eroberts/cs201/projects/ethics- of-surveillance/index3.html)

</comment></comment></comment><comment><USER17> Love the way all the tests use "customer" and "product" nodes.

<comment><USER18> Haha i wonder what the product is when you're a spy agency

<comment><USER19> Oppression and control and leverage

</comment></comment></comment><comment><USER20> I'd be interested in seeing the buy vs. build analysis for this project. Are there any pre-existing projects that have similar features? And assuming that this project is used to process classified data, what impact does this have on the selection process? e.g. is it possible to use closed-source solutions?

</comment><comment><USER21> From [1]: > Gaffer stores data in Accumulo, but inserting data and retrieving it again requires the user to have no knowledge of Accumulo. As Gaffer stores data in Accumulo, it is horizontally scalable so that very large data sets can be dealt with. It has an API that allows users to retrieve the data they care about, filtered according to their requirements and aggregated over the time window of interest. It supports bulk update and continuous update.

Seems like a very useful tool, especially if you already have accumulo infrastructure running. Docs need a bit more work I feel, but it's not terrible for a single page.

[1]: [https://github.com/GovernmentCommunicationsHeadquarters/Gaff...](https://github.com/GovernmentCommunicationsHeadquarters/Gaffer/blob/master/UserGuide.md)

</comment><comment><USER22> This is not long after MI6 were looking for NodeJS Devs [https://news.ycombinator.com/item?id=10532855](https://news.ycombinator.com/item?id=10532855)

<comment><USER22> Not that they're necessarily talking to each other about PR in the tech community, but looks like maybe the British Gov is trying to attract some talent and get devs engaged. Maybe they just want it improved for free :-p

<comment><USER23> GCHQ / CESG have been putting details of some of the tech they work with on their public webpage for a few years now.

[https://www.gchq-careers.co.uk/about-gchq.html](https://www.gchq- careers.co.uk/about-gchq.html)

[https://www.gchq-careers.co.uk/departments/technology-and- en...](https://www.gchq-careers.co.uk/departments/technology-and- engineering.html)

The "applied research" is interesting: [https://www.gchq- careers.co.uk/departments/applied-research....](https://www.gchq- careers.co.uk/departments/applied-research.html)

I think the internet archive has some older pages with relevant information.

If this is GCHQ it's gently worrying - a github profile is pretty low on my list of what I want in the way of transparency and accountability.

<comment><USER24> It seems like they are making a recruitment push ([http://www.theinquirer.net/inquirer/news/2435685/gchq-is- usi...](http://www.theinquirer.net/inquirer/news/2435685/gchq-is-using- graffiti-to-find-hipster-coders)) and are trying to repair their reputation a bit.

</comment></comment></comment></comment><comment><USER25> [https://github.com/gchq](https://github.com/gchq)

Cybersquatters...

<comment><USER26> It is curious to me why GCHQ didn't just contact GitHub to acquire github.com/gchq but instead decided to go with the long and cumbersome github.com/GovernmentCommunicationsHeadquarters. Perhaps it is a British thing [1].

[1] [https://www.addedbytes.com/blog/if-php-were- british/](https://www.addedbytes.com/blog/if-php-were-british/)

<comment><USER27> They probably have the skills to acquire it without contacting GitHub as well. But that may be bad PR...

<comment><USER28> > They probably have the skills to acquire it without contacting GitHub as > well.

I'd say they _definitely_ have the skills to acquire it, if QUANTUM {INSERT|DNS}[1] are still operational. As you said, it's probably not worth it.

1\. [http://blog.fox-it.com/2015/04/20/deep-dive-into-quantum- ins...](http://blog.fox-it.com/2015/04/20/deep-dive-into-quantum-insert/)

</comment></comment></comment></comment><comment><USER29> Any ideas how they could use it?

<comment><USER30> Graph databases are perfect for identifying connections between who talks to who, relatives, contacts, etc.

<comment><USER31> Ironically, "Gaffer" is the German word for rubberneck.

<comment><USER32> British English word for "boss", traditionally in blue-collar jobs (building sites, factories, that kind of thing) but used informally everywhere.

<comment><USER33> Gaffer is the name of the head electrician in film production, the assistant is called the Best Boy.

[https://en.wikipedia.org/wiki/Gaffer_%28filmmaking%29](https://en.wikipedia.org/wiki/Gaffer_%28filmmaking%29)

Hence "Gaffer tape" which is black, rather than duct tape, which is the same construction but grey.

<comment><USER19> PSA: Gaffer's tape makes the best ad-hoc mouse pad for surfaces that are not mousable... (at a trade show and your new shiny glass counters are acting weird with mice... make a small square with gaffers tape, which you already use to secure cords under carpet...

Its my favorite tape for general use.

<comment><USER10> FYI, unrelated to the topic but they make mice that work on any surface how.

I currently use this one on my glass desk: [http://www.amazon.com/Logitech- Wireless-Anywhere-Mouse-Mac/d...](http://www.amazon.com/Logitech-Wireless- Anywhere-Mouse-Mac/dp/B0082D5660)

<comment><USER19> I replied to myself - but meant to reply to you:

> __ _Haha yeah I have at least ten of those... They do not work on certain > glass surfaces, namely any shiny black granite desk._ __

<comment><USER10> Do you own one of the 'Darkfield Technology' ones?

That's specifically why I bought this one and it works flawlessly on every glass surface I've tried.

<comment><USER19> Apparently not, I'll have to try one of those.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER34> I wonder if this is for real

<comment><USER23> It's not mentioned on the GCHQ / CESG website, as far as I can tell.

</comment></comment><comment><USER35> Get a [TinekerPop3]([http://tinkerpop.incubator.apache.org](http://tinkerpop.incubator.apache.org)) interface and I'll update my python libs to support it (one day...in the future...when I have time...and interest).

</comment><comment><USER36> Why is the British government doing research into something that terrorists could use to further their extremist agendas?</comment>


What Acquihire Really Means - <AUTHOR> http://www.feld.com/archives/2015/07/acquihire-really-means.html <comment><USER2> The Aquihire model works with the curent "micro-VC" (translation: angel). Just don't think of them as investors in companies; think of them as agents: the team produces a demonstration project which is good enough to get them hired. The investor funded the project, so gets a cut. Oh, and the early adopters who validated the team's execution? Sorry, the product is EOLed.

Apart from nomenclature these aren't really startups and their funders aren't really VCs.</comment>


Dropbox Closes $250M round, $10B Valuation - <AUTHOR> http://techcrunch.com/2014/01/17/dropbox-closes-250m-round-at-10b-valuation-wsj-says/

<comment><USER2> It must sting working at Techcrunch at this stage when even a TC, YC, etc favorite would rather release their news somewhere else.

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

[http://online.wsj.com/news/articles/SB1000142405270230346500...](http://online.wsj.com/news/articles/SB10001424052702303465004579327001976757542)</comment>


A Habitable Exoplanet - for real this time - <AUTHOR> http://www.wired.com/wiredscience/2010/09/real-habitable-exoplanet/

<comment><USER2> Link to the actual paper: <http://arxiv.org/abs/1009.5733>

</comment><comment><USER3> 20 lightyears is a long way, but not that long. What we're 'seeing' via our instruments was taking place around 1990.

<comment><USER4> So if we had pointed Voyager at it back in the 1970s, we would only have 19.997 lightyears left to travel!

Space is big. We are slow. Everything cool about scifi is fiction. None of this will change in our lifetimes.

<comment><USER5> I would argue that this falls into the "cool" part of what, until now, has been entirely scifi - and that I'm absolutely ridiculously excited about seeing more and more of these discoveries in the years to come.

No, there's no hope of ever visiting this place in our respective lifetimes (sans cryogenics), but I'd put money on the prediction that we will certainly see real imagery of exoplanets within 50 years. And that's cool. Really cool. So cool that we'll look back and laugh at the original question of "are all exoplanets bigger than Jupiter and closer to their suns than Mercury?"

</comment></comment></comment><comment><AUTHOR> Borderline habitable, anyway. Rocky planet, two Earth masses, looks promising, but so close to its (small, dim) star that it's probably tidally locked, meaning the same side will always point towards its sun. This means that the vast majority of its surface will either be too hot or too cold for life.

But a certain ring will have constant perfect weather!

<comment><USER6> FTA:

"That means the planet has...a band of eternal sunrise or sunset where water — and perhaps life — could subsist comfortably."

<comment><USER7> That would be awesome as premise for a science fiction short story or novel!

</comment></comment></comment><comment><USER8> Would gravity there be three Gs? I don't think we could handle that. The atmosphere might be too thick for us too. May it has a nice moon?

<comment><USER9> According to [http://news.yahoo.com/s/afp/20100929/sc_afp/usastronomyplane...](http://news.yahoo.com/s/afp/20100929/sc_afp/usastronomyplanet_20100929210707) , surface gravity might only be slightly higher than earth's.

<comment><USER8> How is that possible?

<comment><USER10> Density of a planet's interior is not uniform, and gravity tapers exponentially with distance. So, a planet with a dense core and a less-dense middle area could easily have less gravitational force than you might expect since the surface is so far away from the dense core.

<comment><AUTHOR> Surprisingly not so.

If you have a body with a spherically symmetric mass distribution, from the outside it always has exactly the same gravitational field as a point mass at the centre.

Proof: [http://hyperphysics.phy- astr.gsu.edu/hbase/mechanics/sphshel...](http://hyperphysics.phy- astr.gsu.edu/hbase/mechanics/sphshell.html)

<comment><USER10> Wait, but didn't I specifically say I was referring to a body _without_ a spherically symmetric mass distribution? Maybe I'm incorrect in my understanding of symmetric, but I was definitely referring to a non-symmetric case in my text.

<comment><AUTHOR> Spherically symmetric means that it looks the same no matter which way you rotate it. You talked about a dense core, less dense middle-region planet, which is spherically symmetric.

If the planet had an ultra-dense region off to one side then it wouldn't be spherically symmetric and it would have gravity slightly stronger on one side than on the other... it's hard to imagine such a planet existing though.

<comment><USER10> Ah, gotcha. Thanks!</comment></comment></comment></comment></comment></comment></comment></comment>


Why doctors are worried about the Apple Watch EKG - <AUTHOR> https://www.theverge.com/2019/1/8/18172132/apple-watch-ekg-electrocardiogram-health-science <comment><USER2> False positives are nothing. If more people would visit the ER with potential heart trouble many lives could be saved. False negatives are a real worry: someone who decides "it is just heartburn" because the watch says everything is okay - this can kill people. (I'm not qualified to comment on how accurate the watch is)

<comment><USER3> Depends on the numbers. Extra ER visits take time of both doctors and the 'patients' making those visits, costing money that might have been spent better.

False positives also may increase stress levels of users. harming healthy people more than the gains of having fewer false negatives.

<comment><USER2> 60% of those who go to an ER because of chest pain are not having a medical emergency (heart attack) and could safely stay home saving a lot of stress. Since chest pain is our best indicator of a heart attack only a fool would not go to the ER anyway.</comment></comment></comment>


Why Android will win the tablet wars - <AUTHOR> http://www.h-online.com/open/features/Why-Android-will-win-the-tablet-wars-1176652.html?view=print

<comment><USER2> Define "win", please. I'm quite sure Android will eventually dominate in terms of market share, much like Windows does to OS X. However, if you look in terms of customer satisfaction and profits generated in the markets they compete in, Apple tend to be so far in front, they subsume the rest of the competition put together.

I'd wager that every company out there would love to "lose" the way Apple is/will.

<comment><USER3> Does anyone think Apple is actually satisfied with OS X's market share? Apple has competing interests in that it wants high margins and market share, but they did it before with the iPod. And I'd argue the iPad is an even better contender for iPod like dominance than the iPhone/OS X. Apple values control highly, but pretending it doesn't infuriate them that Windows is the leader (and Android is posed to be the phone leader) is a bit much.

<comment><USER2> Oh, I'm sure they'd love to hold 100% of every market. The point of my comment is they don't need to do this to be considered a big "winner". Unlike e.g. Dell which only makes money on huge amounts of shipments due to low margins, Apple can ship comparatively few units and make large profits.

They must know that their dominance in the smartphone area was always a temporary thing - they were never going to persuade the entire world to buy one of two iPhone models available at any time. Their lack of any attempt to create an entire iPhone ecosystem to cater for the spread of users (i.e. the "free, just about adequate phone" that dominates most peoples choice) shows this. This is entirely separate to their iPod strategy, which scales from those with only a handful of dollars (the shuffle), all the way up to the "Smartphone without a radio" iPod Touch. In the phone space, they seem to have chosen the same battle as their computing space - the high end, high margin, "people willing to pay for the experience" market share which contains vast profits. If no serious competitor had appeared (as, bizarrely, happened in the MP3 space), then they might have eventually released an iPhone Nano etc. But given that other players are now in that space, they've just surrendered it, rather than fight a battle they can't win. Were they to open up iOS or release a spate of iPhones covering enough of the usage/price spectrum to compete, they'd lose a large amount of the Apple "experience", damage their premium brand, and risk losing the entire game.

Their battle is to maintain enough market share to ensure development for iOS, and to ensure that Android devices end up being (mostly) the choice for mass market, race to the bottom, cheap at any cost devices. If Android starts to seriously infringe on their premium space, then they should be worried and can be considered to be losing. Until then, as far as I can see, they're winning the battle they're fighting.

</comment></comment></comment><comment><USER4> To many people, the choice between Android is dead simple: If they own apps from the Apple App Store, they will buy Apple products, if only to continue using their investments. If they own apps from the Android Market, they will stick with Android for the same reason.

While this sounds great, an even stronger effect is simply customers being accustomed to one operating system or another. Only the most neophile or disgruntled amongst us have the stomach to switch operating systems. As long as neither Android nor iOS have severe shortcomings, the most important fight is the fight for new users, not switchers.

So let's not talk about one market 'taking over' another market. That is simply not happening.

</comment><comment><USER5> I bought a Motorola Droid (Milestone) last year because it was only a little more than half the price of an Iphone (unsubsidized in europe spring of 2010 around 400€ vs. around 700€).

Now the price of the Xoom is rumored to be around 800€...

If there is no decent Android tablet that will be noteworthy cheaper than the Ipad it will be pretty hard to catch up any time soon.

<comment><USER6> This is my big problem with this whole class of analysis. It keeps coming back to the Mac example and not the more relevant iPod. The conference call gave a hint, Apple is spending $3B to prepay for supply of some new components. Which Android manufacturer can do that? Samsung probably has the best chance since they source a lot of components themselves (heck, they build some for Apple).

The current Android tablets are not significantly cheaper than the iPad (especially considering the smaller screens). Apple with the iPod started at a high rate and kept moving the price point down to make life very difficult for competitors. If Apple keeps the current iPad and makes it the new entry model at a lower price point (much like the iPhone), then the problems for other manufactures will be increased.

At this point, I really think HP will surprise a lot of people, but I don't seen the Android tablets (or Blackberry with its bizarre connectivity requirements) being major competitors until they resolve their pricing issues.

</comment></comment><comment><USER7> "Apple simply cannot compete in these markets: its business model is based on charging a premium price for a premium product."

Apple purchases in large volume which allows it to have lower component pricing than almost all other manufacturers. That's why you haven't seen an Android based iPod touch-like device. That's why you haven't seen anybody do a tablet comparable to iPad in terms of hardware at the $499 pice point.

Apple's iPod is an integrated platform--arguably with less hardware variety-- and it has 76% market share. Why hasn't this platform ceded control to Android yet, or "open" options? It isn't for lack of variety or other choices. Putting aside superior user interface, nobody can do a cheaper iPod. Let's see it.

If we're talking about a market for unlocked mobile, sub-$500 devices, then Apple hasn't been beaten in the last decade.

<comment><USER8> You haven't seen those devices because Apple's brand-name competitors are choosing to enter the high value markets first. Anything with a recurring data contract brings in far more money.

And Google itself would rather make the devices and the contracts cheaper, so that the users can spend more time online using Google products. They'd rather replace a kids iPod (inc. Touch) with an always net-enabled "phone" if possible.

But away from the headlines there's been generic, wifi-only Tegra2 tablets on the market for a couple of months now at half the iPad price. Not only does the Tegra2 beat iPad hardware, it's in line with the rumours for iPad 2 hardware. So the magical Apple hardware efficiency and price competitiveness doesn't really add up.

Note these generic tablets have plastic bodies, screens with poor viewing angles and non-tablet Android often without market access or official Tegra2-optimised Flash out of the box, so they're a tinkerer's delight rather than an iPad killer right now, but that's a separate issue from the power and cost of the hardware.

</comment></comment><comment><USER9> I think his argument can be fairly summarized as -

(1) The tablet platform war is like the smartphone platform war.

(2) In the smartphone platform war, Google has more marketshare than Apple because their operating system is on a greater variety of devices.

Both premises are invalid in that they naively omit the central role that carriers and subsidies play. In the phone world, Apple is playing a complex game where they squeeze as much money as possible from carriers. The iPhone isn't even available to millions of customers on dozens of large global carriers and is almost always (sometimes hidden by subsidies) much more expensive than a comparable Android device.

The tablet market may be much more like the mp3 market, where Apple was more sensitive to competitive pricing (they lowered pricing year after year), enabling them to maintain an overwhelming lead in market share which they leveraged to corner the market on many critical components.

</comment><comment><USER8> Has anyone noticed that almost all the Android tablets will hardware accelerate Flash? I admire Apple's stance on this issue, but think it might come back to bite them.

In particular they need to keep selling a big chunk of all tablets in order for people to see Flash as non-viable for tablet experiences. How low does their share have to get before people think "We'll do this tablet optimised site in Flash and work out a plan for iOS later"?

</comment><comment><USER10> Android tablets were up to 22% of the market last quarter... on what? Galaxy Tab? That's an absolutely incredible number with really no great product on the market.

Unless Apple has a trick up their sleeve for iPad2, Q2-Q4 of 2011 will likely split 75/25 for Android in the tablet space.

For all the grief I give Google, their dev model around Chrome and Android have been lessons to the industry. Why is no one paying attention?

<comment><USER11> Android tablet sales are nowhere near what has been claimed. The 22% figure is derived from Galaxy Tab sales to retail. Even Samsung is admitting now that far fewer have been sold through to consumers:

[http://www.electronista.com/articles/11/01/31/samsung.admits...](http://www.electronista.com/articles/11/01/31/samsung.admits.galaxy.tab.sales.poorer.than.claims/)

</comment></comment><comment><USER12> Yes. Have fun playing with the open source code to the Google Maps app. Or the Mail app. Or the source code to the Market. Or removing all the vendor spamware.

Really. This article overlooks things.

Also.... and this is a big one...... owning a smart phone does not mean you use it as a smart phone...... it is meaningless to "win" this battle just by numbers...... some people own a washing machine just to store bottles in it.

<comment><USER8> Actually the Mail app is open source:

[http://android.git.kernel.org/?p=platform/packages/apps/Emai...](http://android.git.kernel.org/?p=platform/packages/apps/Email.git;a=summary)

</comment></comment><comment><USER13> I despise people who prognosticate with certainty. (I was going to say "love" but sarcasm is cheap. So I'll go with honesty.)

First of all, who cares? More Hyundais sell than Ferraris. Obviously Hyundai is better. Hyundai wins!

Second, let's see how Android does in the US after the Verizon launch -- if Android does as well relative to Apple on Verizon as it has done on AT&T well, that would be sad for Android, wouldn't it? (I'd _guess_ things will be less one-sided on both carriers -- but I wouldn't claim certainty.)

I'd love for Android to "win" in the sense of becoming as good or better than iOS and sustaining the lead, but if Apple gets eaten alive by competitors, all the "victors" will do is race to the bottom on price, quality, and user satisfaction.

</comment><comment><USER14> Haha, another Android win :D Where is the truth that android won over apple's iphone, hey, apple has 4 iPhones so far, but how many phones are running Android, another comparison between apples and eggs.

There might be more Android phones out there, definitely are more, but whats their customer satisfaction ?

<comment><USER15> In the reports I've seen the satisfaction levels are nearly identical, within the margin of error of the survey done.

<comment><USER16> Given how most cell phone contracts are structured I wonder how many users have really _used_ both. I'm not talking about phone geeks and the typical person on HN, but the average user. If a person hasn't used both extensively then whatever one they are using now probably satisfies them (most people are only on their first maybe second 'smart phone').

I have an iPhone and while it has some quirks, overall it works great for me. I've only played with some different droid phones in stores and my impression was that the touch didn't work as well as on the iPhone. Is my impression reality or am I just used to how the iPhone responds so another type of phone doesn't seem right?

<comment><USER15> I have an Android, and my sister uses the iPhone. Android definitely has a much larger "drag distance" required to initiate the scrolling process. I'd estimate it's about a quarter to half of an inch before it will pass the scroll event to the software. I'm assuming this is by design and not a limitation of the hardware, because it has no problem getting pin-point accuracy and instantaneous response from when I tap something. I definitely prefer the iPhone's instant scrolling response though: I think it just feels more polished.

I still prefer Android for reasons unmentioned, but if there's anything it should be taking from Apple's play book right now, it's smoothing out what they have and polishing the rough edges.

</comment></comment></comment></comment><comment><USER17> Not a great article belabouring a pretty tired argument.

> That's just in the US, of course, but it's likely that the rest of the world > will f

Except that the iPhone is on only one of four major US carriers (it hasn't shipped a single unit on Verizon yet).

Also the economics are different elsewhere. In the US there isn't actually much handset subsidizatino. Most handsets, iPhone included, are $199. Some are $99. But given the typical bill likely be $70/month+ for 2 years, $100 difference on ~$2000 total is likely not a huge difference. If anything, I would argue that US consumers are largely basing their decision on carrier first, then handset.

What would be an interesting and insightful stat is to see what AT&T's handset breakdown is because you can expect that Verizon will follow a similar trend.

> ... it also has a major downside. It means that users have only a limited > choice of handsets

For most consumers, lack of often confusing and sometimes meaningless decisions (eg what is the practical difference, for the user, between an Evo and a DroidX?) is a plus not a minus.

Price matters in developing countries, sure. But the iPhone is a premium product. No news there.

As for pricing outside the US, let me give an example from Australia. I bought an iPHone 4 ~2 weeks after launch on Telstra, the nation's largest (and best) carrier.

For the 32GB model I paid $299 upfront and then $49/month for 2 years, totalling $1500 over 2 years. The retail price of the handset is $1000 so for $500 I get 2 years of service.

What does that $49/month buy? 2GB of data and $400 of "credit". Basically unlimited SMS, that credit can be used for data overages (at a pretty exorbitant rate mind you) and of course calls (at about 60c/minute).

Also, in Australia, like pretty much all of the developed world outside North America, you only pay for MAKING phone calls and SENDING text messages. You pay nothing for receiving either.

But the economics mean that my phone service, after you factor out the handset, only costs me ~$20/month. The HTC Desire, a similar handset, is priced at about exactly the same.

> The rise of Android in the smartphone sector nullifies Cook's arguments > against Android in the tablet world because precisely the same dynamics are > at play

Uh... no they don't and no they aren't. For one, many if not most iPad users use the iPad on wifi only, typically only at home. I would also argue that many who own 3G models (like myself) don't even have a 3G service attached to the device. What's the point? The nearest Starbuck's with it's free wifi is never far away.

The entry point for the iPad is $500. The competition seems to start at $700 (Xoom) with everything thrown in. Thing is, not everyone wants that extra stuff.

And let's not forget--and this is important--that Apple's competitors are always chasing _last year's model_. Comparing these new releases to the iPad are pretty meaningless since the iPad is about to be replaced and those products (excluding the Samsung Galaxy Tab) _aren't even shipping yet_.

Lastly, Samsung claims to have sold >2 million Tabs. I'm still scratching my head trying to figure out where and to whom because I've yet to see one in the wild. Korea? I'd love to know how many they've sold by country and also a qualification saying they mean sold and not just shipped.

<comment><USER18> _What would be an interesting and insightful stat is to see what AT &T's handset breakdown is because you can expect that Verizon will follow a similar trend._

Why would you expect that?

AT&T not only was late to the Android party, they sacrificed the few meager offerings they had because the iPhone was their smartphone of choice.

If you were drawn to an Android device, it was unlikely it was at AT&T because even once they started carrying them, they carried the dregs like the Backflip. Instead you were choosing from every other carrier. If you wanted an iPhone, on the other hand, you were going to AT&T (hence why AT&T paid big dollars for the exclusivity, and it showed in their subscribership numbers).

Verizon's breakdown will be nothing like AT&T's.

Further, AT&T is suddenly in the Android game in a big, big way. I hear there's something like 20 top-flight 4G Android devices hitting AT&T in the next few months, including the leader of the pack Motorola Atrix. So from being the iPhone place, AT&T is almost switching to be an Android-dominated carrier.

I think this whole "iPhone was only on a single carrier, let's see how things change now!" thing is going to turn out quite unlike how many so desperately hope.

<comment><USER17> AT&T was not in the Android game because they had the iPhone. Verizon was in the Android game because they didn't have the iPhone. The carriers will go where the consumer goes. If Verizon's customers stop buying Android in favor of the iPhone it's of no consequence to Verizon's.

IMHO the reasons Android sells are:

1\. It's not the iPhone. A minority of Apple haters rail against the notion of a walled garden;

2\. US specifically: their chosen carrier didn't have it. One thing about the US I haven't seen elsewhere is that family plans are fairly common;

3\. Android competes in markets the iPhone doesn't, specifically low end.

You'll note that I didn't mention cost as a factor, other than buying lower end phones (which is obviously a significant market). To reiterate this point: all the top end phones in the US have $199 up front and this isn't a significant factor over 2 years of service so, if this is a factor, it ranks far below carrier choice (IMHO).

Personally I think the Verizon iPhone will probably add a net 10M iPhone users in the first half _at least_.

<comment><USER18> Are you a time traveler from the past?

You might have had a point a year ago. Now, sorry, your argument is tired and dated. People want something that can play a couple of games, access Facebook and Twitter, visit websites, etc. There is a lot of competition, and the iPhone is only one option.

It has no entitled right to that market, nor is it necessarily the superior option. For many users it is the inferior option, rhetoric and flag waving aside.

A lot of customers are deciding among the available smartphones and walking out of the store with a Galaxy S or some other high-end Android device (which overwhelmingly dominant Android sales, despite the continued notion that it's some sort of low-end platform). It does what they want.

And that competition is only getting fiercer. Gingerbread, plus the upcoming (meaning weeks) gauntlet of devices == Android is putting aside the training bra.

But again, let's revisit this in six months. I'm sure there will be some new angle.</comment></comment></comment></comment>


More Top Yahoos Heading for the Exits - <AUTHOR> http://bits.blogs.nytimes.com/2008/06/12/more-top-yahoos-heading-for-the-exits/ <comment><USER2> The article mentions 3 leaving Yahoos, and 3 more in the last 2 years. Hardly a "steady exodus".</comment>


5-inch e-paper reader, cheap, limited, soon to be ubiquitous - <AUTHOR> http://www.teleread.org/blog/2008/05/14/five-inch-150-e-ink-reader-to-be-unveiled-at-the-idpf-conference-today/

<comment><USER2> The uses of this will replace the need for books for most tech-users. Instead having a book to read, a lot of people would listen to audiobooks on their players. Now, instead of having a physical library of books you now have a digital library of books, notes etc. This seems to be the natural progression of reading.</comment>


Great Programmers (2004) - <AUTHOR> http://bramcohen.livejournal.com/4563.html <comment><USER2> Does anyone have any good resources for learning how to better architect systems? Other than, say, The Architecture of Open Source Applications: [http://aosabook.org/en/index.html](http://aosabook.org/en/index.html)

Reading source code of prominent projects is a good way to get better, but it's hard to understand the architecture if you aren't aware of the design constraints/requirements that led it to be the way. Surely there must be a way to fast track this to some extent. Under the deliberate practice model by Anders Ericsson's (i.e. the 10,000 hour rule), simply reading and understanding code is suboptimal because of the lack of immediate feedback on your understanding. I think it'd be interesting to see tutorials/guides that showed how a system design has changed throughout its history as well as the reasons for those changes.

<comment><USER3> _how to better architect systems_

I beleive that there is one answer to this question which does 80% of the job, it is easy to express and yet in the same time impossible to grasp for so many programmers/managers which leads to so many awful codebase.

As the post says very well: _start by thinking about what you would do if you had infinite resources_. That's the ideal case. Find a _real_ bottleneck (money, cpu, memory, ?) and rethink your architecture accordingly, find the next _real_ bottleneck and so on.

<comment><USER4> This is gold. I remember a quote from a prominent game programmer, I think it's John Carmack but I'm not sure, that when thinking of an approach to a new game engine he would start on the basis of an imaginary computer with instant CPU calculation and infinite memory. I can see the parallels here.

</comment></comment></comment><comment><USER5> Bram hints at this, but doesn't quite make it as explicit as I would: the thing that distinguishes great programmers is the ability to understand _how the pieces interact_. Anyone can understand how one piece of code works, even if it's fairly complex. A good programmer can understand how one very complex piece of code works. However, any modern codebase of any significance is impossible for _anyone_ to understand as a single monolithic whole. The key ability is to create a clean mental model of each piece, even if the actual implementation or interface of that piece is nowhere near so clean, and put those models together to understand all the "between the cracks" stuff. That's the key bit of genius behind BitTorrent, for example. It's not that the individual pieces are so special, but that the emergent behavior of those pieces interacting with one another is very beneficial.

</comment><comment><USER6> Fascinating discussion in the comments about version control. This, in retrospect, is particularly good:

"If distributed operation is such a key feature, why is Subversion enjoying the amount of marketplace success it has?"

</comment><comment><USER7> Why everyone has to write new code to learn?

I find best way to learn is to read existing code. When I find interesting project, I download source code and read it from top to bottom. I may even fix a few bugs before hitting compiler.

<comment><USER8> You need good quality code to begin with. I have had a couple of jobs as a maintenance programmer for large projects, and the code on one was not something you could learn from. On the other hand I have been playing about with some Django third party modules, upgrading them to Python 3 for my project, and that is code I can learn from.

<comment><USER7> I started as maintenance programmer. I learned from that and now I just walk away from bad code, unless I get resources to fix it.

<comment><USER8> One of the jobs was for an investment bank. The job was crap. No one in my team of 5 lasted much more than a year. And sadly they did have the resources to hire more developers and address the problem that way. Brute force recruitment.

</comment></comment></comment></comment><comment><USER9> Redefine the problem.

 _A change in perspective is worth 80 IQ points._ \- Alan Kay

</comment><comment><USER10> > My suggestion for learning software architecture is to practice. Obviously > you can't practice it by doing hundreds of projects, because each one of > them takes too long, but you can easily design a hundred architectures for > problems which only exist on paper, and where you strive to just get the > solution to work on paper.

But, how do you get feedback to tell you if you're making the right or wrong decisions?

</comment><comment><USER11> Thanks for adding the 2004. I wondered why he was still bashing poor subversion and talking about codeville. Interesting thoughts otherwise. When I interview potential co-workers I ask what makes good code and it's interesting to hear the variety of answers. Definitely one of the best interview questions I have discovered. I think Mr. Cohen would pass my interview :-)

</comment><comment><USER12> Changing things dramatically for the better always seems to involve "forgetting what you know", ditching everything, and starting from scratch, doesn't it?

In relation to the other post about the Core Infrastructure Initiative here, you could use that principle and realize that funding and improving OpenSSL, will still keep things more or less as "secure" as they've been until now. But to truly improve the security of the infrastructure of the Internet, we need to rethink things from scratch, and fund and adopt those, too (in browsers, operating systems, etc).

</comment><comment><USER13> I'd also include knowing a lot about computers. Like how they work at a low level, how they represent numbers, low level networking protocol, how the operating system interfaces like interrupts, how processes and threads work. A computer science education really helps, but you'll also have to be able to solve problems and think about how theory and real physics world collide.

</comment><comment><USER14> Note this is from 2004.

</comment><comment><USER15> Title should probably have [2004] added to it.

</comment><comment><USER16> TLDR; Try to find as many different approaches as they can, once they have found a working solution.</comment>


Are We Ready for Satellites That See Our Every Move? - <AUTHOR> https://www.nytimes.com/2019/10/15/opinion/satellite-image-surveillance-that-could-see-you-and-your-coffee-mug.html <comment><USER2> Judas Priest was ready in 1982. Go listen to "Electric Eye". Is that really the future you want?</comment>


PolarSSL is dead, long live mbed TLS - <AUTHOR> http://community.arm.com/groups/internet-of-things/blog/2015/02/09/polarssl-is-dead-long-live-mbed-tls

<comment><USER2> Tl;DR - name change + license change to a more commercial friendly open source license.

</comment><comment><USER3> GPL => Apache license</comment>


Markdown: The Writing Tool for Software Developers - <AUTHOR> http://www.toptal.com/web/markdown-the-writing-tool-for-software-developers <comment><USER2> Great article!</comment>


Wireless electric vehicle charging - <AUTHOR> http://www.qualcomm.com/solutions/wireless-charging/qualcomm-halo

<comment><USER2> What i would love to see is an inductive cable run in the middle of each lane on the highway. You simply drive over the power source and get a continual charge as you drive along the freeway...

Can anyone tell me how this will cause cancer/kill children?</comment>