State of JavaScript 2018 Survey - <AUTHOR> https://stateofjs.com/ <comment><USER2> Javascript is becoming the next c++, what a mess. I can now write a function in about 10 different ways.. In all their efforts to fix it, it only becomes worse. Loads of fancy new features (mostly copied from Coffeescript), but the basic type system is still not fixed!

I miss the simplicity, readability and power of Coffeescript. -> function without context binding, => function with binding. That's it! does?.this?.prop?.exist, nope still not possible in JS. Ah well, the community hates CS and loves all the amazing new features of ES+. Until you look at a random codebase out there of some outstanding JS dev's utilising all the latest features. One big mess of conflicting strategies, unreadable code, poorly documented, bloated, etc.. etc.. But hey, we're using promises, reducers and spread operators everywhere, we're super smart!

When will the JS community start improving on the quality of the code instead of adding new language features, tooling, frameworks and so on? Try to think of better names for your identifiers to start with, using an intuitive naming system throughout a large codebase so it becomes actually readable. No, will not happen, too boring I guess.

I'm writing Typescript now to pay the bills. Adding even more complexity, it scales so well, mainly because you can use the 'any' type. Said enough?

<comment><USER3> Honestly, I think the only thing that sticks out to me is that JavaScript treats addition and catenation as the same thing, and, humbly, I don't think they are. Maybe some folks here more intimately familiar with good type handling can give their two cents.

But, I've enjoyed dynamic typing in languages where values had types and variables didn't, and because there wasn't any consolidation of addition and catenation, everything was fine. Also type coercion seems to be a pain point in JavaScript for some, whereas explicit type conversion through function calls in other languages seems to remove these issues, in my experience.

And TypeScript seems to bring a lot of powerful concepts to developers who enjoy the benefits of strict typing, which is great.

But, languages that continually expand their grammar complexity and usage conventions feel harder to master to me. Now and again I come back to Lua's reference manual and learn something new that I don't see other developers in that space recognize, and that's the simplest practical scripting language I know. It's complex syntax in Backus-Naur form is one section of the reference manual.

ECMAScript literally has multiple chapters to explain its grammar. I just don't understand how you can truly master that. At least, you certainly would not know all of the edge cases with the language.

<comment><USER4> > type coercion seems to be a pain point

Yeah:

      Boolean("0");  // true

I believe type coercian should pass through the types from simplest to most complex.

      false;                 // boolean, the simplest data type
      Number(false);         // 0, number
      String(Number(false)); // "0", string, so Boolean("0") should have been false

</comment></comment></comment><comment><USER5> Svelte is the best JavaScript UI framework I've seen in many years, better than React, Vue, etc. I'm using it for real work. I would love to see Svelte on this list.

