N.S.A. Collecting Millions of Faces From Web Images - <AUTHOR> http://www.nytimes.com/2014/06/01/us/nsa-collecting-millions-of-faces-from-web-images.html <comment><USER2> And since we know that SnapChat doesn't actually delete the photos people send with it, it's probably safe to say that the NSA now also has the largest boob and dick recognition system in the world.

<comment><USER3> You can just imagine how the conversation goes:

"Sir, he burned off half his face to resist identification."

"...Have him drop trough."

Serious note though, it's similar to how the kinect is sitting in households across America, and I think the new one with the XBOX One can't be turned off. A microphone and camera system right into people's living rooms.

And of course, the government now wants a database of consumers credit information.

I try to not be a conspiracy theorist but when you hand them this much information, it's hard to trust people to do the 'right' thing.

<comment><USER4> Or the Nest, which is constantly sending proximity information to Google (and the NSA).

<comment><USER5> There will be a Nest in every Google self-driving car. I don't have any concrete evidence of this, but it's not that far-fetched.

<comment><USER6> Why would a car need Nest ? I am curious.

</comment></comment></comment></comment></comment><comment><USER7> I have my doubts that the fully surveilled society that is being created by the government and corporations can be turned back, I see it as only becoming more comprehensive for the foreseeable future. We don't understand the ethical issues that will be involved in this new society, there are surely some benefits along with the many negatives. I envision it kind of like The Matrix where we are all plugged into the global brain with shrinking spaces for any kind of underground.

<comment><USER8> As these people keep getting away with ignoring the constitution/law, they are being conditioned[1] to believe that nobody can/will stop them. What we've been seeing recently is the _lack of fear_.

Usually, threat of having to defend yourself in front of a judge keeps keeps this kind of behavior limited to smaller, often one-off events. When you have a proper Fear of getting caught, one event where you get away with some illegal and/or immoral behavior isn't a pattern yet, and so most people quietly go on with their life. After a sufficient amount of conditioning, this changes. A pattern emerges, and the idea that maybe you really can get away with anything starts to creep in. This is a _rational decision_ on their part (Bayes Theorem obviously applies).

Worse, there seems to be a kind of "avalanche breakdown" effect in how we see our social position/role, due to the large amount of hysteresis[2] in how we interpret/rationalize our own social standing. The feedback loop between these two effects is probably why the current situation can appear to be impossible to turn back. It certainly will be impossible if left alone and unchallenged.

The soap box hasn't worked. The ballot box is a joke (and might be rigged, depending on who you ask). The use of the jury box is still pending in some areas places, and has failed in others. I would _love_ to be wrong about this, but... nothing will change until the _ammo box_ has been used to kill at least a few.

So I guess we should start preparing for the Civil War. /sigh/

