Cameras that guess age and sex are coming to store shelves - <AUTHOR> https://www.cbc.ca/news/technology/cameras-targeted-advertising-1.5107784 <comment><USER2> The prior generation of surveillance based on programs where you had to sign up first, got some card or something, and you scanned it during each purchase. These programs were opt in, and I never did. This new generation is on by default and doesn't let you opt out. That's a very troubling development.

<comment><USER3> I'm sure it will not pass GDPR in the EU, so we Europeans got that going for ourselves, which is nice.

<comment><USER4> If the article is correct then this is not using any personally identifiable information (the cameras will apparently report "40 year old man, very grumpy" instead of "onion2k"), so the GDPR legislation won't help.

If the stores tie the facial data to a credit card or store rewards card then the GDPR might stop them retaining or sharing the information.

<comment><USER5> But they certainly are gathering personally identifiable information, namely your face. I don't know the details of the GDPR, but doesn't it cover data collection as well as use?

<comment><USER6> Yes, it covers all "processing", meaning "any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organisation, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction".

Applying some ML algorithm to personal data certainly fits.

</comment></comment></comment></comment></comment><comment><USER7> I always wonder if the people that invent these technologies are bragging, like: "You know all the crazy dystopian technology that has ruined the world in futuristic sci-fi movies? I make that!"

<comment><USER8> They see them as not-dystopic and think the ideas portrayed are cool and that they're the good guys bringing the masses technology that we want.

<comment><USER7> I get that argument for Twitter. I don't get that argument for taking something that the masses already hate and making it even more invasive and annoying.

</comment></comment></comment><comment><USER9> Can't wait to read how racist and sexist these cameras are.

Too bad this would be illegal in Europe though. I'd love to see what the algo tries to sell to me. Amazon already thinks I'm a complete weirdo.

EDIT: Amazon is probably right though

<comment><USER10> i've seen such systems all across europe. they're as illegal as cctv, i.e. not at all.

<comment><USER6> CCTV is allowed if used exclusively for security purposes (Art. 6 (1) (f)). These devices are not equivalent.

</comment></comment></comment><comment><USER11> We've had this in some pharmacies (of all places) here in Vienna since 2017. They claim it's all offline and used for ads only, but nobody really believes it. Bayer had also installed some in Germany, but stopped using them after backlash from privacy NGOs.

Incidentally, in the same year, a lot of facial recognition tech was installed in train stations and other places after the terror attacks in Europe...

<comment><USER12> > a lot of facial recognition tech was installed in train stations and other > places after the terror attacks in Europe...

Do you have any more info on that?

