Hidden Microphones Part of Government Surveillance Program in the Bay Area - <AUTHOR> http://sanfrancisco.cbslocal.com/2016/05/13/hidden-microphones-exposed-as-part-of-government-surveillance-program-in-the-bay-area/ <comment><USER3> If that's true we are moving into a scary world pretty much like 1984 where everything you do is monitored all the time. Add voice, face recognition, surveillance drones, cheap data storage and AI to the mix it seems pretty soon everything you do in a public place will be recorded and analyzed. And all this can be done fully automated.

I hope people will recognize that some laws need to change. Surveillance makes sense in some cases but it should be hard and expensive to do.

<comment><USER4> You can't have an expectation of privacy in public places.

Facial recognition can be beat by a hat + sunglasses (which is the hugest plot hole in Person of Interest, the characters never even attempt to disguise themselves).

<comment><USER5> Your walking style identifies you better than face. Are you going to walk differently once you put a hat and sunglasses on?

<comment><USER4> Do you have a database of walking styles? Does anybody?

They definitely have access to most people's photos - driver's licenses, passports.

I personally don't care if they know where I go in public. They can just tail me if they really want to know.

<comment><USER6> > Do you have a database of walking styles? Does anybody?

I nearly always walk around with a 3-d accelerometer which can indeed "phone" home.

Here's the ML extraction mechanism as explained by a Samsung engineer - [http://www.slideshare.net/satnam74/the-fifth- elephant-2013-t...](http://www.slideshare.net/satnam74/the-fifth- elephant-2013-talk-smart-ana/8)

<comment><USER4> Yeah but if they have access to your phone, they already know where you are, no need for the overcomplicated accelerometer method.

<comment><USER7> If it's in a database, then people without access to your phone can still identify you.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Whoa, whoa, whoa. This is a very misleading headline.

The article contains no evidence of a government-operated network of listening microphones in the Bay area. It deals with one incident using a specific piece of surveillance gear.

What we actually _know_ is this:

An FBI agent was attempting to bust two individuals suspected of a bid-fixing scheme.

This FBI agent then placed two recording devices in a light fixture and another at the bus stop nearest the courthouse.

After the surveillance recorded enough incriminating evidence, the FBI/DOJ sought to introduce the recordings at trial.

All else was rank speculation by a former FBI employee named Jeff Harp.

He also stated, "If you're going to conduct criminal activity, do it in the privacy of your own home... that was the original intention of the Fourth Amendment," which makes me question his grasp of the constitution, and thus his reliability as an expert.

<comment><USER9> No, it's far more than two devices, and it went on for 10 months. They placed surveillance all around the 2 courthouses: light fixtures, a bus stop, bushes, poles, the steps, and inside several vehicles. And there's another similar case from last year with >200 hours of recordings in San Mateo.