[1] e.g.: Skinner ( [http://en.wikipedia.org/wiki/Operant_conditioning](http://en.wikipedia.org/wiki/Operant_conditioning) )

[2] The ideas taken from this RSA[3] Animate, which explains the idea better than I ever could: [http://www.thersa.org/events/rsaanimate/animate/rsa- animate-...](http://www.thersa.org/events/rsaanimate/animate/rsa-animate-the- truth-about-dishonesty)

[3] This RSA == The Royal Society, not the crypto by Rivest, Shamir and Adleman

<comment><USER9> Too many people are treating this technical problem like it's a political problem. Our communications infrastructure is vulnerable to eavesdropping; hence, eavesdropping occurs. That's not going to change unless the war you desire involves either destroying all communications networks or upgrading them.

<comment><USER8> [http://video.fosdem.org/2014/Janson/Sunday/NSA_operation_ORC...](http://video.fosdem.org/2014/Janson/Sunday/NSA_operation_ORCHESTRA_Annual_Status_Report.webm)

It _is_ a political problem. Technical solutions don't matter when the other side has an effectively unimited budget and manpower.

I strongly recommend watching PHK's recent talk talk on that subject in the link above. Avoiding politics by claiming this is a technical problem is simply forfeiting any goals you may have had to the opposition without a fight. Technical issues don't mean a damn thing against the bad end of rubber hose cryptanalysis or the old Soviet trick of simply "disappearing" people, and the aren't particularly useful against the current game of gag-order- filled "National Security Letters".

 _THAT SAID_

It is _also_ a technical problem. As you say, there will always be people interested in eavesdropping, and the tech needs to be fixed regardless. Maybe now we can finally get some progress on that front - I've taught more people about PubKey encryption and the Web Of Trust in the last year than the previous two "B.S."[1] decades. There's still a huge amount of work to do, unfortunately.

Both aspects - political and technical - are important, and we cannot afford to neglect either.

[1] "B.S." => "Before Snowden"

</comment></comment></comment></comment><comment><USER10> I don't think Skynet is going to be our problem, it's going to be Spynet, when the two to four large chunks of aligned intelligence forces (US, China, Russia, larger Europe depending on how it goes) gradually merge and it really becomes us (human citizens) vs them (lizard overlords).

</comment><comment><USER11> > "We would not be doing our job if we didn't seek ways to continuously > improve the precision of signals intelligence activities [...]" said Vanee > M. Vines, the agency spokeswoman.

Which leads directly to the annihilation of any form of privacy (total surveillance), given the exponential advances that technology embodies.

If our governments really think that this is what their voters/citizens want, then this subject should be put to a very explicit vote.

<comment><USER12> No.

First up, I agree 100% with the idea that this sort of thing is systematically wiping out both freedom and the illusion of freedom. Of course we all know that over time it will close in getting worse and worse until we become little more than controlled cattle. However.....

Government has every right to think its what people want. Or, to put it another way, it is not what they don't want. The mass population simply doesn't care, since they know that it probably won't ever affect them. And if it does, well, the mass population won't care, they'll just see it as a bit of bad luck, happening to someone they don't know, who is not them, their family, friend or colleague.

What I don't see anywhere, US, here in the UK, or anywhere else is any form of _mass_ objection. When you look at the numbers, protesters/population, petitioners/population, and so on, you'll see it is a small minority who actually care. As a politician, I'd be concerned about the mass population and their votes. Thats where the power is, not with a loud(ish) minority.

Im with you, I really am. I actually suffer minor anxiety symptoms as I read and think about this stuff. It really creeps me out. But the tragic fact is, the vast majority don't give a toss.

This will only change when majorities show signs of really caring about the issue.

<comment><USER13> ) Government has every right to think its what people want.

What? Why? You don't justify this bold claim in any way.

<comment><USER14> Parent post is extremely clear in its meaning. You have taken half a thought, the entirety of which is a clear argument, and demanded explanation. It suggests either intellectual dishonesty or simple laziness in reading.

The shortest part of that statement that it would be reasonable to quote alone is: "Government has every right to think its what people want. Or, to put it another way, it is not what they don't want." You don't have to agree with this at all. But it is a single self-contained idea that can be comprehended and understood, before attempting to justify or refute it.

</comment></comment></comment></comment><comment><USER15> CV Dazzle explores how fashion can be used as camouflage from face-detection technology

[http://cvdazzle.com](http://cvdazzle.com)

Anonymous releases how-to instructions on fooling facial recognition (VIDEO)

[http://rt.com/usa/video-surveillance-face- trapwire-237/](http://rt.com/usa/video-surveillance-face-trapwire-237/)

</comment><comment><USER16>
      The N.S.A. collects iris scans of foreigners through other means.

No way that ordinary snapshots have enough resolution for iris scans. What "other means" could there be?

<comment><USER17> The Army:

"Army Reveals Afghan Biometric ID Plan" [http://www.wired.com/2010/09/afghan- biometric-dragnet-could-...](http://www.wired.com/2010/09/afghan-biometric- dragnet-could-snag-millions/)

"Could Iris Scans Stop a New Iraq Insurgency?" [http://www.wired.com/2008/08/maliki-vs- sois/](http://www.wired.com/2008/08/maliki-vs-sois/)

And probably by infiltrating other countries' iris-scanning of undesirables like refugees:

[http://jordantimes.com/iris-scanning-technology- streamlines-...](http://jordantimes.com/iris-scanning-technology-streamlines- refugee-registration-process----unhcr)

<comment><USER18> Reading these stories it seems the rationale is "lazy bureaucrats". Clearly where this ends up is putting all poor people into a "system" which ultimate serves the blind will of the faceless bureaucrats running it. The pretext is that this power is used to "help" the poor, but ultimately it will be used simple to keep the faceless people in power--come hell or high-water.Iris scanning refugees is basically akin to iris scanning for food stamps. Truly the banality of evil.

</comment></comment></comment><comment><USER19> Seems like it's more damage control than an actual expose. It's extremely confusing, why certain quotes were included unless they were to mislead the reader, e.g.

"It is not clear how many images the agency has acquired. The N.S.A. does not collect facial imagery through its bulk metadata collection programs, including that involving Americans' domestic phone records, authorized under Section 215 of the Patriot Act, according to Ms. Vines."

Why would a phone metadata program, which is basically call records ever be thought to include photos?

</comment><comment><USER20> They insist (through actions, as opposed to any words they might use) upon total transparency of the lives of the general public, while submitting to practically zero transparency in their own behaviour.

This asymmetry should bother everyone who has made the effort to consider information as power -- and to consider self-governance as necessarily based upon an informed self.

If nothing else, one should consider the horror of a world-spanning bureaucracy that seeks a singular, uncompartmentalized rule and control. Many thoughts flicker through my consciousness about the limits and diversity of human culture -- and the robustness that comes from that latter. Or, I can think of a more "basic" quip, that Nature abhors a monoculture.

People need to think seriously about how much they can "just let someone else deal with", and how much they need to step up and be at least partially responsible for, themselves.

"Liberal" or "Conservative", most seem to, one way or another, reach the conclusion that they have to take responsibility for their own affairs and community.

What we are currently developing seems to be an antithesis to this.

</comment><comment><USER21> How is this even unusual? Google do much the same, all the time. You'd expect the NSA to do it.

</comment><comment><USER22> "John, don't run."

[http://www.imdb.com/title/tt0181689/](http://www.imdb.com/title/tt0181689/)

</comment><comment><USER23> The stated reason for this are two failed bombings. How would this facial recognition tech have stopped those two failed bombings?

<comment><USER24> > The N.S.A. achieved a technical breakthrough in 2010 when analysts first > matched images collected separately in two databases — one in a huge N.S.A. > database code-named Pinwale, and another in the government's main terrorist > watch list database, known as Tide — according to N.S.A. documents.

Sounds like this is the answer.

One of the difficult aspects of investigating terrorist networks through signals intelligence would be deciphering the network itself (which is why NSA would have been interested in phone metadata).

If you had a known list of terrorist suspects (TIDE) and could match those to legally-intercepted video feeds or pictures (which is what I'm assuming PINWALE is for) then you could identify the user IDs being chatted with and then use PRISM and other approved signals interception methods to decipher "who's who in the zoo".

With a better selectivity of who the targets would be then you could use targeted access operations to both get better fidelity on actual plots (instead of dumb keywords searches, actually assign analysts to get a "deep dive" into any of the plot(s) under discussion). This would also enable you to avoid wasting time and resources on people who are not a threat by filtering out "where the terrorists are not".

The ideal end result: Disrupting a bombing plot before it happens. Both the 2009 and 2010 bombings were disrupted only by luck, so "clearly" the NSA didn't have the tools they needed, which is why I warn you guys that the argument "oh but they didn't catch Tsarnaev" doesn't end the way you think it does. :P

\----

I know you all like to claim that counter-terrorism is just rhetoric used to justify more sinister motives, but I've found it striking how almost every time a leak is presented the evidence shows a bunch of NSA analysts trumpeting... counter-terrorism.

This case is no different: "another 2011 N.S.A. document reported that a facial recognition system was queried with a photograph of Osama bin Laden.", "A 2011 PowerPoint showed one example when Tundra Freeze, the N.S.A.'s main in-house facial recognition program, was asked to identify photos matching the image of a bearded young man with dark hair.", "One N.S.A. PowerPoint presentation from 2011, for example, displays several photographs of an unidentified man — sometimes bearded, other times clean-shaven — in different settings, along with more than two dozen data points about him. These include whether he was on the _Transportation Security Administration no-fly list_ , his _passport and visa status_ , _known associates_ or _suspected terrorist ties_ , and _comments made about him by informants to American intelligence agencies_."

There's certainly an argument to be made about whether such investigative abilities are safe for democracy, but what we've consistently not seen is a bunch of people trying to subvert democracy, not even according to the very documents NSA and their managers thought would be safest from ever being publically disclosed.

<comment><USER25> > what we've consistently not seen is a bunch of people trying to subvert > democracy, not even according to the very documents NSA and their managers > thought would be safest from ever being publically disclosed.

In August 2013, a report by Reuters revealed that the Special Operations Division (SOD) of the U.S. Drug Enforcement Administration advises DEA agents to practice parallel construction when creating criminal cases against Americans that are actually based on NSA warrantless surveillance. [1] The use of illegally-obtained evidence is generally inadmissible under the Fruit of the poisonous tree doctrine. [2]

[1] [http://www.reuters.com/article/2013/08/05/us-dea-sod- idUSBRE...](http://www.reuters.com/article/2013/08/05/us-dea-sod- idUSBRE97409R20130805) [2] [https://en.wikipedia.org/wiki/Parallel_construction](https://en.wikipedia.org/wiki/Parallel_construction)

<comment><USER24> That's not an example of "subverting democracy" (though I'll admit I do find it distasteful).

Even _that_ has rules, and the rules are on the whole followed.

Parallel construction is about finding evidence that can hold up in the court of law, _without_ divulging classified intelligence "sources and methods" (you know, much the very things NSA is complaining about Snowden having done).

It starts from evidence legally collected by NSA (which is why "fruit of the poisonous tree" would not apply). The law permits the NSA to share that legally-collected information in some cases with law enforcement.

But law enforcement can't build a case on that without burning the NSA source, so NSA advises them on how to start a new trail that _can_ lead to a prosecution without NSA having to close off that intelligence source.

Is it unfair? Perhaps, but then so is Google using legal tax loopholes to avoid paying taxes. Distasteful perhaps, but legally permissible.

<comment><USER26> What do you not understand about warrants?

<comment><USER24> Well that would be hard to accurately answer by definition, I think...

</comment></comment></comment></comment></comment></comment><comment><USER27> And algorithms now work better than humans at face detection. [https://medium.com/the-physics-arxiv- blog/2c567adbf7fc](https://medium.com/the-physics-arxiv-blog/2c567adbf7fc)

They don't even have to snoop.

</comment><comment><USER28> We could do this right now and sell it as an app [http://www.mimisbrunnr.net/~munin/blog/apps-for- privacy.html](http://www.mimisbrunnr.net/~munin/blog/apps-for-privacy.html)

</comment><comment><USER29> > In addition to in-house programs, the N.S.A. relies in part on commercially > available facial recognition technology, including from PittPatt, a small > company owned by Google, the documents show.

<comment><USER30> These docs are from 2011, the acquisition of PittPatt happened in July 2011: [http://techcrunch.com/2011/07/22/google-acquires-facial- reco...](http://techcrunch.com/2011/07/22/google-acquires-facial-recognition- software-company-pittpatt/)

Any "commercially available facial recognition technology" was a pre-Google thing, PittPatt is no more.

<comment><USER29> > Any "commercially available facial recognition technology" is a pre-Google > thing, PittPatt is no more.

I see no reason to believe this. Google certainly had an obligation to honor existing PittPatt agreements after the acquisition. And I see no reason why they wouldn't continue working with the NSA if it was in their interest.

I am very pessimistic about bulk electronic surveillance reform. One of the few points of leverage I can see is publicly making it clear when companies work with the NSA, and avoid them when possible. I would include companies that acquire companies that work with the NSA. For example, I have slowly stopped using services of the PRISM companies, including Google.

<comment><USER30> > Google certainly had an obligation to honor existing PittPatt agreements > after the acquisition

[citation needed] one has to be privy to such contracts to make these conjectures, also they're software might have been of the "off the shelf" variety.

> One of the few points of leverage I can see is publicly making it clear when > companies work with the NSA, and avoid them when possible. I would include > companies that acquire companies that work with the NSA.

That's fine, but you should get the facts straight before lobbing accusations, as for 'companies that acquire companies' point, I don't subscribe to any guilt by association sort of animosity, this doesn't seem fair and lots of things are more connected than you think.

My main objection is that the NYT should have used "... now owned by Google" instead of "owned by Google" in their piece.

<comment><USER29> > [citation needed] one has to be privy to such contracts to make these > conjectures, also they're software might have been of the "off the shelf" > variety.

Fine, it's true, the contact could have said anything, including "if you are acquired, you are released of any obligations," although I find that hard to believe. Yes, and it could have been off the shelf with no support contact.

However, in my experience, having gone through an acquisition where the acquired company had existing obligations, those obligations were transferred to the acquiring company and understanding them were a large part of the due diligence.

> but you should get the facts straight before lobbing accusations

What was my accusation? All I did was quote the article. You tried to refute it -- claiming any interaction between PittPatt and the NSA was pre-Google -- by giving dates which were still entirely consistent with the article as written (docs from 2011, acquisition from July of that year).

> My main objection is that the NYT should have used "... now owned by Google" > instead of "owned by Google" in their piece.

Again, I don't see any compelling evidence you've given for contracting the article as written. I'm going to have to go with the professional reporting on this one.

> as for 'companies that acquire companies' point, I don't subscribe to any > guilt by association sort of animosity, this doesn't seem fair

That's fine, think whatever you want. We disagree.

</comment></comment></comment></comment></comment><comment><USER31> ... of course although the NSA can't analyse domestic US photographs themselves, they can still mine the metadata attached to the photographs, which can include GPS data in some cases...

</comment><comment><USER32> Semi-off topic, what are some of the good algorithms to search faces with a similarity factor? Let's say I have a database of millions of faces and I want to go through the streaming of a video to identify all the faces showing up in the video with a 90% similarity factor.

I assume the faces on each frame of the video are extracted to be queried against the face database.

Would all the faces in the db loaded into memory and constructed in some data structure for efficient query? Or some mapping to SQL's standard B+ tree index with range searching can be done?

</comment><comment><USER2> Countdown until these are treated like pressure cookers...

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

</comment><comment><USER33> heres one for the nsa... [http://i.imgur.com/bp7bJFh.jpg](http://i.imgur.com/bp7bJFh.jpg)

</comment><comment><USER34> Whether this works or is right or wrong misses the point of doing it. This is being done because bad people brought bad things into this world. None of this was done until bad people did stuff. People forget that side of the equation.

</comment><comment><USER35> You know, I don't really mind that the NSA is collecting this information. What bothers me is that it's not being released to the public. What good are their efforts if no one else can build off of their work?

<comment><USER36> As if they care about the common good. Hilarious.

<comment><USER37> For US citizens, it's an obvious yes. If you disagree, can you show me where collecting this information has held detrimental effects on the common good of US citizens?

<comment><USER38> Perhaps, over time, the increasing isolation of the US coupled with deep distrust of future presidents by the leaders of other governments may lead to a reduction in economic power?

Also, the impossibility of organising a broad based political movement for change within the US in response to, say, severely worsening economic or climatic conditions because of 'self censorship' by US citizens?

These are weak signals working over a long timescale. But those things are important.

</comment></comment></comment></comment><comment><USER39> This is ridiculous!

Whenever some revelation about the NSA makes the news again, it sounds like something out of _Mission Impossible_ or _Batman_. I'm beginning to think they just hired action movie writers to design their programs.</comment>


Training a Lite Bert on AWS - <AUTHOR> https://aws.amazon.com/blogs/machine-learning/train-albert-for-natural-language-processing-with-tensorflow-on-amazon-sagemaker/ <comment><USER2> Great tutorial. Now instead of the 8x V100 $24/hr p3 instance, you can use a Lambda GPU Cloud 8x V100 instance for $12/hr ([https://lambdalabs.com/service/gpu- cloud](https://lambdalabs.com/service/gpu-cloud)). It's crazy how much Amazon still charges for older hardware.

In addition, when you're first starting off with Deep Learning you should just build a GPU machine under your desk and use that to train. The suggestion in the post to do horizontally scaled distributed training is a great way to horizontally scale your monthly bill too. I've seen dozens of people spend $500 on an AWS training experiment only to realize they could have bought a 2nd hand 1080 Ti with that same money and been able to train for the next 2 years.

</comment><comment><USER3> BERT models are in season. Would expect more pretrained models to available from AWS.</comment>


Why your idea for an Internet start-up will not get stolen - <AUTHOR> http://www.viewshound.com/technology/2011/6/why-your-idea-for-an-internet-start-up-will-not-ge?utm_campaign=article&utm_medium=post&utm_source=HackerNews

<comment><USER2> To test the OP's theory, I just submitted a post with my idea for a new movie app here: <http://news.ycombinator.com/item?id=2654826>

Essentially its an app that allows you to report any disturbances while watching a movie in theaters. I think the idea is solid. I figure there's nothing wrong with a little real-life application of the OP's theory that ideas don't get jacked.

</comment><comment><USER3> Counter-example: [http://www.boston.com/business/technology/innoeco/2009/11/th...](http://www.boston.com/business/technology/innoeco/2009/11/the_backstory_on_carecom_sitte.html)

<comment><AUTHOR> Perhaps not quite a like-for-like case though, this one looks more like a detailed forensic "open the books" examination, rather than a chat over coffee. I'm sure there are some cases where ideas do get stolen and made successful (a bit of Googling quickly turns up Steve Blank's experience on this), but I think these examples are probably rare enough to make them noteworthy.</comment></comment>


Silicon Valley's Favorite Stories - <AUTHOR> http://bits.blogs.nytimes.com/2013/02/05/silicon-valleys-favorite-stories/

<comment><USER2> Does that quote about deflating the ball, putting it in your pocket, then getting another ball and running with that, then reinflating the old one make make sense to anyone? I'm bamboozled by it

<comment><USER3> The key part is the

 _... Then you take another ball and run with it and when you've crossed the goal you take the second ball out of your pocket and reinflate it and score twelve points instead of six._

I believe he's talking about innovation, and the mindset behind accomplishing things at Intel (allegedly). Instead of "running with the ball", you find ways to "score more points" by finding ways to "carry more than one at a time".</comment></comment>


Calculating the Costs of the Israeli-Palestinian Conflict - <AUTHOR> http://www.rand.org/international/cmepp/costs-of-conflict/calculator.html

<comment><AUTHOR> Attempting to dangle a carrot in front of the horse this study shows the GDP losses from not having peace. But what is also shown and might be overlooked is how economically rational the step from non-violent resistance to violent resistance may be. In-fact of all of the scenarios the Rand Corporation modeled the step from non-violent to violent offers the least obstruction:

[https://gist.github.com/cyphunk/738b7e1a217be6d03631](https://gist.github.com/cyphunk/738b7e1a217be6d03631)</comment>


Show HN: In any network, identify experts, monitor satisfaction and influence - <AUTHOR> https://demo.insideropinion.com/ <comment><AUTHOR> The demo here uses Hacker News and Reddit data. You can also use our chatbot[1], and it will answer questions linking to people most likely know the answer.

[1] [https://join.slack.com/t/insideropinion/shared_invite/enQtNz...](https://join.slack.com/t/insideropinion/shared_invite/enQtNzA5ODAyNjM0MTE0LTM4MmYzYmNlOTQ0ZDI4YTJkN2FiM2RmMzk5M2QxOWYwM2ZmMmJjZWQxMWMwN2QzNDEzYjhlYmY0MjNiYmE0NjA)</comment>


Show HN: Pitch – Learn to sight read music - <AUTHOR> http://www.practicemakesperfect.education

<comment><USER2> Just downloaded the app for my daughter. A nice update would be if it showed the note after you get it correctly, such as: C or E Flat, etc. near the top of the screen.

<comment><AUTHOR> Thanks! Will think about how I can add that in the next version.

</comment></comment><comment><USER3> This is a really cool app. I like it a lot.

What instruments have you tested it with?

<comment><AUTHOR> Thank you! I organically made it for sight singing so for voice - Bass, Tenor, Alto, Soprano. But have also tested it with Piano, Violin, Cello and Flute.

</comment></comment><comment><USER4> Is there something like this for android ?

<comment><AUTHOR> I don't believe so. I'll be working on the android version if there is enough interest in the iOS.

If you find sometime similar - please let me know!</comment></comment>


Smell test for the validity of software patents - <AUTHOR>

While HN seems primarily negative on software patents, all of the recent patent-related stories here have brought out more patent supporters than I would have expected.  Some of them are legally or business minded folk rather than technical, others seem to be caught up in a sort of 'fanboi' mentality of defending their favorite company.
To those who are pro-software patent (and understand at least the basics of software development), I would ask if they honestly think one or more people could sit down to write a complete software application for any device that performed at least one practically useful function without (knowingly or unknowingly) violating at least one existing patent (valid in the USA)?   Because I honestly don't think it is possible to do that at this point in time and would bet a significant (to me) amount of money that it couldn't be done even if you were specifically trying to do it.
Despite all the talk of "innovation", so much of what is core to the fundamentals of computer science has been swept up in currently active patents that it doesn't matter if you innovate or not, you're absolutely going to violate other people's patents when you write any significant amount of code. It is just a matter or whether they notice and persue the matter legally or not.
With that in mind, I don't see how any rational person could conclude anything other than the fact that software patents are insanely out of control right now and need a seriously overhaul if not a complete tear-down. <comment><USER2> I have a patent for collaborative filtering. When the company I worked for decided to apply for a patent on the work I had done, I told them it wasn't patentable because of prior art. They told me to go along or be left off the application. I said OK. It's just one more thing for my resume. If someone gets patent reform that invalidates my patent, I'll be cheering from the sidelines.

</comment><comment><USER3> I couldn't agree more. I don't think it's possible to build anything even simple anymore, let alone building a complex application or system.</comment>


Ask HN:  How do you do batch processing? - <AUTHOR>

I'm curious to to hear what technologies others use to process large volumes of batch jobs.
We've found it useful to be able to offload more process-intensive jobs from an end-user execution, and pass it into a queue ( which looks something like this http://abhinavsingh.com/blog/2010/02/memq-fast-queue-implementation-using-memcached-and-php-only/ )
What do you use? <comment><USER2> Resque. <https://github.com/blog/542-introducing-resque>

I use the Ruby version, but there is a php version too.

<https://github.com/chrisboulton/php-resque>

<comment><USER3> We're using a combo of the PHP version and the Ruby version and it's been working great for us (we migrated over from a custom queue on top of MySQL. The Sinatra based front-end is awesome for being able to monitor everything that's going on and with a little bit of work you can get pretty much any of the Ruby extensions to work with the PHP version (we're using the resque- scheduler <https://github.com/bvandenbos/resque-scheduler> to do delayed jobs). There are a few inconsistencies between how the jobs get handled between the two (it's not a huge difference and I've been meaning to submit it as a patch, I need to separate out some of the changes I made to make the PHP version compatible with resque-scheduler).

If you have questions about implementing the PHP version, feel free to ping me.</comment></comment>


My hobby: answer beginner SO question after a night out - <AUTHOR>

So, sometimes when I get home too early but still keep drinking I like to answer random stuff on SO. And every now and then, there is a random question that is so wrong and clearly by somebody just starting to learn programming, that it becomes a challenge to answer it.
In this case: http://stackoverflow.com/questions/18026506/i-need-something-similar-to-sleep-function-for-a-program-that-uses-opengl
I probably did a piss poor job as a teacher, but it got me thinking, how would one approach this in a functional language? I did my share of Haskell when it was still a pure academic experiment, but never really took to it.
So, how would a functional approach to this simple but natural problem look like? <comment><USER2> There are various methods and various languages. Scheme uses continuations, javascript can use futures/promises, sometimes you just see a 'yield' operator. Many of these ideas are close to Tony Hoare's 'Communicating Sequential Processes' paper/book [1], so if you want the low down, read the paper.

[1] [http://usingcsp.com/cspbook.pdf](http://usingcsp.com/cspbook.pdf)

<comment><AUTHOR> Thanks for the reply. I was really drunk when posting this, sorry :) I know how things are done in different languages. The thing that stumped "drunk me" was how much harder it would be to explain them. "sober me" realizes that my premise was wrong. I was answering a beginner imperative question. There is no good functional answer. A beginner functional question would be different and have a different answer. In reading my post it is kind of funny to see my own weird tunnel thinking - don't drink and think :).</comment></comment>


Kinect hack builds 3D maps of the real world - <AUTHOR> http://www.wired.co.uk/news/archive/2011-01/24/3d-kinect-map

<comment><AUTHOR> Also look at the original blog post: [http://blog.decoratorpattern.com/2011/01/23/real-world- mappi...](http://blog.decoratorpattern.com/2011/01/23/real-world-mapping-with- the-kinect/)</comment>


Google's AlphaGo AI will play Go against humanity's best player - <AUTHOR> http://arstechnica.co.uk/information-technology/2016/06/google-deepmind-alphago-ke-jie-match-details/ <comment><USER2> Not according to Demis Hassabis: [https://twitter.com/demishassabis/status/739832323160563712](https://twitter.com/demishassabis/status/739832323160563712)

<comment><AUTHOR> It was announced by an executive member of the International Go Federation and reported by Xinhua. Hardly an internet rumour!</comment></comment>


MPL – Motorola's M6800 Programming Language - <AUTHOR> https://github.com/jhallen/joes-sandbox/tree/master/exorsim/mpl <comment><USER2> If you're interested in languages like this, often called "High-Level Assemblers", you might be interested in L.in.oleum[0], a portable assembler designed to aid the creation of a sequel to the game Noctis IV, or Octo[1], a purpose-built HLA I designed targeting the Chip8 virtual game console.

[0][http://en.wikipedia.org/wiki/Linoleum_(programming_language)](http://en.wikipedia.org/wiki/Linoleum_\(programming_language\)) [1][https://github.com/JohnEarnest/Octo](https://github.com/JohnEarnest/Octo)

</comment><comment><USER3> The idea of conforming a language specification directly to the constraints of a platform is highly idealistic, of course, but nevertheless one which has a lot of contemporaneous applicability. Yet, the vogue appears to be more inclined towards abstraction. Here, we see the abstract in its most naked form: the owner of the hardware is the same as the owner of the software. They are the first user.

So this is quite a poignant item for the HN crowd. Do we need more, or less, of this sort of thing? Methinks, more.. but it may be knee-jerk borne from a few decades of jade.

<comment><USER4> I'd say not idealistic at all, it's an entirely practical thing. Early LISPs were coded directly to the instruction set and register widths of the 36 bit IBMs they were written on. BCPL and B were likewise untyped languages with the "word and pointer are the same thing" assumption baked in. Fortran and the IEEE floating point standard evolved in lockstep, etc...

</comment></comment><comment><USER5> This is wonderful work. I wonder how long it will take for software archeology to become a real field? So much is forgotten already.

<comment><USER6> I often wonder about how much programmers of my generation are missing out on because of our relative lack of understanding of the full stack of software and hardware. Many of my peers have never written C code outside of school and largely expect to only work in high level scripting languages like Python or Ruby.

<comment><USER7> > _high level scripting languages like_

I'm sorry, I thought that term died a long time ago. What exactly is a scripting language to you and how is it different than whatever you may call a "normal" programming language?

<comment><USER8> Basically perl, Python, sh/bash, and so on. Not C or C++. (Well, there's '#!/usr/local/bin/tcc -run' [1] which can do C but, you know, that's the exception to the rule.) Moar here: [2]

[1] [http://bellard.org/tcc/tcc-doc.html](http://bellard.org/tcc/tcc-doc.html) [2] [http://en.wikipedia.org/wiki/Scripting_language](http://en.wikipedia.org/wiki/Scripting_language)

<comment><USER7> That's insane. Perl and Python are both general purpose programming languages. This reminds me of the days Java developers used to call Ruby developers "script kiddies."

So if C and C++ are the only true programming languages, we're all just script kiddies? :/

<comment><USER8> No. I didn't say anyone was a "script kiddie." I merely stated that _the manner in which Perl and Python function_ is different than _the manner in which C and C++ function_ and that's enough of a difference that they belong in two categories of languages: 'scripting languages' (which are not compiled to assembly and typically require an interpreter) and 'compiled languages' (which can be compiled to assembly and typically do not require an interpreter.) Nor did I say Perl and Python aren't suitable for general purpose tasks. If you think 'using a scripting language' is the same as 'being a script kiddie,' then you're just wrong. [I don't know enough of how Java or Ruby function to say which category they belong in.]

</comment></comment></comment></comment></comment></comment><comment><USER9> > ! is special also, use !! to get !

The exclamation point forces direct addressing in the 6800 assembler. I can't believe I remember that.

</comment><comment><USER10> Awesome work, Joe!

</comment><comment><USER11> Playing with some hd6303 from the parts bin makes this _very_ timely.</comment>


Ask HN: Best scalable way of storing sessions? - <AUTHOR>

Like many, our startup began by storing sessions in MySQL (InnoDB). This has become inefficient -- basically requiring us to write to the database on every page load.
Many people suggest using Memcached to store sessions but one of the core memcached developers recommends against that here: http://bit.ly/dZCT
Storing sessions in a cache is not really what they were designed for: caches can evict data, and if you only have one memcached instance, your sessions would be contending for space with the rest of your cached variables.
My question is: what do you use to store sessions on your high-traffic application where speed matters? What is the very best solution to this problem? What do places like Facebook do here? <comment><USER2> As someone that ran a company for a number of years that sold solutions for session storage, the best solution is not to store them...

Encode your state in cookies instead. Of course, that's much easier said then done, especially given the size limits, but if you can, then it's an awesome approach.

A good way to make this work is to identify what in your session is a cache of other data (e.g. your user record) and what is actually true session data (e.g. the user id). You only need store the former, the latter can be cached in memcached.

Cookies are sent on every request, so you probably need to use an asset domain for best performance.

Don't forget to make sure that your cookies are secure. That's been pretty well covered recently, but I think it involves typing A-E-S or something like that :-)</comment>


This Entrepreneur Raised $300,000 By Wearing Dad's Wool Shirt For 100 Days - <AUTHOR> http://www.fastcoexist.com/1682002/this-24-year-old-entrepreneur-raised-300000-by-wearing-dad-s-wool-shirt-for-100-days

<comment><USER2> Isn't this another misuse of Kickstarter?</comment>


Many airport retailers charge full price and pocket the duty free tax rebate - <AUTHOR> http://www.economist.com/news/britain/21661798-duty-free-shopping-not-only-way-air-travellers-are-being-ripped-runway-robbery?fsrc=scn/tw/te/pe/ed/runwayrobbery

<comment><AUTHOR> You can get charged just for dropping someone off at the airport? Wow.</comment>


$5K Web-App MVP - <AUTHOR>

I will build your web-app MVP for a flat $5K. No mobile apps, sorry :(
You know, in advance, what you are getting yourself into.
I will do my best to do a 6 - 8 week turnaround.
Once we both agree on the scope, then I can get started.
Here are two things I have created for myself - CompVersions.com & LeadsRiver.com.
Email me: marc @ compversions dot com. <comment><USER2> Have you done this before, or is this your first attempt at building something for others? Please post back about whether you get any work through this.

One of my goals in learning to use django efficiently is to be able to solicit work like this, so I would be curious to hear how this goes.

<comment><AUTHOR> I have gotten work like this, but it's not as steady as I would like. So I wouldn't use this as a "reliable" channel for new work.

</comment></comment><comment><USER3> Does that includes UI design?

If I had to hire someone to build my MVP I would rather focus on design than creating a killer app on the first version.

This is why. Since the service is not popular, doesnt have many users or features, I would try to convert users by offering them a great user experience.

Thats why I would invest 3k on a great UI/UX design and the rest on building the app.

<comment><AUTHOR> Unfortunately not.

There are good templates that you can use to give you decent design.

Realistically, it will be very hard to get a "great-looking-and-functioning" MVP on a $5K budget.

</comment></comment><comment><USER4> On CompVersions there's the Latest Tweets widget that says that the last tweet was 111 days ago. This takes away more from the site than it adds.

<comment><AUTHOR> Thnx for the tip. You are right.

</comment></comment><comment><USER5> Marc is the real deal... excited to see what comes out of this.

<comment><AUTHOR> Thnx Tom!

</comment></comment><comment><USER6> Have you gotten many contacts through this posting?

<comment><AUTHOR> A handful...nothing to write home about.

Btw, your homepage is pretty clever! Nicely done.

<comment><USER6> Thanks :)

</comment></comment></comment><comment><USER7> are you good with python + django?

<comment><AUTHOR> Unfortunately no....just Rails & Ruby.</comment></comment>


Learning in the Open - <AUTHOR> http://kyle.mathews2000.com/blog/2009/10/07/learning-open

<comment><USER2> This is a really powerful point. Observation and commentary help a lot -- reading other people's blogs, and comments on mine.

The process of preparing what I've done for somebody else's consumption is probably the most valuable thing I do for my own expertise. Keeping a developer blog gives me deeper insights into what I'm doing because I have to explain them.</comment>


State of SaaS 2014 and its Challenges - <AUTHOR> http://blog.startupcompass.co/2014-saas-market-outlook

<comment><USER2> "The biggest challenge is distribution. Our data shows SaaS companies rely heavily on direct sales — at nearly twice the rates of every other channel, but can afford only modest sales teams of 1 or 2."

Is the primary issue here that the recurring revenue models of SaaS companies are less compatible with existing distribution networks?

I've been researching this and found that hardware companies that sell through dealer networks and authorized distributors have an unrealized opportunity to introduce recurring revenue products for their partners, who typically are operating with narrow margins on "one and done" box sales. The challenge is implementing a revenue sharing or commission model that is both attractive and straight forward.

</comment><comment><USER3> Great article, Compass. As a CRM (I'm a co-founder @ nutshell.com), we're pretty excited about the growth in our sector. This also meshes with our strong beliefs in building APIs and integrating with a ton of third parties.

While the goliaths do build platforms, they subsequently tend to slowly tighten their hold on those platforms (cf. LinkedIn's API shutdowns, Salesforce's extra charges for API usage). It's great working with other small upstarts that are interested in making software play nicely with each other (something that Compass obviously does quite nicely).

</comment><comment><USER4> One of the opportunities in SaaS we see at Vendorsi is the chance for small enterprise vendors to be more easily, and less expensively found by other SMBs. Because we don't charge vendors, and instead charge buyers a subscription, we can--and must be--neutral, and focus on presenting accurate data about all the vendors in the space, vs. the 8 who pay us the most.</comment>


Ask HN: Examples of SaaS companies that monetize through whitelabeling - <AUTHOR> Is this a viable business model for saas companies? Anyone here have any experience? <comment><USER2> It's a large part of my business ([https://www.improvely.com/features/agency- features](https://www.improvely.com/features/agency-features)). The white- label client portal is largely what drives upgrades to my most expensive plans ($299-899/month).</comment>


Ask HN: Why Did Cuil Fail? - <AUTHOR> What could be done to have made it successful ? <comment><USER2> [https://www.reddit.com/r/worldnews/comments/7da5i/police_rai...](https://www.reddit.com/r/worldnews/comments/7da5i/police_raids_reveal_baby_farms/c06cqxb/)

That post pretty much nailed it for me. Asking for a hamburger and getting a raccoon? That's about how far off the mark their results were at the time.

</comment><comment><USER3> Even back in the aughts, if you want to be successful in search, there has to be some angle in which your product is better than Google's.

Cuil wasn't.

</comment><comment><USER4> For people to have heard of it would probably be a start.</comment>


Native OpenBSD hypervisor hits -current - <AUTHOR> http://undeadly.org/cgi?action=article&sid=20151122214050&mode=expanded <comment><USER2> Why isn't OpenBSD more widely used? I only know what I read about it, but:

* If I was building a system where UI and broad hardware and software compatibility weren't an issue (for example, if I were building an appliance or IoT device), an exceptionally secure, stable, reliable, open, well-maintained and well-documented OS would be wonderful.

* If I was building a Unix server with those specs, why not?

* Why aren't Google's, Amazon's, Yahoo's, etc. server farms running on OpenBSD? How about iOS? (Android needs broad hardware compatibility.) Are there essential power or system features that Linux or FreeBSD has and OpenBSD lacks?

As it's not that widely used, I suspect there are considerations or problems I'm overlooking, or maybe the advantages aren't as large as I think. It's hard to believe it's all politics or personality conflicts.

<comment><USER3> I've been deploying OpenBSD in production since the 2.x days (late 90's, an example machine was a recycled 486 with a PCI and ISA 10Mbit/s ethernet cards).

While it's possible to use OpenBSD as a general purpose server or desktop, that's not where it's strength lies.

It tends to excel as a firewall or router for the under 1Gbit/s crowd that has Unix sysadmin experience - basically, appliance applications where it would function in the same role as a Cisco or Juniper router device.

OpenBSD's leadership has a goal of pushing the security envelope, and force positive change on the rest of the Unix ecosystem, which it's succeeded in doing in many ways.

<comment><USER4> What problem does pf have after 1Gbit/s?

<comment><USER5> Back in the day, it was the limitations of PF under SMP. I don't think that's been an issue for a few years now, though.

<comment><USER6> You don't need SMP for much work up to 10Gb/s on modern hardware. Not sure if OpenBSD has 10Gb driver support or not (although FreeBSD and NetBSD do).

<comment><USER7> Of course OpenBSD has 10GbE.

<comment><USER8> But which? Mellanox, Intel, Solarflare, QLogic?

<comment><USER7> [http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD- current/man4/...](http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD- current/man4/pci.4?query=pci&sec=4&arch=amd64)

<comment><USER8> I have no idea which driver names are 10gbit and I certainly don't go to a store and ask for hardware by its device ID or chip family name.

<comment><USER5> Come on, amigo. Click the link, Ctrl-F for "10Gb", then click the links. The man pages even include the actual manufacturer part number that they've tested. What more could you need?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I run Linux at work because I have to. I run OpenBSD on my personal servers and deskstops/laptops because I like it.

This is really good news because now I can move my VM host to OpenBSD.

OpenBSD is a clean simple user friendly OS.

</comment><comment><USER10> Good to see they finally compromised on this. A few more here and there we might see OpenBSD start getting more traction. They can maintain their quality difference if they make the _right_ compromises rather than every compromise. Interesting to see what choices they make from here.

<comment><USER11> Is this really a compromise?

OpenBSD has happily run as a guest for a long time now, with various virtio drivers being added some time ago. Solutions like virtualbox and xen reach far into the system and are still a no-go on OpenBSD.

vmm on the other hand is a very literal OpenBSD implementation of a hypervisor. Minimal cruft means very little device emulation, virtio support only etc... The code is simple and readable[1], as opposed to other monstrosities.

I would take a punt and guess that the reason OpenBSD hasn't had a hypervisor is that a) all of the current solutions were inappropriate, and b) nobody had the time/effort to implement an appropriate one.

[1] [http://cvsweb.openbsd.org/cgi- bin/cvsweb/src/sys/arch/amd64/...](http://cvsweb.openbsd.org/cgi- bin/cvsweb/src/sys/arch/amd64/amd64/vmm.c?rev=1.3&content-type=text/x-cvsweb- markup)

<comment><USER12> Well, there's this famous 2007 statement by Theo de Raadt that many took to mean OpenBSD would never, ever play this game: [https://marc.info/?l=openbsd- misc&m=119318909016582](https://marc.info/?l=openbsd-misc&m=119318909016582)

<comment><USER11> If you actually read the thread he was reacting to the premise that: as a secure operating system, OpenBSD should implement virtualisation (in this case, Xen) due to its security benefits.

A premise which he rightly shat directly on, and is his statement is completely congruent with the presence of a VM hypervisor in OpenBSD.

<comment><USER10> "OpenBSD should implement virtualisation (in this case, Xen) due to its security benefits."

A specific answer that only took a day to form.

"If you actually read the thread"

Still this again, though. That's three people whose position is that anyone wanting to know OpenBSD's position on virtualization should spend 20m-1hr digging through threads like that and many dozens of hours watching video presentations/interviews. Just in case the answer's there. That's quite unreasonable given one link to a definitive answer on a mailing list, site, etc is all it would take. It's not a one-off thing as this topic comes up endlessly with them having the same response minus some exceptions.

So, given them acting that way, it's a reasonable default for outsiders to assume they didn't give a crap, got way behind on virtualization, cite comments like that just to save time, and finish by adding they're finally doing something. It's actually more effort than OpenBSD supporters put in those discussions. At least one had the wisdom to send me a video with Theo straight up saying it wasn't a priority. QED on whole topic. See how easy that was?

Not so easy in certain circles it seems...

<comment><USER11> > anyone wanting to know OpenBSD's position on virtualization should spend > 20m-1hr digging through threads like that

Okay, okay. Personally, I think the fact that OpenBSD did not support any of the current virtualisation solutions, and now have an appropriate one in the works says a lot about their position.

And, frankly, what use is an organisations "position" on VM hosting to a user? It either supports it or it doesn't, and if you don't plan on developing it the reasons don't really matter.

EDIT: I'm also going to point out that mailing list posts in general rarely stand on their own, and exist within a context.

<comment><USER10> "Personally, I think the fact that OpenBSD did not support any of the current virtualisation solutions, and now have an appropriate one in the works says a lot about their position."

It's ambiguous far as past is concerned. Two possibilities are (a) they didn't care for longest but caved on the issue or (b) they wanted it, waited for a solid codebase that never showed, and finally did one of their own. All I can tell is that it matters to them now.

"And, frankly, what use is an organisations "position" on VM hosting to a user? It either supports it or it doesn't, and if you don't plan on developing it the reasons don't really matter."

Not true. Very few develop for Linux or FreeBSD vs number of stakeholders. Nonetheless, many features non-developers would want came about because people needed it or were talking about it. I agree with you for OpenBSD specifically, though, as they've been clear about "code it if you want it so bad."

"EDIT: I'm also going to point out that mailing list posts in general rarely stand on their own, and exist within a context."

True, too. Probably best way to apply that is to just not quote mailing lists if it's a huge conversation. I only quote or back those references because later interviews corroborated them a bit for virtualization in general. We certainly shouldn't just grab things off mailing lists without a context, though.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Here's the original announcement, with answers to a few frequent questions.

[http://marc.info/?l=openbsd- tech&m=144104398132541&w=2](http://marc.info/?l=openbsd- tech&m=144104398132541&w=2)

</comment><comment><USER14> Make it clean and fast and you'll have a compelling secure host OS for VMs.

One problem that would be good to address (and maybe it is) is making it really hard to dump the memory of a VM. We don't have homomorphic encryption yet, so right now if you dump a VM you own any secrets it holds. So at the very least this should be made as hard as possible on production VM hosts.

<comment><USER15> What does making it hard for the host to dump vm memory buy you? It seems like if the host wants, there's virtually endless things they can do. iow, you have to trust the host.

<comment><USER14> Things are not insecure or secure. Things are secure to varying degrees; nothing is perfectly so and few things are totally not. (... and anyone who claims anything is totally secure is delusional.)

Making it hard buys you _some_ resistance to _less skilled_ attackers. Since skill tends to obey a power law distribution, this is most attackers. Make it as hard as possible and you get more and more protection from more and more attackers, and so on.

Your average attacker doesn't know enough to bust out x86 assembly language to inject root code into the kernel and dump a VM's RAM. So make it so you have to do this, and you've ruled out your average attacker. The average attacker will only 'dd' the VMs' disks, which if they've encrypted data at rest will not get them the crown jewels. But make it easy to dump VM RAM and you've exponentially increased the damage from the average attacker (due to power law distribution of skill).

<comment><USER16> It only takes one attacker (or curious college student) to figure it out and post it on GitHub, and then your average attacker can bust out all the assembly language required without actually knowing it.

For comparison -- does your average Windows attacker know how to cryptanalyze the LM hash function? No, but they can run the tool just the same.

There are absolutely places where your the general argument holds water: "no security by obscurity" is a simplistic framework, and ignores a much more reasonable and also simpler framework of costs and incentives. In several cases, the costs of figuring out something obscure outweigh the potential incentives of breaking it.

But in this particular case, there are no _marginal_ costs to the attacker. Once someone somewhere invests the time to figure it out, for any motivation including curiosity, the defense is immediately worthless for everyone.

</comment></comment></comment></comment><comment><USER17> When should we expect this to run on bitrig ?

<comment><USER18> Has bitrig seen much uptake? Genuinely curious.

I remember reading about it when it was started, but haven't heard much about it lately.

<comment><USER19> I don't know about the uptake, but I have seen patches making their way back to OpenBSD from BitRig.

<comment><USER20> Have looked it up once, for me Bitrig is about better ARM support and using LLVM. Both desirable. Am I still correct? Am I missing something?

<comment><USER21> dropping "obscure" platforms and git rounds it out.</comment></comment></comment></comment></comment>


Look Who's Getting That Bank Settlement Cash - <AUTHOR> http://www.wsj.com/articles/look-whos-getting-that-bank-settlement-cash-1472421204 <comment><USER2> The key to parsing WSJ op-eds is to read the italicized part identifying the author first. Here the OP is an "adviser at Freedom Partners Chamber of Commerce" (i.e. Think Tank funded by large corporate donors operated "independently" to give a veneer of respectability to their self-serving policy goals.)

<comment><USER3> So you don't like the messenger. But what about the message? The sub-headline is pretty startling:

 _Tens of millions of dollars disguised as 'consumer relief' are going to liberal political groups._

Isn't that more important than the messenger? Why not discuss the content?

</comment></comment><comment><AUTHOR> [https://archive.fo/gaXAT](https://archive.fo/gaXAT)</comment>


Ask HN: What is the right way to learn Mathematics? - <AUTHOR>

Please note that I am not asking for good resources, I am asking for the "right way".
The reason I learned to code in the first place was because of my fascination with the idea of AIs in childhood, but when I realized later on that to learn it you need Math, I was in despair. I have decided to (RE)learn everything from the very basics. I have been watching videos and solving examples on KhanAcademy since last two weeks now. (Thanks to Sal). But once in a while I stop and ask myself -- whether it's the right way. Whether I will have true insights into Math when I am done with this. I really need to know the right path before I spend years going in the wrong direction, only to find nothing.
The areas I am interested in are -- Artificial Intelligence, Image Processing, and Computer Graphics. <comment><USER2> It might also help to know what parts of math are intuitive and what parts aren't. Our brains just can't visualize tensors, but we can visualize quantities. Trying to relate tensors to the spatial geometry of the world around us -- the world we can perceive -- may not lead to much.

I found this book helpful

[http://www.amazon.com/Number-Sense-Creates-Mathematics- Revis...](http://www.amazon.com/Number-Sense-Creates-Mathematics- Revised/dp/0199753873/ref=sr_1_1?s=books&ie=UTF8&qid=1423298459&sr=1-1&keywords=the+number+sense)

<comment><AUTHOR> Thanks! I'll look into it! :)

</comment></comment><comment><USER3> Learn the mathematics that's applicable to the area in which you are interested. That means it's recursive:

        function learn x
            if x.prerequisties.know()
            then study x
            else learn x.prerequisites

Not iterative. So start with AI if that's what you want to know.

That's not to say that building up iteratively from foundations is bad. But if it's not directed from the top level, then it may not lead there.

<comment><AUTHOR> Thanks for writing. I like your approach. I actually have started from the very top level. Let me explain further as why I asked this question in the first place with examples.

Two days ago I (re)learned that (-1) x (-1) = (1). I read many resources explaining why that is true, but it just doesn't strike as 1 + 1 = 2.

To give one more example, just to make clear what I am asking about -- Today I learned about slope of the line, which is = change in y / change in x. Even that doesn't strike. I have already learned these things believing that they are true in my school years. I don't want to learn in the same way.

<comment><USER4> It is important to distinguish between axioms (things you assume), definitions and theorem (things you prove from axioms, stated in terms of definitions). So, for basic arithmetic, your assumptions might be the defining properties of numbers: associativity, distributivity, etc. In this setting, 1 + 1 = 2 is basically a definition, while (-1)* (-1) = 1 is something to be proved:

        0 = 0* (-1) (0* x = 0 for all x)
          = (1 + (-1))* (-1) (x + -x = 0)
          = 1* (-1) + (-1)* (-1) (distributivity)
          = (-1) + (-1)* (-1) (1* x = x for all x)

implies:

        1 = (-1)* (-1) (equality; add 1 to both sides)

Finally, slope = rise/run is a definition. It is not something you "see" to be true.

So assumption vs. definition vs. theorem can explain part of it. Another part is familiarity. 1 + 1 = 2 is ubiquitous in daily life. Depending on what you think about, (-1)* (-1) = 1 may not be. You probably have lots of interpretations of 1 + 1 = 2 (counting, number line, shopping, money, etc.) How many such interpretations of (-1)* (-1) = 1 do you have?

I highly recommend this book, written by two mathematicians:

[http://www.amazon.com/5-Elements-Effective-Thinking- ebook/dp...](http://www.amazon.com/5-Elements-Effective-Thinking- ebook/dp/B008JUVDUE/ref=sr_1_1?s=books&ie=UTF8&qid=1423244565&sr=1-1&keywords=5+elements+effective+thinking)

It's now about mathematics per se, but about learning how to learn and think better. Good luck.

<comment><AUTHOR> Awesome! Really liked the way you proved (-1) _(-1)=1.

What I am doing is trying to relate every single new thing I am learning with real life examples, only to make sure that I have _learned* that thing. Most of the times I fail at that. But I guess it's not always possible.

<comment><USER5> That may not always be possible (or even necessary) to relate to a real-life example, but as long as you develop some sort of intuition, of "feeling" about what you learned, you did not fail at learning that.

For example (taken from the article I mentioned on the other topic), when you think of a derivative, what is the first thing that comes to your mind?

The equation that defines it? ([http://calnewport.com/blog/wp- content/uploads/2008/11/deriva...](http://calnewport.com/blog/wp- content/uploads/2008/11/derivative.png))

Or this intuitive image? [http://calnewport.com/blog/wp- content/uploads/2008/11/tangen...](http://calnewport.com/blog/wp- content/uploads/2008/11/tangent_to_a_curve.png)

<comment><AUTHOR> I am yet to tackle Calculus, so nothing comes to mind. But I am agree with you that, relating all of math concepts to real life won't be necessary as long as I truly understand it.

</comment></comment></comment></comment></comment></comment><comment><USER6> This article hit the front page a few days ago, I think you will find it very informative.

[https://medium.com/@warrenhenning/a-software-engineers- adven...](https://medium.com/@warrenhenning/a-software-engineers-adventures- in-learning-mathematics-62140c59e5c)

<comment><AUTHOR> Thanks for writing! I actually read that article that day, and it was really on time. It's a good motivation, but it doesn't talk about _how_ one should learn Math. I find the commends below very informative and I've concluded that I need to spend some time on finding better ways to learn, and what suits me well.

</comment></comment><comment><USER7> Check out the book "The Calculus Direct" by John Weiss.

<comment><AUTHOR> Thanks for the suggestion, will check that book.

</comment></comment><comment><USER8> 1) Make sure you understand the concepts, not just how to crunch the numbers.

2) Make sure you understand how the math relates to the actual real world and is a means to model actual reality.

I know you did not ask for resources, but really good ones are hard to find. So I will note that a good source for good math articles (as well as good math answers) on HN is Colin Wright: [https://news.ycombinator.com/submitted?id=ColinWright](https://news.ycombinator.com/submitted?id=ColinWright)</comment>


Amazon accidentally announces a cheaper Echo Dot - <AUTHOR> http://www.recode.net/2016/9/12/12896804/new-amazon-echo-dot--50-twitter-deleted-tweet <comment><USER2> I think I read the only way to order a Dot is via an Echo.</comment>


14 Tools to Legally Spy On Your Competition - <AUTHOR> http://www.grokdotcom.com/2008/10/07/14-tools-to-legally-spy-on-your-competition/

<comment><USER2> No SpyFu?</comment>


Ask HN: What's the future of Amazon regarding their Big Data strategies? - <AUTHOR> I am doing a project on Amazon and how they use Big Data to leverage their resources and increase profits. What do you think is the future of the company regarding their Big Data strategies? Would love to know your opinion! <comment><USER2> Amazon or AWS? I think amazon has tried everything big data for maximizing their revenue and reducing costs. They are probably an ad platform now more than eCommerce. AWS is now the profit center for amazon. Storage is a part of the strategy but they are moving to serverless. They are pros at hosting X so they offer it as a service. Kafka, Hbase, spark, etc.

<comment><AUTHOR> Thank you for your answer! It gave me new ideas :)

</comment></comment><comment><USER3> I think they encourage the adoption of big data projects, then sell storage per gigabyte via their cloud division.</comment>


App Container and Docker - <AUTHOR> https://coreos.com/blog/app-container-and-docker/

<comment><USER2> This is useful for us.

We've been using containers rather heavily in our infrastructure for a few years now (neither rocket, nor docker) and we've developed our own toolset to handle the container images, and to manage the containers.

Even though although it kind of deprecates a lot of our work, I really see the value in having a standard that can be used with different container runtimes, and I'll be looking at migrating our internal format to the app container specs. Having tools like this to handle migrations makes a lot of sense to me. We can continue developing our tools, without marrying a specific backend.

<comment><USER3> You can take a look at the work we've done with containers if you want over at Terminal.com. You can run it on your own metal too if you'd like.

We wrote a blog post about running docker containers on it too a while ago: [https://blog.terminal.com/docker-without-containers- pulldock...](https://blog.terminal.com/docker-without-containers-pulldocker/)

<comment><USER2> That looks like a useful tool

We're running on (mostly) raw lxc, with networking via openvswitch, cgroups, yada yada. so I don't think it's applicable to us at this point

A containerized world makes a lot of sense, but it still seems like a really young ecosystem. It's really the 'wild west'at this point.

To be honest, I'd rather back an accepted standard, then a specific implementation.

Don't get me wrong, Tools like this are super valuable, and generally make my day to day life easier

</comment></comment></comment><comment><USER4> Shykes latest comment on that github thread has a point: [https://github.com/docker/docker/pull/10776#issuecomment-743...](https://github.com/docker/docker/pull/10776#issuecomment-74346219)

Interesting move by CoreOS here to create what will likely be a false dichotomy for docker in the public sphere (as an indicator of their openness). If you truly believe docker is fundamentally flawed you'd be doing your users a disservice writing this. If its transitionary, create your own docker fork/binary instead of a public scene to try to force dockers hand. Lots of fragmentation to come, which sucks because the ecosystem is so important.

<comment><USER5> Shykes > _Can someone explain to me how the user benefits from this?_

As a user, it would be fantastic to run my App Container images on Docker hosts, and Docker images on Rocket hosts.

If only I could move my virtual machine images this easily and avoid high switching costs between platforms.

Shykes > _just do it in your own project and let the best project win ... you have to choose one or the other_

Bullshit. If it's open, let the best idea win. If this is a bad idea, then let the community examine it and it will lose on the merits.

Don't force me into a false dichotomy.

<comment><USER4> > just do it in your own project and let the best project win > Bullshit. If > it's open, let the best idea win.

So are you suggesting docker should merge and maintain support for a container spec they weren't involved with which, was created because docker is "fundamentally flawed"?

I'm sure the pull-request author knew that this would do nothing more than cause fuss in the community. Shykes comment seems to me like it was a response to what seems like a hardly legitimate PR and much like a PR stunt.

Docker has 722 contributors on github, I'm sure the community will discuss and decide what to do with this while I watch this battle play out and work with both products.

<comment><USER6> I can't speak for panarky, but there are two separate issues here:

1\. Rocket implementing the docker image format

2\. Rocket PR'ing the rocket image format to docker.

It is 100% reasonable and likely a good business move to reject the PR, but the only reason to be mad about (1) is if it benefits the end user in a way that weakens Docker's market share, which it does.

</comment></comment></comment></comment><comment><USER7> > At the same time as adding Docker support to Rocket, we have also opened a > pull-request that enables Docker to run appc images (ACIs).

I really hope this lands and something constructive can come out of it. There is a lot more that can be gained by these communities working together and not promoting divisiveness.

<comment><USER8> I agree, I think it would be much better for everyone if the two container specs merged.

However, after reading "This is a simple functional PR..." in the blog post, I was surprised to see the PR adds over 38k lines of code. Seems like that will take a while to review.

<comment><USER9> Most of those lines added are appc getting vendorized

</comment></comment></comment><comment><USER10> little bit of snark: wasn't Docker "fundamentally flawed"? If that was really the premise to launch Rocket why bother with this humongous PR?

Don't get me wrong, I totally see how this is good for Rocket, just be honest and admit the "fundamentally flawed" argument was mainly smoke and mirrors to justify a defensive-offensive move by a VC-backed, for-profit company launched against another VC-backed, for-profit company.

Again nothing wrong with that, it's business and in fact a good move but in my eyes CoreOS lost quite some trust when they tried to potray Rocket as a selfless act of kindness towards the community that needed to be saved.

<comment><USER11> All of us want containers to be successful, they solve a ton of problems. But, part of that success is getting the format and the security correct. And we want to have that technical discussion and settle on those best practices for all implementations.

There are things in the App Container spec that we would like to see in Docker, this is why we put in the work to make a spec, write the code to make it work and start a technical discussion. This has been the goal since the beginning. The problems that exist in the current Docker Engine that we would like to address are technical and real:

1) We believe in having a decentralized and user controlled signing mechanism. In the appc specification and rocket we use the DNS federated namespace. See the `rkt trust` subcommand and the signing section of the ACI spec.

2) We believe that image IDs should be backed by a cryptographic identity. It should be possible for a user to say: "run container `sha512-abed`" and have the result be identical on every machine because it is backed by a cryptographic hash.

In rocket another thing we wanted to do was enable running the download/import steps outside of being a root user. For example today you can download and import an image from disk in the native ACI format with rkt. And in the next release `rkt fetch` will be runnable as a user in the same unix group as `/var/lib/rkt/`.

<comment><USER12> "they solve a ton of problems"

Name two?

<comment><USER13> Deploying to a cleanly defined fresh state without paying any performance penalty. Documenting your dependencies by writing the deployment script (=Dockerfile) and not having to reinvent the wheel everytime (image inheritance). Sandboxing linux applications without paying any performance penalty. Creating a PaaS where your services internally always see the same standard port, externally they're linked together through docker, thus separating the routing concerns from your application logic.

<comment><USER12> These are all great but I get the most of the same benefits from VMs and many more:

fresh state/ no performance penalty (AMI+autoscaling) Document dependencies, not reinvent (Packer file) Sandboxing (same) Always use same standard port (easier with VMs as 1:1 map)

I know most people think that containers/docker/whatever new stack does these things better and they may be right. The benefits however don't outweigh the costs in weaker toolset and less mature stack.

For my use cases, the biggest problem is that containers don't solve the "where does this run" question. Whenever I ask this, people loudly exclaim "anywhere!" which is the same as "I don't know" to me.

AWS AMIs run in 11 regions x N AZs around the world. This solves a much bigger technical problem for me than "it's lighter weight and easier to do incremental releases on top of" which seem to be the only things in favor of containers.

Many people, including Amazon, say "run containers on VMs!" This seems unnecessarily complex for little additional gain.

I'm really curious if the containerization folks are using Packer and if not why not.

<comment><USER14> I run containers in Amazon. Not using their service, because their service is silly, but on Mesos.

I am not locked into a 1:1 tenancy between applications and instances (though I could have it if I wanted). Multitenancy is trivial. I have the ability to spin up new instances of my applications to combat spike loads or instance failures in single-digit seconds rather than in minutes. My developers can run every container within a single boot2docker VM instead of incurring the overhead of running six virtual machines. It's easier to integration-test because my test harness doesn't have to fight with Amazon, but can rather use a portable, cross-service system in Mesos. In addition, I don't have to autoscale with the crude primitive of an instance in production. Multitenancy means that I can scale individual applications within the cluster to its headroom, and only when the entire cluster nears capacity must I autoscale. I can better leverage economies of scale, while allowing me to leverage more vCPU power to applications that need it (running two dozen applications on a c3.8xlarge is very unlikely to bring to bear at any given time _less_ computational performance to a given application than running each application on its own m3.medium).

I could do this without containers and with only Mesos. It would be worse, but I could do it. I could not do this at all with baked AMIs and instances without spending more money, doing more work, and being frustrated by my environment. I know this I've built the same system you describe (I preferred vagrant-aws because when something broke it was easier to debug, but we moved to Packer before I left) and I would never go back to it. It was more fragile and harder to componentize than a containerized architecture with a smart resource allocation layer. The running context of a container _should_ be "anywhere", and it _should_ be "I don't know", and you caring about that is a defect in your mental model.

<comment><USER12> Thanks for the reply.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> I think this is the first "PR PR" I've ever seen :)

</comment><comment><USER16> Wow, almost as easy as "apt-get install redis".. (ducks)

<comment><USER17> Oh, containers don't improve on apt-get install. They mostly improve apt-get purge.</comment></comment>


Some Republicans Reject Trump's Harsh Response to Unrest - <AUTHOR> https://www.nytimes.com/2020/06/02/us/trump-republicans-protesters.html <comment><AUTHOR> From the article:

Senator Ted Cruz, Republican of Texas, commended Mr. Trump, saying, "I'm glad the president led by going to St. John's Church." It was the protesters, not the president, who had abused power, Mr. Cruz said.</comment>


How to say "no" to your boss, your boss's boss, and even the CEO - <AUTHOR> https://codewithoutrules.com/2018/08/16/how-to-say-no/ <comment><USER2> There's good stuff in this post. But, Setting priorities on what you should be working on is your bosses job, not yours. It's your job to say how much work you can take on and what amount is reasonable and what's not.

Usually, if too much stuff comes in at once, You simply give your boss some options (task1, task2, etc), so he can prioritize your work load according to the needs of the business. Whatever doesn't get done this week, will need to be pushed to next week or next month, next decade, etc.

<comment><AUTHOR> If you want to be more effective as an employee you need to take on the responsibility of setting priorities. And you don't do this before you have a certain level of skill and understanding, but once you do you become _much_ more effective if you know how to work towards goals instead of just being told what to do.

And it's not that you contradict your boss' priorities. It's that you do what needs doing: those priorities feed into it, but also the reasons for those priorities.</comment></comment>


Numeral Systems of the World - <AUTHOR> https://commons.wikimedia.org/wiki/File:Numeral_Systems_of_the_World.svg <comment><USER2> Maybe the link to [1] would be more interesting.

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


Show HN: A perceptron with stochastic gradient descent in Go - <AUTHOR> https://github.com/made2591/go-perceptron-go <comment><USER2> This is what I like. When I start such projects, I am criticised by my peers, told that it is a waste of time and effort, that the best methods and most optimized libraries already exist and that I will never make anything better.

Well, not always the case. Of course I understand the merit of standing on the shoulders of giant(corporation)s, but sometimes you just want to try out something new (to you) just to test your intuition and improve your own perception of existing knowledge.

<comment><USER3> This is like saying "I will never open a restaurant so it's pointless to learn how to cook". At the very least it gives you an appreciation and understanding for the domain that you wouldn't otherwise have.

<comment><AUTHOR> +1 +1 +1 +1

</comment></comment></comment><comment><USER4> "Look, I wrote a simple neural network" is the new "Look, I wrote a simple Lisp interpreter".

<comment><USER5> "Look, I wrote a neural network to write a simple Lisp interpreter."

</comment></comment><comment><USER6> Cool project! Makes me want to recommend to my brother to start something like this.

Would definitely recommend trying vectorised calculus (instead of calculating the output with loops [0]) I'd also advise you to steer from some apparently neurology-inspired terms (stimulus) and use terms more common in machine learning (vector, features, etc.).

If you want to go further with this, you could try to implement back propagation with different activation functions and any depth. Check CS231n [1], the reference course for this.

[0] [https://github.com/made2591/go-perceptron- go/blob/master/uti...](https://github.com/made2591/go-perceptron- go/blob/master/util/mixed.go#L80) [1] [http://cs231n.stanford.edu/](http://cs231n.stanford.edu/)

<comment><AUTHOR> Hi! I'm just doing it right now, I'm in the middle of sigmoid testing :D I'm agree with you about terms, for my master thesis I wrote a neuro-computational model to analyze taxonomic responses in early childhood, so I think in term of stimulus because of my background in AN (if interested, you can find the work in my Github page [https://made2591.github.com](https://made2591.github.com) in About section)...I will port my private repo on Github soon :) (but is written in MATLAB)

</comment></comment><comment><USER7> I'm sorry that this isn't really adding to the conversation, but I have to say just how awesome that whole title sounds to someone who only knows a few of the words.

<comment><AUTHOR> Haha you're damn right!

</comment></comment><comment><AUTHOR> Hi All, I dev the multi layer perceptron with back propagation algorithm. If you want to have a look, please go to: [https://github.com/made2591/go- perceptron-go](https://github.com/made2591/go-perceptron-go) Have a nice day!

</comment><comment><USER8> This is interesting; I once tried to create my own ANN library for Go, but didn't get far with it (one of those half-baked projects). I even had a branding and naming of things, but somewhere along the line moved on to something else.

This is nice to see.

I do wonder where the activation function is in the code, though? I looked it over, and maybe I missed it? If it's in there, it's gotta be something very simple (binary or relu?) - enough to overlook it easily...

Or maybe I'm looking at the code wrong - is this really "a perceptron" \- that is, an implementation of the McColloch-Pitts model (basically a single neuron, and basic activation)?

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

Hmm - what I recall of the code, this does look probable...

Interesting.

<comment><AUTHOR> I just pushed multi layer perceptron with back propagation algorithm: [https://github.com/made2591/go-perceptron-go](https://github.com/made2591/go- perceptron-go)

</comment></comment><comment><AUTHOR> I'm still looking for help ^^ if you're interested please join: [https://join.slack.com/t/go-johnny-go- go/shared_invite/MjIxN...](https://join.slack.com/t/go-johnny-go- go/shared_invite/MjIxNDc2NDk4Mjc1LTE1MDE3NDUzMjctZGUwZjAyMDkxZA)

NOTE: this invite link will expire in 7 days (from 8/3/2017)

</comment><comment><USER9> > A single level perceptron classifier with weights estimated from sonar > training data set using stochastic gradient descent.

I don't have a clue what any of those words mean. Neat!

</comment><comment><USER10> This looks neat. Please continue!

<comment><AUTHOR> Thank you for your supports guys!!! I hope I will attract some others Go guru to work with!! I truly appreciate your interest, it's a little step, but I promise I will Go (haha) through it!</comment></comment>


What would happen if we killed off BBC Have Your Say? - <AUTHOR> http://www.qwghlm.co.uk/2010/03/23/what-would-happen-if-we-killed-off-bbc-have-your-say/

<comment><USER2> Bloggers often seem to have this attitude that having a blog is a great thing that everyone should aspire to. They then go on to think of reasons why the "average man" doesn't have a blog. Things like "Lack of time" and "Lack technical ability".

Maybe a lot of people just don't want one and would have no use for one if they did? If you've got interesting things to say and you enjoy writing and publishing articles then great, maybe a blog is right for you, but I think those two (orthogonal, I think) things rule out a large amount of people. Don't look down on others just because they don't share your interests.

There are already far more bloggers then people who care enough to read them. Twitter seems to be trying to help this by reducing "blog posts" to single sentences and in the process strips them of even the possibility of depth or interest (just my own opinion here, don't get too offended :p )

Posting on a comments section is a very different from publishing an article on your blog. I don't think the one is merely a easier version of the other.

That being said, BBC HYS is hilariously bad, but what do you expect from such a public and popular place? A least it's not as bad as the Daily Mail's HYS :p

<comment><USER3> It's that same 5-10% who are posting 90% of the crap on the Daily Mail and the BBC website anyway. Setting up their own blog would defy the point because like any troll they want to be seen on a high traffic site.

<comment><USER2> I hope that's true, less of them is good :)</comment></comment></comment>


The Fastest VM Bytecode Interpreter (2010) - <AUTHOR> http://byteworm.com/2010/11/21/the-fastest-vm-bytecode-interpreter/ <comment><USER2>
      for (pr = pn, ip = i;; ip++) {
          op = &optable[ip->op];

...

That looks like a switch-loop interpreter, which is considerably slower than a direct threaded interpreter.

GCC supports goto * * which is a special mechanism that allows for going even faster for the inner loop.

You can see a very similar comparison, comparing the Mono JIT vs an interpreter from the early 2000s here - [http://rhysweatherley.sys- con.com/node/38831](http://rhysweatherley.sys-con.com/node/38831)

<comment><USER3> I wrote a direct threaded interpreter where the code block for each opcode included fetch, increment, jump at the end. One possible problem is that execution never passes through a central point any more, which is of course why it's so fast. Then a friend pointed out the fastest way to read opcode, get branch target, and jump is to replace all the opcodes (create a second table) with the addresses of their implementations. This obviously saves an extra lookup, but the real eyeopener was that you can do PC++, fetch, jump all with one instruction. Use the host stack pointer as the PC in the interpreter and this become ret - return grabs an address, increments the pointer, and branches all in one. Of course you get program corruption on interrupts then. Needs to be either a system you have complete control over, or one with a second stack pointer.

<comment><USER4> [http://flint.cs.yale.edu/jvmsem/doc/threaded.ps](http://flint.cs.yale.edu/jvmsem/doc/threaded.ps)

You should also try to play nice with the branch prediction machinery. Doing unbalanced rets isn't good. Doing all the jumps or calls from a single jump or call site isn't good, either. Spread them around so you only have one destination per call site. The method in the above paper is pretty much the ultimate you can easily do without rolling out the really heavy machinery.

<comment><USER5> online viewer -> [http://view.samurajdata.se/psview.php?id=abaee002&page=1&siz...](http://view.samurajdata.se/psview.php?id=abaee002&page=1&size=full&all=1)

<comment><USER4> Right. I forget that some people use Windows and that Windows machines usually don't have PostScript viewers installed.

<comment><USER5> It's funny that it's such a nice, simple and old format, yet it's rarely supported natively. I wonder if browser pdf plugins can manage ps.

</comment></comment></comment></comment></comment></comment><comment><USER6> Historical link to mono's interpreter source (first link in the article tries to find it in master, where it's been removed):

[https://github.com/mono/mono/blob/e85609a84907dc3a919bac289a...](https://github.com/mono/mono/blob/e85609a84907dc3a919bac289a379f388b5eab1f/mono/interpreter/transform.c)

</comment><comment><USER7> Argh, I really dislike this article. It spreads a LOT of misinformation:

      1) His friend did NOT write a bytecode interpretor, he wrote a bytecode compiler: there is a HUGE difference between those two.

      2) No, it wasn't faster than assembly code. And the arrogance and audacity to make such a claim is obnoxious. Unless you gained access to Intel microcode, this is just plain wrong.

I wish I could downvote this: its just bad for aspiring compiler/interpreter developers. If you want some quality discussion see Mike Pall: [http://article.gmane.org/gmane.comp.lang.lua.general/75426](http://article.gmane.org/gmane.comp.lang.lua.general/75426)

</comment><comment><USER8> 2010 (the link to the Mono source is broken now)

<comment><USER9> Thanks, added.</comment></comment>


Ask HN: How did you discover your talent? - <AUTHOR>

I like many things just enough to keep me interested until the next cool thing comes along. This trait hinders my ability to focus on one area long enough for it to develop into a 'talent.'
This could be a problem of discipline, but I think I haven't found my niche.
How did you discover your talent? <comment><USER2> Try lots of things.

Then stop thinking about the meta-level if "I like this, I like that, am I more talented at this, am I more talented at that" etc. etc. and you just force yourself to work on something.

Meanwhile, try lots of things, but spend most of your time polishing the fundamental skills you chose.

You have just one mind. The outside world only sees the output of your mind. It doesn't care that you really wanted to be good at maths or music or baseball or whatever but that your base urges and attention span made you switch around and robbed you of your time... all it cares about is the net result.

Therefore, it's up to you to conquer your fickleness.

GOOD LUCK :]

<comment><AUTHOR> Brilliant- thanks! "You have just one mind. The outside world only sees the output of your mind. It doesn't care that you really wanted to be good at maths or music or baseball or whatever but that your base urges and attention span made you switch around and robbed you of your time... all it cares about is the net result."

</comment></comment><comment><USER3> Jot down the various things which keep your mind distracted and follow your original goal at the same time. Eg. if you want to learn Scala language and also wants to be updated about new technologies/frameworks/languages/news devote 2-3 hrs daily on updation, while 1-2 hours on your sharpening your primary skills. Once you are down a month you can easily visualize your current position and keep on refactoring that day by day.

</comment><comment><USER4> My 'talent' has become somewhat of a nuisance as I'm constantly referred to as 'the writer' at work/by friends/family when I can do so much more than just that. While I appreciate the significance of sound prose and clear writing I do not like being boxed into this very small role especially at work when there are more interesting things one could be doing.

</comment><comment><USER5> have a repository of your ideas, and what you completed of it, before you wonder to something else. Even a notebook and a pencil can be useful for this. cut back on sugar. :-)

</comment><comment><USER6> I didn't discover a talent. I created it.</comment>


Our hackday project: Readshout.com - <AUTHOR> http://www.readshout.com

<comment><USER2> Love the idea. Similar to <http://readness.com> except not automated. Our coverage: [http://thenextweb.com/apps/2010/06/17/readness-a-last-fm- for...](http://thenextweb.com/apps/2010/06/17/readness-a-last-fm-for-news-now- why-hasnt-this-been-done-before/)

<comment><USER3> I'd personally hate all my reading (including shit I open but do not like/read) to be shared on my account. Having control over what is shared is good IMHO.

<comment><USER4> I'm pretty sure readness waits for several minutes before scrobbling what you're reading.

I'd find it more interesting to see what general reading habits it uncovers rather than a simple 'share' button.

</comment></comment></comment><comment><USER5> Request: include a title attribute on links that has the full article title. That way when something gets shortened and has the ellipsis at the end I can just hover over the link to read the whole thing.

</comment><comment><USER6> Hmmmmmm.... Any chance of a google chrome extension button? I dont have a bookmarks bar!

<comment><USER7> I was about to suggest Ctrl+B then did a double-take. Have they removed the bookmark bar from the dev build?

Edit: Ah, they've changed it to Shift+Ctrl+B.

<comment><USER6> Arh, good tip thanks!

But still a bit of a pain. A tiny icon next to the URL bar would be much better!

</comment></comment></comment><comment><USER6> Humph.... Signed up and lots of random people started following me. Thats what I hate about twitter. I am not here to make friends, I am here to share with my contacts.

Request: Private profiles and only share with my followers.

</comment><comment><USER8> What does "our hackday" mean?

<comment><AUTHOR> Scribd periodically has "hackdays" where we all work on whatever interests us (think of it like google's 20% time). James Yu and I built this during one of those hackdays.

<comment><USER9> A lot of startups, especially in Mountain View/SF do this, I work at one of them.

</comment></comment></comment><comment><USER10> truly innovative! reduces time and effort in sharing documents!

</comment><comment><USER11> This seems to be exactly what I use FriendFeed for (I pretty much only use FF's bookmarklet). So this is like FriendFeed, but stripped down?

</comment><comment><USER12> 1.) I'd love to use this.

2.) I cannot use because this because it requires a Facebook login.

</comment><comment><USER13> isn't this what twitter is (or at least should be) about?

<comment><USER14> Twitter is about any kind of status update. Readshout is focused only on the links that you're reading. I know it might sound like a small difference, but user behaviors can change dramatically based on how people are primed.

I also don't like sharing every single interesting link I find on Twitter, but I wouldn't mind doing this on Readshout.</comment></comment>