The golden gigaflop: Apple's shrinking performance sweet spot - <AUTHOR> https://medium.com/@pauli/the-golden-gigaflop-apple-s-shrinking-performance-sweet-spot-e1be50ff88d7#.hwfk1tg9d <comment><USER2> As I recall, Apple supposedly bought a Cray to simulate the 68030, and the apocryphal story is that someone announced to Cray that Apple had just bought one of his computers to help them design their next computer, to which he replied, "that's funny, I just bought one of their computers to help design my next computer". By the time this happened, Jobs would likely have been running NeXT (the first NeXT Cube shipped with a 68030).

Also, the article mentions Clayton Christensen's _The Innovator 's Dilemma_ focussing specifically on his disk drive manufacturer story, which was already outdated and wrong when he first published it (the "disrupted" companies went on to dominate and extinguish their "disruptors").

<comment><AUTHOR> Interesting -- I honestly didn't know that about Christensen's disk drive study. (I read the book ages ago and haven't kept up with the debate...)

I'd be happy to update the article with a link to discussion about the disk drive studies being wrong.

<comment><USER3> I'm not sure what discussion the OP was referring to, but there was a recent publication in the MIT Sloan Management Review: [http://www.bloomberg.com/news/articles/2015-10-05/did- clay-c...](http://www.bloomberg.com/news/articles/2015-10-05/did-clay- christensen-get-disruption-wrong-)

[http://sloanreview.mit.edu/article/how-useful-is-the- theory-...](http://sloanreview.mit.edu/article/how-useful-is-the-theory-of- disruptive-innovation/)

</comment></comment></comment><comment><USER4> > 20MB was quite a lot of space in the eighties!

Yes it was! I remember in 86/87, when I upgraded my original IBM PC from having two 5.25" floppies to having one floppy and a 40MB hard drive. All of a sudden my word processor, with 11 floppies, could be loaded on the drive and I didn't have to switch disks to spell check and it opened in seconds instead of minutes!

Back then the upgrade from two floppies to one floppy and a hard disk was way bigger than going from spinning disk to SSD (and that was a huge jump too)

<comment><USER5> A few years ago I had my mind slightly boggled when I realised that the new computer I'd just bought had exactly one million times as much storage as the first computer I ever owned (Amiga 500 with 5 MB -> Mac Pro with 5 TB).

<comment><USER6> My first computer had 4K RAM, 4K ROM BASIC (TRS-80 Model I). Your Amiga (and mine) seemed like a spaceship next to that Model I.

</comment></comment></comment><comment><USER7> According to John Sculley's in the book Points of View a tribute to Alan Kay, Apple invested in Cray hardware in order to simulate what the computing power of a desktop 10 years ahead would be and what kind of possibilities it would offer.

 _In 1987, Apple also invested in a Cray XMP 48 super computer which enabled our engineers to experiment with what real time manipulation of multidimensional objects on a screen would look and feel like many years before such computational power would be available on general purpose personal computers._

You can buy the book or download a PDF of it for free here: [http://vpri.org/pov/](http://vpri.org/pov/)

</comment><comment><USER8> It's not a gigaflop but a gigaflops and the flops part of it doesn't stand for a floating operation but floating operation per second.

<comment><USER9> Do you also write "two gigaflopses"?

<comment><USER10> One floating point operation per second

One flops

Two giga- floating point operations per second

Two gigaflops

<comment><USER9> Acronyms get pluralized separately from their contents, though. You wouldn't say "two CPU" or "two SSD" or "two taser."

<comment><USER11> But you would add an 's' to both of your examples to make two central processing units (CPUs) and two solid state drives (SSDs). I agree, it's a weird rule but it certainly sounds better.

When the pluralization happens in the middle of the acronym it becomes weird -- one FLOPS, two FLOPsS?

<comment><USER9> Both of my three examples?

Anyway, you're right, they would all get an S at the end either way.

A better example would be "captcha." You'd say "two captchas," not "two captcha" or "two captscha."

For a less polite example that works the same way, consider MILF.

</comment></comment></comment></comment></comment></comment><comment><USER12> >The iPad makes a somewhat distracting bump in that chart. If we ignore the years and just swap the iPhone and iPad, we get this rather tidy logarithmic curve instead

It would have been more honest and accurate just to have discarded the point for the ipad.

<comment><AUTHOR> The point is that the iPad fills a slot on the logarithmic volume curve almost exactly between the PowerBook and the iPhone -- it was just released "out of order".

I'll edit the sentence to make this more clear.

<comment><USER13> This is a dangerous road to travel. Any dataset can be reordered to yield a monotonic result.

<comment><AUTHOR> Certainly. But in this case it makes sense to reorder the dataset by descending physical volume, because the nearly constant multiplier between the steps becomes apparent.

<comment><USER14> Once you allow that, you can put anything in that graph. For example, that jump in the graph between the Cray and the AlphaServer calls for a product of around 3 cubic meters. I conclude that the Apple car will be more like a people mover than a car :-)

<comment><USER15> But the interesting thing, is that the iPad was created _before_ the iPhone, and shelved to make way for the iPhone, so I'd say the modified graph reflects if not the release order, at least the order of innovation.

</comment></comment></comment></comment></comment></comment><comment><USER16> This is a very Kurzweil-esque look at computing, even though narrowly focused at Apple. Extrapolating exponential progress yields some interesting predictions.

</comment><comment><USER17> Apple's Cray was purple, called "tma1" due its resemblance to the Monolith, and my understanding is that it was used for flow modeling of injection moulding for Macintosh II series cases.

</comment><comment><USER18> pavlov, This is a super interesting way to think about computing devices from Apple. If I think about two orders of magnitude down, I get to maybe an earring; some sort of wearable terminal, a-la Ian Banks' Culture series. We've had glasses already, although they kind of suck.

It's an extremely cool idea to start thinking about making an interface with a gigaflop budget and a size estimate. You didn't hit on it, but there are bandwidth budgets that generally follow a curve as well. I'm not sure what the curve is, but it's probably straight-ish (up) on a logarithmic graph.

So if I combine a gigaflop in an earring with 1gigabit of low energy wireless, what do I get for an interface, or use cases?

</comment><comment><USER19> I wish Apple focuses instead on bigger hardware (mac server, mac pros) for scientific computing and video/graphic applications. Professionals like the Apple GUI but if you can't find a machine with a good nvidia card, many will just have to jump to another platform

<comment><USER20> I don't think they would make sense for production use.

Maybe instead Apple could do a commercial GUI on top of a "proper" Linux core.

Now the production stuff that runs on Linux anyway, sorta kinda works on mac for local development most of the time, with Homebrew etc.. (Homebrew is great, I just installed ag today, I think it even compiled it from source)

There aren't much real alternatives to Linux for servers, but there are to macs for desktop. Business people are using Windows anyway, and technical people could switch to Linux if they can forgo Office. They would need professional Linux support though.

Or then Apple could help create a good package system.

<comment><USER21> Why would you want an Apple GUI on headless hardware? Apple seems content to run Linux for their web servers[0]. Pixar, when still majority owned by Steve Jobs, used Linux for its render farms[1].

Before Steve Jobs returned, Apple was working on MkLinux[2], but that effort seemed to fizzle out, and it seemed like in later years, the idea of using Linux as a starting point was a non-starter[3]. Even Airport devices typically have run either VxWorks or - more recently - NetBSD.

0 - [http://toolbar.netcraft.com/site_report/?url=http%3A%2F%2Fap...](http://toolbar.netcraft.com/site_report/?url=http%3A%2F%2Fapple.com) 1 - [http://www.macobserver.com/tmo/article/Pixar_Big_on_Linux_Cl...](http://www.macobserver.com/tmo/article/Pixar_Big_on_Linux_Clusters_- _Mac_Not_so_Much_) 2 - [https://en.wikipedia.org/wiki/MkLinux](https://en.wikipedia.org/wiki/MkLinux) 3 - [http://www.wired.com/2008/11/the-iphone- coul/](http://www.wired.com/2008/11/the-iphone-coul/)

<comment><USER20> I meant the opposite - Linux for my Macbook.

</comment></comment></comment></comment><comment><USER22> "The Power Mac G4 Cube was an outright failure."

 _sniff_

My favorite PC design ever, so sad. RIP!</comment>


Hacker's Delight, 2nd Edition - <AUTHOR> http://www.informit.com/store/product.aspx?isbn=0321842685

<comment><USER2> If you haven't read the first one, it is a book filled with programming gems. I have personally used the magic number division algorithm in my CUDA programming, resulting in a ~50x speedup. Highly recommended.

<comment><USER3> You may not realize it, but that's a quite damning statement on the CUDA compiler.

</comment></comment><comment><USER4> Does any of you know if this edition adds/removes chapters? Should I buy first and second edition or this one will suffice without losing any information?

</comment><comment><USER5> It has 512 pages. He clearly couldn't resist...

<comment><USER6> Also he probably had enough influence with the publisher after the success of the first edition to pull it off with this one.

</comment></comment><comment><USER7> This book is getting a second edition? Awesome. Save AoCP this is the book I'd most like to see continued/expanded.

</comment><comment><USER8> I hate to be Captain Cheapskate here but is this worth $39 (for the ebook) over web resources? Seems high.

<comment><USER9> When I was but a poor college student not many years ago I had the first edition constantly checked out from the library. The content is easily worth $39 for interest's sake. If you're looking for usefulness, however, you're not likely to find it unless you're working on some really low level code.

TOC for reference: <http://www.hackersdelight.org/hackerTOC.pdf>

</comment></comment><comment><USER10> Books accompanying website here (includes samples, code, graphs and related sites):

<http://www.hackersdelight.org/>

</comment><comment><USER11> I love this book but I'm not sure "Hacker's Delight" is really a proper name for it. More like "The Bit Twiddler's Guide To Fame And Fortune"

</comment><comment><USER12> Great book indeed!</comment>


Runtime-Compiled C++ - <AUTHOR> https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus <comment><USER2> In case anyone is wondering how the magic works, I am guessing it is using shared libraries (but on top of that a lot of syntactic sugar). Also a good teaser video of it here (although I think it is older): [http://vimeo.com/26224634](http://vimeo.com/26224634)

Also, you can find the author here, who is also working on some interesting stuff outside of RCC: [https://twitter.com/dougbinks](https://twitter.com/dougbinks)

<comment><USER3> "The runtime-modifiable classes use a macro that registers the files themselves to be monitored. Whenever one of those files changes, we pick it up and recompile it into a DLL. By linking that DLL we can switch over to the new code, leaving the original EXE file untouched. This way we avoid any interpreter and use native compiled C++ throughout."

(from [http://www.runtimecompiledcplusplus.blogspot.co.uk/2011/07/t...](http://www.runtimecompiledcplusplus.blogspot.co.uk/2011/07/teaser.html))

<comment><USER4> Is that really necessary? I mean, we have JIT compilers nowadays, and they all produce native code at runtime, without such tricks.

<comment><USER2> Yes, there are JIT compilers, see (not just first answer): [http://programmers.stackexchange.com/questions/29344/jit- com...](http://programmers.stackexchange.com/questions/29344/jit-compiler-for- c-c-and-the-likes)

I'm not sure why these solutions have not caught on yet (seemingly). Performance? Code complexity (i.e. invalidated pointers from recompile)?

<comment><USER5> I think the biggest challenge is compilation time. With the lack of incremental compilation modifying more complex classes can result in long compilation time. Same is true for modifying templates that are widely used within the code base.

If you look for example at runtime compilation of queries in database systems, compiling can take significant amount of time, at least enough so it doesn't feel instant anymore.

To get incremental compilation, one would need fully dynamic dispatched invocation which would be probably horrible slow.

This said, I'm a strong believer in runtime code generation, just with a reduced scope rather than full c++.

<comment><USER6> A lot of the complexity of the RCC++ solution over others (I listed those I can find on the wiki [https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledC...](https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus/wiki/Alternatives)) is about compiling the minimum possible code quickly in a platform independent way. I'd love to see C++ get modules in the spec, along with introspection to make this easier.

Compiling C++ code at runtime is less about end-user code than about improving developer workflow for those who use C++ and want rapid iteration (game developers for example), so avoiding extra languages and VMs is one of the goals.

As for full dynamic dispatch, RCC++ does use virtual functions. I advocate using a 'data oriented approach' so the function table pointer lookup should be amortized by having expensive functions process multiple data items. In practice in my own code I see no detectable overhead.

</comment></comment></comment></comment></comment></comment><comment><USER7> really cool; would love it more if it was just 1 or 2 files. i think it needs a bit more docs too.

<comment><USER6> Yes, I do need to add more docs - work is getting in the way a bit at the moment though I'm using RCC++ for that so am maintaining and improving it as I go.</comment></comment>


Google Accused of Creating Spy Tool to Squelch Worker Dissent - <AUTHOR> https://www.msn.com/en-us/news/technology/google-accused-of-creating-spy-tool-to-squelch-worker-dissent/ar-AAJg5rR <comment><USER2> I'm pretty sure if Bigcorp really wanted to spy on its employees there are more stealthy ways to do it.</comment>


Bluzelle Decentralized Database testnet ready for public - <AUTHOR> https://blog.bluzelle.com/bluzelle-lovelace-is-now-released-7517f0715133 <comment><AUTHOR> Following are the key features I am proud to announce:

        Ethereum Solidity smart contract support. We have reached and exceeded this important goal, with the bonus ability to do full CRUD, which includes write operations.
        NEO C# smart contract support. We have also exceeded this important goal, with the bonus ability to do full CRUD, which includes write operations.
        Javascript support. We have full CRUD support from Javascript applications, whether they be node.js applications or web applications or other uses of Javascript.
        Python support. Python scripts whether in a web server or standalone are able to access the Bluzelle network with full CRUD support.
        A public-facing test network on the Internet, open to the public to develop against using any available interfaces including WebSockets, as well as our command line interface. This is the ideal means for someone to build drivers and support for Bluzelle from other languages and platforms.
        Support to launch private test Bluzelle swarms, mostly for use by development teams working on integrations and collaborations.</comment>


The Whole Haystack: The N.S.A. claims it needs access to all our phone records - <AUTHOR> http://www.newyorker.com/magazine/2015/01/26/whole-haystack <comment><USER3> The NSA keeps using this "54 terror plots thwarted" rhetoric, but there has never been any information released to back up that claim.

From Sen. Patrick Leahy, after reading the full classified list:

 _"We 've heard over and over again the assertion that 54 terrorist plots were thwarted" by the two programs, Leahy told Alexander at the Judiciary Committee hearing this month. "That's plainly wrong, but we still get it in letters to members of Congress, we get it in statements. These weren't all plots and they weren't all thwarted. The American people are getting left with the inaccurate impression of the effectiveness of NSA programs."_ ([http://www.propublica.org/article/claim-on-attacks- thwarted-...](http://www.propublica.org/article/claim-on-attacks-thwarted-by- nsa-spreads-despite-lack-of-evidence))

<comment><USER4> Further, even assuming that number is correct, how many people do you figure die in the average successful terrorist plot? Let's say 100 as a high average.

That means 300,000,000 Americans (and billions of foreigners) are having their rights violated and wallets emptied via taxation every day to save 5400 lives over the course of 14 years.

Admittedly, it's 55% more likely than getting struck by lightning, but...

<comment><USER5> I'm not saying your conclusion isn't wrong, but your argument probably is - largely because there are many costs of terrorism beyond simply loss of life - it's an incredibly efficient way to disrupt a nation.

For example, some estimates of the cost of 9/11 (I think including the costs of Iraq and Afghanistan) suggest that each American is out to the tune of $10,000 [0]. If the NSA were able to prevent one 9/11 style event, they'd in one step justify their budget for 300 years (if you ignore Iraq and Afghanistan, it goes down to 75 years, but in many ways at least Afghanistan was very much caused by 9/11).

[0] - [http://www.nytimes.com/interactive/2011/09/08/us/sept-11-rec...](http://www.nytimes.com/interactive/2011/09/08/us/sept-11-reckoning/cost- graphic.html)

<comment><USER6> You can't really blame the terrorists for the response. Spain, France, Norway and Germany have all dealt with terrorism over the last decades and not a single one of them has invaded other countries in response to such an attack.

And to say that Afghanistan was caused by 9/11 is a total reversal of what actually happened, 9/11 happened because of CIA involvement in Afghanistan.

<comment><USER5> Clearly different circumstances however Spain, France, Germany, Norway all invaded Afghanistan, and Spain and Norway also invaded Iraq. Perhaps not as a direct response, though.

To your second point, it's clearly a very complicated blame game, but trying to distill it down to fit your own point is not helpful. We can easily follow the chain of events backwards - for example had the USSR not invaded Afghanistan, this might have all been avoided.

Certainly the trigger point was the Taliban refusing to hand over Bin Laden, thus providing a safe haven for him and other like minded folk.

This all seems to be besides my original point, which was that terror attacks clearly cost far more than the lives of the people killed, and so arguing that the benefit of the NSA is minimal by considering only a tiny fragment of its potential benefit is fallacious.

<comment><USER7> > _and so arguing that the benefit of the NSA is minimal by considering only a > tiny fragment of its potential benefit is fallacious._

It's indeed fallacious because there is no benefit of the NSA at all - <USER2> current activities are the very _cost_ of 9/11 attacks. Civilian deaths are not the goal of a terror attack, they're just collateral damage, means to an end. The goal of an attack is to, as you wrote, "disrupt a nation" \- which is not something that the bombs do, it's something that the nation does to itself by having a crazy overreaction.

<comment><USER5> That only works if you assume that there's only ever one attack. If it thwarts another, then it's benefiting. In any case, I wouldn't really argue that the NSA 'disrupts' the nation at all - the spending on it is only a little larger than at the end of the cold war, and apart from the recent news stories only a very small minority will actually be affected by it in their daily lives.

<comment><USER8> >the spending on it is only a little larger than at the end of the cold war

I hope you realize that this means the spending on it is quite high, indeed.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> On principle, I have no real problem with the NSA having access to phone records (pen register) for purposes of combating actual terrorism. I deem that an acceptable intrusion. Besides, my phone company already has those records and uses them for their profit.

The problem is that the NSA can no longer be trusted to confine its use to terrorism. Drug investigations, immigration issues, even IRS investigations are using this data. I half expect speeding to be enforced via phone metadata (GPS). Snowden has also shown us that untold thousands of people have access to this data with little oversight. I trust actual spies. I do not trust thousands of twenty-somethings for whom promotion depends on finding some way of turning my phone records into evidence of crime.

Nor do I want my phone records used in any non-NSA security checks. I work in a field (legal) where I do occasionally come into contact with very bad people. It was a legal clinic. He was my client. The fact that we spoke regularly should not follow me forever.

<comment><USER10> _> >On principle, I have no real problem with the NSA having access to phone records (pen register) for purposes of combating actual terrorism._

Right, if they actually _first_ determine that a person is a terrorist, _then_ they start spying, that'd be one thing. But instead, what we have now _(or at least what they 're asking for)_ is almost like this:

[http://www.criticalcommons.org/Members/ccManager/clips/DarkK...](http://www.criticalcommons.org/Members/ccManager/clips/DarkKnightMontage.mov/view)

Basically, no one person/organization should have this data at their immediate finger tips. It will be abused; it's human nature. A more acceptable way to do this is let Apple/Google make their impossible-to-break-encryption-whatever stuff, then when law enforcement gives a warrant for a particular phone number, that specific phone gets pushed a firmware update or something that disables encryption. Pre-emptively/retroactively having access to everyone's phone data at all times is bad.

<comment><USER5> Of course, if you wait for people to commit acts of terror before you start spying on them, you've kinda missed the point of spying.

The fix here is access control. When we have a problem like terror, civil liberties are the first thing to get thrown under the bus - and trying to fight that will generally end badly. Too many people complain that the NSA has these unconstitutional wire tapping programs - where they have next to no chance of making even the smallest difference to the existence of those programs.

What people should actually be doing is meeting half way and attempting to put up firewalls on the data, to make sure it can't be abused where possible. So no giving the data to other agencies without a warrant - monitor the people who have access, and make sure that if they do searches for specific people, that's logged and audited.

Most reasonable people would probably be fine with having some of their communications monitored, were it in some way guaranteed that their data would only ever to be considered in any detail (i.e. by a human) if they were seriously accused of being a terrorist. Personally, I can easily accept that there are certain cases in which I'd have to give up some of my freedoms in the interest of the nation.

My concern is that this data might made more widely available - for example in the DEA's parallel construction cases (or with RIPA in the UK) - where it's clearly being used in ways against the spirit of the law. Were the NSA clearly told - yes, you can collect this data, but you can't share it with other branches of the government and you may only use it for finding terrorists, that's fine in my opinion - unless I'm a terrorist I'm never even going to find out that I've been monitored, and no one will be able to use the data against me.

</comment></comment></comment><comment><USER11> The excuse for this massive intrusion is terrorism but:

> Nearly all of the highest-profile domestic terrorism plots in the United > States since 9/11 featured the "direct involvement" of government agents or > informants, a new report says.

> [http://www.theguardian.com/world/2014/jul/21/government- > agen...](http://www.theguardian.com/world/2014/jul/21/government-agents- > directly-involved-us-terror-plots-report)

<comment><USER12> Also for perspective:

3467 people in the USA have been killed by terror attacks[1] since 1970.

In the same timeframe 2091 americans were killed by lightning strike[2] and roughly 102.000.000 died of old age.

[1] [http://www.start.umd.edu/gtd/search/Results.aspx?chart=fatal...](http://www.start.umd.edu/gtd/search/Results.aspx?chart=fatalities&casualties_type=&casualties_max=&country=217&count=100)

[2] [http://en.wikipedia.org/wiki/Lightning_strike#Epidemiology](http://en.wikipedia.org/wiki/Lightning_strike#Epidemiology)

<comment><USER13> It's probably also worth noting that 9/11 accounts for 2953, or a staggering 85%, of those terror related deaths.

<comment><USER14> Just to clarify where this number comes from: Wikipedia tells me the number of deaths caused by the 9/11 attacks was "2,996 (2,977 victims, 19 hijackers)". Where do I find 2953?

<comment><USER15> I think he did what I did: sorted by fatalities, found the top 3 which were 9/11 and added them up. He was missing flight 93 which would bring the total to 2997. Here are the relevant incident summaries:

[http://www.start.umd.edu/gtd/search/IncidentSummary.aspx?gtd...](http://www.start.umd.edu/gtd/search/IncidentSummary.aspx?gtdid=200109110004)

[http://www.start.umd.edu/gtd/search/IncidentSummary.aspx?gtd...](http://www.start.umd.edu/gtd/search/IncidentSummary.aspx?gtdid=200109110005)

[http://www.start.umd.edu/gtd/search/IncidentSummary.aspx?gtd...](http://www.start.umd.edu/gtd/search/IncidentSummary.aspx?gtdid=200109110006)

[http://www.start.umd.edu/gtd/search/IncidentSummary.aspx?gtd...](http://www.start.umd.edu/gtd/search/IncidentSummary.aspx?gtdid=200109110007)

Wikipedia has a bunch of random news articles as sources and even it's own entry for casualties saying 2606 at WTC, 125 at Pentagon, and "About 292 people[citation needed]" killed by "burning debris and falling bodies" on the street.

</comment></comment></comment></comment></comment><comment><USER16> I feel like I'm stating the obvious a bit here to HN, but does anybody else think this might have more to do with something completely removed from terrorism. Like tracking the intricacies of various global markets, cultural movements, politicians, judges, activists and other influencers in society. Like basically an opportunity to see everybody at the table's cards (including your friends) in order to maximize power? Basically arranging enough small advantages through calculation in order to statistically improve success in all manner of maneuvers. The ability to further reduce any semblance of the democratic process by taking your average politician's polling strategy to a much higher level?

Is there a book on this that anybody recommends? Is this what Art of War is about or something?

<comment><USER17> It is a misconception that the NSA is an anti-terrorism agency.

It is a general signal intelligence agency. It's job is the gather as much foreign intelligence as possible. And that sure includes:Like tracking the intricacies of various global markets, cultural movements, politicians, judges, activists and other influencers in society. Like basically an opportunity to see everybody at the table's cards (including your friends) in order to maximize power?

Where you go wrong is assuming that means they have some dastardly plan to subvert global democracy.

The government just really wants good intel. They want to know if Russian sanctions are working. They want to know if N. Korea is really just bullshiting or do they mean it. They want to know how much longer with Germany prop up Southern Europe. They want to know if Cuba is serious about opening up trade. They want to know if some French scientist is about to develop software that beats US electronic warfare defenses on their AEGIS destroyers.

<comment><USER16> Great response, thank you. You're right, it's hard during this current media push to remember that these organizations aren't just fighting terror. I suppose that is the easiest way to market them to keep the public from getting to concerned over it.

What if they are using the intel they are gathering in order to influence the public's opinion as effectively as possible? It's that sort of power consolidation that worries me and makes me question when an allegiance to the democratic nation that created them starts to fade away.

How does a free nation effectively control an intelligence agency like this to prevent it from slowly usurping all the seats of power? It seems to me that with the expanding technological capabilities of our modern age, we are feeding our guard dog a new super food and it's going to bite our neck if we try to slow down the input and tighten it's leash.

<comment><USER17> It's possible, but there is no indication that the US security agencies "go rouge." The NSA might be stretching the 4th Amendment but it does so at the command of the President and it does within the bounds of the law.

When Obama had the CIA kill a US citizen, they wrote a legal memo about it.

The rule of law is still worshiped in the US.

It helps that the leadership of these agencies are political appointees and then rank and file are just regular bureaucrats.

The guys at the NSA aren't some secret cabal. It's the nerdy dood you play Settles of Caatan with at a game club in DC.

I also think controlling public opinion is a lot harder than you are imagining. Even in N. Korea the people generally know their country is bullshiting them.

<comment><USER16> I hope you are right. Ultimately I'm not opposed to American intelligence agencies. I'm aware that there are big threats beyond terrorism and it's important for us to have the best team with the best resources. If things escalate with China for example I'm willing to accept that sacrifices will have to be made to our concept of privacy as a wartime measure. If we have to pull pages out of Art of War to win this thing then I guess that's that.

I just worry that they have in fact gone rouge and have lost track of their real duty. Snowden's critique of citizen surveillance aside, his critique of America's ability to protect ourselves from China after crippling our nation's encryption efforts is what really bothers me. I'm worried that the agency, in an attempt to tighten it's grip on the western world's communication, is missing the important window to instead begin locking things down. They are missing our chance to get our corporations, institutions and infrastructure encrypted properly to protect civilians from cyberwar fallout. Protecting us from a modern war modelled in part on America's WWII strategic bombing campaign of German civilians in an era when we no longer have the geographical advantage of two oceans keeping us safe.

I think they got a taste of the power that comes with total information (not unlike the advertising world is with leaders like Zuckerburg [but thats another post...]) and are not willing to give it up and smarten up.

</comment></comment></comment></comment></comment><comment><USER18> This covers what I see as one of the biggest reasons for stopping the collection: It simply does not work. We are "winning" the war on terror just like we are "winning" the war on drugs in that we aren't making a dent at all and some argue that our actions in both fields actually spur on the exact activities they are meant to curb/destroy.

Don't get me wrong, I don't trust them with the data in the first place but even if I did it's been proven again and again that our privacy is being invaded and no positives are coming out of it. The NSA would have a much stronger position if it was "Yes, you have no privacy but there is also no terror" instead we have no privacy and terror attacks abound.

</comment><comment><USER19> Several powerful trends have aligned to profoundly change the way that the world works. Technology now allows stateless groups to organize, recruit, and fund themselves in an unprecedented fashion. That, coupled with the extreme difficulty of finding and punishing a stateless group, means that stateless groups are positioned to be lead players on the world stage. They may act on their own, or they may act as proxies for nation-states that wish to duck responsibility. Either way, stateless groups are forces to be reckoned with.

At the same time, a different set of technology trends means that small numbers of people can obtain incredibly lethal power. Now, for the first time in human history, a small group can be as lethal as the largest superpower. Such a group could execute an attack that could kill millions of people. It is technically feasible for such a group to kill billions of people, to end modern civilization—perhaps even to drive the human race to extinction.

I encourage anyone to read a relevant paper linked below by Nathan Myhrvold.

[http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2290382&d...](http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2290382&download=yes)

<comment><USER20> The forces you describe have been in effect for more than half a century, and during that time the actual damage we've seen from stateless actors has been miniscule compared to what has been visited on people by their own governments, governments that have been granted too much power out of fear.

We don't need more dragnet surveillance, we need courage and perspective. Yes, there is a possibility that a stateless actor could end the world. There's lots of other ways the world could end too.

<comment><USER19> There is a trade off between the collective rights of the innocent citizenry and the rights of the victims of the crimes that can be avoided. At some point the cost of civilian lives will exceed the cost of strain on civil liberties.

Technology progress and, ultimately the potential magnitude of destruction, is expanding at an exponential rate. Therefore looking at the past 50 years is synonymous with driving by looking through the rear view of the car.

Your civil liberties will begin to erode. Even if a bill is passed that revokes the rights of the NSA, at some point in the next few decades a destructive event due to technology innovation and commoditization of knowledge will cause these civil liberties to be eroded.

<comment><USER21> What evidence exists that terrorism has reached or will soon reach such a scale? I see a lot of fear in your comments but not a lot of facts. How will a stateless actor kill billions of people? How will they even come close to matching the terrorism of second hand smoke or car crashes?

Hand-wavy extrapolations of technological progress are far from sufficient justification for giving up civil liberties. We need actual, public evidence of a sizable threat, actual public proof that the agencies asking for this invasive power can be trusted, and most importantly, _actual public proof that these invasive powers will solve the problem they purport to solve at less social and financial cost than any other approach_.

<comment><USER19> Let's state the facts: There are biological, chemical, and nuclear weapons that can kill millions of people today owned by state organizations. Some of these states have questionable long-term motives whether driven by power or resources.

There are stateless organizations that would use those weapons in a moment's notice against the entire population of the United States.

What you are suggesting is that there is no current evidence of weapons of mass destruction being moved or the knowledge and capital required to make such weapons being from a state to a state-less organization. I disagree:

Number of terrorist groups that have demonstrated interest in acquiring a nuclear weapon: 4

Al Qaeda, Chechnya-based separatists, Lashkar-e-Taiba, and Aum Shinrikyo

Number of terrorist groups that may be capable of acquiring and using nuclear weapons: 5

Al Qaeda, North Caucasus-based separatists, Lashkar-e-Tayyib, Hezbollah, Taliban

Number of known groups that have attempted to buy nuclear material on the black market: 2

Aum Shinrikyo and Al Qaeda

Even if so, there is evidence of weapons of such scale in questionable states such as Syria. In addition there is evidence of weapons transfer, albeit not chemical, biological, or nuclear, to stateless organizations.

Millions of people do not have to die to have a substantial impact on a nation. For you what is that number? Is it in a nominal amount of deaths that reach above the amount of second hand smoke or car crashes?

Regardless, from a perspective of economic cost giving up the civil liberty of driving as a result of deaths is not parallel to giving up the civil liberty of someone checking your phone records.

For now you will not be willing to give up your civil liberty since the probability of you being hit by a terrorist attack is low ( I would be willing to wager you to do not live in major metropolitan city). Given the current pace it is a function of time before a stateless organization increases its death count. At that point you will be willing to give up some of your civil liberties.

<comment><USER21> _At that point you will be willing to give up some of your civil liberties._

This is unlikely. Let's assume for the sake of argument that you have satisfied requirement #1 (proof of a threat). #2 (proof of trustworthiness) and #3 (proof of efficacy and best approach) remain unsatisfied. How is reading my email and leaving vulnerabilities in my software going to prevent a non-state group from buying a WMD?

If we ever reach that point it will be a sign that we have totally failed to build a global enlightened society. I remain unconvinced that universal snooping will even help with that at all, let alone be the most effective approach.

</comment></comment></comment></comment></comment></comment><comment><USER22> What ever happened to being innocent until proven guilty? Once you give up freedoms they are almost impossible to get back.

<comment><USER23> This is my take on things. The NSA, via it's domestic spying on US citizen has massive dirt on US Senators and Congressmen which they hold over them. How do you explain the constant watering down of legislation to resolve these issues?

<comment><USER24> Easy. The NSA does what the government tells them to. Why would the government choose to limit its own power if its hand were not forced?

</comment></comment></comment><comment><USER25> Kinda bad analogy but I'll make it:

do you really need to be storing GB's of log files because you might have a bug in the future?

Yes, to maximize your chances of making the most robust response to a bug or hack, "all the information" needs to be there.

To bring this back to terrorism, it's not about never having another incident like Paris, but being able to recognize the extent of the problem after the fact (who's talking to who?), and being sure your solution solves the problem as far is it can be traced.

Downvoted, but not replied to...unacceptable.

<comment><USER26> "Downvoted, but not replied to...unacceptable."

Do not digress from a thread to discuss the scoring system.

Write your post, have your discussion, but do not inject meta-scoring chat into your posts.

</comment></comment><comment><USER27> it's pretty insane that the conclusions reached after 9/11 were that we had the information to thwart the plot but the information we had wasn't being properly shared between agencies and 14 years later it sounds like while these agencies have unfettered access to even more information, it still isn't being properly shared between agencies. In the mean time American citizens have some of the dust left over from our 4th Amendment rights while non US citizens have less than zero in regards to 4th Amendment rights.

<comment><USER28> Would you really want all the information the NSA collects to be shared freely between agencies?

<comment><USER27> Oh no, of course not.

I would much prefer the 4th Amendment rights be honored, and the laws that allow for this catch all surveillance be removed. Instead, allow for exemptions (which might already be /have been for some time in place) where law enforcement can use surveillance and some times go beyond the normal scope when it pertains to an actual investigation and when a impartial judge has signed off on it.

It is my view that the changes that were made in the past make us no safer today and the original problem (agencies not sharing information when pertinent) doesn't seem to be solved and most likely worsened due to the abundance of (irrelevant) information they now have. I think a good analogy of the situation is you've had agencies sifting through piles of needles (somewhat organized) and rather than giving said agencies tools to better organize the needles, we've just dumped a truckload of more needles on top of what we already had.

</comment></comment></comment><comment><USER29> Remember, the NSA is already recording all cell phone calls in the Bahamas [https://firstlook.org/theintercept/article/2014/05/19/data-p...](https://firstlook.org/theintercept/article/2014/05/19/data- pirates-caribbean-nsa-recording-every-cell-phone-call-bahamas/) and Afghanistan. [https://wikileaks.org/WikiLeaks-statement-on-the- mass.html](https://wikileaks.org/WikiLeaks-statement-on-the-mass.html) The recordings are kept for at least 30 days, or longer if they are interesting.

</comment><comment><USER30> Maybe they should have said "our mathematical models need X coverage of population to <observe> reliably".

At least people could have a slightly more informed sense of outrage then.

</comment><comment><USER31> Call your Congressmen and Senators [1]. If you write to them, do not use a form letter.

In one or two sentences, explain who you are and why your opinion on this is relevant. Ask for their position on the issue. Then, conservatively state your views. Avoid extreme or outraged language.

Last week, I reached out to my senators and Congresswoman about the CISPA bill [2]. The issue found a place on one Senator's evening agenda and prompted a follow-up from the Representative. An upside to this country's low democratic participation is the undiluted return on making the effort to reach out.

[1] [http://whoismyrepresentative.com/member/view/M000087/](http://whoismyrepresentative.com/member/view/M000087/)

[2] [http://gizmodo.com/the-new-cispa-bill-is-literally- exactly-t...](http://gizmodo.com/the-new-cispa-bill-is-literally-exactly-the- same-as-the-1679496808)

</comment><comment><USER32> I realize that articles is biased...

Am I the only one who read "sending eighty-five hundred dollars" as "eighty- five _million_ dollars"; only then to skip back to read it as "hundred".

I'm glad to know that we managed to deal terrorism a death blow by making sure these $8500 never reached the Somali militia. Oh wait, we have not even stopped the $8500 to get there.

Seriously, if we want save lives, why not invest all this money where it actually, uhm, saves lives. For example health care. But, hey, that is somehow unamerican.

Or since lightening strikes kill more people than terrorism does, I suggest we also spend all this money to build giant metal-wire tents over all major cities.

It's hard to keep the sarcasm in check with so much paranoia involved.

</comment><comment><USER33> If they're asking for it, they're already doing it and now looking for a legal cover.

</comment><comment><USER34> Citing Section 215 of the Patriot Act is an unusual choice here, as there are many cross-covering legal authorities. (In the article's defense, it points this out).

Assuming folks stayed in for the entire tick-tock of the Somalia example, we're left with the impression that Section 215 hasn't really paid off that much. But where does that really lead us? If we get rid of 215, we still have warrantless collection of both metadata and data.

I think we're looking at this the wrong way. The thing I want to know is this: _as an American citizen who is supposed to be in charge of these well-meaning but ill-led folks, how do I stop them from collecting data on myself and other citizens?_

We debate these policies one at a time as each law or provision is discussed, but nobody seems to be wrapping it all up into a package or proposal that I can support or vote for.

</comment><comment><USER35> Living in Brussels with soldiers in the streets now, I wonder - would I mind free govt access to my phone and email if it would have prevented all the crap that happened in Paris?

<comment><USER36> Even if you wouldn't mind, there is your neighbor who would've. Should someone then put him in prison for having another opinion?

<comment><USER35> Sorry I don't follow, why would that happen?

</comment></comment></comment><comment><USER37> the real danger with the NSA is Moore's Law. you can't do a greal deal with this data at the point of collection, but collecting it for a few decades, while Moore's Law ramps up, will put you in an incredible position of overwhelming power at the end of that time.

look at how J. Edgar Hoover obsessively spied on American politicians, and imagine him doing so in 2035, backed up with decades of data, plus computing power as superior to ours as ours is superior to 1995's.

<comment><USER24> Indeed. It'd be foolish not to do it.

</comment></comment><comment><USER38> "sure, you can have mine if i can have yours."

<comment><USER39> Actually make _everything_ collected _actually fully public_ , with no exclusions on who is collected from. If it's collected, it's public. After all, the collection was paid for with public monkey. No need to put in FOI Requests for this data, since it would be public. Crowd source the the mining of the data. A completely transparent society.

Nobody in power would actually be for this (but they expect everyone to be), since it would reveal way more than their claims of what they are searching for/using it for. If we, the public, are expected to trust these agencies and those in power with our data, then we should be able to trust each other. Unfortunately, we'd still here rhetoric about how some people, often those in power, are _more_ trustworthy than others.

Really, the same response works for "I have nothing to hide". If the goals of the surveillance are so morally and ethically pure, and the public can be trusted not to abuse the data, then there revealing all the data to the public would confirm the pure motives and actions.

</comment></comment><comment><USER40> I wonder what is the purpose of all those comics included each few paragraphs for all the text extension... To make the people distracted and thinking in happy talking animals whereas his lives are scanned?

</comment><comment><USER41> If there were some independent/third party responsible for the sifting that took requests from NSA, I could maybe see accepting it.

</comment><comment><USER42> Why these writers think that they need to paint the canvas with the entire history of the NSA for these types of stories is beyond me.

</comment><comment><USER43> Maybe instead of revoking every global citizen's right to any type of privacy, the government should address the issue behind the terrorism: namely, radical Islam being allowed to proliferate freely and metastasize.

<comment><USER11> The US government wants their allies the Saudis to keep funding and producing radicals so that it has an excuse to continue with its global surveillance plan.

It's a great scam. People seem to fall for it.

</comment></comment><comment><USER44> "All men are created equal" except if they happen to be non-americans

<comment><USER45> As a practical matter privacy from ones own government should be a higher priority than from a foreign government who has less direct control over you.

<comment><USER3> Arguably true, but only the U.S. government has the ability to drop a bomb on you in many (if not most) countries.</comment></comment></comment>


How To Pass The Turing Test By Cheating - <AUTHOR> http://www.nyu.edu/gsas/dept/philo/courses/mindsandmachines/Papers/hutchens96how.pdf

<comment><AUTHOR> This is an interesting story of how someone gamed the Loebner contest. He didnt set out model AI or any of that just plain cheated.</comment>


Dell XPS13 Developer/Sputnik Available (Ubuntu Pre-Installed) - <AUTHOR> http://bartongeorge.net/2015/04/09/4th-gen-dell-xps-13-developer-edition-available

<comment><AUTHOR> More info, specifically on installing Linux on a Windows version of the laptop, here: [https://github.com/mpalourdio/xps13](https://github.com/mpalourdio/xps13)</comment>


Ask HN: What is the best computer for $1100? 13in MacBook Pro or... - <AUTHOR>

I have to get a new computer. My 5yr old 15in MBP is basically a desktop that can't play fullscreen video. What would you recommend? What is the best value for web dev? Usage: Browser, cross platform testing, editor, photoshop, illustrator <comment><USER2> There are a lot of good laptops in that price range these days. The deciding factor is probably going to be non-technical : OS preference, style / design, customer service. That said, here are the ones I've been looking at:

MBP 13": Yeah, it's really 1199, but it's worth the extra cash if you want OSX (and you'll get it for less if you can claim student status). You already have a MBP, so this is an obvious choice. Added bonus: they _just_ got a refresh, so you're looking at shiny new tech.

HP Envy 14: The route to take if you are in love with the MBP's style / build quality, but don't really care for / need OSX. Specs stack up pretty well against the MBP 13, even considering the refresh (Thunderbolt notwithstanding). Currently my personal frontrunner since I use Ubuntu as my primary OS.

Lenovo Thinkpad T410: The anti-Mac. Batman's Tumbler to Bruce Wayne's Lamborghini. Not much else to say about it; Thinkpads' reputation is easily as legendary as that of MBP's when it comes to performance and indestructibility.

Honorable mentions - Macbook Air / Lenovo IdeaPad U260 : If you're into the ultra-thin-and-light thing, these are the two to look into.

Side note: if you decide on any route other than the MBP, you'd be wise to wait a little before purchasing. Other manu's have been waiting to put out refreshes of their lines as well due to the Sandy Bridge fiasco. For all we know, Apple might not be the only one with LightPeak / Thunderbolt / whatevertheycallit for long.

</comment><comment><USER3> I find this: "that can't play fullscreen video" quite strange. I have no problems with fullscreen videos (~5% cpu), or multiple windowed ones on a 5yo cheapest unknown-local-company laptop. Are you sure your configuration is not broken in some crazy way?

Not saying that you shouldn't update, but this is not what a 5yo laptop of any kind should behave like... If you do the same thing to your new laptop, it might not be worth getting it ;)

<comment><USER2> "Fullscreen video" isn't saying much. Sure, my 5 year old AMD64 desktop can play fullscreen video. Can it play fullscreen 1080p h.264 / HD Flash (remember, 5 year old video card == no HW acceleration) without dropping frames or turning into a space heater? Not so much.</comment></comment>


Ask HN: Scala or Ruby? - <AUTHOR>

We're about to develop a Big Data product. We're very comfortable on Ruby and Java. However, there is an uprising popularity on Scala w.r.t Big Data (i.e. Apache Spark, PredictionIO etc). Since there will be many sub-systems like UX, Business Logic etc. down to the Big Data part, we're considering Ruby will be OK for those parts where we can switch to Java for Big Data crunching.<p>However, I'd like to verify this choice w.r.t Scala-only stack (using Spray, Akka etc. for other subsystems than Big Data part). <comment><USER2> For data-processing-heavy apps you're going to want Scala.

I don't see why Ruby/Scala interop should be more difficult than Ruby/Java interop.

<comment><AUTHOR> Actually that's one of the reasons I'm confused (Scala/Ruby interop). Thanks btw.

</comment></comment><comment><AUTHOR> Any comment?</comment>


iPhone developer: App Store rewards "crap" apps - <AUTHOR> http://www.appleinsider.com/articles/09/01/22/iphone_developer_app_store_rewards_crap_apps.html

<comment><USER2> The problem here is not with the App Store, but with the showing intelligence level of Apple customers who seem to be too easy to please.

Now I don't own a G1 myself as I prefer the iPhone at the moment, but I haven't heard of problems with the Android Market having this same issue. From what I've seen, personally, the userbase of the G1 is significatly more intelligent than that of the iPhone and aren't going to waste money and bandwidth to download this rubbish.

That said, I need to start developing some apps so I too can have my share in this revenue firehose.

</comment><comment><USER3> Whew! Good thing I have a crap app coming down the pipeline.

</comment><comment><USER4> In other news, the iTunes Store rewards "crap" music, "crap" movies, and "crap" TV. Shocking!

</comment><comment><USER5> Just like pop rewards bad music. But there is still great music and plenty of success beyond the headliners.

</comment><comment><USER6> So, if this is actually true, where do you get the 'ad' feeds from that are valid click-thru's? I guess it didn't occur to me to put ad's in free apps..

<comment><USER3> Making money off ads while giving away something for free didn't occur to you?

But no worries. I believe a lot of companies use Ad Mob, although there is another well-known company whose name I am forgetting right now. Combined with analytics suites from a company like Pinch Media, and its possible to have ads served and track click-through rates and impressions.

<comment><USER6> Well, when you put it like that... :)

Actually, in a sense it never did occur to me that it would be something I would consider. In some way it just seems a bit foreign, and since I myself ever so rarely click on an ad, I have a hard time understanding how a small percentage of people who do click on them can add up to a reasonable amount of income.

I know this is a bit odd, since I'm sure that's a majority of the interest here. But in all reality, I don't have a clue how the ad system _really_ works.

But thanks for the specific names.. that's a start towards looking into it. (I'm aware of the google adsense and such, I'm not that bad off)

</comment></comment></comment><comment><USER7> frankly guys i dont see why this has to be argued... people want stuff, you give it...

i mean we are all in hackernews, what do you think PG's mantra is?

yes i understand it is belittling to think that "talents" of all you smart and genius programmers is going to write some iJunk app, but i say ponder about the futility of that sipping your martinis on a beach!!

</comment><comment><USER8> I thought it took ages to get an application published on the App store and Apple has to review each app?

<comment><USER9> Free apps have a lot fewer hoops that you have to jump through, so you can publish almost immediately.

As far as the article goes, I think the main point has been obvious for some time. Apple knew that these sorts of apps would be popular and initially blocked a number of the more crude ones. When they stared allowing the fart apps etc., the flood gates really broke open. The same happened with facebook apps. Whenever you have such an open platform with the potential to reach a wide audience, you're going to have a wide range of "success" stories.

<comment><USER10> I submitted this free app over 5 weeks ago and still haven't heard anything. Any ideas?

<http://www.blendedtechnologies.com/iphone-applications/>

</comment></comment></comment><comment><USER11> dup: <http://news.ycombinator.com/item?id=445145>

</comment><comment><USER12> Worse is better?</comment>


Let's build React.js - <AUTHOR> http://neethack.com/2015/10/lets-build-react-dot-js/ <comment><USER2> I think it's pretty cool that in 2015, it's still possible to develop new ways of doing things on the web that can be explained so simply.

The desktop graphics stacks have been doing this type of thing for years. I suspect the next 10-20 years will see some sort of real convergence.</comment>


The Tor Project Elects New Board of Directors - <AUTHOR> https://blog.torproject.org/blog/tor-project-elects-new-board%C2%A0-directors <comment><USER2> The interesting part is:

Roger, Nick Mathewson, Meredith Hoban Dunn, Ian Goldberg, Julius Mittenzwei, Rabbi Rob Thomas, Wendy Seltzer are out of the board. Roger and Nick will stay as Tor's research leads.

The new board consists of Cindy Cohn (EFF), Bruce Schneier, Matt Blaze, Gabriella Colemn, Linus Nordberg. Two seats have yet to be filled.

EDIT

Just to avoid confusion: This comment was written before the submission link was changed from a NY Times article that buried the information about the changes in the last paragraph to the Tor Project blog post.

<comment><USER3> The NY Times article: [http://www.nytimes.com/2016/07/14/technology/tor- project-a-d...](http://www.nytimes.com/2016/07/14/technology/tor-project-a- digital-privacy-group-reboots-with-new-board.html?_r=0)

</comment></comment><comment><USER4> It's very unusual to have such a complete change of board membership, isn't it? I'm all for new blood, but I'd worry at the near-total loss of continuity.

<comment><USER5> I don't know about nonprofits, but replacing a whole board of directors isn't unheard of in corporations.

<comment><USER6> Not terribly uncommon in nonprofits either -- Often times they're on overlapping terms (3/4/5 year schedules) that occasionally coincide to term- off half the board at once. That's another difference I've noticed actually, many nonprofits have specific terms for their BOD whereas most Corps I've seen have open-ended commitments.

<comment><USER7> Maybe that's why they keep asking people to write fizz buzz in interviews.

</comment></comment></comment></comment><comment><USER5> Matt Blaze is a credible and reassuring choice.

<comment><USER8> Yep. Cindy, too, for different reasons.

And I'm pretty sure everyone not employed by a TLA loves Bruce.

<comment><USER9> Not to mention all the "Don't Bring Me Down" jokes we'll get to make.

</comment></comment></comment><comment><USER10> Since Roger and Nick knew about the allegations and (in the opinion of some) turned a blind eye to them, Shari may have wanted to to articulate some sort of sea change.

But they probably _also_ knew (from a look at their commit logs, it's pretty obvious) that the technical work could not continue without them. So it strikes me as a pragmatic compromise.

<comment><USER11> Maybe Roger turned a blind eye on Jacob's behavior, maybe he didn't and tried to bring it up. Roger has many qualities, but handling a diva like Jacob and _at the same time_ maintaining their long-term cooperation, is something that imho _very_ few people can handle.

A clean sheet board I think is another good reason why Roger stepped down.

A few days before Jacob stepped down, Roger was so tired he could barely stand. With Shari Steele as the new director and a new board, it probably is a relieve for Roger and gives more room for a personal live after all these years of dedication to the TOR project.

I'm glad that Roger remains in his role as community manager and core committer. Looking forward to his State of the Onion at 33c3.

</comment></comment><comment><USER12> The head of the EFF, Bruce Schneier, Matt Blaze...this is an A-list group right here. Color me impressed.

</comment><comment><USER13> Blog post from the Tor Project: [https://blog.torproject.org/blog/tor-project- elects-new-boar...](https://blog.torproject.org/blog/tor-project-elects-new- board%C2%A0-directors)

<comment><USER14> Thanks, we updated the submission link from [http://www.nytimes.com/2016/07/14/technology/tor-project- a-d...](http://www.nytimes.com/2016/07/14/technology/tor-project-a-digital- privacy-group-reboots-with-new-board.html) in the spirit of preferring primary sources.

<comment><USER15> Seems a little odd not to go for two independent submissions in my opinion.

<comment><USER16> The NYT article doesn't really bring anything to the conversation that the original source doesn't, seems having 2 different submissions would split the conversation and kill both threads.

<comment><USER17> The NYT article has much more background information, explaining why this is newsworthy.

<comment><USER18> Agreed.</comment></comment></comment></comment></comment></comment>


Ask HN: What's a good app for grocery management? - <AUTHOR> What's a good app for managing the inventory of my pantry? It should sync between my phone and my girlfriend's phone and show me how much I should buy when I'm in the supermarket. <comment><USER2> Anylist was made for this. It's a YC funded company, but it's great because the sync is perfected, it has a calendar meal plan, recipe lists, those recipe lists can be populated from most recipe websites, works great on mobile and desktop, etc.

The biggest reason I used this over Wunderlist (which also has perfect sync) is there is no way to make two separate lists in Wunderlist and then combine them. This is important because like me you might try to make a separate list for a separate recipe, but it's a no go unless you are making and modifying one grocery list anew for each trip.

</comment><comment><USER3> Inventory app, make list of everything you would ever buy, what you have in the house, and a meal plan calendar. Then as you make dinners it will automatically deduct from inventory and possibly know what you need to buy for following week/month. If you wanted to get really crazy you could then use your old data to see that maybe you used 15 bars of soap per year and make annual purchases to fight inflation, the time spent in the grocery store, and leverage coupons.

<comment><USER4> Link?

<comment><USER3> doesn't exist as far as I know

<comment><USER5> I'm actually working on one.

[https://pantryplan.io](https://pantryplan.io)

It uses up ingredients on hand before it starts adding new ingredients (or that is roughly what it attempts to do)

The plan is for it to plan meals, manage pantry and put out a grocery order.

It is alpha-ish but I am constantly working on it.

<comment><USER3> I like the meal options, is there a way to show your own recipes or use only your own recipes?

<comment><USER5> I am actually working on being able to create recipes. The one thing left to do is clean up data. I currently have ~9k ingredients and I am working on a system so it is 1:1 (eg: Not have more than 1 instance of the same ingredient worded slightly differently).

I will make an email blast to users when it is released.

Thanks for trying it out! :)

</comment></comment></comment></comment></comment></comment><comment><USER6> Wunderlist is a great distributed todo list app that's not too overcomplicated and syncs well between devices.

I don't think it'd be a good inventory management system, although you could use it by adding "items to buy" to a grocery list each time an item is depleted.

</comment><comment><USER5> I've heard good things about Evernote and Google Keep.

I have tried out specific apps like Out of Milk but they were always super bloated.

Keep it super simple. :)</comment>


My latest anti-java rant - <AUTHOR> http://badcheese.com/?q=node/126

<comment><USER2> The JVM has never been 1000x slower than native code. Fourteen years ago it was occasionally as much as 10x slower. What's the penalty these days, maybe 10%? And in return we don't risk _undefined behavior_ if anyone who worked on the project ever made a single mistake? Java is a mediocre language at best, it truly epitomizes everything pg said about Blub, but I'm still glad we didn't use C.

And assembly? Seriously? All but the tiniest processors are superscalar now, and the performance of code depends on obscure details about how instruction scheduling fits into pipelines. The way I hear it, there are only a handful of people in the world who can actually do that better than their compiler, and I'm not going to become one of them. There are too many other things to learn that I can keep using over more time.

<comment><AUTHOR> I'm the author of the original article. What about bloat? It's hard to compare java to C applications because people don't tend to write the exact same app in more than one language, but compare Azurus to utorrent. Sure, Azurus has many more bells and whistles than utorrent does, but are you willing sacrifice an entire machine's CPU/memory to a single app just to get some special features? I doubt it. utorrent is the most popular torrent client because of this very fact. If Azurus weren't just a resource hog, it would be the most popular because of its features, but it isn't. People don't need a million features. They want an app that runs quickly and efficiently and gets the job done. The same thing with web app development. Just because you work for a company with a huge budget doesn't mean that you should squander the company's money on hardware when it could be done with less. If your whole programming department thinks that hardware is cheap, then before you know it you've got 500+ machines to run a simple website. We're no longer talking pennies here. We're talking hundreds of thousands of dollars and tens of thousands of dollars monthly. That would hire a whole staff of C programmers. There exist many C libraries that provide the same functionality that java provides. You guys should just bite the bullet, commit yourselves to doing a little manual memory management, drag out your favorite debugger and try writing you next app in C or C++. I'd bet that you'd be very surprised at how very do-able, writing a current-day app in C or C++ actually is compared to java. Come on, where are my fellow C programming brethren? I know you're out there! Take a break from your desktop app coding and back me up on this! :)

<comment><USER3> Somewhat tangentially: I run a useful app, JBidWatch (a nice, free eBay "sniping"/monitoring tool) on my Windows XP desktop. I started it 1 week ago following a reboot. One week later I noticed the PC's mem usage was nearing the amount of physical memory and investigated; one contributor turned out to be the JVM session running this app: according to Task Manager, this app (actively monitoring _no items_ during the week) was consuming over 100M of memory. Now, I won't stop using it, because I'm not aware of a better tool, and restarting it is not particularly painful, and yes, it's likely this app wouldn't exist w/o the ease of programming offered by Java (though I would prefer a GUI-less version written in a language I am fluent in), but still: 100M of memory for a web-polling app that was essentially idling (from an end- user perspective)? I've observed that various JVM apps gravitate to these (to me) giant memory footprints over time; I assume it's "the nature of the beast", but I'm speaking as a programmer who has never written a line of Java. A sysadmin sitting in the next cube, responsible for various Java-based server apps, has simply agreed with me that this is what's expected from Java apps.

<comment><USER4> You know, you _can_ set a maximum heap size for JVM processes. It defaults to 1/4th of the physical memory or 1GB, whichever is the smaller.

</comment></comment></comment></comment><comment><USER5> I can't really tell if the author is joking (it reads a little sarcastically), but assuming he's not, the counter argument is really easy. While you're spending days writing mallocs and copying function pointers in C, your competitor is using one of these "lazy programmers" languages and implementing features in hours. Features that are going to take you days to write. Once scale is needed, your competitor just goes out and spends $700 on a cheap server and matches your performance. Ultimately it comes down to time vs. money. It sounds like the author still thinks all computers cost hundreds of thousands of dollars.

<comment><USER6> The key words to understand the author are buried in there: "As a sysadmin".

For sysadmins, the time saved in development means nothing, while every additional machine (and especially the infrastructure to run them as a cluster) means more work.

Still, shouldn't even a sysadmin appreciate the increased reliability and especially security that modern languages bring?

<comment><AUTHOR> I'm the author of the original article. A typical server costs $1500 (DELL, HP) nowadays, but I've seen java apps commonly take up a whole rack of servers, not just one. This is a base cost of $30k and > $1500/mo for rackspace, A/C, power, bandwidth and maintenance. That's one-half of an FTE up-front and one FTE's salary reoccurring. I hear from java developers, "I'll need 6x 3Ghz, quad-core, dual-cpu machines for this (pretty simple) app I'm writing". Are you f-ing kidding me? Do you know what you could do with that kind of hardware if you wrote it in a different language? Your app is basically a glorified web server that does one thing that apache doesn't do out of the box. It sickens me to see this kind of waste because of the programmer's language choice.

<comment><USER7> _That's one-half of an FTE up-front and one FTE's salary reoccurring._

Only if your FTEs are very cheap. Most I know wouldn't get out of bed for less than $50k+.

But even if it was half a man-year upfront and one recurring - that's still a no-brainer (remember we're talking an entire rack here, which goes quite a way for most apps). If that rack enables your 5 programmers to work only 10% faster (completely theoretical ofcourse, but for the sake of the argument...) then it has already more than paid for itself.

Your argument is quite old nowadays (I remember the heated efficiency debates in the 90s) and has long been decided. Hardware is so cheap now that in most cases it really _is_ demonstrably more cost effective to throw hardware at certain problems.

<comment><USER2> It depends on the constants. For example, we rewrote our critical path app server in Java, and now it can handle 6x the load compared to our predecessors' PHP version. Twitter was getting crushed by Ruby performance, so they went to Scala on the JVM. These were clearly worth doing. But using C would only net a few more percent in performance and at best 50% less memory required, at a huge stability risk.

</comment></comment></comment></comment></comment><comment><USER8> This isn't really an inspiring criticism of Java. There are far better reasons to dislike Java than that it's not C.

Here is a decent reddit thread discussing why people don't like Java: [http://www.reddit.com/r/programming/comments/9dzpu/ask_reddi...](http://www.reddit.com/r/programming/comments/9dzpu/ask_reddit_why_does_everyone_hate_java/). The most succint answer just links this: [http://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server...](http://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server/RequestProcessorFactoryFactory.html)

</comment><comment><USER9> "It's not as slow as it used to be, but it's still pretty un-optimized. It doesn't run "close to the metal" like C and assembly does."

While everyone likes to have efficiency, being readable and/or easy to use sometimes trumps it. Would you really write a program like <insert large Java program here> in assembly, just because it would be faster?

<comment><USER10> I'd go further and say that readability and/or ease of use _often_ trumps efficiency. I/O tends to be the bottleneck at least as often as CPU, apart from anything else.

I agree with the point about writing in assembly language. This rant is basically arguing for speculatively micro-optimising _every line of code_ by choosing a supposedly faster language.

<comment><AUTHOR> I'm the author of the original post. The article isn't about optimizing every line of code, it's about not being lazy and choosing a language that you might have to do a little more work in for a massive decrease in bloat and execution time. One tool isn't always the right one for every problem. Don't use a hammer to screw in a screw. Sure, the screw will go in, but with just a little more effort (using a screwdriver) the task will be done much better. It's about wasting money & resources because a programmer doesn't want to write a little extra code to manage memory or watch return codes.

<comment><USER10> I'll put it another way. Most code isn't performance-critical. If you choose to write everything in, say, assembler, most of it will give you little or no gain. Assembler's harder to write than Java, so every line is costing you money, whether it actually runs faster or not. The _effect_ is the same as speculatively optimising every line: substantial cost, uncertain benefit, potential to introduce bugs, etc etc.

</comment></comment></comment></comment><comment><USER10> The anti-GC part of this rant is especially hard to take. I've had the misfortune of having to debug various memory allocation problems in C. That's something I don't miss at all. To bag GC for performance without mentioning reliability is just wrong.

<comment><USER2> The weird thing is how many projects resort to reference counting, which is just like GC only far more expensive (now every single p1=p2 requires two checks for null, an atomic increment and decrement, and a conditional branch around a dtor call!) and less reliable.

<comment><USER11> You say reference counting is far more expensive, but that's only in CPU cycles. Compare Python (reference-counted) and Java (garbage collected), and Java's memory use is 3x greater for similar programs, at least in my experience (also in the computer language benchmark game). Reference counting is a form of garbage collection, it's just eager rather than lazy, and that eagerness pays off in predictably lower memory usage.

<comment><USER2> You can save memory by writing a file a byte at a time rather than allocating a buffer. The reason you don't is that it's more efficient to batch that work. Well, the same is true of GC. If you have a million dead objects and a thousand live ones, doing bookkeeping for each dead object is far more expensive (in cycles and bus bandwidth) than just having a copying collector rescue the live objects and then reuse those memory pages en masse.

Once your program's memory footprint is small enough to fit on the machines you're using, making it smaller takes more runtime work but has little benefit.

</comment></comment></comment></comment><comment><USER12> I think the source of the OP's pain can be traced to the fact that while Java is reasonably competent as a programming language, it's complete and utter crap as an operating system. It replaces the finely honed tools of a modern operating system with it's own inferior versions, the process model is replaced by threads, shared libraries are implemented as "Beans" and come with an impressive armature of support infrastructure that could be dispensed with in favor of a simple configuration file.

Sadly, it is the faults of java that pre-adapted it to success in a corporate environment; it creates an impression of vast complexity in even simple tasks and allows for large budgets and swollen headcounts that translate into more power for the leadership of projects in which it is used.

<comment><AUTHOR> Woohoo, sing it, brother! :)

</comment></comment><comment><USER13> I'd comment on the blog if I didn't have to login.

Wins prize for most naive rant this week. There are a lot better reasons to hate on java, but speed really isn't one in 2010.

I'd love to see the rewrite of one of the apps he's complaining about in C and blog post about that.

\--omg-optimized

<comment><AUTHOR> I'm the author of the original post. Re: login, sorry, it's drupal and I turned off anonymous comments for spam reasons. :)

I'm sorry that you think that I'm naive. I'm 41 years old and have a CS degree. I've been a linux programmer and sysadmin since 1993, before linux had a 1.0 kernel (0.99.9.45 or something like that when I installed my first linux machine). My background is in programming and I spent my college career in 1990-1994 writing mostly C code.

Java _is_ slow, although most java programmers don't want to admit it. When you take into account resource bloat, java is still a horrible choice for almost any application unless you work for a company with a lot of money that's willing to just throw money at hardware because the software developers say it's needed.

If you'd like to compare apples-to-apple, it's going to be hard because people don't usually write the exact same app in more than one language unless they're doing benchmark tests of something simple (usually hello world, or a matrix operation or something), but not real world applications.

I realize that I'm sticking my neck out there for criticism, but I'm ok with it. A lot of web programmers are java engineers - young kids coming out of school with a java background and they don't want to even deal with C because they don't want to do the manual memory management or watch for return codes, but instead just wrap the whole function in a try/catch handler. To me, it's laziness. C and C++ are almost the same syntactically to java. You guys _can_ write C or C++, you just choose not to. For me, being a sysadmin for a living now, this is just a lazy and wasteful choice.

If you were to write your code in something more "close to the metal" just think how much more awesome your programs could be!

<comment><USER14> >Java is slow

No, it's not. Modern JVMs produce extremely fast code. For numeric calculations, there's essentially no difference in speed between Java and C. (After all, why would there be? The JVM has static type info and is emitting assembly.) This was true even in 2004, so it's really long overdue that you move on from 1995 :)

<http://www.idiom.com/~zilla/Computer/javaCbenchmark.html>

>If you were to write your code in something more "close to the metal"

C is close to the PDP-11; it's not particularly close to modern hardware.

</comment></comment></comment><comment><USER14> It's weird to criticize Java for being slow. These days it's pretty much As Fast as C, unless you have a huge amount to gain from unboxed arrays of non- primitive types, or manual memory management. (Possible, but not terribly likely.)

</comment><comment><USER15> In many cases macro-optimization trumps micro-optimization. C/C++ might be closer to the metal and in extremely simple applications incrementally (or perhaps significantly) faster, but if the difficulty of using C for web app development results in an extremely sub-optimal solution then you'd have been better off with a more advanced language like Ruby or even Java.

Moreover, the long pole in almost every web application of any significance today is the database. Whether you're using C++ or PHP is irrelevant if just waiting on a SQL statement to execute dominates the performance of your app by an order of magnitude or more.

Additionally, there's frequently a lot of room for optimization in any web app. Techniques like CSS spriting, serving static content from a cookie-less domain, and aggressive caching can make far more of a difference to overall performance than choice of language.

Finally, throwing hardware at the problem almost always makes sense as long as you can get away with it. A $1500 server is roughly equivalent to the cost of a single day of development for a talented team of only 4 devs (keep in mind that the cost of employing developers includes not just their base salary but also other costs like administration, 401k matching, health insurance, payroll taxes, etc, which nearly doubles the nominal per hour cost). Until you're perhaps $20-50k in the hole it probably doesn't make sense to consider putting serious effort into re-engineering your software from the ground up for scalability.

<comment><AUTHOR> I'm the author of the original post. I agree that I/O is going to be slow in any language, so I agree with you there. However, your point about a single server being equal to the salary of 4 FTEs, in my experience, we're not talking about a single machine. Commonly, we're talking about dozens or racks worth of machines. Now we're not talking pennies anymore. We're talking tens of thousands of dollars. This is wasteful of our current massively-powerful machines.

<comment><USER7> _Now we're not talking pennies anymore. We're talking tens of thousands of dollars._

Do the math. If 4 devs cost $1500 in a day then "tens of thousands of dollars" is not much in comparison. I think you, like many devs including myself, might be suffering from "big figure anxiety". A $50k investment for a rack looks mighty intimidating at first. But break it down in excel and in most cases you'll find it turns out way cheaper than the alternatives (e.g. hiring a few "C experts" or "spending a month on optimizations").

<comment><AUTHOR> Let's say that servers cost $1500 each and a rack of 20 servers costs $1500/mo for hosting costs. Programmers make $80k/yr. Let's also say that C is twice as slow to develop for and let's say that Java requires twice as much hardware to run.

One java programmer writes an app that takes a rack of equipment to run and writes it in 6 months. Meanwhile, a C programmer takes 12 months and only 1/2 rack of machines.

After a year, the java app costs $40k in programming costs and an initial cost of $60k for hardware, so $100k. A year later, hosting costs rack up another $18k. The C app costs $80k in programming costs, $30k for hardware, so $110k. A year later, hosting costs rack up another $9k, so we're about even. You may argue that C takes > 2 times to write, and I will argue that java bloat requires more than a 2x hardware purchase, so we're talking pretty much a wash here. I don't think that your cost argument holds much water.

<comment><USER7> Well, I can only second what InclinedPlane already said and would like to add: While your idealized calculation [naturally] supports your point, it doesn't match up with what I've seen in reality.

In most companies you don't have one programmer per rack but many programmers per rack. The hosting costs are usually dwarfed by the programmer salaries, often as much as to make the former appear as a rounding error.

Consequently you should in almost all cases optimize for developer- performance, not for software performance.

</comment></comment></comment></comment></comment><comment><USER16> Rather strange rant. I hope it was trying to be funny, but if so, it failed miserably.

Anyway, what I find interesting is that Java really is _very_ slow in one thing: startup time. My completely unscientific test concluded that a hello world -program in written in Java takes about 0.110 seconds to run, while the C version took about 0.003 seconds. What's interesting, Python version takes about 0.015 seconds, which includes parsing, compiling to bytecode and interpreting it, while the Java version has already been parsed and compiled. I would like to know what explains this almost tenfold difference between Java and Python startup times. I suspect it might have to do with the security features of Java?

<comment><AUTHOR> I'm the author of the original post. cross-platform benchmarks like this typically don't represent real-world apps. They're usually tiny benchmarks that test one or two things, but don't really hit the nail on the head when it comes to resource bloat or garbage collection or things that happen to an application that runs for days, weeks or months at a time. Yea, startup time is going to be faster in C or C++ because there isn't anything to start up. C just starts running and after the OS has the application scheduled, it starts doing real work, not pre-allocation of things and all of the overhead that's involved with languages like java, python, ruby, perl, ... For small applications, startup time is important. In unix/linux, when you string a bunch of apps together on a command-line, startup time is _very_ important. So, don't dismiss startup time.

Secondly, let's talk socket pools, file handle pools, garbage collection, and all of the many things that java gives you to get better performance out of a language that is literally the elephant (bloated, slow thing) in the room.</comment></comment>


Terahertz breakthrough could make satellite as fast as fiber - <AUTHOR> http://www.zdnet.com/article/superfast-broadband-everywhere-terahertz-breakthrough-could-make-satellite-as-fast-as-fiber/ <comment><USER2> An interesting breakthrough, but satellite tends to be limited by available downlink power (solar cells) and/or antenna size/complexity.

<comment><USER3> "The breakthrough could allow for far faster speeds for in-flight network connections, faster downloads to mobile devices, and ultrafast wireless links between base stations."

It's not only for satellites, despite what the title says.

</comment></comment><comment><USER4> speed != bandwidth</comment>


Breakthrough: Nokia surges on Microsoft's home turf - <AUTHOR> http://news.cnet.com/8301-1035_3-57609756-94/breakthrough-nokia-surges-on-microsofts-home-turf/?ttag=fbwp

<comment><USER2> Still not profitable. It's good idea for Nokia to get out. MS has the money to burn.</comment>


Software Profit Strategies by Category (An Empirical Analysis) - <AUTHOR> http://cerezo.name/blog/2011/03/27/software-profit-strategies-by-category/

<comment><USER2> I know you say "Data sources: Yahoo Finance, Crunchbase, Wakoopa, RescueTime, Flurry, Admob, Distimo, Alexa, Quantcast, Compete, others," but they sound like completely disparate sources. Can you provide the excel file (or whatever spreadsheet you used) to compute this? Or did you use GRETL?

</comment><comment><USER3> ah man! incomplete raw data in tables without graphs. i think i get the picture.

<comment><AUTHOR> That table is the customary way to present regression results in economic research (nber.org, ssrn.com, ...) There is no graphical way to represent what variables are statistically significant and their various correlations. I suggest that you educate yourself on the subject with the following link ([http://www.j-bradford- delong.net/movable_type/Econ_113/regre...](http://www.j-bradford- delong.net/movable_type/Econ_113/regression_rehavi.pdf))

<comment><USER4> Hi David, Nice post by the way. The results are really suggestive but what leaves me wondering is that there is a million of things that can be going on at the same time.

Also, why did you ended up doing ILRS/LAD instead of more straightforward methods?

Cheers, Sergio</comment></comment></comment>


DIY Remote Presence? - <AUTHOR> Hey there
I'm currently working in a distributed team. 1-3 (out of 4) of us are in the office at any one team, and 1-3 of us are working remotely, on any given day.
I'd like to put a camera at the end of the desk in the office so that anybody working remotely can get a quick view of who is in and at their desks, and just generally know that there's some life on the other side of Slack.
What I'm looking for is some examples of ways other teams have done this, ideally fairly cheaply and DIY. Did you use an iPad? Netbook? Mac mini? Raspberry Pi?
Thanks! <comment><USER2> [http://danielodio.com/project-stargate-always-on-skype- video...](http://danielodio.com/project-stargate-always-on-skype-video- connection-for-remote-offices) is the first popular article I can recall about this.

[http://danielodio.com/remote-always-on-connecting-our- office...](http://danielodio.com/remote-always-on-connecting-our-offices-with- sqwiggle) is a followup that mentions that the always-on connections would have problems.

Perch is a startup that's mentioned a lot in the comments, and I trialled it and it was pretty nice, but it just shut down last month: [https://perch.co/blog/goodbye-perch/](https://perch.co/blog/goodbye-perch/)

If you have a couple of Macs to spare, [https://papercutsoftware.github.io/teleportme/](https://papercutsoftware.github.io/teleportme/) looks interesting, but I haven't tried it myself.

<comment><AUTHOR> Super helpful. Thanks @vitovito

</comment></comment><comment><USER3> I havr made one for less than 100$. Please check my blog for details.

</comment><comment><USER3> I've made one for less than 100$. Vist my blog for details.

</comment><comment><USER4> Skype?

<comment><AUTHOR> Skype could do for the software, but I'm currently more interested in the hardware element. Thanks for the suggestion though :)</comment></comment>


Novel vaccine completely blocks HIV infection in monkeys: human trials planned - <AUTHOR> http://www.aidsmap.com/Novel-immune-suppressant-vaccine-completely-blocks-HIV-infection-in-monkeys-human-trials-planned/page/2902377

<comment><USER2> It is worth noting that this vaccine merely prevents anal infection from monkeys, it is also important that you avoid sharing needles with them.</comment>


Marvin Minsky Reflects on a Life in AI [video] - <AUTHOR> http://www.technologyreview.com/video/543031/marvin-minsky-reflects-on-a-life-in-ai/ <comment><USER2> Back in the 80s he wrote a book called "The Society of Mind" which I think is an amazing book. The core theory, which really resonated with me and stuck with me, is that we do not consist of a single mind. Our consciousness is a set of smaller subsegments (he calls them agents) that work (generally) together.

If you think about the fact that looking at our brain you can see the evolutionary differences compared with other organism,s this starts to make a lot of sense. We have these different systems that have varying ages, with natural selection putting more pressure to develop a new system or enhance an old one, and the brain winding up almost like a tree trunk with different rings. It makes sense these smaller chunks do their own thing then "talk" to other parts. we even have language referencing it, "I'm of two minds about XYZ", and diseases like schizophrenia and hallucinations we trace to various parts of the brain not recognizing each other or not working properly together. We have studies that seem to indicate some decisions being made before we consciously think about them.

About a decade ago I really started to feel like I've begun to recognize different "aspects" and understand why I feel the way I do by understanding this theory. An example is, if I have a big decision, and I find that I'm undecided and really unhappy while trying to come to a conclusion, it's usually because I've actually already decided, and I'm unhappy because I'm arguing with myself, I'm not accepting that decision. Rarely have I been unhappy with the decision I'd already made, too.

He's a brilliant guy with some amazing work going back decades.

<comment><USER3> I'm not familiar with Minsky's book, but the core idea seems to have a lot in common with the modular theory of mind [1], which was explored in a MOOC that I found fascinating, and which is now available in a self-paced form [2].

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

[2] - [https://www.coursera.org/learn/science-of- meditation](https://www.coursera.org/learn/science-of-meditation)

</comment></comment><comment><USER4> dunno know if it's necessary to go all the way back to the 60's to see interesting approaches to cognitive science.. hofstadter's 1995 book is a good read

[https://en.wikipedia.org/wiki/Fluid_Concepts_and_Creative_An...](https://en.wikipedia.org/wiki/Fluid_Concepts_and_Creative_Analogies)

<comment><USER5> I'm in the middle of reading that book right now. So far, I'd say that I highly recommend it. I'm actually planning to do some work trying to implement a program for the Le Compte Est Bon game.

I've also been reading _Surfaces and Essences_ , also by Hofstadter, and recommend it as well.

</comment></comment><comment><USER6> "Let's get another group of beginners in to see what they can do... and fire the experts."

What a thing to say.

<comment><USER7> Minsky certainly knows what the experts can do: he and Seymour Papert more than decimated research in neural networks by writing "Perceptrons". [https://en.wikipedia.org/wiki/Perceptrons_(book)](https://en.wikipedia.org/wiki/Perceptrons_\(book\))

He remains critical of neuroscience:

[http://luttrellica.blogspot.com/2007/01/marvin-minsky- bashes...](http://luttrellica.blogspot.com/2007/01/marvin-minsky-bashes- neuroscience.html)

I've sometimes thought that AI would be solved only once Minsky passed from the scene.

<comment><USER8> To paraphrase MM: Let's fire all the experts in NN and make room for someone naive enough to reinvent GOFAI.

</comment></comment></comment><comment><USER9> I have heard him speak a few times, very engaging.

I have one minor disagreement with something he said about in the past they would make some big improvement every few days, now it is every few years.

With all due respect, I think that he has it backwards. I have to some degree been working in AI and machine learning since the 1980s. I am blown away at how fast new good results are achieved.</comment>


Finished CodeAcademy, now what? - <AUTHOR> Hey guys,
I'm from another background than most of you. I had  an (online) marketing agency, did some webdesign and most of my experience lays in sales.
Next to my job I'm following courses on data science (big data), project management and organizational analysis. However, development and programming keeps interesting me. (As a kid I liked building websites, still do!)
I've finished the CodeAcademy Ruby tutorials, watched some videos and read a lot. Now I feel I got the basics and want your input for intermediate level courses/tutorials.
Got any tips to take my knowledge to the next level?
If you're a tech person that could use some sales/marketing advice, feel free to let me know! <comment><USER2> I would say it depends what you want to do. Do you want to keep learning to get a job at a start up?

Do you want to build something and start a start up with a couple friends?

Do you want to freelance?

If your not sure but love programming, I would say maybe apply to a place to learn some more. Check out:

Appacademy.io Devbootcamp.com Catalystclass.com

I'll be at Dev bootcamp in March!

If you want to keep learning ruby I have a good list of prep work geared towards learning ruby that I could email you. It really helped me.

<comment><AUTHOR> I'm open for new job opportunities in the data science/business analist field. So basically I'm not looking for a full-time developer job. I do have some project running, so I can apply my newly obtained Ruby skills.

Unfortunately I'm not in the position to take a bootcamp, since I have a fulltime job. Thus can't get more time off than 2-3 weeks in a row.

I'd love to see your list of prep work, please send it to me. My email is in my profile.

</comment></comment><comment><USER3> If you want to have a look at some front-end data visualisation software, It might be worth looking at Tableau as a number of the consulting firms have pushed all their chips in on this. (<http://www.tableausoftware.com/>)

Id be interested to know what data science/analysis courses you've done up until now to see which direction you are heading.

</comment><comment><USER4> In my opinion, the greatest thing to learn at the start is focus. There are a thousand frameworks/languages to learn and if you are a naturally curious person it's going to be hard to focus in on only a few technologies. With that said, does frontend or backend development interest you more? You mentioned you went through the Ruby course so I would assume you prefer backend?

<comment><AUTHOR> I fancy Ruby because of it's simple syntax and that in some ways it looks like PHP. I have experience with HTML, CSS and can read PHP. Also, since I know how to build static stuff - I want to learn the backend of things.</comment></comment>