For the first time ever, Microsoft will distribute its own version of Linux - <AUTHOR> http://www.businessinsider.com/microsoft-azure-sphere-is-powered-by-linux-2018-4 <comment><USER2> Wow, this is a really disappointing thread. There are very few substantive comments here. I came to the comments to dispute this claim from the article:

>It's the first time ever that Microsoft has made Linux part of a product offering.

Microsoft has offered Linux distributions on Azure for a few years now, and has ported a fair bit of their software to Linux, including VSCode, MSSQL, Powershell, etc.

But it looks like I also need to comment on all of the negativity in this thread. This change from Microsoft is a Good Thing. Microsoft has been making some serious strides towards being a better citizen of the technology community in the past few years, and this is something to be celebrated. If you think you can scorn Microsoft out of existence, you're delusional. Microsoft is here to stay. You can choose to respond to these promising changes with optimism, or you can respond to them with spite - which of these responses do you think is going to encourage Microsoft to continue in their course of positive change?

By all means, we should continue to hold their feet to the fire for stupid crap like Windows 10 being spyware. But we can't just be angry at them all the time - we have to celebrate the things they do right, too. Microsoft is clearly making a sustained effort to improve. They've done positive things they can't turn back on, like releasing large amounts of open source software under OSI licenses. Be happy!

<comment><USER3> Somebody bears responsibility for past actions. That Somebody is M$.

You say they are a better company now. We'll see. It is probably just a strategy.

What they did had a huge cost: putting back computing science for decades, and probably closing a one-time chance of having an open source platform accross all market segments.

Linux is a bad desktop platform? Blame M$!

M$ actions have costed humankind trillions, and we have collectively lost millions of years. That is not brushed away with a questionable release of an IoT product.

<comment><USER2> Who really bears that responsibility? Bill Gates? Steve Ballmer? Guess what - they're both out and the new leadership clearly has a different approach in mind.

Microsoft has no blame for Linux being a bad desktop platform - and for the record, I strongly disagree with the assertion that Linux is a bad desktop platform.

Your hyperbole and childish "M$" name-calling do nothing to support your argument.

<comment><USER3> It is too easy to say "those persons are no longer responsible". I do not care who was responsible, I do not care how the company was structured or who was calling the shots. The company reaped the rewards, they get to keep the responsibilities.

It is a boring argument, being repeated ad-nausea: "nobody is responsible anymore". And, since companies (and states) are perfectly aware that the market / society will forget in a couple of decades what they are doing now, they keep on doing whatever they like. Guess what, some of us are not willing to forget.

> Your hyperbole and childish "M$" name-calling do nothing to support your > argument.

You call it "childish name calling", I call it "guerrilla marketing". It seems to work.

</comment></comment></comment></comment><comment><USER4> Lot's of people are mentioning the well-known phase 'Embrace, extend, and extinguish', but what if it ends up being Linux that does the extinguishing? Linux has always been a pain for the average user to run on a laptop or desktop, but these days Windows isn't that much better and I don't think it'll get much better. I'm sure lots of you will think I'm crazy, but I figured it would be an interesting discussion topic.

<comment><USER5> Whenever EEE has been brought up in the context of Microsoft, it has been used to describe a predatory behaviour. Indeed, the "Extinguish" part is facilitated by the "Extend" portion being a proprietary lock-in.

Using Linux (the kernel) to pull off such proprietary lock-in is going to be difficult because of the kernel's GPLv2 license (although, Tivoization is still an available tactic).

Using the Linux desktop (which is what you seem to be talking about), on the other hand, to pull of such proprietary lock-in is going to compete directly with Windows's desktop market share; which is why I think Microsoft will never push the Linux desktop in an Embrace-Extend attempt.

<comment><USER6> "Tivoization" is the entire value-add here. IoT devices will run SOME linux. But they want an easy to use, secure Linux. Microsoft's model here is to tack on those bits and charge. It's not some secret ploy, it's in the article.

As for desktop linux: microsoft has four versions of linux userland in its app store for desktop, published by Microsoft. Windows provides drivers and boot - that's its value-add.

<comment><USER5> > "Tivoization" is the entire value-add here.

In the context of the GPL, "Tivoization" refers specifically to the practice of blocking modifications to the running software without breaking the copyleft requirements of GPLv2 (and similar) licenses. Sure, Microsoft could that here, but hasn't so far. And while I'm not inclined to believe they'll do the right thing, I don't see or suspect them doing the wrong thing yet.

> Microsoft's model here is to tack on those bits and charge. It's not some > secret ploy, it's in the article.

I did not allege any secret ploy. And from what I read, there's no mention of any charges (yet).

> published by Microsoft

Which distros exactly? As I recalled (and just verified), Ubuntu, OpenSuSE, and Debian are published by Canonical, SuSE, and Debian, respectively.

> Windows provides drivers and boot

Not adequately enough, one could argue. No graphics, no raw devices, last I checked.

<comment><USER7> It would be the Android-style Tivoization, where you get the OS on the device you buy, and if you are lucky the vendor publishes their kernel on an obscure part of the website, but without certain binary drivers. You may find you can't actually do anything useful with the sources because of those missing drivers and because the bootloader is locked to only accept new software signed by the vendor.

</comment></comment></comment></comment></comment><comment><USER8> I think this is an interesting market shift for MSFT. I worked there in the late 90's and was there for the introduction of Windows2000. Hillariously most of their big acquisitions ran FreeBSD and/or Solaris and I don't ever recall anyone considering Linux much of a threat since it never really worked for the workloads we were seeing.

Even today I rarely see anyone using Linux as a desktop (MSFTs primary market) so 20 something years later its still not really a threat.

MSFT is smart enough to offer what people want, maybe this will get more people to try it, not a bad thing.

