Function overloading in C - <AUTHOR> https://gist.github.com/barosl/e0af4a92b2b8cabd05a7 <comment><USER2>
        #define add(a, b) _Generic(a, int: addi, char*: adds)(a, b)

Just because you can doesn't mean you should. Someday, someone will have to read that code. Note that when "add" returns a string, it's done an allocation, but for the integer case, it hasn't called "malloc". Now you'll now need to know the type to get rid of it.

Back in C99, generic trig functions were put in to make the number-crunching people happy. After all, FORTRAN has them. Everybody was tired of different versions of math libraries for "float" and "double". Then in C11, the mechanism behind that, "_Generic", was exposed. Now, anybody can use it. But, probably, they shouldn't. [1]

[1] [http://www.robertgamble.net/2012/01/c11-generic- selections.h...](http://www.robertgamble.net/2012/01/c11-generic- selections.html)

<comment><USER3> > Just because you can doesn't mean you should.

The fact that it's new doesn't mean it's in bad taste.

GCC has had a similar mechanism in C for decades. It was experience with that mechanism, and similar extensions in other compilers, that led to it being in the C Standard.

</comment></comment><comment><USER4> This whole _Generic stuff is a mistake. There is already a descendant dialect of C which has nice overloading, namely C++.

Analogy: imagine some people aren't happy with the new Fortran. Fortran 66 is the best language ever, and the only flavor of Fortran anyone should use ... except: they like a couple of features from Fortran 2008 and Fortran 90.

So, they whip out the Fortran 66 standard and fork it to create "Fortran Classic" where they just adopt what they like from mainstream Fortran --- and in a totally incompatible way!

And that's basically what C is doing now.

<comment><USER5> But the OP title is misleading, this isn't function overloading at all. It's macro overloading. Subtle but important difference. For example, you can't pass the OP's "add" around as a function pointer. You can't declare its prototype in an outside file (leaving the linker to link it in) without putting its full definition in said outside file. Etc.

It also gives, IMO, better error messages than C++. If we take OP's code and change a and b from int to long, we get:

        test.c:20:24: error: controlling expression type 'long' not compatible with any generic association type
        printf("%d\n", add(a, b)); // 3
                           ^
        test.c:16:28: note: expanded from macro 'add'
        #define add(a, b) _Generic(a, int: addi, char*: adds)(a, b)

This is better than the situation in C++ where it would say the function does not exist, and then go through every function with that name (possibly quite a lot) and say why each one doesn't work.

<comment><USER4> I _want_ to pass a function as a pointer even though it is overloaded. C++ supports that. For instance if we do:

       int (*p)(int, int) = add;

overload resolution kicks in there.

I want detailed error messages about overload resolution. Maybe not all the time: give me the executive summary ("no suitable overload of add was found") and the details if I specify some "-Woverload-detailed" option or whatever. That's a quality of implementation matter; neither ISO C nor ISO C++ spell out what diagnostics should look like and how detailed they should be.

Token-level macros are hacky cruft that shouldn't be used as the development bed for new features, period. All this stuff ignores 35 years of progress in the C dialect scene alone, not to mention 60 years of progress in general.

Above, add isn't even what is understood in computing as a "first class function". If we make it into some hacky macro, we are taking away even that second class status away from it.

<comment><USER6> _> I want to pass a function as a pointer even though it is overloaded. C++ supports that._

That's his point: C _Generic and C++ are not the same. Which one is better was not his point, just that they're different.

<comment><USER4> > _Which one is better was not his point, ..._

The comment is loaded with judgment, and the word "better" actually occurs.

</comment></comment></comment></comment></comment><comment><USER7> I was expecting something interesting. Generic selection is built into the language:

[http://en.cppreference.com/w/c/language/generic](http://en.cppreference.com/w/c/language/generic)

<comment><USER8> I recommend reading the notes section and better yet the following blog entry before one decides to use _Generic with less trivial types:

[https://gustedt.wordpress.com/2015/05/11/the-controlling- exp...](https://gustedt.wordpress.com/2015/05/11/the-controlling-expression- of-_generic/)

</comment></comment><comment><USER9> This answer is more detailed ..

[http://stackoverflow.com/questions/479207/function- overloadi...](http://stackoverflow.com/questions/479207/function-overloading- in-c/13010401#13010401)

</comment><comment><USER10> This is a very simple example. It only checks the type of the first parameter. _Generic can operate on all parameters, it just leads to an exponential increase of mess for each additional parameter handled.

While I like _Generic in C11, there is no doubt that it is not as powerful or handy as Templates (this coming from someone who does not really enjoy Cxx templates).

<comment><USER11> It's hard to say what's more powerful. Certainly templates involve more computation, but _Generic can do some things templates can't (for good and for ill) and vice-versa.

<comment><USER10> Well, since templates are turing complete, I would tend to say that they are more powerful. But they work very differently. Templates do code generation and _Generic is just a fancy-pants type-based macro-dispatch.

Like I said, I do not think _Generic is a bad thing (though it can get really messy—which is not to say that Templates can't), just that the example given in the OP is a bit contrived.

<comment><USER11> It is _computationally_ more powerful, sure. If that's what you'd intended to be talking about, then fine. But that is a distinct notion from "you are able to do more with it" \- which is typically the more relevant bit when discussing the power of a feature in a programming language outside a restricted academic context.

(Incidentally, other things being equal - including ability to get done the thing you want to get done - "Turing complete" is a bug, not a feature!)

Expanding a little - "Turing complete" means that your system is capable of _computing_ anything that can be computed _in some encoding_ , but that doesn't mean that it is linked to the rest of the world in a way that will do something useful with that encoding of the result.

Token-manipulating C macros, while obviously of less powerful in the sense of computability, can do things that templates cannot do (name mangling, annotations, compiler pragmas) - and with _Generic, any of these can now be type directed. Of course, with great power comes the responsibility never to use half of that... but that's pretty true of C++ as well :p

</comment></comment></comment></comment><comment><USER12> I don't program in C, but I can understand most of this code; However, I'm not sure where the "function overloading" part comes in or why it's significant. Could someone explain?

<comment><USER13> This is a good explanation: [https://www.reddit.com/r/programming/comments/3en2px/til_you...](https://www.reddit.com/r/programming/comments/3en2px/til_you_can_use_function_overloading_in_c/ctgj9zv)

</comment></comment><comment><USER14> Works with Clang and GCC.

Obviously, Visual Studio doesn't work (they have almost complete support for C99 though, so maybe in a few years they will include C11 support).

<comment><USER15> Unlikely, unless they need it for C++. Even C99 only gets better when they need parts of it for C++ anyways, and is not developed further.

</comment></comment><comment><USER16> Interesting approach, this is how I do it:

       cc -std=c++14

No preprocessor necessary! Also it checks the type of both arguments.

<comment><USER17> Indeed. No need to use "complex" features like RAII/RTTI/exceptions. Generally, I see features like classes, overloading and templates as "compatible" with C-style coding.</comment></comment>


MySQL server memory usage troubleshooting tips - <AUTHOR> http://www.mysqlperformanceblog.com/2014/01/24/mysql-server-memory-usage-2/

<comment><USER2> If I may, one additional thing that I found which helps a lot with memory issues as relate to MySQL: Use jemalloc or similar. Essentially I brought a system which killed off the MySQL service every few weeks in OOM, to running faster than ever and never having memory issues.

That isn't to say it's a substitute for full troubleshooting, but as a first step, using a different malloc routine can sometimes help quite a bit!

</comment><comment><USER3> I usually use this tool: [http://www.mysqlcalculator.com/](http://www.mysqlcalculator.com/) It's not perfect by any means but gives you a pretty good idea

<comment><USER4> Yeah, the MySQL 5.6 defaults are quite different to the ones mentioned here. Also:

\- the query cache is now off by default (but 1M)

\- innodb_additional_mem_pool_size no longer applies.

\- some of the per-session variables can actually allocate more than once (or not at all).

\- There is fixed memory allocated for performance_schema per thread.

</comment></comment><comment><USER5> wget mysqltuner.pl</comment>


I like my desk unorganised and messy - <AUTHOR> https://medium.com/@kanurag/why-i-like-my-desk-unorganised-and-messy-373ee61bfe0b <comment><USER2> Refreshing break from the constant mention that a desk needs to be clean. While I am someone who typically likes an organized workspace, I find there are too many articles nowadays that dismiss any other workspace. This is unfair as everyone works better in different scenarios and settings, just like everyone learns differently in school.

<comment><AUTHOR> Just the exact thought I had when I wrote this article. Cheers!</comment></comment>


Extracting a Toll From a Patent 'Troll' - <AUTHOR> http://www.nytimes.com/2013/10/18/business/extracting-a-toll-from-a-patent-troll.html

<comment><USER2> This is potentially positive, but many times the patent troll shell companies deliberately hold very few assets. Even if the Supreme Court makes it easier to capture legal fees from them, there may not be a lot to capture (if anything).

<comment><USER3> A sane legal system would then require the plaintiff to post a bond in this case.

<comment><USER2> Agree with both sentiments. There needs to be some mechanism to pierce the shell corporation and get to the beneficiaries, whether they are the representing legal firm or the licensing entities, in egregious cases.

</comment></comment></comment><comment><USER4> This could be heaven or it could be hell. Supreme court precedent either could kick patent troll war into overdrive or it could secure their place under the sun. One would be good for startups and competition. Guess which.

</comment><comment><USER5> How about you lose, you pay? The "small pennyless inventor" is a romantic fantasy.

<comment><USER6> Everyone is penniless compared to the size of the market where every participant can instantly copy just the components. For existing tech, there's nothing special about this - of course you can assemble a bicycle the same way every other bike is assembled. But for new tech this is a killer difference: with the protections, "penniless" inventors (everyone) has a chance to make a fundamental investment of time and resources. Without the invention you can just do unpaid R&D for the existing players. If they can also sue you in case they outlaw you, then even the possibility of licensing to them disappears.

<comment><USER6> "outlaw" should read "out-lawyer", "without the invention" should be "without the protection". Sorry about the haste.

</comment></comment></comment><comment><USER7> As we learned from IASIP, "you got to pay the troll toll".

<comment><USER8> My first thought as well :)

<comment><USER7> Worth a little downvote :)</comment></comment></comment>


How to Choose an Android Minimum App Version / API Level - <AUTHOR> http://www.whitneyland.com/2015/01/how-to-choose-an-android-minimum-app-version-api-level.html

<comment> n-gauge I've used the Chrome webview from KitKat and Lollipop (API 19+). Beware though, for kitkat there's a bug when trying to play sound from local file assets (fixed in lollipop).

It's a great way to code your first apk.</comment>


Chip wars: China, America and silicon supremacy - <AUTHOR> https://www.economist.com/leaders/2018/12/01/chip-wars-china-america-and-silicon-supremacy <comment><AUTHOR> Related - [https://news.ycombinator.com/item?id=18566526](https://news.ycombinator.com/item?id=18566526)</comment>


Time management with the Pomodoro Technique - <AUTHOR> https://speakerdeck.com/u/wikimatze/p/time-management-with-the-pomodoro-technique

<comment><USER2> I use the basic pomodoro method as explained in slide 6 of this deck with students retaking Maths who have experienced difficulty with the subject in the past.

They get one or two pomodoro's worth of routine questions each week to reinforce the lesson content. Works for them. The full method is quite sophisticated and includes review and optimisation templates. That won't work with teenagers!

The method allows a gentle increase in sophistication - you can just start using it with a timer one day to structure something boring (marking maths homework in my case, the mechanical marking not the reflective feedback to the student), then escalate your use of the rest of the method.

PS: plastic kitchen timers in the shape of cactus plants or retro clocks are readily available in UK.</comment>


1000 Web APIs - <AUTHOR> http://blog.programmableweb.com/2008/11/03/1000-web-apis/

<comment><USER2> Another page added to the reference file.</comment>


Show HN: Pubs with a Fire – A map of local pubs with a fireplace - <AUTHOR> http://pubswithafire.com <comment><AUTHOR> This is a little project I started up to map all the pubs here in Dublin, Ireland that have a fireplace. It got some good feedback via Twitter (@pubswithafire) and I've since had over 500 pubs added all around the world.

I'd love to get some more good pubs added as well as some feedback and ideas of where to take it.

</comment><comment><AUTHOR> This is a little project I started up to map all the pubs here in Dublin, Ireland that have a fireplace. It got some good feedback via Twitter (@pubswithafire) and I've since had over 500 pubs added all around the world.

I'd love to get some more good pubs added as well as some feedback and ideas of where to take it.

</comment><comment><AUTHOR> This is a little project I started up to map all the pubs here in Dublin, Ireland that have a fireplace. It got some good feedback via Twitter (@pubswithafire) and I've since had over 500 pubs added all around the world.

I'd love to get some more good pubs added as well as some feedback and ideas of where to take it.

</comment><comment><AUTHOR> This is a little project I started up to map all the pubs here in Dublin, Ireland that have a fireplace. It got some good feedback via Twitter (@pubswithafire) and I've since had over 500 pubs added all around the world.

I'd love to get some more good pubs added as well as some feedback and ideas of where to take it.</comment>


Uplink OS - <AUTHOR> https://www.youtube.com/watch?v=jZy_sBW7jz0 <comment><AUTHOR> Possibly the post should point directly to [http://www.moddb.com/mods/uplink- os](http://www.moddb.com/mods/uplink-os)

but it's linked from the video description in a way that's reasonably easy to find and I do think including the original developers' comments is of interest.</comment>


Damn you Xcode - <AUTHOR> http://damnyouxcode.com/

<comment><USER2> That seems well designed and artsy, but doesn't really tell me much about what is wrong with Xcode as it currently stands.

I'm a Visual Studio and (text editor + command line) user as far as programming goes, so could anyone describe what these problems with Xcode are? As they could also be present on other IDE's and such.

<comment><USER3> The main thing wrong with Xcode 4 is that it is incredibly unstable, compared to any other major IDE (Xcode 3 included).

It crashes several times every day, without fail. It also does things like bork its own project files such that they can no longer be opened, and the programmer has to roll back to an earlier version and make the changes again.

<comment><USER4> I've only started experiencing the crashiness after I upgraded to Lion. Before then, I was personally rock solid on Xcode 4.

</comment></comment></comment><comment><USER5> My time in XCode makes me yearn for Visual Studio (plus resharper). Random freezing, keyboard short-cuts that suddenly stop working (no reason), and a debugger that can take minutes to move from one call to the next.

Finally, compiling .a files between the simulator and native (armv6-7). Switching is an absolute pain.

<comment><USER4> I LOVED Resharper when I was first introduced to it. Incredible piece of software. Jetbrains makes very good stuff, although they need to work on the speed.

</comment></comment><comment><USER6> I am one of the owners of that blog, basically we started it rant publicly about Xcode.

</comment><comment><USER7> I think the primary problem with Xcode is that huge amount of new code has been added in recent years, and the new code has not had a chance to be thoroughly tested.

</comment><comment><USER4> Still a better overall experience than Eclipse.

Bazing!

<comment><USER8> This doesn't really add much. As an Eclipse user I'd be interested to hear _why_ XCode is still a better overall experience despite these problems.

<comment><USER4> The problem is that those with no taste can't tell they have no taste. It's a wicked problem. Everytime someone mentions that Eclipse sucks, an Eclipse users asks "Why" because they truly don't grok it at a deep level. I see the same thing with Opera users. But, for sake of argument, let's boil down exactly why I hate Eclipse:

\- The text editor is slow. There's no reason the damn text editor should be slow.

\- Too many options, many of which are such extreme edge cases they're better off being hidden in a config file.

\- Eclipse wants to manage too much of your project for you. It tends to package up and write files in it's own way, which is incredibly dense and very much the "Eclipse way" of doing things.

\- Workspaces? I don't care where you have my "Workspace", I'll tell you where I want to save my projects though. On a project by project basis.

\- Which version of Eclipse should I download? There's like 9,001 versions.

\- Eclipse runs incredibly slow on modern machines. I have 4GB of memory and a multicore processor, Xcode FLIES in comparison.

\- Why is everything a plugin? EVERYTHING. Oh, you wanted to install support for <insert language here>, well there's two or four projects that do that, you have to search for them in this really crappy search screen to install their packages. Or you can download them and install them manually, you do have a PhD right?

\- Eclipse can't find your java runtime without you telling it exactly where it is. This is unacceptable in 2011.

Oh god, I could go on. But I think we all get the point.

<comment><USER8> I didn't ask for a list of things that you, personally, dislike about Eclipse, nor did I ask for you to insult me on the (mistaken) premise that your personal preferences are somehow superior to mine. I have a list of things that suck about XCode too, that does not make it inferior to Eclipse. The take-home message I got was that you are used to how XCode works and not how Eclipse works, and thus think Eclipse sucks. It's a pretty common way of thinking, but I can't say I share it. I find PHPStorm weird to use because it _doesn't_ have workspaces, for example, but I don't think it "sucks".

Oh, and if you want to have a "who can write the longest list of reasons Eclipse sucks" competition I'm sure I could win. It has been my universal experience so far that I can explain why any program I love dearly sucks far better than anyone who dislikes it can.

</comment></comment></comment></comment><comment><USER6> my main concern is that you don't have any options to use something else.

</comment><comment><USER9> The biggest problem with XCode? It's an IDE.</comment>


Biomedical Data Science - <AUTHOR> http://genomicsclass.github.io/book/ <comment><USER2> BTW, this is the resource page from Harvard's edX course, "PH525: Statistics and R".

"An introduction to basic statistical concepts and R programming skills necessary for analyzing data in the life sciences."

[https://www.edx.org/course/statistics-r-harvardx- ph525-1x](https://www.edx.org/course/statistics-r-harvardx-ph525-1x)

</comment><comment><USER3> This looks awesome. The second half of the class is not something that I'd expect to see done in R, so it's nice to have all of this code.

<comment><USER4> Seriously? The topics in the second half of the class are what turned R into something notable. People would still be jerking around with Matlab or SAS (and getting poorer results in many cases) if Gentleman hadn't decided that microarrays were kinda interesting.

(Kids today! Get off my lawn! Rabble rabble)

<comment><USER3> But mapping and alignment in R? Genome annotation in R? I've worked in 3 institutions with a variety of bioinformaticians and that is something I've never seen. I'd argue that R is an unusual choice for that.

Microarrays yes, but no one (should) really uses those anymore.

Don't get me wrong, I do 50-75% of what I do in R.

<comment><USER4> Mapping an alignment gets farmed out to C via rsubread, samtools, etc. as far as annotation, anyone who doesn't use GRanges (or vcfanno, bed tools, etc) is insane. (You shouldn't be aligning locally anyways, it's a waste of resources in most cases. The broad migrated their workflow to Google last I heard; we do a lot in BaseSpace.). I actually don't see the point of alignment at all for RNA.

Your data almost certainly has batch effects, you know. At least with arrays the prep was fully standardized. Outside of a few big shops (UBC, the Broad, etc) it's the goddamned Wild West in terms of prep for lots of what we used to do with microarrays, especially RNAseq.

And of course since single cell techniques are newish, nutty ideas like designed experiments are only just beginning to dawn on people. Fisher would be apoplectic.

</comment></comment></comment></comment><comment><USER5> Kinda wierd you posted this. I've been actually looking for something similar to this recently. Thanks!

</comment><comment><USER6> Looks like quality material, thank you so much!</comment>


Ask HN: Those making $1,000+/month on side projects – what did you make? - <AUTHOR> Let's do this again. It can be a SaaS app, a mobile app, or any side project that is netting you recurring revenue. <comment><USER2> Discussion from the last time this question was asked: [https://news.ycombinator.com/item?id=11214497](https://news.ycombinator.com/item?id=11214497)

And the time before that: [https://news.ycombinator.com/item?id=9508528](https://news.ycombinator.com/item?id=9508528)

And the time before that: [https://news.ycombinator.com/item?id=6884552](https://news.ycombinator.com/item?id=6884552)

<comment><USER3> Upvoting for visibility. Not because the question has been asked to death, but because reading those threads are so damn fun.

<comment><USER4> Dedicated category might be worthwile :-) something like WhoIsHiring with fresh information every month.

<comment><USER5> Seconded.

</comment></comment></comment></comment><comment><USER6> Is there a common place on the internet for such discussions? A site where people can share ideas and find people to work together.

<comment><USER7> r/entrepreneur and r/webdev on reddit, but you have to weed through the crap.

<comment><USER8> I find the entrepreneur subreddit to be pretty terrible, honestly. My biggest problem is that to the less experienced, reading it can give you a false sense of being productive. Many years ago, I was reading it constantly because I was convinced one day I would find the secret to having a successful business.

However, it's overwhelmingly filled with people who have pretty low ambitions. It's mostly projects that are better suited for an etsy store than they are as a stand-alone startup. The ones with more ambition are usually something like "Uber for dogs" or "Facebook for dogs" and lack any real possibility of ever becoming a meaningful product.

<comment><USER7> I totally agree, but occasionally there are posts that are worthwhile. Some people have done great write ups about how they've scaled their small businesses to a point where they make a living, but like I said... have to weed through a lot of junk to see something good.

</comment></comment></comment></comment><comment><USER9> My wife is making high 4 figures a month (record was 13k+) selling educational PDFs on a 3rd party website.

Anything is possible if there's a demand and you market to that audience. Differentiating "cool" from real demand is the hard part. That said, she makes me feel completely inadequate with her side project ;)

Money isn't everything. How sustainable your business is, your required level of commitment on an ongoing basis, and how happy you are doing what you do are also very important.

<comment><USER10> what kind of website is that if you don't mind sharing

<comment><USER9> She sells (exclusively) on TeachersPayTeachers.com. Educators create resources and list them online for others to download/buy. Each seller is required to have at least one free resource so somewhere around 5%~10% are free.

The payment structure is basically 70% to the seller, or the seller can pay a flat fee of $60/yr to become a "premium" seller and then keep 85% of sales. What's nice about their platform is that the customers are highly qualified and support is mostly offloaded to their support staff. When a customer makes a direct inquiry (to a seller like my wife) about a product there's a very high chance they will actually convert, so time answering questions is well- spent. If a customer wants a refund they contact TPT directly, so it can be a very hands-off kind of thing. We've discussed selling off-site to recover a piece of the 15% but it hardly seems worthwhile because of their infrastructure and how it allows her to focus on creating new products.

TPT has posted engineering job openings on HN in the past and seems like it'd be a great place to work in NYC if anyone is looking. I don't represent or know them personally but get a strong positive impression from their virtual meetings with sellers and people who I know who work closely with them.

As I understand it they have a bit of cross-pollination with the team at Etsy, which is another interesting marketplace similar to TPT but for arts & crafts products. You might know Etsy from their blog at codeascraft.com, presentations they openly host, or because Rasmus Lerdorf (creator of PHP) works there. If not, their blog is worth checking out.

<comment><USER11> We homeschool, and buy things off TPT all the time.

</comment></comment></comment></comment><comment><USER12> My project: [https://batterybarpro.com](https://batterybarpro.com)

Freemium model, $4 for a Pro license, ~$1500/mn consistently for the last 6 years.

</comment><comment><USER13> I do 2-4 k a month on adult oriented webcam sites. Running on autopilot updating every 60 sec. Have a normal job and nobody really knows about this side project..... no work required just paying for hosting and domains. My big secret, my family would kill me if they saw the sites.

<comment><USER14> I'll bite. How exactly do you make the money? Signups, affiliate fees linking through to other sites?

</comment></comment><comment><USER15> I run a college wrestling website, [http://www.wrestlestats.com](http://www.wrestlestats.com). I'm right at about the break-even point with the site through the ads I have on the site, but hopefully it will get better. Trying to find some people willing to donate/invest so I can get my new version of the site completed.

<comment><USER16> This is pretty cool. One of my favourite websites when I was in high school was MileStat/MileSplit. It was specifically geared towards high school runners in each of the states. I assume it started out specifically at the national level, but they've bought up state specific sites to merge under 1 banner.

I don't know much about wrestling, but perhaps consider taking on the high school level.

<comment><USER15> I've thought about doing that (actually, my one helper WANTS me to open it up to New Jersey High School, which is where he's from). It would require some decent architecture changes, but the majority of those I'm working on this summer....so maybe in the future.

</comment></comment></comment><comment><USER17> I run AdsXposed ([https://adsxposed.com](https://adsxposed.com)) on the side. It's a project that scrapes online ads (specifically popups and redirects) and provides intelligence on them. Which publishers they popped on, which countries, to which devices, etc. It brings in pretty reasonable $$$.

<comment><USER18> Would you mind explaining what this does? I am vaguely aware of "advertising networks" but really don't get it enough to grok what you are doing.

How do you know what device an ad appeared on unless the ad is somehow pulling a monitoring .gif from your servers etc? (That's a bit 90s I know)

<comment><USER17> We scrape hundreds of thousands of publishers who we know run the popup/redirect ads, with IP's from 100 + countries, spoofing hundreds of different mobile devices / orientations / etc. There's a little more magic to it than just those things, but that's the principle.

We see what popups appear, and then record this info and show it in the tool.

<comment><USER18> I would never have thought of that. Thanks

</comment></comment></comment></comment><comment><USER19> Downloadable watermarking tool (now with a mac beta :)

Been at it for 5+ years, makes a few $K a month

[http://www.watermark-image.com](http://www.watermark-image.com)

<comment><USER20> How do you market your product? Google ads? Word of mouth?

</comment></comment><comment><USER21> a dumb greeting card site ( hey.sick.af ) and a dumb mug site ( meanmugs.af )

<comment><USER22> Congrats. Your "squad" is a little unusual. [http://www.sick.af/squad](http://www.sick.af/squad)

</comment></comment><comment><USER23> How about RF hardware?

I make user-friendly RF analog electronics:

[http://www.ebay.com/sch/iseeabluewhale/m.html?_nkw=&_armrs=1...](http://www.ebay.com/sch/iseeabluewhale/m.html?_nkw=&_armrs=1&_ipg=&_from=)

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

<comment><USER24> Interesting to see this ! Any way to contact you?

</comment></comment><comment><USER25> I write retro indie videogames and averaged 1k/mo for the first year and a half after my last release [1]. That dies off pretty quickly if you don't constantly promote though. I have a couple new games launching later this year, one of which is by contract - a 7th guest style puzzle game, and another Action RPG. I've been supplementing my gamedev income with WooCommerce clients, such as [2]. These are purely side projects outside my normal day job as an aerospace engineer.

[1] [http://www.TheHideoutGames.com](http://www.TheHideoutGames.com) [2] [http://shop.bikestripper.com](http://shop.bikestripper.com)

<comment><USER26> 7th Guest is excellent.

</comment></comment><comment><USER27> [https://pentesterLab.com/](https://pentesterLab.com/). I started a paid version with additional content and videos in December. It's bring more and more revenue every month.

</comment><comment><USER28> Hello to anyone! I am making it and use it for travelling. It has occurred to me that no one could doubt that vacation plays one of the leading roles in our life. It is really true. So, you have to make it bright. This platform offers you a full range of unique hotels worldwide you can stay at with pleasure. So you are adding new colors to your trip and make it vivid. It is way much better than choose what you got used to! [http://www.hotelyouwant.com/](http://www.hotelyouwant.com/)

</comment><comment><USER29> My revision website for radiologists in training brings in about £1-2K per month: [https://reviseradiology.com](https://reviseradiology.com)

</comment><comment><USER30> We make more than that with VYPER -- [http://vyper.io](http://vyper.io)

<comment><USER26> Over $8k/mo?

<comment><USER17> Just curious, but why choose to ask $8k/mo? Seems a random figure.

<comment><USER31> Guessing he's asking 8k a month because...

8k/mo is roughly 100k/yr

So he's asking if the project's pulling six figures.

</comment></comment></comment></comment><comment><USER32> I sell my script qrunched.com, I sell this script between $650 - $800.</comment>


Was early modern writing paper expensive? (2018) - <AUTHOR> https://collation.folger.edu/2018/02/writing-paper-expensive/ <comment><USER3> I'm trying to figure out why this article says paper wasn't expensive, using the example that a laborer could by 75 sheets of paper for a day's wages. Today, I can by 5 times that amount, for about 10 minutes of wages. By today's standards, that translates to over $1,000 for a ream of paper.

<comment><USER4> I think you might be making the wrong comparison. We can conclude from your observation that their paper is expensive (relative to ours), or that _our_ paper is dirt cheap! A laborer today might make $120/day so that's $1.60/sheet at early modern prices. While that's expensive compared to our super cheap modern paper, it's perfectly normal to describe things that cost $1.60 as inexpensive, even if you buy quite a few of them. The article says the average englishman used 6 sheets a day, so a modern laborer is spending under $10/day on paper.

<comment><USER5> >The article says the average englishman used 6 sheets a day, so a modern laborer is spending under $10/day on paper.

Somehow it must be put in the equation that "the average laborer making 6-12 pence a day" that "could purchase up to 75 sheets of paper with a day's wages" likely had NO use whatever of the paper as he/she wouldn't know how to read and write.

In any case, a single day labourer's wage covered the expenses for the paper needs for more than twelve _years_ (the article says that the average consumptions were 6 sheets _per year_ , not per day), now, did you spend more or less than $12 for paper last year? (and - as a side note - compare the expense for pencils and ink against those for a modern - crappy BTW - <USER2> printer cartridges)

On the other hand, if it was so cheap, most probably we wouldn't have needed some 350 years for the demonstration of Fermat's last theorem ;-).

<comment><USER4> Oops, how could I misread 6 sheets per year as 6 sheets per day! o_0 Thanks for pointing out my error, this makes much more sense now.</comment></comment></comment></comment>


Covid-19 stopped killing people - <AUTHOR> https://www.worldometers.info/coronavirus/country/france/ <comment><USER2> Misleading title as this is just a link to the case graph for France.

We've seen plenty of similar trend in the US already - the large waves of the summer were seemingly much less deadly than the first intense wave around New York.

However, there is a likely combination that explains this:

1\. The initial wave in New York was vastly larger than our testing capacity, which means it was actually less deadly than the official statistics show.

2\. Early waves of infection spread among the general populace, later waves have spread more among the young and healthy as those at higher risk are being more careful in avoiding social contact, while the young and healthy are being less cautious.

Taken together these two factors mean we don't know much about whether COVID has changed. Because the real infections are larger by an _unknown amount_ , it's not possible to know whether it is merely being detected more now, or it is infecting less vulnerable people, or if anything else has changed.

<comment><USER3> A third factor is that we keep learning more about how to treat COVID. Some cases that were fatal three months ago might not be now.

<comment><USER4> Another factor is that there are now multiple strains with different characteristics

</comment></comment></comment><comment><USER5> The equivalent graphs for the USA have Covid-19 still killing people.

[https://www.worldometers.info/coronavirus/country/us/](https://www.worldometers.info/coronavirus/country/us/)

<comment><USER6> It's interesting, isn't it? What's the difference between the two?

A few possibilities:

1\. Having been through big outbreaks, some countries are now doing a much better job of coping with it. (protecting vulnerable, treatments, etc.)

2\. In some countries the dominant strain has become milder. (though wouldn't the deadly strain also still circulate, resulting in just fewer deaths?)

3\. It already got to the vulnerable people in France. (though surely there would be somewhat more deaths, not almost none?)

4\. False positives in PCR testing. (I'm no expert, but it seems there are particular ways to run the test that may result in increased incidence of false positives)

What other possibilities are there?</comment></comment>


Do content writers need this type of Websites? - <AUTHOR> I want to understand from content writers perspectives do they need automation (approvals, the pipeline for posting on schedule time to different-2 mediums, a dashboard to manage content dates, testing various versions of same content)? I know most of the blogging web is powered by WordPress & there are many plugin & utilities are there to help content writers? Websites like contenttools.com , contenttools.co <comment><AUTHOR> I also want to understand form companies perspective small and large are they paying for this type of solutions?

<comment><USER2> You should focus on learning English first.

<comment><AUTHOR> Thanks for pointing out.</comment></comment></comment>


Show HN: Streamus – A Chrome extension for listening to YouTube music - <AUTHOR> https://chrome.google.com/webstore/detail/streamus/

<comment><AUTHOR> Author here.

Streamus has been my personal project for almost three years. I had become frustrated with managing music hosted on YouTube and decided to streamline the process.

The client is written with Backbone/Marionette and is backed by a C# server. The entire project is open-source:

\- [https://github.com/MeoMix/StreamusChromeExtension/](https://github.com/MeoMix/StreamusChromeExtension/)

\- [https://github.com/MeoMix/StreamusServer](https://github.com/MeoMix/StreamusServer)

Streamus enjoys ~150K weekly users and continues to grow after recently updating the UI with a design inspired by Google's Material Design principles. Screenshots: [http://imgur.com/a/vyd56](http://imgur.com/a/vyd56)

I have no concrete plans to monetize; Streamus is mostly serving as an invaluable learning experience. I went into this with very little knowledge of JavaScript, design, and development workflow. Pushing myself to better the product has forced me to markedly improve in all aspects.

I'd love to have feedback, critique, or possibly find other developers interested in implementing some features. :)</comment>


We are rewriting CodeMirror - <AUTHOR> https://codemirror.net/6/ <comment><USER2> Oh hi, I'm Marijn, one of the maintainers. It doesn't look like this submission is going anywhere, but I'll keep an eye on the comments and respond to questions.

<comment><USER3> Why typescript? wouldn't that choice reduce the number people that can contribute?

<comment><USER2> It provides significant advantages when it comes to noticing bugs and including types (also for docs) in the code from the start. I feel that TypeScript is widely enough known at this point (and close enough to JavaScript to figure it out quickly) to not be too much of a barrier.

</comment></comment></comment><comment><USER4> I have to ask what is probably a dumb question.

Why? I used CodeMirror on three projects. It was great. Now I use Monaco aka Visual Studio Code. What would CodeMirror offer ? With Monaco I get all the lastest feature of VSCode . Current versions of Monaco include Intellisense etc..

I'm honestly curious both what CodeMirror will offer and why even try to compete. Though I'm guessing the answer to the first question answers the second

<comment><USER5> I welcome competition in this space but two guys competing with Microsoft seems like impossible to win. Hopefully they get the funding and we can see what they can build

<comment><USER6> Monaco is maintained by a single guy from my understanding: [https://github.com/Microsoft/monaco- editor/graphs/contributo...](https://github.com/Microsoft/monaco- editor/graphs/contributors)

It just shows many contributors but looking at code commits and general activity (maintainers) in issues only Alexandru Dima comes out.

<comment><USER7> That's not where the monaco code lives. That's just for documentation. I think the actual code lives in the vscode repo

</comment></comment></comment></comment><comment><USER8> This is awesome! We were thinking about using CodeMirror for our in-browser editor, code.xyz [1] but wrote our own rendering engine from scratch in order to make sure we could distribute a lightweight package. If CodeMirror 6 had existed at the time we may have used it. We managed to get the total size to a fraction of that of CodeMirror.

If the community is interested we can definitely talk about open sourcing our editor, or if the CM team is interested in how we implemented some aspects I'm not opposed to sharing details. I can be reached at keith [at] stdlib [dot] com. We're a team of three engineers in SF, I'm responsible for the majority of the rendering engine implementation. :)

(If anybody is interested in my previous contributions to open source, they're available on my GitHub [2].)

[1] [https://code.xyz](https://code.xyz)

[2] [https://github.com/keithwhor](https://github.com/keithwhor)

</comment><comment><USER9> I didn't know what beautiful JS code looked like until I started reading CodeMirror while debugging an issue. After reading through Atom's code, I was really surprised how simple CodeMirror's code was—with minimal abstractions and flat functions.

(donated, of course)

<comment><USER2> Thanks! It's going to get a little more abstract in v6 (but only where the abstractions carry their weight).

<comment><USER9> i'm sure the abstractions will increase out of necessity. it was just nice for once to warily peek into the code of a great product and see a single, well organized ~9k line file of small functions that I could follow with relative ease. best wishes on the new version!

</comment></comment></comment><comment><USER10> Just donated what I can for now. I've used CM in a number of projects over the years and it's quite enjoyable once you get used to it, the feature set is comparatively large, and the defaults are quite good. If you're willing to go the extra mile, the customization runs deep. Good luck on v6 guys, looking forward to it.

</comment><comment><USER11> We use CodeMirror for our 8-bit retrodev IDE, and have been pretty happy with it: [http://8bitworkshop.com/v3.1.0/?=&file=examples%2Fbrickgame&...](http://8bitworkshop.com/v3.1.0/?=&file=examples%2Fbrickgame&platform=vcs)

We haven't even scratched the surface with customization beyond adding some more editing modes (fortunately a Z80 mode is already part of the release!) and doing custom gutters and line widgets.

There haven't been very many surprises, notably a performance issue with forced reflow when gutters are overwritten (solution: don't do that) and some vertical div sizing problems, which shows how difficult this kind of project is to do right. Performance has always been stellar, though, even on an underpowered Chromebook.

+1 to Typescript, we've also been converting our IDE over to it :)

</comment><comment><USER12> How will this affect ProseMirror development? Do you see ProseMirror at a point where it can be considered stable enough that it doesn't need a lot of attention?

<comment><USER13> Yes, ProseMirror is quite stable and it is well-used. Marijn released version 1.0 nearly a year ago and since then we made some improvements, but the interface seems good enough that we didn't even discuss making a breaking change in a component as far as I know. There's not too much maintenance work necessary either, since bug reports are usually pretty good and far fewer than for example with CodeMirror. I think how happy we are with ProseMirror and maintaining it is a major motivation for making these huge changes with CodeMirror, too.

</comment></comment><comment><USER14> By the way, the Xi-Editor of Raph Levien (Google) has some architectural notes, which could be useful.

[https://google.github.io/xi-editor/docs.html](https://google.github.io/xi- editor/docs.html)

<comment><USER2> Indeed, I'm aware of those and they are great.

</comment></comment><comment><USER15> Thank you for considering the needs of people who speak non-LTR languages, like Arabic. I'm excited that bidirectional text support is in the roadmap!

<comment><USER13> That's great to hear! CodeMirror 5 has complex code for supporting bidirectional documents, but it's not perfect and lot of work. We hope to let the browser do most of this work for us in the new architecture.

</comment></comment><comment><USER16> Thanks for your work Marijn! I've never developed with CodeMirror before but have used it in IPython notebooks.

I'm sure there are multiple ways open source projects can raise money but one idea I'm fond of is a paid "course". Basically this amounts to a couple hour tutorial. It helps gain users and present a deeper insight into the project while generating income.

</comment><comment><USER17> Ah I loved code mirror! I ended up using it in one of my projects called picoshell here which was an in-browser code editor. [https://www.youtube.com/watch?v=6ubEwT6igZQ](https://www.youtube.com/watch?v=6ubEwT6igZQ)

</comment><comment><USER18> Just happily backed this :) CodeMirror helped me TONS a few years back while writing a custom CMS for editorial work. Best of luck, Marijn—thanks for everything you've done so far.

</comment><comment><USER19> one thing i immediately noticed is that the line gutter no longer lags during hz scrolling on my phone :)

i'll definitely be pitching in.

something that's always bugged me about the current v5 syntaxes is that colors (and token types) are not consistent across languages.

ideally i would prefer to have a local var, a regex, a builtin colored the same in all languages. not just as a result of carefully tweaked css but because of token/css class uniformity.

any plans to address this in v6?

<comment><USER2> > one thing that's always bugged me about the current v5 syntaxes is that > colors (and token types) are not consistent across languages.

Yeah, me too. We're planning to move to something more close to what other editors (ST, Code) do and work with hierarchical token types (variable.local, variable.type.definition) instead of having a set of disjoint types. There remains the problem of some modes simply supporting more features (i.e. if one mode doesn't distinguish definitions from uses and another does, the colors will, depending on the theme, still look different), but it should help unify things quite a bit more.

</comment></comment><comment> le-mark Great project, I used it for an online code editor a couple of years ago.

My question is; what's the status of mobile/touch support? It used to be barely usable on touch devices. How is touch support vs Atom? I haven't followed this in years so apologies!

<comment><USER13> Improving mobile, touch and screen-reader support are from a user perspective the main reasons we are doing this in the first place. We are expecting to support most of the input behavior such platforms provide.

</comment></comment><comment><USER20> Can it edit the files on a server directly or you have to do that part yourself? Or are there any projects that I could self-host and let me edit the files on a server folder? Thanks.

<comment><USER2> You have to do that yourself—this is only the editor component. There's things like [https://icecoder.net/](https://icecoder.net/) that provide a more web- ide like thing on top of CodeMirror, but I don't know them intimately so I don't know which one to recommend.

</comment></comment><comment><USER21> When the demo embedded in a fundraising pitch supports Emacs keybindings, I donate. Simple as that.

</comment><comment><USER22> The page doesn't tell me anything on how to contribute code.

<comment><USER13> Except for small drive-by contributions (see GitHub repo) the project is not in a state were we can really integrate other people in our process, and there will be pretty substantial changes to interfaces. Looking at ProseMirror, contributions will probably mostly include separate modules and not so much work on the actual core (which is pretty stable). This is especially true for CodeMirror where there will be a lot of modes, addons, themes and keybindings, which we are not planning on maintaining as part of the core project.

</comment></comment><comment><USER23> old jQuery UI style, please:

        window.codeMirror("#myCodeMirrorDiv");

        window.codeMirror("#myCodeMirrorDiv", {
            theme: window.codeMirror.themes.dusk,
            maxColumns: 120,
            lineNumbers: true
        });

btw why would you ever put yourself through such a thing?

</comment><comment><USER24> [https://www.joelonsoftware.com/2000/04/06/things-you- should-...](https://www.joelonsoftware.com/2000/04/06/things-you-should-never- do-part-i/)</comment>


How Rare Are Anti-Gay-Marriage Donations in Silicon Valley? - <AUTHOR> http://fivethirtyeight.com/datalab/how-rare-are-anti-gay-marriage-donations-in-silicon-valley/ <comment><USER2> My parents own a small business and are personally against Gay Marriage. I admit that hoping that my privacy will be respected enough that no one will try to find them and harass them because of this... They are generally good people who are sometimes misguided in their thoughts. However, they don't let that creep into their business and have the utmost respect for people in general. Yes, even Gay people. Just because they believe that Homosexuality is wrong doesn't mean that they are opposed to people who are gay.

I'd be devastated if their business suffered because of their personal viewpoints. The mob mentality leads to situations where we round up everyone who is Japanese, Jewish, Homophobic, etc. and get rid of them. Let's be rational here and let people live with their beliefs, and lets not persecute people for their beliefs because of a time/culture/religion they were born into or the sexual orientation they were born with.

EDIT: Just because you are opposed to someone getting married doesn't mean you hate that group. People who have that viewpoint frequently believe that homosexuality will degrade the morality of society. Yes, they are wrong and misguided, but they aren't ALL hateful.

<comment><USER3> This is pretty clearly a "right to swing your fist ends at my nose" situation. If your parents aren't attempting to limit homosexuals' ability to live as equals with non-homosexual humans then, yes, they shouldn't be persecuted for their beliefs. However, if they donate to political causes that are anti-gay- marriage, or march in support of those who do, or sign petitions asking for the right to marry to be repealed...

If you're uncomfortable with associating the word "hate" with "against gay marriage", consider what opponents of gay marriage are trying to stop:

* A person easily being able to be present at the deathbed of their lifetime partner.

* Joint custody of children.

* Tax breaks.

<comment><USER4> Well, no. That's not what people who are against gay marriage are trying to stop.

Those are all different issues, and you'll find different percentages of people for and against each of them. Lowest against the deathbed issue, highest on the child custody issue, for example. Then the concept of redefining the term "marriage", which is yet another different issue.

Conflating all these issues is not helpful in the discussion. People's feelings on these topics are complex, and you really have to talk about it with that complexity to have any meaningful insight.

<comment><USER5> Here's the full list of the issues, for those interested: [https://en.wikipedia.org/wiki/Rights_and_responsibilities_of...](https://en.wikipedia.org/wiki/Rights_and_responsibilities_of_marriages_in_the_United_States)

</comment></comment></comment></comment><comment><USER6> Isn't the point of a democracy to allow the people to have a voice? It is starting to seem like many progressive groups are trying to vilify an individual's freedom of speech/thought. The Brendan Eich controversy highlights the issue as of late. Do I share all of the values/beliefs that my CEO does? No. Should I boycott my CEO for having conflicting values/beliefs? Maybe. If I am totally against something, then I should stand up for my beliefs. I believe everything starts to collapse when I try to use my beliefs to rally against another individual.

I have the belief that our founding fathers knew America would be a melting pot of religions, cultures, and beliefs and that is why they established state's rights to accommodate the beautiful array of citizens of which would make the United States of America.

If we continue to push one set of beliefs how different are we than North Korea, Iran, etc?

I am not very political, and I have many left and right wing perspectives. I am just saddened to see our country starting to stumble on a slippery slope.

<comment><USER7> "It is starting to seem like many progressive groups are trying to vilify an individual's freedom of speech/thought."

No. Freedom of speech doesn't mean freedom from consequences. If you're pro- rape, you're a pariah, but it's not illegal just to have those beliefs. If you're pro-racism, you're going to have a hard time in most places. We don't have to respect those beliefs, and (if we feel strongly enough) we can choose not include those people in our lives (work for them, shop at their stores, etc)... But we do have to support their _legal right_ to have/express those beliefs and (hopefully) treat them with respect rather than doubling down with hate.

Now take a belief like "we should increase the minimum wage". Are there many people that would grab their pitchfork and light their torches over that belief? Nope.

So the question is: How reprehensible is it to believe that same-sex marriage should not be legal? Is it a political issue, like minimum wage, or is it a human rights issue, like interracial marriage?

<comment><USER8> >> Is it a political issue, like minimum wage

One might argue that minimum wage is a human rights issue, especially if a full time employee on minimum wage can't afford food _and_ shelter.

<comment><USER9> I don't think it works like that. Last I understood, right to food & shelter is primarily a _negative_ right, meaning nobody can _deprive_ you of those things. Similar to right to movement- nobody is obligated to buy you a bus ticket, but outside of special circumstances nobody is allowed to _stop_ you from buying that bus ticket.

<comment><USER8> Source: [http://en.wikipedia.org/wiki/Right_to_housing](http://en.wikipedia.org/wiki/Right_to_housing)

[snip]

Article 25 of the Universal Declaration of Human Rights recognises the right to housing as part of the right to an adequate standard of living. It states that:

Everyone has the right to a standard of living adequate for the health and well-being of himself and of his family, including food, clothing, housing and medical care and necessary social services, and the right to security in the event of unemployment, sickness, disability, widowhood, old age or other lack of livelihood in circumstances beyond his control.

[/snip]

Doesn't sound like the right to an adequate standard of living (which would include food and shelter) is a negative right to me.

<comment><USER9> Well, that's how it is according to the UN. I'm attempting to find something more specifically about the USA- the UN's opinions are often pie-in-the-sky...

Obviously reality is more nuanced; notice the unrest of SF residents recently. Many can't afford their SF flats anymore; is that a violation of human rights? Do we need to subsidize their housing?

Clearly there is a _positive_ aspect- Section 8 housing, anyone?- but it seems like that plays a small part in the overall "right".

</comment></comment></comment></comment></comment></comment><comment><USER10> > So Eich was in a 17 percent minority relative to the top companies in > Silicon Valley.

Let's find all the heretics and burn them! j/k

I'm glad that we are beginning to have a rational discussion about the implications of internet mob justice. I hope it continues.

Please refrain from flagging rational points of view that you don't agree with. That's called censorship.

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

<comment><USER11> Unlike most other politicized topics, I don't think there is a rational position on opposing gay marriage in the US. At least none I have heard yet.

<comment><USER12> This is an important point that I've been bringing up whenever someone tries to discuss this: what reason is there to prevent someone else from getting gay married?

The only reason that I've seen is 'my beliefs say it's not okay, so you're not allowed to do it even if you don't share them'. Which comes across as spite, more than anything. 'I'm going to prevent you from getting married even though it costs me nothing to allow it', and in fact it cost Eich a thousand dollars to try to prevent it.

I can't imagine spending a thousand dollars to prevent someone from doing something they wanted to do if it wasn't going to affect me in any tangible way. That's why Eich seemed like an untrustworthy choice for CEO: this doesn't seem like a rational decision for a person to make.

<comment><USER13> I've heard people say something like "it's far too soon to tell what impact if any this rather dramatic change to the traditional definition of marriage will have on society, so perhaps we should take things slow and not rush to implement it everywhere simultaneously."

This seems like a reasonable enough position to me -- although I don't share it because I think the injustice to the individuals affected outweighs any potential drawbacks I can come up with, sometimes the law of unexpected consequences surprises us in interesting ways.

I've also heard people say "judge-made law causes resentment and entrenchment in a minority of the populace and leads to long-term conflicts (see, for instance, Roe vs. Wade). Therefore, while it'd be nice to have gay marriage everywhere simultaneously, we should wait to introduce it in a jurisdiction until we have an electoral majority there."

Again, this seems like a reasonable enough position to me, although not one I personally share.

Brendan Eich would be just fine as CEO in a more civil society where people are capable of separating personal opinions and professional actions. My personal dislike of his 'resignation' comes from a desire to have that (sadly imaginary) society instead of the one we've got. If I can work peaceably with a bunch of left-wing people, y'all should be able to work just fine with Brendan.

<comment><USER9> _This seems like a reasonable enough position to me -- although I don 't share it_

You have just blown thousands of collective minds. Such a stance is _possible_?

<comment> mkr-hn Being able to understand how someone arrives at a view while not also holding that view is an important part of being empathetic.

</comment></comment></comment></comment></comment></comment><comment><USER14> I was on the other side of this debate (ie against prop 8, pro gay marriage), and we donated and engaged in some advocacy in support of that view. I strongly believe in the idea of marriage as a civil rights issue which should be available to any pair of consenting adults (and perhaps configurations other than pairs, if I'm going to be intellectually consistent about it).

On the other hand, I also strongly believe in people's right to hold other points of view. I would certainly want no truck, as an individual or as a customer of a business, with someone who made a habit of expressing the differing opinion in hateful terms or by actions designed to injure the subjects of that opinion (eg firing gay employees or refusing to grant benefits to same-sex spouses or domestic partners), but on the other hand I don't really have a problem with someone who treats everyone consistently and with respect, although that person might have quite different beliefs from me about how things should be.

The thing is, there might be a wide range of things motivating that belief, from some deep pragmatic, religious, or moral conviction to simple antipathy. Unless the person acts or speaks to signal what those motivations are, I don't see any point in trying to make judgments about them or by extension of the person, for the same reason I wouldn't want people making extrapolations about my character from a single data point. This hasn't stopped a lot of other people from demonizing Eich on the basis of his donation, without giving any apparent weight to his behavior at Mozilla or the experience of LGBT people who work with him there (several of whom have blogged in support of his appointment notwithstanding their disagreement with his support of prop 8). Not being gay it's easy for me not to take the issue personally, but I'm inclined to give a lot of weight to people who _are_ gay and deal with him on a regular basis.

The whole business has an unsavory air of internet bullying to it, to be frank. I'm not thinking of people like Catlin Hampton who went public about their discomfort with Eich's appointment so much as the large number of tweets, comments and so on that adopted a confrontational stance and made it into a zero-sum binary issue, eg people calling him 'Eich(mann)' and equating him with the late and largely unlamented Fred Phelps. Characterizations of this sort don't seem any better to me than characterizations of gay people as perverts or suchlike. Bandwagon behavior seems to bring out the worst in people and reminds me of why I generally dislike being in groups.

<comment><USER15> Whenever people have strong views like this, I'm skeptical how hostile they'll be to innocent people who don't fit their sharply defined worldview. In the UK a 16 year old "adult" can marry a 40 year old. If you support that right are you are active in opposing the 18-years age of consent laws in some US states? If you don't support it, do you see the UK laws as enabling child abuse?

My point is that when you put arbitrary conditions on what you're going to accept, you can end up including and excluding some people unfairly. How about just "as long as nobody is harmed"?

</comment></comment><comment><USER16> I completely support the right of people to gather statistics like this and make informed decisions about their consumer habits. I also support the right of Mozilla to make employment decisions based upon this.

Next up. Anyone who has ever supported abortion rights suddenly can't buy a house or gain employment anywhere in the state of Texas.

</comment><comment><USER17> So, I've got a pitchfork with Intel's name on it. Need someone with a torch, similarly labeled. Preferably dozens. Anyone with me?

(crickets...)

OkStupid, I can count on you, right? Surely you can tell AMD vs. Intel inside with your cool-o web tech, data analysis, ...

(yeah, go ahead and down vote me, doesn't make me wrong).

</comment><comment><USER18> Personally I don't believe in marriage at all, at least from a government perspective. Civil unions for all I say... let customary "marriage" take place in your church or synagogue or wooded grove or whatever and have no bearing on anyone else. By now it seems pretty obvious that committed people should be entitled to the same legal protections regardless of sexual orientation...

That being said... not believing gay marriage is appropriate is NOT the same as believing similarly about inter-racial marriage. Some people (and I am not among these) feel marriage is a venue for biological reproduction and raising of children. And no matter how many rights gay people have, until our technology advances a bit further this is not something they are able to do. An inter-racial couple on the other hand can.

So please... stop with the "This is just like banning inter-racial marriage!" nonsense. In many peoples minds (again, not mine) it isn't.

And yes Eich was done badly. And OKCupid are bad actors in my opinion and should be called out on their nonsense. Particularly in view of threatening an open source browser.

<comment><USER19> If marriage is a venue for biological reproduction, then people shouldn't get the tax breaks and other legal benefits (hospital visitation, etc) until they've done so. Maybe the marriage certificate should be provisional until the first birth? Also, adoption certainly shouldn't count, since that's something same-sex couples can also do.

<comment><USER18> Oh, I agree 100% on the tax breaks and legal benefits. This is skewed in favor of the "traditional" at the moment and this isn't fair.

But, part of societies job is to insure future generations. Bottom line.... gay people can't do this.

<comment><USER19> Stable high-income gay couples can't give adopted children a far better life opportunity (and hence increased tax income and lower social welfare costs for society at large), than if those children bounced around in foster homes until aging out?

</comment></comment></comment></comment><comment><USER20> Interesting stat there on Intel.

<comment><USER21> I wonder what the age breakup of their SV workforce is. Intel didn't get big on software, so presumably their workers are a generation apart from those of Google.

<comment><USER9> Google is still only 16 years old; Intel is 46. Yes, you can hire people mid- career, but only one of these two companies has really had enough time to grow a full crop of wizened engineers.

As we all know, older folks tend to vote more conservative.

</comment></comment></comment><comment><USER22> Great analysis here. Really shows our double standard and mob mentality.

I'm not against people boycotting Mozilla (because that's their choice) but the whole things is just a big hotheaded mobfest (like all the other mobfest in the past).

</comment><comment><USER23> What this shows is a great disparity between companies, i.e. corporate culture apparently attracts and/or fosters bigotry. (Intel, wtf?)

Which only supports the notion that Mozilla, given it's clear stance on equality and inclusiveness, should not be lead by a bigot like Eich. It was a completely inappropriate choice to begin with.

On a side note, I am disgusted by the way this is being artificially politicized by using terms like "progressive" and "liberal". Supporting equal civil rights for all is not a political view, not does being conservative mean being anti-gay.

This is not a political issue. You wouldn't call someone who is against institutionalized racism a "liberal" or "progressive".

The attempts to frame bigotry as politics is probably the most sickening part of this whole debacle.</comment>


Sometimes, life is like a box of cacao products - <AUTHOR> http://www.washingtonpost.com/blogs/wonkblog/wp/2014/08/01/sometimes-life-is-like-a-box-of-cacao-products/

<comment><USER2> John Hempton is pretty sure that Herbalife is not a pyramid, that people are buying that stuff to consume, not sell. Although his analysis depends on them acting at least somewhat rationally, there's certainly room on the market and potential enthusiasts, just look at Soylent.

[http://brontecapital.blogspot.com/2014/08/for-kicks-just- how...](http://brontecapital.blogspot.com/2014/08/for-kicks-just-how-big-is- herbalife-and.html)

<comment><USER3> There is a slight, but nevertheless substantial difference between a company that relies entirely on its customers to becomes is sales workforce and a company that offers bulk prices for people who may want to resell.

The former will rely on its customers to recruit more customers/sales agents. The later will not.

There is probably a blurry line when a classic business may change its sales strategy that it starts to fall into an MLM scheme. I'd say that one of the indicators is how much the company is relying on new recruits becoming recruiters themselves.

</comment></comment><comment><USER4> An easy way of knowing if something is a MLM or not is whether or not it is based in Utah county, Utah.

Young Living, NuSkin, Xango, Tahitian Noni Juice, Usana, Neways, etc...

Magic products to be sold by stay-at-home moms because they never finished college and can't afford to have a real job.

<comment><USER5> I can't stand MLM's and Utah does have a lot of them, but disparaging stay at home moms is not called for. Elevate your arguments.</comment></comment>


Nokia Bubbles: An efficient way to unlock your phone and get to what matters - <AUTHOR> http://fireballed.org/linked/2011/02/04/nokia-bubbles/ <comment><USER2> "nokia pupples"</comment>


Microsoft Needs Your Help: Promises Free Software In Return - <AUTHOR> http://techcrunch.com/2012/04/13/microsoft-needs-your-help-promises-free-software-in-return-for-windows-8-feedback/

<comment><USER2> I always find this sort of stuff undesirable. For giving up hours of your time over a few months they are giving away $100 worth of software. If they want valuable feedback from people older than 15 then it might be worthwhile providing better incentives.</comment>