GitHub Dark – Switch off the lights - <AUTHOR> https://cquanu.github.io/github-dark/?ref=hackernews <comment><USER2> I've been using a different GitHub Dark[0] for quite some time now. One of the best things about it is that it's very well maintained as keeping up with GitHub's own changes in markup and CSS makes things a bit of a moving target.

[0] [https://github.com/StylishThemes/GitHub- Dark](https://github.com/StylishThemes/GitHub-Dark)

<comment><USER3> Thank you very much Michael! Never thought about this, I just wish there was something that could change sites globally.

<comment><USER2> Deluminate[0] for Chrome does a pretty good job of this. For some sites I find it does better than whatever themes happen to be available on userstyles.org. In other cases, it performs pretty poorly but it's still far better than having to hack together something myself for sites I care about.

[0] [https://github.com/abstiles/deluminate](https://github.com/abstiles/deluminate)

<comment><USER4> I liked this a lot, but it is way too heavy. Almost kills scrolling here, even on super-light sites as HN.

<comment><USER2> Interesting. I haven't experienced any noticeable performance issues at all. My biggest annoyance with it is that it sometimes make horizontal scrollbars appear when they wouldn't otherwise.

<comment><USER4> My computer is old.

</comment></comment></comment></comment></comment></comment><comment><USER5> It is strange that we are all still living an apple marketing decision. Back in the days of green-on-black CRTs, apple decided to make their screens look like the paper it emulated. (A more extreme part of this was the tilting CRT screens to also mimic the aspect ration of paper). The human eye sees light. So reading illuminated text on a dark background is generally easier. But Apple did it first, MS followed, and white backgrounds seem here to stay.

It took some googling because I didn't know the terminology, but this is what I am talking about: A "Pivot" screen for the Mac by Radius.

[http://lowendmac.com/wp-content/uploads/radius-pivot- display...](http://lowendmac.com/wp-content/uploads/radius-pivot-display.jpg)

Another example of this is street signs. The oldest sign standards (speed limits, street names) are black text on white backgrounds. But the newer ones (highway information signs) are normally white on a dark green background, which is much easier to read at night.

<comment><USER6> > The human eye sees light. So reading illuminated text on a dark background > is generally easier.

The scientific literature on readability does not back this up. Results show large individual variability with a small overall preference for dark-on- light.

Some old papers cited here: [https://www.joedolson.com/2006/08/on-the- readability-of-inve...](https://www.joedolson.com/2006/08/on-the-readability- of-inverted-color-schemes/)

EDIT: Also here is a good example of how reading white on black is hard: [http://www.ironicsans.com/owmyeyes/](http://www.ironicsans.com/owmyeyes/)

<comment><USER7> Last link ([http://www.ironicsans.com/owmyeyes/](http://www.ironicsans.com/owmyeyes/)) probably makes the greatest point here.

After coming back to HN from that site, I've been seeing text superimposed everywhere.

<comment><USER5> Well, that isn't actually "white" on black. Assuming you have an LCD screen illuminated by leds, or florescent tubes, you are seeing some amalgamation of colours that, together, you recognize as white. This isn't blackbody colour.

Furthermore, white-on-black isn't really the best. It's just the inverse of what we see on most sites/devices. Try green, or red on black. It has a very different effect as it is better tuned to the biology of the human eye, which is why it works better in low-light conditions such as driving.

</comment></comment></comment></comment><comment><USER8> GitLab used to have themes that made it dark but we found that this was hard to maintain. New features would look bad in themes that were less popular. Right now you can only change the color and syntax highlighting theme in GitLab: [http://i.imgur.com/6v3b0g7.png](http://i.imgur.com/6v3b0g7.png)

<comment><USER9> I like this approach much better. I know _most_ Chrome plugins aren't a problem but it still desensitizes people to the one that might be.

<comment><USER8> Glad to hear that. I agree every Chrome plugin is a potential security risk. Like awesome screenshot [http://www.ghacks.net/2014/08/25/chromes-awesome- screenshot-...](http://www.ghacks.net/2014/08/25/chromes-awesome-screenshot- extension-turns-spyware-here-are-alternatives/)

</comment></comment></comment><comment><USER10> I don't know why this is trending on HN. It's a sloppy implementation of something that has been done better already. I cringed after installing this.

<comment><USER11> People upvote the idea, not so much the implementation.

</comment></comment><comment><USER12> Not sure how healthy the prevalence of dark themes is. Darkness leads to dilated pupils which leads to a shallow depth of field which leads to constantly adjusting focus – think SLR with a wide aperture.

Not sure about the effects, possibly none. Not sure if I want to be part of the experiment.

<comment><USER13> Isn't that more of an effect of ambient darkness? Focusing on something dark doesn't affect one's pupils, as far as I know.

Regardless, I've been using a dark GitHub theme¹ and a dark Firefox theme², as well as a variety of other dark themes (e.g. Emacs tao-theme, dark terminal themes, dark Thunderbird) with no ill effects (so far)—on the other hand, my vision is not the best anyway.

\--

¹ [https://github.com/StylishThemes/GitHub- Dark](https://github.com/StylishThemes/GitHub-Dark)

² [https://addons.mozilla.org/en-US/firefox/addon/ft- deepdark/](https://addons.mozilla.org/en-US/firefox/addon/ft-deepdark/)

</comment></comment><comment><USER14> Also known as "poor contrast simulator 2016"

When designing an inversion its important to increase contrast to maintain a perceived equivalence in overall dynamic range with the original.

Typography is affected, as well, in that the darker color is dominant over the brighter which results in small negative spaces seeming smaller and large ones larger. A slight increase in tracking and a reduction in word spacing is the typical approach for setting inverted type to maintain both legibility and readability.

</comment><comment><USER11> How is this better than [https://userstyles.org/styles/37035/github- dark](https://userstyles.org/styles/37035/github-dark), which also carries the same name?

<comment><AUTHOR> It's a different style (CSS). Color is obviously different, different people prefer type of different theme. That's why it's host on userstyles.org. Should i call it GitHub Night instead?

<comment><USER15> Yes, please find a new name if you can. It's too easily confused with our style otherwise. (I'm a maintainer of above style)

</comment></comment></comment><comment><USER16> Another alternative is Dark Reader[0]. It tries to offer a dark mode for all web sites and depending on the site this works surprisingly well.

[0] [https://github.com/alexanderby/darkreader](https://github.com/alexanderby/darkreader)

<comment><USER17> +1 for Dark Reader too. Tried several others available Chrome extensions but they would decrease performance on scrolling or would lack options.

</comment></comment><comment><USER2> My biggest annoyance when it comes to dark themes is with Chrome. Whenever I open a new tab even though my new tab page is black I still get a bright flash of full white for a couple seconds before the new tab page renders.

<comment><USER18> This has been an issue forever but it is finally being worked on

[https://bugs.chromium.org/p/chromium/issues/detail?id=21798](https://bugs.chromium.org/p/chromium/issues/detail?id=21798)

[https://bugs.chromium.org/p/chromium/issues/detail?id=470669](https://bugs.chromium.org/p/chromium/issues/detail?id=470669)

<comment><USER2> Awesome! Thanks for the pointers :)

</comment></comment></comment><comment><USER19> I love this. Any website where I am expected to spend any decent amount of time needs to have a dark mode. Very surprised so few websites support this.

<comment><USER20> Supporting two different CSS templates can add a lot of work, sometimes it's simpler just to officially support one.

<comment><USER19> I understand that and I'm definitely not expecting it from every website but if you have a website that basically depends on me spending a lot of time reading or doing something on that web page then you should try to not make it a horrible experience for me.

</comment></comment></comment><comment><USER21> This was completely unusable for me. I do commit reviews using side-by-side view and the dark theme here didn't have styles for the changed line highlights causing them to appear in original white.

This dark theme, however, did work: [https://userstyles.org/styles/37035/github- dark](https://userstyles.org/styles/37035/github-dark)

</comment><comment><USER11> All sites should support a dark low-blue-light theme. Maybe this should be some ergonomic standard. I've been using f.lux since its release, but it's still awkward to have those bright white sites when working at night.

</comment><comment><AUTHOR> Hi guys, I'm very committed to work hard on this dark theme. Hope you guys like it.

If you find any bugs/problems, please tell me. I'll release a fix within 24 hours. Appreciate all positive and negative feedback.

</comment><comment><USER22> I don't understand why github doesn't have such option in settings. It would be a lot better than all these 3rd party options.

</comment><comment><USER23> Is there a reason why this isn't an add-on to something like grease monkey? Just simply inject a little script into the page if the URL is GitHub and change the styles there? I don't normally personally do anything web wise but I've heard grease money is good?

I haven't added this to my browser, but how well does it display code too?

<comment><USER24> The addon for Firefox is Stylish [https://addons.mozilla.org/en- US/firefox/addon/stylish/](https://addons.mozilla.org/en- US/firefox/addon/stylish/)

In Stylish, install this theme [https://userstyles.org/styles/128271](https://userstyles.org/styles/128271) or this one [http://userstyles.org/styles/37035](http://userstyles.org/styles/37035)

</comment></comment><comment><USER25> The contrast in this is terrible. Light gray on darker gray is not going to make this easier for most people to read.

</comment><comment><USER26> It doesn't seem to work with ZenHub :-(

<comment><USER27> [http://userstyles.org/styles/37035](http://userstyles.org/styles/37035) does

</comment></comment><comment><USER28> I stopped using these types of tools a while ago because I always disliked the bright flash that was created when the page was initially loading but before the plugin was executed. I would always try to take a long blink when I clicked a link lol.

Has this problem been solved shy from using lynx/emacs/ect?

<comment><USER29> I haven't tried to work around that problem, but I see at least Firefox appears to allow you to change it from white: browser.display.background_color

<comment><USER30> I had a nice dark background and light foreground colour going for a few months but had to end up disabling it. Sadly, a ton of websites assume that text is dark and background is light, and don't specify one or the other in their CSS, so their sites look terrible unless one turns off site stylesheets entirely (in which case their sites look _really_ terrible, but in a completely different way).

I really, really hate what the web has become. Twenty years ago I could set my foreground and background colours and everything Just Worked™. Now … forget about it!

</comment></comment></comment><comment> yoz-y Hm, it seems that the text in the list of notifications is still black. On dark grey background it is not very legible.

</comment><comment><USER31> Reminds me of the Eclipse dark theme.

</comment><comment><USER32> GitHub should give this guy a bunch of cash and make this an option in the app.

</comment><comment><USER4> Why can't Stylish sync my styles to multiple computers?

<comment><USER13> Sign in to Firefox sync? It works for me. _shrug_

<comment><USER30> > Sign in to Firefox sync?

Only do that if you don't mind that it is completely insecure. The password you sign in is used to encrypt the master key for your account (which means that if you can remember your password, Mozilla can decrypt your synced data). Worse, the login code is JavaScript served from Mozilla's servers, so they can at any time target one a send one's password anywhere they wish.

<comment><USER33> Then host your own Firefox-Auth-Server and Firefox-Sync-Server. At least Mozilla has open-sourced those repos, and made their browsers capable of connecting to custom servers with a simple configuration change.

But hey, you'd still be running Mozilla's code in and as your browser. As you say, they can "decrypt your synced data" and "at any time target one a send one's password anywhere they wish" even if you self-host the sync and auth servers.

But at least Mozilla has a history of standing for the consumer and protecting user rights. And Firefox is perhaps the only browser that allows hosting your own sync and auth servers without having build your own copies of the browser.

<comment><USER30> > Then host your own Firefox-Auth-Server and Firefox-Sync-Server.

Only a server which you physically control — if it's in the cloud, it could be tampered with without your knowledge. And you must still use a high-entropy, unmemorable password.

> But hey, you'd still be running Mozilla's code in and as your browser.

There's a difference between trusting code at a point in time and trusting every single response ever. Sneaking a trojan into code which is visible to the world is hard; sneaking a trojan into a single targeted response is easy.

> But at least Mozilla has a history of standing for the consumer and > protecting user rights.

Sure, but that doesn't protect you against a single bad employee or against any government which Mozilla is subject to.

> And Firefox is perhaps the only browser that allows hosting your own sync > and auth servers without having build your own copies of the browser.

Yes, and I appreciate that. What really hurts is that Firefox _used_ to have great sync security. I ran my own sync server for years, and was very happy with it. But when they revised the protocol they destroyed its security. Firefox Sync is unacceptable for password storage (as is every other sync system of which I'm aware).

It's a distressing situation.

<comment><USER33> > Firefox used to have great sync security. I ran my own sync server for > years, and was very happy with it. But when they revised the protocol they > destroyed its security. Firefox Sync is unacceptable for password storage

Oh, I'm unknowledgeable about this. Could you expand a bit on why it is insecure or what they did to it to make it insecure etc. Even just links would be enough.

<comment><USER30> > Could you expand a bit on why it is insecure

Sure thing. I'm referring to [https://blog.mozilla.org/warner/2014/05/23/the- new-sync-prot...](https://blog.mozilla.org/warner/2014/05/23/the-new-sync- protocol/) for details of the new protocol.

Your synced data is encrypted with a 256-bit key kB. So far, so good. The problem is that kB is encrypted using a function of your Firefox Account password: if someone can guess or intercept your password, then he can decrypt kB and then decrypt any synced data.

So, how hard is it to guess or intercept your password? Well, if you can remember your Firefox Account password, it's almost certainly guessable given enough machines. Human-memorable passwords almost never have high enough entropy to survive sustained attack.

But maybe you store a truly high-entropy password (e.g. i2FH9E0G6PoCZm41C0pIJdLg1uOcGaA0GfhxKUtSQ) elsewhere, and enter it into the Firefox Account sign-in screen. Now no-one can guess your password, and that means that you're secure, right?

Wrong: the Firefox Account sign-in screen ([https://accounts.firefox.com/signin](https://accounts.firefox.com/signin)) is served from Mozilla's servers, which means that any time you visit it they may choose to serve JavaScript which transmits your password to them (normally they would perform all operations on your password locally).

'But I trust Mozilla to write Firefox!' you might argue. Sure, but it's (theoretically) possible to verify the Firefox source and binaries once; it's (theoretically) possible to verify that the source or binary they serve you is the same as that they serve to the rest of the world. With code delivered online, an attack can be targeted just once, at a single person: if you're not logging each and every login form's source code then you're exposed. A malicious (or compelled) Mozilla employee (or employees) could target a user; moreover, any government Mozilla is subject to could compel it to target a user.

Their old system performed all operations locally, always; it never downloaded and then executed source. It was secure. Their new system is not much better than, 'trust us.'

</comment></comment></comment></comment></comment></comment></comment><comment><USER34> This shit is beautiful. Never going back to white Github.</comment>


Vaadin Flow: Connecting Java and Web Components - <AUTHOR> https://vaadin.com/blog/vaadin-flow-the-next-piece-of-vaadin-10-is-now-in-developer-preview <comment><USER2> Seems interesting.. but can this be used in creating PWAs? I'm little concerned with the Server <-> Client communication with poor (or no) internet connection?</comment>


Locks Aren't Slow; Lock Contention Is - <AUTHOR> http://preshing.com/20111118/locks-arent-slow-lock-contention-is

<comment><USER2> I just ran across this gem of a sentence:

> I know teams which spent weeks fine-tuning a lock-free algorithm, subjecting > it to a battery of tests, only to discover hidden deadlock bugs several > months later.

How exactly can you deadlock in a lock-free algorithm?</comment>


The MIT license. What does it do? - <AUTHOR> There are arguably too many threads about the [MIT license][1] on the internet. What's worse is that most of them contradict each other or are at the very least misleading.
Let's try to figure it out together, shall we.
The license starts with a definition of the word "software." Specifically, it says that software isn't just code, but also "associated documentation files." Cool.
What follows is a detailed description of all the things you can do "without restriction, including without limitation." The things you're allowed to do are pretty much all the things. Cool.
In order to get to do all those things you need to satisfy a condition. The condition is to include the copyright notice and the permission notice in all copies. For the MIT license, that's pretty much everything but the disclaimer at the end. Cool.
All that seems pretty clear to me, and yet, you find comments like:
- You have to retain the original copyright.
- You aren't allowed to remove license comments from individual files.
- You aren't allowed to remove copyright notices from individual files.
The list keeps going. I'm sure you've read (hopefully not written) many of them yourself. I'd love to find out where these interpretations come from.
Assuming that I have a credits page* (not sure how you'd satisfy the condition without one) that includes the licenses, why wouldn't I be allowed to remove whatever I want from the code? "Without restriction" sounds unambiguous to me.
*If you're building native apps your "credits page" might be a directory hidden deep inside your app bundle.
[1]: https://en.wikipedia.org/wiki/MIT_License <comment><USER2> A license, like a ticket, is what gives you permission where you otherwise would not have any. Its the answer to the question: What gives you permission to distribute copies.

MITs condition for granting this permission is a single term: _" The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."_

You do not need to retain the original copyright notices as it exist in the files, so long the notice is included. You can remove the original copyright notice or license comments and copyright notices in individual files, as keeping them is not a condition of the license.

However, copyright also has a moral aspect to it, which include authorship. If you add your own copyright on something you have not made without clearly distinguish what is yours and what is someone else's, then that is most likely illegal since you are misrepresenting the copyright owner of the MIT licensed work. Its doubtful any license could ever grant permission to do this, as it would infringe on an inalienable right of the author.

</comment><comment><USER3> Yes, there's a bunch of folk beliefs about licenses. Many of them are not based in copyright law.

"You have to retain the original copyright"

That is meaningless. It has two interpretations. 1) the copyright holder maintains copyright. This is inherently true because the license is not a copyright transfer agreement. 2) you have to retain the copyright _notice_. This retention requirement is explicit in the license agreement.

"You aren't allowed to remove [license comments/copyright notices] from individual files"

The MIT license doesn't have that requirement. It says the notice must be "included in all copies or substantial portions of the Software." It doesn't even use the word "file." I am unaware of a court decision which has quantified what "substantial" means. Most people keep it attached to the file, though they likely do not need to do so.

The GPLv2 license states, in "How to Apply These Terms to Your New Programs": "To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty."

That sense of safety no doubt is behind the folk beliefs.

"credits page* (not sure how you'd satisfy the condition without one)"

The MIT license only requires that the copyright notice and this permission notice be included in the software. There is no requirement that the information be visible to the end user. The clause you are thinking of comes from the GPL

The GPLv2 has a requirement that interactive programs "print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License." This is most often done with a credits page. However, that is not an MIT license requirement.

"why wouldn't I be allowed to remove whatever I want from the code?"

Under copyright law you can only do what the license grants, or what is available to you under fair use. You can remove whatever you want from the code "subject to the ... conditions". You cannot remove the copyright statement. You cannot remove the permission notice. Those are the conditions.

<comment><AUTHOR> Looks like we see eye to eye on this one. Basically what I said is that the license (technically without the disclaimer) needs to appear (the ISC license chooses that language) somewhere. That's it. Put _one_ copy of it somewhere (not sure if it needs to be visible to the end user) and your good to go. (Assuming that the license includes the copyright notice at the top.)

<comment><USER3> I find your answer somewhat grating. I will explain why.

We do not see eye to eye. I'm not trying to "figure this out together". I 'figured this out' years ago. I'm pointing out that you are using the wrong terminology, and trying to correct your understanding. We are not at the same level.

For example, you said "not sure how you'd satisfy the condition without [a credits page]". That's the wrong terminology. It's a copyright notice and a permission notice. That doesn't require a "credits page". Though those notices could go on such a page, there's no requirement that there be a "page", and the term "credits page" adds needless terminology.

By repeating meaningless or at least ambiguous phrases like "You have to retain the original copyright", and by using new and irrelevant terms like "credits page", you are adding to the confusion around copyright.

Further, in your response to jeffmould you said "You're not contradicting anything I said, are you?". The thing is, you have since made a contradiction. jeffmould said that the code from ProjectA which is in ProjectB is not subject ProjectB's license. You said that the code is subject to a dual license. This is a post-hoc contradiction.

<comment><AUTHOR> Fair enough.

> It's a copyright notice and a permission notice. That doesn't require a > "credits page".

Of course it doesn't. I tried to come up with a real world example because people (obviously) have a hard time figuring out what it means. I also added that the "credits page" might just be a folder full of licenses somewhere inside your project's directory structure. I hear you though.

> jeffmould said that the code from ProjectA which is in ProjectB is not > subject ProjectB's license. You said that the code is subject to a dual > license. This is a post-hoc contradiction.

I said it _could_ be subject to two licenses. It doesn't have to, of course. You've also mentioned license compatibility in your other comment — I think you're trying to explain to me that my license can't revoke any rights granted to you by "the other" license. Does that sound about right?

<comment><USER3> "not sure how you'd satisfy the condition without one" doesn't fit with "Of course it doesn't."

Regarding the second point, code from ProjectA, released under the MIT license, which is in ProjectB is not subject to ProjectB's copyright. This was jeffmould's scenario, and this code is not subject to two licenses.

The ProjectB developers must do some creative act to the code before they can assert copyright on the modified code. Copying code from multiple sources is then subject to both licenses.

It is also possible that with enough changes ProjectB is no longer subject to the original copyright from ProjectA. Quoting from [http://www.ca10.uscourts.gov/opinions/13/13-6181.pdf](http://www.ca10.uscourts.gov/opinions/13/13-6181.pdf) :

> A corollary of the "sameness" requirement is that "[c]opying deleted or so > disguised as to be unrecognizable is not copying." See v. Durang, 711 F.2d > 141, 142 (9th Cir. 1983); see also Int'l Ass'n of Machinists & Aerospace > Workers, AFL-CIO v. Winship Green Nursing Ctr., 103 F.3d 196, 203 n.6 (1st > Cir. 1996) ("Even if a work is copied, however, no copyright infringement > exists if substantial changes render the work unrecognizable."); Warner > Bros. Inc. v. Am. Broad. Cos., Inc., 720 F.2d 231, 241 (2d Cir. 1983) ("'[A] > defendant may legitimately avoid infringement by intentionally making > sufficient changes in a work which would otherwise be regarded as > substantially similar to that of the plaintiff's.'" (quoting 3 Nimmer on > Copyright § 13.03[B] at 13-38.1 to -38.2 (1983)).

Which means that you could, with sufficient changes to the code, revoke rights granted by the other license. This is how Berkeley extracted itself from the AT&T license for Unix.

</comment></comment></comment></comment></comment><comment><USER4> IANAL, but my interpretation of the MIT license has been (I could be wrong here) as follows:

Let's assume I create an open-source piece of software called ProjectA and license it under the MIT license. You come along, like what you see, but think you can make it better. You download ProjectA, modify the code, and decide that you are going to sell your modification as ProjectB.

Since the original code I developed was licensed under the MIT license you are required to continue the MIT license within your version on the parts that are part of ProjectA.

So if John comes along and buys the software from you, he is free to modify the portions of the software that were part of the original ProjectA. You are welcome to license your modifications however you wish, but the original ProjectA, or any code that was part of ProjectA, would still fall under the MIT license.

<comment><AUTHOR> That's a good illustration of why the requirement exists in the first place. You're not contradicting anything I said, are you?

FYI: The MIT license allows me to sublicense ProjectA's code, so technically it could fall under two licenses.

<comment><USER3> I don't know what "it" you mean here.

The developers of ProjectA hold a license to that code. If ProjectB is under teamhappy license, then those parts of ProjectB which are unchanged from ProjectA are still only under the MIT license, because copyright requires creative input. As ProjectB made no changes, there was no creative input, so they cannot use copyright law to enforce difference license terms.

The portions from ProjectA are under the MIT license. The portions from the ProjectB developers are under the teamhappy license. If I use ProjectB then I am a licensee for both MIT and teamhappy licenses.

This co-mingling of software from multiple copyright holders with multiple licenses is why the licenses have to be "compatible."

<comment><AUTHOR> > As ProjectB made no changes, there was no creative input, so they cannot use > copyright law to enforce difference license terms.

I'm not sure that's true. BSD-style licenses allow you to sublicense the code under a more restrictive license if you feel like it.

This is has no real-world effect though.

If you have code licensed under two licenses you (the user) can always choose to use to code under the more permissive license (MIT in our case). But technically, it's licensed under two and I don't think they have to be compatible.

By the way: This has nothing to do with copyright. If I didn't change your code than I'm not a copyright holder of your code. Doesn't mean I can't license it to other people under a different license though.

<comment><USER3> I'm sure it is true. See Bridgeman Art Library v. Corel Corp .

Yes, there is a real-world effect. As I mentioned and jeffmould wrote, I can use those part of ProjectB which came from ProjectA without being subject to the teamhappy license of ProjectB. It's not a question of dual licenses, it's one of license compatibility.

If I am IBM, and SCO sues me because my distribution of the Linux kernel contains code which is part of Unix, whose copyright is controlled by SCO, and without an SCO license, then a valid response is to point out to SCO (and the court) that that shared code was released into the public domain by AT&T. Even if some Linux kernel developer actually did copy the code from SCO Unix (very unlikely!), there is no new copyright claim by SCO for "slavish" copying.</comment></comment></comment></comment></comment>


Should You Hire A COO? - <AUTHOR> http://blog.eladgil.com/2013/02/should-you-hire-coo.html

<comment><USER2> This article seems to lump the concept of a COO and a President together. In our environment the President handles M&A, HR, partnerships, etc. while Operations is responsible for establishing processes, inter-department communication, project management, and the like.

In my opinion, a COO should be there to introduce and maintain discipline and structure where there may be none. They should be able to:

1\. Establish responsibility, accountability, recognition, and reward for the employees.

2\. Define procedures for as much as possible of the day-to-day eventualities within a company.

3\. Be the intermediary in communication breakdowns that can occur between the executives and the staff.

4\. Lead projects that are directly related to the well being of the company's infrastructure

5\. Provide the structure required to be successful, but the understanding to not limit the challenges and will of your creative teams

6\. Master of risk analysis

7\. Develop an understanding and proficiency in the "Why's" of each part of the company, not necessarily the "What's"

8\. Learn to be the Devil's Advocate to the CEO without being a douche about it

The last one is important. You better trust your COO to keep your head on straight because the higher your status as a company climbs, the less likely others will be to be honest about what they are really feeling. A COO should always try and be the opposing voice if only to make sure that two sides to every situation are represented.

Personally, I don't think every company needs a COO; especially startups. There is something to be said about the Wild West atmosphere playing fast and loose can bring, and a COO is there to keep the part a little under control. But if you DO need one, then remember how important your decision will be in selecting the right candidate.

</comment><comment><USER3> Great post, COO's can help scale an organization and optimize company processes. Should definitely compliment and help execute on the CEO's vision.

</comment><comment><USER4> This was a useful post. It gave me a lot to think about when I hire my own COO.</comment>


What does /etc/mailname do? - <AUTHOR> https://wiki.debian.org/EtcMailName <comment><AUTHOR> I posted this two days ago. I believe a moderator must have rescued this post today to bring it to the front page.

By the way, I posted this link because I've been running my own mail transfer agent (MTA) for my personal vanity domain to send/receive emails for about 10 years now and I often forget why I need to edit /etc/mailname while setting up the MTA, so I posted this link to HN as a bookmark for myself. (Who else uses HN submissions as bookmarks?)

I use Exim 4 as my MTA on Debian GNU/Linux. During its setup, among many other things, I need to configure /etc/mailname with the domain name I want to see in the "From:" field of outgoing security notification emails, e.g., email notifications for failed sudo attempts.

If you want to take a look at my MTA setup, see this Makefile: [https://github.com/susam/susam.in/blob/master/mta/Makefile](https://github.com/susam/susam.in/blob/master/mta/Makefile)

Related Show HN post: [https://news.ycombinator.com/item?id=22299169](https://news.ycombinator.com/item?id=22299169)

<comment><USER2> Is it possible to run own SMTP server these days and send emails successfully? I thought GMail will classify it as spam. How do you tell the big email providers to not classify email originating from personal domain as spam?

<comment><USER3> Totally possible. Run SPF, DKIM, and DMARC, have correct forward and reverse DNS, have reliable DNS servers for every lookup, forward with ARC, deliver with a valid certificate, prefer IPv6, and have all associated IP addresses and sender (SMTP envelope) domains with a very good reputation. This last part takes months if not years to build, it's not hard, but it's not fast.

I use separate sender domains for a newsletter than for transactional mail.

You can monitor reputation with Gmail and Outlook postmaster tools, and there are various sites that will mass query RBLs; worth checking occasionally. I have a monthly reminder in the calendar. Sign up for the JMRP and SNDS.

Then just behave like a responsible sender. Don't send unsolicited mail. Make it easy to unsubscribe, with RFC8085 headers and easily found unsubscribe links. Honour unsubscribes instantly. Honour spam reports instantly with a suppression list. Make the first statement of your communication one that describes the purpose; the second, the unsubscribe link. _Make it easier, both functionally and emotionally, for recipients to unsubscribe rather than to report you as junk_.

Run your emails through SpamAssassin before sending, and respect and understand the scoring. Read the Gmail sender guidelines ([https://support.google.com/mail/answer/81126](https://support.google.com/mail/answer/81126)), they are good advice.

Include a plain text part.

Do not trust anyone claiming you can pay to improve reputation. That is snake oil.

<comment><USER4> No.

GMail is arbitrarily blocking ip addresses or subnets and there's nothing you can do about it.

One year ago I've purchased a VPS with a clean IP address (checked against all DNSBLs), set up mail server with SMTP and IMAP server, set up SPF, DKIM and DMARC and was able to successfully send emails to Gmail for 3 months.

After 3 months GMail stopped accepting mail from my server saying that my ip address was used to send spam. I'm pretty much sure it wasn't me. My VPS OS and mail server are up to date, there was no suspicious activity in the logs, so it's very unlikely that I was hacked.

There're only three possible explanations for it: 1\. My VPS was hacked indeed 2\. Some bad guy from the same IP network sent spam (although GMail error message specifically states that spam was sent by this exact IP address, not an address from the same network). 3\. GMail just randomly blocks access to any little guy trying to setup independent mail server just because they can.

I'll never know the truth but it was very disappointing experience. Also, lost couple of semi-important emails this way.

<comment><USER5> > 2\. Some bad guy from the same IP network sent spam (although GMail error > message specifically states that spam was sent by this exact IP address, not > an address from the same network).

This is the most likely situation. If a VPS provider is sufficiently cheap, it will attract the wrong people, who will then get the entire VPS provider's IP blocks blacklisted.

It's a shame, but it's the reality. There are lots of discussions around this subject on various mailing lists, where people from the likes of Gmail have chimed in stating as much.

I would reckon it takes as little as 10% of the addresses in a /24 (so ~25 IPs) to get that entire netblock blacklisted.

If you want a higher probability of clean IPs, you need to be using a provider that is sufficiently expensive to not attract spammers.

Either that, or you need your own IPs.

<comment><USER6> > Either that, or you need your own IPs.

Or just use IPv6, which will probably fix this.

<comment><USER7> Why is this considered a useful signal by Gmail? Isn't it cheaper for a spammer to get throwaway IPv6 addresses?

<comment><USER3> Most spammers aren't competent to provision an IPV6 service correctly, especially one with matched PTR and SPF(TXT) records, and using throwaway v6 addresses makes SPF much harder. It's also easy to spot, at which point you can tag the sender domain with a bad reputation.

It's no surprise that Gmail et al are more interested in sender domain reputation, and also the graph of related domains, than they were a few years ago.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> tl;dr - It depends on who's asking.

</comment><comment><USER9> It's described pretty well here: [https://wiki.debian.org/EtcMailName](https://wiki.debian.org/EtcMailName)

On Debian update-exim4.conf writes whatever is in there into exim4 configuration files it builds in /etc/exim4. I have no idea why they do that - exim4 could just as happily read it from that file every time it needs it.

<comment><USER10> Isn't this link same as OP?</comment></comment>


I'm Homeless and This Is Why I Have an iPad - <AUTHOR> http://gizmodo.com/5661472/im-homeless-and-this-is-why-i-have-an-ipad

<comment><USER2> _I am homeless by choice, I gave away and sold all my belongings in Los Angeles and moved to Paris._

That is really all you need to know. This guy is a techno-moocher, a vagabond, who works odd jobs to earn cash and is a "writer".

</comment><comment><USER3> An insult to real homeless people.</comment>


Ask HN: legally can i build search niche web search engine? - <AUTHOR>

i want to build search engine that searching dally
niche sites , like blogs first page's
then present statistics based on the crawling.
legally can i do this ? <comment><USER2> There is no legal restriction for crawling any web site. But you should respect robot.txt document for every single web site. Such as: <https://www.facebook.com/robots.txt> <http://web.archive.org/robots.txt>

</comment><comment><USER3> Yes. You can. Google successfully defended it in the past : <http://en.wikipedia.org/wiki/Field_v._Google></comment>


Mouthbreathing Machiavellis Dream of a Silicon Reich - <AUTHOR> https://thebaffler.com/latest/mouthbreathing-machiavellis <comment><USER2> What is the connection to mouthbreathing?</comment>


Reducing Rice's Carbon Footprint - <AUTHOR> https://researchfrontiers.uark.edu/reducing-rices-carbon-footprint/ <comment><USER2> Interesting article.

Meat, cheese and eggs have the highest carbon footprint. Fruit, vegetables, beans and nuts have much lower carbon footprints.

In my opinion all of them are serious problems that need some kind of solving.

Figures from the Environmental Working Group's Meat Eater's Guide and the EPA's Guide to Passenger Vehicle Emissions show that rice is ranked on 10th position out of 16 and it has a 2.7 CO2 Kilos Equivalent and a 6 Car Miles Equivalent.

<comment><USER3> Grazing animals are the best way to fight desertification. It doesn't have to be cattle (sheep, goats and other grazing animals help)... grazing rotation helps dramatically. Beyond this benefit, which should not be underestimated, I consider them factories from changing low density nutritional sources where I cannot practically get what I need into higher density nutritional sources.

I'm not saying it's a net positive or negative. But, for the most part, the cattle aren't raised as responsibly as possible, and beyond that, the benefits aren't accounted for. We can do better without vilifying meat.

I say this as I cannot handle legumes and am very diabetic. I just cannot handle protein sources that are higher in carbohydrate, or refined proteins from legumes (which is most vegetable protein). I do well on mostly eggs, meat and some cruciferous veg. And even eggs, I sometimes have issues with soy fed.

</comment></comment><comment><USER4> I wish they'd work on the arsenic problem Arkansas rice has too

<comment><USER5> That's more a soil contamination problem than a rice problem.

<comment><USER6> Rice does absorb much more arsenic from the environment than other crops, so maybe it could be engineered to do that less. In the meantime, we should have stricter standards on arsenic content.

<comment><USER5> I imagine engineering it to absorb less of a given substance would almost certainly cause it to absorb less of things it needs as well.

Besides, if editing plants were that easy, we'd have C4 rice already.

<comment><USER4> I don't know if C4 rice would help with this but there's another carbon related rice problem on the horizon

[https://www.politico.com/story/2019/06/23/agriculture- depart...](https://www.politico.com/story/2019/06/23/agriculture-department- climate-change-1376413)

</comment></comment></comment></comment></comment><comment><USER7> Great read - really interesting stuff</comment>


Advanced programming languages - <AUTHOR> http://matt.might.net/articles/best-programming-languages/ <comment><USER2> Just the mention of Scheme, my favorite programming language, makes me get irritated when I think about the thousand or fifteen hundred lines of JavaScript I've written in the last couple weeks. I'm basically writing Scheme using C syntax, and the anonymous functions as arguments to functions which are called by anonymous functions that are themselves arguments to functions really start to get confusing, in large part because the mixing of parentheses and curly brackets and the semicolons and all the things that are supposed to be the sane alternative to all those sets of parantheses. Oh, and let's not even mention the way JavaScript doesn't do block scoping the way C++ does, and let's not even _think_ about how closures interact with mutation—which almost guarantees that code with for loops and closures will have bugs in it.

And the sad thing is, I don't mind writing JavaScript. Relatively speaking, I _love_ JavaScript. Now, if a framework-platform like Node.js existed for Clojure, now, that would be a different story. Except that I'd then constantly have to do mental context switches whenever I jumped from client to server code.

There is no rest for the wicked, I suppose.

<comment><USER3> >Now, if a framework-platform like Node.js existed for Clojure, now, that would be a different story.

What about aleph?

<http://github.com/ztellman/aleph>

<comment><USER4> There's also Saturnine, <https://github.com/texodus/saturnine> though I haven't tried it yet.

</comment></comment></comment><comment><USER5> I was really surprised when I got to college and the only languages people cared about were C++ and Java. Ok, you'll also find some C#, Python, and Ruby, but nobody has heard of any of these "advanced" languages. The _only_ thing they care about are the number of job opportunities they can get. I sometimes try to advocate for Haskell, or Scheme, or even Prolog. The response is usually "Pascal?" It's sad that these students never wonder if there's a better language, or a more fun language, or _anything other than Java_. It's a desert out here.

<comment><USER6> I guess it really depends on what college. At my school, which tends towards the theoretical, Scheme, SML and Prolog are part of the core curriculum.

<comment><USER5> I've been reading some blog posts here <http://existentialtype.wordpress.com/> about the curriculum at Carnegie Mellon and I've been very impressed. I can't believe they're phasing out object-oriented programming! Here the faculty seem to think object-oriented is the only way. Actually I can't think of _any_ functional programming we've been introduced to. (Or any other paradigm for that matter)

</comment></comment></comment><comment><USER7> If he thinks that Smalltalk is a "alternate yet fully capable universe that branched off from mainstream computing long ago" then I'm not sure I want to know what he thinks about selflanguage.org ...

But seriously, his four 'advanced programming languages' seem to be all in the functional space. That's great, but I'd recommend looking outside that as well. Maybe Haskell, Pharo, Factor and Erlang?

<comment><USER8> SECONDED!

Add Mozart/Oz to the mix for good measure.

<comment><USER9> +1 for Mozart/Oz. It's a great language for exploring the various paradigms of programming. Working through "Concepts, Techniques and and Models of Computer Programming" (<http://www.info.ucl.ac.be/~pvr/book.html>) with Mozart/Oz gives a great tour of programming techniques and manages to stay in one language for the whole journey.

</comment></comment></comment><comment><USER10> Shouldn't an article on "advanced programming languages" include at least one dependently typed language? I mean, I'm pretty slow and halting in Haskell and Erlang, but with ATS and Coq I don't even know where to start.

</comment><comment><USER11> Previous discussion:

<http://news.ycombinator.com/item?id=992218>

<http://news.ycombinator.com/item?id=1374635>

</comment><comment><USER12> "In Haskell, programmers not yet well versed in functional program design may find they repeatedly code themselves into a corner, where they don't have access to the monad that they need. The MLs keep the side effects "escape hatch" open to patch over incomplete design, which prevents projects from coming to a sudden, unexpected "refactor-or-abort" decision point."

When I was a beginner, I did this a lot. In fact, I still do it occasionally.

</comment><comment><USER13> _... the Racket library is immense..._

It is very impressive by the standards of relatively unpopular languages. Also the documentation is really good. But if Racket's libraries are immense, what is Ruby's and Rails'? Mega gargantuan?

</comment><comment><USER14> I went to the U of U for a time, and I wish I would've encountered Matt Might while I was there (it looks like our only overlap would've been Spring 2009, though). Somehow I wasn't able to effectively communicate with my advisor and/or figure out which classes on the schedule were actually cool.

</comment><comment><USER15> Stopped reading at "once a program compiles [in haskell], it's almost certainly correct".

Haven't done any Haskell coding, but I just seriously doubt that in any language.

<comment><USER16> It's far closer to true than you'd think.

In my experience writing code in Haskell, you spend about 95% of your time debugging type errors and 5% of your time debugging actual bugs. The good thing about the former is that it's effectively _the compiler finding the bugs for you_.

Haskell is the only language I've used (obviously, not the only one in existence) where I am _not surprised_ when a large program works correctly on the first successful compilation.

 _Disclaimer: Haskell is not my main language, I'm mainly a C programmer._

<comment><USER17> ADA is also good for that.</comment></comment></comment>


The Decision to Move On - <AUTHOR> http://ekoester.com/the-decision-to-move-on <comment><USER2> Startups are hard, no doubt. However, perspective is interesting. In the past year my father died unexpectedly, and my wife and I gave up on having kids (and possibly our relationship) after six years of trying by all means imaginable. After those experiences running a startup seems like child's play to me.

If when you go to bed at night your main worry is whether you'll be able to close your next round of funding, you have it pretty good (at least in theory). Trust me.

<comment><USER3> One thing about perspective: It's not universal, and it also works the other way around. If someone else just hasn't had the kind of experiences you have, telling them about your own problems (or those of other people) isn't really meaningful. It's the "starving people in China" argument.

I'm not saying you're wrong, really, but that even your situation could be considered pretty great by someone who's stuck in a North Korean gulag with his entire family because he sneezed during the wrong part of a public news broadcast.

Perspective is helpful when you've gained it and can use it yourself. However, _someone else's perspective_ is only useful to the point that it lines up with yours. Beyond that you usually can't really understand it in a meaningful way and it sounds like empty sentiment.

<comment><USER4> I understood his perspective pretty well, and also his point.

My heart is with you Diego, Sorry for your loss

</comment></comment></comment><comment><USER5> I tried using Zaarly when I was in LA and loved it. But after moving to NYC, realized TaskRabbit was more popular and had to switch. I always thought there was enough room for both (zaarly and taskrabbit) to survive... guess I was wrong. Best of luck in your future endeavors...</comment>


Stressful lives of older tech workers - <AUTHOR> http://www.businessinsider.com/stressful-lives-of-older-tech-workers-2015-11?_lrsc=e525de47-81f1-48b4-bc62-2a1e336af828 <comment><USER2> Silicon Valley likes young people because they tend to accept worse employment contracts and accept the idea of longer hours. Folks with family responsibility immediately put counter-pressure on this.

I'm 38. And I feel _enormous_ pressure to be smarter than everyone around me to be relevant. People _expect_ you to be incredible both at management and engineering as you get older. I'm very lucky my career path has given me opportunity here, because but for a few chance encounters I'd be much, much worse at both and that'd be awful. I'm quite worried about what people will expect of me when I'm 45. I'm working hard to add data science to my resume because I think that "mathy" roles have less discrimination against them than pure engineering roles, and I want to stay ahead of it.

I do a lot of stuff that is tactical as well. For example, today I'm wearing a uniqlo-nintendo collaboration t-shirt with Pikachu on it. I'm doing so on the day I'm giving an interview. Because I know, tactically, this shirt is silly and irreverent and paints a picture of someone younger at heart.

And maybe that is naturally me (pika pika, ban lylat!) but I'd be lying if I didn't continue to do it tactically to appear more relevant and "with it".

What's interesting to me is that outside of the SV startup world, every computer scientist and great engineer I respect is a person over 40. Especially in academia, where women and men of _astounding_ intelligence are doing work that in 10 years will probably reshape the industry (put forth, naturally, by breathlessly enthusiastic 21 year old "devrel" folks mis- attributing the work of 2 generations of academia to the brilliance of the senior technical staff at that company).

So yeah, it sucks. It's real. And there is a reason in the older white male- ish segment you find more awareness of other types (gender, racial) discrimination in the industry: people over 40 directly experience age discrimination and it's not at all theoretical even to white men in that cohort. If it can happen to older white dudes, it surely can happen to anyone else.

<comment><USER3> Your experience may vary, but as a relatively younger person, I've had a ton of respect for older, wiser programmers, but only when they do show said wisdom. These are people who are technically very sound, are very precise when they speak, can explain clearly the consequences of different engineering design decisions. They are also adept at staying mostly out of office politics and bringing the focus on engineering, mostly because they are very low drama people themselves, and are genuinely interested in good engineering rather than _their_ engineering.

I hope that when I age, I do become somewhat of a similar person. But I know that there is a ton I have to learn.

On the other hand, I've also seen older people who seem worse than the dumbest college graduates. These are the uncurious people, who never delved deeper, never tried doing more than required, to learn more than necessary, and went from satisfying requirements of one role from the next without developing the wisdom that comes from having made a ton of mistakes, the knowledge that comes from asking curious questions. These people are safe only because of their seniority, and are among the first to be laid off during harsher times.

<comment><USER4> > These people are safe only because of their seniority, and are among the > first to be laid off during harsher times.

These two phrases don't agree. ;-)

<comment><USER3> Maybe I was not very clear. They continue to be employed because of their seniority when the company is doing well. But when shit hits the fan and you have to make difficult decisions about who are absolutely necessary to the working of the company, that's when they are laid off.

</comment></comment></comment></comment><comment><USER5> Let's not lump all "tech workers" together. I worked at Google in my mid 40s, and I think the median age in my work group was 40s, and in my division was 30s. But we'd see lots of younger folks when we'd go to lunch the next building over. It is the same in my group at Netflix. In my late 40s, I'm close to the median age. In the cafeteria, we're some of the oldest.

I guess the best advice for staying relevant is to find a niche that still has some future where you're an expert in your field. And get lucky, very lucky. There are a bunch of us in our late 40s / early 50s that were heavy BSD/Linux kernel contributors who are still relevant, even though we code in C like its 1995. I think this is similar to some folks from an older generation who wrote the COBOL that a lot of enterprises still run on.

BTW: Isn't the cutoff for greygler was 50? I seem to remember being too young to join when I was in my mid 40s.

<comment><USER6> I'm 49 and find that ageism is alive and well. I've been a *nix admin since the late 90s, and my last couple of interviews it was obvious they were shocked I wasn't in management. I will never be in management. To be honest, I don't like working with people. I prefer and have always preferred being in the data center basement or in the data center proper.

My age, coupled with with the fact that I prefer machines over people doesn't endear me to this newer generation of techs. I have been asked at my last several jobs why I don't use Facebook, LinkedIn, or any other social media.

I'm a greybeard and I like it that way. I'll gladly ride out the terminal windows job and light programming until they show me the door. Meetings and budgets are for others...

<comment><USER7> > I have been asked at my last several jobs why I don't use Facebook, > LinkedIn, or any other social media.

You are isolating yourself as well though. One study I read is that biases appear in full force after two stereotypes are validated.

Maybe make a linkedin, since that has nothing to do with your age, just so you have an answer that doesn't alienate you, and people might ignore your age for longer.

</comment></comment></comment><comment><USER8> Just one data point...

I'm 52, and I work at Facebook. According to the chart in the OP, that's the youngest of the big companies, with a median age of only 28, and that's totally consistent with what I see when I'm at the main Facebook campus. "Campus" indeed. I feel like a parent, visiting my kids' school. Good preparation for when that actually happens, I guess.

Is my situation stressful? Well, sure, but not because of my age. It's stressful because there's a lot to do, and I'm trying to do it while there's all sorts of weirdness coming at me from all directions all the time. It's stressful because I get to be on call every fourth week, and sometimes that can be intense. That kind of thing sucked in my twenties, too. It's a little worse now that I have a family, but on the other hand I've had a lot of time to develop an arsenal of coping strategies.

Just because I don't see any additional stress doesn't mean others don't. In particular, I can see how older women face obstacles I don't. Nonetheless, I think a lot of the angst is because of unrealistic expectations. Salary growth is exponential. For you to be worth that salary, your impact has to be exponential too. If you're my age and still a pure individual contributor, you're going to have a hard time justifying that salary unless you're the very best of the best _in the whole world_ at something pretty specialized and valuable. It's not at all unreasonable for employers to expect that people at this level will be multiplying their personal impact by advancing the state of the art, creating powerful new tools, teaching others, etc. If you got this far without learning how to do those things, you really missed your best opportunity. The people "behind" you are still on an upward curve, so you'd better be on one too. I think a lot of stress comes from people realizing deep down that they're not, and - even worse - that they have nobody to blame but themselves.

<comment><USER9> Any advice for handling on-call? I'm a new grad and while I've been on the rotation for multiple cycles now, I still feel quite stressed and on edge when it's my turn every 4-5 weeks. It even "ruins" weekends where I feel like I can't do a lot outside, and if I do leave my home I feel obligated to carry my work laptop everywhere and be near wifi/internet in the case that I get paged, which honestly isn't even that often for my team's responsibilities.

<comment><USER10> Work out, not just running, but weight lifting. (I am serious).

Working out regularly, and changing your hormonal profile overtime it really helps the body withstand stressful situations much better.

Source: I used to be stressed out about things like this as well, and it completely disappeared after a year of serious weight lifting.

<comment><USER11> I'll second this recommendation. Also, develop healthy eating habits. Here are a few suggestions...

\- Eat more fruits and vegetables and less candy. \- Eat more beans and less red meat. \- Drink more water and less soda or so-called sports drinks. \- Snack on more nuts and popcorn and less chips.

It has been my experience that healthy eating habits + exercise can have a positive impact on the way a person feels and how they react to stress.

</comment></comment></comment></comment><comment><USER12> Silicon Valley favors those in their 20's because they know they can get away with grinding them into a pulp, for lower pay. Once people age, and wisen up, no one wants to put in a billion hours a week.

<comment><USER13> Is there a silicon valley success story that doesn't involve the team working long hours, especially in the early days?

<comment><USER14> In the silicon valley success stories the managers and founders walk away with hundreds of times more than the young engineers they hired.

<comment><USER15> Yeah but the employees put in their 5 years and walk away with a cool half a million.

Having given up just... well about half a million working at a big tech company, but they got to change the world or something.

<comment><USER14> BigCo != early startup. Generally far fewer all nighters, different risk/reward.

</comment></comment></comment></comment></comment><comment><USER16> I'm forty-eight, and it did take me much longer to find my most recent job than I anticipated -- on the order of four months. I really didn't have much luck until I started applying for early mode startups through AngelList. I can't rule out ageism as a contributing factor, but I'm much more inclined to think that ageism is an unintended side-effect. It looks to me like the biggest problem is that employers automatically exclude anyone who is not an exact fit to their requirements. And I think a big part of the problem there is that the first filter is now composed primarily of people who are professional hiring people (sourcers, recruiters, etc.) rather than professional software engineers.

<comment><USER17>
        > ...the first filter...

Yeah, sending resumes to a web portal is basically a shot in the dark because of that "first filter". If you can find a way around that you get more hits.

Like the article says, older folks fare better if they exercise their professional networks. Actually, that works good for young people too.

</comment></comment><comment><USER18> I don't see anything in the article about older workers working themselves to death. It seems to be mostly about older workers getting laid off.

As a dev in his 50s, I have mixed feelings about this. On the one hand, age discrimination is real and I've definitely seen and experienced it. On the other hand, virtually everybody has some kind of trait that is going to be discriminated against by somebody, and the software development market right now is so overwhelmingly friendly to good programmers that the few spots of discrimination are really just minor irritations.

But if you aren't constantly upgrading your skills, I'm sure the landscape is bleak. And that's not nearly as true of

PS. The above is about programmers. Managers probably get much more direct age discrimination, and they can't fall back on a well-defined skill set to contest it.

<comment><USER19> I guess it was referring to the guy who had two heart attacks.

</comment></comment><comment><USER20> Funny but the dude with the grey hair is Peter Norvig and the guy in the bottom left corner looks like Alex Martelli. Both are legends not just older tech workers...

<comment><USER21> general philosophy seems to be if you are 50, and you haven't made your millions, you can't hack it. clearly the exception would be if you are legendary programmers/computers scientists who were too busy being brilliant to chase the money (though I suspect they are still more wealthy then your typical 50 year old corporate middle manager).

<comment><USER22> I've written about this sentiment before and think it's spot on. SV is foremost about projecting an image. An older tech worker who still needs to pull down a paycheck utterly shatters the mythos that a few youthful years of brilliance and hundred hour weeks will allow the best and brightest to ride off into the sunset in their Ferraris at age 27.

The perception is that if you haven't made millions by the time you reach what would in any other industry be considered mid-career then you just can't be very good. Startups and VC-funded crapshoots don't want reminders of their imminent mortality hanging around. They want to show off and be surrounded by freshers in order to further the belief that we are all special, we are changing the world, and we will all get rich before our braces come off.

<comment><USER8> > utterly shatters the mythos

Very insightful. That mythos is absolutely fundamental to how Silicon Valley works, and how the few make millions from the efforts of many. Anything that threatens it is worth a few missed opportunities, and maybe even a bit of legal risk, so long as the spice continues to flow.

</comment></comment></comment></comment><comment><USER23> One thing I've seen is that its difficult get raises after a while. 30 years experience isn't much more valuable than 10. Its one thing that is annoying, law, accountancy, medicine even engineering longer experience is worth something. You can go to management (like those careers) but that's like a different profession.

<comment><USER24> Yea, when I hear the 20 year olds here talk about how it's usual to get 5%, 10%, even 25% raises year after year, I just grin, sit back, and say "Come back in 20 years and talk about your raises."

</comment></comment><comment><USER25> I think the software industry is like consulting, in that there is an up and out culture as you age in the industry. The expectation is that you grow more skilled by some order of magnitude as you grow older. I think the fact that pay rises exponentially with relatively low years of experience supports that idea. This presents a problem for engineers who have 10-15 years of experience but have been working on the same sort of problems in a tech stack they are comfortable in. New employers will expect them to be expert level but they simply don't have the depth of knowledge that the industry associates with their experience level. So they are unhirable and "aged out".

</comment><comment><USER26> Most "new tech" is passing fads, or ideas that will find a small niche but won't go mainstream. It's hard to be enthusiastic about Yet Another Fad. Younglings don't know the difference and jump in face-first blindfolded. After seeing the wheel reinvented the 37th time, it will take some fancy acting to act happy for #38.

You have to approach an IT career like an athlete: save up while you are young because your days are likely numbered. You can still make a fairly decent living by consulting for co's with older platforms that still need supporting, but you have to travel or move often: an IT gypsy.

</comment><comment><USER27> I'm 47. I use larger fonts than I used to.

While I have increasingly important-sounding titles, I still occupy close to a 100% developer role.

I'm pretty much instinctively drawn to the "new hotness" \-- although it's tempered by having spent 25 years in the valley. When I learn a technology, I focus on learning something _deeply_.

I haven't had a problem finding suitable jobs, although interviews are two-way streets. I put out that I've got responsibilities to my children, and that putting in consistent 60-hour weeks isn't something I'm up for. If it's an issue, I'll go talk to the next company.

</comment><comment><USER28> Sometimes I feel like Mad Men's character Don Draper as he approached the end of the 60s. The show Mad Men primarily focuses on the careers of people of the Silent Generation - a generation squashed between two more sizable and therefore influential generations. Through Mad Men, we witness Draper experiencing the radical changes in culture toward the end of the 1960s, and his culture shock is obvious. Luckily, Draper had built his career and wealth before being ultimately succumbing to the new generation who took over. It's important to note that there never was a silent generation U.S. president.

Gen X is in a worse position - placed between baby boomers and millennials. The Baby Boomers usurped the culture of the Greatest Generation, not the Silent Generarion. Likewise, GenX culture has been passed over by Millennials. In this way, business skills that I focused on developing for 20 years have suddenly become unimportant and often considered old and archaic.

</comment><comment><USER29> This article is from 2015. Too old to be relevant.

Kidding, of course. I wasn't panicked about my age until I read this thing...

<comment><USER30> Hehe, I like your joke. :-)

</comment></comment><comment><USER31> Continues to amaze me that this never comes up in diversity or discrimination talks. When you do that yearly harassment training they touch on it for about 10 seconds, but that's it.

</comment><comment><USER32> So.. could this problem solve itself over time? I always felt ageism was due to the fact that the field was young and was growing so fast that it kept the age of the workers lower on average but that will change. That chart of companies shows correlation between company age and average employee age, they will all slowly go up overtime.

<comment><USER33> The reasons are complex.

Younger people really are faster and have more "energy". On a certain level this is just basic biophysics.

Particularly the kind of "energy" most immediately associated with the modern dev grind (i.e. to work long hours, and pick up toolkit X at the drop of a hat, etc). And you know, to just "believe" (in your company's mission; in whatever your stack is made out of this particular microsecond; in "Agile", or whatever).

None of which I'm knocking. A lot of times I feel I could still use that kind of energy.

But there are other kind of "energy" \- e.g. the energy to _resist_ learning too much about toolkit X (very likely to be obsoleted within 3 years). Or to get to wrapped up the latest architecture "debate". Or for that matter, in your company's "mission" (before it's at least halfway baked). Or, when people in your company start bragging about how many hours they "work", how no one really takes vacations and all... the energy to speak the intuitive and well- documented truth about where that strategy inevitably leads.

Both kinds of energy are needed. They aren't opposites; they're parts of a larger (necessary) whole.

The mistake lies in thinking that only one kind of energy is valid and sufficient to get your "mission" off the ground.

<comment><USER34> > Particularly the kind of "energy" most immediately associated with the > modern dev grind (i.e. to work long hours, and pick up toolkit X at the drop > of a hat, etc). And you know, to just "believe" (in your company's mission; > in whatever your stack is made out of this particular microsecond; in > "Agile", or whatever).

I'm continuously fascinated by this sentiment (though I have lived it in a startup before). Aren't we as software engineers _supposed_ to make our jobs easier? Successively automate more and more? What makes "modern dev" more labor intensive than not "modern dev"?

<comment><USER35> I have no idea what you're taking issue with here. The second-half of the parent comment just seems to be saying, " _Younger developers are less jaded and cynical, and a lot of managers prefer that_ ".

<comment><USER33> _" Younger developers are less jaded and cynical, and a lot of managers prefer that"._

Yes pretty much, but with a more positive spin - i.e. what one really needs is a healthy mix of jadedness _and_ "believing".

</comment></comment></comment></comment></comment><comment><USER36> > He also survived because he's been constantly updating his tech skills

I feel lucky that the stuff I pursued independently in my 20s (but wasn't paid to work on) has started to become more professionally relevant in my 30s.

My natural inclination is to double down on those things (e.g. ML, Actor Systems, FPGAs) and allow myself to be excited about finally working on what I find interesting, but I worry that I might be missing out on up and coming ideas while even those skills gradually become commoditized or outdated.

For now I think it's enough to keep an eye on Arxiv and look for challenging problems think about...

<comment><USER37> So what is up and coming compared to ML?

</comment></comment><comment><USER38> The graphic at [http://static4.businessinsider.com/image/564607152491f942008...](http://static4.businessinsider.com/image/564607152491f942008b4e12-1200-1310/bi_graphics_how- old-are-the-employees-at-top-tech-companies-1.png) is scary. But wouldn't be for this case the average better than the median?

<comment><USER39> So on the one hand this is terrifying. On the other hand, how many of those companies existed 10 years ago? Our industry is exploding in size currently. If your industry is doubling every X years, then after 2X years it is impossible that the people who were working in the industry 2X years ago will be in the majority. The new people have to come from somewhere, and they almost always come fresh out of college. So the average number should be way far down. You're taking the average width of a triangle.

What I'd be more interested in, is percentage of people at each age still employed in the industry, that haven't left.

So, for example, if there were 1 million developers in software in the USA in 2000. What percentage of those developers were still developers in 2010? 2017?

What percentage left the industry?

</comment></comment><comment><USER40> Okay so the article offers the problem but not a real solution. I'd say the government just needs to start going after these companies for discriminating against older employees. Any alternative solutions?

<comment><USER41> i'm not sure if regulation is needed at this point. I'm not a fan of government interference. Unionization is one option. somehow enforcing certification is another to level the playing field (aside from certifications already being a racket).

CS degrees are virtually worthless by the time you graduate... experience matters, but less and less with each passing technological rotation. Experience matters more so in management or general leadership. Maybe look to start moving in that direction?

</comment></comment><comment><USER42> I work at Telecom company in central Virginia. I am 38 and one of the youngest employees in my group. None of the engineers in the 50s/60s are like the people in this article. There is huge resistance to changing anything. Web architecture from the 90s, C++11 is too cutting edge. Change is bad, stasis is good.

<comment><USER43> Yes. Telecoms is a different beast.

I worked in Telecom in SF during the .com and it was like being in Texas vs. my friends in .com startups.

I didn't like it then, but I appreciate many more aspects of it now. Deliberate planning. Longer term sales cycles and business planning etc..

</comment></comment><comment><USER44> What happens to all those "older developers" when they reach the ripe old age of 50? (or 40) Surely, not everyone makes enough money to retire at 50. There can't be enough management positions for everyone either. So, where?

<comment><USER45> Almost everyone with a professional job makes enough money to retire at fifty - the question is whether their expenses are low enough to do so. Save 35% of your salary and you can retire in 25 years. Save half your salary and you can retire in 17 years.

</comment></comment><comment><USER46> Even though I'm still climbing the roller coaster at 31, I still felt the urge to move into engineering management because: (A) it appears the salaries aren't capped the same way as being an IC and (B) a bit more future-proof than staying the IC route. Does that feel like an inevitability for folks? And even then, I still feel like outside of the Big 4, salaries can get capped pretty quickly - a 10% raise every 2 years leaves you with little room to grow after 35 at most companies.

</comment><comment><USER47> Props to Business Insider for writing this piece. I like to call them the "TMZ of Business News" \- but once in a while they do very good reporting/pieces like this.

</comment><comment><USER48> _The average age of Googlers is 30. Notice only one of these Googlers has gray hair_

Ha, that's Peter Norvig in the picture. Not your "average" Googler.

</comment><comment><USER49> About me: Old bald white sedentary apathetic and cynical American male, long term harassed, health going bad, out of work long term programmer, homeless, In debt with maxed out credit and other non dischargeable accounts, out of money. Gave away all my possessions to a local family. Next up: eternity, nothingness or something else. Scared but ready to go.

<comment><USER50> It sounds like you need to talk. If you'd like to, I'm at mk@<my username>.com

<comment><USER49> I just need to finish the job dude. We're animals. We all die sooner or later. I'm not able to sustain myself any longer and I don't have any purpose.

</comment></comment></comment><comment><USER51> I'm 46. I spend a lot of time working on side projects and courses, and thinking about the future of my industry (video games). Every 5 years or so I've made a major shift in my area of expertise (from graphics and performance, AI and gameplay, to servers and databases) and from structured C, OO C++ to functional Scala and Clojure.

As soon as my job becomes routine to me or something you can buy from a 3rd party I know it's time to do something else.

So far I've gone 23 years and never had a hard time finding a job. I have worked in some environments with lots of young people and my age was an issue but I quickly moved on.

I work with a guy ten years my senior who is the same as me, constantly updating his skills, and has no problem finding work.

</comment><comment><USER52> The workers that discriminate older people forget that one day they're also going to have 50 or 60?

<comment><USER53> Yup.

That fact simply does not enter their consciousness at that time.

It only hits them when they're on the other side of the table, and then it's too late.

At least, that's been my experience.

</comment></comment><comment><USER54> The article implicitly conflates salary with age. In the case of hiring or layoff, this is often the focus, not the person. I'd like to see this discussed, even if age and the inevitable salary increase over career are inseparable.

</comment><comment><USER55> This article is a rehash of X articles which themselves are constantly being rehashed.

I bet Zuckerberg wishes that quote would die. It was one moment of his life in which he gave that quote and now he's anchored to it for eternity.

Yesterday I was listening to an old interview of Musk in which he was talking about the demographic bomb which much of the world faces. Does the Japan workforce also suffer from ageism?

Tech is a big field. I can't see programmers widely falling behind in skills and looking for employers to get them caught up. It seems the responsibility for this is on the worker.

<comment><USER56> The reality though is it may be the employer who has caused the employee to fall behind/out of relevance. Quick example: while working on a federal contract I had a co-worker who was in charge of the contract's Altiris infrastructure. That was all he was allowed to charge time for on that contract and it was the only contract he was on. To learn something new he either 1) had to carve it out of his personal time, 2) commit federal timesheet fraud or 3) take a pay cut. Meanwhile others of us were being sent off to learn new products like vSphere. Speculation was that our management was deliberately monopolizing his time on this one thing because it was getting hard to find people to do Altiris and they didn't want to pay for teaching him something more relevant and have him use it to get a new job elsewhere.

Eventually, he did find another job and moved on, and I got a steady stream of recruiters who saw Altiris on _my_ resume because it had been a big part of my duties at that and my previous employer. Nope, I already know where that trapdoor goes, thanks but no thanks.

Now if your employer _does_ offer continuing-ed/tech-training and you don't take full advantage of it, that's on you, although even that can be hard since some employers offer it only if it's job-relevant -- e.g. only the Windows tech staff can take Microsoft training, only the Linux staff can take Red Hat courses, only the networking staff can take Cisco courses, etc.

</comment></comment><comment><USER19> An interesting aspect to me is the people in the article just internalizing this and saying "well, I screwed up by doing the same thing for two years." Huh?

</comment><comment><USER57> There's a part of me (I'm 57) that wants to wear a wire while pitching to a SV VC and catch one of these sumbitches on tape.

</comment><comment><USER58> Being in my 20s, I really do worry about my employability in 20 years. Of course, I plan to maintain my intellectual curiosity throughout my career (exploring new technologies, etc), but even if you are top notch, age discrimination is out there. I have really enjoyed working with and learning from people more senior -- there is wisdom and value in that.

</comment><comment><USER59> This might sound super gross (ok, it's super-gross) but I have a pet theory that your odds of being hired have a lot to do with your "fuckability" \- regardless of your gender. That is to say, I think men who hire will also prefer to hire other men who look good, even though they're likely totally uninterested in them sexually.

<comment><USER60> Most people call it "attractive" and it is 100% a factor in hiring.

</comment></comment><comment><USER61> The caption failed to mention that the grey haired gentleman is Peter Norvig. Google him.

</comment><comment><USER62> This article insinuates that older tech workers expect to survive without constantly maintaining and updating their skillset -- something I consider non-negotiable being in my 30's.

Is this really the case?

<comment><USER63> Updating your skillset is great, but the trick is, how do you define "update"? It's incredibly easy to pick the wrong technology. You're trying to predict the distant future, and if you're not (i.e. you're only chasing trends), you're always in direct competition with the cheapest labor on the market.

For example, I can guarantee that any 20-something "specializing" in Javascript _anything_ right now is going to be in a world of hurt in a decade. Even if you spend the bulk of your off-hours staying "updated" on the latest in JS development, you're highly likely to be wrong. So what do you do? Do you leave it behind? When? What do you do instead?

Having a deep background in something can help, but that takes time, which carries an inherent risk: if you spend N years specializing in X, you're in extreme danger of being the person who gets laid off because X isn't in demand anymore.

</comment></comment><comment><USER64> > Notice only one of these Googlers has gray hair.

I count at least two other dude's with gray hair, and way more receding hair lines.

<comment><USER65> Good find. Guess the article is wrong about work being stressful for tech workers over 50.

<comment><USER66> Just mindlessly lying in the caption to a photo doesn't engender a ton of confidence that the rest of the article is going to be intellectually honest.

<comment><USER67> Saying "only one" when it's actually only two out of forty or more is hardly "mindlessly lying". At best it's < 5% error that doesn't change the big picture the article and the caption tries to make.

Doubly so since they actually are correct on who has really gray hair (Norvig) as opposed to the graying/gray-ish hair the other person has.

<comment><USER68> Ironically all of you are making judgements based on appearance.

</comment></comment></comment></comment></comment><comment><USER69> The industrial revolution began with the textile industry. Before the revolution, we knew who made our underwear. Now we don't care.

Programming is going the same way. Today, most of it is just manual labor. The changing profile of the work force reflects that.

Creativity and experience will still be needed, but the workforce providing them will be a minority. (Just like fashion designers are a minority in the textile industry today.)

</comment><comment><USER70> This is terrifying as a middle-aged adult contemplating a career change out of academics into tech.

<comment><USER71> The job market for good software engineers has generally been very tight for employers for the better part of the 20 years I've been in the industry (and I say that having worked for a dot-com through the '00 bubble and for Goldman Sachs through the financial crisis).

Salaries seem to be at an all time high. Lots of jobs and not enough good engineers.

Nothing to be terrified about.

</comment></comment><comment><USER15> I wonder how much of this is just money?

Do you really need a team full of 40-50 year old people making big money, or is a couple of them plus a bunch of junior people good enough? It saves you money, the expensive people train the young ones to do the job well and make sure nothing gets screwed up badly.

Seems like the nature of the job somewhat dictates that competition will increase drastically as you move up in experience.

<comment><USER72> The "big money" I want is about 50% more than what I hear they're offering to new grads. I've seen new grads take an entire day to do something that I can do in about 20 minutes.</comment></comment>


JVM Anatomy Quarks: Compressed References - <AUTHOR> https://shipilev.net/jvm/anatomy-quarks/23-compressed-references/ <comment><USER2> Data layout optimizations are a really neglected part of compiler engineering. Performance bottlenecks are now in caching and moving data in the memory hierarchy, instead of ALU throughput. So compact data representation lets you fit more items in the same amount of cache and move more items in the same amoutn of banwidth.

Compressed references is one of the most basic optimizations that is routinely done by hand when programmers do performance work. Others include storing data in a columnar form (aka AoS->SoA transformation), altering array layout to be cache-friendly (tiling / swizzling), moving rarely accessed members out of line, and field shrinking based on dynamic range analysis.

The history of "compressed references", afaict, is reactive on the JVM: people were shocked at memory usage increases when moving from 32-bit to 64-bit machines. So it came about semi-accidentally and is not really indicative of systematic work on data layout optimizations in the JVM...

There is also a term of art in CS that refers to economical use of memory: [https://en.wikipedia.org/wiki/Succinct_data_structure](https://en.wikipedia.org/wiki/Succinct_data_structure) and a second one that is for shrinking data structures based on content entropy: [https://en.wikipedia.org/wiki/Compressed_data_structure](https://en.wikipedia.org/wiki/Compressed_data_structure) \- this literature is dealing with more advanced encoding tricks that are rather far from what a compiler could realistically do on its own, and often make big tradeoffs such as making the structure read-only.

<comment><USER3> Rust does quite some optimization on layouts[0], it can do so since its internal ABI, including struct layouts, is unspecified and thus they can change it while still having C ABI for interop. They're also keeping the options open for PGO-based layouts.

Of course those are still compile-time decisions, so compressed pointers are out since they only work if you restrict yourself to ~32GB, depending on alignments.

[0] [https://github.com/rust-lang/rust/pull/45225](https://github.com/rust- lang/rust/pull/45225)

<comment><USER2> Can you point out some layout optimizations that are done? I could not make out much of your link sadly.

<comment><USER3> Look at the "Size optimizations implemented so far" section. It's mostly about packing enum discriminators into unused bits and bytes.

Beyond that rust has always done field reordering to minimize wastage from alignment gaps.

Other optimizations are still being planned.

</comment></comment></comment></comment><comment><USER4> The short version is that you are often better off running multiple instances of a JVM application with a heap <32GB when you have the choice between scaling up and scaling out.

<comment><USER5> That depends on your memory usage. There is an awkward range (32GB - 48GB) where the increase in heap size does not give you a proportional increase in available memory because of the doubling of references. That is where you're better off running multiple instances. But for heaps bigger than 48GB running a single jvm is more efficient.

</comment></comment><comment><USER6> _> Once the heap size gets larger than the threshold under which compressed references are working, a surprising thing happens: references suddenly become uncompressed_

Am I correct in assuming that this is made possible because Hotspot can re- JIT? So the GC/Allocator just warns the JITter, "hey, all of your Oops [flags] code is no longer valid," resulting in a re-JIT of everything? Or a prologue in every method that checks the Oops flags (and triggers a re-JIT)?

<comment><USER7> No, compressed oops mode doesn't change at runtime. That's pretty hard to pull off. You'd need to change object layout dynamically and unless you want to reformat the whole heap you'd need tags or regions with different pointer rules. Any of these techniques would have a very substantial runtime overhead.

</comment></comment><comment><USER8> "The name underlines the fact that the single post is not enough to form reasonable matter"

What does that bit of legalese mean?

<comment><USER9> That is an exceedingly awkward sentence --- either due to non-native influence or an attempt to sound fancy. It's really saying something like "the articles refer to each other so you might not understand everything from reading just one."</comment></comment>


Show HN: XREF-PRO – millions of electronic component cross references - xref-pro https://www.xref-pro.com/cross-reference/?q=CC0201JRNPO8BN101 <comment><AUTHOR> Congrats on shipping! What stack did you use? You should write a blog post about it. Looks really well designed, love the timing metrics in the footer.

</comment><comment> xref-pro prototype results are a bit rough at the moment but we are improving our algorithm daily. we are not electronics engineers so we will be seeking help with configuring categories soon.

For example our algorithm may detect 2 LEDs as being 95% parametric equivalents. However, one may be red and one may be green making the high score irrelevant. This sort of issue needs some work.

</comment><comment><USER2> search for a part and get other parts that may be the same. :-)</comment>


Superbull Sees Dow 20,000 Coming - <AUTHOR> http://thebullandbear.com/articles/2000/1100-dow.html

<comment><USER2> "Q. What would make you bearish and negate your mega-bull market scenario? A. The primary consideration would have to be another serious war."

<comment><USER3> Except that the first major obstacle turned out not to be another serious war (that started, sort of, in 2001) but the dot com bust

Nevertheless, it's a fun read.

</comment></comment><comment><USER4> The article is from 2000.</comment>


Privacy Advocate Held at Gunpoint After License Plate Reader Database Mistake - <AUTHOR> https://www.theverge.com/2019/2/21/18234785/privacy-advocate-lawsuit-california-license-plate-reader <comment> T3OU-736 GiGo still applies.

(US-centric view, YMWcV)

Sadly, the mechanisms for feeding data into these various databases are held as confidential under the auspices of protecting the TTPs. This makes it impossible to have proper oversight from people who understand data lifecycles (I am not counting myself in that category). The courts, the usual remedy for this sort of things, aren't as helpful, because a) they rely on a specific case to be brought (see: Stingray devices and coirt cases being dropped to protect them), and because "parallel construction" is, sadly, a thing.

While keeping TTPs (tactics/techniques/procedures) isn't, on it's face, invalid as a reason, for _public_ law enforcement that seems to be iffy. There is already a whole list of things which slews the power dynamic towards the gov't, the public LE agencies should not be allowed to claim secrecy as one of them.

They want to be secret agent? Sure. But the rules are waaay different, and you don't get all the nice comfy protections already codified into law, then.

The sherrif's deputies in this particular story are in an inenviable position. Odd that a stole car (rather than a carjacking) required a response involving threats of lethal force to ensure compliance, but aside from that, they had no way to know what the specific circumstances were until they investigated. Wonder if there wasn't a more effective way to determine innocence (was the car search necessary, or just conducted because they could, while they already had the car pulled over and people in custody?)

Doubt anything will happen from the suit. _Maybe_ that particular database's procedure for data accuracy will be examined, but probably not.</comment>


Microsoft Board Names Satya Nadella as CEO - <AUTHOR> http://www.microsoft.com/en-us/news/press/2014/feb14/02-04newspr.aspx <comment><USER2> I don't know a lot about Nadella, but he seems like a huge leap away from Ballmer. Indian cricketeer who hustles but at least looks like a nice guy...Could be hugely positive for them. Pretty cool.

I, personally, want Microsoft to succeed. Not so I can go back to a Windows computer (neverrrr) but so I can buy whatever they create _after_ Windows.

<comment><USER3> _> I, personally, want Microsoft to succeed. Not so I can go back to a Windows computer (neverrrr) but so I can buy whatever they create after Windows._

Not to mention, (solid) competition drives innovation. To me, that's the most important reason to root for Microsoft's success.

<comment><USER2> Seriously. Microsoft is close to figuring out who they're going to be for the next decade. I'm optimistic.

</comment></comment></comment><comment><USER4> Sincerely I feel like buying some MSFT stock, first time in a decade.

Replacing Steve Jobs would be much tougher assignment.

Don't forget to deactivate Ballmer's badge and get some fresh air into the boardrooms :)

<comment><USER5> Ballmer is staying.

<comment><USER6> I haven't watched the videos since I'm at work, but last I heard he was retiring once the new CEO was named. Has that changed?

<comment><USER5> He is staying on the board apparently.

</comment></comment></comment></comment><comment><USER7> merge with [https://news.ycombinator.com/item?id=7177388](https://news.ycombinator.com/item?id=7177388)

<comment><USER8> Every link discussion site needs the ability to merge multiple links under one heading. This has been bugging me for years.

</comment></comment><comment><USER9> It's a good choice because he will probably nurture the successful part of Microsoft that he spent he career nurturing. Microsoft will make a lot of money for decades to come.

It's a less than great choice because Microsoft's approach to finding The Next Big Consumer-oriented Thing has been wasteful, yet too conservative. Too conservative in terms of looking beyond Windows and PCs, but too lavish in spending on attempts that flop. Maybe Nadella will be more careful about splashing out lots of money building too many Surface RTs. But that's only half the problem.

</comment><comment> V-2 This "first interview as CEO of Microsoft" is boring as watching grass grow, 100% corporate newspeak. Surely great material for playing buzzword bingo though. Take all human potential, excited about learning new things, tremendous inspiring opportunity, the primary focus is to take innovation forward, everything becomes digital and software driven, unbounded opportunies, pick unique contribution, yadda yadda yadda. Oh FFS

<comment><USER10> He is not a sales guy, that's clear. However, having a geeky technologist than sales person as the boss is always a morale booster to technology company.

This could well be a strong sign that Microsoft future focus would be hardly in consumer market, given the choice of CEO.

</comment></comment><comment><USER11> Regarding all the positive comments, I think the previous guy was so bad, and the new guy mostly nondescript, that people are projecting all their hopeful wishes onto the new guy.

Really, a lot like what seemed to happen with Bush and Obama.</comment>