[https://svelte.technology/](https://svelte.technology/)

<comment><USER6> Hmm I briefly looked at it and I am certainly intrigued. I really like the simplicity of await blocks, but I have some reservations about the template syntax, namely that it reminds me a lot of angular.js. Syntax like

      {#each cats as cat}

reminds me of ng-repeat, and of course there are other similarities.

I'm not necessarily saying that that's bad, but as a matter of personal preference I tend to prefer the html-into-JS approach of JSX / React over what is essentially implementing a subset of javascript as part of the template syntax.

I don't like that you have to ask what parts of javascript you are allowed to use within a template.

</comment></comment><comment><USER7> Mock me if you want but I found this survey confusing to take. The titles/subject areas are disjointed from the questions, then the first question is just the word "Reason." No explanation, just one word, "Reason." Took me longer than it should have to realize what was going on.

<comment><USER8> Same here. I recall vaguely that "Reason" was some kind of tech and not an order to reason about something.

<comment><USER9> There's a Reason for everything.

[https://www.propellerheads.se/en/reason](https://www.propellerheads.se/en/reason)

</comment></comment></comment><comment><USER10> The state of JavaScript 2018 is the 10s spinner as it loads all the JavaScript necessary to run the survey.

</comment><comment><USER3> Just some feedback to share here for thoughts (I shared it in the survey): most of the time I didn't really care enough to give specific reasons why I _did_ or _didn 't_ like something, and felt like it was a retention pain point in the survey.

If I like or dislike something, that should be enough. I know people want to know where things can improve, but honestly, a lot of the time the answer is "the whole damn thing is worthless to me, and there's too many cons to correct and not enough pros to validate its existence to me."

I _realize_ that's not constructive, but if something is fundamentally unappealing, no amount of steering is going to fix that in my eyes.

<comment><USER8> This. There were too many & vague reasons for like/dislike to choose from and I didn't feel like answering that for every technology

</comment></comment><comment><USER11> Great survey, very excited to see the results.

The option of complexity really spoke to me. If you're building a small one- off website, then you want something short of a framework like React, but something more modern than Jquery (manage state, reactive style programming). What can you use?

I feel modern client side JavaScript assumes you're working on a large, long lived site that you plan to maintain. There's no equivalent of "I just want to create something quickly for use by about 100-1000 people for a few weeks"

<comment><USER12> This is how I coach my team through this: use the right tools for the job.

Now what does that mean? Just displaying some data and accepting some input, or requirements are unclear? No js required. Now they want some interaction, like a hover effect? Use vanilla js, jQuery, or plain css. Requirements keep changing and you have more the 25 lines of js? Maybe start thinking about vuejs to enhance the page and using a simple script tag. Starting to have several hundred lines of js and you can't remember where in the file that function is, or you are required to minify? Start thinking of vuejs plus a build tool.

Do you need js everywhere? The answer is almost certainly no. Do you need to enhance a page with js? That's about a 50/50.

Obviously this is just my advice, but was born from working on small teams, at startups where requirements are often unknown, change frequently, and time to market matters.

<comment><USER13> Plenty who will disagree and say they do want JS everywhere. I can build my dom much more cleanly using nice declarative js than html with all its silly and inconsistent rules, and letting react do the rest. I'm happier writing my style rules as objects, then having emotion apply it to style elements. Much happier using JS for everything than some old html+CSS that uses JS to add a few bells and whistles.

<comment><USER12> I gave you an up vote, because that's the great thing about this industry -- there are many valid opinions and options for each problem. Its more about balancing tradeoffs then anything else.

Mine stems from working in the industry for nearly a decade, and shipping 100% js projects in a variety of frameworks (angular, react, vue and backbone to name a few). Most of the time, but not all of the time, I see iteration and maintenance costs far exceed simpler js enhanced pages.

If js everywhere works for you and your team better, then that's what you should do.

<comment><USER13> Oh I've been around a long time too, and I've definitely had that experience in the past. Presentation logic was the really _big_ one years ago. Few devs seemed at all bothered if their views were extremely complex, contained heavily nested conditionals, poorly componentised, etc. Presentation wasn't seen as "serious" code, because real devs did backends. As a result, so much of our available tools, libraries, docs, blog posts, etc. were valued based on how quickly you can churn out something that matches some mockup at one point in time, and that's it. You'd never make any significant updates, only create new pages to replace it. In this world, a completely separate dev (or designer) would throw together the HTML/CSS and the ecma dev would link up some events to the buttons.

I've really seen it flip after React matured, and everyone started transpiling w/ bundlers. I don't have some `colors.scss` with a bunch of constants, and then redefine those same constants in my .js anywhere -- I have a .js file with my palette. I don't embed logic into the template with a bunch of `<div ng-if` stuff anymore, I can use the same `if` I use everywhere else. All my static analysis for unreachable code detection, style guides, etc. runs the same everywhere.

I'd argue that those "simpler js enhanced pages" aren't so much simpler, as they are merely more familiar. 1 consistent approach in one language, that is equally (or more) suited for declarative code, is simpler than 3 languages with 3 approaches. One module that says `export default css({ p: { fontSize: '16px' } });` then importing it into another file is simpler than some scss `.MyBigClassName { p { font-size: 16px; } }` then remembering that classname in your HTML. `h('p', { onClick }, 'Hello!')` (or `<p onClick={onClick}>Hello</p>` in jsx) isn't more complicated than `<p class="foobar">Hello</p>` and some js elsewhere that says `$('.foobar').click(` or whatever.

I've taken this approach with my very intern/jr heavy team, and they all take to it really fast. It tends to be the older devs who are more resistant, because it requires changing old habits.

<comment><USER12> > I don't have some `colors.scss` with a bunch of constants, and then redefine > those same constants in my .js anywhere -- I have a .js file with my > palette.

Thank you for your reply. Do you have an example repo of using this pattern? I'm afraid I'm not terribly familiar with _not_ having any css files and instead defining it in a js file. create-react-app maintained by facebook doesn't seem to follow this pattern (unless I'm misunderstanding).

<comment><USER13> [emotion]([https://github.com/emotion-js/emotion](https://github.com/emotion- js/emotion)) is the main lib doing it now -- it's pretty popular among the React crowd, and sits at 5k stars right now. It's a nice, gradual transition, since it mostly follows scss-like syntax, and the docs all use tagged templates. e.g. `const className = css\\`p { font-size: 16px; }\\`;`, but `const className = css({ p: { fontSize: '16px' } });` works fine too.

What's cool is you can use the same obj conventions for the CSS as a React component's `style` prop, or a regular Node's style. e.g. if I have `const headerColor = { color: '#ff0000', backgroundColor: '#00ff00' };`, I can say `<div style={headerColor}>`, or `Object.assign(document.querySelector('p').style, headerColor)` too.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> What's funny about the JavaScript world is that there are basically two activities that happen: create yet another SPA framework and create yet another "script" suffixed language in which to code and transpile. Nothing is done to JavaScript itself at structural and semantic level. Even the standards seem to focus too much on peripheral aspects such as spread, arrow function etc which are no doubt useful but don't improve the language itself. The language is still as flawed and imperfect as it has always been.

Why don't anyone think of incorporating at least the low hanging fruits for which developers have to migrate to a different language and transpile? What they do add is halfa$$ed, like _const_. It boggles my mind. I created an experimental framework called JEEP to remedy the sort of things I am ranting about. Jeep has been happening in several iterations since 2015 and before every iteration I checked if the latest standards would make the framework redundant but sadly the need for Jeep only intensified. Finally I posted the 2018 version here on Show and elsewhere and the response was staggering, in that nobody gave a f.ck. I am not bitter, no, really, but just amazed as to what people find interesting and flock to and what they ignore happily. Admittedly, the framework is quite unconventional and needs some reading and experimenting to be done in order to be fully appreciated, leave alone adopt, and it may even be advocating the sort of things that an average JavaScript developer is not interested in, but the sheer lack of even "what the f.ck is this $hit" was astounding. Some stats: collectively there has been over 3500 views but only 2 comments and a handful of likes, stars, upvotes etc. I am sure it will get attention eventually, hopefully sooner rather than later, its been just 10 days yet, but the initial response is something that has made me recaliberate the priority of an average JavaScript developer.

</comment><comment><USER15> Does anyone else get the feeling this survey is designed/run (or at least "sponsored") by the Facebook engineering team...? It's _heavily_ biased towards React, GraphQL & co. with a token mention of Vue.js and Angular so as to be less _obvious_. Of _course_ "the state of JS" is going to say "everyone is using React" if the questions are _designed_ to collect that biased data...

<comment><USER16> What do they have to gain from it?

<comment><USER15> @Keyframe React/Relay/GraphQL/etc, are Fb's "re-interpretation" of several Open Source technologies that already existed in the community e.g: Elm & RethinkDB.

Facebook gains each time a developer uses their "stack" because they extend the Fb ecosystem and widen the "talent pool" of potential engineers who can work on Fb's data-harvesting and Ad machines.

So when a "survey" is designed to promote the Fb tools by people who use Fb tools (scroll to the bottom of [https://stateofjs.com](https://stateofjs.com) ...) I cannot help but be a _little_ "skeptical".

Facebook are trying to _OWN_ the JS dev ecosystem just like try to _OWN_ everyone's personal data! And they are "getting away with it" because no other (major) Tech company is doing anything to challenge them. :-(

<comment><USER16> Makes sense when you put it like that. Question here is why no other major tech company is doing anything to challenge that. Microsoft might be the one to step in, considering their JS involvement now.

</comment></comment></comment></comment><comment><USER13> I was surprised to see no mention of rxjs at all, considering observables (and pipelines) are phase 2. Somehow ramda is there, though.

I'm hoping the results show a lot of passion behind koa! I love that approach in general, especially since I find express pretty clunky for reporting errors from async operations. It still seems like the public hasn't really taken to koa yet, unfortunately.

</comment><comment><USER17> It has improved in some ways but it's still incredibly fragmented, maybe more so with CSS-in-JS, TS, Flow, etc. Especially with the potential of languages like Elm, Rust, Go and others via WASM, it's going to be very hard to justify JS IMO—unless you understand the tradeoffs and still just prefer JS as a language then that's cool, the others aren't perfect either.

</comment><comment><USER18> Odd how ClojureScript is in the survey, but Clojure is not listed in the possible "other languages" section. Oh, well. We Clojurians are used to being overlooked.

<comment><USER19> ClosureScript is trying to replace JS for areas where you have to compile to JS such as front end and and Node.js, just as all other languages in that category.

<comment><USER18> They have another category of language, though, in which Go, Scala, etc are listed but Clojure was not.

</comment></comment></comment><comment><USER20> You definitely need to add parse-server.

</comment><comment><USER21> At the bottom of the page,

"Note: to improve results relevance, we keep track of data such as your referrer, location, device, browser, and OS."

Give me a break. _Obviously_ not relevant for a _survey_. Only relevant for whatever bullshit they'll do with this data later on, unrelated to the survey.

"To improve results relevance..." this is just pure contempt for site visitors.

<comment><USER22> Survey author here. We didn't have the time to correlate device/browser/etc. to other data points last year but we did use the location:

[https://2017.stateofjs.com/2017/front- end/worldwide/](https://2017.stateofjs.com/2017/front-end/worldwide/)

Also I'm curious what kind of nefarious "bullshit" you think one can do with browser statistics. Market special weight loss pills uniquely targeted to Safari users?

<comment><USER21> Are you crazy? People buy data sets with browser statistics and location all the time, to augment other data sets that attempt cross-device user tracking. The more instances of browser fingerprints I have, the better I can tie you between different devices. I used to work for a company whose whole business model was essentially to buy data sets like this and normalize, join and aggregate them into much larger data products sold to third parties or queried in mobile SDKs.

There are whole companies that exist just to collect and aggregate disparate data sets like this to make cross-device advertising measurement more possible. If you can only match 0.01% of the users in some ad campaign, then being able to even just _double_ that fraction by also finding the same users on other devices is hugely valuable. The signature of your browser stats, location, and choice of what to browse absolutely can enable this matching, and a host of other techniques (like matching to similar users if no exact match is found, and using machine learning on huge sets of traffic data to learn how to perform the matching).

It sounds like your lack of imagination is putting people at risk in a disturbing way to me.</comment></comment></comment>


Feminism and Programming Languages - <AUTHOR> http://www.hastac.org/blogs/ari-schlesinger/2013/11/26/feminism-and-programming-languages <comment><USER3> Do we really need a genderised programming language? As a female programmer, I don't feel discriminated by current programming styles - I think they fit my brain as well as anyone else's. I am afraid of positive discrimination which puts any minority in a ghetto by highlighting differences who simply aren't there. Programmers come in all shapes, sizes, genders and sexual orientations: in fact, it's one of the charms of the profession. Privilege code quality over oneupmanship and more girls will come (and diversity in general will increase).

<comment><USER4> There's nothing wrong with doing a research project to figure out what a gendered/feminist programming language would be like if it were to exist.

Perhaps a little nugget of wisdom might fall out like how men and women tend to navigate differently [1].

[1] [http://searchengineland.com/human-hardware-men-women-and- how...](http://searchengineland.com/human-hardware-men-women-and-how-we-find- our-way-14359)

<comment><USER3> Hmm - what about researching how would be a programming language for black people? For lesbians? Does that makes you comfortable?

<comment><USER5> That's perfectly all right - you can have things specifically for only women, black people or lesbians. In fact you should have those and you'd better support them. Failing to support those kind of movements means your company probably isn't moral.

Of course, a programming language created specifically for white males would be both racist and sexist.

<comment><USER3> True. I'd also moot a programming language for left-handed people. What the heck, a programming language for left-handed people who had a difficult childhood. Or a goth period during their teenager years. Or who are Scottish nationalists.

Maybe it's me, maybe it's PCness gone full circle, but to encourage division doesn't seem the way forwards to me.

</comment></comment></comment></comment></comment><comment><USER6> I'm probably going to regret this, but let's accept the premise that programming languages are both gendered and a product of "the patriarchy" (Sorry, Grace.).

How far down does the patriarchy go? Are programming languages like C and Java, which were almost all created by men with awesome beards, inherently patriarchal? As the products of male minds, this is possible. What about assembler? Well, it's pretty much dictated by the design of the processor, which is based upon older processors, and even older processors, etc.. Women helped create these, but they were in the minority.

The foundations of computing are math and physics. We exploit the laws of physics to build transistors, and combine these to form flip-flops, gates, etc.. The basic logic that computers are built of is dictated by math. No matter how far I stretch, I just can't see anything gendered in transistors, logic gates, 0's and 1's. If you insist that this is not the case, then you are asking for a new branch of feminist science that has nothing in common with the science we know. Good luck!

Next, we can build computer out of our basic pieces. Modern computers are big, complex, beasts, and there is certainly room for the masculine mind to assert itself in how a processor is built. However, we can abstract things a little. Let's just stick to turing machines. Is a turing machine a product of the patriarchy? If no, we can abstract a language and build it to run on a turing machine, which can then be simulated by the processors of the patriarchy, and we're off! If yes, you need to invent a fundamentally new basis for classical computing theory. Good luck!

Okay, so if you believe me so far, it should be possible to build a male- cootie free language on top of a simulated turing machine. That's doable...

Okay. I'm done. Honestly, I think this kind of study is akin to literary criticism. i.e. It's a lot of pretentious wanking (Sorry about using the crass sexual argot of the patriarchy). However, the essence of academia is throwing a lot of random stuff at the wall to see what sticks, and if some of it's a bit fruity, hey, why not? Fruit can stick to stuff.

<comment><USER7> My reading of the situation is this:

In the beginning, feminists were concerned with how women were being directly oppressed by men. They fought against this, and laws were changed and social norms were changed, and now things are better than they were.

As feminism has advanced, it has climbed a pyramid somewhat akin to Maslow's hierarchy[1]; as concerns about the most basic rights have been addressed, attention shifts to other matters, to questions that one might describe as "academic" or intellectual in nature - it's no longer just about freedom from violence and the right to vote, own property or control one's own body, it's about ideas and beliefs and questions which are both very _fundamental_ to society but also somewhat _abstract_ \- philosophy, in other words.

At this point, it's not unreasonable for feminists to want to re-open questions that have been settled in Western thought for centuries, on the basis that the settlement was reached almost entirely by men, and many of these men would have held sexist views which could have influenced their conclusions. Some of these re-openings will prove to be pointless - it might turn out that sexism is orthogonal to the question of logic anyhow. But it's worth checking, just to be sure. And some of the re-openings may turn out to be very useful and important.

What this is _not_ is a question about Dennis Ritchie's beard. There's no such thing as a sexist transistor or a patriarchal processor. But our notions of how these things work, of how they _ought_ to work, and what questions are worth asking and which are irrelevant, those things _are_ shaped by history, and we need to step back and consider the paths _not_ chosen, because there may be possibilities deserving of consideration there. (This is basically what Bret Victor keeps telling us[2]).

This is kinda why I don't really understand the geek vs feminist antagonism that everyone seems to take for granted around these parts. The feminist perspective is an outsider perspective that seeks to understand the true workings of the world, asks questions that others find awkward, disrupts outmoded institutions where necessary, and seeks to empower those who are often misunderstood and mistreated by society. _That is also exactly the geek perspective_.

There are, of course, plenty of pretty terrible feminists who do want to make an issue out of Dennis Ritchie's beard. I think it helps to think of them as being to feminists as brogrammers are to geeks.

[1]: [http://en.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs](http://en.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs) [2]: [http://vimeo.com/71278954](http://vimeo.com/71278954)

<comment><USER8> I found the first parts of your comment interesting.

Writing for myself, I'm definitely antagonistic about feminism because I feel antagonized by it, e.g. being subjected to shaming for 'being a tool of The Patriarchy'.

</comment></comment></comment><comment><USER9> This is not a joke.

Well, actually it is, but it's not intended to be. Some background reading:

[http://www.scribd.com/doc/187505014/Representing-Reason- Femi...](http://www.scribd.com/doc/187505014/Representing-Reason-Feminist- Theory-and-Formal-Logic)

"Many of the analyses reviewed earlier expose the symbolic association be- tween rationality and masculinity. However, since human development is shaped by society and culture, those symbols have repercussions for real, concrete human beings. We are constituted as knowing agents by symbolic representations, social practices, cultural discourses, and our structural positioning. Consequently, the ideal of detachment and the separation of reason from emotion that the rationalist world view promotes have been instrumental in constructing gendered aspects of the social order, in particular the subjectivities of Western privileged white men."

<comment><USER10> In layman's words, a tenet of one part of feminism is that our language is shaped in such a way that it oppresses women and sets men as the ruling part of society. Sort of like the idea in Orwell's 1984 that we modify language to not have the ability to express dissent.

This is presumably a suggestion that the same principles be applied to programming languages. I read it as satire of the feminist idea that language is inherently oppressive. Are you sure it's not a joke?

<comment><USER9> I'm not 100% certain, to be honest. The best satire tends to be like that, I guess :)

</comment></comment></comment><comment><USER11> How does this kind of crap make it to the front page? What's next a vegan programming language? Gluten free mathematics? Dear god, for years I have been using a terminal with a black background and I AM WHITE!

<comment><USER12> Well, if you think about it, pretty much every modern programming language has been shaped by people who also happen to eat meat. Therefore there will be systemic bias in nearly every programming language toward the "meat-eating" way of thinking, which oppresses vegans and gives meat eaters an unfair advantage when programming in those languages. There is no way to fully remove this bias other than to create a new programming language for vegans, by vegans.

For example, in a programming language like C++ or Java, one is not required to think about the consequences of their design decisions. It is possible to design an API in such a way that it causes harm to another person or program, for example not using type safety, or being vulnerable to a buffer overflow attack. A vegan programming language would ostensibly prevent such harmful actions by way of its very grammatical and logical structure. It would be next to impossible to write a valid construction in a vegan programming language that causes harm, because you would be required to inform the compiler of your intent. Any such construction would simply be illogical, and cause an error to occur.

The differences between a vegan programming language and a non-vegan programming language could even be extended to include political correctness enforcement features. A compiler for a vegan programming language could be designed to include an artificially intelligent runtime library which attempts to decide if the actions of the program could put people or animals at risk to be harmed, and if so, modify the control flow of the program to prevent possible harm from occurring. This is relevant, because computers, and computer software, are being used as components in machines for the food industry (e.g. meat processing plants) as well as militaries (e.g. missile guidance systems.)

Disclaimer: I don't eat animals.

</comment></comment><comment><USER13> This nonsense is exactly why the humanities should have no place in any scientific institution. They copy the language and structures of science without any understanding, like a cargo cult mimicking an air traffic control tower out of wood (in the hope that it will bring back the cargo planes) because they have no comprehension of the science of how a real tower works and think the form is all that matters.

</comment><comment><USER14> _I think this type of logic represents the feminist idea that something can be and not be without being a contradiction, that is a system where the following statement is not explosive: (p && ¬p) == 1._

Ohh, I understand this! It's like in quantum theory or chaos theory, you know, which is why homeopathy works.

<comment><USER15> She's talking about paraconsistent logics.

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

Feel better now?

<comment><USER14> I've been feeling a bit under, but it's better now. Thanks for asking!

I recognize you can define your logical axioms as you wish, just as you can mathematical systems. But the question is always going to be: how powerful is your system and what useful things can be _derived_ from it? Judging from the Wikipedia article here, that logic excludes lots of useful things we have come to expect from (you know, useful) logics, starting first and foremost with Gödel's completeness theorem.

<comment><USER8> There's nothing particularly under-powered about para-consistent logics; they're interesting really. But the idea of para-consistent logic somehow being 'feminist' is stupid.

</comment></comment></comment></comment><comment><USER16> I don't understand the terms she used well enough to work out if this is a joke or not. You will find me in Wikipedia looking up feminist subject-object theory.

<comment><USER16> ..which doesn't appear to have much literature behind it. Is this a joke about the objectivisation of women?

She appears serious enough in the comments section. It seems a shame to characterise male logic as aristotelian, and the feminist version as holistic. That seems to do a disservice to the vast number of people of both sexes who have pondered the problem.

One way or another, I suspect that this will make terrific flame-bait.

<comment><USER4> If I'm correct it refers to the preference for men's cognitive style (I perform an action on object X) whereas women's cognitive style tends to focus more on group dynamics (I relate to X and Y through Z.)

<comment><USER17> That sounds really interesting, actually. But, please correct me if I'm wrong, isn't one of the big arguments of feminism that women and men are "the same", i.e. women and men think in the same way and our current differences are only conditioned by society?

Wouldn't this feminist programming language imply that this is not actually the case? That men and women truly are different and think in different ways and that this is not (solely) a matter of condition but natural differences in our brains?

<comment><USER4> Feminism is a big field with a lot of different theories; many of which plainly contradict eachother.

I'm not really an expert on this but it sounds like you're describing a strict interpretation of first-wave feminism.

Second wave feminism started from the observation that many of the first wave's successes were very masculine women and argues that while women were now allowed into men's circles it was still on the precondition that they acted like men and essentially left their femininity behind.

The classic example of a first wave feminist is Margaret Thatcher who is undeniably a powerful woman but can hardly be called feminine. A good example of a second wave feminist is Sheryl Sandberg who became a powerful figure while retaining, and to some degree even capitalizing on, her femininity.

P.S. It's also important to remember that when it comes to studies like these it's important to keep the difference between gender and sex in mind.

<comment><USER8> I'm so confused! Doesn't The Patriarchy ruthlessly enforce 'feminity' itself, as 'society' understands it? Wouldn't that necessarily mean that Margaret Thatcher might actually be the _most_ feminine precisely because she adopts exactly what 'society' says is _not_ feminine? Is it Sherly Sandberg's hairstyle(s) that make her more feminine than Thatcher? Or did she "capitalize" on engaging in Patriarchy-approved feminine behaviors?

<comment><USER4> You're obviously trolling or conflicted about this but I'll answer nonetheless.

> I'm so confused! Doesn't The Patriarchy ruthlessly enforce 'feminity' > itself, as 'society' understands it? Wouldn't that necessarily mean that > Margaret Thatcher might actually be the most feminine precisely because she > adopts exactly what 'society' says is not feminine?

Yes. That is the viewpoint of first wave feminism as I understand it and I'm not one to argue in favor or against it. I can confirm that it's not a belief universally held by all feminists.

> Is it Sherly Sandberg's hairstyle(s) that make her more feminine than > Thatcher?

No, even though that it's probably related. What makes her more feminine is that she embraces her softer and more nurturing side.

> Or did she "capitalize" on engaging in Patriarchy-approved feminine > behaviors?

She capitalized on it to the degree that one could argue that given Mark's lack of soft skills her softer, nurturing, communicative side (which are indeed traditionally perceived as more feminine) were themselves a crucial asset in attaining her current position.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> > I am currently exploring feminist critiques of logic

Can someone explain this to me?

Taken at face value that seems like a ridiculous statement, but I'm assuming there's a lot of context I don't know about. I tried googling for it, but only found stuff like this: [http://www.indiana.edu/~koertge/rfemlog.html](http://www.indiana.edu/~koertge/rfemlog.html) which didn't clarify thigns at all.

 _Edit_

The author clarifies themselves in a comment:

> What is a feminist logic is a question I've spent the past six months > thinking about and researching. There are not a lot of women in philosophy, > and there are definitely not a lot of feminist philosophers, so I don't have > a good answer for this question. There is great scholarship talking about > weather a feminist logic can build off of formal logic or if it has to > reject the laws of identity and create something entirely new. There are > solid arguments for both camps, personally I'm swayed by the constructive > theories that would build onto formal logic through a feminist lens. There > exist logics that handle contradiction as part of the system, namely > paraconsistent logic. I think this type of logic represents the feminist > idea that something can be and not be without being a contradiction, that is > a system where the following statement is not explosive: (p && ¬p) == 1.

<comment><USER19> That's my core problem with her approach: she seems to takes for granted that having limited formal reasoning skills is a defining feature of being female, and therefore must be promoted by feminism.

It is to my understanding of feminism what Stephen Colbert is to Republicanism.

<comment><USER20> > having limited formal reasoning skills is a defining feature of being female

Where does she say this, even implicitly? Questioning the axioms of logical theories is just as much practiced by men, and has a large historical precedent.

<comment><USER8> If questioning the axioms of logical theories is practiced by men, does that mean that those men are necessarily 'feminist'? Does the fact (or not) that para-consistent logics were first discovered and studied by men exclude them from being a candidate for 'feminist' logic? Would you answer differently depending on the politics of the mathematicians? Can you understand why this seems ridiculous?

</comment></comment></comment></comment><comment><USER21> [http://en.wikipedia.org/wiki/Poe%27s_Law](http://en.wikipedia.org/wiki/Poe%27s_Law)

</comment><comment><USER22> > Sapri-Whorf Hypothesis [sic] ... if the hypothesis stands

I don't think it does still stand, does it?

For an interesting, not-overly-academic look at Sapir-Whorf, I recommend [http://www.amazon.co.uk/Through-Language-Glass-Different- Lan...](http://www.amazon.co.uk/Through-Language-Glass-Different- Languages/dp/0099505576)

<comment><USER4> Language has even been found to influence color perception [1] so in one form or another it most certainly still stands,

[1] [http://boingboing.net/2011/08/12/how-language-affects- color-...](http://boingboing.net/2011/08/12/how-language-affects-color- perception.html)

<comment><USER22> The book covered that in quite some detail, but I can't remember the specifics. Certainly, there are links between colour perception and language.

As I recall (I could be wrong), the author's conclusion is that the ability of someone to think something or understand a concept isn't limited by language.

The author of this paper seems to suggest that the means by which we express computer programs have some link to human behaviour (causation in either/both directions).

Human behvaiour does, of course, have a massive influence of language. And I think a lot of the natural-language-redefinition and re-framing of concepts by interest groups to achieve their aims have certainly had an effect on society.

But I don't think Sapir Whorf is pertinent here. Unless people are learning about the world by reading computer programs.

Also, we've had half a century to express programs in all kinds of forms (LISP vs Java vs Prolog spring to mind). I'm not dismissing the potential effect that the gender imbalance has had, or the possibility of future achievements in computer science. I suppose I'll wait and see, firstly if this is a serious and credible paper, and secondly if anything comes out of it. But I don't think it will.

</comment></comment></comment><comment><USER23> Alan Sokal, is that you?

</comment><comment><USER24> Having had a cursory look at 'feminist critiques of logic' and 'paraconsistent logic' I am reminded of this post-mordern article generator, complete with citations:

[http://www.elsewhere.org/pomo/](http://www.elsewhere.org/pomo/)

<comment><USER25> Maybe you should take more than a cursory look. What exactly makes you think these two things have anything whatsoever to do with postmodernism?

[http://plato.stanford.edu/entries/feminism- epistemology/](http://plato.stanford.edu/entries/feminism-epistemology/) [http://plato.stanford.edu/entries/logic- paraconsistent/](http://plato.stanford.edu/entries/logic-paraconsistent/) [http://plato.stanford.edu/entries/mathematics- inconsistent/](http://plato.stanford.edu/entries/mathematics-inconsistent/)

Paraconsistency is real branch of mathematical logic, and contrary to popular belief feminism is not a joke either.

</comment></comment><comment><USER26> If this isn't a joke, then Grace Hopper is spinning in her grave.

</comment><comment><USER27> This is a joke, right?

<comment><USER19> I'm not sure, but it seems not to be.

That we can't tell whether it's an actual thesis subject or a joke tells something about the state of academic social science...

Now, since the underlying question seems to be "why women don't do (computer) science?", I'd like to ask the author: why did _she_ choose to comfort socio- sexual prejudices, by studying such a stereotypically feminine subject as social sciences? Why did _she_ decide not to become a developer, a lumberjack, a surgeon, a mathematician...

</comment></comment><comment><USER28> Nobody cares about the name, the inventor, the gender, where are you from, what books you have read, how many months you spent. just show me the f* codes! At the end of the day, it's all that matters.

seriously though, it's a common problem for new PhD to start from manipulating concepts. we have all being there. in reality, great concepts emerge from practical, concrete and tangible things (in the case of programming, codes).

</comment><comment><USER29> This reminds me of a lecture I attended in Berlin by "Alan N. Shapiro". Has anyone else here encountered his work?

[http://www.reddit.com/r/skeptic/comments/1n5tje/skeptical_ab...](http://www.reddit.com/r/skeptic/comments/1n5tje/skeptical_about_alan_n_shapiros_work_in_computer/)

</comment><comment><USER7> I think there's a confusion here, but it's a very interesting one. This article raises the question: 'where do our ideas about what programming languages should be like come from?'

The genesis of functional programming is obvious from its name - it is based on the mathematical concept of functions, and languages which are described as 'functional' try to remain close to the ideal of emulating mathematical functions, such that concepts which work in mathematics can be applied in computer programming. There are limits, of course - we need to interact with the world (state) and we have limits on the kinds of things that we can feasibly compute which do not exist in abstract mathematics, but the general principle holds.

Object-oriented programming does involve the assumption that we have a system which can be described as a set of objects interacting with each other, which can respond to requests from the user's program. The OP is arguing that this forces the programmer to see the _world_ as a set of objects interacting with each other, or to _objectify_ the world or things in it, in a manner that feminists have long seen as problematic (I don't personally see it as problematic per se, but this is not about me). The OP then suggests that a feminist programming language would offer a different paradigm of non-object- oriented programming.

I can think of a few critiques, of varying quality:

\- There's a difference between object-oriented programming (how to structure a computer program) and object-oriented analysis and design (how to decompose the world into objects in order to represent the world within a computer program). The two tend to go together, but do not have to, and it is perfectly possible to program in an object-oriented manner without objectifying real- world things, e.g. people. The 'Person' object is a very common example in texts teaching people about object-oriented design, but is quite uncommon in real-world programming.

\- I can, in a certain light, see how feminism and object-oriented analysis might be in tension. I am less clear on how functional programming and feminism might be in tension, but would very much like to know.

\- I am not sure that calling this language 'feminist' is necessarily a good idea, since one could of course find it to be an excellent programming language without sharing any of the tenets of feminism, and the label actually obscures a lot more than it reveals in this context. It's certainly going to lead to a lower-quality HN thread than if this were a discussion purely about novel programming paradigms.

\- Of course, one may simply disagree that there's anything particularly wrong with objectification, but at this point we're no longer talking about programming languages.

On the other side, this might turn out to be really interesting! We're nowhere near having discovered all of the possible paradigms that might underpin a programming language, and new ideas should be welcomed. The only way to know if a feminist programming language is a good idea is for someone to create one and demonstrate how it can be used. On longer time horizons, many of our current assumptions about how programming works may have to be discarded - <USER2> von Neumann architecture and the idea of deterministic, predictable results from computation may prove impossible to scale for certain requirements, so we might have to embrace programming languages that deal better with contradictions and the inability to 'cleanly' categorise things. If feminism's outsider status makes it easier for feminists to think heretical thoughts about computation then perhaps we shouldn't be surprised if feminists are a good source of ideas about these things. (Nor, of course, should we pigeonhole feminists or women in general as purely contradictory thinkers, valuable only insofar as they challenge established paradigms!)

EDIT: formatting

<comment><USER19> I see a fundamental issue with her presentation: she shouldn't have called the non-normative approach to modelling "feminist". Although it might help her grabbing a gender-studies grant, it's a loaded word, and it's extremely hard to do proper science with loaded words.

If she's going to study modelling paradigms based on some variants of fuzzy logic, great; but she gives me the impression that she plans to do little real science, possibly because of limited mathematical abilities, and cover it with some sociological and militant mumbo-jumbo that Sokal wouldn't have disowned. "Non-normative" would then be an euphemism for "accessible to cognitively challenged people", which, ironically, would make this work violently misogynistic.

<comment><USER30> > I see a fundamental issue with her presentation: she shouldn't have called > the non-normative approach to modelling "feminist". Although it might help > her grabbing a gender-studies grant, it's a loaded word, and it's extremely > hard to do proper science with loaded words.

She's probably calling it "feminist" because the entire approach emerges from a strain of thought in feminist theory. That it is pretty far distant from what the average person thinks of "feminism" (and just as distant, though in a different way, to parodies of academic feminism), but that (both, really) is true of most things in of actual academic feminist studies.

> If she's going to study modelling paradigms based on some variants of fuzzy > logic, great; but she gives me the impression that she plans to do little > real science, possibly because of limited mathematical abilities, and cover > it with some sociological and militant mumbo-jumbo that Sokal wouldn't have > disowned.

I don't see support for _either_ side of the dichotomy you propose here -- she discusses a number of concrete issues of interest (none of which are "variants of fuzzy logic", and all of which are serious theoretical areas.)

Where, particularly, do you get the impression you report?

</comment></comment></comment><comment><USER31> Is this SEO copywriting? "feminist programming language" used 9 times in such a short article.

</comment><comment><USER32> I know some perks of that language: \- time functions would be off \- new boolean states: \- do as you wish \- maybe \- I don't know \- (true|false) because I say so \- objects ending on vowels coundn't be treated as objects

</comment><comment><USER33> What's next, feminist mathematics?

</comment><comment><USER34> [https://uncyclopedia.wikia.com/wiki/Objectivism- oriented_pro...](https://uncyclopedia.wikia.com/wiki/Objectivism- oriented_programming)

/edit:

Also, Java2K.

[http://esolangs.org/wiki/Java2K](http://esolangs.org/wiki/Java2K)

</comment><comment><USER35> Here [https://github.com/bodil/BODOL](https://github.com/bodil/BODOL) is a programming language designed by a woman. I'm not sure I could actually tell that it was designed by a woman.

</comment><comment><USER36> A feminist processor would be nice.</comment>


Career Advice (2013) - jor-el http://www.thoughtcrime.org/blog/career-advice/ <comment><AUTHOR> This might look like a very traditional advice, but I think spending some time in the military is a pretty good thing to do. In particular, because it's really hard, and to someone who's more intellectually oriented, it's really alien and uncomfortable. You learn a lot about yourself when pushed to your limits, and then going back to normal life, everything looks very easy and achievable.

The author suggests doing something that makes you uncomfortable and makes you learn about yourself. He proposes a bunch of interesting things that have something lacking in common. They're all intrinsically good or semi- anarchistic things. I prefer my "go in the military" advice because it's completely opposite to one's anarchist penchant. And I think that's something important: to have a well formed perception, you need to experience things you don't necessarily agree with.

Note: here I assume that the reader is more prone to a free, somehow anarchist, anti-authoritarian point of view, and I suggest spending a decent effort in something contrarian to that.

<comment><USER2> My main hesitation is wasting my precious years of my youth on something that won't advance my skills.

E.g. as somebody who picked up programming at 25, I already fear that my brain is now struggling to pick up concepts that my younger brain would have.

<comment><USER3> Don't be afraid of that. The programmer's profession is one of _constant_ study and learning. It would be impossible if people actually had trouble learning things by 25, and the field won't move at the pace it does. if people, or at least _some_ people, lost the ability to constantly learn by 45 or 55 or whatever age looks ridiculously old to you.

<comment><USER2> There's no denying the fact that many engineers quit programming by the age of 35.

<comment><USER4> Mostly because they found rewarding opportunity as leaders of teams.

<comment><USER3> Which, again, takes quite some learning to do well.

</comment></comment></comment></comment></comment></comment><comment><USER5> By no means as radical or daring advice, but I've been very happy with my own career as a SW developer (working professionally for close to 25 years now, still loving it). I wrote about why I still think it's a good choice in "5 Reasons Why Software Developer is a Great Career Choice": [http://henrikwarne.com/2014/12/08/5-reasons-why-software- dev...](http://henrikwarne.com/2014/12/08/5-reasons-why-software-developer-is- a-great-career-choice/)

<comment><USER6> Hmm, from Stockholm, eh? Been programming for 25 years?

        <insert Stockholm syndrome joke here>

But seriously, just because you're happy with your own career doesn't mean that it's a good choice for most people.

</comment></comment><comment><USER7> > In 1971, Dr. Philip Zimbardo conducted a psychological experiment that is > now popularly known as the "Stanford Prison Experiment."

Why does a non-reproducible study without a control group in which the experimenter was an active participant get cited so much? It wasn't an experiment; It was a historical incident.

<comment><USER8> The same applies to Mazlow's hierarchy of needs and the addiction study involving mice that is referred to every time an article on addiction appears on HN (which seems to be a weekly thing almost).

I see these things as little more than memes at this point. I suppose the purpose they serve is to question commonly-held beliefs, which is not all bad. I just wish we'd question these things based on valid information.

(to be clear, it's not so much that the two examples I'm using are considered 100% bunk. It's rather that they're generally accepted to not be too well- supported, and definitely not well enough to cite them so much)

<comment><USER7> I thought Mazlow's hierarchy was a theory, one that should hopefully be tested by experiment somehow.

Why is the addiction study not reproducible? I agree that you should perhaps take an additional step of having 4 groups: heroin+rat park, placebo heroin+rat park, heroin+rat jail, placebo heroin+rat jail. And blind the researcher making the observations as to the nature of the substance.

</comment></comment></comment><comment><USER9> This is very good advice. However, its often not that easy to really stake it out on your own in other countries with no skills, especially in a labor rich country like China or India. In that context, developing skills that allow you to earn something is the no.1 priority.

It was only after I started a career in Software Engineering that I had the means to explore other directions as well.

</comment><comment><USER10> Love this. One caveat that I wonder about: asking about the meaning of one's life outsides the strictures of culture yields nothing - structures in that case are more helpful (providing guidance) than harmful (foreclosing other options).

Does the same apply for career?</comment>


Just Released Our MVP for Componently – A Marketplace for Web App Features - <AUTHOR> https://www.componently.com/ <comment><AUTHOR> Componently is a marketplace for Web App Features (such as Authentication, Messaging, Activity streams). We enable developers to focus on what makes their product unique, instead of recreating redundant features.

</comment><comment><USER2> Happy to answer any questions you might have! :)

</comment><comment><USER3> You committed your Firebase API key to git

[https://github.com/componently-com/firebase-html-auth- starte...](https://github.com/componently-com/firebase-html-auth- starter/blob/master/src/config.js#L2)</comment>


U.S. government staff told to treat Huawei as blacklisted - <AUTHOR> https://www.reuters.com/article/us-china-usa-huawei/u-s-government-staff-told-to-treat-huawei-as-blacklisted-idUSKCN1TY07N <comment><USER2> I don't see an issue if the US Government themselves wants to not use certain companies (foreign or otherwise).

The issue is when the US Government tries to tell private US Companies who and how they should do business with certain foreign companies, and forgets to provide any actual evidence for their assertions.

This all could be avoided by simply publishing what Huawei is meant to have done. Otherwise it just strikes of a trade-war/protectionism but using "cyber security" as a justification.

<comment><USER3> The Constitution is very clear that treaties are the law of the land, and every state must abide by them (including the private companies and citizens in that states). A trade ban / embargo is a form of treaty.

Article VI Debts, Supremacy, Oaths, Religious Tests

Signed in convention September 17, 1787. Ratified June 21, 1788

...

This Constitution, and the Laws of the United States which shall be made in Pursuance thereof; and all Treaties made, or which shall be made, under the Authority of the United States, shall be the supreme Law of the Land; and the Judges in every State shall be bound thereby, any Thing in the Constitution or Laws of any State to the Contrary notwithstanding.

<comment><USER4> > A trade ban / embargo is a form of treaty.

This is not at all a treaty. Actual treaties require a 2/3rds approval of the Senate, which has not happened.

It is, at best, on the level of 'executive order', which can (and, IMHO, should) be challenged in court per 'checks and balances'.

</comment></comment></comment><comment><AUTHOR> This whole on-again off-again relationship is incredibly unusual. Strange times we live in.

<comment><USER5> The government is still bound by law, and unless he formally removes them from the restricted entity list there isn't much choice on how to proceed. It is not legal to special case Huawei, they must act fairly within the entire class of restricted entities.

Trump frequently gets tripped up on this - he wants to make decisions with immediate effect. He would be more effective if he played off it, "I'd love to fix that but we have to follow process first...".

<comment><AUTHOR> Fair points.

</comment></comment></comment><comment><USER6> Huawei has been seen as a shady actor for over a decade now. It was during Obama's term that the House Intelligence Committee deemed Huawei a national security threat.

</comment><comment><USER7> Trump said last Friday that the issue of Huawei will be saved for the very end of US-China trade talks.

</comment><comment><USER8> Once you have shown your hand, now the other side has a number of new contingencies to address over the coming years. Even if you strike a deal with them, you are putting off the inevitable. It's like Trump started a half-ass war that he was not really interested in even seeing through his term, more than long term. Don't think we have seen frenemies since before WWI.

</comment><comment><USER9> I am surprised how any Chinese companies came this far into the west, theyre all just communist arms disguised as big corps. Kudos to the chinese, its difficult to pull this off</comment>


Ask HN: What's the deal with "don't see your perfect role? apply anyway" jobs? - <AUTHOR> I'm job-hunting now, and so many startups have a "don't see your perfect job? apply anyway!" link on their jobs page. I always think it's a sham; the response rates for POSTED roles are abysmal as is. Has anyone had any luck applying for these "create your own role" postings? <comment><USER2> Early Stage staff famously wear many hats and these companies are often hard- pressed to find & attract talent.

You see something in them. They see potential in you. Both parties are willing to take a flyer on each other. Stranger things have happened.</comment>


About Generativity - <AUTHOR> http://standblog.org/blog/post/2009/05/20/About-Generativity <comment><USER2> Generativity has been in my bag of tricks for at least two decades. Tristan is talking about the general case, but I have been using programs to generate programs and data for a long time. Examples: a DSL to automate call processing in a PBX and an application generator to customize smog checking to state specific requirements. The application generator reduced the code size by 80%.

JSP is a generator, as are most templating systems.

For those who have an itch, I recommend Generative Programming (2000) by Czarnecki and Eisenecker. Or Google Don Batory for articles from the same time period.</comment>


Jadav Payeng - The man who planted a forest, all by himself - I See India - <AUTHOR> http://iseeindia.com/2013/03/07/the-man-who-planted-a-forest-all-by-himself/?fb_ref=widget <comment><USER2> Wow, and I get a letter from the city telling my to remove the three trees I planted behind my property.

<comment><AUTHOR> amazing reaction for sensible thing to do</comment></comment>


Why I built *yet another* image sharing site? - <AUTHOR>

I've built http://www.pixbin.us because I could not find any image sharing site out there that wasn't getting on my nerves in one way or the other.
I just wanted a way to quickly share an image on IRC (or some IM, or even twitter) without the need to register or login.
I wanted a site that wasn't cluttered with "recent photos" or <insert social network here> comments and likes and what not. When I shared (or received) an image I wanted to do just that, show an image to someone, on a clean uncluttered page via a shortened URL.
I didn't want to make any kind of albums or do any kind of image organizing. I wanted to post it, and then forget about it and let the image expire automatically after 24 hours.
Basically I wanted a Pastebin but for images. Hence, Pixbin. :) Hope you enjoy it. <comment><USER2> Sorry just a minor minor typo on <http://www.pixbin.us/api/docs/>

'Base64 encode an image an post it on the above URL' needs an 'and' 'Base64 encode an image and post it on the above URL'

Silly I know, but if it was me I would want someone to point that out.

<comment><AUTHOR> No matter how hard I look at least one typo always slips through :). Thanks for the info, fixed it.

</comment></comment><comment><USER3> Looks nice :-)

The filename "Broken Forest Redux – 09.jpg" failed the upload. Once I've renamed the file to (ironically enough) "fail.jpg", it worked: <http://www.pixbin.us/hw2yfv>

<comment><AUTHOR> Hi... I just wanted to let you know that I tracked down the bug that was causing the error and hopefully fixed it. :) Enjoy.</comment></comment>


Never Say "Oops" (in your website/app) - <AUTHOR> https://alanhogan.com/ux/oops <comment><AUTHOR> HN: "You have to be logged in to submit." Doing it right!</comment>


The Million Dollar Programming Prize - <AUTHOR> http://www.spectrum.ieee.org/print/8788

<comment><USER2> Hmm:

        An error occurred while processing your request.
        Reference #97.4573aad1.1243623691.7b13fa9

<comment><USER3> First one to solve the error gets a million dollars?</comment></comment>


AOL: still providing insanity after all these years - <AUTHOR> http://rachelbythebay.com/w/2012/08/22/huh/ <comment><USER2> AOL does a lot of weird things. Last year, jrecursive actually observed that their servers would make an HTTP GET for any URL passed over an AIM conversation. Looks like that doesn't happen any more, though.

<comment><USER3> The moral of that story is, don't do anything in response to a GET request that you don't want randomly triggered by bots. That's what POST and PUT are for.

<comment><USER4> Of course, there's nothing stopping AOL from doing a POST or PUT request either, or a DELETE for that matter.

<comment><USER5> Using CSRF token should protect against that and is good practice.

<comment><USER2> CSRF won't protect against traffic sniffing; only third parties constructing URLs.

</comment></comment></comment></comment></comment><comment><USER6> Well the user searched news not the general web. Not sure how big of an issue this is. AOL site delivers their search results from google anyways.

<comment><USER7> Sure, they did do a news search, but it also fails at that. How do any of those results fulfill that request? My post did not contain the word "AOL" at all. My only post with that particular sequence of characters before this morning was one from April 21st which talked about the decline of empires, Netscape being eaten, and all of that as seen in Coders at Work.

People are going to do web searches for things which make no sense to technical types. We can either roll our eyes at them (or worse), or we can accept them as a quirk of the human condition and create systems which will provide an acceptable experience even though they don't "get" the web the way we do.

I'm not sure, but I think the latter one might be far more profitable.

</comment></comment><comment><USER8> AOL continuously highjacks my default browser search (firefox, I search from the field these days) to their annoying wrapper-over-google search engine. The inanity is widespread.

</comment><comment><USER9> The first non-ad result for me is mail.aol.com, as it should be.

</comment><comment><USER10> AOL is still in business?

<comment><USER11> Very much so. If you are the average HN reader, odds are likely you visit AOL sites on a daily basis. Also, the stock is up 88% over the last 12-months.

But, I feel like they've given up on being anything other than an SEO / blogging / display advertising sweat-shop. Although it seems to be working for them.

<comment><USER12> Much higher than 88%; past year AOL has seen over 150% increase in its stock price.

[https://www.google.com/finance?chdnp=1&chdd=1&chds=1...](https://www.google.com/finance?chdnp=1&chdd=1&chds=1&chdv=1&chvs=maximized&chdeh=0&chfdeh=0&chdet=1345686369846&chddm=98923&chls=IntervalBasedLine&cmpto=NASDAQ:GOOG&cmptdms=0&q=NYSE:AOL&ntsp=0)</comment></comment></comment>


TwitterFreq - Graphs Your Tweets Based On When You Sent Them - <AUTHOR> http://scottjacksonx.tumblr.com/post/159085104/introducing-twitterfreq

<comment><AUTHOR> So I hacked together a quick and dirty application this afternoon that graphs your tweets based on when you sent them. you can look at the graph and see what time of day you tweet at most frequently.

I know it's not an uber-cool application, but it's a weekend afternoon project. And best of all, unlike (seemingly) every other Twitter-related application, you don't need to give it your Twitter password!</comment>


Hacker News London - January Meet-up - <AUTHOR> http://www.meetup.com/HNLondon/events/100038742

<comment><USER3> Meet-up shows that there is now a charge of GBP6 ($10) for that meeting - <USER2> anyone explain what that will be for

<comment><USER4> To cover our costs such as venue, food, drink, video, presenter, as well as my time as organiser. As I mentioned on the event page I am setting up the event as a non-profit organisation. Any money left over from the event will ploughed back into the production of future events. It has been a tough decision to make however it will make the event sustainable for the long term. I mailed out the proposal over a week ago and received huge support in favour of the changes.

Feel free to let me know your thoughts. My email is email@example.com, in case you wish to contact me directly.

<comment><USER3> thanks for the explanation Dmitri - enjoyed the past meetings - see you at the Boys school end of the month

</comment></comment></comment><comment><USER5> Same time as UX Café, at Campus. That's a shame.

<comment><USER3> In London you almost always have a set of meetings in the same interest groups to choose from - particularly popular: last Wednesdays, Thursdays of the month.</comment></comment>


Privacy is hard - <AUTHOR> http://www.0xdeadbeef.com/weblog/?p=898 <comment><USER2> So is this a UI rant, or an article on managing privacy in the digital world?

/confused

As far as the FB warning goes, I didn't get it either, but only because I'm not a big FB user.

</comment><comment><USER3> I don't see the problem here.

<comment><USER4> I don't use facebook and I'm not sure what friend-feed is, so I'm stumped too! But would it be more user-friendly to say

|| _turn friend-feed off_ || _delete friend-feed_ ||

instead?</comment></comment>


For real?  Chainsaw Bayonets, for when you really want to go postal - <AUTHOR> https://www.panaceax.com/weaponized-chainsaw/ <comment><USER2> The US will never cease to amaze me : on one hand you have micro-aggressions and safe spaces and on the other hand this :D</comment>


Hiding behind your laptop in a coffee shop could get you new clients - <AUTHOR>

With stickers! … Stop giving me that look, I'm not kidding.
In today's co-working environment everyone could benefit from some real life inbound marketing. Everyone's sitting a couple of feet away from each other and nobody has any idea of what the other person's working on or struggling with.
You can't tell me you've never wondered if your skills could actually be of use to these exact same people?
How about you start broadcasting to everyone around you what you're working on or where your talents lie.
Well, we've designed some sweet looking laptop decals that will be doing just that!
You can check them out here on http://www.coffeeshopfreelancers.com.
If you like you can fill in your email so you get notified as soon as we launch (and buy our stuff with a hefty discount!).
I'd also love to hear some feedback on the concept, the designs or anything else you'd like to share! <comment><USER2> I think that if you submit the site with the original title "Laptop skins and stickers for freelancers | Coffee Shop Decals" it will get a few upvotes. The title of this submission is too confusing / misleading / linkbaiting.

Also, submit the site directly, the information is in the site (with photos and graphics!) and the posts without URLs get penalized.</comment>


Here's HN for our Blackberry Users - <AUTHOR> http://blackberryhackernews.com

<comment><USER2> I've never understood the need to have mobile apps that give you a list of links that then open in the browser. Why not just use the browser directly?

I personally use <http://ihackernews.com/> because its interface is more mobile-friendly that vanilla HN, and it also provides a link to <http://viewtext.org/> which makes reading on my Blackberry much nicer and more uniform.</comment>


Ask HN: How do you track your personal expenses? - <AUTHOR> My girlfriend tracks our expenses for each month on a piece of paper as follows:

  amount, location, category, date, payment method
  $50, Whole Foods, food, May 19th, MasterCard
  $19, taxi, transportation, May 23rd, Visa
 At the end of the month, she adds up the amounts for different categories and payment methods.  It's a bit of a chore to do it manually.  I know how to process this with a text file, but I'm wondering if there are any good iPhone apps that will do this.  Failing that, a simple browser or cross-platform desktop app.  There must be something but I have no idea where to begin.  I don't really want anything more complicated than what I've described.  Quicken or whatever the heck is too complicated, I would rather try and hack something into Excel. <comment><USER2> I'm using YNAB for about 2 years now and even if has it's own downsides (e.g. not available on Windows Phone), it's fairly good (if you add a lot of items while you're mobile, you'll have smart..ish matches for payee and categories).

You can use my referal (and get $6 discount): [http://ynab.refr.cc/ZCDFD5D](http://ynab.refr.cc/ZCDFD5D) or clean url: [https://www.youneedabudget.com/](https://www.youneedabudget.com/)

<comment><AUTHOR> I'll try the demo out first, cheers.

</comment></comment><comment><USER3> I've just made a simple django app to keep track of my expenses.

It's pretty simple, but still very useful. Supports tagging for easy filtering and will automatically convert any items in a foreign currency into my currency (SEK), useful when you are traveling and want to compare prices in different countries for similar.</comment>


Amazon wants you to start a business to deliver its packages - <AUTHOR> http://money.cnn.com/2018/06/28/technology/amazon-delivery-partners/index.html <comment><AUTHOR> The article mentioned that an owner can make $300k if they have 40 vans and 100 employees. $300k to manage 100 employees and 40 vans does not seem like a lot. Grant it, some people make more money managing smaller teams in a big company, but managing that many employees and equipment for your own company versus for your employer is a lot different. You have to take on more risk as an owner than as a manager for a bigger company.

</comment><comment><USER2> Having only one client at that scale would be very scary. At what point do they say well 300k is too much. Let's make it 250K this year.</comment>


Ask HN: HN web stack? - <AUTHOR>

I'm curious about the HN web stack. I know they use arc as the icing but I have no idea what is underneath.<p>server: Apache(mod_scheme) or plt(racket) web server are my two guesses db: MySQL, PostgreSQL - I read somewhere that they use MySQL <comment><USER2> It's running the Arc web server, which has its own implementation of the HTTP protocol. I don't think there's anything behind or in front of it. Probably not even Memcached. Think of the app serving HN as a framework. Here's how a "URL" entry would be implemented in Arc:

 _(defop hi req (prn "Hi there"))_

<http://news.ycombinator.com/whoami> will return your login and IP. It's probably implemented in this fashion:

 _(defop whoami req (prn (req 'ip)) (prn (req 'id)))_

Regards

Joe

</comment><comment><USER3> No database. Just flat files cached in memory on demand, IIRC.

I think about that when people worry about scalability. HN seems to do okay.

<comment><USER4> HN has scaled, but not because pg hasn't worried about scaling (although to be fair, it doesn't seem to have worried _much_ ):

"I already have problems enough with that. Remember, the original motivation for HN was to test a new programming language, and moreover one that's focused on experimenting with language design, not performance. Every time the site gets slow, I fortify myself by recalling McIlroy and Bentley's famous quote

The key to performance is elegance, not battalions of special cases.

and look for the bottleneck I can remove with least code. So far I've been able to keep up, in the sense that performance has remained consistently mediocre despite 14x growth. I don't know what I'll do next, but I'll probably think of something."

<http://paulgraham.com/hackernews.html>

<comment><USER3> Sure. Profiling and incremental tuning has been sufficient so far. It will probably be hard to scale indefinitely, but HN _already_ handles quite a bit more traffic than many sites.

</comment></comment></comment><comment><USER5> <http://www.arclanguage.com/install>

You can read the source code yourself. I don't remember the database, but it's running on an Arc server.

<comment><USER6> Being proxied to Server:Apache/2.2.8 (Ubuntu) fyi

edit: I don't think the page itself is actually proxied it seems only the static content is.

<comment> ryan-allen If the app is behind apache and writing static files for serving things up, and only hitting arc on operations like votes and cache misses then of course it's gonna scale! Especially if the app is read heavy :)

Is the HN source code actually open source itself?

<comment><USER6> yes its in the arc source

</comment></comment></comment></comment><comment><USER7> I thought the database was flat files.

<comment><USER8> Yes, everything is a file in UNIX

</comment></comment><comment><USER9> or OP could be trying to hack hackernews

<comment><USER10> And what a crisis that would be. All of our publicly-available comments would become available publicly!

<comment><USER11> How about all of our hashed passwords- that would be a treasure trove

<comment><USER12> <http://openid.net/></comment></comment></comment></comment>


Show HN: Topico – Temporary Test Environments for Each Pull Request or Branch - <AUTHOR> https://trytopico.com <comment><USER2> How do you deal with databases, redis stores, secure env vars etc?

<comment><AUTHOR> You can set environment variables and container ports in the settings area for each repository you connect. These then get passed in at runtime via "docker run".

You could technically provision databases and Redis via the Dockerfile, however, if you use the same Dockerfile in production this could be a bit messy. For my own projects, I just point these builds to the main UAT database, which lives on a separate server.

I have toyed with the possibility of supporting a .topico.yaml file which would allow provisioning of more resources like databases, similar to what Travis CI. If it seems like something people want I'd be open to adding it.</comment></comment>


The Guardian view on Elon Musk: a billionaire in need of humility - <AUTHOR> https://www.theguardian.com/commentisfree/2018/jul/16/the-guardian-view-on-elon-musk-a-billionaire-in-need-of-humility <comment><USER2> I think he just needs people not constantly shitting on his companies. The man is building a car and space company from scratch and every tweet he posts, every interview he does, every time he opens his mouth an army of trolls and haters besiege him ignoring his victories and highlighting every setback or temporary failure.

I think he also needs a proper vacation with zero internet or telephones for a week.</comment>


A nationwide vegan diet would be a public health disaster - <AUTHOR> https://qz.com/1131428/if-the-entire-us-went-vegan-itd-be-a-public-health-disaster/ <comment><USER3> Propaganda in the form of outright lies rationalizing climate change and excessive consumption behavior.

This "reporter" is clearly biased and espouses uninformed "opinions" as a mere emotional, unscientific critic. Just look at [http://beyondmeat.com/](http://beyondmeat.com/) "A persistent CEO, a meat buyer, and a gamble—how fake meat finally made it to beef aisle"* - <USER2> Purdy

Since meat production is the largest anthropogenic methane source and consumes the vast majority of calories, it is the third leading climate change. Animal agriculture and widespread fossil fuel energy extraction are suicidal.

Updating Upton Sinclair: _"It is difficult to get a person to understand something, when their salary, lifestyle or identity politics depends on them not understanding it."_</comment>


Review of Vivek Wadhwa's Washington Post Column on Quantum Computing - <AUTHOR> https://www.scottaaronson.com/blog/?p=3645 <comment><USER2> Interestingly, Vivek Wadhwa said that his source for quantum computing being useful for travelling salesman by trying all possibilities in parallel was from the researcher Michelle Simmons in a Ted talk. I decided to watch it to see how he'd misinterpreted it and he hadn't!

From 4:30 Simmons brings out the laundry list of quantum computing misconceptions. These are that the TSP scales poorly for classical computers and implies it doesn't for QC, implies that there's an efficient quantum algorithm for list lookups because the list can be read in parallel, and says the power of QC is partially because you can store so much information in the superposition (which is, at the very least, misleading). Then she starts comparing the power of QC and classical computers, saying that a 300 bit QC would be more powerful than all the computers in the world put together. In a section that's about what quantum computers will be useful for she includes as examples economic and climate modelling, which is news to me. The slides even include the phrase - 'Quantum computer- can check many different possibilities in parallel'.

All in all, I'm not surprised that Wadhwa was confused.

[https://www.youtube.com/watch?v=cugu4iW4W54](https://www.youtube.com/watch?v=cugu4iW4W54)

<comment> shaki-dora > useful for she includes as examples economic and climate modelling, which is > news to me

These are just rather generic examples of computationally-expensive fields of study.

<comment><USER3> I don't think that there's any evidence at all that quantum computers will provide a speedup on generic problems.

</comment></comment></comment><comment> shaki-dora I think the comments show a real desire on the author's part to learn about any possible inaccuracies in his editorial, and I would have wished for a slightly more constructive response by Scott.

As it is, his main points seem to be:

\- The Y2K comparison, which, eventually, he seems to agree may indeed be accurate.

\- The "trying all possible solutions simultaneously" explanation of qc. This is a very common explanation, and from what I gather from Scott's comments is that it's inaccurate for TSP, but possibly right for problems that are better structured to use the technology(?)

\- An off-topic criticism of the author's previous article calling bitcoin a Ponzi scheme. That article may have been premature in its predictions, but seems accurate on the facts. Who would be miffed of being warned of a ponzi scheme _too early_?

\- That matrix multiplication bit, which indeed appears to be mostly gibberish. Although my take-away from the sentence would mostly be the _existence_ of "quantum-resistant" algorithms, which seems accurate (and would also hint at the non-universality of the claims of speedups.)

I guess Scott may be unwilling to "do the author's work for them", so to speak. And it's laudable that he mentions some of the good work the WP has been doing, instead of succumbing to the nihilistic cynicism so common these days.

But for as long as someone is showing a good-faith effort to improve, I think it's worth for experts in a field to engage constructively with them. Quantum Computing is niche enough that it's entirely plausible that someone with plenty of expertise on computing and the best intentions could end up writing such an article just from a few misunderstandings in their communications with the experts they found.

<comment><USER4> > The "trying all possible solutions simultaneously" explanation of qc. This > is a very common explanation, and from what I gather from Scott's comments > is that it's inaccurate for TSP, but possibly right for problems that are > better structured to use the technology(?)

From what I gather from Scott's comments (and the tagline of his entire blog), this common explanation is basically always incorrect. Quantum algorithms do not try all solutions simultaneously.

That's a description of the theoretical model of nondeterministic computing (like where "NP" comes from), not of quantum computing.

<comment><USER3> In fact both quantum computers and nondeterministic computers can perform a computation on all possible inputs simultaneously. The difference is in what happens afterwards.

A nondeterministic computer halts in the "success" state if _any_ of the individual threads halted succesfully. This turns out to be tremendously useful.

A quantum computer run on a quantum superposition of all possible inputs gives you a superposition of the outputs. If you we're to measure it directly you would just get one of the outputs chosen at random. This not useful. But sometimes (on particular problems with a suitable structure) further work can be done on the superposed state before measuring it, in such a way that the results of the measurement are useful.

<comment><USER5> > If you we're to measure it directly you would just get one of the outputs > chosen at random.

The point is that not all the outputs are equally probable and (in the interesing cases) you will get the "right" answer with high probability.

<comment><USER3> My point is that if you do it the naive way then they are all equally likely. You need to do something extra to make the ones you want more likely. And this only works in some cases. (I guess Grover's algorithm works in all cases, but it's not a exponential speedup.)

<comment><USER5> I thought that something extra was part of "running a quantum computer".

</comment></comment></comment></comment></comment></comment><comment><USER6> _> Do you, like me, consider them one of the most important venues on earth for people to be able to trust right now? How does it happen that the Washington Post publishes a quantum computing piece filled with errors that would embarrass a high-school student doing a term project (and we won't even count the reference to Stephen "Hawkings"—that's a freebie)?_

I'd recommend reading the Washington Post with a bit more skepticism. You're only noticing their mistakes on this article because it's something you're familiar with, but they make many mistakes in their other articles too. You probably just don't pick it up as you're not an expert in those other fields, and it sticks out in this one like a sore thumb because you are.

<comment><USER7> You've just described the Gell-Man Amnesia effect:

"Briefly stated, the Gell-Mann Amnesia effect works as follows. You open the newspaper to an article on some subject you know well. In Murray's case, physics. In mine, show business. You read the article and see the journalist has absolutely no understanding of either the facts or the issues. Often, the article is so wrong it actually presents the story backward-reversing cause and effect. I call these the "wet streets cause rain" stories. Paper's full of them. In any case, you read with exasperation or amusement the multiple errors in a story-and then turn the page to national or international affairs, and read with renewed interest as if the rest of the newspaper was somehow more accurate about far-off Palestine than it was about the story you just read. You turn the page, and forget what you know." \- Michael Crichton, Why Speculate (26 April 2002)

<comment><USER8> What's particularly interesting is that Scott specifically says that "the Washington Post has been a leader in investigative journalism exposing Trump's malfeasance" but anyone who has been following Seth Abramson knows that the Washington Post and the New York Times are still a huge part of the problem in keeping up with the whole Russia investigation.

<comment><USER9> Wait, Seth Abramson's problem with the Washingon Post is that they're not willing _enough_ to believe batshit Russians-under-our-beds stories?

<comment><USER10> I think the summary of Seth Abramson's contributions is:

1\. He's insane

2\. 2016-2018 has been insane

3\. They've often been materially insane in the same way. But sometimes not.

Russians are, in fact, under our collective beds, getting at our voting.

<comment><USER9> But is he keeping track of their plot to sap and impurify our precious bodily fluids?

You ever see a Putin drink a glass of water?

<comment><USER10> Steele report hinges on a few things, among them some women's precious bodily fluids...

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Oh, Wadhwa again. He promotes himself as an expert on a huge range of subjects. His real business was automatically upgrading COBOL programs for Y2K fixes; he did a startup for that.[1] Now he's a pundit. He has vague affiliations with various academic institutions, but he's not a real academic.

The traveling salesman problem isn't hard. It's one of those things that's NP- hard only for pathological cases, as is linear programming. Solutions to the TSP which produce a near-optimum result, and the optimal result most of the time, are easy. (Connect nodes arbitrarily. Then randomly cut two links to split path into three sections, try all ways to reconnect the three sections, pick the best. Repeat until no improvement for a while. Bell Labs, 1960s.)

Now, if quantum computing could help with factoring, we'd have a problem.

[1] [https://books.google.com/books?id=tTkEAAAAMBAJ&pg=PA40&lpg=P...](https://books.google.com/books?id=tTkEAAAAMBAJ&pg=PA40&lpg=PA40#v=onepage&q&f=false)

<comment><USER12> Well, funnily enough, quantum computing CAN help with factoring, and likely not with TSP. Factoring is one of those rare problems in NP that is not known to be NP-complete, but for which we also don't know a polynomial algorithm. In 1994, Peter Shor came up with a quantum algorithm that solves factoring in polynomial time [1].

On the other hand, it is generally not believed that quantum computers would be able to solve NP-complete problems such as TSP in polynomial time.

[1] [https://en.wikipedia.org/wiki/Shor%27s_algorithm](https://en.wikipedia.org/wiki/Shor%27s_algorithm)

<comment><USER13> I think that was a joke...

<comment><USER14> I think he improved on it.

</comment></comment></comment></comment><comment><USER15> Copy-pasting most of Vivek's response (from the above article's comments):

\</comment><comment></comment><comment>-

 _Scott, I just watched your fascinating and excellent TedX talk and really appreciate your perspectives. I'll start by admitting that I struggle with the concepts of quantum computing and found it very hard to simplify these. I have read your criticisms of journalists who have had the same issue and your frustrations with the deficiency.

As far as the traveling salesman problem goes, the person I learned of this from, a few years ago is Michelle Simmons, director of the Centre for Quantum Computation & Communication Technology, University of NSW. This TedX talk that she gave was brilliant and I wrote to her to thank her for opening my eyes: [https://www.youtube.com/watch?v=cugu4iW4W54](https://www.youtube.com/watch?v=cugu4iW4W54). She repeated this example in a recent piece in ZDNet: [http://www.zdnet.com/article/australias-ambitious-plan-to- wi...](http://www.zdnet.com/article/australias-ambitious-plan-to-win-the- quantum-race/) I also consulted a couple of other gurus and no one raised issue with this example.

If you give me a better way of explaining how quantum computers work I will surely use that. But I find your comparison of this to my criticism of Bitcoin's demise as a digital currency to be unprofessional and petty. Surely you don't have to resort to such nastiness._

\</comment><comment></comment><comment>-

That was a pretty great response, and he's right. Scott does come across as petty, and as someone you would never want to work with. Vivek might have been wrong, but he had done a reasonable amount of homework on this - far more than Scott had mistakenly assumed. This discussion would have been far more productive if Scott had dedicated a thousand words towards educating people about QC, rather than belittling someone personally.

<comment><USER16> _Scott does come across as petty, and as someone you would never want to work with._

Please don't let his (admittedly sometimes aggressive, unabashed) writing style detract from the man himself. From personal experience, he's unfailingly generous, kind, and amazing to work with.

</comment></comment><comment><USER17> A very interesting exchange in the comments section. I actually find Vivek Wadhwa's explanations (in the comments) reasonable and convincing. He seems like a honest guy who did the homework and asked the right people (contrary to what he's accused of) BUT he didn't give them the final version of the article to read so that they could correct errors and misunderstandings. This is actually common practice and I hate it - they interview you, you do your best explaining what you're asked, and then you see it in print completely skewed. Technically, sometimes these are your own words, but taken out of context they make little sense or can just be completely wrong. That's the case here, I think.

In light of Vivek Wadhwa's responses, Aaronson's attack seems really petty. I'd love to read a technical summary of all mistakes made by Wadhwa though.

<comment><USER18> Here is a direct quote from one of Vivek's comments:

"Please give me 1-2 sentences that your children could understand that explains the possibilities of quantum computing and I will use these in future articles. I acknowledge that I am not as smart as most of you are. I struggle with the concepts of quantum computing, these just don't make sense to me."

Is there any other field in which someone would profess complete ignorance about a topic, and go on to write about it in a national newspaper anyway?

<comment> shaki-dora I would take Vivek's line to indicate not "ignorance" but humility, or, possibly, a slightly sarcastic jab at what he may perceive as arrogance from his critics.

There's also a difference between complete ignorance, and the ability to perfectly frame a field's possible impact in language that the general public can understand.

Considering that he is unlikely to be so humbled by this experience to immediately change careers, the wish to improve journalism may be best channeled not at trying to take this guy down, but to actually acquiesce and simply provide him that summary he is asking for. I, for one, would be interested.

<comment><USER19> They have provided those summaries multiple times over. And Wikipedia has some of them too.

</comment></comment></comment></comment><comment><USER20> Well-run media outlets like the Washington Post face a _difficult_ challenge: how to explain science to the general public, when both most editors and journalists and a majority of the general public are _extremely poorly educated_ in the ways and language of science.

This broad lack of education opens the door for people like Mr. Wadhwa to write articles about subjects like quantum computing that are wrong in many important ways, rankling people who actually know a lot about the subject, like Aaronson.

Every article in a mainstream publication I've read on a technical subject about which I actually know something is wrong in important ways.

I doubt there's a short-term solution for this problem.

<comment><USER21> I've been impressed (read: found few/no obvious factual errors, which puts it in a minority of one among non-industry-specific news services I read) by Bloomberg's technology reporting lately.

</comment></comment><comment><USER22> To quote the ornery David Bentley Hart, "Journalism is the art of translating abysmal ignorance into execrable prose." I find it odd that Scott holds the Pravda on the Potomac in such high esteem [0], though I have no personal animus toward Vivek, only the usual confusion about why journalists insist on expounding on topics they have no basic comprehension of. The mass media must always be read in the same spirit one might read a less vulgar version of the National Inquirer. In this regard, Vivek's article does not depart in terms of quality from the standard fare of popular science books and magazines.

[0] Crichton's "Gell-Mann Amnesia" quote is fantastically apropos in this regard, and certain kinds of specialists ought to recall it so that it might temper snobbery and inspire a more charitable response. I can't tell you how often specialists, often competent in their own narrow areas of expertise, produce some of the most absurd and ignorant nonsense ever put to paper when they falsely presume to have anything of value to say about topics outside of their fields.

</comment><comment><USER23> Now I was wondering about TSP why it was mentioned at all and if there were any new results since I dabbled in quantum computing. It seems with some constraints on vertex degrees, which seems to be practical, it's possible to do have some speedup (not polynomial of course). For example [https://arxiv.org/abs/1612.06203](https://arxiv.org/abs/1612.06203) claims O(1.3^N) for 4 nodes vs O(1.6^N) for classical. For example with N=500 that's 1e57 vs 1e102. But yeah still wouldn't have picked it as _the_ example to use.

Not on topic but since Scott had to mention it...

> Would you agree that the Washington Post has been a leader in investigative > journalism exposing Trump's malfeasance? Do you, like me, consider them one > of the most important venues on earth for people to be able to trust right > now?

No, no, I don't. They are better then MSNBC and CNN in that they do some actual legwork as opposed to talking about ice-cream scoops and extra long hand shakes, but certainly have gotten the "Russian hackers" fever and can't let go of it: [https://theintercept.com/2017/01/04/washpost-is-richly- rewar...](https://theintercept.com/2017/01/04/washpost-is-richly-rewarded-for- false-news-about-russia-threat-while-public-is-deceived/)</comment>


Ask HN: How can you monetize a VBA excel ribbon? - <AUTHOR>

I have a friend and co-worker who is incredibly talented at VBA. He has developed a handful of very robust excel ribbons that automate accounting type work. Those in the Big 4 would love to have it or something similar. We were mulling over how he could monetize it but, I'm unfamiliar with how you could "ship" a tool such as this.<p>How can you turn robust excel VBA macros into a product? <comment><USER2> Firstly, you'll want to look into Visual Studio so that you can build a plugin. Secondarily, you'll also want to do some market research. The Big 4 all have internal tools that they use, anyway, so I'm not sure that's your target market. Your market will probably be SMB's that are doing everything in Excel. Some enterprises do a lot of accounting in Excel, too, but almost universally, the heavy lifting is done in a robust ERP like SAP or whatnot.

Once you build out the Excel plugin, you can simply sell the software via the web. Set it at a price point that's going to be less than what an average accountant needs to get approval for (typically $500 is the max, but it varies by company). This way they can just buy it and expense it, and not have to worry about it. The last thing in the world you want to get into is trying to (a) sell into the Big 4 or (b) sell into enterprise accounts. Both are going to be more trouble than it's worth.

Also, make sure your co-worker won't get into legal trouble by selling this. That IP may be owned by your company, especially since he probably uses it for his job.

<comment><USER3> Seconded. I used to be a sysadmin in one of the Big-4. They had custom MS Office Plugins for accounting, wordprocessing and presentations (usually branding-related)

It might be difficult to sell to them though, as those machines are locked down tight and the accountants can install _nothing_ without IT intervention. IT is usually controlled by a central group that runs IT for everyone (as in, all the member countries), so it's gonna be difficult to get an exception for your product, as they have internal tools developed that fit in with their other custom Audit Workflow Applications.

So avoid Big 4, but try selling to 'average accountants' as endersshadow says, who might work in a less locked-down environment.

</comment></comment><comment><USER4> You should convert the VBA macros into an Excel plugin, the API is almost exactly the same and so it shouldn't be too hard. We recently converted an Outlook macro here at work into a plugin so that it was much easier to distribute through the office, it also avoids all the security warnings you get with macros.</comment>