[http://www.eastbayexpress.com/SevenDays/archives/2016/05/11/...](http://www.eastbayexpress.com/SevenDays/archives/2016/05/11/fbi- hid-surveillance-devices-around-alameda-county-courthouse)

<comment> Supi-lee Wonder what the RoI on all this is, and how they allocate resources to each ongoing investigation.

Seems like it would cost a heck of a lot. I mean, you would need trained people sitting around listening to all those recordings.

<comment><USER10> Or maybe you just need to feed it into a voice to text engine, and then grep through the output for interesting bits. I'm quite sure that the NSA capabilities in this regard are quite beyond what is publicly available.

<comment> Supi-lee I have seen such systems in use by medical transcription companies. The key is you need to know what you are looking for. If not someone has to actually sit and listen to all those hours of recordings. Which translates to a high operational cost.

Audio\Speech mining they call it, but it has a ways to go. Even with just one speaker in a noise less environment, there are all kinds of issues with transcription accuracy. I can imagine it being much worse in the kind of conditions the FBI needs it to work in. Ofcourse high end equipment can make things better but it all adds to the cost.

</comment></comment></comment></comment></comment><comment><USER11> Hmm I wonder how this would work considering its all things openly available to be recorded.

Follow a federal agent home from work and film them and their house. Film their children going to school and post pictures locations and times online, also taking photos of other relatives, friends etc and where they live and their phone numbers and post it all online.

Have your friends join in and keep posting every detail and picture you can get of federal agents and their families etc and compile it into a website.

Then let me know how that works out.

Edit: Does anyone know of any USA law that stands against such activity?

<comment><USER12> I don't see how that's relevant. The whole point of the government is for it to have a monopoly on law enforcement. They're _supposed_ to be able to do stuff you and I can't do.

<comment><USER13> That's not the whole point of government, that is a radical statist perspective.

See, for example: [https://en.wikipedia.org/wiki/Peelian_principles](https://en.wikipedia.org/wiki/Peelian_principles)

> the police are the public and that the public are the police, the police > being only members of the public who are paid to give full-time attention to > duties which are incumbent on every citizen in the interests of community > welfare and existence.

<comment><USER12> It's a statist perspective, but hardly radically-so.

From your link:

> The Home Office has explained this approach as "the power of the police > coming from the common consent of the public, as opposed to the power of the > state. It does not mean the consent of an individual. No individual can > choose to withdraw his or her consent from the police, or from a law."

That's the difference between the police and private citizens. Interactions between private citizens must be consensual. Policing, at some level, must necessarily be coercive.

<comment><USER13> BTW, is it really your opinion that the state has a legitimate claim to nigh- unlimited rule over the public? The Constitution and Bill of Rights was a best-effort attempt to prevent tyranny, not an effort to draw a line for rulers to toe and reach over as far as they can.

<comment><USER12> You're reading "unlimited rule" into my comment. All I said was that the police are, by design, empowered to do some things ordinary people are not empowered to do.

</comment></comment></comment></comment></comment></comment><comment><USER14> It's not the best reporting, but from what I can tell, the FBI is collecting evidence against auction bidders who allegedly conspire to pay less for foreclosed real-estate. The auctions take place on the courthouse steps, and the bidders have been accused of working together to keep prices low by intimidating some bidders and conspiring with others. I'd love to see the auctions moved to a website marketplace. Maybe a good startup idea?

<comment><USER15> You mean like [http://www.auction.com](http://www.auction.com) Real Estate Auction for Homes and Commercial Real Estate? Yes they definitely should do that... ;)

</comment></comment><comment><USER16> The frequency response of most microphones (before DSP filtering) does not perfectly cut-off above 20 khz. I suppose if you were really paranoid you could walk around blasting exceptionally loud noise around and above this freq for privacy ;). Although your local dogs might not be too happy

<comment><USER17> I realize I'm being a stereotypical message board nerd about what was presumably a joke, but: I don't understand what you're proposing. Surely the extraneous frequencies could just be filtered out at playback? Or ignored entirely, since--as you imply--human ears filter that out anyway.

<comment><USER18> If they've got any kind of dynamic gain going on so that they can capture the quietest stuff when nothing's going on but not clip everything when it's louder then they might not be able to do that. Once it's recorded only the information they sampled will be there. So if you play something really loud that's not hearable by a human but is by the recorder and it changes the gain so that it can record it properly then it can miss anything quieter than the noise. White noise above 20kHz would be perfect for this since it would also alias down to lower frequencies with a badly designed setup.

</comment></comment></comment><comment><USER19> > If you're going to conduct criminal activity, do it in the privacy of your > own home.

> __That was the original intention of the 4th amendment. __

Wat.

The intention of the 4th amendment was to enable criminal activity, but confine it to private property?

Not to protect citizens' privacy from government snooping without probable cause?

The intent was to prevent the executive branch from indiscriminately "searching" (and hidden microphones are a form of search) innocent people without any cross-check from the judicial branch. The fact that you can "conduct criminal activity in the privacy of your own home" is a side effect, not a design goal, of the principle that a free society is worth the risk of letting a few criminals slip through the cracks.

<comment><USER20> And why pretend that the privacy of your home is so special? The only thing keeping laser microphones from being aimed at all of our windows is a 5-4 decision in Kylio v. US, and Scalia is dead, and Clinton is going to be appointing the next Supreme Court justice. Clinton (DLC) Democrats love surveillance even more than Bushes.

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

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

edit: If you downvote, I'd appreciate you telling me why what I said is incorrect, instead of possibly reflexively reacting to the fact that Scalia is being mentioned in a positive way and Clinton in a negative way.

<comment><USER21> > The only thing keeping laser microphones...

The legality has nothing to do with it, as it has been demonstrated over and over that law enforcement will employ methods that can charitably be described as "legally questionable" and then attempt to hide it (see stingray). What is stopping them is limitations imposed by the physical world - both in number of windows and the fact that laser mics don't work the way they're portrayed on television. This is the reason why digital key escrow is infinitely more dangerous than physical key escrow (like fire department lockboxes).

<comment><USER20> Laser mics can get better, and I've got a window in every room but the closets.

<comment><USER21> I was pointing more to the fact that angle of incidence needs to be carefully figured into the placement of both the emitter and receiver - for every window. Better laser mics won't change laser physics or the logistical challenges.

</comment></comment></comment></comment></comment><comment><USER22> > ...if you're going to conduct criminal activity...

The actual scandal here is not the potential danger to criminal enterprises but that we're all being made suspects beforehand 24/7.

</comment><comment><USER23> How much do you suppose these microphones are worth?

Also, what's an easy way to locate them?

</comment><comment><USER5> Now I am finally convinced that Internet of Things is going to be the next big thing - Internet of Real-time Microphones...

</comment><comment><USER24> Many of us, in the Bay area Veterans community so agree with the topics and in one brand new book just released at www.barryeisler.com; civil liberties; rule of law, my community my neighbors, Please permit me to suggest his latest, just release book; "A God's Eye View." I for one like the one sentence in Chapter 47, "When you collect it all ;when you monitor everyone, you understand nothing." And a suggestion for the President's Blue Ribbon Panel for a position titled: " public interest advocate" is making more sense daily. [http://www.theatlantic.com/politics/archive/2014/12/civillib...](http://www.theatlantic.com/politics/archive/2014/12/civillibertarians- need-to-infiltrate-the-nsa/383932/)

I like the review Chelsea Manning gave of Barry, "Creepy. This story is much more plausible than I expected or care to admit." Salutes all too you for keeping me educated. As we said in my old army unit; "heart-faith-skill, the only way to win in a battle advocacy" (we borrowed it from Sean Connery as Ramirez in The Highlander Movie) peace..j.

</comment><comment><USER13> The quotes from the former FBI agent, showing complete disregard for the 4th Amendment, send a clear message about how deep illegal behavior runs in the FBI.

</comment><comment><USER25> This is a more informative article around the topic IMO:

[http://www.eastbayexpress.com/SevenDays/archives/2016/05/11/...](http://www.eastbayexpress.com/SevenDays/archives/2016/05/11/fbi- hid-surveillance-devices-around-alameda-county-courthouse)

</comment><comment><USER13> Previously covered on HN: [https://news.ycombinator.com/item?id=10582392](https://news.ycombinator.com/item?id=10582392)

Defense Claims Courthouse Was Illegally Bugged (therecorder.com) 171 points by morninj 179 days ago | 100 comments

</comment><comment><USER26> So what is going to be done about it? with each revelation that has no riot it looks more and more like the average person is silenced into submission to just 'deal with it' rather then correct it.

</comment><comment><USER27> If I really gave a damn, had 1000 bucks to blow, and had no life I could go plant hidden microphones, pinhole video cameras, and more in just about every conceivable public place too. If anyone argued or brought me to court - <USER2> could demonstrate how this is absolutely no different than everyone "secondhand recording" me in their little snap stories and instagrams which do go online forever. My point is, this is some small potatoes 1980's style shit that is nothing compared to NSA Echelon (which I find to be actually a fascinating technology if it weren't so malleable to abuse by human nature) If Echelon were an independently operating AI system that had algorithms that identified criminal activity, then used soft paternalism in the form coercing unaware law enforcement personnel into making "chance" encounters with would- be criminals (random traffic stop, or passing them by on the street), the psychology of the criminal would be to stop doing whatever their doing because they feel more watched when they are doing said crime; although the law enforcement agent may never be directly aware of the criminals communications or conduct. I can deal with surveillance all day, no sweat. Totalitarian censorship is my problem, and that doesn't appear to be happening stateside.

<comment><USER16> > My point is, this is some small potatoes 1980's style shit that is nothing > compared to NSA Echelon

Absolutely. The "creep" factor of this however is more tangible to the general public so I imagine they will come under significantly more (relative to population size) pressure to answer for this.

Microphones hidden under rocks are much easier to understand and perceive as an intrusion and threat, compared to the nature of Echelon

<comment><USER9> It's also eerily reminiscent of the Stasi era. Just take a trip to the Stasi museum next time you are Berlin and perhaps you'll freak out a little too.

[https://www.amnesty.org/en/latest/news/2015/03/lessons- from-...](https://www.amnesty.org/en/latest/news/2015/03/lessons-from-the- stasi/)

</comment></comment></comment><comment><USER28> He is supposedly the manager of Autodesk's "Global threat management program." Do their "global threats" amount to more than watching over the cars in the parking lot at night?

<comment><USER29> Long ago I worked at Autodesk, and they would regularly publish threat reports on their intranet, mainly covering news from their competitors, identifying emerging or disruptive technologies, and economic threats. No doubt threat management also included morale, stagnation, theft and subterfuge, external attacks on IT infrastructure, legal and intellectual property issues, etc.

</comment></comment><comment><USER30> To me this goes back to the issue of having a reasonable expectation of privacy.

As others have pointed out, if I am in a public place and someone snaps a photo of me or a surveillance camera records my actions, I generally can't argue this was an unreasonable invasion.

I'm certain legal scholars are well-versed in the technicalities of expectations of privacy, but I do wonder if we will face new challenges in this area as the number of pervasively connected and recording devices increases.

</comment><comment><USER31> Do we have secondary sources confirming this, specifically, lawyers in the case confirming this being brought up as evidence? If so, where is the public record of that?

What are CBSLocal's incentives? Can they push fearmongering without repercussions?

If this story is not true, where should we put the "flag" threshold? What are operational voting with money against stories like this ever, ever making HN frontpage again, and for the "news" industry to structurally reduce unfounded fearmongering?

<comment><USER32> See the linked PDFs on this story: [http://www.abajournal.com/news/article/lawyers_say_feds_bugg...](http://www.abajournal.com/news/article/lawyers_say_feds_bugged_grounds_of_3_california_courthouses_without_warrant/)

</comment></comment><comment><USER33> When will people say enough is enough?

<comment><USER34> I've become increasingly convinced that western society will accept anything so long as it's fed, housed, and safe. If that's true, as a society we have a lot of rights that we're not willing to fight for but which the government is highly intent on restricting - an equation for inevitably losing them.

<comment><USER33> What troubles me most is that I don't know what to say or do, but feel people know this is wrong, yet do nothing.

</comment></comment></comment><comment><USER35> Even if judges prohibit such evidence on the grounds of it being illegally obtained, you will still find that prosecutors will use that evidence to find other evidence and for constructing a case that doesn't use that illegally obtained evidence. [https://en.wikipedia.org/wiki/Parallel_construction](https://en.wikipedia.org/wiki/Parallel_construction)

</comment><comment><USER36> Snowden suggests that the microphones and cameras on your cell, landline, desktop can be remotely activated any time by the government or hackers.

</comment><comment><USER37> You don't even need to be clandestine about it though. Why hasn't this story hasn't gotten more traction? Where's the outcry?

[http://nymag.com/daily/intelligencer/2016/04/big-brother- is-...](http://nymag.com/daily/intelligencer/2016/04/big-brother-is-listening- on-nj-transit.html)

</comment><comment><USER38> Correlated story: Google's Parsey McParseface.

</comment><comment><USER39> If this were true then how do you explain all the crime that still happens. Even high profile cases. It would be a lot easier to manager bigger crimes. But since we still see them struggling with even big profile cases, where not having an arrest is embarrassing, it's extremely hard to imagine this being true.

</comment><comment><USER40> Call to action: Machine learners, you'd better start tuning your sarcasm classifiers.

</comment><comment><USER41> Haven't you guys ever seen The Wire? Is this seriously a surprise to anyone?

<comment><USER13> Cops in The Wire made an extreme point of getting warrants for limited targeted surveillance

<comment><USER41> You forget when Herc went and grabbed the portable mic from the spy store and stuck it in a tennis ball. Or when they stuck the video camera in the park and got it stolen.

It's pretty much the same thing that happened here. They knew the discussions were happening, they knew where the discussions were happening, and since it was in a public space they didn't need a warrant. It's not like they are running around town putting microphones in all the bus stops hoping to catch anybody saying something. They were looking for a specific type of criminal activity and they placed the mics accordingly.

</comment></comment></comment><comment><USER42> This sort of public spying has been documented since at least 1959.

This _particular_ public spying was reported at least since 2012.

[http://post45.research.yale.edu/2016/02/eavesdropping-in- the...](http://post45.research.yale.edu/2016/02/eavesdropping-in-the-age-of- the-eavesdroppers-or-the-bug-in-the-martini-olive/)

 _" In July 1956, the Pennsylvania Bar Association Endowment (PBAE) commissioned a comprehensive study of "wiretapping practices, laws, devices, and techniques" in the United States. [..] The man appointed to direct the study was Samuel Dash, a prominent Philadelphia prosecutor [..] The result of Dash's efforts was The Eavesdroppers, a 483-page report [..] The book uncovered a wide range of privacy infringements on the part of state authorities and private citizens [..]

While law enforcement agencies were tapping lines in flagrant violation of state and federal statutes, phone companies were deliberately underreporting wiretap statistics to maintain public confidence in their services. While American businesses were stockpiling equipment to spy on employees and gather competitive intelligence, private investigators were using frightening new tools to listen in on wayward lovers and loose-lipped politicians."_

[http://www.infowars.com/spy-grid-can-now-record-your- convers...](http://www.infowars.com/spy-grid-can-now-record-your- conversations-in-real-time/) (2013)

 _" The Washington Post recently published a feature length article on gunshot detectors, known as ShotSpotter, which detailed how in Washington DC there are now, "at least 300 acoustic sensors across 20 square miles of the city," microphones wrapped in a weather-proof shell that can detect the location of a sound down to a few yards and analyze the audio using a computer program.

𝐖𝐡𝐢𝐥𝐞 𝐭𝐡𝐞 𝐬𝐲𝐬𝐭𝐞𝐦𝐬 𝐚𝐫𝐞 𝐭𝐨𝐮𝐭𝐞𝐝 𝐚𝐬 "𝐠𝐮𝐧𝐬𝐡𝐨𝐭 𝐝𝐞𝐭𝐞𝐜𝐭𝐨𝐫𝐬," 𝐚𝐬 𝐭𝐡𝐞 𝐍𝐞𝐰 𝐘𝐨𝐫𝐤 𝐓𝐢𝐦𝐞𝐬 𝐫𝐞𝐩𝐨𝐫𝐭𝐞𝐝 𝐢𝐧 𝐌𝐚𝐲 𝟐𝟎𝟏𝟐, 𝐬𝐢𝐦𝐢𝐥𝐚𝐫 𝐭𝐞𝐜𝐡𝐧𝐨𝐥𝐨𝐠𝐲 𝐢𝐬 𝐚𝐥𝐫𝐞𝐚𝐝𝐲 𝐢𝐧𝐬𝐭𝐚𝐥𝐥𝐞𝐝 𝐢𝐧 𝐨𝐯𝐞𝐫 𝟕𝟎 𝐜𝐢𝐭𝐢𝐞𝐬 𝐚𝐫𝐨𝐮𝐧𝐝 𝐭𝐡𝐞 𝐜𝐨𝐮𝐧𝐭𝐫𝐲, 𝐚𝐧𝐝 𝐢𝐧 𝐬𝐨𝐦𝐞 𝐜𝐚𝐬𝐞𝐬 𝐢𝐭 𝐢𝐬 𝐛𝐞𝐢𝐧𝐠 𝐮𝐬𝐞𝐝 𝐭𝐨 𝐥𝐢𝐬𝐭𝐞𝐧 𝐭𝐨 𝐜𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬. "_

\--

This quote from the 1959 report sums up everything nicely:

 _" As Dash told members of Congress on the eve of the book's release, the American public's longstanding disregard for threats to communications privacy had only served to exacerbate these developments. [..]

'Each generation seems to forget the problems of the past and considers this their own unique problem.' \- Samuel Dash"_

</comment><comment><USER43> As this seems to come up more and more. I can't fathom why most people can't get what's being fed to them by our media sources. [http://craigbhulet.com/10%20Mega- Corporations.jpg](http://craigbhulet.com/10%20Mega-Corporations.jpg) This chart albeit a bit big of a image demonstrates which media entities are owned/connected to whom. Pretty interesting

<comment><USER44> Perhaps I've been reading the wrong newspapers, but I can't recall Kraft, Coca Cola, Nestle, P&G, Coca Cola, et al ever being considered media companies.

</comment></comment><comment><USER45> I'd love to find a sample -- how do they communicate? Wirelessly? Betcha they can be fingerprinted

</comment><comment><USER46> So, can they just associate a voice to a person legally with those random recordings?

</comment><comment><USER47> KPIX5's Jackie Ward said it's legal, so the defense can withdraw the motion.

</comment><comment><USER48> huh? but ca and sf is two party consent?

[http://codes.findlaw.com/ca/penal-code/pen- sect-632.html](http://codes.findlaw.com/ca/penal-code/pen-sect-632.html)

<comment><USER49> From your link:

(c) The term "confidential communication" includes any communication carried on in circumstances as may reasonably indicate that any party to the communication desires it to be confined to the parties thereto, but excludes a communication made in a public gathering or in any legislative, judicial, executive or administrative proceeding open to the public, or in any other circumstance in which the parties to the communication may reasonably expect that the communication may be overheard or recorded.

<comment><USER48> 'public gathering' is perhaps intentionally ambiguous

the other disjunct: in any legislative, judicial, executive or administrative proceeding open to the public; led me to interpret 'public gathering' as bagley-keene(o) does

> 11122.5. (a) As used in this article, "meeting" includes any congregation of > a majority of the members of a state body at the same time and place to > hear, discuss, or deliberate upon any item that is within the subject matter > jurisdiction of the state body to which it pertains.

stead of just anyone standing at a bus stop

(o) [http://ag.ca.gov/publications/bagleykeene2004_ada.pdf](http://ag.ca.gov/publications/bagleykeene2004_ada.pdf)

</comment></comment></comment><comment><USER50> This clickbait article is going to cause people to think the government was just spying on everyone everywhere for no other reason than just to spy on you. Another "distrust the damn government" article that further divides people against others.

<comment><USER51> Clickbait title wouldn't specify it as only being in the Bay area. The title makes no claims not held up by the article

</comment></comment><comment><USER52> I really did not need to read this right now...

</comment><comment><USER53> it might come a time in the future where we think that wearing a tin foil hat might be the reasonable thing to do :D

</comment><comment><USER54> Just support each other. ;)

</comment><comment><USER55> And what are WE going to do to stop it...?

They aren't going to be listening to the comment sections of websites.

</comment><comment><USER56> "Total Surveillance is the Perfection of Democracy"

(This is an old blog post I wrote that seems relevant to this. Please forgive me for reposting it whole here but I really REALLY want to hear what HN readers think. (And no one sees it on my blog. heh heh))

For once I disagree with RMS, re: [https://www.gnu.org/philosophy/surveillance-vs- democracy.htm...](https://www.gnu.org/philosophy/surveillance-vs- democracy.html)

I believe that it is fundamentally not possible to "roll back" the degree of surveillance in our [global] society in an effective way. Our technology is already converging to a near-total degree of surveillance all on its own. The article itself gives many examples. The end limit will be Vinge's "locator dust" or perhaps something even more ubiquitous and ephemeral. RMS advocates several "band-aid" fixes but seems to miss the logical structure of the paradox of inescapable total surveillance.

Let me attempt to illustrate this paradox. Take this quote from the article:

        "If whistleblowers don't dare reveal crimes and lies, we lose the last shred of effective control over our government and institutions."

(First of all we should reject the underlying premise that "our government and institutions" are only held in check by the fear of the discovery of their "crimes and lies". We can, and should, and must, hold ourselves and our government to a standard of not committing crimes, not telling lies. It is this Procrustean bed of good character that our technology is binding us to, not some dystopian nightmare.)

Certainly the criminally-minded who have inveigled their way into the halls of power should not be permitted to sleep peacefully at night, without concern for discovery. But why assume that ubiquitous surveillance would not touch them? Why would the sensor/processor nets and deep analysis not be useful, and used, for detecting and combating treachery? What "crimes and lies" would be revealed by a whistleblower that would not show up on the intel-feeds?

Or this quote:

        "Everyone must be free to post photos and video recordings occasionally, but the systematic accumulation of such data on the Internet must be limited."

How will this limiting be done? What authority will decide who gets to post what and when? And (like any profanity filter) won't this authority need to see the content to be able to decide whether it gets posted publicly?

In effect, doesn't this idea imply some sort of ubiquitous surveillance system to ensure that people are obeying the rules for preventing a ubiquitous surveillance system?

Let's say we set up some rules like the ones RMS is advocating, how do we determine that everyone is following those rules? After all, there is a very good incentive for trying to get a privileged position vis-a-vis these rules. Whoever has the inside edge, whether official spooks, enemy agents, or just criminals, gains an enormous competitive advantage over everyone else.

Someone is going to have that edge, because it's a technological thing, you can't make it go away simply because you don't like it. If the "good guys" tie their own hands (by handicapping their surveillance networks) then we are just handing control to the people who are willing to do what it takes to take it.

You can't unilaterally declare that we (all humanity) will use the kid- friendly "lite" version of the surveillance network because we cannot be sure that everyone is playing by those rules unless we have a "full" version of the surveillance network to check up on everybody!

We can't (I believe) prevent total surveillance but we can certainly control how the data are used, and we can certainly set up systems that allow the data to be used without being abused. The system must be recursive. Whatever form the system takes, it shall necessarily have to be able to detect and correct its own self-abuses.

Total surveillance is the perfection of democracy, not its antithesis.

The true horror of technological omniscience is that it shall force us for once to live according to our own rules. For the first time in history we shall have to do without hypocrisy and privilege. The new equilibrium will not involve tilting at the windmills of ubiquitous sensors and processing power but rather learning what explicit rules we can actually live by, finding, in effect, the real shape of human society.

</comment><comment><USER57> godgod, your comments are being hidden and I am not able to upvote or reply to it ...

<comment><USER58> Click the timestamp of the comment. Click [vouch]. I think you only do that if the comment deserves to be unhidden. I'm not sure whether you're supposed to look through that person's post history.

</comment></comment><comment><USER59> can't believe it

</comment><comment><USER60> Have we not had enough yet? I hate how this is acceptable. We are either free people or we are not. What's it gonna take for our criminal government to stop seeing us as the enemy?

</comment><comment><USER61> My phone keeps getting unavoidable pop-ups, I'm sure it's a great story though.

</comment><comment><USER62> Ok, so these facts are true:

#1. The government is monitoring us.

#2. Facebook, Google, Amazon, Apple and many other huge corporations are also monitoring us... And they are sharing our personal data with each other.

Why are so many news articles about issue #1 and so few are about issue #2. The government is a negligible threat compared to corporations. It seems like tech companies are manipulating the media to turn people against the government and divert attention away from themselves.

<comment><USER63> Big corporations don't generally share data with each other. It's more like the government, Google, Apple, Facebook, Microsoft, Amazon, Netflix, and numerous black hat spyware vendors are all monitoring you, and none of them trust anybody else. People inside Google were fucking pissed when the NSA spying practices were revealed, people inside Apple regularly block Google's apps for privacy concerns, people inside Google are regularly battling against spyware, people inside Facebook try to get you to share everything about you and your friends voluntarily while Google tries to provide alternatives that don't involve giving Facebook the keys to your life (but do involve giving them to Google), people inside Microsoft copy & scrape Google to try and grab whatever data Google happens to have, people inside the government are spying on all of the above.

Believing that everybody is out to get you is a sign of paranoia. Believing that people and organization act in their own self-interest is generally a pretty accurate model.

<comment><USER62> I don't think everybody is out to get everybody else in a homogeneous manner. There is obviously a higher degree of collaboration between similar entities.

I think it's pretty obvious that we have the government on one side and corporations on the other.

We need to make sure that a healthy equilibrium stays in place between the two. Right now I just feel that corporations are winning.

<comment><USER63> That's not actually true, at all. The tightest bonds of collaboration are usually within a team, and the next tightest are between a product team and its users. It's not unusual for a department to take its users' side _against the rest of the same corporation_ , like for example when Google Search levied an SEO penalty against Google Chrome, or how Google PageSpeed marks many Google sites as slow.

It's also not unusual for organizations to collaborate on one aspect and compete on another. On one hand, Google is in fairly tight with the Obama administration, with the HealthCare.gov rescue & USDS being largely led by ex- Google and ex-Twitter engineers on temporary leave. On the other, all the tech companies banded together to encrypt everything when they found out the NSA was snooping on their wire links.

I used to believe as you did, dividing big entities up into "government" and "corporations", but then personal experience in a big corporation and a lot of friends in government showed me that this is not at all how the world operates. Ultimately it's a lot more chaotic, and the default state in most relationships is "frenemy".</comment></comment></comment></comment>


Lisp Internship at Streamtech - <AUTHOR> http://streamtech.nl/site/lisp+internship

<comment><USER2> Also check out their problems page <http://streamtech.nl/site/problem+set>

<comment><USER3> These are actually pretty interesting problems. Hobbyists (myself included) might want to consider solving them for fun.

<comment><USER4> Have you seen Project Euler? (<http://projecteuler.net/>) Almost 300 problems like that.

</comment></comment></comment><comment><USER5> Nice :)

I actually worked there as a Lisp programmer. The best programmers I know work/have worked there.

</comment><comment><USER6> Oh, how I wish I had more time this summer.</comment>


Followshows: The easy way to follow your favorite TV shows - <AUTHOR> http://followshows.com/

<comment><AUTHOR> I just returned to Europe from the US and I'm sorely missing the queue feature in Hulu to keep track of new episodes.

The followshows interface gives a nice overview of the air dates and what I should watch next.

Also, if you're currently using <http://mytvrss.com> you can import the feed straight to followshows in the settings.</comment>


Ask HN: You lose your job, with 2 months of savings. What do you do? - <AUTHOR>

This is one of those "if the worst happens" hypotheticals, though I'd imagine it has happened to some of us. You lose your job, get no severance, and have 2 months of savings. Let's also assume that no one in your network can help you out.<p>Where do you send your first 10 resumes, and what roles do you ask for/expect? (Also state where you are in your career.) Do you take roles below your ability (and the attendant career risks) or hold out for something interesting? <comment><USER3> 1\. Post your resume to <http://monster.com>, <http://dice.com> and the rest. Also, post it to the resume section of <http://craigslist.org> (assuming you live in a city served by Craigslist). This way, recruiters and companies will find you, rather than you having to go after them. (Yes, you'll get some inappropriate jobs from recruiters who aren't so swift, but you can filter them out).

2\. Refresh your resume: after posting your resume, you should periodically refresh it--in Craigslist the resume only lasts 30 days, if memory serves and on Monster, you should re-save your resume to update the last-updated date every week or so to push it to the top of the pile (you may need to make some minor alteration to get it to save).

(Note: a recruiter told me that they can see the date you first posted your resume, despite this kind of updating, so that if your job search has been going on for a long time, it can make sense to delete the resume and post it from scratch, so you don't look like someone who has been looking a long time unsuccessfully--only one recruiter has told me this, I don't have independent confirmation).

3\. Keep looking yourself--don't rely on recruiters to bring things to you-- look in the "eng" and "sof" sections of Craigslist for tech jobs that you can respond to (assuming again that there's an appropriate Craigslist for you--or, if you are willing to relocate, check the Craigslists for those locations). Also, use the job meta-search engines, such as <http://indeed.com> and <http://simplyhired.com> to save time. And, if there are specialized boards related to what you do, check there (e.g. <http://jobs.perl.org>)

4\. Go to user group meetings, meetups (i.e. look at <http://meetup.com>), etc. in fields that are of interest to you and talk to people there--social networking in real-life can lead to employment opportunities, esp. since many jobs never get posted anywhere. Also, there are informal social events involving tech people, e.g. in Los Angeles, there's a standing Thursday lunch group in Santa Monica: <http://thursdaylunch.com>

There may be some sort of site keeping track of most of these meetings, e.g. in Los Angeles, there's <http://latechcalendar.com/>

5\. Real life social networks:

\- College alumni association: another social network to investigate: your college alumni association. You may be able to search it online to find people involved in relevant areas as you who might be of help.

\- Cultural/Religious associations: e.g. if you're plugged in to such institutions, someone might be able to help or to refer you to someone who can.

6\. Online social networks: The online social networks can be helpful too--<http://linkedin.com> seems especially relevant here, though no doubt others are too.

7\. Expand your search: you might want to look at non-development jobs where your tech skills could come in handy, at least temporarily. E.g. training, teaching, tech support, sales support, etc.

Good luck.

P.S. It ain't over till it's over: even when you think you may have found something where they like you, etc. until you actually sign on, _keep looking_ \--things have a way of falling through sometimes, so don't stop until it's a done deal.

</comment><comment><USER4> Step 1: file for unemployment immediately.

Step 2: very carefully husband your money. If you have student loans, call them and ask for a deferrment until you start a job again. Likewise, ask your lenders for a deferrment as well.

Step 3: if you have friends or family that you can move in with, consider doing so.

Step 4: don't be fat. There is a lot of subtle discrimination against obesity, and not-so-subtle discrimination against being old (where old tends to be 35ish).

In 2001, I got laid off like a lot of developers. At that time, I had about 6 months of money in the bank, and I felt that I could ride out the downturn in the economy. I was too proud to file for unemployment at the beginning, and as the money dwindled, I found out that the contract agency that I was hired through had claimed I was employed for 3 months after I got laid off (they did that sort of thing to reduce unemployment insurance premiums). It took months to get that straightened out with the unemployment agency and by the time I got my first unemployment check, I also managed to get hired - 9 months after getting laid off. I ended up losing my car that summer to the repo man, and I couldn't get my mortgage/hoa payments caught up either, so I ended up losing my condo about 5 months after starting a job that was a 40% paycut.

The next time I ended up unemployed for an extended period (2003-4), I ended up using my lifetime benefits for unemployment in FL (if you make what most devs make, you'll hit that cap in about 6 months of unemployment). I moved in with friends, who had a hard time understanding just how bad the economy was, and that strained a friendship that has never recovered.

Back then, I sent out dozens of resumes every day to anything on Monster (or the local news papers) that looked like a job I could do.

In an absolute worst case scenario, talk to an Army recruiter. If they were taking 43 year olds in 2003, I would have enlisted. The army is taking folks that old NOW (marines, navy and air force won't take anyone 30+ without prior experience), but back when we were "winning" the cap was much lower.

</comment><comment><USER5> If you have no income and only 2 months of savings, you don't think about the first 10 resumes you send out -- you bloody send them everywhere, to everyone.

</comment><comment><USER6> 1\. Why wouldn't your "network" (or as I like to call them in the real world, "friends") help out? If you think no one in your "network" can help, you didn't think hard enough.

2\. Don't send 10 resumes. Narrow it down better, concentrate, and work hard and fast to get some offers on the table.

3\. Accept an offer, starting date +1 month, buy a ticket to Europe and load whatever is left on your visa. Perfect opportunity for a holiday.

<comment><USER3> _2\. Don't send 10 resumes. Narrow it down better, concentrate, and work hard and fast to get some offers on the table._

This doesn't seem like very good advice. After all, getting a job is all about the numbers--the more times you're "at bat", the more chances you have to hit the ball.

And, while you may plan to "work hard and fast to get some offers on the table", those offers are completely in the hands of the hiring companies--some of them are going to take their time, some of them are going to interview multiple people and decide to hire someone other than you, etc.

So, again, you'd better be getting yourself out in front of as many companies as possible and doing all the interviews you can get. If nothing else, you'll get better at doing interviews--you'll be more confident, you'll pick up interview questions that you'll be able to answer better the next time, etc.

(Also, IMHO, given the current economy, it doesn't seem like a very good idea to blow off a new job for a month, particularly if one doesn't have much money).

<comment><USER6> Well yeah that's probably the conventional advice. But it's not what I do.

Stop swinging the bat like an idiot, watch the ball and play the right stroke for the delivery.

</comment></comment></comment><comment><USER7> Trim half of your experience from your CV. No one wants to hire a know-it-all. If you don't have much experience, then go to several recruiters - they are all about finding bodies and they're not too fussy. If you're a chick, then change the name on your CV to one that can be interpreted as either male or female, eg. "Chris" or "Kim". If you have 2 months of savings then party like it's 1999 because it could be worse.

</comment><comment><USER8> On the lifestyle side, immediately cut out going out to dinner, new clothes, going to movies, bars, all of the extra stuff that can be done for much less money in different ways.

I have made a good number of poor decisions financially in the last year since losing my last job and now have to work twice as hard to get caught back up. If you immediately cut your overhead down to a bare minimum than you're in much better shape to a) last longer without a job and b) bounce right back financially once you're back on your feet.

When it comes to the professional side, look to your immediate life network (friends, family, even former colleagues) for projects that can utilize the skillset you have and begin freelancing to offset your lost income. While doing so, you can continue looking for a stable "9-5" job but at least you know you won't go broke until then...

</comment><comment><USER9> Let's not assume that no one in your network can help you out. This is a worst case scenario that requires the help of those close to you - family, extended family and close friends if necessary. The approach you take is also going to be highly relative to your experience level. Obviously if you have a ton of experience and there is going to be a bidding war for your talent, then there's not much to worry about. Otherwise a job search that takes six months or more to find a job that is suited to your goals is not unheard of and, indeed, I would say is actually the norm. Some people will say a good engineer should be able to get a job in two weeks regardless of the economy. And I've heard of that. But don't count on it. Instead make preparations for an extended job search and use undesirable work - office temp work, etc - <USER2> build up some savings so you can get out of your relatives' hair.

<comment><AUTHOR> I'm explicitly asking how people would respond to a worst-case scenario.

This isn't something that has ever happened to me (although it theoretically could) and it's not my situation now. I'm just curious how people on here would handle it.

</comment></comment><comment><USER10> I highly recommend going to multiple recruiters. If for nothing else but to critique your resumes and see how they would go about selling you. Use that to either get the job or get a better idea.

2 mo. of savings is cutting it rough. If you have family who you can trust with your life, consider transferring any assets (like a car) to them and essentially squatting it out in your apartment (assuming you rent). If you have a mortgage immediately start going through the red-tape of your bank. It may be many months until they really get to you and if you play ball they may allow you to postpone enough payments until you get back on your feet.

<comment><USER3> _I highly recommend going to multiple recruiters. If for nothing else but to critique your resumes and see how they would go about selling you. Use that to either get the job or get a better idea._

I'll second this--I got a lot of useful suggestions for retooling my resume from several different recruiters. And, of course, more recruiters means more possible job opportunities to look into.</comment></comment>


Show HN: Dnote – E2E encrypted command line notebook - <AUTHOR> https://github.com/dnote/dnote <comment><AUTHOR> Two years ago, I built a simple command line interface to instantly write down notes in a JSON file. I have been using and building it ever since, and now it has become more mature with useful features such as:

* Sync across multiple devices

* End-to-end encrypted backups

* Weekly email digests for spaced repetition

* Web client, browser extension, IDE plugins

The whole thing is open source and optimized for command line usage.

What I have noticed in the past years is that this tool can be used to build a personal knowledge base. The reason is that it provides a way of quickly capturing new information without switching environment. Also, it sends you automated email digests. (i.e. if you are in a command line, just jot down your thoughts and get email reminders later).

I wanted to share the progress I have made so far.</comment>


Wrapping An OO module in a procedural API using Exporter::Simple (perl) - <AUTHOR> http://f00li5h.pin21.com/blog/Wrapping-An-OO-module-in-a-procedural-API-using-Exporter::Simple.html

<comment><USER2> A few thoughts. Don't do "package Foo; { ... }". Nobody else in the world has ever done this. It's completely pointless and confuses people.

Use Sub::Exporter instead of Exporter::Simple. Bigger community, more testing, more features. (Attributes? No thanks.)

Don't let your users use global variables and singletons. Don't make an OO interface that needs a functional interface on top. Pick the right one for the job. If there is state, it should be an object. If there is no state, it should be a set of functions.

File::Spec is OO because someone was way too clever when implementing it, not because it is actually OO. (The cleverness is that @ISA is changed to File::Spec::YourOS at runtime, and then File::Spec->whatever delegates to File::Spec::YourOS->whatever magically. This is clever, but not the best way to implement that.) File::Spec::Functions is a band-aid on top of a flawed design. Design your module's interface correctly from the beginning, and you won't need to write 300 lines of hacks on top of it.

(This is why people hate Perl, because many people start using Perl, get excited by super-amazing-awesome-cool features like changing your class's inheritance hierarchy at runtime, and write confusing and unmaintainable code when they could have _not_ used the cool feature instead. A lot of dynamic language features are there for the very special 0.01 percent case. Your program is probably not that, so just do it normally, see how you like it, and go from there. With Perl, you _can_ write very clever code. Try not to. </rant>.)

<comment><USER3> I agree. The issue is not "I do or do not want $instance->method() in my code" but rather "Do I have state to encapsulate?"

I'm a full time perl programmer and often run into people from the perl community who think OO is just a calling convention or a style instead of a tool with a specific purpose. It's very frustrating. The fact that Perl's native OO support is incomplete and obtuse just makes it worse. This module follows that pattern of thought. Using it would just add arbitrary and unnecessary complexity to a project.

<comment><AUTHOR> I chose the logging because, log objects generally do not need to keep a lot of state, and mentioned OO being "An idiom in which you capture behavior along with state" but perhaps I could have expanded on it further.

If you don't like blessing refs yourself, use a module to hide the boring repetitive parts like you would with any other problem...

I'm pretty sure perl5's OO falls into the simplest-thing-that-could-possibly- work category, and obeys the "Rule of Separation: Separate policy from mechanism"</comment></comment></comment>


Ask HN: Do you edit Wikipedia? - <AUTHOR> And if so, concerning which topics? <comment><USER2> You'll be surprised how much foreign history and foreign cultural norms are wrong. China's lack of internet access to Wikipedia is frustrating.

</comment><comment><USER3> Yes, I fix typos and punctuation errors from time to time as I read the articles.

</comment><comment><USER4> Yes, I edit any article that needs copy-editing.

You would be astonished how many articles have basic errors in grammar and spelling. I enjoy the idea that if I noticed it, others will too, and I'm preserving their flow on the article.

</comment><comment><USER5> I can't be bothered...</comment>


Couple Grounded by Volcanic Ash Married via Skype - <AUTHOR> http://mashable.com/2010/04/22/couple-married-via-skype/

<comment><USER2> Of course they could have simply waited for a bit, couldn't they?

</comment><comment><USER3> starring Jennifer Aniston and John Kasinski.</comment>


It's coming, Windows DaaS. Say goodbye to your PC as you know it - <AUTHOR> https://www.computerworld.com/article/3293429/microsoft-windows/with-daas-windows-coming-say-goodbye-to-your-pc-as-you-know-it.html <comment><USER2> It seems like MSFT is trying to carve out a space between traditional PCs and mobile tablets/phones. You own it, but you don't. Take it a step further and if we see anything from OEM pc manufactures like we do with OEM android device manufactures and their lack of application updates, this new platform would be the worst of both worlds.

<comment><USER3> Wall Street demands profits, MSFT can only deliver by forcefully herding customers into new, inferior solutions :)</comment></comment>


The creeping scourge of tooling config files in project root directories - <AUTHOR> https://github.com/nodejs/tooling/issues/79 <comment><USER2> I don't get this, what's the problem here? Having config files in root means you know they can apply to all sub directories. This has nice properties like recursive behaviours (see .gitignore)

If you want to put (most of) your config files in a .config folder, then most apps should support that

If you want to view your config files in a different way, then actually you're trying to solve a different problem. Perhaps hide show toggling or automatic grouping (see macOS desktop stacks) with your fs viewer would be a better area to tackle.

Finally, just wanted to say, everything at root level is usually config or a folder, so if I want to understand what tooling a project uses, I know immediately where to go, code is always in a "src" or similar. It sounds like this is a feature, not a bug.

<comment><USER3> Yeah, I take a cluttered root dir over having to hunt down files I may not know exist in various places in order to fully understand a project I'm not the maintainer of.

Gets me every time when a maintainer puts Dockerfile in some random subdirectory.

If the root dir is full of dozens of files from all the tooling needed to build your software, maybe you have another problem than directory structure...

<comment><USER4> The same argument is made for not adhering to the XDG spec for user configuration files. The result is you have no real sense of specific locations for config files, shared static data, and app-generated data. If an app follows the spec you know exactly where to look. Otherwise it's anyone's guess.

I'll admit this is less of a problem in project dirs, since tooling usually confines itself to a single file. But tooling outputs often similarly pollute. For example, I wish Python dumped its artifacts in a single directory I could delete, instead of in every source subdir.

<comment><USER3> > The same argument is made for not adhering to the XDG spec for user > configuration files

I think it's a fundamental difference in that the project repo should be self- contained and "owned", whereas arbitrary software I run really shouldn't be putting files in _my_ home directory.

In a software repo, anything inside it belongs to the project.

<comment><USER5> I think there are similarities -- the project's root is the project's, so why does eg the Travis CI system get to insist on having a config file sat in the project root?

<comment><USER6> Where should it go?

Just like the gitlab-ci.yml, it handles things related to the whole repo, it basically runs a script in the root of the repo anyway.

Sure, supporting other paths is useful (eg. in case of a monorepo), but this default seems sane. Though I'm interested in where others move it, and why.

<comment><USER7> it's pretty common to have a .ci folder for your build scripts.

But nothing is fundamentally wrong either with XDG-esque directory structures.

.config/travis/

.ci/travis/

all the same to me, as long as it's consistent.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I 100% agree on this. But it's been pretty hilarious on how obstinate tool makers are about changing to Python's new pyproject.toml [1]

Python packaging is a bit of a mess already, so when I recently started a new small package I wanted to choose tooling that would not clutter, but a fair amount of tool makers were reluctant to allow code into their repo that would use the unified toml rather than a ton of separate file.

.config is probably a better solution than a single top level toml, IMHO, but far more important is doing something unified rather than continuing the pollution of the top-level namespace, which merely obscures the project structure.

[1] [https://snarky.ca/what-the-heck-is-pyproject- toml/](https://snarky.ca/what-the-heck-is-pyproject-toml/)

<comment><USER9> Python is unified on a requirements.txt file with pip, to manage dependencies.

<comment><USER10> requirements.txt has a lot of deficiencies for package management (compare to the various features Yarn or Cargo offer). The biggest weakness is transitive dependency locking: even if you specify the exact version of the dependencies you want, Pip can still resolve to a different version of _their_ dependencies, and even then there's no verification that the content matches what is expected beyond the version number (other tools use a content checksum). This can cause a long tail of reproducibility and maintenance issues.

It's also a tiny subset of what the parent describes.

<comment><USER11> >The biggest weakness is transitive dependency locking: even if you specify the exact version of the dependencies you want, Pip can still resolve to a different version of their dependencies

Isn't that what pip freeze is for?

<comment><USER12> The trouble there is that if you freeze you can't unfreeze. A project needs the equivalent of both gemfile and gemfile.lock (unless you're using a system like maven that got things right the first time), but there's no standard way of having both of them in Python.

</comment></comment></comment></comment></comment><comment><USER13> The amount of pressure you feel telling you you are using too many tools should scale linearly with the number of tools you use. This discomfort you feel with seeing all of those config files is telling you something. Use fewer tools.

<comment><USER14> I tend to see a glut of tooling as a sign that a language has serious design flaws, as most important things should be done by the compiler, but I'd rather have JavaScript with proper tooling and types than nothing at all.

<comment><USER15> JavaScript isn't the hero we wanted, but TypeScript is the hero we need.

<comment><USER16> JS is a great language for it's intended purposes but I still can't get onboard the TS train. Adding types post-hoc has never improved a codebase that I've seen but it has caused a lot more bad patterns to show up.

Simplicity is a virtue (at least sometimes).

<comment><USER17> > JS is a great language for it's intended purposes

Which part of JS, as a programming language, do you see as great or even adequate when compared with contemporary programming languages?

> Adding types post-hoc has never improved a codebase that I've seen but it > has caused a lot more bad patterns to show up.

That assertion makes no sense. I mean, all TypeScript does is impose arbitrary sanity checks on a programming language which is plagued for not having any. Where do you interpret the addition of sanity checks as a source of problems?

</comment></comment></comment></comment></comment><comment><USER18> I'm not sure why this [1] pattern can't be adopted/extended. Put everything in a .config directory.

Search path for config is:

* /etc/config

* $XDG_CONFIG_HOME (~/.config)

* $PROJECT_CONFIG ($PROJECT_ROOT/.config)

* directories between $PROJECT_ROOT and $CWD for .config

* $CWD/.config

This allows for system wide, then user wide, then project wide, then directory hierarchy configs, with lower levels overriding higher ones.

Inside .config, each tool can have it's own chosen file, directory, extensions directory, so:

 _.config_ /$TOOL.{json,yaml,toml,ini,xyz}

 _.config_ /$TOOL/config. _ext_

 _.config_ /$TOOL.d/ _modular config files_ eg 00-module. _ext_

Most of the time for most projects, there will be system wide and user wide config, then a project wide config. Overrides lower in the hierarchy tend to be less used.

Yes, it means that there's a tree search for a tool to get its final config. Whether that's a real issue for performance or otherwise is a potential to remove some of the hierarchy/search.

[1] [https://specifications.freedesktop.org/basedir- spec/basedir-...](https://specifications.freedesktop.org/basedir-spec/basedir- spec-latest.html)

</comment><comment><USER19> How conscientious.

And yup, conventions like this work well Linux and BSD's. To note ~/.config for many configs

These days you see this happening inside of .github/, where configs related to gh repos and actions go.

If tooling authors started universally recognizing .config/ as a directory where we could keep stuff, the root could be super clean.

How about just one file, across languages / CI tools / etc? a "project.toml" or "project.yaml" or "project.json"?

        [tool.npm]
        name = "frontend"
        version = "1.0.2"

        [tool.npm.dependencies]
        react = "^16.3.1"

        [tool.travis-ci]
        # ...

        [tool.eslint]
        # ...

        [tool.poetry]
        name = "backend"

        [tool.poetry.dependencies]
        django = "~3.1.0"

If vendors were willing to accept it, it'd be less clutter. Integration tools would only need to check one place (legacy configs would still have to be supported, though, so it's still a dream)

Legacy configs could be ported via YAML / JSON straight into the TOML sections. It'd work for package.json or tslint.json, but not stuff involving runtime, e.g. .eslintrc.js

<comment><USER20> One directory, maybe .config, seems like a good idea. One file is asking for trouble. All it takes is someone writing their first command-line app mixing up > and >> and suddenly the user's config for every tool they use is gone.

<comment><USER21> It should be versioned, so it requires a little more effort to be destroyed

<comment><USER22> But some (most) config belongs in version control, and other parts are environment-specific: perhaps a different path to your database in prod vs development, or instructions for your IDE that may not be to the taste of someone else working on the project with the same IDE.

</comment></comment></comment></comment><comment><USER23> I think ultimately it comes down to personalities. I'm the kind of person that likes directories and folders. And having top level files feels clunky and disorganized. Like much organization, taken to the extreme it can be a form of procrastination to avoid doing real work. Yak shaving, if you will.

But opening the root project folder to just a list of subfolders gives me a very nice first impression.

Below is my list of config files for [https://www.joyapp.com](https://www.joyapp.com) (Django + NodeJS). Not a hugely complex architecture, mind you.

Some notes: _.editorconfig_ at least tries to consolidate this for some things. And _pyproject.toml_ could help with Python. Still, definitely jarring and something I've noticed.

        .coveragerc

        .dockerignore

        .editorconfig

        .flake8

        .gitattributes

        .gitignore

        .isort.cfg

        .prettierrc

        .shellcheckrc

        jest.config.js

        mypy.ini

        package.json

        pytest.ini

        requirements.txt

        shell.nix

        tsconfig.json

        tslint.json

        webpack.config.ts

        yarn.lock

</comment><comment><USER24> On another note can we talk about the amount of projects that just dump their config/log files in the root directory as a 'hidden' file when you start them? Why? we have a .config for a reason.

<comment><USER25> Thankfully more and more projects are moving to respecting XDG_CONFIG_DIR:

The holdouts fall into the following categories:

1\. Projects where the author doesn't care but would take a PR.

2\. "My tool is super simple and I don't want to complicate it to read env vars or have platform specific config"

3\. Projects which value cross platform consistency over consistency with the platform (tmux, though the next version does budge a little)

4\. Projects which consider XDG as just "some desktop Linux thing" and don't consider themselves as caring about desktop that much or just that they predate XDG (SSH)

5\. Projects who mix runtime and config and cached data in a single directory and don't want to split them out for proper XDG support.

The ArchWiki probably has the best centralised tracking of attempts to get XDG support implemented: [https://wiki.archlinux.org/index.php/XDG_Base_Directory](https://wiki.archlinux.org/index.php/XDG_Base_Directory)

<comment><USER26> 6\. Authors who haven't heard of XDG_CONFIG_DIR.

</comment></comment></comment><comment><USER27> Ehh, this is just moving the mess from one location to another. All these config files can be grouped into two or three conceptual things:

* Dependencies - Things required for your code to run, for example Dockerfile, package.json, yarn.lock

* Metrics - Measuring code quality, but the project works without these, such as jest.config.js, .eslintrc, .eslintignore

* Other - I don't recognize several config files here, and suspect some don't fall into the categories above, but am not sure. Also, README.md and .gitignore would fall into this category, but probably ought to remain at the top.

So instead of a generic "configs/" directory, if I was to organize these myself, I'd probably want at least two subdirectories so it would, y'know, actually be a bit more organized.

</comment><comment><USER28> To me this is part of a larger problem: tools that expect a given directory layout, or even worse, that they are the sole tenant of a given repository. Just because my project contains some node.js code doesn't mean that I want to have a top-level, global node_modules directory.

Let me organize my repository files however I want and however best fits my project organization.

<comment><USER21> No please. Standardization is the key. You (not you!) Don't know how to organize your project, and I don't want to know where are the config in each project I work on

<comment><USER29> this is the solution :) ... I miss rails where everyone knew where everything was supposed to go, a little like how much I love prettier now - no more stupid bike shedding conversations about coding style.

</comment></comment></comment><comment><USER30> I don't find it a scourge. I actually find that I can look quickly at a project and get an idea of the tools that they are using. This seems to be a bonus and really a few more files isn't a big deal.

</comment><comment><USER31> This is a UI problem, not a file location problem. GitHub and VS Code (both M$), could implement a nice way of grouping these files out of the of other files at the tip level.

<comment><USER32> Oof, I _hate_ it when an IDE/editor tries to "helpfully" present the file tree differently than it actually is.

<comment><USER33> Looks pointedly at Visual Studio.

Few pieces of development-related software frustrate me more than Visual studio.

The seeming disconnect between what's on disk, where on disk it is, and where and how it's displayed in the UI is cavernous. It also outright ignore things that are present in the folder unless you explicitly add it through the interface. God forbid you drop a file in, add it through the UI then move it because you discover you've dropped it into the wrong one of the 3 million nested folders large dotnet projects seem to generate.

Changing things on disk underneath it practically gives it an aneurysm. VSCode and IntelliJ IDE's handle the same situations without panicking, so why is VS so fragile?

<comment><USER34> > The seeming disconnect between what's on disk, where on disk it is, and > where and how it's displayed in the UI is cavernous. It also outright ignore > things that are present in the folder unless you explicitly add it through > the interface. God forbid you drop a file in, add it through the UI then > move it because you discover you've dropped it into the wrong one of the 3 > million nested folders large dotnet projects seem to generate.

This is no longer the case for "new style" VS project files (used by default on .Net Core projects). It works sanely now.

</comment></comment></comment></comment><comment><USER35> I feel like a given tool deserves at best a single item in the root directory. If your tool needs more than one, you should be making a folder. I'd be totally on board with putting all those folders in another folder, but I'm iffy on the indeed the frustration of getting everyone to agree on one.

</comment><comment><USER36> My head hurt thinking about how much efforts and coordination across multiple ecosystems required to pull it off. And if they do manage to pull it off, the reward is... slightly cleaner project top directory?

</comment><comment><USER37> Fully agreed but if everything is in one folder out of the it doesn't need to be hidden anymore, it could be "config" instead of ".config". Maybe even "config" (project config inside version control) and ".user-config" (project config by developer not inside version control). The issue hints at this but deliberately descopes user configs. Files inside the folders could have a dot depending on if they are normally edited throughout development or normally left alone.

</comment><comment><USER38> It's not a scourge. It's a sensible default location. Most tools let you explicitely specify a config file path if you want to store it elsewhere.

</comment><comment><USER39> Also, please don't use dotfiles. There is no reason to hide such important files.

<comment><USER40> On which systems are they hidden? I hadn't even considered this issue because no file browser I've used in the last ~10 years has hidden dotfiles. Maybe Windows Explorer does, but that's a setting I typically change right away, so I don't even remember.

<comment><USER41> `ls` is probably the most important place they're hidden, but the Mac OS Finder honors this convention too.

<comment><USER42> i much prefer them to be hidden by default. i know they are there, but rarely do i need them. especially in something like `for i in $(ls -1)` type of commands. if i need them `alias 'lla = ls -la'`, 'alias 'la = ls -a'` are faves to now see what i'm looking for quickly

<comment><USER43>
      for i in *

</comment></comment></comment></comment></comment><comment><USER44> I mean, for most tools it would be pretty easy to look at .config/ first and then at the project root - and print something about the new best practice.

The whole thing is a little uncomfortable though. There is a clear isomorphism between the contents of the structure of, say, a JSON file, and the contents of a directory of structured text files (and other directories). Heck, you could build a little tool with a slider that moves all the data between a single file, and a deep directory hierarchy with lots of tiny text files as the leaves.

Personally I feel like the best solution is to somehow "indelibly" combine the tool with its config within a project, _de facto_ removing all config options from the developer. In the worst case, it could be something as silly as a wrapper script with config embedded in there. Of course this is a kind of fiction, but a useful one. It feels nice to get to a point where you don't have to think about tooling. (The last time for me was like 2000).

<comment><USER45> > In the worst case, it could be something as silly as a wrapper script with > config embedded in there.

That's not a terrible idea. For me, I really like tools such as 'nft' that take advantage of the shebang line to solve more or less this exact problem.

</comment></comment><comment><USER46> This is a non-issue, thus no need for a solution.

If you have too many config files, then you should use less tools.

Besides, most of them are already hidden anyway (because of dotfiles).

<comment><USER47> Hidden files are never hidden to developers because they need to be accessed and changed so often.

</comment></comment><comment><USER48> This is fine. It's practical, but a little ugly. Same discussion that we had the other day with Tailwind CSS. It's fine, it's very practical, but a little ugly.

</comment><comment><USER49> Who cares? The obsession with hierarchy is silly. Good search beats hierarchy.

<comment><USER50> Not if you don't know what you're looking for (i.e. just browsing).

</comment></comment><comment><USER51> I think a good fix would be hiding dotfiles on repository view like on GitHub. "ls" hides dotfiles from you by default, so why shouldn't GitHub. You can always add a checkbox "Show hidden files" or instead of completely hiding them put them in an accordion (12 hidden files) that people can click to reveal them.

</comment><comment><USER52> I'm not a node dev, but our projects at work keep growing with helper files. We have a .buildkite to control the build, we have a makefile, a Dockerfile, a docker-compose file, go.mod and go.sum. These core files are about half of what we had a few years ago, so that is nice. The makefile references a dozen helper scripts though that are also checked into the repo (helpers to run tests, build images, publish images, clean up, etc). Most of these are vastly similar between different repos/services we run. I can't think of something better, and there is a part of me that enjoys the lack of magic: just follow the code starting at ./buildkite which will point to each make operation which will point to each helper script. The other part of me feels like, "I just want to write some code and as long as my project is structured right, everything else should be shared tooling _outside_ my repo."

</comment><comment><USER53> It's probably too late to change every tool.

If the main problem is that, when you go look at a project on github or gitlab, you see a long list of config files rather than the code you're looking for, a cleaner solution is for the git sites to show the listing for a /src directory instead of / on the project page.

<comment><USER54> Or hide/collapse dotfiles like the ls command does.

<comment><USER55> Putting them in .config is something to work toward in the long term, but I like this as an immediate fix. A possible UX could be a single entry at the bottom of the repo root listing with "\+ 6 hidden files, click here to show", that then expands out to to reveal the full listing when clicked.

Edit to add— someone suggests this on the linked issue, and it is mentioned as a concern that auto-hiding the files could lead to them being used to conceal malicious code. Not sure how significant of a concern that really is, but it's an interesting angle, anyway.

<comment><USER43> You can also hide malicious code by putting it in a subdirectory, so I don't agree with their concern.

</comment></comment></comment></comment><comment><USER56> The root is the right place for project-wide settings.

GitHub and other tools should do what ls does and hide dotfiles by default. That's _why_ they are dotfiles.

Other project-unrelated config/metadata should follow the .git example and use dotfile config files, preferably yaml or something similar (not json, as it does not support comments).

<comment><USER43> Another option would be for Github etc to sort dotfiles to the bottom of the listing.

</comment></comment><comment><USER57> The suggestion in the thread to "support defining this in package.json" ([https://github.com/nodejs/tooling/issues/79#issuecomment-664...](https://github.com/nodejs/tooling/issues/79#issuecomment-664471262)) reminded me of autoconf. It also has the issue of lots of auxiliary files in the project root (but worse since they're not hidden files), and the solution there is that you can add "AC_CONFIG_AUX_DIR(aux)" to the configure.ac to make it look for these auxiliary files in the "aux" subdirectory instead of the project root (for instance, "aux/config.guess" instead of "config.guess").

</comment><comment><USER58> I like how Gradle works.

Basically, if you want to add a new "tool" to your project, you add it as a plugin in `build.gradle`:

        plugins {
          id "com.github.spotbugs" version "4.5.0"
        }

Then, in the same file, you configure it:

        spotbugs {
            visitors = [ 'FindSqlInjection', 'SwitchFallthrough' ]
            // more config
        }

Some plugins require external files, but that's usually because the plugin was not designed for Gradle and/or the authors didn't bother to add some code in their plugins to read config from the project file (which is usually very easy).

</comment><comment><USER59> I feel like the is just unecessary OCD behavior. We get enough of that in software already

</comment><comment><USER60> The good old "conventions" vs "configuration" debate. Seems like Javascript looks more and more like Java with all these manifests.

Though XML solved the issue of needing multiple config files long ago, with namespaces.

<comment><USER61> Now we just need to finish moving from REST to pseudo-RPC and we'll have come full circle back to the 90s. Does this mean I can put bevels on my UI buttons again?

<comment><USER62> *gRPC ;)

</comment></comment></comment><comment><USER63> If the organization of files in your repo is your biggest problem, you've obviously got excellent code and no tech debt.

In which case you probably have enough free time to build a tool that just moves files around at runtime. Organize your repo however you want, then run your tool as a wrapper for any other command, and it'll move all files into the places other tools expect them. Now you've solved the problem, which was that humans like aesthetically pleasing things that serve no useful purpose.

</comment><comment><USER64> There's a solution to this problem: [https://github.com/sindresorhus/hide- files-on-github](https://github.com/sindresorhus/hide-files-on-github)

Additionally, your OS probably already natively hides files that start with a dot, so this is just a UI problem.

Please don't "solve" this issue by moving files to a sub-directory. If anything, only leave non-config files there, it's the obvious simple solution that most projects follow anyway.

</comment><comment><USER65> This is a problem I've encountered on my projects. I just want to nestle them all in a `config/` folder. Alas, lots of the tools really dislike if you would like a configuration in a spot other than the root directory. Suddenly you get to enjoy debugging all the times some functionality wants to be relative to the config directory instead.

I love the idea of a standard config file, but... Cross-project standardization in the JS ecosystem? Unlikely.

</comment><comment><USER66> The Rails community attempted to do something like this with the introduction of Webpacker in Rails 5. They backtracked after a few months. Most likely after realizing how many thousands of npm packages make tightly coupled assumptions to the location of things like 'package.json' and the amount of patches it would require.

</comment><comment><USER40> In the screenshot in the article, 5 out of 8 are related to using JavaScript. Anecdotally, it does seem like more of a problem with Docker + JavaScript + Git in the same project.

I know some tools allow you to specify the location of your config files, and it would be nice if all tools started to do that.

<comment><USER67> It looks like the issue was opened against the tooling project of nodejs, so perhaps the author is trying to start with JavaScript. It is incredible how many of these files you get in a basic Node or React app however.

</comment></comment><comment><USER68> Rather than a .config/ folder how bout a .tooling/ folder ... as it is for the tooling. Projects usually have a config dir for server / environment configs. Would be easy to confuse the .config/ of tooling with the config/ for the app itself

</comment><comment><USER69> I would assume all these tools to support a —-config or —-file parameter to specify where my config is. Couldn't that be specified in package.json directly? That way you can move your config wherever you want.

</comment><comment><USER70> This is a problem mainly for people who use GUIs.

When you use a terminal you don't really care how many files are in a directory, unless they have names that are annoying to autocomplete.

<comment><USER8> If that were the case, why would we bother separating out code into multiple directories at all?

The reason we bother with modules and directories is to help organize code and ease discovery. And whether we use ls or a GUI, we all start out the process of discovery with a directory listing.

The top-level directory, where these files are, is often where there's the most flexibility in terms of how to lay out things. All this clutter hides the project organization and makes it difficult to discover what's going on. It was one thing when it was just autotools, but the proliferation of tools in the last decade has brought it over a tipping point, IMHO.

<comment><USER70> >If that were the case

It is the case: They don't bother me when I'm using a CLI, but when I use Visual Studio Code for instance, all those files are annoying when I'm looking for something/scrolling past them.

</comment></comment></comment><comment><USER71> This is not a new problem. You should see my home folder. I hardly ever look at it, I moved into ~/Downloads since at least I can keep that tidy myself.

</comment><comment><USER72> Interesting discussion.

If it's about "cleaning up" before committing, a single script that moves files back and forth from project root to a .config path might also be an option...

</comment><comment><USER73> I'm using .config when I find it but for the last 15+ years on new projects, regardless of language I'd been making an `etc` directory and putting config in there.

</comment><comment><USER74> what's the difference between /tool.cfg and /tool/tool.cfg?

if your project is a hodgepodge of tooling the problem is the hodgepodge of tooling in your project, maybe you need to nest modules or to split libraries, instead of changing everyone else sane defaults because modern hip toolchains can't handle dependents and nested subprojects without stepping on each other toes or requiring the full lib in a single place

</comment><comment><USER75> The great thing about all these config files is as a barometer for the popularity of various bad flavor-of-the-month config file formats reinventing key=value.

</comment><comment><USER76> I find many developers have an aversion to directories containing many files, even if those files semantically "belong there".

I think our tools drive this aversion quite a bit.

</comment><comment><USER77> A nice convention in python projects is that you can use setup.cfg or pyproject.toml for many tools and they each just use their particular section.

</comment><comment><USER78> Simple. Add a new config to the project root directory that defines the config locations. Done. /jk

I do like the .config directory naming suggestion though.

</comment><comment><USER79> This is not what unexpected!

To me the scourge is tool config files being in the repo at all.

Ok I'll make an exception for .gitignore or something that enforces house style or formatting conventions to make things proper for check in.

But an editor config? That's so user-specific and shouldn't affect (or should I say "infect") the _source code_.

<comment><USER80> The .editorconfig specifies things like tabs vs spaces and the indent size. Everybody needs to use the same settings to avoid messing up the formatting every time they edit a file. Therefore, .editorconfig gets checked in so that everybody gets the same settings.

</comment></comment><comment><USER81> I put my noise in an etc/ subdirectory.

</comment><comment><USER82> How come /usr/etc/ didn't become popular?

<comment><USER83> What's the advantage over plain old /etc ? I am always annoyed by /bin, /usr/bin, /usr/share/bin, and others. Why can't we consolidate?

<comment><USER84> We did?

[https://fedoraproject.org/wiki/Features/UsrMove](https://fedoraproject.org/wiki/Features/UsrMove)

<comment><USER85> I always wondered why /usr was not abandoned in favor of root

> Why don't you move all /usr contents to / and forget about /usr?

> Because this introduces a lot of new toplevel directories, which all have to > be mount points then to be shared across other hosts.

> Ok, but what about a root filesystem on the network and mounting local > filesystems only?

> Then you would share the toplevel directory hierarchy among all hosts. Hosts > would need to mount /etc and /var for host-only versions.

So it is about network boot. Sad. There is nothing "usr" about /usr, it is system installed packages - /sys or /System. And /usr is for "/usr/dmr" which is /home. At least no more /usr/local.

</comment></comment></comment></comment><comment><USER86> I also personally think it sucks.

Put everything in a folder, and use a namespace, e.g.:

        org.organization-name.project.json

<comment><USER42> namespaces was the thing i was looking for without knowing what it was. it was a very happy day in my world when i was introduced to them.</comment></comment>


Stallman's Attacks Are 'Childish', Says Canonical Community Manager - <AUTHOR> http://news.efytimes.com/e1/96367/Stallman-Attacks-Are-Childish-Says-Canonical-Community-Manager

<comment><USER2> Up-voted the article submission, not Bacon's reply.</comment>


Ask HN: Evening and weekend startups - how confident were you? - <AUTHOR>

I have been working for a few months of evenings and weekends on a web app. The app first and foremost scratches my own itch - but I know for sure that it fixes problems with pre-existing competition, so I know there is a potential market for it as many of the pre-existing competition are freemium products (my intention also).
For further validation, the company I work for between 9am and 5pm uses their own in-house version of my product, which is also flawed in ways which mean it is not used properly. This results is lots of confusion (resulting confusion is the cause of a team meeting last week and an upcoming team meeting next month) no doubt resulting in financial loss in terms of wasted work hours.
For these reasons I am happy that my product has a place and is worth money; but for those of you who have been in my position and done it - how confident were you in your product before you went live?
My ultimate aim financially is to make enough money to reduce my reliance on my salary for those luxury purchases that I don't make at the moment. Is there a way to know if I'm wasting my time, or does this just come with time and experience?
Thanks guys, I'd appreciate any insight! <comment><USER2> One tangential word of advice: be very cautious about telling anyone that you are doing this; your company, when they hear about it indirectly, might feel they own it.

Your contract may or may not make this ownership issue clear. The laws in your country may or may not make this ownership issue clear. However, that's all irrelevant. If anyone at the company feels that the company ought to own your product, then it gets very sticky, uncomfortable and possibly expensive.

And you really don't want to end up without job and side project.

That's my tangential advice.

<comment><AUTHOR> This reply applies to robwgibbons - thanks for the replies guys.

I had started work on this product before I started working at the company - it just happens that the company had a need for a similar product and had chosen (I believe in the year immediately prior to my joining them) to develop their own.

Also I can't remember the wording, but my contact does explicitly state that any of my own work outside of working hours does belong to me. This was added to my contract by my boss after I asked about their policy during my interview. I should also note that the system that the company developed is not (and will never be) for sale or for use by anybody outside of the company.

That said, nobody at the company knows about the specifics of my side project, only that I work on _something_ in my own time.

</comment></comment><comment><USER3> The first thought that comes to mind is, if you're re-creating something your company uses in-house, you need to watch out for IP infringement.

<comment><AUTHOR> Thanks for the reply. I do believe I am a-OK in this respect (see my other reply to willvarfar - it was typed as a reply to you aswell) - I'm not directly recreating their system, BUT my system could be used to replace theirs... If that makes sense :)</comment></comment>


Working with JavaScript Arrays - <AUTHOR> http://mrbool.com/working-with-javascript-arrays/25734

<comment><USER2> Decent introduction, but should probably mention more about different ways to populate arrays. In these examples someone new to programming would think "Why not just do value1, value2, value3, etc..." Maybe showing how one can loop through items, or access items with variable. Or even how you can populate arrays with other values (talking about .push() would be a good idea)</comment>


Ubuntu will revert window controls to the right-hand side in next release - <AUTHOR> https://www.neowin.net/news/ubuntu-will-revert-window-controls-to-the-right-hand-side-in-next-release <comment><USER2> Its fine to have it on the right side but it would be better to have a preference setting to allow having it on the side user wants.

</comment><comment><USER3> I end up using all types of systems in the course of a year and having some basic consistency is a good thing.

What I'd really love though is they could fix things like making file dialogs work consistently and ensure dialogs conform to basic long standing UI paradigms e.g. when text is highlighted and you start typing it should affect the highlight text (not a search input)!!

</comment><comment><USER4> I'm curious how important it is to most people which side the window controls are on. I prefer the controls on the right, but whenever I do use Ubuntu or other systems where the controls are on the left, it doesn't really bother me. If others consider it more important, I'd be interested to hear why.

</comment><comment><USER5> guess this will make it more natural for Windows users to migrate to it, due to it being the same as on windows

<comment><USER6> I don't think this is a good change. currently mac has it on the left and their biggest feature user can be mac book pro users that are unsatisfied with the new macbook pro line up and might migrate to dell xps/precision (with ubuntu preinstalled). heck my company is really small and we will migrate to dell's. besides that some things are worse, like the palm control.</comment></comment>


Inmates Go High-Tech as Startup Mania Hits San Quentin - <AUTHOR> http://www.nytimes.com/reuters/2013/02/24/us/24reuters-prison-usa-startup.html?hp&_r=0

<comment><USER2> Wow, this is extremely cool. I thought the article was a little fluffy but the end really made me think:

"What's frustrating is that all these companies in the Valley, they're ideas for the 1 or 10 percent," Collison said. "You have startups like Uber or Taskrabbit, that's like, 'Oh, here's something to help you find a driver or find someone to clean your house.' Are they solving real problems?"

The San Quentin inmates "were talking about urban obesity, or PTSD", Collison said. "It's a completely different perspective. We actually really need that."

That couldn't be more true. There might be an excess of startups, but there are too few solving really important problems. It might take the viewpoint of someone who has been through very hard times to understand what we should really be working on. It's not another GMail replacement app (although that's cool too), it's actually changing the physical world we live in.

<comment><USER3> That couldn't be more stupid. There's a very simple reason why startups target rich consumers - it's because they have money, and without it, resource constrained startups die.

Important problems are for NGOs, national governements, hundred billion dollar universities and international organizations to solve. The very reason problems so important still exist is for the fundamental reason that they require huge amounts of resources over many years at little to no return on investment to the business.

Going after "important problems" as a startup is a very fast way of becoming bankrupt.

<comment><USER2> Rich consumers can have serious problems too. There is definitely a middle ground between Uber and fighting disease.

</comment></comment></comment><comment><USER4> They're only in there for drug possession? These people are clearly productive members of society, let them out...

<comment><USER5> This was my first thought. The amount of money we waste on these types of criminals (the non-violent drug offenders) is simply horrible to stomach.

<comment><USER6> Well that and the lives destroyed.

</comment></comment></comment><comment><USER7> This article is a contrarian indicator. Startups have jumped the shark.

While many people reading HN find the "fake it 'til you make it" narrative appealing, anything worth doing in this life take some smarts and years of slavish devotion (choose your own definition of what's worth doing). Taking shortcuts, as these people have done and were punished for, is not how it's done. I'm all for second chances, but teach them useful skills that will get them a job when they hit the street again.

<comment><USER8> Since Y Combinator is too competitive to get into, can someone recommend a suitable crime that I can commit in order to be sent to San Quentin? Preferably a felony whose prison sentence matches the length of the program. Given that the incubator program in San Quentin accepts 1 in 5 applicants from the general prison population, as a developer I think I'm a shoe-in for being accepted.

Thanks in advance for your suggestions and I look forward to submitting a "Show HN" article once my SQ W2013 startup launches. Goodbye, ramen noodles and sleeping on my buddy's floor... hello, three hots and a cot!

<comment><USER9> ha ha!

</comment></comment></comment><comment><USER10> Everyone in life deserves a second chance. Creating products to help the society progress and move forward is one of the more practical ways to atone for one's sins.

</comment><comment><USER11> Interesting that this article comes up along the same time as the Penny Arcade / Surface article does.

Both are examples of "out side the echo chamber" tech stories. Personally, while the article was a little light, I like the idea of encouraging a segment outside the normal tech bubble to embrace entrepreneurial ideas. As much as it pains me to say it, any Tom, Dick, Harry, or Mary can learn the basics of developing sites (or basic mobile apps). We saw this in Bubble 1 and we are seeing a plethora of platforms and classes today to help in this regard.

What is hard? Interesting ideas and delivering on them -- the drive, the development, and sticking with it. The themes that come up in the article are an interesting different take on what people find relevant

One area I've been hoping to see more from are ideas from aging baby boomers and the problems or challenges they see. We are talking ideas from people in their late 50s and 60s. One area ripe for the picking -- due in part to many suffering because of the housing mess -- how to leverage some of their existing expertise and have an ondemand / skilled work force. Unfortunately, a lot of them (and this is relevant to the prison population as well), face a tough time in finding a regular 9-5 job for a variety of reasons.

</comment><comment><USER12> Tulio, a graduate of Last Mile, is a really great guy that was funded via Kiva Zip: <https://zip.kiva.org/loans/376> Not only is he working towards other inmates, but he's learning programming.

Hopefully, we'll get some more borrowers from Last Mile.

</comment><comment><USER13> >"Live stream has gone mainstream. Mobile video usage went up and is expected to increase by 28 percent over the next five years," said Eddie Griffin, who was pitching a music streaming concept called "At the Club" and happens to be finishing a third stint for drug possession at San Quentin State Prison, near San Francisco, after spending the last 15 years behind bars."

Sounds a lot like <http://clubchannel.tv/>

</comment><comment><USER14> I think this is really great, not only for bringing opportunities to those who are less fortunate, but also their perspective on what's important and what needs to be fixed. Refreshing to see them tackling real, hard problems.</comment>