</comment><comment><USER9> Microsoft is a different company now from the one you probably think it is, the latest podcast of Exponent [http://exponent.fm/episode-147-there-always-a- bigger-fish/](http://exponent.fm/episode-147-there-always-a-bigger-fish/) was very enlightening

<comment><USER10> Just finished hearing it, mostly BS and external gossips.

The guy claimed he "worked" within Windows for a while but was a Business Development Rep (Sales) at Microsoft for less than two years (2011-2013).

</comment></comment><comment><USER11> Article is very light on detail, but from the MS announcement, this seems to be essentially a distro for IoT and the like; I was about to ask what it's based on, but having read that, I'll be guessing it's minimal and built from the ground up.

I'm also very curious about what the microcontroller design announced involves - obviously powerful enough to run Linux, and customisable, so I'd be guessing ARM based (small chance of MIPS or RISC, but probably not)

</comment><comment><USER12> Any chance they'll call it XENIX?

<comment><USER13> The article states it's called "Azure Stack OS."

<comment><USER11> *Azure Sphere OS

<comment><USER13> The article said Stack when I posted my comment. Looks like they corrected it shortly after.

</comment></comment></comment></comment><comment><USER14> Wasn't Xenix a Microsoft-maintained *nix?

</comment><comment><USER15> This is awesome, keep it up Microsoft. They also ship their own version of FreeBSD as well[1].

[1]: [https://azure.microsoft.com/en-us/blog/freebsd-now- available...](https://azure.microsoft.com/en-us/blog/freebsd-now-available-in- azure-marketplace/)

</comment><comment><USER16> Microsoft could use similar techniques to the way they ported SQL Server to let all Windows software run on Linux. I don't think they will, but it's always something that could happen.

They have said multiple times that they are open to open sourcing Windows. It could happen...stranger things have.

This is really just them giving their customers what they want. They are a business after all.

</comment><comment><USER17> I think the bigger news here is the custom MCU design. What is it? Is it Arm- derived, and if not - why? Anyone pay attention lately to MSFT's activity on LKML?

<comment><USER17> Arm derived: 32-bit Cortex-A and a Cortex-M for radio. Curious what the security arch is...

</comment></comment><comment><USER18> Embrace, extend...

You know what comes next.

P.S. Maybe it will be different, this time. However, there's some significant history to overcome, if some of us are to come to believe this.

</comment><comment><USER19> Why did they design a custom chip? To make it harder to run non-Microsoft versions of Linux?

</comment><comment><USER20> .. checks AU/X manuals for a precedent ..

</comment><comment><USER21> Better URL: [https://amp.businessinsider.com/microsoft-azure-sphere-is- po...](https://amp.businessinsider.com/microsoft-azure-sphere-is-powered-by- linux-2018-4)

Honestly, amp-businessinsider-com.cdn.ampproject.org is the kind of url you try to teach grandma not to click on so she doesn't enter her bank details on halifax-online-co-uk-personal-logon-login.jsp.secure.tk when they send her an email

</comment><comment><USER22> Could someone please update the url to the non-AMP link: [https://www.businessinsider.in/For-the-first-time-ever- Micro...](https://www.businessinsider.in/For-the-first-time-ever-Microsoft- will-distribute-its-own-version-of-Linux/articleshow/63791833.cms)

<comment><USER23> Or maybe the .com one: [http://www.businessinsider.com/microsoft-azure-sphere- is-pow...](http://www.businessinsider.com/microsoft-azure-sphere-is-powered- by-linux-2018-4)

<comment><USER22> Oops, this is much better - I've no idea how I got .in, thanks for catching that!

</comment></comment></comment><comment><USER10> Even better URL: [https://azure.microsoft.com/en-us/blog/introducing- microsoft...](https://azure.microsoft.com/en-us/blog/introducing-microsoft- azure-sphere-secure-and-power-the-intelligent-edge/)

</comment><comment><USER24> Embrace Extend Extinguish

<comment> castle-bravo Not if RMS has anything to say about it.

</comment></comment><comment><USER25> More fragmentation.. awesome!

</comment><comment><USER26> The beginning ot the end of Windows?

<comment><USER23> I don't see that coming in the foreseeable future, unless they make a Linux desktop that is as user-friendly as Windows.

<comment><USER27> What if they keep trending towards making Windows as user friendly as Linux?

<comment><USER23> What?

<comment><USER27> As in, if Microsoft keeps taking resources out of the Windows division in favor of Azure, we might end up in a place where the Linux desktop wins not through becoming better, but by Windows becoming worse.</comment></comment></comment></comment></comment>


To all who Think Themselves a Programmer - <AUTHOR> http://sfbay.craigslist.org/sfc/eng/1246353621.html

<comment> brown9-2 I can't wait for the overusage of "fail" to die out:

      curl -s http://sfbay.craigslist.org/sfc/eng/1246353621.html | grep -ci "fail"
      15

<comment><USER2> I don't mind "fail". But the overusage of "ninja" really annoys me to no end.

<comment><USER3> Agreed, they may as well say "goon" or "minion." How about "software engineer" or "professional"?

Well, I guess with the crowd these guys are going for, maybe those terms don't really apply...

<comment><USER4> Don't you think the term "hacker" is overused today too? It seems like everybody and their mother is always "hacking" something.

</comment></comment></comment></comment><comment><USER5> Does this guy look like a ninja to you: [http://www.gravatar.com/avatar/3b4ddb8b9c296ecf6a7cc338da508...](http://www.gravatar.com/avatar/3b4ddb8b9c296ecf6a7cc338da508f98?s=50&d=http%3A%2F%2Fgithub.com%2Fimages%2Fgravatars%2Fgravatar-50.png)

?

Because: that is who posted the ad; Stephen Blum, 'lead ninja engineer @ trusted opinion, inc'.

<http://www.linkedin.com/in/stephenlb>

<comment><USER6> While I have some doubts about the abilities of the poster of the ad, why are you encouraging people to judge him based on his appearance?

<comment><USER5> Is there anything in the ad that isn't _already_ encouraging its readers to make decisions based on appearance (in this case, that of a fun and elite group of people)?

In what possible way is 'send us the coolest "hello world" you've got, and we'll critique your style' not an invitation to judge by appearance?

<comment><USER7> true.

now think: how often do you see a job posting make the first page of HN? (one might say their prime sort of recruitment site...)

I'm going with calling them savvy :)

<comment><USER5> Yeah, and in point of fact now that it seems too late to edit my original post I am going to clarify here: this ad definitely works.

I wasn't specifically intending to make fun of the guy's appearance; he looks like a normal 20-something, doesn't look overweight, does look like he shaves regularly, does look like he gets sunlight, etc; it was just that after I tracked the guy down I was disappointed that he wasn't actually wearing a ninja mask in his picture (or whatever).

<comment><USER8> <http://saymix.com/ninja.png>

<comment><USER5> The kid _is_ full of win. A+++, I bow to you.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I felt a bit like I was reading something translated into english by Google.

Putting on a 'better than thou' attitude can be fun and amusing at times, but it works better if you command a decent grasp on the English language.

</comment><comment><USER10> Oh, dear. It's so hard to turn down a challenge, but I don't think I'd really like to work for ninjas. They sound... oblong?

(defun ensure-list (a) (if (listp a) a (loop for i from 0 to a collect i))) (defparameter l '(0 7 (0 3) (0 3) 7 0 7 (1 4 7) (1 7) (1 7) 1 0 7 1 1 1 1 0 7 1 1 1 1 0 6 (7 1) (7 1) (7 1) 6 0)) (defparameter g (loop for i from 0 to 9 collecting (loop for i from 1 to (length l) collecting ()))) (setf g (append (list (mapcar (lambda (sp) 's) (car g))) (cdr g))) (defun s () (setf g (append (list (loop for i from 1 to (length (car g)) collecting (if (< .1 (random 1.0)) 's ()))) (loop for i from 1 to (1- (length g)) collecting (mapcar (lambda (a b x) (if (and a (or (not (find (- (length globe) i) (ensure-list x))) (> .05 (random 1.0)))) 's (and b (not (find (- (length globe) i) (ensure- list x)))))) (nth (- i 1) g) (nth i g) l))))) (defun d (itm) (cond ((not itm) (format t ". ")) ((atom itm) (format t "$$")) ((listp itm) (d (car itm)) (d (cdr itm)) (format t "~&")))) (defun start () (dotimes (x 200) (s)(sleep 1/24)(d g)))

(start)

</comment><comment><USER11> Publishing the submissions with commentary is genius: <http://saymix.com/>

<comment> brown9-2 Seems like the key to winning is to have the string "lambda" in your submission.

<comment><USER12> Throw in a continuation and they'll have a half-boner the rest of the day.

</comment></comment></comment><comment><USER13> This ad has succeeded to the extent that it's getting pretty popular on Hacker News and (hopefully) it's attracting the types of programmers they're out to hire.

Assuming that they've got their 'ideal hire' right, it's almost a win-win situation for them: if you hate the ad, you probably don't like their culture; if you love it, you'll apply and you might just fit right in with these "ninjas".

It alienates some but at least not the people they're trying to hire. I'm not saying such a culture's going to be great for them, just that posting such an ad will get them exactly who they want, and some mad publicity as well.

<comment><USER14> If they want to hire 18-year-old hackers than it's probably okay, but I'm 30, love a fun work environment, and I'm pretty turned off by being so flip about CS. How can you praise a candidate for loving Haskell but be so arrogant to think CS has no value.

<comment><USER15> I imagine that it has no value _to them_. They're not out to create any new algorithms/systems/compilers/languages, simply to make proper use of the ones in existing libraries. To put it in the way they'd likely say it: "Ninja don't _forge_ katana."

<comment><USER16> I don't understand, they don't care about cs principals, rather they want a 'ninja' who is able to write obscure code in languages people rarely use and is hard to understand.

WHY would anyone want this?

</comment></comment></comment></comment><comment><USER17> This is the type of work environment that I would like to receive and offer for and then tell them "Sorry, based upon your application process, your company appears to be a lame place to work."

The job posting seems like something Dwight from The Office would create.

</comment><comment><USER18> I thought the point of ninjas was often to get things done with maximum efficiency. Thus I believe "echo" is a great solution. Why write what someone has already written for you?

Do they want people who are going to do things in the most impractical and convoluted way possible? If so, I wouldn't recommend betting on them releasing a stable product in the near future.

</comment><comment><USER19> A little too high of a douchey : cool ratio.

</comment><comment><USER20> When I see companies advertising poor real-world ways of engineering, it just makes me think of the documents I make on my projects showing code made by some engineers and how a solution could have been made in half the code (or less), more clearly, more abstracted, more efficient, and fewer bugs.

Do these people use dumb interview questions like asking people to list c language trigraphs? Sure, someone that knows it might be a good programmer, but they might also write obfuscated piles of crap that cause bugs since they over complicate problems.

</comment><comment><USER21> Just as companies use your resume to screen you, you can use their ad to screen them.

I hope that they ran this ad to stand out and be hip.

But just in case the people in this company are like the ad they are running, run, don't walk, the other way from these elitist snobs desperately in need of an attitude adjustment.

Here's my submission:

digits = [70,85,67,75,89,79,85];

for(i=0;i++;i<7){print chr(digits(i))};

<comment><USER22> I would hijack the ocaml raytracer at [http://www.ffconsultancy.com/languages/ray_tracer/comparison...](http://www.ffconsultancy.com/languages/ray_tracer/comparison.html), make 3-d font primitives, and write it out. But I'm a bit underskilled and unmotivated to do anything other than propose it as the ultimate over-the-top answer to the ad.

<comment><USER23> The best snarky answer to this ad I have seen was someone who proposed running random bitstrings through sha1, looking for a hash that was a repetition of the ascii chars for hello world. The comment on the entry noted that they would not consider taking the job until the company could provide the string which would hash to a successful result.

<comment><USER7> I ran a custom search across our hash db just now (several billion hashes) with no luck. :D

</comment></comment></comment></comment><comment><USER24> Was going to send this to them, but they requested serious attempts only, so here you go HN:

WSA:

      push 10
      push 97
      push 106
      push 110
      push 105
      push 78
      push 32
      push 111
      push 108
      dup
      push 101
      push 72
      push 11
      label 100
      swap
      outchar
      push 1
      sub
      dup
      jn 200
      jump 100
      label 200
      exit

Whitespace is actually a really easy-to-code-for stack machine, you just need an assembler. Now you too can pretend to be elite.

EDIT: post originally included the compiled Whitespace code, but HN does not approve of that. Fixed the line break problem, thanks to someone reminding me it needs a blank line before and after.

<comment><USER21> "It also doesn't approve of line breaks."

Indent each line 2 spaces, format it however you want, and resubmit.

<comment><USER24> Added the 2-space indent; it did not work.

<comment><USER21> Now sure what happened to you. This is a regular line followed by a blank line.

      This line is indented 2 spaces.
      So is this one.
      This is the third indented line.

After another blank line, now I'm back to normal.

</comment></comment></comment></comment><comment><USER25> The 'win' that said they'd write a genetic algorithm got me interested, but I'm not looking for a job, so here's what I came up with:

      #!/usr/bin/perl

      use strict;
      use warnings;

      our $POP_SIZE      = 100;
      our @GOAL          = map { ord($_) - 32 } split //, 'hello world';
      our $MUTATION_RATE = 0.05;
      our $GENE_LENGTH   = scalar @GOAL;

      use constant GENE  => 0;
      use constant SCORE => 1;

      my @population = make_initial_population( $POP_SIZE, $GENE_LENGTH );
      my $generation = 1;

      while (1) {
          @population = rank(@population);

          print as_string( $population[0][GENE] ) . "\n";

          last if $population[0][SCORE] == 0;

          @population = mutate( sex(@population) );

          $generation++;
      }

      exit;

      ##################################################

      sub as_string {
          return join( '', map { chr( $_ + 32 ) } @{ $_[0] } );
      }

      ##################################################

      sub rank {
          my @population = @_;

          for ( my $i = 0 ; $i < @population ; $i++ ) {
              $population[$i][SCORE] = score( $population[$i][GENE] );
          }

          @population =
            sort { $a->[SCORE] <=> $b->[SCORE] || $a->[GENE] cmp $b->[GENE] }
            @population;

          return @population;
      }

      ##################################################

      sub score {
          my ($gene) = @_;

          my $value    = 0;
          my $num_diff = 0;

          for ( my $i = 0 ; $i < @$gene ; $i++ ) {
              my $diff = abs( $gene->[$i] - $GOAL[$i] );
              $value += $diff;
              $num_diff++ if $diff > 0;
          }

          return $value * $num_diff;
      }

      ##################################################

      sub sex {
          my @population = @_;

          my $end = $#population / 2;

          for ( my $i = 0 ; $i < $end ; $i++ ) {
              my @mother = @{ $population[$i][GENE] };
              my @father = @{ $population[ $i + 1 ][GENE] };

              my ( $sp1, $sp2 );
              while (1) {
                  $sp1 = int( rand($GENE_LENGTH) );
                  $sp2 = int( rand($GENE_LENGTH) );
                  last
                    if $sp1 < $sp2
                        && $sp1 > 0
                        && $sp2 < $GENE_LENGTH - 1;
              }

              $population[ $end + $i ][GENE] = [
                  @mother[ 0 .. $sp1 - 1 ],
                  @father[ $sp1 .. $sp2 - 1 ],
                  @mother[ $sp2 .. $GENE_LENGTH - 1 ]
              ];
              $population[ $end + $i + 1 ][GENE] = [
                  @father[ 0 .. $sp1 - 1 ],
                  @mother[ $sp1 .. $sp2 - 1 ],
                  @father[ $sp2 .. $GENE_LENGTH - 1 ]
              ];
          }

          return @population;
      }

      ##################################################

      sub mutate {
          my @population = @_;

          for ( my $i = 0 ; $i < $#population ; $i++ ) {
              if ( rand() > $MUTATION_RATE ) {
                  my $gene           = $population[$i][GENE];
                  my $chromosone_num = rand($GENE_LENGTH);
                  my $chromosone     = $gene->[$chromosone_num];
                  $chromosone += int( rand(5) + 0.5 ) - 2;    # -2, -1, 0, 1, 2
                  $chromosone %= ( 128 - 32 );

                  $population[$i][GENE][$chromosone_num] = $chromosone;
              }
          }

          return @population;
      }

      ##################################################

      sub make_initial_population {
          my ( $pop_size, $gene_length ) = @_;

          my @population;

          foreach ( 1 .. $pop_size ) {
              my @gene = map { int( rand( 128 - 32 ) ) } ( 1 .. $gene_length );
              push @population, [ \@gene, 0 ];
          }

          return @population;
      }

      ##################################################

</comment><comment><USER26> "Well, the pay sucks, but I like the company uniform..."

</comment><comment><USER27> Thanks but no thanks, I can only work for people who speak English* .

Like in the 20th century, when I was born. Call me old-fashioned, but...

* not prejudiced, just not fluent in other languages.

</comment><comment><USER28> This is not necessarily the kind of awesome that makes for success. But it seems to have been working for them for 5 years, so best of luck.

</comment><comment><USER29> It's just a cheesy job ad. Am I missing something?

<comment><USER30> Don't think so, but judging by the amount replies on this topic I think they may have achieved the goal of exposure at no cost all the same.

</comment></comment><comment><USER31> Here's an anagram-sorter. (I'm no Python ninja, but I quite liked my idea.)

      def sort(s):
        listt = list(s)
        listt.sort(cmp=lambda a,b: cmp( ord(b)%len(s) , ord(a)%len(s) ))
        print ''.join(listt),

      sort('Oh,well')
      sort('lord')

And this is the rather succinct Ruby version:

      def sort s
        print s.split(//).sort_by.with_index{|a,i|[-(a.ord%s.length),i]}.join
      end

      sort 'Oh,well'
      sort 'lord'

</comment><comment><USER5> Additionally: in the spirit of good natured fun, here's my (clearly non- serious) entry:

'' def findPossibleSolutions(querytext): for result in GoogleCodeSearch(query=querytext): yield result

def tryOutPossibleSolution(candidate): output = None with SafeSandboxedEvaluatorFactoryFactory(candidate.language).safeSandboxedEvaluator() as evaluator: output = evaluator.evaluate(candidate.code) return output

def validatePossibleSolution(candidate, validator): return validator(tryOutPossibleSolution(candidate))

def giveMeValidSolutionSourceCodes(querytext,validator): for validSolution in (candidate for candidate in findPossibleSolutions(querytext) if validatePossibleSolution(candidate,validator)): yield {'source'=validSolution.code,'extension'=validSolution.languageExtension}

if __name__ == "__main__": helloWorlds = giveMeValidSolutionSourceCodes("hello world", lambda x: x == "hello world") firstValidSource = helloWorlds() if firstValidSource: print "helloworld.%s:\n\n%s" % (firstValidSource["extension"],firstValidSource["source"]) else: print "helloworld.py:\n\nprint \"hello world\"" # default case ''

Edit: if there's a way to reproduce source code please inform.

<comment><USER32> Indent by 2+ spaces, like so:

      pre

<comment><USER5> Thanks.

</comment></comment></comment><comment><USER33> Admit it: if you needed the job, you'd be strutting your best "leet ninja hacker" moves.

<comment><USER34> Hell yes.

</comment></comment><comment><USER35> "Oblong" can both describe programming skill and be a sentence by itself?

<comment><USER36> Oblong.

</comment></comment><comment><USER37> I actually find the whole idea quite amusing! Granted it's probably not a great way to get employees who are good at _working_ as opposed to hacking about, but I still like it...

I put my money where my mouth is and sent this in (wait about 6 seconds after page-load for the animation to start): <http://aarongough.com/hello_world.html>

<comment><USER37> Stephen was kind enough to tell me that my entry was 'fail' because it 'Killed woodland animals'... When I asked him which ones he replied:

      All of them,
      Best,
        Stephen

Wow! Constructive! I was hoping that the ad was written with humor, but apparently not!

Good luck with that elitism!

</comment></comment><comment><USER38> My submission: <http://mandelaonline.info/helloworld.html>

<comment><USER39> I was silly, and ran it in chrome.

</comment></comment><comment><USER40> Sure, I'll bite at this, my submission

        include<stdio.h>
           int main() {
               for(unsigned long n = 154566997192872; n; n=n>>5) {
                   printf("%c",'`'+(n&31));
               }
           }

</comment><comment><USER41> Is it just me, or does anyone else think that hiring someone who can't write a hello world app without using one of their "fail" methods is a really stupid idea?

</comment><comment><USER42> I guess they want to hire a programmer who would refuse to find the simplest solution to the problem but rather obfuscate it, making maintainability a nightmare.

</comment><comment><USER43>
      $ cat /usr/share/dict/words | egrep -o "(^world$)|(^hello$)"

</comment><comment><USER44> T-t-t-timecube!

</comment><comment><USER45> First read: WTF!

Second look: Awesomely original</comment>


Do lower corporate taxes lead to higher wages? - <AUTHOR> https://www.reddit.com/r/NeutralPolitics/comments/6x2d8r/is_there_data_that_supports_the_conservative/ <comment><AUTHOR> I had to shorten the title in order to submit it. Original is: Is there data that supports the conservative claim that lower corporate taxes leads to higher wages?

There's a few interesting replies with lots of sources backing up their claims.</comment>


Will the Next Zuckerberg Be a Designer, not a Hacker? - <AUTHOR> http://www.technologyreview.com/business/37449/?p1=BI

<comment><AUTHOR> What a designer is needs to be better defined. I went to school to get an MFA in Design and I'm still uncertain of exactly where the boundaries of "Designer" are.

</comment><comment><USER2> Posted yesterday: <http://news.ycombinator.com/item?id=2480450></comment>


Ask HN: Is the market efficient or not? - <AUTHOR>

I suppose this is the defining question of our century. What do you guys think? <comment><USER2> The EMH doesn't take in to account arbitrage risk (<http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1292533>) among other things.

Bonus questions: Is it so inefficient that models based on EMH should be replaced? Is there a better assumption we can base finance on?

</comment><comment><USER3> The old saying attributed to John Maynard Keynes is that the market can remain irrational longer than you can remain solvent.

</comment><comment><USER4> I don't believe it is in the short term efficient nor that its self- correcting, in the short term. In my opinion, the only way to reliably make money is to have insider information. People day-trading with no non-public information are trying to extract patterns from noise.

</comment><comment><USER5> A market's efficiency is inversely proportional to its complexity -- proportional, that is, to the average understanding of its participants.</comment>


A regression is the kernel not giving the same result with the same user space - <AUTHOR> http://lkml.iu.edu/hypermail/linux/kernel/1710.3/02474.html <comment><USER3> Mercurial, made by another (in my opinion) much more well-spoken kernel hacker, is what really introduced me to the concept that you do not break interface for downstream users, no matter how wrongly you may think they are using the interface.

It's an attitude that is difficult to convey because software developers always want to have the freedom to "improve" their own software, even at the possible cost of breaking something for some users (and worse, even telling users that they shouldn't have been doing that in the first place).

I keep going back to this blog post which I wish more people agreed with (Steve Losh is another person influenced by Mercurial):

[http://stevelosh.com/blog/2012/04/volatile- software/](http://stevelosh.com/blog/2012/04/volatile-software/)

<comment><USER4> Minor point, but he puts Python in with software that "almost never breaks" on update. _Really?_ Am I missing something? Maybe he just hasn't tried running Python 3 yet...

<comment><USER5> Python 3 is a similar language with a similar name to Python 2. It shouldn't be considered an update, nor applied as one.

<comment><USER6> Yet the Python 3 executable has the same name as the Python 2 executable...

<comment><USER7> No they don't. At least one of them has a number after it.

<comment><USER6> I got both Python 2 and Python 3 installed on my machine, from the official distribution, and both have "python.exe", no numbers.

</comment></comment></comment></comment></comment></comment><comment><USER8> Linus's followup post later on in the thread explains his position in more detail and is a pretty good read:

[http://lkml.iu.edu/hypermail/linux/kernel/1710.3/02487.html](http://lkml.iu.edu/hypermail/linux/kernel/1710.3/02487.html)

<comment><USER9> Interesting.

> Behavioral changes happen, and maybe we don't even support some feature any > more. There's a number of fields in /proc/<pid>/stat that are printed out as > zeroes, simply because they don't even _exist_ in the kernel any more, or > because showing them was a mistake (typically an information leak). But the > numbers got replaced by zeroes, so that the code that used to parse the > fields still works. The user might not see everything they used to see, and > so behavior is clearly different, but things still _work_, even if they > might no longer show sensitive (or no longer relevant) information.

I'm not sure I prefer the described result. If my application depends on some of those zero'd fields, it seems like that has potential to cause serious debugging problems, as opposed to just causing an error on the parse.

<comment><USER10> > If my application depends on some of those zero'd fields, it seems like that > has potential to cause serious debugging problems, as opposed to just > causing an error on the parse.

if your app didn't used to handle the 'zero' case (assuming zero was a "valid" value for said field), then the app was poorly written and would'be been broken in the first place. However, if the app _did_ handle the 'zero' case, then the app continued to work! The end user would've been none-the-wiser about the change (mostly), and some time later, the app could be upgraded to ignore those known fields.

Causing a parse error would mean the app stopped working altogether. Much worse a result for the end user.

<comment><USER11> There are many cases where continuing with invalid data is much worse than a parse error. Perhaps that's less likely in this case (hopefully your credit card payment doesn't depend on the values in /proc/<pid>/stat), but as a rule, silently continuing with meaningless data is scary.

<comment><USER12> Not when the application was to supposed to handle the invalid data anyway before.

Because you had to handle the zero case before right?

The idea is that in the worst case you get an error message, not an altogether crash.

</comment></comment></comment></comment></comment><comment><USER13> Someone needs to codify this shit for when he leaves. Its surprising that he still needs to scream at people after two decades of kernel work. I don't have a lot of faith that whoever comes after him will be as proud of the kernel as he is given they just inherited most of it.

Succession is a weird concept with linux but the fact that it has always been more stable than the other OS' is I think the main reason it is been so successful in the internet age.

An example of a failed succession is Tim Cook; the guy is the complete opposite of Jobs. Just take a look at the apple website nowadays. A product guru would not sell three generations of iphones that are all cannibalizing each other and lack any real differences.

<comment><USER14> We will hopefully have a new kernel written in Rust by someone new.

<comment><USER15> God, I hope not. Ground-up rewrites (when they even succeed) typically lose features, performance, _and_ security, since they don't have the benefit of 20+ years of correcting mistakes. Plus you lose all your contributors.

However, Rust _is_ linker compatible with C, and can be runtimeless, so rewriting the kernel piecemeal over time instead could be great. ;-)

<comment><USER14> This is what I meant. Any ground up rewrite will be reinventing the wheel and hence too expensive.

</comment></comment></comment></comment><comment><USER16> John Johansen will survive. Linus has made it incredibly damn clear what "no user space regressions ever" mean. See f.e the similar rant from 2012: [https://lkml.org/lkml/2012/12/23/75](https://lkml.org/lkml/2012/12/23/75) And it is his kernel so it is his rules. John Johansen admitted he messed up ([http://lkml.iu.edu/hypermail/linux/kernel/1710.3/02539.html](http://lkml.iu.edu/hypermail/linux/kernel/1710.3/02539.html)) and promised to handle things better in the future so all is well.

<comment><USER3> > John Johansen will survive.

We really need to stop excusing Linus's behaviour. Just because we may happen to agree with what he is saying doesn't mean we also have to agree with how he is saying it.

<comment><USER17> Disagree. It seems like Linus' acerbic and direct means of communicating is the only thing keeping garbage code out of the kernel. He's also made his views on "why not be nicer" well known. People need to get over it - <USER2> project, his rules.

Plenty of other projects out there to hack on if getting yelled at when you disengage your brain is too much. Most of which don't have the obsession with not breaking stuff for the end user...

<comment><USER18> > acerbic and direct

Isn't this just swearing?

> the only thing keeping garbage code out of the kernel.

I'm not sure if I'm buying that. It's possible, sure but on the other hand: It's not because the other way (i.e. communicating in a nice way, without all the swearing and direct attacks - which is imo not the same as direct _communication_ ) hasn't been tried that somehow proves it won't work. E.g. I know repos where one maintainer is kind yet gets things done, and another one seems to have borrowed his communication style from Linus and gets less done. Because people just give up, being sick of being yelled at in an unpolite manner. Is it that hard to be respectful, even when disagreeing?

<comment><USER19> Do people who don't break users and lie about it get yelled at? Why are impolite words worse that actual harmful actions?

<comment><USER20> Though I don't disagree with Linus' words. He could convey the same thoughts without swearing. I don't swear and I'm very capable of correcting people when they mess up.

<comment><USER17> Why is not swearing a virtue?

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> As much as I think the general principle of "no userspace visible change" is great, I can't make up my mind on whom I agree with the most in this specific instance.

My understanding is that some distros (e.g. OpenSUSE) ship with AppArmor in a whitelist mode where things have to be explicitly permitted by policy, otherwise they're denied by default. AppArmor introduced a new class of actions that wasn't there before, and with these restrictive policies it's causing daemons to crash (because it gets auto-denied).

The whole point of these policies is to not expose new attack surface if it's not needed by the software. It's going to break whenever AppArmor will start supporting more checks, unless policies get pinned to a specific version of AppArmor. But AppArmor doesn't currently support this (they refer to it as "features ABI" in the thread).

WAI?

<comment><USER22> It's interesting to see how it works with SELinux. The Fedora distribution upgrades to a new kernel version often, so after a few months you start seeing lines like these in the kernel log:

      [   14.586798] SELinux:  Permission getrlimit in class process not defined in policy.
      [...]
      [   14.586887] SELinux:  Class infiniband_pkey not defined in policy.
      [   14.586888] SELinux:  Class infiniband_endport not defined in policy.
      [   14.586888] SELinux: the above unknown classes and permissions will be allowed

That is, the kernel part of SELinux supports more checks, but since the policy is old and doesn't know about them, they are allowed by default.

<comment><USER23> That's not good from a security point of view but I guess it does avoid breakages.

<comment><USER24> No, it is neutral from a security point of view: previously you couldn't configure the new thing at all, now you upgrade to where you can configure it, but isn't you didn't configure it the last time you configured everything (because you couldn't) so it default to as if you had enabled it. When you come back latter and think about this again you enable the new configuration with the right whitelist, but until then things work just as well as before.

</comment></comment></comment></comment><comment><AUTHOR> and later he clarifies it thusly:

''' People should basically always feel like they can update their kernel and simply not have to worry about it.

I refuse to introduce "you can only update the kernel if you also update that other program" kind of limitations. If the kernel used to work for you, the rule is that it continues to work for you. '''

<comment><USER25> For user experience reasons that seems like a extremely sensible principle. But doesn't this make fixing some security issues impossible?

<comment><USER26> From the followup message Kalleboo linked to:

> There have been exceptions, but they are few and far between, and they > generally have some major and fundamental reasons for having happened, that > were basically entirely unavoidable, and people _tried_hard_ to avoid them. > Maybe we can't practically support the hardware any more after it is decades > old and nobody uses it with modern kernels any more. Maybe there's a serious > security issue with how we did things, and people actually depended on that > fundamentally broken model. Maybe there was some fundamental other breakage > that just _had_ to have a flag day for very core and fundamental reasons.

> And notice that this is very much about _breaking_ peoples environments.

So breaking userland is possible if there is literally no other way, but

1\. it's the "nuclear option "of kernel changes

2\. it will be acknowledged as _breaking_ users's environments

<comment><USER27> A number of years ago some dillhole became annoyed that strings in the kernel inconsistently capitalized null, sometimes it was "null" sometimes "NULL". So they submitted a patch to make them consistent. This broke the iscsi userland. As far as I know, it was never reverted.

</comment></comment></comment></comment><comment><USER28> I'm glad Linus has this attitude and it is unfortunate it's not present in some other places

Though _it is_ annoying if you're at the receiving end of it, own up (the opposite of what the patch author was doing)

<comment><USER29> Annoying and hurtful, yes, but at the same time, he's not wrong - you fucked up, you did bad and you should feel bad. The upside of this rant too is that the author is not "fired", as such, but told to shape up or gtfo. In a lot of companies, mistakes are accepted, fixed, and forgiven without adding a bit of emotion to it. I think adding this kind of emotion will have a bigger impact and will make the receiving end do better.

<comment><USER30> How? Really? Ask that to a child beaten up by their parents in the street. I am sure that child won't make the same mistake again. I am not interested about if Linus is right or wrong, many other people have done that already. I am more interested the way that he speaks. I am gonna go ahead and say it. The way he speaks in this email is ugly, wrong, and should never be encouraged. The language we use is important, even though sometimes it takes more effort, love takes effort, good things take effort, and good communication takes effort too. We should at least try to be nice. Otherwise life would be kak.

<comment><USER31> Equating this email to a parent beating their child is a false equivalency. Firstly, because Linus has not physically attacked the developer, and secondly, because the developer--unlike the child--should know better. This is more like Gordon Ramsay going off on a chef who has just told a customer off for not liking his burnt toast.

<comment><USER30> I agree with the first part, but not with the second part. I believe equating John's behaviour to a chef who has told a customer off is just as distant as mine.

If I was looking exact equivalent, I would just send the same link to the same email.

I am using empathy here. I don't know you guys, you may feel ok if you get shouted when you do wrong when _contributing_ to a project, but I would feel bad, and as a human, I don't think my feelings are not important. If it is coming from an important person like Linus Torvalds, this would hurt even more, and really I don't see anything disrespectful to anyone in John's email.

<comment><USER31> I would argue that the best response to an expert telling you that you are wrong is to _fix the problem_. While your feelings do matter, the stability of the kernel matters more, and you cannot discount Linus's message because you think it is too emotional in tone. At the end of the day, Linus is right, Linus created the project, Linus is leading the project, and he is using strong language to inform you that he needs John to change his approach to this problem for the sake of the project.

On a slightly more pragmatic note, Linus would not be angry if John hadn't been trying to break Rule Number 1 for three weeks in a row, so an alternative solution is to simply not break the rules. Granted, if you disagree with the rules on a fundamental level, that doesn't work--so, third solution: leave and start your own project.

</comment></comment></comment></comment></comment></comment><comment><USER32> Linus is such a breath of fresh air. I'll take an honest, emotional, impossible to misconstrue, ass-chewing over the alternatives. Too often there's an avoidance of straightforward, blunt speech that conveys exactly what is meant. I really have better things to do than try to parse nonspecific beating-around-the-bush and deconstruct word-castles.

<comment><USER33> I think a good leader could get the point across without resorting to bullying.

<comment><USER34> I wouldn't call it bullying. He isn't attacking the committer personally or due to anything outside the issue. He isn't hounding the committer.

Bluntly telling someone they really screwed up and need to stop denying it isn't bullying. Someone being mean isn't bullying.

<comment><USER35> Dressing someone down publicly, in a tone based on anger and frustration, is a form of humiliation, and humiliation is a form of bullying.

<comment><USER36> Brutal honesty isn't for everyone. I personally grew up with friends who would deal out this kind of thing and I wouldn't feel bullied or humiliated. Sometimes it got to you but, there's no way around that, but over time you learned to develop thicker skin and bounce back without getting feelings hurt.

Especially when it's a personality style combined with the fact it comes from a place of caring deeply about the subject... then the motivation is not just trying to hurt the other person. This is the maturity, the point you learn to see in people.

Clearly Linus is heavily attached to the project and the person he replied to has been pushing an unpopular position for 3 weeks. It didn't come out of nowhere. He's also not new to this game. He's not some new intern, who doesn't know the deal, getting bullied by a CEO.

There has been a big culture trend to treat every small comment as potentially devastatingly hurtful, training kids to be thin skinned, and in my opinion, this highly disincentivizes honesty and will create a lot of inefficiency in business. As it requires a significant time investment to make sure even seemingly harmless statements are not 'hurtful', employing subtlety and skirting around an issue indirectly requires significant cognitive load. In a high volume, high pressure projects like the Linux mailing list this could really add up and generate bad decision making, as people will rather avoid an issue then invest in saying it carefully.

The ROI in that trend is questionable, as you can train people to see beyond the words and look at the person's real motivation and meaning, as it is not a given raw honesty is coming from a place of personal attack.

That said, obviously otherwise real hurtful and mean attacks, without an underlying purpose and genuine motivation other than to hurt the person, should never be tolerated. But sacrificing full honesty and non-heavily filtered emotional opinions in order to never have these personal attacks is just not worth it IMO.

<comment><USER35> Yeah but the thing is, I don't see how our points conflict.

Yes, by all means people should try to develop a thick skin and would benefit from that throughout life. That would lead to X% improvement and Y% who still were dealt with in a counterproductive way.

There's a wide range of capacity for dealing with this stuff. General Macarthur was infinitely strong minded, but when he saw someone with war induced PTSD in a hospital bed he slapped him across the face for being a coward. I give him the benefit of the doubt that his own strength made it difficult to see what was a much less understood thing back then. This case is not even close to PTSD, but the concept is the same in that emotional capacity varies widely, even when we practice resiliency.

Linus caring passionately about the project I think is irrelevant, the question is what leadership approach yields the desired results with the least downsides.

>...a culture trend to treat every small comment as potentially devastatingly hurtful, >training kids to be thin skinned...this highly disincentivizes honesty and will... >create a lot of inefficiency in business...

That's the fallacy right there. There's nothing stopping people from demanding excellence, demanding results. Indeed, _high standards should be the bar_ , and if their are multiple ways apparent to achieve them, the one with the least negatives should be applied. That's smart for both business and morality.

>>sacrificing full honesty and non-heavily filtered emotional opinions in order >>to never have these personal attacks is just not worth it

This is another critical point. I _do not_ advocate (and I think many others as well) for one second that honesty, directness, fidelity, and impact of communication be sacrificed. I think in some cases you do have to break eggs to make an omelette. I just believe the cases where being an asshole is required to achieve a certain level of effectiveness is in general exceptional, and that it also wasn't the only way in this particular case.

Btw, none of this is really a critique of Linus. Yes I think he could have done better, but there are thousands of conversations like this everyday. This just happens to be a mini case study in leadership styles and the options for achieving the required results.

<comment><USER36> > General Macarthur was infinitely strong minded, but when he saw someone with > war induced PTSD in a hospital bed he slapped him across the face for being > a coward. I give him the benefit of the doubt that his own strength made it > difficult to see what was a much less understood thing back then. This case > is not even close to PTSD, but the concept is the same in that emotional > capacity varies widely, even when we practice resiliency.

I believe you mean General Patton here, not Macarthur. I know this story well and I don't think this came from a place of personal attack either. It came from a place of misunderstanding. This is the critical difference I'm getting at. The personal motivation is what matters, not the lack of preemptive filtering of the words or actions themselves.

The solution there was an evolution of the understanding of PTSD. The General was caring deeply about such an important thing, such as not letting well- trained soldier be a coward and hiding in the hospital when other men are dying in the field. And he saw many young kids die and it made him raw.

It's also been said the General may have had his own PTSD and emotional problems, and he wanted to attack the weaker man who made HIM feel that way.

Ultimately he was wrong factually, for misunderstanding the motivations of the soldier. The soldier wasn't being a coward (AFAIK) but suffering from serious mental trauma. If this happened in 2017 it would be a different story because Patton should have known better and what he did was abusive in that context. AND Patton could also have been better informed about his own risks of behavioral problems if he had modern science and education.

Does this mean Patton's brutal honesty was the problem? Or was it the general understanding of PTSD? I believe the latter.

Ultimately this doesn't mean Patton shouldn't have been brutally honest with his regular troops on the battlefield. Which he was, and he was also brutally effective at running the war too, and he was loved for it by his troops. The guy in the hospital is a different story and should have never happened, but I don't think I would have sacrificed Patton's honesty because society and common sense was wrong about a few subjects.

<comment><USER35> You're right it was General Patton, [https://en.wikipedia.org/wiki/George_S._Patton_slapping_inci...](https://en.wikipedia.org/wiki/George_S._Patton_slapping_incidents).

However the point was not Patton did wrong, as I mentioned I believe he just wasn't aware.

The point was people have massively different reactions to emotional stress. This is why two people with identical wat experience may or may not get ptsd. Training for emotional stress has limits.

You keep saying you wouldn't want to change the virtues of these leaders. I'm trying to say (forget Patton) most times their virtues don't come inherently from being an asshole. Their virtues come many personality traits, strength, courage, talent. We don't have to, and shouldn't give up thes virtues. That doesn't meant they can never be optimized.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER37> I'm always eager to read Linus's rants. I wish more of my coworkers were like him. I hate the environment where nobody reacts strongly to anything! If somebody fucks up hard and refuses to own up, I (or whoever's in charge) should be able to shout at them. It's only natural.

<comment><USER38> I disagree. To me he usually comes across as an asshole, albeit an extremely smart and accomplished one. A working environment where the person at the top can be relied upon to react to human failings with an aggressive, sweary [1] rant is not somewhere I ever want to work.

[1] I'm aware that use of profanity in everyday speech is common in Finland. I don't mind swearing per se, but I find its over-use a bit tedious.

<comment><USER39> Anecdata: I grew up in Finland. It's common if you're 15-16 and in middle school, but I've rarely heard adults swear in the workplace or in public (unless inebriated).

If Linus wants to use perkele management, then I guess it's his project. Doesn't mean it's the right way to do things.

<comment><USER37> > It's common if you're 15-16 and in middle school

This part is probably globally true :D

</comment></comment></comment></comment><comment><USER40> I can understand and empathize with both perspectives here. On the margin, is it better to have consistent interfaces, or simpler implementation? This debate reminds me of the worse-is-better design style, which is supposedly at the root of Unix's success.

[https://www.jwz.org/doc/worse-is-better.html](https://www.jwz.org/doc/worse- is-better.html) (copy-paste the link in a new tab. _Do not_ click on it)

 _The worse-is-better philosophy is only slightly different:

\- Simplicity-the design must be simple, both in implementation and interface. It is more important for the implementation to be simple than the interface. Simplicity is the most important consideration in a design.

\- Correctness-the design must be correct in all observable aspects. It is slightly better to be simple than correct.

\- Consistency-the design must not be overly inconsistent. Consistency can be sacrificed for simplicity in some cases, but it is better to drop those parts of the design that deal with less common circumstances than to introduce either implementational complexity or inconsistency.

\- Completeness-the design must cover as many important situations as is practical. All reasonably expected cases should be covered. Completeness can be sacrificed in favor of any other quality. In fact, completeness must sacrificed whenever implementation simplicity is jeopardized. Consistency can be sacrificed to achieve completeness if simplicity is retained; especially worthless is consistency of interface.

Early Unix and C are examples of the use of this school of design, and I will call the use of this design strategy the ``New Jersey approach.'' I have intentionally caricatured the worse-is-better philosophy to convince you that it is obviously a bad philosophy and that the New Jersey approach is a bad approach.

However, I believe that worse-is-better, even in its strawman form, has better survival characteristics than the-right-thing, and that the New Jersey approach when used for software is a better approach than the MIT approach._

<comment><USER41> That "worse-is-better" link redirects to a rather _rude_ Imgur image. I'm guessing the author dislikes HN. Following the same link from a Google result did not redirect to the Imgur image.

</comment></comment><comment><USER42> > "We simply do not break userspace"

Wish this would be a goal for more of the application environment on Linux than just the kernel.

<comment><USER43> Indeed. I upgraded a Ubuntu installation a while ago. The network just stopped working because the developers of NetworkManager had decided that NM should no longer manage wired network connections on some Ubuntu configurations.

That is just a crappy attitude and I have to say NetworkManager is generally one of the buggiest and most unreliable pieces of software I have ever used. And I'm actually making a great effort to be polite here.

</comment></comment><comment><USER44> Linus is right but his choice of words seems unprofessional bordering on harassment. Almost sounds childish in parts, especially the ALL CAPS screaming he does. Its cool to be passionate but also be civil.

<comment><USER45> Linus has addressed so called "professionalism" several times, one of the best discussions is here: [https://lkml.org/lkml/2013/7/15/427;](https://lkml.org/lkml/2013/7/15/427;)

Linus's point of view on overall "professionalism": [https://lkml.org/lkml/2013/7/15/547](https://lkml.org/lkml/2013/7/15/547)

<comment><USER46> Goddammit, I wanted to go to sleep early tonight.

</comment></comment></comment><comment><USER47> It's uncannily similar to him going nuclear on a guy called Mauro in 2012. [https://lkml.org/lkml/2012/12/23/75](https://lkml.org/lkml/2012/12/23/75)

<comment><USER47> It seems to be kind of a running gag, and I wonder _what else_ do people imagine is what the kernel is supposed to satisfy than as many other people's expectations as possible?

</comment></comment><comment><USER48> The only time Linus gets talked about here is in context of conflicts. This creates a fabricated one sided image of a person who has now given us Linux and Git.

Its not a corporation, the tradition and history is completely different, the levels of formality are much lower and the context and culture is completely new.

There is no traditional hierarchy and the authoritarian structure that most including commentators here work under in the corporate world.

No one works for Linus and he has zero power over anyone. Commentators pretend its all roses in their world yet the corporate world is full of people who have power over others and are actually abusive.

Linus's emails are tame stuff and those casually comparing this to abusive behavior are simply devaluing actual abusive behavior that becomes possible under non transparent authoritarian structures.

</comment><comment><USER49> "the first rule of kernel development" is so awesome to have compared to what e.g. distros do with GLIBC.

Remember when they changed behavior of memmove, which broke user code including the damn flash player, and then blamed _users_ for that?

E.g., Drepper seems to be the person who is an opposite of Linus.

</comment><comment><USER50> I was recludant to agree woth Linus at first. Why should we avoid break hard? I understand we wany to avoid breaking user interface as much as possible - who would want to use an unstable API? But why is it better off to let things fail silently? For example he cited certain obsolete fields in /proc/stats return zeros.

Is it because Kernel is used by so many people and projects we can't afford having some <insert your favorite Linuz utilit> broken after upgrading to a new kernel. Replace Linux kernel with OSX or Android etc

Yes of course. But I feel the consequence of never break your interface and never blame userland is to force the users to write tests that can report changed behavior.

</comment><comment><USER51> Poor guy. Linus just melted his face off.

Makes me scared to even _consider_ contributing...

<comment><USER52> Plenty of people claim that they're scared to contribute because Linus might yell at them. That's unfounded for a lot of reasons.

TL;DR: Test your code before you submit it. Don't accept or acknowledge patches from others that haven't been reviewed or tested. And if you make a mistake, own up quick and he's not going to yell at you. It's pretty simple.

He will occasionally jump in and yell when people aren't accepting responsibility for problems they caused. Especially when they won't accept nicer, less authoritative criticism from their peers.

That's what happened in this case. Check the follow-up message in the thread where Linus explains his dissatisfaction ([http://lkml.iu.edu/hypermail/linux/kernel/1710.3/02507.html](http://lkml.iu.edu/hypermail/linux/kernel/1710.3/02507.html)). The contributor who caused the regression was caught denying that there was even a regression. His patch had already long been identified as the culprit and reverted. But over the course of _three weeks_ he was insisting that it was not a kernel regression. Essentially he dug in for 22 days saying that it wasn't his problem. And he wasted tons of valuable contributor time where people were nicely telling him that, yes, it was indeed a regression.

Multiple people were telling him about the "don't break userspace" policy and how it was a regression. And yet that contributor was still deflecting responsibility for the problems caused. But the problem is that this patch would leave the distros in the lurch - scrambling to update their configuration before the kernel breaks behavior. And that's without any ETA on their "long term ... flexible solution" ([http://lkml.iu.edu/hypermail/linux/kernel/1710.3/00380.html](http://lkml.iu.edu/hypermail/linux/kernel/1710.3/00380.html)). Thousands of people with varying levels of technical competency would have had their systems break in unexpected ways.

Quite frankly, he earned the dressing down. And plenty of people tried to be nice to him about it. It just didn't take hold in his mind until Linus dropped in to rudely remind him that even "correct" behavior is a regression if it breaks userspace. Also note that Linus said the issue had been escalated to him. Someone explicitly brought this to his attention because there was a distinct lack of progress due to CYA responsibility deflection.

</comment></comment><comment><USER53> Ahh, nothing like a good rant with my morning coffee !

</comment><comment><USER54> Many good summaries of the Linux kernel userspace compatibility policy are available. Search for them.

</comment><comment><USER55> Torvalds gets upset about people messing things up because he cares. He reminds me of Gordon Ramsey, who also gets a bunch of shit for being an asshole to people who ruin food in his kitchen -- but Ramsey has more Michelin stars than anyone else...

</comment><comment><USER56> I read Linus' reply and it's not clear to me if he is ok with the regression, is not ok with the regression, or even if he considers it a regression. I wish he'd stop trying to be so diplomatic.

</comment><comment><USER57> Eli5, What is kernel regression? Does he mean breaking backward compatibility?

<comment><USER58> A change was made to the kernel that broke some applications - this is called a regression (a bug introduced in an update). The developer who made the change that caused the bug in the downstream application tried to argue that it was the application's fault, not the kernel.

Linus then calmly and politely reminded him that the official policy of kernel development is that they never introduce changes that break applications.

<comment><USER59> You only say "calmly and politely" because Linus is a known pottymouth and frequently "tears people a new one". An email like this might get you demoted or fired in some workplaces.

</comment></comment></comment><comment><USER60> If the interface was simple, such as seL4's, we wouldn't have to see it become a clusterfuck which, to maintain userspace compatibility, can't be fixed.

It will only get worse over time.

</comment><comment><USER61> Linux is what it is because of the passion and principle that fuel rants like this. I hope he continues to be just the way he is, and never gives an inch.

</comment><comment><USER62> What a child. There's a difference between being direct and telling your co- collaborators that their opinions are "fucking idiocy."

</comment><comment><USER63> Same view as EVERY kernel regression it seems.

</comment><comment><USER64> What does "regression" mean in this sense?

</comment><comment> dis-sys glad that Linus is still 100% passionate on _his_ kernel. I will start to worry for the future of Linux when Linus stops doing such rants.

</comment><comment><USER65> Yikes, Linus on a bad day is not a pretty sight :)

<comment><USER66> It's the best sight there is . Got to love the man .

</comment></comment><comment><USER67> and here in node.js land, we have this beautiful thing call Code of Conduct /s

</comment><comment><USER68> the orange site truly is a self-perpetuating Stockholm syndrome chamber

</comment><comment><USER69> That's bonkers.

This sounds like a reasonable definition, but quickly it turns out to be completely insane.

Lets start somewhere far away from Linux, as far away as possible.

Windows XP SP2 blocked access to raw sockets for non-administrators. It also blocked access to \Device\PhysicalMemory to all user-mode code, regardless of the user running it. Linus would say this is a regression.

Fine, lets try something else.

I wrote some C++ code that violated the strict aliasing rule. It worked for me 15 years ago when compilers weren't optimizing so aggressively. I tried to compile it using the latest GCC and got strange results. Should I file a bug with GCC? Sounds like a bug according to Linus's definition. It used to work and now it doesn't. Who cares that I violated the rules in the first place?

"Now, hold on" I head you say. "We were talking about kernel and user, not compiling C++ code. That completely different!"

Well, sure, it's different. But it's also similar. I maintain that the point is the same, but lets go back to Windows for a second.

Lets say we have a program that used to parse the PEB.Ldr structs for whatever reason. In Windows 8 they went through a major change. This program no longer works. Is this a regression?

Raymond Chen has had to deal with this nonsense enough. For example: [https://blogs.msdn.microsoft.com/oldnewthing/20031223-00/?p=...](https://blogs.msdn.microsoft.com/oldnewthing/20031223-00/?p=41373/) And his blog is full of example of dumb programmers counting on internal, undocumented, subject to change and actually changing structs.

If you, the reader, think you're very clever and say it's dissimilar because the LDR structs are user- rather than kernel-owned and -managed structs I give you the same example with EPROCESS. Take a look: [http://terminus.rewolf.pl/terminus/structures/ntdll/_EPROCES...](http://terminus.rewolf.pl/terminus/structures/ntdll/_EPROCESS_x64.html)

The point is that "breaking" code that does things it wasn't supposed to to should be - and can reasonably be - considered a regression.

The very first example - with raw sockets - may be considered a regression, though I prefer the term "breaking change", since "regression" is a form of a bug, and this is not a bug, even if you think it's a bad policy.

The other examples don't even fall under the "Breaking change" the category. Nothing THAT WAS GUARANTEED was changed. If you counted on things that nobody promised you that would remain the same to actually remain the same that's your problem.

And back to Windows for a moment. Lets say someone uses the UpdateProcThreadAttribute API to set the mitigation policy on a child process it creates. Instead of only setting the bits he want (like PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON to force ASLR on all modules, PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_ON to block win32k calls and PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_ALWAYS_ON to prevent injection by the system of a couple sorts of plugins) he goes on to pass 0xFFFFFFFFFFFFFFFF. He wants all the possible mitigations! He's that smart!

Then comes along Windows 10 with its binary signature policy mitigation and (0x00000003ui64 << 44) is interpreted as PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALLOW_STORE. His child process can't load any of his DLLs. Clearly a regression under the Linus rules. Obviously not a regression.

From what I understand the situation is very similar to this. I'm quoting from John Johansen message on the thread:

It is entirely possible to use the 4.14 kernel on suse without having to modify policy if the policy version/feature set is pinned. However this is not a feature that suse seems to be using. Instead suse policy is tracking and enforcing all kernel supported features when they become available, regardless of whether the policy has been updated.

The clever folks at SUSE decided to enable all the protections/mitigations/features/whatever of AppArmor, including those that didn't even exist when they wrote this stupid policy. It's completely reasonable to think that a program restriction infrastructure's new feature won't restrict programs more. Sure. If it does that's a regression.

</comment><comment><USER70> _Slow clap_

</comment><comment><USER71> He is right. I'm sorry if he says "fuck" too much or whatever.

</comment><comment><USER72> Linus being salty is like soap opera for HN.

Pleasant and good mannered application programmers gasp when real men (aka systems programmers) communicate at each other.

</comment><comment><USER73> In any other kind of social/business arrangement he would be politely but firmly escorted out, possibly by security, for this kind of behavior. Being right or wrong is irrelevant.

<comment><USER29> Even when he's effectively CEO, visionary, and end-responsible for the business? He's the Big Boss of Linux, there is nobody above him in the chain of command. You're used to traditional businesses when there is no single end- responsible person, and when there is a public face for the company (like Jobs, Gates, etc), there is still a group of faceless shareholders above them that can choose to remove them. Not in this case. I like it myself, a dictatorship is a much more effective form of managing a software product.

<comment><USER37> And I'm pretty sure Gates and Jobs were similar in their time.

<comment><USER74> For example: "My First BillG Review" [https://www.joelonsoftware.com/2006/06/16/my-first-billg- rev...](https://www.joelonsoftware.com/2006/06/16/my-first-billg-review/)

<comment><USER37> That was a very good read. Kinda sad at the end.</comment></comment></comment></comment></comment>


Blank comments in Facebook - <AUTHOR>

If you comment with only "0" (zero), it'll appear as if you didn't comment anything (blank comment). Is this a bug or a feature? <comment><USER2> Probably some debugging feature someone forgot to turn off.

</comment><comment><USER3> Could be a bug with the emoji parser. The iOS apps don't show emoji in comments and looks like they do show "0".</comment>


Ask HN: Software distribution and payment processing platform suggestions? - <AUTHOR>

I'm wondering if anyone has any knowledge of software distribution / payment processing platforms that they could recommend.  In my case, I am dealing with downloadable Windows software, and I am hoping to find a service that provides homepage hosting & downloads as well as payment processing so I can (at least in the short run) forego the whole merchant account process & online payment acceptance (I've done it before and it's not that bad, but for now I'd really rather just pay a percentage of sales fee and be done with it).
According to this article:
http://blogs.msdn.com/b/windowsstore/archive/2012/08/03/getting-paid-from-the-windows-store.aspx
....the Windows store takes a 30% cut, which is the same as Apple I believe.  So I guess that is comparatively "fair", but it is a little steep, and whereas the Apple store has a literal monopoly and you have no other options, for Windows software you have much more freedom.
Is there anything like this out there? <comment><USER2> you can sell on:

[1]sellz.com

cleverbridge.com (used by piritform.com)

gumroad.com

bitmicro.com(used by many game dev)

but alas those service doesn't available in my country(indonesia) I want to be software devloper like you ;-). Help me out,you see, my submission asking question about viable option to get paid.

<comment><AUTHOR> "It's just 5% + 25¢ per transaction. There are no hosting fees, no monthly fees, no bandwidth fees, no refund fees."

Now that sounds more like it!</comment></comment>


The Man Who Saves You from Yourself (2013) - <AUTHOR> http://harpers.org/archive/2013/11/the-man-who-saves-you-from-yourself/?single=1 <comment><USER2> This is a long article with a lot of items to discuss, but my take is that its "easy" to "brainwash" people because a lot of what's being offered is actually good, but, of course, used cynically and for social control.

The Hare Krishna kid didn't know it before, but he now realizes that meditation helps with his social anxiety. Except now, he's in bed with the Krishna's, instead of finding a personal and secular path to meditation. The girl in the Christian cult discovered the power of community and forgiveness. Funny how white centric these articles are. If a kid becomes a Krishna its suddenly a bewildering thing, but if a kid joins a gang on the south side of Chicago, we just shrug. Both these things have a lot in common; society, family, etc not providing what they should and not projecting those values to kids.

I think religiosity and cults rise when secular society fails at something. We're not telling kids that meditation can help them. We've not telling them that maintaining personal relationships is actually hard work and forgiveness even harder. Perhaps nowadays we are. I see a lot of what religion offers distilled into non-faith based practices. You can meditate without knowing the first thing about the buddha. You can engage in a personal spirituality without feeling guilted to show up for social functions (that only seem to empower the leaders of congregations). You can explore consciousness with drugs, lucid dreaming, or just via one's informed imagination, etc.

Empowering individuals to discover information on a personal basis is what the information age is all about. There aren't anymore gatekeepers. I imagine this keeps cult activity low, not to mention a lot of cult stereotypes are from the 60s and built upon mindless baby boomer excess and dramatic parent attention baiting like 'dropping out of society.' Not only are we in the post-cult age, we are entering the post-religion age. I don't see too many gen-x'ers and gen-y's dying to get up early to go to church to be sermonized by the ravings of 1st century zealots. I don't see how that's remotely in their interests.

<comment><USER3> _> a lot of what's being offered is actually good...meditation...society_

Indeed.

 _> I don't see too many gen-x'ers and gen-y's dying to get up early to go to church to be sermonized by the ravings of 1st century zealots. I don't see how that's remotely in their interests._

Here you hint at a problem: when you take away religion you leave a vacuum. What fills that vacuum? In our society, today, by default it is filled with "the pursuit of wealth". Gordon Gecko was a fictional villain in 1987 cinema. Jordan Belfort is a real hero in 2013 cinema. People _sense_ the emptiness of greed, and our nascent popular skepticism prevents them from filling the vacuum. Who can read this riddle?

Clearly, we need something to fill the vacuum that religion leaves that is also compatible with our skepticism. What replaces it is not necessarily a religion, but it serves the same purpose: morality and self-restraint. Secular humanism is clearly not enough.

<comment><USER4> > morality and self-restraint.

... and hope.

Note the lack of hope among so many skeptics. Start talking to them about the future and you quickly discover that not only is life meaningless and success essentially random, but human civilization is doomed to extinction due to ecological overshoot soon so who cares...

This lack of hope can be a self-fulfilling prophecy. It causes people to disengage and stop investing in the future.

<comment><USER2> Says who? All of the atheists I know tend to have some like of Star Trek-like futurist beliefs. Or watered-down Tim Leary beliefs of mind expansion and space migration.

Also, its probably not in our best interest to pretend that extinction events don't happen. If anything, if we're seeing some paranoia, it might be healthy paranoia. Imagine if Al Gore was a "everything happens for a reason" type person and didn't care to invest his political life into the environment. Instead he fought to popularize global warming and has helped moved policy forward. Policy that will probably make a difference to our grandkids. There's a lot of middle ground between the optimism of 72 virgins and the strawman doom-and-gloom person you describe.

The most hopeless people I know tend to be conservative religious types for whatever reason. "Get while the gettings good" seems to be their collective motto. Who cares about the future when Jesus/Buddha/whoever is coming back any day now!

<comment><USER5> Correction -- all of the atheists you know who vocally express their beliefs have Star-Trek-like beliefs, or other generally optimistic beliefs about the future. The atheists who think that there's a significant chance that we'll manage to wipe ourselves out in the next century generally aren't going to vocalize those beliefs, unless there's something actionable that can be done about it (though I don't think I actually know anyone who thinks that ecological overshoot is a real threat to civilization, much less humanity).

I think you see the pessimists on both sides of the secular / religious divide. The difference is that pessimism is generally low-status and frowned upon in secular groups, meaning that pessimists in those groups are generally not very vocal about their pessimism.

</comment></comment></comment></comment></comment><comment><USER6> This is a very sensationalized article. It seems to be based almost entirely on Singer's acolytes, people with severe conflicts of interest, and long- outdated information, and doesn't reflect the current understanding of 'cults'. Some starting points. On the value of the opinion of "the doyenne of cult scholarship", an issue that the OP seems to never mention despite constant invocations and quotes of Singer [https://en.wikipedia.org/wiki/Margaret_Singer#Cults](https://en.wikipedia.org/wiki/Margaret_Singer#Cults)

> Her expert testimony was no longer accepted after the report of the APA > taskforce on Deceptive and Indirect Methods of Persuasion and Control, of > which she was chair, was rejected by the Board of Social and Ethical > Responsibility for Psychology (BSERP) of the American Psychological > Association. Thereafter, courts shifted to accepting the position held by > the great majority of scholars studying new religious movements, moving away > from the perspective of Singer and others sympathetic to her brainwashing > thesis.[11] This had significant consequences later on, since it meant that > brainwashing could no longer be used a defence for the practice of > deprogramming.[11]

(Singer, incidentally, made a lot of money from being an expert witness peddling her debunked theories.)

Some relevant excerpts of less credulous research: [http://lesswrong.com/lw/imu/notes_on_brainwashing_cults/](http://lesswrong.com/lw/imu/notes_on_brainwashing_cults/)

<comment><USER7> Great lesswrong link.

It seems to indicate that people doing things in cults is a bit like spam, huge dropout rate but the people you wind up with will do lots of silly things.

The purpose of the initiation and nonsense is almost to weed out people who are not extremely controllable.

So it's not really brainwashing as much as gullible finding.

</comment></comment><comment><USER8> I remember this article when if first came out. Of all the weirdness outlined, one item, which wasn't even part of the main story and added as a bit of color detail, stated:

"Sullivan first worked with Singer in the early Nineties. One case involved a woman posing as a psychologist, who had persuaded several of her male clients to undergo sex-reassignment surgery. (The men later alleged that they had been brainwashed.)"

That is a level of brainwashing that I wouldn't have even believed was possible.

<comment><USER9> I'd be quite skeptical that she was ever able to successfully trick anyone into undergoing SRS. For one thing, it's fairly expensive. Secondly, no reputable surgeon would perform the procedure without verifying that the psychologist who wrote a letter was actually a licensed practitioner. Third, the WPATH Standards of Care specify that SRS should only be performed on patients who have two letters of approval from two separate practitioners.

<comment><USER10> I'd want some verification before taking that tidbit as fact, for sure. The way it's written, it sounds like an urban legend.

<comment><USER9> Yup, an urban legend designed to exploit the taboo and stigmatized reputation of "sex-change" surgery.

</comment></comment></comment></comment><comment><USER11> "Get it wrong, and we call it a cult. Get it right, in the right time and the right place, and maybe, for the next few millennia, people won't have to go to work on your birthday."

\- Dr. Robert Sapolsky

[http://youtu.be/4WwAQqWUkpI](http://youtu.be/4WwAQqWUkpI)

<comment><USER12> Yeah, that is a very resounding quote but it does not take into account that there have been few incentives to remain a Cristian and people have, despite not being "pressed".

Unless you think millions of people can be brainwashed by priests and pastors.

And it is remarkable how "Science" was born in those countries where they do not work on that date.

<comment><USER13> > it does not take into account that there have been few incentives to remain > a Cristian and people have, despite not being "pressed".

Yeah, cult followers, once brainwashed are typically very resistant. Besides social pressure to be Christian is often _massive_ , especially the USA.

> Unless you think millions of people can be brainwashed by priests and > pastors.

You seriously believe they can't? Hey, wanna buy a bridge?

> And it is remarkable how "Science" was born in those countries where they do > not work on that date.

Yeah, it was born _despite_ religion, when people stopped believing everything the priests and pastors told them and started thinking for themselves.

<comment><USER14> > it was born despite religion

I was born out of metaphysics, which, at that time, was primarily a spiritual and esoteric religious pursuit.

I think you mean "it was born despite exoteric religion".

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

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

</comment></comment></comment></comment><comment><USER15> I encourage anyone interested in cults to watch the documentary film "Kumare" which is available on Netflix and Itunes [1].

It's the story of a film maker of Indian origin who creates a cult persona and gains followers in the Phoenix area. It's really fascinating to see what kinds of people fall for it and how they are increasingly more drawn to him.

[1] [http://www.kumaremovie.com/](http://www.kumaremovie.com/)

<comment><USER16> Wow. There was actually a nice, sweet comedy about this exact scenario, called The Guru: [https://www.youtube.com/watch?v=lEIEb5jPhhA](https://www.youtube.com/watch?v=lEIEb5jPhhA)

<comment><USER17> 'The Guru' is a bad movie. Kumare on the other hand is much better and it is based on real life experiment to boot.

</comment></comment></comment><comment><USER18> The 'print' button opens a very readable version: [http://harpers.org/print/?pid=243068](http://harpers.org/print/?pid=243068)

<comment><USER19> there is a PDF version too.

</comment></comment><comment><USER20> Many years ago I had a friend who became involved with a Dahn yoga center. (No offense to yoga, I do it myself).

It started off innocently enough, but soon became (in my opinion) very obviously a cult. Not only did they make ridiculous claims and demand large amounts of money, it became all consuming, especially for his wife. My friend sometimes talked about "enlightened masters" and if that phrase doesn't ring the CULT bell I don't know what will. I became a bit concerned and suggested he stop going. He didn't listen. Soon enough, his wife was spending lots of private time with one of the instructors or officials at the local center. My friend was not concerned because according to him, that particular individual had transcended the desires of flesh and was pure in intent. At least... until his wife confessed to having sex with the guy (I'm sure this is against Dahn policy and this particular incident doesn't indite the entire "cult".... it's just the kind of danger cults bring). So, after a few "I told you sos" my friend and (reluctantly) his wife agreed to quit the Dahn center. A few months after that they joined some kind of fringe pentecostal church (what is wrong with people?). I shook my head in disgust and stopped hanging out with him. Later he and his wife divorced and he moved away and we lost contact.

I still see ads for Dahn from time to time portraying them as a harmless yoga center set up in the strip mall. In fact, some people here may respond angrily that they are NOT a cult. But based on their rhetoric they most certainly are. They may be slightly less pernicious than some cults but they are harmful, are after your money, and can cause you trouble. I have seen it first hand.

<comment><USER21> Vulnerable people are often still just as vulnerable even when you can convince them to leave one harmful, controlling influence in their lives; they will often just search out another right after.

</comment></comment><comment><USER22> There's a "Download PDF" button. Holy cow, my respect for Harper's, and perception of them as a serious publication, just skyrocketed.

Are any other online publishers doing that? It's not even that I'm going to print it out or anything, but clearly it shows that their priority is readership, not ad conversions.

<comment><USER23> >> "...my respect for Harper's, and perception of them as a serious publication, just skyrocketed."

Really? I have always thought of Harper's as first among equals in the respectable, serious-journalism cohort. I think it's the best grown-up publication available in America today.

<comment><USER22> Oh, I didn't mean that I thought they were lousy before, but now my perception is overwhelmingly positive.

</comment></comment></comment><comment><USER24> "The FBI hired him because he claimed to be a Vietnam veteran, but Sullivan discovered that this was a lie — during the war Nivette had been a student at UCLA."

This baffles me and lets me question the sincerity of the article. Can this possibly be the case?

<comment><USER25> UCLA as an ROTC student? 'Veteran' implies in the popular mind 'served in theatre' but couldn't it also mean 'was a soldier'?

<comment><USER26> A "veteran" is a person who served in the military. A "combat veteran" is a person who served in combat while in the military.

In the US Army's case, a combat veteran would have a Combat Infantryman Badge. In the Marines, it would be a Combat Action Ribbon.

</comment></comment></comment><comment><USER27> > Cult leaders and con artists are opportunists who read the times and the > ever-changing culture and adapt their pitch to what will appeal at a given > moment.

Multi level marketing, in particular a company called Nerium [1] is the closest thing I've seen to a cult lately.

[1]: [http://www.nerium.com/](http://www.nerium.com/)

<comment><USER28> All multi level marketing companies are cultish by nature. Realities such as market saturation simply don't exist, you're just not working hard enough / recruiting hard enough.

I spent a lot of time in south Florida, where it seems everyone in non- professional careers is hustling the newest MLM. The MLM recruiters are in turn driving their recruits into workshops like Landmark Forum, which is not a cult but is certainly cult-like. It promises the participant a "breakthough" in personal or professional life, but nearly everyone who participates in Landmark is there primarily to increase their MLM recruiting fu.

</comment></comment><comment><USER29> this: "Forget about their philosophy," he said. "Let's focus instead on who is really in power."

<comment><USER30> Although not precisely related, I always say 'follow the money' to find out why you see certain political ads, or certain magazine articles, or anything like to figure out who is really in power. Find out who benefits from people believing certain things and it will be like magically being able to understand a language you don't currently speak.

<comment><USER13> It can be used as a tool to deceive and lead you deep into conspiracy theory delusions as well, however.

Records and studies show that vaccinations have saved millions of lives? No, that's just Big Pharma propaganda to make you inject your children with expensive poison! Follow the money!

Scientific evidence shows that homeopathy doesn't work? No, again it's Big Pharma, attacking a superior competition! Follow the money!

Massive consensus among the scientific community that climate change exists, is a serious problem, and caused by burning fossil fuels? No, those scientists are just drumming up publicity to get grant money! Follow the money!

<comment><USER30> This is also true, you are correct. But when you see news stories about something, say, 'Turns out corn syrup is good for you!' showing up on the evening news, and on Access Hollywood, and on the Yahoo! front page, and on ESPN, and on Jeopardy! questions all on the same day, there's something up.

I mean, this isn't some revelation I'm offering, it's just interesting as to why ESPN and Access Hollywood, who cover completely different genres, would both suddenly have a corn syrup story on their radar.

As for Big Pharma, I did used to wonder why prescription drugs were advertised on television...I mean, patients don't pick and choose their brands, their doctors do, right?

Until it hit me that often pharmaceutical companies find/discover drugs that don't automatically have a market. But if they advertise that new 'sleep disorder/re-order' drug, then people will think, 'Hey, maybe I need that' and start asking their doctor.

My doctor told me that people walk in all the time and ask if they should be taking some new drug they just heard of, and his reaction is 'why? you never had a problem with what this drug is describing before.' There are legitimate cases, but tv ads driving people to buy meds they might not even need is a real thing.

<comment><USER31> >I mean, patients don't pick and choose their brands, their doctors do, right?

Oftentimes, there's a choice between brand-name and generics, as well as different medications treating the same illness/disorder/symptom. In these cases, advertising would certainly have an effect. Or, maybe the ads serve as the push to convince people to take the step from OTC meds to prescription meds.

</comment></comment></comment></comment></comment><comment><USER32> Sadly, David Sullivan, the subject of the article, died of chronic lymphoma just around the time it was published.

[http://www.newyorker.com/online/blogs/books/2013/12/remember...](http://www.newyorker.com/online/blogs/books/2013/12/remembering- david-sullivan-1951-2013.html)

[http://www.sfgate.com/bayarea/article/David-Sullivan-PI- who-...](http://www.sfgate.com/bayarea/article/David-Sullivan-PI-who- infiltrated-cults-dies-4924222.php)

</comment><comment><USER33> _And even so, they resort to mass suicide only when they come under threat and have no other way out. Marshall Applewhite of Heaven's Gate, for instance, had a terminal illness._

I'm unaware of Marshall Applewhite having a terminal illness when he convinced 38 of his followers to commit suicide.

He feared he might have cancer but an autopsy revealed he didn't have it, and I'm unaware of any evidence that says that was a motivating factor in the suicides.

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

 _Medical examiners determined that his fears of cancer had been unfounded, but that he suffered from coronary atherosclerosis._

Most people his age (65) suffer from coronary atherosclerosis and it's not considered a "terminal illness" like pancreatic cancer would be.

[http://www.webmd.com/heart-disease/atherosclerosis-and- coron...](http://www.webmd.com/heart-disease/atherosclerosis-and-coronary- artery-disease)

 _After age 40, about 50% of men and one-third of women can expect to eventually have coronary artery disease._

</comment><comment><USER34> So here is a question :

What is the difference between a cult and an established religion ?

Is it the size of the following ?

Is it the time of origin, i.e. recent vs long ago ?

Is it the number of followers ?

Or is it some combination of the above, or something else altogether ?

<comment><USER20> Easy.

A "cult" is a disparaging term for a religion that someone other than yourself belongs to. YOUR belief group on the other hand is obviously not a cult, but a religion.

(Actually I guess it might be size, but in common vernacular I think the above is actually often the case).

<comment><USER25> Cults have another attribute: a mechanism for addicting members and keeping them, usually through psychological means.

<comment><USER35> So, Catholicism's / baptists / etc. hell, the Jehovah's Witnesses everlasting destruction, Mormon / Jehovah's Witness / Amish excommunication... ad nauseum.

<comment><USER25> Those are really passive techniques. Cults have active, planned techniques of mind control. Try this: [http://www.scribd.com/doc/514598/How-Cults- Seduce](http://www.scribd.com/doc/514598/How-Cults-Seduce)

<comment><USER35> I was a Jehovah's Witness and since leaving three years ago I have been struggling to differentiate between cult tactics and the control tactics of that particular religion.

<comment><USER25> JW tactics are definitely taken from the cult playbook.

</comment></comment></comment></comment></comment></comment></comment><comment><USER36> Tasty. Too bad people like him don't practice deprogramming us from greater evils than two-bit cults - for example, communism, capitalism, patriotism, orderism.

Each of these isms also demand suspension of thought and beliefs in either magic or the greater wisdom of authority figures.

<comment><USER37> Look, when a Fox News journalist says he needs to be with his family at the mall on Christmas eve to "create capitalism" I get a little worried. And sure, there are lots of cults built on these ideologies. But the ideologies themselves are not cults.

<comment><USER38> believing in some magic "invisible hand of the market" to always bring the best results sounds kind of cultish.

</comment></comment></comment><comment><USER39> Just a question for those of you here who've been around the block a few times; have you ever run across a company that acted like a cult? That espoused a messianic vision? That fostered an aura of infallibility around its leaders?

Just kidding. Apple, Google, Oracle and other tech companies are nothing like a cult. Not at all. In no way. It was rude of me to even suggest that might be a shadow of a possibility.

</comment><comment><USER40> This guy should help people who listened to the charlatans and then bought Bitcoins and Bitcoin ASICs.

</comment><comment><USER41> I want someone to save me from the people who want to save me from myself.

</comment><comment><USER42> fyi paywall

<comment><USER43> Click the PDF link.

</comment></comment><comment><USER44> +1 for using "to-the-tits" as a modifier of degree.

</comment><comment><USER45> This ends at a climatic moment prompting you to spend 40$ to continue reading. Fuck everything about this dishonest baiting. It's a shame because I enjoyed reading this up to that point.

Don't waste your time with this cliffhanger.

<comment><USER46> I was invited to support the publication, or click a button to continue reading. Clicking 'continue reading' revealed the rest of the article with no further prompts.

<comment><USER47> Worked for me as well.</comment></comment></comment>