He Was Part of a Twitter Mob That Attacked YA Novelists. Then It Turned on Him - <AUTHOR> https://reason.com/archives/2019/02/28/he-was-part-of-a-twitter-mob-that-attack/ <comment><USER2> internet "reach" is very strange nowadays. for outsiders it seems like one "woke" review on goodreads sparked the outrage. insiders know there are coordinated groups on fb/twitter/discord keeping track of all of this and organizing multiple campaigns to increase impact. whoever wrote this article was probably also targeted as well - it is modus operandi that journalist groups are informed of events once the operation is underway.

it is interesting to see this revealed once the op has completed successfully(usually someone's career is negatively impacted), usually multiple news sources write essentially the same story with the same sources. however if you subscribe to only one of them it reads as an interesting piece instead of propaganda i suppose

</comment><comment><USER3> Live by the sword, die by the sword.

<comment><USER4> And mob justice doesn't do anyone any good.

<comment><USER3> It's unfortunate he had to learn that lesson the hard way. Sometimes I wonder if more could be done to educate young people about the hazards of online mob justice, but the cynical part of me suspects that anybody trying to organize education against it would probably be targeted by it.

<comment><USER5> Not unfortunate. The only fitting end for people like this is to be taken down by the very mobs they created.

There have always been clear warnings about why mob justice is bad, but some people just cannot resist its allure: The fame, the righteousness, the feeling of being on some moral high ground where no one can touch you.

It's all so glamorous... until it all turns against you. Once the tide turns there's nothing you can do about it. Nothing is more powerful than an idea whose time has come.

<comment><USER6> Too be honest I read the article was like fine, maybe writers should try harder not too perpetuate racist stereotypes. I don't think the "mob" here did anything wrong. The title just seems misleading.

</comment></comment></comment></comment></comment><comment><USER7> Rotten Tomatoes recently disabled user reviews for movies before they're released. Maybe it's time for Goodreads to do the same.

<comment><USER8> I support that. As an avid Goodreads user, it's annoying to see gif-laden posts about how much a user is excited about a book that is coming out in 2021. It's confusing and adds nothing to the discussion.

<comment><USER3> I mean, that's pretty weird, but so is reading reviews for a book that comes out in 2021, no?

</comment></comment></comment><comment><USER9> hmmm, in the book i want to write one of the main protagonist as an asexual black 16 yr old kid who lives in a racially segregated logging town in north Georgia during the 50s.

And yeah, so in the story he gets lynched because he is spotted trying to sneak away from a gorgeous white girls house after dark by a group of racist men in their early 20s who are infatuated by the girl who has no interest.

Any ways, the way they lynch him is very grotesque and done in a very crazy symbolic way that you kinda have to know whats going on in the story up to that point to get.

I kinda wonder what kinda hell id get myself if i actually tried to write this book in an age where people dont believe a white author can lynch a black person in his book and not be racist in either way the pendulum swings in this case. (e. g. you'd be justifiably considered racist if you wrote a lynching into your book if its a form of realizing a fantasy youd like to commit IRL but cant because society doesnt let you get away with it, but oh boy what if we lived in the 50s... thats the obvious way this could be considered racist but the lesser obvious way this racism can swing in the other direction is when you exploitatively use the lynching to make the story appear more interesting and sensationally important than it actually is. In other words to use lynchings inspired by early 20th century jim crow black history as a prop to suggest im trying to make a political statement or something on behalf of black people, like they need my help to ensure their story is heard)

Frankly, i think its a lot harder for people to understand you can actually be racist and yet be totally into the race in question especially when it comes to borrowing from their culture without ensuring you paid proper reparations up front.

Malcom X actually talks about this form of racism where white people at the time of the civil rights movement were trying hard to make black people felt like they were no different that white people when black people didnt want to be recognized as being the same because they wanted people to respect that they want to be seen as black people and treated like black people. They just wanted black people to get the respect they were owed for being major contributors to what made American culture great at the time. In otherwards they didnt want their children to resent not being born white in America because they have done more for far less than any other people in this country and yet people still consider them a second class race nobody would optimistically choose if you could actually select your preferred race to be born into the world as. They deserve to be proud and respected in a way we still havent figured out.

For example Elvis learned everything that made him a star by going to listen to black bands play at jive clubs. He took what was obviously cool and exotic in that black culture and then just whitewashed it for white audiences.

Rock and Roll was invented by black artists, many of whom starved to death never seeing a single dollar for the songs they wrote and are now topping the charts because an all white rockabilly band covered it live on johnny carson.

<comment><USER6> Your idea seems fine just going by the article. Just don't make it ahistorical by making some brown Muslim being responsible for the lynching. Or don't have the black person raping and killing kids, which would then cause the mob the lynch him. Do you see and understand what the difference is? Anyway you reminds me of this comic, if you don't write the book there is none to blame but yourself. [https://www.smbc-comics.com/comic/bah-2](https://www.smbc- comics.com/comic/bah-2)

<comment><USER9> I haven't wrote it yet because I doubt ill ever want to write another book after this considering i dont think ill ever be able to come up with a better story premise than this one.

The major problem in telling a story like this, is that it is hard to force the plot to reveal itself because there are so many pitfalls you can fall into that turns the whole personality of the story into feeling like its kind of a bit of a cliche or just poorly executed.

<comment><USER6> Shut up with your crap and Just write.</comment></comment></comment></comment>


Show HN: Plink, Google Chrome plugin to group PredictIt markets - <AUTHOR> https://chrome.google.com/webstore/detail/mfemlclecfnimdfnlnpncdmeogaiaadl/publish-accepted?authuser=0&hl=en <comment><AUTHOR> I mostly made this for myself, but put it up on the Chrome store if anyone else finds it useful. If you are a user on PredictIt, you can use this plugin to group related markets in a single view to compare prices between the different markets. For example, you could group all of the 2020 presidential election "battleground" state markets in a single group to see which one gives you the best price if you think there is going to be a red/blue wave.</comment>


Ask HN: Is above 1000 a month too expensive? - <AUTHOR> Software license. Unlimited seats. Per Site. I don't know anything about how to price, just considering what's the value of this. This will price out smaller buyers, but will it be too expensive for larger business consumers?
I haven't worked out the marketing yet but the product is at https://github.com/dosyago/BrowserGap
I guess I'm wondering how this compares to other relatively expensive business software license purchases, and what people's gut reaction is, to what I think is a very expensive price. A quick summary is it's a browser you can embed in your web app, one use case is to unify user flows across disparate applications. <comment><USER2> If you get more specific about a problem/pain it solves that costs lots of money and headaches then that might be too low.

The use case I'm thinking of is a user in a call center environment that needs to process a customers credit card transaction. PCI compliance level could dictate that card info not sit in rest on that call center network (I haven't worked in that space in a while). They could use your app to securely run a remote browser on a PCI compliant network and do the transaction.

Sometimes this is solved with hardware from vendors so the call center person has a separate device they need to use to process the transaction (basically a terminal on a protected network). Sometimes the call center is an outsourced function that scales up with call volume and more capacity is restricted to the number of people that have the special hardware.

If its possible to replace the hardware with software and be compliant, that removes a lot of operational cost from the business, way more than $12k/year.

<comment><AUTHOR> That's a good idea. would it be a bad idea to reach out to my email with some names of companies in this space? I just wouldn't know where to start, it send that what you know would be very helpful. email@example.com

<comment><USER2> You would have to become versed in PCI compliance and the ins/outs of different levels of that to know if your solution is 100% in line with what the latest security guidance is.

Any company that does a lot of CC processing could be a candidate, throw a dart at the Fortune 500 list and you'll likely hit one. Typically those types of companies expect enterprise solutions.

Small businesses might be a better starting point in that space but they won't have deep pockets. This thread [0] gives a perspective of PCI compliance challenge, security scans, etc.

PCI is just one aspect that I thought of where your solution might fit, there are probably other similar information security pain points you could explore.

[0] [https://security.stackexchange.com/questions/214513/being- to...](https://security.stackexchange.com/questions/214513/being-told-my- network-isnt-pci-compliant-i-dont-even-have-a-server-do-i-ha)

</comment></comment></comment><comment><USER3> Compare to your competitors. I've worked for a place that charges about as much, but people line up to buy it because their competitors charge ten times more.

If you have no competition, your competitor is whatever hack the client is doing. In many business applications, that's hiring qualified people to gather the data, enter it, process it, upload it.

In your case, it might be a feature your clients are building themselves. $1000 might be about 20 man hours. If they're spending that much per month on it, it's an easy buy.

</comment><comment><USER4> One of my client charged $100k+ for their SaaS product. It simply guided clients to setup their IT budgets. They had 10s of customers. The value this software provided was worth it to the right customer.

<comment><AUTHOR> Per year?

<comment><USER4> Yeah per year. Tbf they also provided a lot of hands on consulting and training too.

</comment></comment></comment><comment><USER5> I mean, it depends, for a company of 2-10 people, it's astronomical, if I have over 1000 people at one location who are using it, it's waaaay to cheap.

<comment><USER3> If it's a company of 6 people who have one engineer hired full time to build and maintain the feature, it's cheap.

</comment></comment><comment><USER6> If it solves a meaningful business problem for an adequately capitalized business, $1000/month is approximately free. Solving meaningful business problems for adequately capitalized businesses is a sound basis for a business. And charging $1000/month means you can have an adequately funded business with only a 100 customers or so. Which means you can provide good customer support.

</comment><comment><USER7> Above a certain price point you probably want an ad hoc sales process. $1000 flat rate sounds like an awkward price point. Expensive enough to not get any random sales, but might be too cheap to build a big B2B business around it. Especially if the market is small. You want to extract as much as possible from people who can pay.

At this price you'll be doing calls either way. Why give the price away?

<comment><AUTHOR> You mean, why advertise what the price is? Or give it away too cheaply? I don't understand the idea of not advertising the price... is it basically to charge each customer a custom price?

<comment><USER7> > is it basically to charge each customer a custom price?

Yes. You just have a "contact sales" type of stuff on the website and promotional materials instead of an actual pricing page. Very common in high ticket B2B.

I don't understand the product or use case too well to suggest how to price it. But I understand that usage would vary widely between customers. Hence price should vary greatly too.

I don't know what's your situation and how well connected you are in this industry. But generally at this price point people won't just come on your site and buy it. There will be some back and forth either way. And you probably will have to do outreach. So going to have a lot of opportunities to discuss price.

At this point it sounds to me like your greatest priority should be to actually talk to some customers.

</comment></comment></comment><comment><USER8> How much money would it cost your customers to solve the same problem without your software? If they are spending more than $1000 a month already on this problem, then they can afford the software at that price.</comment>


Google Coders Need To Go On An HTML Diet - <AUTHOR> http://www.geekypeek.com/?p=640

<comment><USER2> It's worth noting that those 400 lines are not what's sent over the wire. Generally, you'll send something like this as a little snippet of JSON then tear it apart on the client and construct whatever HTML you need to render it nicely.

I suspect the author had a look in Firebug and came to the wrong conclusion.

So no, it's not bloat. It's just presentation.

<comment><USER3> Just because it's only presentation doesn't mean it's not bloat. Assuming this is a rendered JSON object that's still a ton of extra HTML elements and CSS to render/instantiate than should be necessary to produce the same effect and while that might not be noticeable on your top-end MBP with safari for a lot of devices it does.

It's also just poor craftmanship, I think that's what really bugs me.

<comment><USER4> It would be bloat if, as the author irresponsibly implies, all it did was display the basic data of a single text message. In the case of that single instance for the author it may do that (I didn't care to look that closely), but it provides for much more to be possibly displayed, and much of that presentation can provide extra information to a viewer (or a machine for that matter). Also with modern javascript and html engine optimization, its not out of the realm of possibility that generating all of this every time is faster than only generating exactly what is required for each message.

</comment></comment></comment><comment><USER5> when you work on something significantly more complicated than a run of the mill django/rails type website, you quickly find out that a lot of the "bad practices" you taught yourself out of, can actually be actually completely necessary

inline styles and javascript are really really fast, innerhtml can be a lot faster than dom methods, doing everything with fancy css selectors is a good way to completely kill a page and destroying your markup by adding html over the place and id='' attribute on everything, can actually be the right thing to do.

<comment><USER6> I noticed that when I first started thinking about the Css v tables debate. Google uses a fair number of tables for layout in its designs. Noodle around on Google's site with the web developer toolbar and Outline->Tables->Table Cells. If you're a CSS purist, you'll be horrified. Google's front page makes prominent use of a table for layout. The autosuggest drop down is also a table. Gmail: tables all the time.

</comment></comment><comment><USER7>
      #include <stdio.h>

      int main()
      {
        printf("Hello World!");
        return 0;
      }

Becomes:

        .cstring
      LC0:
        .ascii "Hello World!\0"
        .text
      .globl _main
      _main:
        pushl   %ebp
        movl    %esp, %ebp
        pushl   %ebx
        subl    $20, %esp
        call    L3
      "L00000000001$pb":
      L3:
        popl    %ebx
        leal    LC0-"L00000000001$pb"(%ebx), %eax
        movl    %eax, (%esp)
        call    L_printf$stub
        movl    $0, %eax
        addl    $20, %esp
        popl    %ebx
        leave
        ret
        .section __IMPORT,__jump_table,symbol_stubs,
          self_modifying_code+pure_instructions,5
      L_printf$stub:
        .indirect_symbol _printf
        hlt ; hlt ; hlt ; hlt ; hlt
        .subsections_via_symbols

Look at all that bloat! I just want to write out "Hello World" to the screen. Why do I need to create a function stack of 20 whole bytes? What a waste! And when I do that, I have to go through the onerous effort of saving my stack pointer to a whole 'nother register. What a waste of my system resources.

It's bad enough I have to call printf in the first place when I really could just use the write system call, but look how it doesn't even call printf right away! First I have to call some locally defined function which has to allocate even _more_ space for _another_ stack. More waste and bloat. And look at how all of this is organized, these sections are completely unnecessary. I just want to write out something to the screen! I don't need this level of organization and abstraction to do this simple task.

</comment><comment><USER8> Who cares, if it works? I don't personally consider HTML and CSS either elegant or efficient, so if they've abstracted over it in order to do things, and it works, what's the big deal? HTML by hand seems mostly like a waste of time, to me. Most of the impressive web apps don't do much markup and styling by hand. Cappuccino/Objective-J is an extreme (and good) example of this.

<comment><USER9> Well personally I care about good craft and elegance. These are subjective to be sure.

But I'm immediately suspicious of the statement "who cares if it works?". As if any old rubbish will do. I have a pact with myself; I'll stop working with the web if I ever gain that attitude. Nothing more depressing than a tradesman that doesn't respect his tools.

<comment><USER10> The question should be: "Will it make a difference that degrades user experience".

If no user ever notices, who cares?

Most programmers don't use assembly language. Their code is full of redundancy and inefficient bloat. But it's a trade off, and most people don't really mind too much.

To many, HTML/CSS is machine code. Some love hand crafting it, some leave it to automated 'compilers' to create it, and just like all compilers, that means you often end up with inefficient mess.

<comment><USER11> Compiled code is only as good as the compiler. This is why I favor the side of hand-crafted CSS.

The biggest problem with the code example listed FtA on Geeky Peek is that it showcases HTML tables, which are what tend make HTML most inefficient. CSS and JavaScript can both solve the "table" problem that HTML has been plagued with.

HTML5 and CSS3 both are moving away from this deprecated "table-oriented" formatting, fwiw.

Table-less CSS (e.g. CSS3 specs) cut down on the amount of HTML generation and can basically cut out the bloat. Problem is it takes an _artist_ to write good CSS.

Since "most programmers don't use assembly language" (I don't actually know if this is true; have no reference to cite; am just quoting axod here), it would seem analogous to hundreds of tiny band-aids where one large bandage is needed.

<comment><USER10> >> " which are what tend make HTML most inefficient."

Can you cite some numbers here. Browsers are _hugely_ optimized for displaying tables. They have tables down to a fine art.

Do some benchmarks of a table layout vs CSS. In the rare instance where you can actually achieve the layout using CSS, I'd expect it to run slower.

I'm not saying tables are great, use tons of them, but they have their place, and browsers are _really_ good at coping with them.

<comment><USER11> _Can you cite some numbers here. Browsers are hugely optimized for displaying tables. They have tables down to a fine art._

I'm completely unqualified to be talking about this, so only to a certain extent do I even feel like I should answer this: I have simple and mere examples of what works on production sites I've prodded and nudged into working.

If talking numbers / citations is the solution:

<http://www.calculae.com>

No tables, pure CSS (design) working w/ PHP (calculating as per SASS/HAML). Not even any JavaScript. Site runs really fast. Even checked on YSlow, it runs quicker than most tabled sites doing the same thing.

I don't have a CS background; everything I've learned has been self-taught. I consider myself more of a CSS "artist" than a real "programmer". So YC News _hates_ me 95 percent of the time, as I've had a hard time melding with the "set-in-stone" terminology people here like to downmod for. However, I do know, intuitively, why and how certain things work why and how they work. Most of the time, I simply prefer the large bandage to the 1000+ small band-aids on browsers. Can work both ways. :)

</comment></comment></comment></comment></comment></comment><comment><USER12> I'm the author, this is definitely sent over the wire as I'm building code that is scraping it right now (which I'll opensource soon). Since I deal in the mobile world, its especially critical to keep bloat minimal so people don't pay data charges for your poor coding. I hate fatty, fat code.

</comment><comment><USER13> GWT at work?

<http://code.google.com/webtoolkit/>

<comment><USER14> None of the class names used are GWT class names, so I doubt it. It'll be the output of an internal template engine. Interestingly, AFAIK, most of Google is not written in GWT -- anyone know any production Google stuff that is? (I think Wave is.)

<comment><USER15> GMail is.

<comment><USER14> I'm pretty sure that it is not GWT since:

1\. It was released several years before GWT.

2\. It has no GWT CSS class names on anything.

3\. It does have some weird IFRAME structures that are unlike what GWT uses.

4\. It doesn't have any of the long hexadecimal identifier files that GWT uses to compile to different targets.

5\. On the wire, it doesn't look at all like GWT AJAX requests.

6\. Isaac Truett <itru...@gmail.com> says it isn't at [http://groups.google.com/group/Google-Web- Toolkit/browse_thr...](http://groups.google.com/group/Google-Web- Toolkit/browse_thread/thread/beb685af839718d2/2dd5665b53a6eb11) This was in 2007, but I don't believe they threw away a working product to do a rewrite in GWT, which was still not fully mature and is still hard to get just right. And if they did, they'd also have had to make it look like it is not written in that framework in every way I can think to check easily.

(EDIT) 7. Since nothing significant is written in GWT, they'd be trumpeting it from the rooftops if GMail was.

</comment></comment></comment></comment><comment><USER16> While I agree this example is pretty ridiculous, Google is spending a lot more time innovating in web performance than most

<comment><USER17> Yes. Moreover, web performance was one of Google's differentiating features right from the beginning. Arguably the most important, in fact.

<comment><USER18> I would have said that their key differentiating feature was that they were _much_ better at actually finding relevant stuff than the competitors.

I don't think many people stopped using AltaVista because it was too slow.

<comment><USER17> _I don't think many people stopped using AltaVista because it was too slow._

That's exactly why I stopped using AltaVista. I never noticed Google's search results being more relevant. I distinctly remember this because I was aware of the hype around relevancy at the time and was trying to notice a difference. What was magnificently different, though, was Google's subsecond page load and search response times.

One interesting thing about marketing is that the reason one gives for using a product is often rather disconnected from its real utility. (The book _Positioning_ is about this.)

</comment></comment></comment></comment><comment><USER19> Given the choice between elegant high-level code that generates verbose and ugly HTML versus complicated and ugly high-level code that generates very tight HTML, I know which I'd choose.

</comment><comment><USER20> Send the link to Steve Souders. (www.stevesouders.com)

</comment><comment><USER21> If one will inspect a blip in the google wave, one cannot think how many Wikipedia's articles could those bytes feed.

I suspect it has allot to do with the GWT.

a .NET DataGrid or whatever it is called these days would looks just the same comparing to a simple HTML table structure.

</comment><comment><USER22> I'd be curious to see how much bandwidth they save by cutting this down a hundred lines.

<comment><USER23> As jasonkester pointed out, the HTML is only sent out once and then dynamically updated with AJAX (or AJAJ, as the case may be). So in the grand scheme of things, those few hundred lines of HTML don't matter much.

</comment></comment><comment><USER24> Ahh, bloat at it's best. If we could understand machine code as easily, we'd probably see the same sort of thing at the core of a lot of software.

</comment><comment><USER25> Don't show him Google Calendar.</comment>


Show HN: Network Watchdog by Embrace - <AUTHOR> https://dev.embrace.io/product/network/ <comment><USER2> Seems like a really comprehensive way to monitor an app. What sets it apart form other services like New Relic?

<comment><AUTHOR> We take a more personalized approach to help you solve issues with your app, not to mention we are solely focused on mobile!</comment></comment>


Did the App Kill the Web? - <AUTHOR> http://ideas.blogs.nytimes.com/2010/08/18/did-the-app-kill-the-web/?src=twr <comment><USER2> So where does that leave us? Sharecropping for those new media moguls? Doesn't matter if you model is app-based or ad-based. You're still small fish.

</comment><comment><USER3> site layouts killed the web.

Everyone just design their tables/divs to look pretty on 80% of their user's browsers.

When the game change few are able to update.

Who can read /. On their mobiles? That's the main reason I spend more time here.</comment>


A French waiter is suing for the right to be rude at work - <AUTHOR> https://work.qz.com/1238553/a-french-waiter-is-suing-for-discrimination-after-being-fired-for-rudeness/ <comment><USER2> This article is incomplete. In another source (don't have the link here, sorry) he was deemed rude _with coworkers_ , but totally great with customers. And this is indeed part of French tradition for people to be very rude and agressive in the kitchen.

I have a French friend who used to run a restaurant with his wife. They would be yelling at each other all day long in the kitchen, but be totally happy and great with each other at the end of the day. That's how he learnt it at school.

Edit: found the link: [http://www.bbc.com/news/world-us- canada-43507949](http://www.bbc.com/news/world-us-canada-43507949)

<comment><USER3> Yeah, there's something to be said for the bonding value of fake/play aggression. It reinforces feelings like "We must be close because we can call each other an asshole without actually damaging the relationship" and "I can say what's on my mind immediately without having to stop and filter and worry about whether this will ruin our relationship"

I've never worked in this, but I would imagine cooks have to work very closely together, be fast and honest with no time to sugercoat things (other than pastries perhaps) so it's important to bond strongly as a team and to have a culture of saying what you think quickly so the work can get done quickly and mistakes dealt with quickly.

Chesterton's fence, man. Human psychology isn't simple.</comment></comment>


Programmers confess unethical, illegal tasks asked of them - <AUTHOR> http://uk.businessinsider.com/programmers-confess-unethical-illegal-tasks-asked-of-them-2016-11?r=US&IR=T <comment><USER3> After seeing the amount of shoddy, insecure, dangerous code that gets shipped into production at a supposedly high-quality code shop, I've become increasingly of a mind that software engineers need to professionalize. I try to project a professional ethic in the workplace of not shipping broken or harmful shit, which extends to refusing to cut corners on testing, automation, and maintainability.

I think it's important that I exercise professional integrity because I personally have the luxury of being able to afford being fired. If I lose my job because I refuse to do something, nothing bad will happen to me:

\- I am a citizen in my country of residence (can't lose green card / etc.)

\- I have a deep financial safety net

\- I live in an area with high demand for my skills (if I spent more than a month looking for a job I would be shocked).

Not everyone is in this position. I respect that, so I'd like to use my privilege to make it more of a professional norm.

I think not shipping shit extends to everything from the obviously immoral to code that will hurt the customer (or their customers) because it is insecure or unmaintainable.

<comment><USER4> Here's the question, though. By professionalization, does that mean that only members who have a CS degree can get a job? Does that mean that we have to carry insurance? What does that mean for access to compilers -- is it illegal for anyone but a certified professional to put up a website? How big does it have to be before it has to have certified developers?

<comment><USER5> Here's how I would do it:

No degree, but rather a programmer publicly signs off on his code, and gets both credit and blame for it.

Anyone who wants can register for a programmer ID (in practice a public key). There is no test, just an administration fee.

When you write code you sign off on it, perhaps with some accompanying text describing what parts you worked on.

No more anonymous code shipped by a company entity, instead do it like how movies are done: Every single person gets credit (including QA and administration), every tool used gets credit.

<comment><USER6> Sounds dangerous - mistakes happen - will I get thrown under the bus by the media if a bug in my code causes an accident that no QA process could have reasonably picked up on?

<comment><USER5> Yes, that will happen.

Consider an analogous situation: You made a mistake designing a building. Should you be able to shrug it off as "mistakes happen"?

This has actually happened in the real world with buildings, and when it does if you are responsible and work diligently to correct the problem people are understanding.

Do the same here.

<comment><USER6> I'm not saying you should shrug it off - I'm saying you should't have your life ruined over a mistake in some code you wrote.

I'm yet to see a building collapse around me in my city - I see software fail all the time though - I think we are better at building tall buildings than we are building software.

<comment><USER5> Or, it might be the exact opposite: For a building the engineer and builders are required to take personal responsibility.

Not so for software.

Perhaps if you change that software might change.

<comment><USER6> Nothing would ever get built if individual devs were held liable by the public.

The liability sits with your employer.

<comment><USER7> Sorta. The basis for your concern underlines one of the problems. When such gaffs happen in engineering, the firm is blamed. Within the firm, individual actors are blamed. In software, on the other hand, your major system might have responsibility for a critical system spread across a total of 1 persons, so he gets all the blame. Is that really okay for one hip-shooter to take this on in the first place?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I used to work for a place with serious ethics issues. We'd sell customized software packages along with a hardware solution, used by cities and counties. Once I was told that, per the contract, we were supposed to hand over the hardware and software for a system the next day. The software hadn't been customized or prepared in any way. Because of a loophole in the contract, it specified only delivery, not installation. So I was ordered to rent a van, load up the hardware, drive it and the software down to the county in question, and hand it all over. They handed me a data tape with the name of the county printed on it, we loaded the van, and sent I headed down.

You can imagine how well it went. I got there, and the two heads of the project down there were waiting, and expecting not only to take delivery, but to see it all installed and working. I had to explain that wasn't my task, and they got more and more upset with me. I had to tell them to call my boss to get answers, because I was just a drone. After yelling at my boss, I was instructed to do minimal setup to verify the hardware worked. I did so, but then they insisted that I prove that the tape had the software. When I did, it unfortunately showed the wrong county name, because whoever had made the tape just took another installation tape and put the "wrong" name on it. I had to tap dance a bit there, but I finally got to leave. So, unhappy me (which meant nothing to my boss) and unhappy customers (which I got blamed for).

Another time, they told me to put a label on a blank tape and ship it to a customer, to pretend to meet a delivery milestone. I refused. I think my boss did it himself.

<comment><USER9> At the end of the day is the managerial class. They are the ones making the stuff go down, and then the code monkey gets blamed for their lack of ethics. Really? You tell us to jump, and we ask how high, and that's generally expected. And you expect us to bear the burden of ethics too. I don't think so. You want to hold anyone responsible, hold the people who gave the orders, who signed the contracts. Not the code monkey whose entire life is predicated upon carrying out orders as they are given.

<comment><USER10> The middle managers are given directions by the CEO. The CEO needs to meet profit targets, or she'll be fired by the board. The board is beholden to the shareholders. There's always someone to pass blame to.

When you go to work, you don't give up your moral agency.

<comment><USER9> The consequences for each higher level on that ladder are significantly less. Those with the least to lose, shareholders, have most of the power. Therefore those should be held to the greatest account. Those with the most power. The reason the system is structured this way is exactly that, those with most power make the rules. And pass the responsibility down the chain to the lowest peons. The recent disasters, well 6 years old disaster, like the Deep Horizon Well fire come to mind.

<comment><USER11> > Those with the least to lose, shareholders, have most of the power.

The shareholders have the most to lose, not the least.

Ontario Teachers' Pension Plan's $100 million stake in your company (for example) is worth a lot more than all of those jobs put together. That's why they have all the power.

<comment><USER9> Not sure how I should respond to this. On one hand yes that's true. But on the other hand to what extent do the Board of Directors of any of the companies that it invests in respond to the stock holder? The stock holders in that sense are divorced from the running of the company and can't be held to account, because they can't influence the company at all. Their stock managers might be to some extent be liable. Again it's about the amount of power that you have in what the company does that determines your culpability in my opinion.

</comment></comment></comment></comment></comment></comment><comment><USER12> Many years ago I automated an accounting procedure for Banker's Trust company, a large international financial firm. I was somewhat surprised they entrusted such a complex task to a mere contract worker. Essentially it looked at exchange and interest rates in the firm's many different operating jurisdictions each month so as to figure out the _least_ efficient allocation of expenses/liabilities...so as to maximize deductible expenses for taxation purposes...or so I was told. This seemed odd to me but I was still in my early 20s and didn't know anything about finance - though I couldn't help noticing that I was being paid a few thousand pounds a month to automate a system that seemed to be saving the bank many millions. After I was done They relocated me to a tiny basement room and kept 'forgetting' to give me any new tasks until I quit out of boredom.

Some years later it emerged that Banker's Trust had been ripping off their corporate clients wholesale. I've often wondered if I unwittingly helped them construct the tools with which to do so.

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

My point here is not only that managers often request unethical behavior of their tech staff, but that the tech people often have no way of assessing the probity of what they're being asked to do. At the time I was only about 21 or 22 and all I knew was how to make big spreadsheets that ran really really fast; I had no insight into the integrity or otherwise of the accounting procedure they asked me to automate and I didn't really think about it until I had a functioning prototype a month or two in and realized that my little project was shuffling very large amounts of money around. I had been out of the job for a good while before I learned enough to wonder whether the underlying process was in fact fraudulent.

<comment><USER13> _" After I was done They relocated me to a tiny basement room and kept 'forgetting' to give me any new tasks until I quit out of boredom."_

That sounds like a reward to me. If it weren't for the ethical cost you mention in the rest of your post, I'd take that job in a heartbeat.

If someone wants to pay me for doing nothing, I can find plenty of things that interest me to do on their time.

On the other hand, I guess "doing nothing" doesn't look too great on your resume. And if you don't learn new skills or work with new tech, that would cost you in the long run. But I could at least work on some open source projects or learn a new language or something. That way I could have something to show for my time, and have fun as well.

<comment><USER12> This was way long ago, prior to the existence of web browsers. I suppose I could have just gone to work and read a book but it was literally a hard chair in a broom cupboard and a 'desk' that was barely big enough to hold a monitor and keyboard. There's a limit to how much fun you can have with only a copy of Excel 3.0, especially when I could do the same thing in greater comfort at home.

<comment><USER14> Would they actually have fired you for not showing up at all?

<comment><USER12> Don't know but if it ever happens again I'll give hat a try XD

</comment></comment></comment></comment></comment><comment><USER15> Other engineering disciplines provide infrastructure for their members to include ethical considerations in their analysis of their work, e.g. the Iron Ring [1].

There's a strong argument that our discipline can profit by their example.

[1] [https://en.m.wikipedia.org/wiki/Iron_Ring](https://en.m.wikipedia.org/wiki/Iron_Ring)

<comment><USER16> The Iron Ring is mostly symbolic and a tradition, but protection of public is the whole idea behind the Professional Engineer licenses in a lot of countries (I'm mostly familiar with Canada).

Unfortunately, laws seem awefully traditional and outdated, and at least some of the system has turned into a form of rent seeking. Even as a mechanical engineer, most of my work is not really considered as engineering work to the letter of the law, because the law was written in the 1960s with mostly civil works in mind. I get the feeling it's either going to take a long time or a huge catastrophy for legislators to catch up to licensing for professional software work.

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

<comment><USER15> Do we need legislators and regulators to tell us to do our work with due care for those whose lives we affect in so doing?

There's a role for them, to be sure. But as you say, and as we see from the history of other disciplines, that role is generally after the fact. We can, and I think must, ourselves create professional societies which can develop codes of ethical conduct and put incentives in place to uphold them. To a certain extent, that comes after the fact, too. But we're at the very least rapidly approaching a sufficiency of horrible examples from which to derive salutary lessons. I'd like to see us develop a sense of professional culture, as an industry, which gives us to think long and cautiously in those cases where we might produce yet another.

<comment><USER17>
      Do we need legislators and regulators to tell us to do
      our work with due care for those whose lives we affect
      in so doing?

Easier to tell your boss "We have to do this the expensive quality way, because that's the law" than to tell them "We have to do it the expensive quality way, because I say so" \- especially if he's used to be the one giving the orders.

</comment></comment></comment></comment><comment><USER18> When I was earning my CS degree, Ethics was a mandatory course. As it was for other engineering majors as well.

Having been in the industry a while I think the worst thing I have been asked to do was participate in a program that installed our software on the user's machine without their consent. The CEO argued they did give their consent, which was technically true... they could uncheck the "Install partner apps" checkbox before clicking next but it wasn't very obvious.

Thing is, that practice is (was? I hope) common everywhere from Yahoo, AOL, etc... so it was one of those "Everyone is doing it" things.

I pushed back pretty hard but ended up losing the battle. In hindsight I wish I had walked. Ethics aside, none of the customers who got our app this way gave us very good reviews and their lifetime value was way less than customers acquired other ways.

<comment> hash-set They ought to teach a history class as well--how IBM helped Hitler kill off Jews and Gypsies. And how the NSA and CIA illegally surveil us (and everyone in the world), and how technology doesn't give a single shit if we all live or all die. Then maybe people wouldn't go to work making Hellfire missiles or the drones that they get attached to because you are an accessory to murder when you do that.

<comment><USER18> We actually had a choice to take a class called "The History of Computing" but it was an elective and I didn't take it so I can't say if it covered these sort of historical issues.

</comment></comment></comment><comment><USER19> I believe the future of this industry lies with us building it into a capital-P profession and all that it entails.

I don't buy the O'Hanian view that we should continue innovating, "without their permission." I don't think software necessarily has to come with the risk of killing people in order for it to cause significant harm. We've seen how innocuous software can cause significant harm to civil liberties and put under-represented people at risk. We've seen how software vulnerabilities put the financial industry and peoples' future at risk. At best we inconvenience a user. At worst... well we don't have to imagine that. I think it's enough that we take some responsibility for what we create into our own hands.

We're going to be bad at regulating our industry at first. It may harm startups for a while. However I think it's important for professional software developers to be licensed, projects insured, and liability enforced. How will self-taught developers fit into the system? I don't know... I'm self taught myself. However I am looking towards going back to school and seeing what I need to do to be licensed... there is a government-backed program where I live.

I just hope that when the time comes and I stick to my guns that there will be an organization behind me with the power to litigate for my job. Too many times I've been asked to put my professional opinion aside... as it's just an opinion after all... in the name of business/progress/innovation. I'd rather be beholden to the profession than to my employer (and I think many employers are smart enough to realize the benefits of this arrangement).

<comment><USER20> What are you even talking about? Regulating the "software industry" is like regulating the "literature industry". The potential for harm is entirely based on where the product is used.

If somebody runs Microsoft Windows XP on the main brake control computer on a high speed train, that is irresponsible.

If somebody runs Microsoft Windows XP in a VM to try out Bonzi Buddy one more time, that is hilarious.

If you speak a mean letter on stage as a comedy act, that is hilarious.

If you send a mean letter to a depressed person, that is irresponsible.

If you use computers to retain PII, then it is your managerial responsibility to ensure that the PII is stored responsibly. Just as you have the responsibility not to leave printouts of that PII in public dumpsters, or post them on Bristol Board in the public square.

This is a very personal topic to me, because I am being paid handsomely to write software for the financial industry at the age of 19, because I can create massive wealth for them; and if software were a regulated profession, I may never have become a software developer at all. I may have just offed myself after failing in school.

>...while hundreds of people have been killed from faulty software during air travel. Notably, some of the points mentioned in the talk referenced in the article are already basically "solved issues". There hasn't been a software- attributed catastrophic aircraft failure in quite a while, and the most recent one we know about was the crash of a pre-production Airbus test aircraft. That aircraft's software hadn't yet passed the standard verification procedures and standards.

Every industry has its own priorities and needs, regulating the hard skill will only lower the quality of software developers.

<comment><USER21> These are excellent points and it correctly shifts the responsibility onto those in decision-making positions.

Frankly I think we are well passed the point of no return -- there most definitely is no means to regulate the industry. Hundreds of thousands of businesses across the planet need a steady stream of code pushed out and they all need to keep costs down, there is no legal entity that can reach across the planet to provide necessary legal protection to the ethically inclined.

Repeat: there is no legal entity that can reach across international jurisdictions for this.

At best we can rally around national voluntary accreditation facilities (eg: Canadian Medical Association, American Medical Association) but it would be difficult because the best of us can simply opt out with little to no personal loss.

The world really is held together by duct tape and bailing wire with occasional sections of steel and concrete. I'm sure we are all familiar with this where we try (as hard as we might) to seal the cracks every chance we get.

<comment><USER20> I think the world is better when it's held together with duct tape and bailing wire; because the alternative is politics. Politics is inherently sick, and any chance to avoid it will ultimately save lives, even for something as silly as whether or not to regulate portfolio websites.

I think the medical associations have done a bang-up job, and perhaps the software industry could learn a bit from that.

</comment></comment></comment></comment><comment><USER22> "He refused to do it but says, "there's always an engineer willing" to simply follow orders"

Chad and Brad. Do you think doctors and engineers could have such high standards for themselves if, they didn't restrict access to their profession somehow?

There is no desire to get rid of coding bootcamps on any side—negative costs are externalized to the consumer.

<comment><USER23> It's not so much about limiting access as simply if Chad and Brad are too bound by law to refuse doing unethical things, there will be no (legally employable) engineer willing to "simply follow orders".

<comment><USER22> > bound by law

yes, this amounts to more or less, the same thing-at least interpreting in terms of adding constraints.

</comment></comment></comment><comment><USER24> What makes a programmer different than any other person who needs to ask the same question to himself/herself? What about unethical weapons, medicine, sales practices?

<comment> hash-set Pretty much the whole Military Industrial Complex is unethical and I have avoided them in my career. But here's the thing I realized: There isn't a single industry out there that isn't getting some kind of government subsidy, tax break, or major handout. So we're all ethically compromised! But I still won't work for the war machine directly. I'd rather go hungry.

<comment><USER22> Stepping in to alter what the 'free market' desires is not de-facto unethical.

</comment></comment></comment><comment><USER25> To borrow a line: Software Engineering would be a very good idea.

Every time I talk to "real" engineers about what goes on in computing, they're completely dumbfounded. Nobody has ultimate responsibility for signing off on a design? Changes get made without any independent analysis, or without any analysis at all beyond "well it seems to work"? When something fails, people routinely shrug their shoulders and move on without performing any post- mortem?

</comment><comment><USER26> Why is the focus on the unethical work of programmers?

How about addressing the root cause: People are doing unethical thing as part of their job. Either because they either don't understand the issue or due to their financial situation.

Apparently we have all accepted that business people in general are going to be unethical to the point where there is no fighting it or expectation that it's fixable. How about we address the real issue: The unethical business practises of some company and the people who run them.

But no, let us once again leave it to the developers to fix the problems.

<comment><USER23> Ethics is unfortunately a privilege of workers who can afford it. Programmers are in demand, so they can stand up to their managers and refuse to do something they deem unethical. Most of the world doesn't have that choice however. The grocery shop clerk can't refuse to wash meat with detergent because they can't afford to lose the job. The customer support person on the phone can't refuse to blatantly lie to customers because they can't afford to lose the job. The more friends I have in "normal" jobs, the more I see that it's not an exception - very many, if not most, small businesses are run by liars and frauds, and are forcing their workers to do unethical things.

<comment><USER27> I'm with you on the tension between employment and professional ethics. The small business characterization... given the number of small businesses, "many" can be true but the implication that it's a large is off. You do make the qualification "if not most". Is your impression that it's close to 50%? Larger than in larger businesses?

In some ways I'd think large business might have an easier time with forcing workers to behave in some way unethically. Losing a single worker for refusing to do something unethical doesn't have as much impact on their business as a whole. I wouldn't go too far with this argument without doing some research, thought. Just a thought experiment.

I'm not denying the experience of your friends. I just am unsure of how far this goes towards advancing an argument that an interestingly large number of "small businesses are run by liars and frauds", which I'm admittedly not sure you're making. Which is why I'm asking :)

<comment><USER23> I don't know how the situation looks like in larger businesses. As for small businesses, I base my qualification of "very many if not most" based on the sample I have from personal experience - the companies I've worked with, and companies people I know worked in who trust me enough tell me the stories of what things look internally. Still, I'm just saying small business are - in my experience - bad; I'm not saying they're _worse_ than big businesses :).

Maybe saying that many small business are run "by liars and frauds" is too much; I admit I get emotional over that sometimes. After all, I don't know those managers/bosses well enough to judge the state of their consciousness. But what I observe is that, nevertheless, the workers are often directly asked to do unethical things that go against the interest of customers.

A charitable way of viewing that is that the bosses are forced to cut corners to deal with the pressure[0] or to stay competitive, or that eventually some unethical conduct becomes a standard practice in the industry (I believe that for example washing meat with detergent is such a thing).

As for the impact of losing a single worker - when we're talking about regular people doing regular jobs, losing an employee often doesn't have much of an impact on the company, but it has a lot of impact on the employee itself. For people outside of very specialized fields, finding a new job is a nontrivial task. Finding a new job that pays comparably to the one you just left making a stand is doubly nontrivial. Quadruply, if you live in a smaller town. I know first-hand of a particularly successful online book seller who uses this fact to overwork and underpay his staff while forcing them to lie to customers - <USER2> knows that none of his employees can afford losing this job.

I guess what I'm trying to say is that most of the working class is pretty screwed when it comes to disobeying unethical commands - people in IT often forget that our industry is in a (temporary) golden age, and we can _afford_ to make a stand.

\--

[0] - I run a non-profit and I know how much pressure can fall on you when things get messy while various deadlines for deals or paperwork approach. I can only imagine a competitive business is even more difficult to manage.

<comment><USER27> Thanks for the thoughtful response.

 _" As for the impact of losing a single worker - when we're talking about regular people doing regular jobs, losing an employee often doesn't have much of an impact on the company, but it has a lot of impact on the employee itself."_

Completely agree. I meant from the perspective of the company. For the employee depending on an income is a different matter all together.

<comment><USER23> Depends on the company. If we're talking places like grocery stores or restaurant waiters, the new employee can be brought up to full potential within a week of on-the-job training. After that, they don't meaningfully improve, so it's no surprise places like these have high turnover - they can very much afford it. On the other hand, if you have people who gain experience with your very specific in-house tools and procedures, losing an employee can indeed be a high cost for a small company. If you can maneuver yourself into a position of being needed for the hard-gained experience, you have much greater bargaining power.

</comment></comment></comment></comment></comment></comment><comment><USER28> Short of a totalitarian technophobic regime taking power [1], there will always be idiots with compilers willing to do any terrible thing. There's no (non-dystopian) hope of regulating things at that point, but we don't really need to.

Where regulations, or professional society codes or whatever else, could be usefully applied is where software gets loaded onto something important. You can write all the terrible code you like if it doesn't leave your office, but the moment you package it up and send it out to be installed on a thousand new aircraft (or a million internet-enabled toasters), you're at a ripe point for scrutiny. Can you attest who is responsible for what portions of the code? Have experts signed off on reasonable guarantees of security, safety, and correctness? At that stage, having your engineers be recognized members of a professional society that will hold their feet to the fire to stand by their word is useful. Not all code needs to have an engineer's stamp, but it doesn't make it into a specified set of "serious applications" without stamps.

[1] Albeit not implausible, either.

</comment><comment><USER29> > "But what developers really need is an organization that governs and > regulates their profession like other industries have, both Martin and > Sourour believe. Currently nothing like that exists although both the > Association for Computer Machinery and the IEEE have made a start, with > ethics documents and, in some cases, training."

I don't think the solution for this is to have an organization that regulates programmers to make sure a programmer will become ethical. No matter how much ethics you teach someone to become ethical, it is in their own volition to act upon a task that is provided.

What will you do it if a programmer suddenly decides to be unethical or agreed upon doing an unethical task related to work? Remove their license to become programmers? Ban them to use the computers? Put them in jail? Shouldn't the management be responsible for their decisions, too? Why are all the blame here being focus on the programmers? Why don't you teach "Ethics" to those who are pushing the programmers to do such a task? Yes, the programmers have the big decision to do it or not. But regulating them isn't the solution that would make their decisions ethical.

What if the younger generation wanted to code? Will you stop them from learning it because they are not allowed to learn it unless they are in school? Or they are not even allowed to ship code because they don't have a license or it is not under the standards made by the organization?

Remember programmers are people. Same with all the human beings in this world who makes moral decisions on their own. Their beliefs, attitude and principles in life are nurtured based on how they were brought up not because they took an ethics class in College.

If a programmer violated a law because of his actions, then treat them as a person who has violated the law.

</comment><comment><USER30> > "He refused to do it but says, "there's always an engineer willing" to > simply follow orders"

It's not just about that. If you are not in a first world country, then feeding your family and ensuring you have a roof over your head are more important than breaking your own ethics with developing software.

As someone who lives in a first world country, the UK. I have I found ethics to be a sliding scale.

We live in a world where gaps in the market will always be filled by someone. Frackers, Oil companys, GMO companies, Chemical companies, the list can go on and on. One side will say they are doing a public good. One other side will argue they are harming the planet and it's unethical for them to operate.

The only way to really change things, is make a movement and vote with the collective wallet. The market will dictate what is acceptable and what is not.

Per the article: I think the more programmers will adopt this attitude, companies will simply stop asking and move the project offshore. I know from experience, they have no such qualms.

<comment><USER31> >> ... feeding your family and ensuring you have a roof over your head are more important than breaking your own ethics with developing software.

That's why recognized professionals (ie lawyer/doctors etc) expect to be well- compensated. They are expected to quit, to walk away from unethical situations even where doing so means they loose out on work. This is why many professions do try to limit the number of members as flooding the market, lowering wages, will push some members to do things that damage the profession.

<comment><USER32> Well, it hardly works. If you want to find a doctor who'll give you Propofol so you can sleep, you can find one. There are enough doctors who'll also recommend you for a medical marijuana licence without actually diagnosing you with a condition that requires it. The rampant practice of advising you to get tests you don't need is also a sign that restricting supply does not mean doctors adhere to their ethical principles.

Don't think I have a vendetta here against doctors. My parents are both surgeons, so trust me when I say my general feelings about medical professionals are overwhelmingly positive. Your argument just strikes me as disingenuous.

<comment><USER31> Nobody claims that it eliminates the problem. But paying professionals does alleviate the argument that they must take unethical work to make ends meet. It also makes it easier to make demands on them to do uncompensated work (training) or maintain their own liability insurance. I spend a few dozen hours every year, unpaid, to keep my license and have walked away from couple clients. That's the minimum, but should anything go wrong (malpractice allegations) I am also expected to have done things like attend conferences and write articles. I wouldn't be able to do any of that on minimum or simply low wages.

</comment></comment></comment></comment><comment><USER33> I was once asked by a boss to write code that I felt was unethical. I don't remember exactly what it was now. I do remember that I managed to convince them not to do it by finding a (probably) better way that didn't challenge my ethics. Had I not managed to convince them to do it ethically, I don't know what they'd have done. But I'd already told them that I wouldn't do anything unethical when they hired me, and I told them that their solution to that problem was unethical.

It wasn't even anything important. It was only "a little unethical" and wouldn't have really affected many people negatively. But the line for me isn't _how_ unethical it is, just that it's unethical at all. I simply don't need that in my life, no matter the price.

I wish more people would draw the line where I do, but I do understand the conflict and why they might choose otherwise.

</comment><comment><USER34> This is why we have the concept of a "professional engineer." This is why we require building designs and other engineering documents to be signed by a PE.

It's not just that you know enough of your field for your signature to matter. It's that by signing, you are putting your reputation and even your freedom at risk.

As it is right now, if you write code that does something illegal or unethical, the blame WILL go to you. There may or may not be an email record of you being told to do this, but there will be no question of YOUR intent, and you can be sure that your bosses will do whatever it takes to get all the liability put on you, because with source code, there can be no question of intent.

(Well, in older times you could obfuscate intent in the source code, but that option went away with K&R C)

So it might as well be time to standardize the software engineering form of the professional engineer exam and licensing procedure, and start requiring that software PEs review code.

</comment><comment><USER31> The article has completely missed several points. Computer Programmer, or coder, or whatever we want to call it, is not at this point a recognized "profession" with special protections/duties that come along with such a designation. Comparisons to engineers/doctors/lawyers is therefore nor appropriate.

Professions are fields that grant members special abilities and protections beyond lay persons. They are officially trusted by society to do things that normal people are not allowed to do. Doctors cut people open. Engineers put their stamp on bridges carrying people. Lawyers hold client secrets. Nurses handle dangerous drugs. These professions are officially recognized in law. They have societies that too are recognized in law (State Medical/Bars etc). With this then comes the ban on anyone outside the profession performing such tasks.

What would a world look like should "computer programmer" become a recognized profession as the article suggests? Will non-professionals be forbidden from writing code? Will we have state boards deciding how and by whom computer programing may be taught as they do law schools? Would hardware with open firmware be sold only to licensed professionals as we do with medicines? That's an absurd world.

Programming isn't a profession because it simply could not exist as a profession. Professional associations and ethical standards certainly have a place in educating, but they should not be given the power to actually regulate behavior.

<comment><USER18> You may notice that Software Engineering indeed does have a Principles and Practice of Engineering (PE) exam, although most jobs do not require it.[1] So SW Engineers can indeed be certified. Although I am not aware of any place with licencing requirements. Likewise for electrical engineers / mechanical / civil / etc you can often work for decades without one as long as the company has one PE to sign off on your work.

I think that Software Engineers should be held to the same standards as other kinds of engineers (and yes, I am aware I am implying Software Engineers are Engineers). The industry just hasn't caught up yet.

[1] [http://ncees.org/engineering/pe/](http://ncees.org/engineering/pe/)

<comment><USER35> Yes, but the blocking factor is the precursor to the PE exam, namely the Fundamentals of Engineering exam. Even the generic FE exam contains topics that most CS majors are not likely to have encountered. See [http://ncees.org/wp-content/uploads/2015/07/FE-Other-CBT- spe...](http://ncees.org/wp-content/uploads/2015/07/FE-Other-CBT-specs-1.pdf) for a summary.

The other major blocker is that the Professional Engineer licensure process requires "four years of progressive engineering experience under a PE" (see [https://www.nspe.org/resources/licensure/what- pe](https://www.nspe.org/resources/licensure/what-pe)). There being few, if any, software PEs, there is something of a chicken-and-egg problem.

<comment><USER18> > The other major blocker is that the Professional Engineer licensure process > requires "four years of progressive engineering experience under a PE" (see > [https://www.nspe.org/resources/licensure/what- > pe](https://www.nspe.org/resources/licensure/what-pe)). There being few, if > any, software PEs, there is something of a chicken-and-egg problem.

Agreed, this is a big issue.

Also, it requires that the school have a specific accreditation that is unusual for Computer Science. My school has it but it didn't have it until 3 years after I graduated because it was so new. Although I had to take all the same courses as the eventually accredited version. (my year was the first year to do so but it takes a few years to get the accreditation)

So I'm not sure if I'm even eligible to take it because of that.

Not just accreditation (many schools have that), it needs a specific type that is for engineering.

Either way, as someone pointed out. It is a process. It won't happen overnight.

</comment></comment></comment></comment><comment><USER36> The main point of this article is absolutely completely wrong. The product owner is responsible for every product feature specification that happens in their product, not the engineer. The engineer is just a tool you use to construct the product. He follows the spec to the letter. He's no more guilty than a hammer would be. It's not up to the hammer/engineer to know what or what shouldn't be implemented, they're not the ones making the judgement call. They're job is to execute the roadmap/product specification as it's written. They can provide feedback, make suggestions and inform the owner of any risks both moral and technical, but ultimately it's not their decision and not their responsibility.

Now, if the engineer were the product owner, then of course, he is responsible.

I think this author doesn't fully understand how software is developed and doesn't understand or differentiate between the roles of product managers/product owners and software engineers.

<comment><USER37> Nonsense. 'Just following orders' does not remove your moral culpability.

<comment><USER36> There are limits of course. An engineer shouldn't program a printer to explode and kill anybody. But, the volkswagon disaster is still firmly within the realm of product owner responsibility.

</comment></comment></comment><comment><USER38> You cannot be a profession if you have a hiring manager, a boss who can fire you or no central professional body that can take away your right to program.

Software engineering is not not not a profession. It is a form of literacy. People write down lies and untruths and abominations, using the great gift of literacy.

And society assumes that as everyone else it literate those who write down lies do not automatically have an advantage

We do, but creating a software literacy profession is not the right solution

Edit: let me adjust this. Professionalism is meant to be about minimum standards of performance expected from any member of the profession (it is a way of saying we the profession ensure you get at least the baseline service no matter who you hire)

The ethics of professionalism are usually well enforced in areas of individual criminal mesbehaviour (i.e. Accountants who dip into their clients accounts get barred)

However the issues discussed here are more areas of regulation than criminality. Yes making software that drives a tesla into a truck is bad, but that was not an actual requirement - it was a failure in the whole industry to decide what is the right thing to do. Different regulators in different industries and countries will let different standards (i.e. With LIdar / without) - and unethical companies can play arbitrage.

Arguing that a spec for a online game fails to meet regulations _might_ work, but individually saying younundersrand the regulations better than the various hierarchies above you is unlikely to work.

So I have lost my trainnof thought but

\- TPP is actually supposed to be where regulatory arbitrage is defeated. We need something like it back

\- All professions face ethical issues at all levels (I would argue that most issues in software (privacy, self driving cars, armoured robots) are issues we as societies have not decided upon yet so individuals are just applying their own judgement (this is the don't work for a tobacco company question)

\- and other professions stuff this up as well - banking did it spectacularly so.

So, yes we should raise the minimum standards but questions of ethics are something for the profession as a whole to decide, (I will not code a self driving car that does not have LIdar out to 100 yards behind, and my professional body will support me, is an ethical stance yes, but really it's a post hoc regulation)

</comment><comment><USER39> This is just typical case of responsibility erosion in hierarchical structures. Upper management devices a scheme, their underlings execute the scheme. One claim "we didn't really do that", other claim "we were just following orders and we don't know whole picture". Nothing new.

</comment><comment> Anthony-G For those who read the comments first, this article essentially consists of a synopsis of a previous HN submission: [https://news.ycombinator.com/item?id=12965589](https://news.ycombinator.com/item?id=12965589)

</comment><comment><USER40> I find secret forum censorship including up/down vote rigging, post visibility weighting targeting a specific group, and secret shadow banning to be some of the most egregious ethics offenses programmers can commit. It's below bribe- taking on the ethics ladder, because at least one person directly benefits from a bribe.

<comment><USER41> Are you trying to say something about Hacker News?

<comment><USER40> I believe the administrators and moderators of HN are more ethical than those of other popular social media sites, but of course I don't know how much I don't know about the inner workings of these organizations, so I'm just leaving you with something to think about.

<comment><USER41> Oh, indeed.

I've had my own.. disagreements with the people here running the place. One of those very disagreements was what I thought was active targeting was in fact me triggering a spam filter or something.

The underlying problem is HN should be more transparent in how people get on "shit lists"\- hellbanning, no submit, and other statuses.

I tended to like the Kur5hin style model, where every mod is linked to the user, and everyone can see it. Albeit, K5 is dead...

</comment></comment></comment></comment><comment><USER42> Shipping broken software is a business model in many companies. Features are easy to sell, non-functional requirements are harder to sell.

I am against shipping broken software. If you bought a car that is malfunctioning and you are expected to take it to the mechanic to get it working, would that not be unethical?

<comment><USER27> Depends on how you define broken and what the company's priorities are. I know I lean towards "fix bugs first, then new features", but bugs/features need to be prioritized just like which bugs to fix first, and which features to implement first. And you have to ship something sometime.

</comment></comment><comment><USER43> "Ethics" codes are in practice a mechanism for a formal institutional body to exercise power over a profession. Case in point:

"But what developers really need is an organization that governs and regulates their profession like other industries have"

What this inevitably turns into is a collection of content-free truisms (eg "programmers shouldn't write programs that break the law") combined with credentialism ("we won't let you join the Society of Programmers without a degree in computer science, and it's 'unethical' to hire a non-SOP programmer to work on your project") and politically motivated de-credentialing ("we have determined your work on the Trump advertising program targeting white voters was implicitly racist; you're disbarred").

If you think the last part is silly, here's an article citing architects claiming it would be "unethical" to work on the border wall.

[http://www.businessinsider.com/trump-wall-impossible- build-a...](http://www.businessinsider.com/trump-wall-impossible-build- architects-2016-11)

<comment><USER13> _" If you think the last part is silly, here's an article citing architects claiming it would be "unethical" to work on the border wall."_

That reminds me of the American Psychological Association's (APA) position on torture:

 _" Any direct or indirect participation in any act of torture or other forms of cruel, inhuman, or degrading treatment or punishment by psychologists is strictly prohibited. There are no exceptions."_[1]

This might seem unfortunate to some, or may smell to them of unwarranted political meddling. But I for one am glad these professions are taking these strong and clear ethical stances, and doing so on what I consider to be the "right" side (ie. anti-torture and anti-xenophobia).

I'm also not sure how one could separate ethics from politics. Some people even believe that every action is political.

[1] - [http://www.apa.org/ethics/programs/position/](http://www.apa.org/ethics/programs/position/)

<comment><USER43> You evidently think your livelihood should in principle be contingent on the desires of whomever controls the governing apparatus. If tomorrow you need a certification of racial purity, or a Temple recommend, in order to practice your profession, that's just how it shakes out. If everyone agreed on ethical codes, after all, we wouldn't need them.

Why are people like you so desperate to hand someone else the whip hand? Do you actually think Your Kind Of Guy is going to be in power in perpetuity? Does it actually seem to you like these guys are reasoning from some set of elucidated & unchanging moral principles?

Ironically the nightmarish story of how ineffective the APA's "ethics code" was should permanently disabuse you of the notion that they're useful for anything other than economic protectionism and occasionally crushing the outgroup du jour.

</comment></comment></comment><comment><USER44> Anybody knows what you can do if your boss asks something illegal of you like stealing money from other people, or if he basically asks to steal money from yourself? Would be interested in US and German law, if someone knows.

</comment><comment><USER45> Once I worked with a company that didn't use cross-validation, and gave accuracy numbers based on its training data.

I guess that's more on what's now called data science though, rather than programming.

</comment><comment><USER46> Code and architecture could be anonymously peer-reviewed like in science, but then of course everyone is paranoid of having his secret sauce in the open. Open sauce, that would be a great idea.

</comment><comment><USER47> Reading the comments posted on the AWS vs GCE thread, I would say trolling the competitor? It's so obvious they are not even trying to hide it.

</comment><comment><USER48> Programmers are not lawyers, and this isn't Edward Snowden. There is a logical train of legality and one can debate the ethics of a task most likely with the owner, or legal counsel. The other option is to get release of liability which is not uncommon in realms where developers are asked to do things that are shady. If they don't have the fortitude to stand up and say something .. then just walk away.

</comment><comment><USER49> Journalistically, what are the ethics of scraping HN comments for your story? Was each commenter contacted to follow up in any way? Obviously you can't check out these stories very well.

<comment><USER50> If they don't do it then buzzfeed will, and then they'd get the scoop.

</comment></comment><comment><USER51> I work in e-commerce, have for 10+ years now. Without a doubt I'm going to Hell, even though, literally, every day, I refuse to do what everything customer's ask of me. Eventually, because of pressure from management or the customer, you will do something you're ashamed of or worse. When you have two small children to feed and your jobs on the line or you need the money it's hard to hold the line. Now that I'm older and the stakes are lower I can give the fuck-off more frequently, and I feel better about myself on the whole, but early on I wasn't so resolute.

Here are the things I've been asked to do and refused, so they just went to someone else to get it done.

\- Disable the back button coming from a Google search (Don't want them going to a competitor's site).

\- Change the default selection for being included in spam list from no to yes.

\- Export email lists ignoring the "include me in spam lists" selection.

\- If someone has purchased before, save their credit card information, and if they add something to their cart ever again, charge them immediately, and them make refunds difficult.

\- Make the RMA / refund page throw an error the first time, to try and discourage returns. It'd work the 2nd time.

\- Add a "pay with cash discount" wish is really a credit card surcharge because the request to pay in cash is never approved.

\- Doctor the math for discounts so unless a customer double-checks they won't notice the ~25 cent discrepancy.

\- Take donations for a cause with fine print (literally, like 3pt type) that says only a small percentage gets donated.

\- Intentional violation of credit card rules, such as storing the customer's credit card without their knowledge, sending credit cards numbers through email unencrypted, refusing to honor recurring payment cancellations, and so on.

\- Ship by a slower shipping method than what the customer is charged for.

This list could go on for literally hundreds of entries. The point is that, yes, as the programmer, we are the last line of defense. The stories here with people working in the health care industry just break my heart - so much more at stake then people's money.

One piece of advice I can offer. When you refuse, and they go hire someone somewhere else to do the dirty work, you can always report them anonymously afterward. The satisfaction of seeing them having their credit card processing or merchant account yanked can give you some solace.

But in the end, I don't know if it's a winnable war. I want to say this very carefully, because I in no way wish to disparage programmers from other countries, but what I've seen, over and over, is that if I won't do it, there is always someone in another country, for cheap, who will. I'm sure they've got two kids too, and they need the money. There will always be someone ready to do the wrong thing, for whatever reason.

</comment><comment><USER52> "dozens of people have already been killed by faulty software in cars, while hundreds of people have been killed from faulty software during air travel"

If facebook really did cause T. to get elected, fb programmers may be responsible for orders of magnitude more suffering and/or death than the above.

<comment><USER44> Please don't misunderstand the lack of support as lack of anti-Trump support. The comment just reads quite illogic and not very constructive.

<comment><USER52> But truth is inherently constructive.

What I am saying, is that software with political implications, can have far greater effects than software which directly controls physical objects. Not sure how this is illogical, but open to hearing views.

It would be nice if downvoters explained their view, in addition to downvoting.</comment></comment></comment>


Mozilla boss Brendan Eich resigns after gay marriage storm - <AUTHOR> http://m.bbc.co.uk/news/technology-26868536

<comment><USER2> So his political view made him unsuitable for a job. I am really surprised about this from a company and a foundation I associated with openness and concern about freedom.</comment>


Ask HN: Why is air travel ban not in place even after an elevated COVID-19 risk? - <AUTHOR> <comment><USER2> As an unintended consequence, the main airline in our country (NZ) is offering discount rates in response to the reduced flight demand :/

[https://www.nzherald.co.nz/nz/news/article.cfm?c_id=1&object...](https://www.nzherald.co.nz/nz/news/article.cfm?c_id=1&objectid=12312964)

</comment><comment><USER3> $

<comment><USER4> $$$

<comment><USER3> "Brevity is... wit."</comment></comment></comment>


Microtargeting of low-information voters - <AUTHOR> https://medium.com/@pdehaye/microtargeting-of-low-information-voters-6eb2520cd473#.e21bbp5a2 <comment><USER2> See "Need for Cognition" scale here: [http://www.liberalarts.wabash.edu/ncs/](http://www.liberalarts.wabash.edu/ncs/)

Paper on which Medium post is based: [http://urban.hunter.cuny.edu/~schram/trumplowinformationvote...](http://urban.hunter.cuny.edu/~schram/trumplowinformationvotersfinal.pdf)</comment>


Feeding Plants Artificial Sweeteners (2010) - <AUTHOR> https://www.jefftk.com/p/feeding-plants-artificial-sweeteners <comment><USER3> Turns out putting saccharin on radishes mostly just attracts ants and kills the plants ([https://www.jefftk.com/p/radish-experiment- day-9-saccharin-b...](https://www.jefftk.com/p/radish-experiment- day-9-saccharin-bad-for-radishes-image)) and the surviving ones don't taste any different ([https://www.jefftk.com/p/saccharin-does-not-affect-the- taste...](https://www.jefftk.com/p/saccharin-does-not-affect-the-taste-of- radishes)).

<comment><USER4> It looks quite obvious that saccharin isn't good for plants, but it's good to have results of a simple experiment to demonstrate it. Good work! Thanks a lot!

<comment><USER3> Throughout the experiment I was telling friends that I knew it was a silly idea that was very unlikely to work, but it was also easy and fun to try, and if it turned out to work it would be very interesting.

</comment></comment></comment><comment><USER5> > The main reason most people don't enjoy eating lemons is that they are > insufficiently sweet. I think a lot of people would be interested in lemons > that tasted like lemonade.

Yeah, people would eat many Xs if they tasted like Ys ... Some people should really go in a no (added) sugar diet for a bit, even things like lemons become sweet after a few weeks of no junk/sugary food. I've witnessed people dipping slices of apple in white sugar so I guess I shouldn't be surprised.

<comment><USER6> I've never done the no-sugar thing, but I did switch to drinking fizzy water rather than soda a few years ago. Today I'll occasionally order a Coke or Dr Pepper and it tastes so syrupy sweet to me now that I can only manage to drink a small amount. I enjoy it, but it gets overwhelming quickly.

Ten years ago I would routinely get a 20+ oz soda with my meal and that feels unimaginable to me today. Part of that is just me getting old. Consuming a bunch of sugar today leaves me feeling hungover tomorrow.

<comment><USER7> When I think of how much high fructose corn syrup I ran through my liver when I was young I want to cry a little. It's so disgusting!

</comment></comment></comment><comment><USER8> But Brawndo's got what plants crave! It's got electrolytes.

</comment><comment><USER9> Does not work like that. Physiology of plants 101.

This is not different than some people thinking that a colagen cream magically puts inside the big molecules that are just extended over the skin, or that you can take iron in your diet just touching a iron bar.

</comment><comment><USER10> The first comment on the post mentions Miracle berries. The taste-modifying protein miraculin contained in miracle fruit has been added to tomatos to increase sweetness and thus reduce the amount of sugar they need to add to ketchup. see: [https://www.ncbi.nlm.nih.gov/pubmed/22160133](https://www.ncbi.nlm.nih.gov/pubmed/22160133) I'm surprised there is not more research into adding miraculin to other bitter (but healthy) foods.

<comment><USER3> That's fascinating! My experience with miraculin [1] wasn't very positive because it completely removed the sour flavor, though perhaps in smaller doses it would make sense?

I guess I'd also worry that it would be hard to cook and eat because it adds an unusual dependency between ingredients: normally you don't worry that your ketchup on your hot dog will later make your cake taste too sweet.

[1] [https://www.jefftk.com/p/miracle-berry](https://www.jefftk.com/p/miracle- berry)

</comment></comment><comment><USER11> This doesn't work but the obvious solution is to add the sweetener after - <USER2> in with lemon juice or whatever.

<comment><USER9> And another obvious solution would be to use any of the thousands of Citrus varieties developped for almost anything.</comment></comment>


Ask HN: How to promote my website? - <AUTHOR>

Hi HN,
I've built a website that provide a very good service for everyone, especially for experts/influencers with many amazing features.
Now I'm trying to promote it but as you all know it's not an easy task to do. I've searched a lot and all tips are good and I've been following each one of them with no success so far. I've contacted a lot of bloggers and still doing so actually, I tried publishing on slashdot but it looks like it's getting rejected. My co-founder is attending a bloggers/hackers event trying to promote the site with many people.
Is there anything we are missing or we should do better? and how can we get the big websites talking about it?
Thanks, <comment><USER2> You could try increase search traffic to your site by trying to position your site in Google for some specific niche keywords. You can use my tool: [http://metrics11.com](http://metrics11.com) to find right keywords. But you will have to wait for effect some time though and it depends on backlinks your site will gain in the future.

<comment><AUTHOR> awesome tool, thanks

</comment></comment><comment><USER3> Your target audience (Experts, SME, anyone with followers) is too wide a category. Try and start with a specific niche. Visit forums about the niche. Participate there and post your website. See if people start using it and continue to do so.

<comment><AUTHOR> ok will start doing that, thank you :)

</comment></comment><comment><USER3> Clickable - [http://www.faqrobo.com/](http://www.faqrobo.com/)

</comment><comment><USER4> You could try telling people who are already listening to you, like us here, where your website is.

<comment><AUTHOR> I thought this will be treated as a spam :). it's www.faqrobo.com

</comment></comment><comment><AUTHOR> Please note that the website is www.faqrobo.com, and this is our blog, blog.faqrobo.com

<comment><USER5> some immediate feedback - take it for what it is. I was a little confused by the title: "The biggest, fattest, online FAQ" \- Why would I care about FAQs? FAQs are boring, hard to find on most websites & not really an option any more on most web apps. I want immediate answers to my questions - so maybe changing your messaging around that. Moving away from FAQs to something along the lines of Yahoo Answers..

<comment><AUTHOR> Thank you for you feedback :). The idea behind the website is that we're trying to have all FAQs in one place, it could be about anything, health, life, technology, etc. For example you are an experienced web designed and people always ask you the same questions, now you can put them in your page and everyone can read see it. This page is a good example [http://www.faqrobo.com/tash](http://www.faqrobo.com/tash)

</comment></comment></comment><comment><USER6> Who's your target audience? Where have you spoken to them in person before?

<comment><AUTHOR> Experts, SME, anyone with followers who can be asked question and provide an answer. I don't really know the bloggers, I've been visiting some their blog and contact them by email.

<comment><USER6> Aha! I recommend you stop trying to ask them to promote it (for now at least) and start asking if your website solves a problem for them.

<comment><AUTHOR> Thanks, Actually we did that, My co-founder attended blogger events and he got nothing but positive comments.

</comment></comment></comment></comment><comment><USER6> PS you should probably add the prefix "Ask HN:" to the title :)

<comment><AUTHOR> Just did, thanks :)</comment></comment>


How the business judgment rule helps shield board members from liability - <AUTHOR> http://truthonthemarket.com/2010/07/27/the-shareholder-wealth-maximization-myth/

<comment><USER2> "Those on the right, like Milton Friedman, argue that the shareholder-wealth- maximization requirement prohibits firms from acting in ways that benefit, say, local communities or the environment, at the expense of the bottom line."

Uh, citation needed. This is a pretty harsh statement, especially with its present-tense reference to a man who is no longer around to defend himself.</comment>


Don't Strive to Be Rich - <AUTHOR> http://www.wrevenue.com/2007/10/19/dont-strive-to-be-rich/

<comment><AUTHOR> If you go there, this is also a nice read...

Guaranteed to Fail: <http://www.wrevenue.com/2008/02/09/guaranteed-to-fail/>

<comment><USER2> Built To Last would be a great book too.

[http://www.google.com/search?hl=en&q=built+to+last&b...](http://www.google.com/search?hl=en&q=built+to+last&btnG=Google+Search)</comment></comment>


Whacker News - <AUTHOR> http://rachelbythebay.com/fun/hrand/

<comment><USER2> Clever, but far too many instances of "in 2 years" and not enough reposts about TempleOS and how Google Authenticator works.</comment>