<comment><USER11> [https://www.telegraph.co.uk/news/2017/08/02/facial- recogniti...](https://www.telegraph.co.uk/news/2017/08/02/facial-recognition- software-catch-terrorists-tested-berlin-station/)

</comment></comment></comment><comment><USER13> Actually I am more interested in the tech. Screens instead of the glass doors sounds quite interesting. Does anyone know who manufactures them? Maybe some sort of AR would be interesting too, where you can actually see the product, but interact on the screen with it.

Besides that, cameras at the shelf are a bit shady, but shops have already surveillance cameras so not sure how this really affects the general perception ( maybe only because they are hidden? ).

<comment><USER14> Here you go: [https://www.coolerscreens.com](https://www.coolerscreens.com)

(I too think this is awful)

</comment></comment><comment><USER15> And what exactly is the benefit for me as a customer? I wished the future was less flashy and ad-packed. So much mental overhead in ignoring this stuff

<comment><USER16> More relevant ads and targeted offers of course. Now whether you value that as a consumer and have a realistic way to avoid it is an entirely different question.

<comment><USER17> More relevant to whom? Shop, vendor?

We cant get relevant ads done properly on the internet and we'd have better ones based on age/gender?

</comment></comment></comment><comment><USER18> They've been in stores. Years ago I was working on retail installations that had everything needed to do this, we even tested it internally before deciding it wasn't worth trying to sell to our clients

</comment><comment><USER19> This recalls that scene in _Minority Report_ where Tom Cruise is getting peppered with virtual ads left & right after walking into a mall.

The thought makes me shudder a little.

</comment><comment><USER20> I just can't wait for a drone , triggered by camera that identified my race ,to follow me around and take pictures when I go shopping at Nordstrom or Saks.

Good times for all minorities are coming !! see china for reference.

</comment><comment><USER21> Thanks. Then I won't shop online or in store..

<comment><USER22> The only refuge will be the stingy mom and pops who don't have the money to do something like this. Of course someone will come up with a leasing service for them and do some revenue sharing, eventually...

<comment><USER5> Or maybe we'll see the rise of people who go into the business of shopping for you...

</comment></comment></comment><comment><USER23> Of all popular sci-fi movies, Minority Report remains the most prescient. Or should I say precognitive?

</comment><comment><USER24> It's high time for the lawful to start a fashion of routinely wearing face- obscuring garments. If the USian philosophy is that companies are free to do whatever they want with surveillance, then the rational response is to stop leaking that information in the first place.

</comment><comment><USER25> What kind of accessories could you wear to confuse these cameras without standing out too much?

<comment><USER26> The "without standing out too much" part is the problem. You could use any of the face paint / jewel techniques that work on face detection algorithms in general [1], but they're all pretty obvious unless your personal style is already quite non-mainstream.

[1] [https://cvdazzle.com/](https://cvdazzle.com/)

<comment><USER27> I bet this won't be weird in the future. Kids are naturally rebellious and I could see a situation where it becomes fashionable to hide your face using these techniques.

<comment><USER5> Not just kids. I'm a past-middle-aged man, and it's not terribly hard to see me doing that sort of thing, if this stuff becomes difficult enough to avoid.

</comment></comment></comment></comment><comment><USER28> Tangentially related, but this guy had a poem-taking camera at EMFcamp last year: [https://www.youtube.com/watch?v=F-wrsHXaCME](https://www.youtube.com/watch?v=F-wrsHXaCME)

</comment><comment><USER29> Jokes on them: I'm 33 but have acted like a 50-something-year-old since I was 25.

</comment><comment><USER30> All I can say is "good luck", because I fool humans all the time.

</comment><comment><USER31> Also discussed a few months ago:

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

</comment><comment><USER32> Connect up that credit card reader to a camera at the checkout register and now those cameras guess your identity.

</comment><comment><USER10> this is such an old problem: how to passively measure feedback from users in realtime in offline locations. i've seen all kinds of solutions so far, but nothing stands out. hopefully these new systems will eventually produce something more actionable.

<comment><USER5> > how to passively measure feedback from users in realtime in offline > locations.

How about: just don't do that?

</comment></comment><comment><USER33> "Hello Mr. Yakamoto and welcome back to the GAP!" \- Minority Report

<comment><USER5> Sometimes I feel like I'm the only one who found that just as chilling as the whole precrime thing...

<comment><USER33> You aren't alone.

</comment></comment></comment><comment><USER34> Is it different to have software and cameras doing this than the cashiers?

<comment><USER5> What cashiers are doing this? I haven't encountered them.</comment></comment>


Singapore will pay startups to solve its problems - <AUTHOR> http://www.techworld.com/startups/singapore-will-pay-for-your-startup-solve-its-problems-3640559/ <comment><USER2> Reminds me a bit of how New York's MTA handled realtime arrival information for their bus system[1]. Rather than bringing on an external company with a (typically) large contract, they hired a small team of tech-savvy MIT grads full-time to manage the project more like a startup.

The MTA gave them a small budget (at least, relative to other MTA projects) and limited the scope to what the team could actually accomplish. The team itself was in charge of designing the system and bringing on specialists/contractors where necessary.

What's notable is that the project accomplished more in the span of a few months than what many of MTA's major contracts accomplish in years.

[1]: [http://www.theatlantic.com/technology/archive/2015/11/why- do...](http://www.theatlantic.com/technology/archive/2015/11/why-dont-we-know- where-all-the-trains-are/415152/)

</comment><comment><USER3> Of interest to people who don't already know, the minister in context here is a technocrat and a maker[1] and the prime minister of Singapore himself has know to have been a very good mathematician and coder[2].

[1] [http://vivian.balakrishnan.sg](http://vivian.balakrishnan.sg)

[2] [http://arstechnica.com/information- technology/2015/05/prime-...](http://arstechnica.com/information- technology/2015/05/prime-minister-of-singapore-shares-his-c-code-for-sudoku- solver/) [https://en.m.wikipedia.org/wiki/Lee_Hsien_Loong#Education](https://en.m.wikipedia.org/wiki/Lee_Hsien_Loong#Education)

<comment><USER4> Lee Hsien Loong is a very interesting person; I follow his Facebook account.

</comment></comment><comment><USER5> Not related with the content, but interesting observation:

I'm using adblockers, and this is what I see instead:

</comment><comment></comment><comment>=====

We have been unable to show you advertisements on this page, which is likely to be the result of an ad blocker being installed on your device.

Techworld's journalism is funded by advertising, please disable your ad blocker and refresh the page to view the remainder of this article in full.

Please click here for information about how to disable your ad blocker and whitelist Techworld.

Thanks!

The Techworld team

</comment><comment></comment><comment></comment><comment></comment><comment>===

interestingly, copy-pasting the "grass font" text yields the real content, e.g.:

The minister highlighted a few key issues the city state is facing: "traffic congestion is an issue, green energy is an issue, security of transactions are an issue." Balakrishnan spoke specifically about becoming a hub for fintech, autonomous vehicles and medical technology (medtech), with the city state's ageing population a priority issue.

<comment><USER6> Very interesting technique:

      .r3z-hide, .r3z-hide * {
        color: lightgrey !important;
        text-decoration: none !important;
        font-family: redacted_scriptbold !important;
      }

</comment></comment><comment><USER7> There potential here as some of the problems they're trying to solve have solutions that were applied elsewhere. They just need to roll their own. Plus, I have a plan of my own for Singapore as they're in a near-ideal situation to be a supplier of trusted chips and hardware. Possibly software, too. I doubt anyone has introduced them to Cleanroom, Correct-by-Construction, etc. They have smart, cheap labor that could make high-quality software and systems cheaper. On top of secure hardware with more trustworthy manufacturing.

Lots of potential here. I wish I could get in touch with them to run some proposals. I'd have to do it face-to-face, though.

<comment><USER8> The government actively pursues areas in which Singapore might have a comparative advantage - and would discuss it with you in precise detail... They would wear a "technocrat" badge proudly.

btw : Is this "Correct-by-Construction" seminar [1] relevant?

[1] [https://mysoc.nus.edu.sg/~cmsem/SemPDF/sem_12396.pdf](https://mysoc.nus.edu.sg/~cmsem/SemPDF/sem_12396.pdf)

<comment><USER7> It's weak compared to most but still good as there's some adoption. I also have a someone over there pushing high-assurance security. He have me a list of problem areas they were funding in tech that are already solved in US and Europe. Singapore's smart engineers should be able to build knockoffs or independent versions but havent. Something holding them back, possibly culture.

Anyway, I'd love to mix some American style innovation with Singaporean talent. Plus, I bet Google etc might donate some brains if startups were building stuff that would benefit them esp at Asian prices. Lots of potential.

</comment></comment></comment><comment><USER9> I worked in Singapore this year, and it is very nice! It is a clean and well run city, friendly people, and generally the place had a very good vibe.

I am in my 60s, but if I were younger, then Singapore would be high on my list of places to work and live.

<comment><USER10> What's it like for foreigners? Does one have to seek out the ex-pat crowd or does everyone mix?

<comment><USER11> Probably not what u wanted to hear, but: When i was there: 30°C at day, 28°C at night, 100% humidy. Not really a place i want to live.

<comment><USER9> I was in Singapore in April and I liked the weather. The people I worked for did tell me that in the summer the weather was not so good.

</comment></comment></comment></comment><comment><USER12> The VR porn comments were strange to me given its Singapore which is super conservative and has laws against distribution and production of porn.

<comment><USER13> Yes, but prostitution is legal in Singapore.

</comment></comment><comment><USER14> to view the article with adblock enabled: $('.r3z-hide').removeClass('r3z-hide');

<comment><USER15> How about stop being jquery dependant once and for all: document.querySelector(".r3z-hide").classList.remove("r3z-hide")

No need to use a third party library

<comment><USER16> Since document.querySelector only returns the first instance, you will need to run this for the number of redacted paragraphs. The above jQuery solution doesn't have this problem. You really would need a snippet with querySelectorAll and a loop. Since the page has jQuery, there's nothing wrong with providing a solution using it, and particularly since people just want to read the article.

<comment><USER15> Yeah you are right... I didn't take into account if there is more than one element with that class, I was just trying to show that jQuery should not be the default solution when the language itself provides one

</comment></comment></comment></comment><comment><USER17> Singapore sounds like the most forward-thinking nation, until you remember being gay is illegal there...

<comment><USER18> ... and death penalty for caring drugs, and caning for minor offences, and that chewing gum could be obtained only by doctor prescription, and that you will be followed by secret police if you look suspicious (you have wrong color or whatever), and tons of other stuff.

<comment><USER19> > caning for minor offences

Which minor offences? I've been under the impression that offences punishable by caning are quite severe: robbery, rape, assault, piracy (in the actual piratical sense of violent robbery at sea) and the like.

[https://en.wikipedia.org/wiki/Penal_Code_(Singapore)](https://en.wikipedia.org/wiki/Penal_Code_\(Singapore\))

<comment><USER20> > _Which minor offences?_

Vandalism, drug abuse, illegal money-lending, 'rioting' as defined by a government that doesn't tolerate assembly..

[https://en.wikipedia.org/wiki/Caning_in_Singapore#Offences_p...](https://en.wikipedia.org/wiki/Caning_in_Singapore#Offences_punishable_by_caning)

There's also the problematic government support of corporal punishment for children..

<comment><USER21> > There's also the problematic government support of corporal punishment for > children..

There might have been implicit government support in the past, but today teachers are not allowed to hand out corporal punishment to children.

<comment><USER20> People that keep track of this kind of thing disagree. I'm no expert but I'd be curious to hear what you think;

[http://www.corpun.com/usscr2c.htm#singapore](http://www.corpun.com/usscr2c.htm#singapore)

</comment></comment></comment></comment></comment></comment><comment><USER22> I'd be interested in partnering with Singapore Airlines or Changi Airport, so this might actually be an interesting opportunity.

</comment><comment><USER23> "the foreign minister for Singapore spoke about VR porn"

"I told Mark, actually, the real killer app for augmented reality is not games, it is actually virtual sex."

"If you can successfully master virtual sex in augmented reality you will have devised the ultimate UX, user experience. The point is that this is another area that is exploding"

Hmm, in the context of American politics, it would be pretty shocking for a senior level politician (aside from outliers like Trump) to acknowledge anything sex related. After all, it wasn't that long ago that we fired our Surgeon General for stating that masturbation is part of human sexuality. So is it normal for a Singaporean foreign minister to discuss such matters in public?</comment>


Ah-Ha Moment: I wrote my first program with eval and lambda! - <AUTHOR>

I've 'understood' what eval and lambda were for in Ruby but I hadn't ever had a real reason to use it for anything, until today.
Now I REALLY get what they are for and I can definitely see how you could use them all over the place.
Just wanted to share my Hacker Joy ;) <comment><USER2> I feel the same way about Ruby and Javascript. I can't imagine what I was doing where I could have been using "eval" in C#. I was having to write my own interpreters inside the program and then pass around strings, which is crappy.

</comment><comment><USER3> Can you share the code?

<comment><AUTHOR> Sure, I'm always nervous about showing off my sloppy code but here it is.

<http://pastie.caboo.se/161944>

It's not the craziest code ever but it allows me to store site specific indexing code in a file and then load the correct code based on the site being indexed.

<comment><USER4> Any reason you did parseClosure(x,y,lambda {|doc,out| ... }) instead of parseClosure(x,y) { |doc,out| ... } ?

<comment><AUTHOR> I tried to pass the codeProc.call in the block but it wouldn't process the data until I passed the codeProc as a parameter. I don't really understand why to be honest.

<comment><USER4> I don't know why it wouldn't have. You should have been able to do:

        out = parseClosure(curr_page, cnt) { |doc,out| eval(codeStr) }

        ...

        def parseClosure(curr_page, cnt)
          ...
          yield(doc, out)

or:

        def parseClosure(curr_page, cnt, &codeProc)

There's not much opportunity to use lambda explicity in Ruby because using blocks instead is so easy.

<comment><AUTHOR> You are correct sir! I bow to your ruby-fu!

Thanks.</comment></comment></comment></comment></comment></comment>


Ask HN: is algorithmic or HF trading something I could do on my own? - <AUTHOR>

Assuming I had the necessary skills (and I do, in math and programming, but not finance or trading at the moment), could I do algorithmic or high-frequency trading on my own, or is it (participation in the market, low-latency information, etc.) priced too high for an individual? <comment><USER2> Yes. I know of a person trading profitably with about $200k capital. The company I work for started off this way as well, and it's considerably larger than $200k. I also know of a person who went this route and had trading profits but his trading profits didn't cover expenses (he lost something in the neighborhood of $50-100k).

You'll typically need to buy a server and colocate it at your broker's datacenter.

Brokers to talk to:

[http://www.limebrokerage.com/offerings/by_role_highfrequency...](http://www.limebrokerage.com/offerings/by_role_highfrequency.shtml) (This is the same Lime as LimeWire.)

<http://www.gndt.com/>

<http://www.interactivebrokers.com/ibg/main.php>

Unless you are very rich, you probably can't afford to do _latency arbitrage_ , which is only a subset of high frequency. The capital expenses (custom routers and the like) are probably too high for individuals.

<comment><AUTHOR> Thanks very much for the links!

<comment><USER2> Also, if you are interested in learning HFT without risking your own capital, my company is hiring. Instructions on how to apply are here (in encrypted form):

<http://meshcapital.com/application.tar.gz>

</comment></comment></comment><comment><USER3> If you are asking the answer is probably no.

It is a very capital intensive business.

You need a large amount of capital to get started (single millions? maybe up to 10 million?)

You have a high barrier to entry: colocation at exchanges (expensive), expensive data feeds, sophisticated event-processing software...etc

Then after you have all that you need the brokerage relationships.

Then you need to actually develop a successful algorithm - and your competitors have many years more experience than you.

...etc...etc

You get the point.

However, you could look at automated technical analysis / to supplement your own retail trading, but HFT is its own game.

<comment><AUTHOR> There's the possibility of middle men who are supposed to make some of these obstacles easier to overcome: <http://news.ycombinator.com/item?id=1560072>

Are you speaking from personal experience by the way?

</comment></comment><comment><USER4> Yes.. maybe.

I developed an algorithmic trading program for fun once. I never let it loose on a real account, but it did better than break-even on a few months of data I collected.

BUT: the trading costs killed its viability (even using interactivebrokers), unless I upped the capital I was using to an amount that I wasn't comfortable risking.

There's a useful forum at [http://www.elitetrader.com/vb/forumdisplay.php?s=4a039395d01...](http://www.elitetrader.com/vb/forumdisplay.php?s=4a039395d01ceaced87f28585ba24e5d&forumid=48)

Personally, I think you have less of a chance in making HF work for you than other methods though.

</comment><comment><USER5> You are probably not going to be able to do enough volume initially to get a discount on your execution. In futures the top tier requires 10's of thousands of contracts per month, in equities you'll need to be trading millions of shares per month. It would be extremely hard to overcome this even with great algorithms.

</comment><comment><USER6> Are you colocated at the NYSE?</comment>


Top 5 Bugs of my Career - <AUTHOR> http://javadots.blogspot.com/2009/10/top-five-bugs-of-my-career.html

<comment><USER2> _At some point I decide that my new rules are complete and I put them to work on several real inputs: large zip files with > 100K classes. I notice that both the import and load commands run much slower than before. In fact, they run so slow that they wipe out all the benefits of having my own optimized data structures._

Well, it would have been even slower without the correct data structure, right?

 _Remember, we are speaking about the C programming language, so expecting something as fancy as a stacktrace is out of the question._

Maybe on Windows. This is certainly not a problem with the GNU stack. But I doubt that Win32 C programs can't be debugged.

 _First, I tried to apply reasoning. I made educated guesses regarding which events are likely to be the ones causing the crash. After several hours of unsuccessful guesses I went to a more brutal approach: I commented out the whole switch block._

I would have tried 'printf("%d\n", msgid)' first. Seems like this would have identified the faulty switch case almost immediately.

 _I started debugging this code. When I stepped over the b = true statement the program crashed. This puzzled me. b is a local variable. It is stack allocated. How can an assignment to it fail?_

Are you sure that as the stack started to unwind after this, destructors on local variables were not being called? (C++ does actually have this sort of automatic memory management, after all.)

 _if you implement a cache you must always implement some cleanup strategy._

Every language with garbage collection has weak references. That's what these are for.

Anyway, this article was kind of weird. "Here are some weird bugs that caused me lots of problems", but no word on how they were ever resolved.

<comment><USER3> _Anyway, this article was kind of weird. "Here are some weird bugs that caused me lots of problems", but no word on how they were ever resolved._

I think that's part two....from the bottom of the post:

 _Got it? Great. Otherwise, wait for the next post...

(To be concluded)_

EDIT: Updated to include the quote.

</comment></comment><comment><USER4> #4: Sometimes transforming your data so that it's in an "optimized" structure requires a significant upfront cost. If the processing on that data is comparatively small, it might not be worth the effort. I'm going to guess that the import and load functions had n^2 algorithms in them.

#2: Assuming that no objects go out of scope, memory corruption. If objects do go out of scope, I'd still suspect memory corruption, but I'd check the destructors first.

#1: He already answered it, really. The caching mechanism was probably maintaining references to the objects, while still allocating space for new ones.

</comment><comment><USER5> #1: The rows are being traversed by index, but the indexes are changes during the execution of the loop as some rows are deleted. The loop ends up skipping any row that immediately follows a deleted row.</comment>


The Trouble with SVMs - <AUTHOR> http://v1v3kn.tumblr.com/post/47193952400/the-trouble-with-svms

<comment><USER2> How does this compare with developer time? It sounds like you spent more time tweaking the Naive Bayes than you did with the black box SVM, with the same results.</comment>


Community-Curated Interactive Mind Maps - <AUTHOR> https://github.com/learn-anything/maps <comment><USER2> Link to the working system: [https://learn-anything.xyz/](https://learn- anything.xyz/)

It still has gaps, naturally, but it presents some interesting ways to start learning.

<comment><USER3> i searched for 'car repair'. It keeps on giving me results for 'dna repair' :-)

</comment></comment><comment><USER4> I've been working on something along these lines. What is your data source and where are you planning on taking things if I may ask? We might have overlapping interests. :)

<comment><USER5> Our goals with the project is to present visually the most efficient paths for learning any topic on Earth.

The focus is on progressive learning. That is if a person wants to learn React.js. The effective path to learning it would be to learn Javascript first as it is a Javascript library. Or in case of learning machine learning, one should ideally have knowledge of statistics and linear algebra.

And another big focus is exploration. That is why we suggest new users randomly a topic one can possibly learn. He/she then can press on to go learn the topic and explore other topics related to it similar to exploring the wiki.

As for the data source, the website will very soon be fully open to the public, thus anyone can contribute to adding resources to any of the topics and community can then decide which resources they find most effective.

<comment><USER6> Any topic on earth.. how ambitious!!

I'm assuming your team is not qualified to review the map for every topic on earth. So, how do you plan on crowd-sourcing the review process? How does it compare with Wikipedia?

If I were a qualified reviewer for a given topic, why would I spend my time reviewing this mind map in comparison to Wikipedia, which would arguably be a better use of my time?

<comment><USER5> The difference between Wikipedia and Learn Anything is that Wikipedia focuses on the content. It gives a great overview of the topic and all the related topics.

However Wikipedia is just one resource you can use to learn a topic. More often than not, there is a very great course or YouTube videos or articles you can read and watch to learn the topic more in depth.

That's the problem we want to solve. We want to minimise the time you spend 'finding resources' and 'things to learn' and we want to visualise the entire learning process so you can explore and learn the content progressively similar to Khan Academy only instead cover all topics. The actual learning will still be done outside the website. The website only acts as a gateway to most effective resources as chosen by the community.

As for reviewing resources being added. You are right that we can't manually review every single one and that poses a great challenge as our focus with the website is to present the most effective resources for learning which not necessarily are most 'popular'. The voting system we will have in place will be similar to Reddit in that more 'upvoted' resources will surface to the top. Another thing we need to check is that the resources being added are actually related to the topic where they were added. One solution to solve this, would be to allow to flag resources that are inappropriate.

These are all quite challenging and I think interesting problems and there are really only 2 people working at the project currently and we really hope to bring more people into the project to help share ideas and help with solving some of these problems. Everything is Open Source and is built with React.

Hope that answers your question.

</comment></comment></comment></comment><comment><USER7> Very interesting! Too bad this is only for finding instruction materials. An even bigger problem than finding learning materials I often have when autodidactically diving into a new topic is having to build a concept map, which is always extremely hard.

</comment><comment><USER8> Interesting idea. An earlier iteration of this was on HN a while back.

Renders nonsense if cookies are blocked. I can tell you without looking that you aren't using a try/catch to feature test localStorage. So many times but it's not getting to me.

</comment><comment> white-flame Is editing purely through source files?

Are there examples of good JS-based graphically editable mind maps out there?

<comment><USER5> Hey white-flame.

Developers of Learn Anything here. The current version that is live on the website only allows users to edit content through JSON.

However, we are working hard on releasing a brand new version of the website that allows editing and adding things to the maps from the website itself. And that process should be as simple as adding links to Reddit or making a FB post.

The most up-to-date version of our new release can be seen here:

[http://dev.learn-anything.xyz](http://dev.learn-anything.xyz)

Would really love to hear your thoughts on it. We hope to release it this Sunday to the world. Our main focus is however to bring as many interesting people in to contribute to the code base. Everything is Open Source and built with React.js.</comment></comment>


A deep dive into the Vue.js source code - <AUTHOR> https://itnext.io/a-deep-dive-in-the-vue-js-source-code-4601a3f5584 <comment><USER2> For anyone who hasn't clicked through and are wondering how much of a "deep dive" this is, the article seems to be hosted on the Medium platform, which means there's an estimated read time metric at the top. It's the biggest one I've seen: "100 min read"

<comment><USER3> It also means there are popups, sticky headers, and sticky footers. All combined together to make the actual content as hard to read as is possible.

<comment><USER2> On Chrome desktop with uBlock, I didn't run into anything too obtrusive (other than the sticky header, which disappears upon scrolldown). That said, for an article this long, with this many code blocks – which are presented either as un-highlighted code, or screenshots – it seems more appropriate for Github/Gist.</comment></comment></comment>


Japan's first virtual reality porn festival cancelled – due to overcrowding - <AUTHOR> http://www.mirror.co.uk/tech/japans-first-virtual-reality-porn-8348006 <comment><USER2> Adult VR Fest 01 aka Sausage Fest Prime. How long exactly were the lines? Domo arigato Mrs. Robots. Something something too many people came at once. I give this orgy two double As or a 9 volt out of 10.</comment>


How-to: Full-text search in Google App Engine - <AUTHOR> http://appengineguy.com/2008/06/how-to-full-text-search-in-google-app.html <comment><USER2> There's a quota issue with running this full-text search against large blocks of text. I originally used the searchable model instead of db.Model for my Bloog app, but I removed it after getting quota errors when Google hosted. There wasn't a problem with local testing, just when using searchable models in the cloud.

<comment><USER3> It may be that each search term in a full-text index is held in a separate but hidden table and therefore large chunks of text create a large number of rows. This would explain why inserts would be slower and why quotas are more likely to be encountered.

</comment></comment><comment><USER4> It really surprised me that full-text search isn't easier on a Google-created cloud solution. Search is their bread and butter, you'd think this functionality would be a part of the default libraries Google created.</comment>


Doing A Startup? Get Ready To Screw Up And Start Over - <AUTHOR> http://www.forbes.com/sites/ciocentral/2012/05/14/doing-a-startup-get-ready-to-screw-up-and-start-over/

<comment><USER2> I hate reading things like "more than half of startups will fail in the first 5 years, so get ready to fail and change your plans".

It's not random... you don't have 50% chance of success. The half that failed did something wrong, there is a reason they weren't successful... it's not a probability thing.

<comment><USER3> Also, first FIVE years?!

Why are restauranteurs considered successful if they last a year?

I think if people are growing and creating socially good things, why should we worry if they financially fail in 5 years?

If you are lucky enough to be able to, go and do what needs to be done. If that's a startup, do it.</comment></comment>


Wuhan's Lockdown Is Over. Its Economic Pain Is Just Beginning - <AUTHOR> http://www.sixthtone.com/news/1005529/wuhans-lockdown-is-over.-its-economic-pain-is-just-beginning. <comment><AUTHOR> "The funding problem for SMEs is very urgent," says Luo. "They don't have capital flow."</comment>


The Median Rent for an SF Two-Bedroom Hits $5,000/Month - <AUTHOR> http://sf.curbed.com/archives/2015/10/09/the_median_rent_for_an_sf_twobedroom_hits_5000month.php <comment><USER2> Is median really the stat we want to use here? Mean?

<comment><USER3> Median is less influenced by the outliers.

<comment><AUTHOR> Yup. Particularly important in the markets where many people actually live/move to/can find jobs (SF, NYC), because they have incredible outliers on the high end.</comment></comment></comment>


Wave Computing Closes Its MIPS Open Initiative with Immediate Effect, No Warning - <AUTHOR> https://www.hackster.io/news/wave-computing-closes-its-mips-open-initiative-with-immediate-effect-zero-warning-e88b0df9acd0 <comment><USER2> So it seems that the "Open MIPS" initiative is no more, thus joining ARM as a disqualifed 'open architecture contender' to RISC-V. PowerPC is also open but it isn't really applicable for low-powered / embedded situations compared to RISC-V and so may suffer the same date as MIPS because IBM. So...

RISC-V wins (again)

</comment><comment><USER3> A Very Strange Business Model They Have...</comment>


"These Bugs Are Impossible to Fix Without Rr" - <AUTHOR> http://robert.ocallahan.org/2016/02/these-bugs-are-impossible-to-fix.html <comment><AUTHOR> In case rr doesn't ring a bell: [http://rr-project.org/](http://rr- project.org/)</comment>


How to Be Unpersuasive - <AUTHOR> http://blog.dilbert.com/post/154768183356/how-to-be-unpersuasive <comment><USER2> _We argue about whether or not Trump won in a "landslide."_

Actually it was Trump himself who started the "argument" by making the (patently unsupportable) claim that he won in a landslide. Thus exemplifying the very "word-thinking" style that Adams is now attacking in others.

</comment><comment><USER3> I don't completely disagree, but the argument you put forward is about as ad hominem as they get. Is what he says flawed or are you simply utterly interested?

</comment><comment><USER4> What I find ironic about Scott Adams, is that he uses his persuasion techniques to persuade us he is an expert in persuasion.

He derides experts, so its hard to tell if he is an actual expert or not.

its like a circular loop. There are so many contradictions you can't keep track of it all, but then it doesn't matter, because those counter arguments aren't persuasive.

</comment><comment><USER5> I may be totally against the grain by saying this but I feel its a good article and is relevant. We need to figure out how to communicate across divides.

</comment><comment><USER6> Scott Adams is a washed-up cartoonist turned reactionary collaborationist pundit whose only recent accomplishment is getting owned on Twitter all day. What does he know about persuading people?

<comment><USER7> On his Blog he wrote some insightful articles about how and why Trump will win. Unlike the mainstream media, he got it right. So I count at least two accomplishments.

<comment><USER6> He guessed correctly because he was shallow-minded enough to buy in, not because he had some special insight into the American psyche.

Regardless, American media makes for an abysmal benchmark.

<comment><USER8> I would say his prediction was more than just coincidence -- which he made when Trump was among 15 candidates vying for the GOP nomination. His raw odds then of being right were 14:1 against.

He also doubled-down - with qualifications - once Trump secured the nomination. Almost everyone else - including myself - saw the general election as a Clinton shoo-in, given Trump's numerous deviations from what most of us had believed were political candidate social norms, among other apparent disadvantages.</comment></comment></comment></comment>


How To Answer A Programming Interview Question And Look Good Doing It - <AUTHOR> http://www.skorks.com/2010/03/how-to-answer-a-programming-interview-question-and-look-good-doing-it/ <comment><USER2> I think I perform poorly in these sorts of interview, because in the wild I never solve programming problems by writing things on a whiteboard or on paper (unless it's a geometry problem), and I also frequently use external references like books or the internet which are never available in the interview setting. Another problem is that I almost never debug code exclusively by staring at it on paper.

<comment><AUTHOR> I guess like with everything, it's about practice. It's difficult to be good at something if you never do it. It is a bit of a pain since you never actually HAVE to do in your normal work. It is however worth practicing if you know you're going to be put in a situation where this will be an issue (such as an interview).

If you practice enough, you will get better at it and I do believe that it is certainly better to practice on your own rather than failing multiple interviews and using that as 'practice' :).</comment></comment>


Hackers Post BART Police Names & Addresses Online - <AUTHOR> http://mashable.com/2011/08/17/hackers-post-police-online/

<comment><USER2> Ouch, wouldn't want to be one of those cops.</comment>


The struggles of an open source maintainer - <AUTHOR> http://antirez.com/news/129 <comment><USER2> He missed a big one: you have no way to stop Linux distributions from hacking up your software, and you'll suffer the consequences of whatever they do.

I hit this with procps. (a package with ps, top, vmstat, free, kill...) It was horrifically demotivating, helping to end my involvement as the maintainer from roughly 1997 to 2007. (the other big issue was real life intruding, with me joining a start-up and having 5 kids)

I had plans for command line option letters, carefully paying attention to compatibility with other UNIX-like systems, and then Red Hat would come along and patch their package to block my plans. They were changing the interface without even asking for a letter allocation. I was then sort of stuck. I could ignore them, but then my users would have all sorts of compatibility problems and Red Hat would likely keep patching in their own allocation. I could accept the allocation, letting Red Hat have control over my interface.

Red Hat sometimes added major bugs. I'd get lots of complaints in my email. These would be a mystery until I figured out that the user had a buggy Red Hat change.

Patches would often be hoarded by Linux distributions. I used to regularly download packages and open them up to look for new crazy patches. Sometimes I took the patches, sometimes I ignored the patches, and sometimes a wrote my own versions. What I could never do was reject patches. The upstream software maintainer has no ability to do that.

The backlog of unresolved troubles of this sort kept growing, making me really miserable. Eventually I just gave up on trying to put out a new release. That was painful, since I'd written ps itself and being the maintainer had become part of my identity. Letting go was not easy.

Maybe it had to happen at some point, since I now have more than twice as many kids, but I will be forever bitter about how Red Hat didn't give a damn about the maintainer relationship.

<comment><USER3> As the parent of a startup and one singular demanding child, I have to ask... 10?! Wow! Nevermind _why_ , I want to know _how do you get anything done?_ Do you have staff? Do you have personal time to yourself, or with your wife? How many soccer games do you attend in a given week? How many bedrooms does your house have? How many of your kids are turning out to be programmers?

Forget maintaining software, I want to know how you maintain your existence. I don't think I could survive.

<comment><USER4> I also want to know how he manages to do any work with 5 or even 10 kids.

I realised I no longer had any spare time anymore once I had my first daughter. Then we had another and I realised I must have had so much spare time with just the one kid...

How lots of my family and friends manage time with 3 or more kids I don't know as you are then outnumbered.

5 or more seems impossible. You must either be a drill sergeant super efficient or the opposite, super relaxed and let the kids sort themselves out. Or rich and delegate it to nannies/au-pair etc.

I do appreciate now that by having two kids that they mostly spend their time at home playing with each other, as opposed to when we had just the one when we had to always play with them. I guess that scales well with more kids.

But I still do feel guilty that I am not always joining in. And have to be more selective of which school performance etc either one of us can attend. I am not sure my conscience could handle missing out on lots of these with more kids by allocating much less of my full time to each kid.

<comment><USER5> From zero to one child the change in regular life is astounding. You become a parent and in the process you lost a lot of your free time and lose all spontaneity from your life. From one to two children you will notice that you had some free time left with one but now you really _really_ don't have any more. No more evening movies or hour long coffees with wife. You wonder what childrenless people even do with the ultra metric shitton of time they have as you cannot imagine anymore. You simply don't have enough time for two kids and you have to learn to manage and optimize what you have to do the best you can.

From two to three children... nothing really changes anymore! You won't get more responsibilites as you already have them and no less time as you already don't have any :)

<comment><USER6> I got a cinematic education from my dad one movie a week on Saturday night. Children can be involved in adult activities.

</comment></comment></comment></comment></comment><comment><USER7> People seem to have a serious lack of understanding when making requests of others.

\- When you send an E-mail, at least _imagine_ that the recipient may have _literally hundreds_ of other messages to dredge through and the time required to respond (and detail of response) may reflect that. Not personal, don't get mad at them.

\- When you send an "instant message", it may be instant for _you_ but for all you know the recipient is deep in the middle of something and won't respond for awhile. Not personal, don't get mad at them.

\- The recipient may be on the other side of the planet. Err on the side of extra information so you don't wait days for a response that just has to ask you for more.

\- When you file a bug, "thank you but do some homework". A person dealing with 1000 other things will _not_ have time to hand-hold you through all the things you're not telling them yet. Be precise and complete. Be reasonable about when/if to expect a fix.

\- And for that matter, in retail, or traffic, or 100 other things in life, you _don't know as much as you think you do_ about what other people are dealing with. Stop for a second. Imagine their situation. That person not _instantly serving you and only you_ has a dozen other things going on.

<comment><USER8> > \- When you send an "instant message", it may be instant for you but for all > you know the recipient is deep in the middle of something and won't respond > for awhile. Not personal, don't get mad at them.

People don't get it. If they said a DM / IM or any program which is considered a "chat" app they expect instant replies.

I run a single person software company. I used to allow people to contact me for support any and all chat programs. So for paying customers you can magnify that "expect an instant reply" factor. People would get quite annoyed, regardless of whether it was Sunday, or 3am in the morning for me.

For that reason, only email and forum support is no offered. Never had a complaint since about wait times. People expect to wait after sending an email. They expect to wait for a forum post. They do not expect to wait for a chat / IM / DM response.

</comment></comment><comment><USER9> I don't maintain anything as big as Redis, but I've faced many similar problems all the same and I think I have an approach which makes it palatable. I wrote about my approach at length here:

[https://drewdevault.com/2018/06/01/How-I-maintain-FOSS- proje...](https://drewdevault.com/2018/06/01/How-I-maintain-FOSS- projects.html)

But the main thing is that almost all bug reports, feature requests, and so on, get sent to /dev/null. Users who care about a problem are expected to work on that problem themselves. In the case of software like Redis, pretty much everyone reporting a bug is also qualified to fix that bug, so it works particularly well.

Then I focus only on helping new contributors get their bearings and making regular contributors happy and comfortable with their work on the project. So far this approach has been very successful for me - I don't get burned out, and neither do my contributors, and we have happy, healthy communities where people work at a pace which suits them best and aren't stressed or overwhelmed.

Sure, lots of feature requests and bug reports get neglected, but I think the net result is still a very positive impact on the project. The occasional drive-by bug submitter provides far less value to the project as someone who writes even one patch. Focusing on keeping the people who create the most value happy makes for a more productive project and a better end result. Some people are put out by the fact that their bug report, feature request, etc goes unanswered, but I can quickly put the guilt out of my mind by reminding myself that ignoring them is doing a benefit to the project. And in practice, I generally have time to give people some words of encouragement and a nudge in the right direction towards writing a patch without burning myself out.

<comment><USER10> >In the case of software like Redis, pretty much everyone reporting a bug is also qualified to fix that bug, so it works particularly well.

There are a good bunch of people who have never written any C and even more people who have no idea about the internals of Redis, yet they are Redis users and they do find bugs. I wouldn't expect those users to write a patch for every bug they find to be honest.

<comment><USER11> I think the idea is that given enough users, the bugs who will be encountered by non-fixers will also be encountered by fixers so they'll be fixed, otherwise they are so rare as to not be worth the effort of wasting time with useless non-fixer reports to find the useful non-fixer ones.

I'm not sure how i feel about that TBH, personally i'd like to know about bugs even if they do not come with patches but at the same time i understand not wanting to be bothered by wading through useless reports.

Perhaps there should be end user oriented bugtrackers that look more similar to something like a hybrid between a forum and a reddit/HN post with voting (no downvotes though, kinda like GOG's wishlists) so that developers will have a rough idea where to focus next and "locked" (but perhaps visible, at least for FOSS projects) traditional bugtrackers where end user entries migrate (and linked to) once developers decide that this will be worked on.

It wont solve all issues, especially with people potentially going "why aren't you fixing that bug-but-really-a-feature-that-requires-rearchitecting-the- entire-thing that has 897482959204 votes and instead work on whatever-else that Nobody Asked For(tm)?", but i guess you can't fix entitlement with technical means.

<comment><USER12> All properly filled bug reports are useful.

This mentality that only writing code matters needs to stop. Open source projects (or any project for that matter) is way more than just writing code and the people doing the "other" work need to be recognized and encouraged to continuing that.

The lack of such people is exactly the major cause of burnout from maintainers who just want to code.

Not replying to all your points directly, just making a general statement about this whole thread.

<comment><USER11> If you aren't replying to my points why are you making a reply to my comment?

Yes, all properly filled bugs reports are useful. The important part here is that "properly" word though and on a popular project they can be hard to find. What is worse, this incentivizes people to file the same or similar bugs twice (or more) since they can't find the duplicate (in which case, properly or not doesn't matter, you already demonstrated your belief that your time is more important than whoever will have to wade through the bugs to find your duplicate).

Also while code isn't the only thing that matters, it is the thing that matters the most - the software doesn't exist without code, but it can exist without everything else - and the programmers who write the code are those who make the final decision on what ends up in the software (assuming FOSS made by volunteers here, of course, not FOSS or closed source software made by employees - although even in that case, often the developer who writes the code is the one making the decision anyway).

<comment><USER12> It's always an option to go the proprietary route and release your code as shareware. It worked for a long time. Why bother to release the source if it's such a hassle?

<comment><USER11> Sadly it worked until users were taught to expect everything for free (see how every single time someone posts something here or on Reddit that costs money, there is at least one post - often more - with free "alternatives" upvoted near the top) and other developers spreading FUD against you if you do not release the code - even if you give your software away for free.

Of course if you are going to receive harassment either way, might as well get paid for it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Man. I can relate. Open source projects are roller coasters. It's great when loads of people start using it... and terrible at the same time. It's validating to see people using your work, but sometimes you just want to submit your paper to NIPS rather than deal with what you think in the moment (and, frankly, in hindsight too) is a dumb issue: [https://github.com/mholt/caddy/issues/1680#issuecomment-3027...](https://github.com/mholt/caddy/issues/1680#issuecomment-302719323)

I wrote up my experience from one wave of negativity a couple years ago: [https://caddy.community/t/the-realities-of-being-a-foss- main...](https://caddy.community/t/the-realities-of-being-a-foss- maintainer/2728)

It still haunts me to this day, but my attitudes are finally trending more positive about the whole thing.

<comment><USER14> One of the major benefits of Open Source is that the user doesn't need to get a hold of the developer. It's always possible (or should be, if they're leveraging open source well) to patch a problem locally and build a fixed version their self. If they don't have the ability to do so, they really should at least have someone they can contact and pay (probably an exorbitant amount if it's an emergency) to do that for them. It's the open source equivalent of an application support contract or warranty.

<comment><USER15> How would you go about finding someone to contract and pay for say, Firefox?

<comment><USER16> Some folks I know are building polyglot.network as a FOSS-only software development agency. Early stages but you might wanna check them out.

<comment><USER17> They seems to be insanely Cheap at $1999 for 160 hours of Dev work.

How do the make money?

<comment><USER16> They only pick up FOSS tasks for which they can find multiple customers.

</comment></comment></comment></comment></comment></comment><comment><USER18> We ([https://sheetjs.com](https://sheetjs.com)) maintain some reasonably popular projects (our most popular, [https://github.com/SheetJS/js- xlsx/](https://github.com/SheetJS/js-xlsx/), has over 15K stars and sees millions of downloads per month).

It's important to remember why you are involved in open source. If those circumstances change, you should ask why you continue to remain involved. As soon as you lack a satisfactory answer, it's your cue to stop.

Many large open source projects start out as a passion project or a solution to a specific problem that the original developers faced. Over time, other people face similar issues and rally around your solution and it is really easy to fall into the trap of bearing their burdens. This is a bad response. Other people using your open source offerings do not create any sort of obligation on your part to care or respond to their concerns.

If someone really cares enough, they will incentivize your continued effort (like money or other considerations). It is unfortunately cultural taboo to ask some of the more vocal critics to pay, but setting up that dialogue at least shuts down most of the comments.

IMHO the origin of most of these issues comes from the very thing that drives many people to open source in the first place: personal branding. If you remove your personal identity from the equation, it's a lot easier to "turn off notifications". Rants and criticisms are directed at this mystery character, not you personally. Since you are not personally tied to the project, working on open source feels like a distinct activity and is judged on its merits. You don't feel the same sense of obligations since you don't personally feel like you are disappointing the user base.

<comment><USER19> Off-topic: I've used js-xlsx before, and didn't have any problems with it. Thank you for your efforts.

<comment><USER20> Same! Js-xlsx is lovely, thanks for your efforts.

</comment></comment></comment><comment><USER21> It sounds like this is similar to the harassment that he received over redis using the terms "master"/"slave". (Even DHH jumped in and used his platform to harass)

[http://antirez.com/news/122](http://antirez.com/news/122)

For someone that is giving parts of their life to help others, the amount of entitlement that people expect is unbelievable.

</comment><comment><USER22> I think people are getting way too upset over GitHub features like issues & PRs, and the desire to please others. If you work on an open source project and you're not getting paid for it, you really need to divorce yourself from the demands of users. You have to assume that literally no one will use the software and just make it for yourself. If it becomes popular and you get feedback and contributions, great! Hopefully you can develop relationships that will lead to co-maintainers and such. But if it starts to feel like a struggle, just re-focus on what _you_ want to get done, on your timeline.

<comment><USER23> Too many people aren't aware that you can say no, and not do something if you don't want to or if it is a bad idea. Especially if nobody is paying you.

Even for people that are paying you for a product, sometimes you really need to say no, that is how it works, and no, we are not going to customize it for your particular workflow.

<comment><USER24> Just saying "no" already can cost too much effort, because it involves making a decision that you'll want to justify. It takes effort to report an issue and even more to make a pull-request, so you don't want to reject them without a good reason, without really understanding it. Except for some obviously sloppy reports that would be just rude.

The easier option is to simply not respond. Even this leaves some level of stress, because we've all had our own bug report or pull request ignored. We don't want to this uncaring person on the other side. But sadly, ignoring other people's requests is the best option for involuntary maintainers to protect themselves.

The final option is to just hand out the keys to whoever is the most active contributor, and stop trying to control the direction of the project. This will get the stress-level down. You may not like this option, but it's much better than burning out.

</comment></comment></comment><comment><USER25> 1\. I've never upped my game enough to contribute to a project, much less put something on github. So, to the vast swath of people who are cooler than I: thank you.

2\. TFA really gets at the classic issue of working vs. managing. Technical people tend toward being better at the former. Context switching between doing the work and managing the work is hard. Punting the management and diving into the work almost seems an escape.

3\. The code itself makes this point to us. We can define an integer, and there it is. But when we need a list of integers? Look at how the management required just exploded.

4\. Management sucks, but a management vacuum is a void, indeed. Let us be thankful for managers who don't suck.

<comment><USER26> (I've been in the situation he describes, unfortunately)

I agree a lot of that article feels like two things (but i'm not going to remove all nuance - there are clearly other issues):

1\. The issue of being forced to be a manager when you want to be an individual contributor, and even worse, feels like being forced to be a TLM when you want to be an individual contributor.

2\. Even if you take away the aspects of #1, it feels like a lack of notion that individuals don't build software past a certain point. I mean that in the sense that, IMHO, past a certain point, all software becomes team built (or fails), whether you are the manager or not. High level software engineering is a team sport, not an individual one. That is true even outside of management - it's also about technically mentoring and growing the team that builds your software so you can rely on them instead of you (which is not just a manager task).

Every person you mentor into someone capable of doing the kind of work you want done is going to increase productivity on the software a lot more than you trying to do it yourself. Over time, they will also be able to build your team.

Over time and scale, if you don't have a team to rely on, and actually start relying on them, you will just feel crushed. Utterly utterly crushed.

There is no path out of it that involves getting better yourself. You simply cannot scale past a certain point and there is no way out of it.

<comment><USER27> It's not for everyone, but there's a way out: accept existential "futility", as Antirez puts it.

Let your project be less than it could be.

<comment><USER26> In my experience, this doesn't actually work. You basically have to close up shop.

Otherwise, the negative vitriol/etc of people who won't accept that is amazingly overwhelming.

Put another way, imagine, in a housing thread on HN, any time someone says "yeah, but i'm just happy to have my town stay the way it is. We don't want growth, we are happy, and we should be allowed to have that choice", what the response is.

While different situations for sure, it's the same _type_ of response you get when you say "yeah, i'm happy with my open source project the way it is, sorry".

<comment><USER27> > _You basically have to close up shop._

If you can't come to peace with that possibility, this approach isn't for you. Having to close up isn't an inevitability, but grappling with that prospect is an essential exercise.

It's truly not easy for ordinary humans to withstand the vitriol of a furious userbase. So, remove yourself from the channels where that vitriol gushes and roils.

The key is avoid making promises you can't keep -- either explicitly or implicitly. Putting a project on Github, home of "social coding", makes it hard to tune out the din. So... maybe don't keep your project on Github.

<comment><USER26> "If you can't come to peace with that possibility, this approach isn't for you."

Sure, but i mean in the sense that what you suggest is not a viable method for a lot of projects, unless, as you say, they also disconnect completely from the world.

That is not the same as existential futility - it is going off grid.

<comment><USER27> I vehemently disagree with this false dichotomy that either a project must strive endlessly or exile itself. Gradations are possible, and the way you achieve them is by strategically choosing the terms of engagement.

Embracing existential futility puts you in a state of mind to accept the consequences of _subsequent_ concrete actions which limit future prospects of glory.

<comment><USER26> You can vehemently disagree.

" Gradations are possible, and the way you achieve them is by strategically choosing the terms of engagement."

In my experience, you are simply wrong. You don't get to actually make this happen. You may _want_ it to happen, and i agree it would be very nice. But it is also unrealistic, in the same way lots of polarizing things are but shouldn't be. So you may not like that dichotomy, but in my experience, it is the practical effect.

I'd love to see your examples of projects that are both fairly successful and choose somewhere along the gradient you have in mind.

</comment></comment></comment></comment></comment></comment></comment></comment><comment> Sean-Der I have only been doing Pion WebRTC([https://github.com/pion/webrtc](https://github.com/pion/webrtc)) for a year, but the hardest ones for me have been

* Relationships tied to the project

It sort of burned me out when the first contributors moved on. I have always been on the other side though, interests change or you change jobs.

* Every user issue is urgent.

It is hard figuring out what the most important thing to work on is. If a user takes time to file an issue it is causing them issues. I just have been on the other side and it doesn't feel great to be ignored.

* Community members with different communication styles

People aren't so much assholes, but just communicate differently. It is really hard to mediate, no one is at fault but I just hate seeing people leave/get burned out from it.

<comment><USER28> As to hard figuring out what the most important thing to work on is:

I have some code on Github and got a change request. I just replied that I can do it for my currently hourly rate. That makes priorities clear.

<comment> Sean-Der I don't want to bring money into it though. It personally makes me happy that is free of any financial pursuit.

It is nice to suspend disbelief and just all work together on making things that make people happy :)

<comment><USER28> Yeah, sometimes money takes away the joy :)

</comment></comment></comment></comment><comment><USER29> I own a 2.3K star Github repository ([https://github.com/sergiotapia/magnetissimo](https://github.com/sergiotapia/magnetissimo)), that while trivial in it's implementation, it's pretty useful to a ton of people.

There are a few core contributors to the project now and a Discord server as well and everything in this article rings true to me.

It becomes an obligation of sorts and you definitely feel like you're letting people down, especially when it comes to people who have taken the time to contribute and share feedback, let alone people who actually open PRs.

What I think can help is having more core contributors with write permissions, share the load. Or be up front in your readme and say, "I only check this once a quarter".

<comment><USER30> FYI, it seems that your [https://sergio.dev/](https://sergio.dev/) is down.

<comment><USER29> Thanks - it's not set up yet, I'm trying to figure out a free blogging solution that requires zero code (like Hugo and such), more like hosted Wordpress for free.

</comment></comment></comment><comment><USER31> > Sometimes I believe that software, while great, will never be huge like > writing a book that will survive for centuries. Note because it is not as > great per-se, but because as a side effect it is also useful… and will be > replaced when something more useful is around.

That's an interesting point and thought experiment: what piece of software currently exists that will still be widely used in a century? And what's the oldest software that's still being used currently?

<comment><USER32> Unix. Email. TCP/IP. Just taking an initial stab.

<comment><USER33> All of those will be around not because they are good, but because so many other things are built against their interfaces.

<comment><USER34> Ultimately, what else is 'good' other than being the foundation of further far-flung flourishing?

</comment></comment></comment></comment><comment><USER35> I have a small (2k+ stars) niche game-related project. The hardest part for me is saying "no". If someone proposes a change that I think is out of scope, or is not something I want to maintain (maybe the introduced complexity is greater than the benefit of the feature) I find it difficult to explain that in a way people understand. Often times people get offended by it and then become angry at me, and over time it becomes very draining.

</comment><comment><USER36> Salvatore's feeling that he should be thinking about big ideas makes me think of Fabrice Bellard. He drops amazing things, let's the community manage them and concentrates on starting the next amazing thing. Maybe that's something good for Salvatore too.

</comment><comment><USER37> It's ironic that Git was intentionally designed to decentralise the process of software development, so that there was no single "blessed" repository, but instead of a network of peers, each of which could evolve at a different rate and in a different way, with the community deciding which would "win" in terms of popularity.

And yet, via Github, the community has reinvented the centralised model of software development. For any project, there is a single instance that is the "blessed" version, by virtue of having the most stars or collaborators, or owning the associated package name. 99% of forks are nothing more than a place where you create a feature branch that you intend to PR to the blessed project.

I hope that, one day, somebody invents a git-based project ecosystem that solves the problem of decentralised project management. I don't know exactly what this would look like, but I think it would need to embed the idea of community and contributor consensus and democracy at a fundamental level, separating the concept of the project and project ownership from any individual fork.

<comment><USER38> >Git was intentionally designed to decentralise the process of software development, so that there was no single "blessed" repository

I don't think this is true. It was developed by Torvalds to maintain the Linux kernel, which has always had a "blessed" repository at kernel.org.

<comment><USER39> Yes and no. The main idea of a dvcs is that you could send patches and pull requests to other people's forks. So in principle there is technically no blessed repository, but that doesn't mean there isn't a blessed repository from a social perspective.

(Also, there is more than one "blessed" Linux repo that a lot of people use. There's linux-rt, linux-stable, etc.)

</comment></comment></comment><comment><USER40> I don't know why so many open source users feel so entitled when they have done nothing for the project. I believe that anybody can help a project from code, documentation, financial, graphic design, etc.

<comment><USER41> Most projects don't actually want help. Go and try it: report a few bugs or point out usabilty issues. See what happens.

<comment><USER42> Most of my bug reports have been very well accepted. The worst response I can remember is just not responding for like 3 months.

And on the other side as a maintainer, any bug report that demonstrates a clear issue (crash, hang, etc) with a reproducible setup is appreciated.

What can be really frustrating are bug reports that aren't bugs and a better understanding of the software would allow them to solve the problem. For example, there was one issue on Slic3r that was asking for a PDF output of config files. There is really no reason to do that.

</comment></comment></comment><comment><USER43> IRS could help out Open Source projects and make it way easier for them to apply for grant money. But they make it very tough to get 5013c status.

I'm for quite strict tax enforcement but that should be changed.

Also of course private companies need to start stepping up and providing the often only small sums of money needed to fix these projects via bug bounties and fees to the maintainers.

</comment><comment><USER44> > Sometimes I believe that software, while great, will never be huge like > writing a book that will survive for centuries. Note because it is not as > great per-se, but because as a side effect it is also useful… and will be > replaced when something more useful is around.

I once saw a sig somewhere that was something along the lines of the author's goal being of writing some piece of software that would outlive them. That seemed like a neat, but incredibly ambitious goal, very very few pieces of software will meet it.

That said, Redis is probably one of them. It isn't too hard to imagine that there will be Redis instances running somewhere in 40 years, and though I wish antirez a long life, I think it is likely there will still be Redis instances chugging along after he passes.

So be proud antirez! You've most certainly made a dent in the universe.

<comment><USER45> Data migration is difficult. I'm sure there are a lot of _very_ old databases still chugging along in some dusty office corner because no one wants to touch them since they've worked adequately for the last 30 years.

</comment></comment><comment><USER46> This is a vicious cycle of a mentoring problem.

If the maintainer never learned and practiced "role shifting" as a part of the developer process, they are going to have a bad time if the project gains any traction whatsoever.

Worse, there's no easy way for a mentor to swoop in and teach them basic role shifting tactics. Because such an attempt would likely be interpreted as just a user giving yet another uninformed opinion. Edit: _And_ such a maintainer is unlikely to be able to delegate to newcomers since mentoring isn't part of their skillset. (Thus the vicious cycle.)

</comment><comment><USER47> The best thing creators should do in my eyes, and I always do it myself, is trying to make yourself jobless. Solve that problem, find people who are good at maintaining stuff, move on to the next problem. You don't need to sit there looking through bugs 12 hours a day. In fact there are people who love this continuous struggle more than you, and who therefore also have developed skills at handling these situations without having sleepless nights.

Find these people once your project reaches a stable point from a creative POV. Then help these people get started, not the users. Then you will see that you need to do less and less. And when you are at about 30% load start using your time to find the next problem that you can solve.

No reason to be ashamed of either. There are loads of people who really love this continous lifestyle and there are few people who actually love finding a new solution to a problem that nobody can solve. Everybody will be more happy in the end, even the users.

PS: You can also see it in a different way. There's not just jenkins and github and AWS to setup as a system to get your project running. People are also part of the system. People who move the issues along these pipelines. There is no system if people aren't part of it. And there are not just devs and users, there are also maintainers, communicators etc.

</comment><comment><USER48> I've been maintaining my OSS project for almost 6 years. It's well used in the industry but nowhere near as popular as Redis. But I can relate to pretty much everything in the article even the thinking approach. It makes me think that it takes a certain personality to be an OSS developer.

</comment><comment><USER49> > Moreover I'm sure I'm doing less than I could because of that, but this is > how things work.

It doesn't have to be. What if all the people who "pay" for Redis, their money want into a collection bucket, and nobody got the money until they earned it. Then you work on your own schedule and "earn" that money at a fixed dollar rate per hour, and claim the money at the end. Other trusted contributors can join this effort and claim the money after working the hours. This way, hours are up to the contributors, and money is more like the "pledge" in Kickstarter for example, or a check that's not yet cashed.

</comment><comment><USER50> I guess I will be the one to complain about something that makes me look bad. Since no one else complains about this, it makes me think I might be the only one. However I doubt that.

The problem I have had with my open source projects so far is that most of them seem to not be very popular and they receive very little if any feedback at all.

It's gotten to the point where I feel like popularity and merit are not even directly related. It seems like maybe part of it is tied to some kind of social networking popularity contest. Certainly I have to think that way otherwise I would never try to contribute anything again.

</comment><comment><USER51> We're working to address some of the issues raised in this piece, by creating a new way of working on Open Source.

Companies post their issues on our platform and contributors are incentivised by getting to know a company, a monetary reward and the potential of raising their profile with the company to get hired.

We're looking for feedback so if anyone has any thoughts - [https://works- hub.com/issues](https://works-hub.com/issues)

<comment><USER11> Others have tried what you seem to be trying and didn't work, how are you going to convince people who decide to use tech because it is free, to pay for it and pay for more than insultingly low scraps? And once someone does accept and the work is done, what happens if they are not the main developer of the software that was worked on and the developers decide they do not want to accept the work? Where does that leave your customers who most likely (especially if their initial major motivation was free stuff) wont want to pay someone fix/update the patches every time a new version is released nor be willing to have their own fork?

I might be missing something of course since your site doesn't work. Every time i tried to click on a link nothing happened. Firefox's dev console had this warning:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at [https://api.segment.io/v1/p](https://api.segment.io/v1/p).

Looks like your tracking is broken.

BTW, i'm kinda curious, how come you have "25,000+ software engineers on WorksHub" but only 8 issues, all of them from your own company?

</comment></comment><comment><USER52> For those struggling to access the site: [https://archive.fo/10IpE](https://archive.fo/10IpE)

</comment><comment><USER53> I don't remember if I get the idea elsewhere or what, but:

"Worse than a failed project/business, is a successfully one"

I part of "small scale" projects and one thing that some fear, very much, if that the project GET traction. This have killed some business before.

</comment><comment><USER54> It seems like there's an opportunity for a tool to help solve this (ie something other than GitHub issues).

<comment><USER34> I'm sure different tools could help somewhat but ultimately anything replacing GitHub issues would still involve some kind of social, i.e. communication, structure and that's just a hard thing to build and maintain.

</comment></comment><comment><USER55> Really great article _bows down_

</comment><comment><USER56> So very true!

I also maintain 10,000+ GitHub starred OSS database ([https://github.com/amark/gun](https://github.com/amark/gun)), and can relate to a lot of these points.

Worse than the jerks, though, are the bike-shedders. It is emotionally much easier to confront jerks, even though it is hurtful.

But the people who "Why isn't this written in X language?" or "Here's a PR to turn tabs into spaces" are honestly well-intended but naive and short-sighted.

Explaining to those people why you have to reject their PR _because it provides no additional value and is purely an arbitrary distraction_ takes quite a bit of time trying to be delicate, but is nearly as much waste of time.

</comment><comment><USER57> I encountered most of the issues described so I set out to solve this problem. I did the horrible bad thing: I rewrote my projects from scratch. It took me about a year, pretty much all of 2018. I could afford to do this because I was separated from both work and family by military education and a military deployment immediately following.

Now I have software that is stupid fast to extend and maintain. My software now executes faster than comparable applications coming out of Facebook with more options and at a very tiny size after accounting for dependcies. Now I finally have time to watch all the shows I have missed and play games since my software has fewer defects compared to similar applications and is faster to patch.

I did get tired of the asshole factor though and even deleted my Reddit account as a result. Now it's harder to promote my software online but deleting my reddit account again opened up more personal time.

</comment><comment><USER58> I'm threading the needle in a project I've been working on which is both Open Source and has premium features around cloud sync:

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

... it's been interesting. I'm trying to give everyone the best of both worlds but since I'm catering to a large user base I have to make sure to keep everyone happy.

Some people DO NOT want to do anything cloud. Some want their own cloud. Others want cloud and they want it easy.

I think part of what I'm learning is that in order to get the trust from users I'm going to either have to be around for a long time or get the thumbs up from other organizations that can vouch for my positive intentions.

For example, I want to write up a document about our commitment to Open Source but of course that takes work and I don't have a ton of time.

<comment><USER59> There was a pop-up that asked for money. The language of the bar at the top gives the impression the program will go away soon unless money comes in, plus the fact that someone was willing to inject pop-ups made it very difficult to trust - what if it goes commercial and someone is willing to inject ads or malware?</comment></comment>


Target Launches Estimote Beacon Test in 50 Stores - <AUTHOR> http://techcrunch.com/2015/08/05/target-launches-beacon-test-in-50-stores-with-expanded-rollout-later-this-year/?utm_content=buffer2a48f&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer <comment><USER2> Scary. Last thing brick and mortar needs is another reason to complain where the online experience is superior.

"I'd buy that at Amazon, but then I wouldn't get unrelated spam on my phone" \- said no one ever.

</comment><comment><USER3> _" With beacon technology, the company says it will be able to send information about deals as well as recommendations directly to consumers' smartphones, provided they opt in to receive these alerts. Initially, the beacon technology will work with those users who have the latest version of the Target iPhone app installed on their phone and have Bluetooth turned on."_

How many of Target's customers are _really_ going to use this capability, if they even know of it? How many are going to use it _twice_?

I was among the ~110 million customers affected by their 2013 security breach. How many of us do you think are especially eager to install a Target app on our phones?

This looks like a solution in search of a problem.</comment>


How To Quickly Generate A Large Data File On The Command Line (With Linux) - <AUTHOR> http://www.skorks.com/2010/03/how-to-quickly-generate-a-large-file-on-the-command-line-with-linux/ <comment><USER2> How to generate white noise to help calm down your baby:

cat /dev/urandom > /dev/dsp</comment>


Yaar: The Pirate Bay fires its Video Bay cannon at YouTube - <AUTHOR> http://uk.techcrunch.com/2009/06/29/yaar-the-pirate-bay-fires-its-video-bay-cannon-at-youtube/

<comment><USER2> This reminds me of a Hindi joke:

Q: What does the Indian pirate say?

A: Yaarrr !!!</comment>