Portal 2 Beta for Linux officially released - <AUTHOR> http://steamcommunity.com/games/221410/announcements/detail/1585569369676516320

<comment><USER2> Oh jeez. [https://github.com/ValveSoftware/portal2/issues/21](https://github.com/ValveSoftware/portal2/issues/21)

<comment><USER3> So there are github whiteknights.

The ridiculous thing here is that they're thinking that they're "protecting" github when github doesn't need at all. Valve is doing free publicity for github by doing that and as I said there, an issue tracker is taking negligible resource from the servers.

<comment><USER4> OP (from github) here.

I apologize. I didn't understand Github welcomed this sort of use. Common cases of hosting other people's infrastructure (e.g. Sourceforge, freedesktop.org, Atlassian, ...):

        * Charity (free) for open source
        * Pay-for-use commercial users

I haven't seen a lot of companies volunteering to host other profitable companies' infrastructure before. So, I posted that with my knee-jerk reaction to the situation.

That being said, I take issue with your assessment of the situation and the criticism. I object to the designation "whiteknight" — I believe I am actually acting quite selfishly. It is in my best interest for Github to continue to be in business as long as possible, to keep hosting open source software for my projects and projects I consume.

The net gains/costs of Github hosting Valve's issue tracker are pure speculation without an insider's view, and I can't pretend to have that. I'm guessing you don't either? I'm not saying you're wrong, just that your claim is drawn out of thin air.

<comment><USER5> > I object to the designation "whiteknight"

You're behaving in the very definition of the term, no matter how much people might dislike its over-application, and how it's almost applied to anything one does online - you'll excuse my generalization about as easily as you'll accept the term, I'm sure.

You're behaving as if you know what's best for resources you don't even own, nor operate yourself. Why not just let Valve and Github work out policies between each other.

Your knee-jerk is the very essence of vigilantism, albeit online social justice: hence whiteknight. You might not like the pejorative, but it fits perfectly for the action.

Maybe think before you speak? Not everyone needs an activist. Valve and GitHub are big boys, they can fight with eachother - though by the sounds of it they're not fighting at all.

<comment><USER4> I don't think my actions are as significant as you make them out to be.

> You're behaving as if you know what's best for resources you don't even own, > nor operate yourself.

I don't know best — so I file an issue to start the question. This is how you start discussions. An issue/bug report does not always mean "this is a software bug, fix it now!"

> Your knee-jerk is the very essence of vigilantism

Really? Vigilantism is filing a github issue? Lollerskates. I see things that go against my intuition, I file bugs, this is how you make software better. Sometimes the bug reports are invalid _shrug_. My intuition is usually good. Sorry it was wrong in this case.

> Maybe think before you speak?

This phrase gets thrown around a lot but only when talking to other people. What makes you think that I didn't think before I wrote that? Or that somehow your snide suggestion is more likely to convince me to "think more" before I file future bugs than Github and Valve's professional responses ("we're cool with this, closing")?

> Not everyone needs an activist.

I still think you're making out filing a two-sentence GH issue as waaaaaay more involved or significant than it really is. I'm not a Github activist. I just write code.

</comment></comment></comment></comment></comment><comment><USER6> The Enrichment Center is required to remind you that you will be baked, and then there will be cake.

<comment><USER7> Memes and popular quotes as the top comments. I had to double check the page's URL to make sure I really was on HN.

<comment><USER8> Oh, man, I love seeing the typical uptight HNer in action. ONLY SERIOUS BUSINESS HERE, GUISE, PLEASE. _cries and hides_

<comment><USER7> There are plenty of places on the web to spout memes and references to popular games/movies/whatever, I don't see why we have to bring this over here. It's the very definition of "noise". I also fail to see how the parent's quote has anything to do with TFA, besides being from the Portal game. It offers no insight whatsoever.

<comment><USER9> I don't know, as long as it's just one thread I think it's ok to have some fun every now and then.

<comment><USER10> What's fun about it? It's not like it's an original witty thought. It's just regurgitation. And it's about as palatable to read.

</comment></comment></comment></comment></comment></comment><comment><USER11> Curious: how is performance compared to the OSX port? All the Source games I've tried run horribly on OSX compared to Windows on the same machine. Strangely, they play just fine through a Parallels Windows VM running inside OSX, so it can't be the OSX graphics driver's fault. What's going on over there?

<comment><USER12> I believe OS X has graphics drivers provided by Apple, not by the hardware vendors, so that likely has something to do with it.

<comment><USER11> Yes — but as I said, running the game in a Parallels Windows VM results in 2x better performance than running the same game natively. The same OSX graphics driver is used in both cases, except the VM has to do extra work! How does that make any sense?

<comment><USER13> A wild guess would be that OS X drivers contain poor shader optimizer.

Parallels probably work by decompiling DirectX shader bytecode back into GLSL, which is already optimized for OS X shader compiler, therefore there is less burden on the optimizer.

Another example of poor drivers are various GLES drivers on mobile, mostly trivial optimizations can drastically increase the performance: [http://aras-p.info/blog/2010/09/29/glsl- optimizer/](http://aras-p.info/blog/2010/09/29/glsl-optimizer/) and [https://github.com/aras-p/glsl-optimizer](https://github.com/aras-p/glsl- optimizer)

<comment><USER11> I was skeptical, but that first link speaks volumes. Interesting theory!

</comment></comment></comment></comment></comment><comment><USER14> Awesome. I've already played through it on my Gentoo computer using wine but will enjoy playing through it again and doing the online co-op missions when this version is out of beta. It's a great game, very worth playing if you haven't already.

</comment><comment><USER15> Best news I got all day. Downloading now. It worked pretty good in wine (atop Arch) for a while, then developed keyboard issues. Hoping to say goodbye to those.

</comment><comment><USER16> Awesome. I already played through on xbox, but I've been buying/playing the linux ports of the valve games as they come out to support them.

</comment><comment><USER17> Got it working on my arch linux laptop with Intel HD 4000 it is super smooth.

This is great news.

</comment><comment><USER18> I would like to see the SDK and the 'Authoring Tools' working on Linux.

</comment><comment><USER19> Has anyone tested to see if it would work with co-op with non-beta players?

</comment><comment><USER20> Great news, now just waiting for a Humble Bundle deal with Portal in it.

<comment><USER21> I don't think Humble Bundle ever did any deal with Valve titles.

<comment><USER22> It would be pretty weird if they did considering they have their own platform and bundles.

<comment><USER23> Yep.

And they regularly do 75% or 90% sales on Valve titles during "season" sales.

</comment></comment></comment></comment><comment><USER24> Looks like I'm gonna buy a Steam game for the first time.

</comment><comment><USER25> Reminds me of [http://xkcd.com/606/](http://xkcd.com/606/) ... Clearly, there are no downsides!

</comment><comment><USER21> nice, but i wonder why they took so long to release it after all the other source engine games.

<comment><USER26> Has got to be either low priority or technical limitations. I guess a Linux port of Portal 2 isn't likely to provide returns anywhere close to PC sales, so it may not have been approach furiously by Valve.

I also wouldn't be surprised if there were some DirectX specific stuff in there that wouldn't easily make the transition to OpenGL either. Not to mention all that driver testing they would have to do...

<comment><USER27> Likely technical; the last three major source games to be ported were Dota2, this and Counterstrike: Global Offensive (as yet not running on Linux), which were their three newest games, and presumably used their shiniest, glossiest versions of the Source Engine.

I'd imagine that CS:GO would have been prioritized much higher if it was purely a business decision, given it's still high up in their top-played games; Dota2, likewise, is their top played, flagship title, so if it was a pure business decision, that would surely be #1 instead of third-last.

<comment><USER28> I'm not going to pretend I know when CS:GO was ported, but for a very long time (until the crate update) it was easily the least played version of Counter Strike.

I think it was ported to Linux before it was successful, but I can't be sure.

<comment><USER27> It's not yet ported to Linux.

</comment></comment></comment></comment></comment><comment><USER29> Better late than never I guess.

</comment><comment> vezzy-fnord Misread that as _Postal_ 2 beta (with an "s"), even though Postal 2 for Linux on Steam has been around for a while now. RWS is planning a big update this year, too.

This is good, too, though. I might consider checking it out, though I'm hardly a gamer.

<comment><USER30> It's a really good game, that deserves it cult status. Go ahead, but try to play the first one before if you can.

<comment><USER31> Yes play the first one.. there's some really yummy cake at the end!</comment></comment></comment>


Ask HN: Landing a programming job by virtue of a side project only? - <AUTHOR> I'd like to pursue developing full-time but have no formal education. I do however have a profitable (~$500 MRR) SaaS in the finance niche and a few dozen freelance reviews from over the years. I plan to continue growing my product, but I believe the upside is limited and marketing isn't my forte, which has lead to my interest in seeking a position with stability where I can focus mostly on coding.
My first step will be to get a public repo up for it, but provided that's done, my questions are:
1) Would you consider someone in my position a candidate for an interview based on a product/repo only?
2) My experience is full stack, LAMP/JS, but all vanilla. Are there opportunities for a developer without framework knowledge, or should I focus on this prior to a job search?
3) I live about an hour from Toronto, Ontario. If I had a choice, a hybrid position where I commute one or two days a week and work the rest remotely would be great. Can this type of arrangement be found outside of senior positions or am I being unrealistic?
Cheers <comment><USER2> I know you think you want a programming job, but try to avoid it. I was in a similar position to you years ago. When you start working for other Sr. Dev etc, they will break your spirit and add levels of code bureaucracy and egos. This doesn't include the arguments about naming variables.

Just keep working on your own projects. Who cares if it's spaghetti code, you are making money, those people you interview with are working for the man, you are not.

Creative, drive and initiative (the talents you used to build your own web site and make it profitable) are talents not found in programming. Coders and Sr. Devs who see that you have those talents will soon extinguish those positive traits from character.

Sent from a government office... Help I'm trapped.

<comment><USER2> Keep fighting, it will be a long battle but worth it in the end.

1\. Do some human networking/meet ups. This is completely under rated and the returns are infinite.

2\. Upwork.com, it take about 10 proposal before you get some work. It works over time.

Here is some inspiration... [https://glenmccallum.com/2019/05/14/senior- developers-reject...](https://glenmccallum.com/2019/05/14/senior-developers- rejected-jobs/)

[https://selftaught.blog/self-taught-programmer-jack- dorsey-b...](https://selftaught.blog/self-taught-programmer-jack-dorsey- birthed-social-media-giant/) second paragraph.

</comment></comment><comment><USER3> The $500 MRR is an interesting selling point, for sure.

See yourself as a product you must sell to a new client, your future company. The client is made of: \- A future manager \- Future colleagues \- HR / Upper management

Each part of the client has its own set of requirement. Getting the interview depends mostly on selling the resume: make professional accomplishment clear, show that you understand what's happening around you and focus on problems and their solution.

1) I would definitely consider you for an interview, but with a strong bias against you: I, like many others, have a formal education and believe it helped me. I also hired exotic profiles and got bitten. The fact you have a product up and running is the only reason why I'd pay to see you.

2) Vanilla or not, what I would want to see in frontend code is clarity and team-orientation. If your code can be worked on by a team, and is clear and well done, that'd be more impressive than an angular spaghetti. I would ask you your opinion and try to determine if you can scale to team work, big project and deadlines. Your profile is usually understood to be able to accept ungrateful work happily while learning, and become senior in a 5-year horizon at best. You'll be expected to be humble unless you can demonstrate exceptional insight about programming.

3) I would refuse to see you immediately if I heard about you wanting to slack while we pay you to learn, and I would strongly signal during an interview that not only this is not possible even for the CEO, but that wanting it while you have so much work to do just to be on par with the team that will have to support you for a few years is disrespectful.

The top rule I try to apply when recruiting, is : is that guy better than me. If yes, hired.

</comment><comment><USER4> I have no formal education.

YES! Side projects are the best way to demonstrate you know what you know.

1) YES! A million times YES! When recruiting people I don't care about their degree I know how academia works I know its all talk no walk, I want proof and a public repo is the best way to do that.

2) When searching for jobs search your skills (php / javascript) not a job title.

Your biggest selling point is that _you are a self starter_. If there is something you don't know you will just learn it, while the academics sit on their ass waiting for some one to show them. Its hard to understate how much of a massive advantage this is, _especially to business minded people_.

3) Yes

Your biggest obstacle will be self doubt or over confidence, don't bull shit if there is something you don't know just stick to your winning attitude.

</comment><comment><USER5> 1\. I would whiteboard you and vet your previous clients/projects. This also assumes I have time. Make sure you're good on from a project pov and an algorithms pov. I've seen bad code from people who have made decent looking projects. When I looked deeper I just saw copy pastes from stackoverflow.

2\. This makes it harder - just learn react, new ES stuff and webpack if you want to focus on front end, it doesn't take long, just run yourself through some tutorials and build a small project to familiarize yourself. Some people will ask you trivia.

3\. You're being unrealistic.

I suggest you ask for referrals.

<comment><USER6> > _I would whiteboard you_ > _you 're good on from a project pov and an > algorithms pov_

As someone who also hires software people, I would urge you to review the evidence on whiteboarding. It's difficult to discard your own anecdotal evidence, but hiring has no control group -- you have no idea how many great people you're missing as a result of whiteboarding.

The reasons against whiteboarding have been discussed here many times, but I'll summarize them again:

\- They're unnatural. People haven't practiced writing code standing up, with markers, with other people around, in real-time with minimal thought/planning, or with a potentially life-changing job on the line, and they don't do that after you hire them.

\- They're biased against people who are introverted, who haven't specifically practiced whiteboarding, and/or who just aren't as cocky. Why are those traits you want to filter out?

\- Most programming jobs are about learning and critical thinking, not regurgitating algorithms.

\- They're humiliating for most people. That alone should be enough to end the practice. When people ask me for advice, I tell them to avoid companies whose first interaction with you is humiliating.

\- Experienced candidates can (and should) refuse to do whiteboard interviews, which means your company is missing out.

I hope that's at least food for thought!

<comment><USER5> My whiteboarding consists of a mix of three things:

1\. Invert a binary tree (tree based and simplistic) 2\. Open a file, parse it in a simple way and then write to a new file. (file systems, strings) 3\. Design a barebones twitter/reddit, etc. (architecture)

No dynamic programming, no esoteric stuff. Just can they understand tree structures, do they have a grasp on file systems, and do they have a modicum of design sense.

It doesn't need to be hard. After that the rest of proving themselves happens on the job. This isn't for humiliation, I just want to filter out the people who I would waste time on with further vetting and training. If the candidate cares they should be able to meet my appropriately low bar.

<comment><USER7> 1: have you _ever_ had to invert a binary tree outside your interview? And if you have, not that many others have.

2: surprisingly, not all programming jobs require opening a file (I used to run a question that required opening and writing a new file and got rid of it).

3: I love whiteboards for design questions.

My suggestion for a technical interview (coding portion): take a real life problem you solved in the last year or so. Distill it down into something you could do in 15 minutes. Give the candidate 45 minutes to do it on a computer (preferably their own). For other important things you need them to know before they start (like if trees and file systems are important), just talk about them and ask questions. You can drill down as far as needed there and learn more than if they know the file api in the given language. I recently hired a guy who was green, and did not know how to open and read a file or do unit tests (really green). But given a laptop and a few minutes to read docs, he knocked it out. He has been a fantastic hire working on high scale, high available systems. I don't think he would have done well if the questions were on a whiteboard. Just my $0.02.

</comment></comment></comment></comment><comment><USER8> Can't say for sure without spending some time with your code, which you would need to entice me to do. Without a resume, you need a portfolio. That could be one app, if it really catches my attention. A blog with a few short but insightful posts about programming could help too. Catching me at a meetup and demonstrating some intelligence and thoughtfulness would probably clinch it.

Your marketability is fairly limited with just vanilla JS/LAMP. At this point I'd say learn basic React, Node and Python (preferably) or Ruby. Familiarity with AWS would also be a high return investment. You don't need to know any big back-end frameworks (e.g. Django/Rails) really well, but be able to bootstrap a project and use the management app. Spending some time with a microframework is a good idea (e.g. Express/Flask/Sinatra).

At your level working remotely part time is probably not going to be an option. Offering to take a lower salary during negotiations might get you a few days remote but I wouldn't expect it. I would definitely negotiate for more remote time as a reward for positive performance reviews though.

</comment><comment><AUTHOR> Thank you to all commenters. I'd be hard-pressed to find this kind of advice in any other community, let alone for free, and I appreciate each of you taking the time. I've had a day to reflect, and have decided to remain focused on my product and continue to subsidize through freelancing and non-tech work.

I realize now that I didn't give enough consideration to what would be imperative to an employer and the largest change from my experience working solo - functioning as a team member. I'm a lone wolf, and while I don't think that's inherently right or wrong, it's how I deliver my best work.

I think perhaps I'll revisit this idea in the future with my improved perspective, but for now I know that what I truly want is to support myself with a product I can call my own, even if it comes at the expense of a heftier paycheque.

</comment><comment><USER9> I have hired people due to their side projects and they turned out to be solid. But most people don't. It requires looking at your code, vetting & talking about it.

My concerns are do you know how to work with a team? How about communication? Do you know how to partake in all the other activities outside of coding? Testing? Documentation? System Design? Do you know how to program in the large?

Most people out there can brute force their way to a working project and even make tens of thousands of dollars but that doesn't mean they are a great developer.

</comment><comment><USER10> I can't tell you anything about your local market but you sound "self taught" and there are lots of people like that in the industry.

Look up some local meetups and get to know the local market.

</comment><comment><USER11> The solution to both your problems is the same: advertising your product (either that financial widget or yourself).

If you learnt to advertise yourself effectively, getting a job as a self taught developer should be a breeze.

Conversely, if you learnt to advertise your financial widget so that it paid you a full-time salary, you could effectively hire yourself and continue building more products.

</comment><comment><USER12> Honestly, having a $500 MRR side projects tells me nothing about your coding skills, and would not inspire me to interview you for a coding job.

What it would inspire me to interview you for is an junior PO role. You found a problem, built a solution, got a few customers, and have kept them happy. The skills to do that are not related to the coding -- they are product design/ownership skills.

<comment><USER13> > You found a problem, built a solution, got a few customers, and have kept > them happy. The skills to do that are not related to the coding

If it's a software solution, the idea that the skills for the "built a solution" part of that are not related to coding seems to be generally untrue. Yes, a solo project of the type involved more than coding skills, but product owner skills without tech skills don't call forth software from the depths of the abyss, though they can produce a nice idea of what a software solution would look like if someone was available to build it.

<comment><USER12> "not related to coding" and "not related to coding skills" are not the same thing.

Many people can fight through learning enough code to whip out an MVP. But did they do it effectively, or did they spend 3 months doing what most coders do in 3 days? Did they do it well, or is it brittle code that needs major refactoring?

So while you are right that coding has to happen, I stand by the original statement that the mere presence of code does not inspire me to interview the person who created it.

</comment></comment></comment><comment><USER14> @sullivan You can get full-time employment even though formal education is required but sometimes not mandatory. Visit [https://angel.co](https://angel.co). Try to build up your networks and show up your product and revenue in social media this will help you to land up your next full time job. Wish you good luck.

</comment><comment><USER15> I work in IT and many of the responses I am reading here sound idealistic. I am aware of weak, good and exceptional programmers who all get paid at the end of the month. Have a go and see what happens.

</comment><comment><USER16> I would not believe you were making $500 MRR if you put it in a public repo. So consider that carefully. Better off spending time writing your resume well.

</comment><comment><USER17> i was able to do this. i had one side project/app published in the app store and one freelance contract. those alone got my foot in the door for technical interviews... from there, there is no free lunch, however: study nonstop to pass technical white boarding and screens. you have to run through the gauntlet of technical interviews to get hired.

do you have any formal education? bachelors in anything?

</comment><comment><USER18> It's a tough sell if you don't know any frameworks. The vast majority of businesses use frameworks, makes it easier to hire for, right?

</comment><comment><USER19> My experience is that side projects will land you an interview, but they still test for personality and technical ability.

</comment><comment><USER20> I've never hired someone who was self-taught, not because self-taught people can't be equal or better, but because you're trying to buy security and stability. The most expensive mistake you can make as a manager is hiring the wrong person, and self-educated people just aren't worth the risk when you have a dozen other candidates who are great. I'm Danish though and things are a little different here because education is free. In face the government will even pay you a small amount of monthly money while you study. So we don't have that many self-educated people, and those who are, are typically self-educated for a range of reasons that put them at a disadvantage from the get go.

So my point isn't to discourage you, but to make you aware that managers might see your lack of formal education as a risk that you need to mitigate.

Everyone can learn to program, but learning how to program, correctly, efficiently and safe comes with formal education and you probably need to show that you know at least something about how to make CS based decisions. Maybe you do, if so great. If you don't, spend a little time researching best practices, read up on design patterns and maybe complete the MITX intro course(s) to CS on edx.org.

I'm not sure knowing a specific framework is really all that valuable. If your can build something with LAMP/JS that makes money then you've already demonstrated your ability to write software. On the other hand it wouldn't hurt you either.

<comment><USER21> 1\. As a hiring manager you should be better at differentiating between people and treat a degree as just one data point that you take into account, and not as a filter that gives no false positives.

2\. You're pointing out that self-educated people aren't worth the risk and then you go on to advise him that he should self-educate.

3\. A point that I think you're kind of making and that I agree with, is that a degree is a signal that you've gone through a certain process of education. If you don't have it, then you'd better signal the same thing in a different manner and demonstrate that you're familiar with theory, best practices, design patterns and so on; and that you can stick with something for a continuous period of time (showing up and doing at least the minimum amount of work for 4 years isn't a signal that all candidates have).

<comment><USER20> You can certainly have a degree in CS and suck, but the odds of that happening are much lower than with people who don't have a CS degree. Why should I waste the resources if I have enough decent candidates?

The rockstar developer is kind of a myth. If you compile 100 applicants into the 5-8 best ones, then the truth is that you could probably hire any of them and get good results.

That doesn't mean self-educated people should give up. Especially because very few countries have as easy access to education as we do.

<comment><USER22> Haha, the opposite of what you're arguing is true.

Anyone can get a CS degree without knowing how to program, you can make up the credits with all the irrelevant, purely academic, formal CS stuff.

But no-one can be a self-taught programmer, actually create a whole app, and lack the fundamental ability of being able to write a basic program.

<comment><USER20> I think everyone can learn to write an app by following a few YouTube videos. This is how we've got our project managers and lean-operators to write RPA projects in python after all.

On the flip side, I've never personally met anyone who went through 5 years of university and came out knowing nothing.

The thing with CS is that it's not the programming itself that's actually valuable. It's being able to create efficient, safe and maintainable code. If you can't tell me the bigO of your program, if you don't know how to remove the top node of a binary search tree or if you think using NPM packages to do simple computation is a good idea, then I just can't use you, because it'll be way too expensive to teach you.

If you suck at our specific tooling, but have already proven you can obtain a university degree, then I know that I can re-school you relatively cheap by sending you on a few courses.

I'm sorry this is rubbing non-educated programmers wrong, but an education is actually valuable, and it will be increasingly so as the younger generations are all getting them.</comment></comment></comment></comment></comment>


Verizon will control Android updates for Google Pixel phones it sells - <AUTHOR> http://www.theverge.com/platform/amp/2016/10/6/13191614/verizon-google-pixel-android-updates <comment><USER2> FWIW, Verizon does extensive internal testing of OS updates. When I was there, as an engineer, we would be given phones, and anytime there was a new update, we would receive the updates first, use it daily for a couple of weeks, and report what we found. There were multiple tiers of internal user trials before the updates were greenlit, and there were many potential OS updates that never made it to public because of the problems we found.

Verizon may slow down updates to consumer devices, but I always felt like it was for good reason.

<comment><USER3> Do they do the same for Apple devices ?

<comment><USER2> I don't remember what we did for Apple devices, but I'm pretty sure they (Apple) had complete control over the update framework, including the updates themselves.

EDIT: edited for clarity

<comment><USER3> Why is that personally I feel it is so that they can put all the carrier bloatware into the Android roms. I like that here in Singapore carriers are not allowed by law to lock phones to their networks or put uninstallable bloatware. So carriers can put the bloatware in but I can get rid of it easily as not in the system rom and we are allowed to sell the device that we get thorough contracts.

<comment><USER2> Apple had more negotiating power than any other cell phone manufacturer had in the past. The first iPhone that supported the Verizon network was the iPhone 4. At that point it had already been proven to be wildly successful, and it was one of the few things that people could knock Verizon about (aside from price). I'm pretty sure Apple held all the cards in the negotiations to get the iPhone 4 on the Verizon network.

Contrast that with every Android OS based manufacturer: 1) The majority of them were companies that had been working with cellular providers for years already. They probably already had agreements in place with providers about how things would go (bloatware, extensive testing, etc.). 2) They were competing with each other for market share because the OS wasn't a differentiating factor (their bloatware/cosmetic overhauls were weak attempts to establish software differentiation). 3) Verizon made a big investment in Android with the Droid line, providing marketing, branding, etc. Any other manufacturers that were building Android phones had to compete with these devices and had to market on their own. Verizon had all of the cards.

It's slowly changing, but it boils down to: 1) Manufacturers trying to compete (they often add plenty of their own bloatware) 2) Verizon using a model they're familiar with from the feature phone era and manufacturers being used to the carriers having control

<comment><USER3> Looks like the news media still has some power. With all the recommendations of not buying google pixel from verizon now they have come out saying google will control the updates and the devices will be carrier unlocked.

</comment></comment></comment></comment></comment></comment><comment><USER4> Gratuitous screwing of customers aside, I'm trying to figure out what the benefit for Verizon is.

Do they get a lot of customer support calls from people who don't know how to use the phone, and need time to train the call center staff?

Or is it simply their reflexive control-freakery? Clearly they survive a lack of control from iOS.

<comment><USER5> I think this is one of those "trust is earned" cases.

Google has, in the past, pushed out updates to phones in ways that bypassed carrier certification and then broke things (e.g. in the early days of Market auto updates). Because people buy the phone from the carrier, if it breaks the carrier gets to pick up the pieces. This is especially true because whilst Apple has extensive on-the-street support infrastructure and everyone knows if you have a problem with an Apple product you take it to the Apple Store and they fix it, no questions asked, this is not true of other phone manufacturers. The carrier provides the (very expensive) in person support.

Verizon may simply not trust Google's QA process, or put another way, they institutionally don't trust OEM QA processes and to make an exception for that requires a very good reason beyond just "Google is cool".

</comment></comment><comment><USER6> What is update path/policy for iPhones? Do Verizon sell iPhones too? Do they control it's update too? Or iPhones gets their update directly from Apple? (I am only aware of noncontract iphones, which do get update regularly from Apple itself.)

P.S. I do not live in USA. I am asking because this is huge mistake for Google. With their new branding I hoped they will deliver updates to pixel line as smooth as Chromebooks. But it seems nothing changed in regard to Android update problem.

<comment><USER7> Of course, you can just buy your pixel from Google

<comment><USER6> But I thought buying from Verizon would cost less, because of the contract.

Am I right? My point is people who will buy phone for 50$ (for example for two year contract) from Verizon will get direct update from Apple (which improves overall health of the its ecosystem), but pixel ones don't. I think this is shortcoming.

So if you want fast updates like iPhone, you have to buy noncontract from Google itself.

Do you see what is my point?

<comment><USER8> It used to be the case that you'd get the phone subsidized by your service plan from Verizon, but not any longer. Verizon and the other major US carriers stopped subsidizing phones in the past few years.

For me the biggest reason I wanted to buy through Verizon was they were offering a promotional $200 trade in value for my Note 4. For some people selling their phone separately would be a better deal though, so even that won't matter.

<comment><USER9> _Verizon and the other major US carriers stopped subsidizing phones in the past few years._

Except that Verizon just started subsidies again last month: [https://www.verizonwireless.com/deals- landing/](https://www.verizonwireless.com/deals-landing/) Only they disguise it somewhat.

Not sure if that shows up properly. But in September an iPhone 6 was "worth" $650 as a trade-in. As of yesterday it was still worth $650. Today it seems to be $100 less:

       Trade in and get iPhone 7 for $99.99.
       Get up to $550 savings.

It's clearly a subsidy because an iPhone 6 isn't worth anywhere near $650 (or even $550) on the open market. Heck, I had an old iPhone 5C lying around that, last month, Verizon gave me $400 credit for toward an iPhone 7.

If it looks like a duck and quacks like a duck ...

</comment></comment></comment></comment></comment><comment><USER10> Interesting that this is an AMP link, loads faster than the regular page ([http://www.theverge.com//2016/10/6/13191614/verizon- google-p...](http://www.theverge.com//2016/10/6/13191614/verizon-google-pixel- android-updates))

<comment><USER11> What is this AMP garbage? I've noticed it everywhere in the past few weeks and it has been really annoying. Trying to copy/paste Gothamist links on mobile to send to other people was an exercise in frustration. Had to request the desktop to site to get the real URL and send that for it to work.

<comment><USER12> I've had the opposite experience, and I'd anticipate clicking on ever fewer non-amp links over time.

</comment></comment></comment><comment><USER13> Back when I had a Windows Mobile smartphone the carrier I had controlled the updates. Upgrading from winmo 6 to 6.1 took months. I think allowing carriers to control updates will negatively impact user experience.

</comment><comment><USER14> Will the phones sold by Verizon be a different SKU?

There are some phones, the LG G4 being one I believe, which are available in unlocked SKUs that technically work on Verizon's network, but don't have access to as many cellular bands and therefore don't get as good of signal/speeds.

</comment><comment><USER15> For a moment I thought Google will become Apple's competitor.</comment>


Upload Speeds are Killing Innovation and Wasting Our Time - <AUTHOR>

As much as I'd like to think that symmetric broadband is the solution; it probably isn't. After all, for everything uploaded (pics, vids, files) there is likely to be several times the demand for it's download (otherwise, it probably isn't very important race up anyhow).
However, there has to be a better way! Upload speeds from my provider, U-Verse, haven't changed in the last 5 years. Yet, I upload a lot more than I did 5 years ago; don't you? In the meantime, nothing changes with upload speeds.
Will it ever change, or, are we doomed to forever allow slow upload speeds dictate how we utilize bandwidth? <comment><USER2> The US is falling behind in terms of network bandwidth to the home. This is attributed to many factors. Personally, I'm most empathetic to the duopoloy argument. Where I live - in a small city in Sweden - we can get 300-500 Mbit/s download and 30-50 Mbit/s upload for under US$150 per month (says [https://www.comhem.se/bredband/bredbandspaket](https://www.comhem.se/bredband/bredbandspaket) ).

On that scale, AT&T U-verse High Speed Internet, with a 'Max Turbo' download speed of 24 Mbit/s at $66/mo (says [http://www.att.com/u-verse/explore/internet- landing.jsp?fbid...](http://www.att.com/u-verse/explore/internet- landing.jsp?fbid=WiZ4HAzVwNH) ), is rather slow.

For the same price we can get 30-50 Mbit/s download. Which is what I have, since 500 Mbit/s is a lot more than we need. This is the first time in my life I've ever not gotten the highest bandwidth option.

Unfortunately, it looks like the best choices for you are either to look for alternative and/or get involved with politics. At the very least, complain to your city and state representatives, since that has the most impact on your local service providers.

Can you quantify how much time is wasted, and how much that is worth to you? This would help strengthen your complaint, and perhaps help you understand which alternatives might be more worthwhile.

Wicked! I just learned about 3G/4G cellular bonding. "The LiveU solution bonds up to 14 cellular (3G/4G – LTE/WiMAX) modems over multiple carriers, as well as multiple LAN and even BGAN satellite connections. This creates a reliable, broadband video uplink pipe over multiple narrow-band pipes." So if you have the money, there are solutions for getting higher bandwidth.</comment>


Ask YC: So,I have a working Prototype...Now What? - <AUTHOR>

I don't live in SV or Boston, but I need to find a Good-Angel. Somebody with heart.. The investors here (small town Canada), kind of struggle with  getting Web 2.0. They like hardware.<p>So any good advice on what YOU would do to go to the next level. Would be greatly appreciated. <comment><USER2> I'm curious what you specifically want to spend the money on? What is the magical item you must purchase in order to continue developing your software?

You were able to produce the prototype in your current situation, supporting yourself via your current means. Just keep working until you make something a lot of people care about.

<comment><USER3> Exactly. What do you need money for? Just get users to use the damn thing. Why are you so eager to give away a piece of your company?

I'm seriously flabbergasted at the whole "I need angel/VC money" mentality. You don't need money, you need users and revenues. If you need money from someone else, that might be because you're burning cash and need a slightly longer runway. That's a decent reason to go fishing for investments. But it's definitely not a necessary step in any business.

Also, angel investors have no heart. They have wallets. The only people who will invest in you because of their heart are your friends and family.

<comment><USER4> Maybe he has finished a working prototype and is looking to be out of money to pay the rent in a few months?

</comment></comment></comment><comment><USER5> Rick Segal is a web oriented VC based in Canada. But the best advice he has for you is probably that everyone deserves 100 words -- a chance to make their pitch. So work on an extremely concise version of what your startup does, what problems does it solve, and how it will make money. If it's simple enough for others to communicate, your ideas will start gaining traction, and you'll find a lot of doors opening.

<comment><AUTHOR> Thanx Dani, Appreciate the advice. Will start the condensing.

</comment></comment><comment><AUTHOR> Thanx alot guys for all of the feed back. This project is a flash based Virtual World with some very unique bells and whistles, and because of those pluses I believe I need the cash to be in a fast first mover position with this. I have self funded up to this point, but definitely need the money for scaling and ongoing large scale development.

In addition there is a BIG Philanthropic angle to the revenue model, so VC's/Angels run when they here that.

</comment><comment><USER6> i'm sure the first question you'll get here will be: "what is your app and what does it do?"

gotta meet people half way -- cool that you're asking for advice, but without more information not much people here can do for you.

<comment><USER7> yeah will second that.. do you have a prototype or a pre-pre-alpha testing site we can look at??

</comment></comment><comment><USER8> _"... but I need to find a Good-Angel. Somebody with heart... So any good advice on what YOU would do to go to the next level ..."_

Users, more users, then angels?

<comment><USER9> potentially possible that he needs money to establish an infrastructure to allow users.

<comment><AUTHOR> That is exactly it.

</comment></comment></comment><comment><USER10> Agreed. What does your app do?

PS: Where in Canada are you?

<comment><AUTHOR> I am in Kelowna, BC.</comment></comment>


Steve Jobs and The Cloud by Dustin Curtis - <AUTHOR> http://dcurt.is/steve-jobs-and-the-cloud <comment><USER2> Pretty easy to describe, even at the time, since that was the Unix Way since...the 1980s. NeXT invented none of that. Pretty much anyone who went to a top engineering school in the late 1980s or 1990s had this single sign on, cluster experience (e.g. MIT Athena, whatever CMU had, etc.).

</comment><comment><USER3> > I walk up to any of them and log in as myself. It goes over the network, > finds my home directory on the server, and it just, i've got my stuff, where > ever I am. And none of that is on a local hard disk.

You can do all of this with NIS and NFS (and, in-fact, NeXT did. In NeXTStep, NIS (aka YP) was known as NetInfo.</comment>


Fidel Castro retires - <AUTHOR> http://news.bbc.co.uk/2/hi/americas/7252109.stm

<comment><USER2> Important world news, which is why it's on cnn.com and pretty much every other news site out there. Pretty much irrelevant to hackers.

<comment><USER3> I voted this story up. The question I try to answer in deciding whether to upvote a story is this: is the story important to hackers? Castro retiring is a major event. It's not on a par with the fall of the Berlin Wall, say, but it's more important than nearly everything that's gone on in the US Primaries, to pick an example. My guess is that it's more interesting to most hackers than the unoriginal me-too lists of "Top ten mistakes startups make" that still regularly populate Hacker News.

<comment><USER4> I personally tend to try to apply the standard of whether it's of importance or interest to hackers in particular, rather than to human beings in general.

Major news stories are, of course, of importance to everyone, but I personally would rather have a hacker news which is focused on hacker-ish stuff.

<comment><USER5> Thank you, it is a nice Bayesian point of view.

</comment></comment></comment></comment><comment><USER6> I think it is sad that we are discussing weather or not the story should be in HN. I would rather like to see a smart discussion on the actual event from all the smart people here. For starters: what is going to happen to cuba now? Should the embargo end?

<comment><USER4> I can't see that it should end immediately -- the conditions under which it was started are still in place. However, it's probably a good opportunity to start negotiations with whoever takes over -- a gradual lifting of the embargo in exchange for democratic reforms, release of political prisoners, a timetable for free elections etc.

<comment><USER7> The conditions didn't change (ergo the embargo failed in it's intent) only causing more economic problems for the people you claim to be trying to save, and you want to keep it up?

<comment><USER4> No, I want to see it lifted, in exchange for democratic reforms.

Whether or not it was a good idea in the first place, it's in place now, so lifting it is one of the few carrots which the US can offer the Cuban regime. It seems silly to give up that carrot without extracting some sort of concession, particularly as the post-Fidel government may be more amenable to compromise.

If the US were to unilaterally lift the embargo without any movement by the Cuban government then it's not clear whether that would accelerate or decelerate the cause of human rights. However, making a deal has got to at least be worth a try, assuming our goal is a Cuba where people can speak freely, travel freely, own property, vote in freely contested elections, use the internet, and start businesses (to bring the topic back round to something marginally relevant to HN).

<comment><USER7> Yes those are our goals, but they will not be achieved by maintaining an embargo as the last 40? 50? years have shown... You can't just force or pressure countries into "democracy", that is not the way it works, there are more than enough examples in recent U.S. history that hint at this...

Even if you could, the whole premise of the embargo is flawed I think.. it only makes the cuban government look like a "martyr", in this case to the imperialist whims of the U.S. etc.

</comment></comment></comment></comment></comment><comment><USER8> Ah, I see that PG's advertisement for news.yc has worked, and Reddit has come for a visit.

</comment><comment><USER9> Whether it's interesting in its own right or not is not the issue. The subject matter is of a political nature, and doesn't really afffect or concern the technical community moreso than any other demographic group. Shouldn't this sort of thing be left to mainstream sites? In any event, most readers proably check other news sites, so this just seems redundant.

</comment><comment><USER10> This is indeed big news. He's been in charge for almost half a century. Now what? Will his brother manage to keep control? Considering his age everybody must be plotting to take over the reins. Slow reforms or another revolution?

The Economist has more background: [http://www.economist.com/daily/news/displaystory.cfm?story_i...](http://www.economist.com/daily/news/displaystory.cfm?story_id=10715023&top_story=1)

</comment><comment><USER11> Don't forget to notify, when Bush retire :)

</comment><comment><USER12> This is just so boring, I (and I guess others too) don't give a flip if he's retiring or whatever! There is no point in posting this to HN, everyone knows that the we don't like such stories here. Hence, the debate is futile.</comment>


Newsletters spam test by mail-tester.com - <AUTHOR> https://www.mail-tester.com/ <comment><USER2> I wish I got more spam at email@example.com so I could test it.</comment>


I hate almost all software (2011) - <AUTHOR> http://tinyclouds.org/rant.html?m=1 <comment><USER2> I get that the point of this rant is that its only user experience that matters, and I agree with that, but I take issue with the idea of burning things to the ground and starting again.

Thats not how these things work. Grand re-writes rarely work out in massively complicated systems. We make incremental improvements as we move towards the ever shifting goalposts. I think its naive to look at a massively successful system and think I can rewrite that, make it better and do it in a weekend. Which is a sentiment I hear all the time. If its that easy then just do it!

Thats not to say things should't be made better, and that user experience isn't important, it is. But to realistically accomplish those goals working within the system, and understanding the complexity is necessary.

<comment><USER3> I agree that thinking you can redo a whole OS or a browser from scratch in a weekend is naive (at best), but it's also true that usually you can better understand a problem after you have some experience seeing how the current implementation of its solution works.

That is to say, sometimes a rewrite from scratch is sorely needed. I, for one, would love to see a new operating system rising from the ashes of Unix to make it better without the historical baggage and some of the idiosyncrasies. And I'm not necessarily taking about plan 9.

<comment><USER4> The problem I have noticed with rewrites is that the people designated as the "architects" feel they need to design everything in such a way that it can handle every possible new feature request. They completely don't understand YAGNI.

So, I have seen several rewrites at several companies completely fail and take millions of dollars with them.

</comment></comment></comment><comment><USER5> Haha well said! I think about this every freaking day. ZFS is about the only pice of software I use I don't literally want to grab the author(s) by the throat and choke them, asking, "Seriously?? you think this tire fire is easy to understand, configure and debug??!!111oneoneone" ok I get its mostly written by engineers, but it's used by normal people. Your configuration syntax makes very little sense, your debug messages are not very clear, and documentation on average sucks, exceptions being BSD documentation and their man pages.

</comment><comment><USER6> When I see something like this, I usually end up thinking about how nice it would be to have only one layer of code between the machine and humans, such as a programming language that can also be the operating system (lisp, forth, erlang, etc)

</comment><comment><USER7> Try using an operating system from a company that has money to spend on adding complexity!

</comment><comment><USER8> Writing bug-free code is considered one of the holy grails of computer science.

</comment><comment><USER9> Developers are users too.</comment>


Ask HN:  Best CRM tool for a startup - <AUTHOR>

I know, I know...there are tons of solutions out there.  Any one have a solid experience with one that plugs into google apps?  Thanks :) <comment><USER2> Darn it!!! It was only a few days ago that I came across a _very_ helpful post somewhere, made by a startup where they gave a reasonably detailed account of all the third-party tools/services they're using; and I'm pretty sure CRM was one of those.

I also think either the startup, or the CRM company, or both are funded by YC so I guess I must have found that post through YC/HN only.

The problem is, I can't locate it now :-( Sorry, pal, I'll keep looking and post it here if/when I find it, unless someone else beats me to it.

<comment><USER3> Maybe you were thinking of this post (it was on HN a few weeks ago, I think):

[http://mygengo.com/talk/blog/15-web-services-we-rely-on- ever...](http://mygengo.com/talk/blog/15-web-services-we-rely-on-every-day/)

They're using Salesforce.

<comment><USER2> Yup, that's the one.

Thanks, mate.</comment></comment></comment>


Software Recomendation Community by StackExchange - <AUTHOR> https://softwarerecs.stackexchange.com/ <comment><AUTHOR> Just found this today while I was responding to a responding to a comment on one of my answers on StackOverflow [0].

I'm currently trying to figure out how many SO questions are closed as off topic which would be valid on this site.

[0] [https://stackoverflow.com/a/33118733/2723675](https://stackoverflow.com/a/33118733/2723675)</comment>


Notarizing Your App Before Distribution - <AUTHOR> https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution?language=objc <comment><USER2> Here's how I'm understanding this:

Currently, you have three options to distribute software on macOS.

1) You register as an Apple Developer (which costs $100 a year) and distribute through the Mac App Store, where Apple will do their review/automated scans/whatever, resign the app with their certificate, and then distribute it.

2) You register as an Apple Developer but _don 't_ distribute through the app store, and instead sign your software with the certificate you get through the developer program. It looks like, starting in macOS 10.14.5, you'll have to upload your software to Apple to be "notarized" if you want to distribute this way. It sounds like it's only for new software at first, but eventually old software will stop working unless it's notarized.

3) You don't register as an Apple Developer, and you just build and distribute software however you like. Currently, if a user tries to run your software it simply won't run, and the user has to know to go into system settings and manually give it permission. What isn't clear (at least to me) is weather this option will remain unchanged. This sentence:

> In a future version of macOS, notarization will be required by default for > all software.

kind of makes it sound like like _all_ software will have to be notarized, which implies that you have to be an Apple Developer to distribute at all. But saying "by default" makes it seem like there's some kind of option given to the user, so maybe it just means that software that's distributed by a registered Apple Developer but isn't notarized just moves down into the third tier of software that has to be explicitly allowed to run by the user.

It seems like Apple's ideal model is that if a user wants to run software of any kind, it has to go through them (like iOS). I don't _think_ that's what they're announcing for macOS, but it's a little hard to say for sure.

<comment><USER3> As a life long Mac user, if option 3 is removed i will be leaving for Linux.

<comment><USER4> Why wait? You can do it gradually. I've been using Macs since 1985, and I still have one on my desk at work, but I noticed a few years ago that I'd gravitated toward doing most everything on Linux without really thinking about it. Just get a Thinkpad or something, put Ubuntu or Mint on it, and see how it feels.

<comment><USER5> _Why wait?_

Because I don't want Linux. MacOS largely still just works and Linux is moving away from its strengths as quickly as possible. _I don 't want systemd_. I don't want pulse audio. I don't want Wayland. Linux's strength, for me, has been that it's unixy. If I'm moving to a non-unixy setup, like Linux is becoming, I want it to be as polished and well supported as possible. Linux, simply put, is none of those.

And, quite frankly, I don't want a Thinkpad (and I can't stand that eraser tip pointing thing). I bought a 2015 rMBP late last year and cross shopped offerings from Dell, Lenovo, and one of those Linux laptop companies whose name is escaping me right now. The Mac won out and didn't command a premium over comparably specced alternatives.

I'll spare the ranting about the Gnome 3, new GIMP UI and systemd in general (but these are both major issues for me and symptomatic of a culture I don't want to buy into). I recently tried to set up a Pi Zero with an Audioquest DragonFly DAC. The DAC _just works_ in FreeBSD and MacOS with no hassle. I was able to tweak ALSA to get sound out of it, but shairport-sync can't set the volume (which works just fine on FreeBSD). WiFi was a struggle as well. I forgot what an archaic mess of procfs tunables and bizarre config files Linux on the desktop can be, and I don't want to spend my days debugging my desktop system.

One of my coworkers at megacorp got the officially sanctioned Linux laptop (some Dell thing). Like a good end user he installed updates as they became available. Turns out megacorp bought the Windows version of the laptop and installed Linux on it. Well, my coworker installed some firmware updates that promptly re-enabled secure boot borking his system. He lost a day trying to figure out what happened (Dell wouldn't support Linux on it and corporate IT was entirely indifferent). I don't want to dodge a minefield masquerading as a support matrix.

It seems like it's been the year of the Linux on the desktop for most of my adult life.

Edit: Downvotes don't win over users.

<comment><USER6> I think that is a strange argument to make for preferring macs over Linux. Many of the things you mentioned are inspired by osx counterparts (for example, launchd was the main inspiration for systemd)

<comment><USER5> _I think that is a strange argument to make for preferring macs over Linux. Many of the things you mentioned are inspired by osx counterparts (for example, launchd was the main inspiration for systemd)_

How is it a strange argument? Apple did a good job developing its daemons, and did so for a brand new operating system. Pottering did an abysmal job imitating Apple and is doing a worse job at maintaining his software (e.g. Pottering refusing to open CVEs for known vulnerabilities), and has worked tirelessly to replace working solutions.

If I want non-unix, I go with MacOS. If I want unix-ish, Linux doesn't fit the bill. Much like how I chafe at the GIMP developers chasing non-existent "pro" users with unwieldy UI changes, Linux on the desktop seems to be chasing change for change's sake.

<comment><USER7> You can avoid using systemd[1]. If you don't like the churn of desktop environments, may I suggest Xfce ? It is usable and does not overhaul things that often.

I personally prefer systemd and moved from Ubuntu to ArchLinux a long time ago in order to use it. But I agree with you, the constant overhaul of UI is a problem which is why I have stuck to Xfce for a long time. I however, do not use GIMP, but there may be other options out there.

By the way MacOS is Unix, it is a POSIX compliant OS. Also, you can run Linux on your Mac.

[1] [http://without- systemd.org/wiki/index.php/Linux_distribution...](http://without- systemd.org/wiki/index.php/Linux_distributions_without_systemd)

<comment><USER5> Right, I can do a lot of things with Linux with enough effort. But for a desktop OS I want things to just work. Pretty much any major distro that's supposed to just work is going to be systemd at this point.

And, sure, MacOS is unix-ish but Apple is ripping more and more of the old NextStep and BSDish things in favor of their own stuff with each version. As long as it just works I'm pretty happy. There are, however, lots of little quirks and gaps with their POSIX layer which is why I'd hesitate to call it a proper UNIX.

 _Also, you can run Linux on your Mac._

Which would be great if I wanted Linux. I don't. MacOS is working just fine for me.

<comment><USER8> macOS is certified UNIX under the Single Unix Specification: [https://en.wikipedia.org/wiki/Single_UNIX_Specification#macO...](https://en.wikipedia.org/wiki/Single_UNIX_Specification#macOS)

<comment><USER5> Yep, I'm well aware. But as I said the little quirks and whatnot make MacOS feel less unixy. Obviously they're not deal breakers for me, but things like telnet, ftp, and OpenSSL disappearing make it seem like Apple is moving away from SUS (more than it is?). The delta between MacOS and everything else seems to grow with each release. It's probably worth noting that no vendor has tried to get Linux SUS certified and most distributions aren't even LSB compliant.

<comment><USER9> In fairness, the command-line world of the BSDs of the 1980s is long gone in some respects, and this _is not_ just some Apple/NeXT idiosyncrasy.

OpenBSD's ftp command has become a generic multiple-protocol file transfer tool, different to the ftp commands of the other BSDs. (FreeBSD puts this functionality into a tool named fetch, instead.)

The r- commands were eliminated from FreeBSD some time ago, with much the same happening to them as happened with telnet on MacOS. They are no longer in the operating system, but are applications that one can install from packages/ports.

BSD re-vamped its command-line interface to ps in 1990. It has been getopt- based, and documented as such, for 29 years and 7 days.

rc.local was labelled obsolete in FreeBSD in 1995, and deleted from base in 1998.

And so on.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> You know, I really don't mind the idea of something like this (which is really one of the added benefits of an app store), but I really wish there was a way to add different trusted parties that could sign apps. _Sort_ of like Android where you can add third party apps, but actually go the full distance and allow separate app signing authorities, and while it should be covered in numerous warnings about not adding another signing authority without complete trust and nobody should be walking you through it, it shouldn't be terribly hard to do. If I want to install Amazon App Store apps instead of Android apps (or vice versa), that shouldn't require me disabling security mechanisms on my phone and installing a separate program to manage everything.

I guess I basically want the web certificate system but much more selective, and don't ship a bunch of trusted ones by default. Of course there's basically zero chance of Apple or Android doing this without outside pressure since it's essentially them giving up the monopoly they have over their ecosystems.

<comment><USER11> It's nothing to do with monopolies. It's just that it's an unworkable idea.

The worst a website can do is trick the user into downloading something. The worst an app can do is steal their data, capture video from their mic/camera, wipe their computer, turn it into a DDOS bot etc. It's night and day.

And so trusting third party certificate issuers who currently don't verify websites or their owners and having them now certify apps is a pretty big leap.

<comment><USER10> You misunderstood what I was suggesting. I'm not saying existing certificate authorities should sign apps, but that allowing a trusted authority to sign and distribute apps that a user could opt in to would be beneficial. Think yum/apt repo signing keys, and how if you add a third party repo you can require the public key signatures to match, except tied into the OS much closer. I used the CA analogy because vastly more people are familiar with that than the intricacies of open source package management for a few distros.

<comment><USER12> Even technical users have a limited capacity to properly vet what an authority should be allowed to do. Not to mention, this becomes a very heavy-handed choice to the user (as people already see on android), like "either allow this new app version to now root your phone, or you can't use this service at all"

The reason we can trust the CA certificates loaded in our browsers have proper processes and operate transparently is that the browser makers leverage those certificates being preloaded as bargaining power.

Would we have the opportunity to retain that sort of power in this decentralized world? Or do we start seeing the "essential" apps move out of the store and doing things like background monitoring of the user?

</comment></comment></comment></comment><comment><USER13> This isn't a big surprise, you should expect the tightening of the screws to continue and the pace of it to accelerate. The real issue here is general purpose computing. General purpose computing makes it possible to block ads, to rip your CDs instead of the industry forcing you to buy the same music again, etc. and as a result it is THE major obstacle to unlimited rent seeking and squeezing the last penny out of every user. Expect the industry to keep working in this direction until everything is as locked down as an iPhone.

See also: [https://www.youtube.com/watch?v=HUEvRyemKSg](https://www.youtube.com/watch?v=HUEvRyemKSg)

<comment><USER14> > _General purpose computing makes it possible to block ads, to rip your CDs > instead of the industry forcing you to buy the same music again, etc._

I understand the point you're trying to make, but (1) Apple has delivered software which rips CDs with the OS for 18 years now, and (2) this feature not only doesn't block any number of ways to block ads, but Apple provides an API for blocking content (including ads) with both macOS and iOS.

<comment><USER15> _> (1) Apple has delivered software which rips CDs with the OS for 18 years now_

I would be surprised if iTunes survives this one.

 _> (2) this feature not only doesn't block any number of ways to block ads, but Apple provides an API for blocking content (including ads) with both macOS and iOS._

Apple's content blocking API is less flexible and useful than the more powerful general purpose API it replaced in the Safari 12 lockdown, which proves the parent's point.

<comment><USER16> It doesn't allow third party ad blockers to record or intercept your browsing history.

And seeing that all music sold by Apple has been DRM free for a decade, are you thinking they are not only going to reenable DRM, they are going to make it more restrictive in 2020 than it was in 2003?

</comment></comment></comment></comment><comment><USER17> Seems like we need to relearn the concept of liberty, but again in the digital world.

Yes, liberty is sometimes difficult, and it allows people to make _bad choices_. Liberty is _hard_.

We've seen this story play out enough times to know that it isn't a slippery slope. It starts of as a play to "protect the users" or "avoid the bad guys", or as we have seen in the security theater of other domains, namely the aviation industry, "for your safety and security"

<comment><USER18> > but again in the digital world.

You can always buy a different platform. Seems like that's plenty of liberty.

<comment><USER17> It seems like a false choice. Can I go start my own oil refinery because I don't like Exxon, Chevron, BP, or Shell?

</comment></comment></comment><comment><USER19> The death of general-purpose computing is well underway.

Just imagine the world in a decade or two: it'll be one of mandatory secure boot, remote attestation, and centralized app store distribution. Regular people just _installing_ software? That's unthinkable. It'll put themselves and others at risk. Even browser extensions will be tightly restricted. If you want to write software, you'll have to get a developer's license and accreditation from an industry-wide professional association, who can remove your accreditation (and ability to get a run-your-own-code certificate) for any reason. Sure, you can find some 2019 laptop and run Linux on it, but your ISP won't forward your packets if they're not signed by a trusted kernel. Good luck running some tin-pot mesh network in whatever tiny sliver of unlicensed spectrum remains.

Think this scenario is unlikely? I wouldn't be so sure. All the bits of technical infrastructure we need for this dystopia already exist in one form or another. There's also significant social and political pressure to rein in the internet --- pick your favorite pretext --- and it's inevitable that platform vendors will respond to this pressure. I've heard a disturbing amount of talk lately of the need for centralized control in order to combat "disinformation", for example. Already, we've lost an amazing amount of ground on software freedom relative to what we had ten or fifteen years ago. Most people already use a primary computer that they can neither control nor inspect --- and they _like_ it.

Mark my words: in ten or twenty years, policymakers and very serious establishment types will regard letting regular people just make their own software and connecting it to the public internet as unnecessary, dangerous, and suggestive of some kind of moral fault. It's starting already.

<comment><USER20> You can disable secure boot on most modern machines, install Linux, create a cert and sign Grub or your EFI stub kernel, add that cert to your UEFI (delete the stock ones) and then you have a machine that can boot Linux and not Windows.

Of course the major distros like Ubuntu can boot with the default secure boot keys.

I have a feeling x86 manufactures would face considerable backlash if they tried to lock down SecureBoot in a manner where it's impossible to disable. (and yes, I do know there are some Microsoft devices that are already setup this way, but the majority of manufactures do allow control over SecureBoot). Then again we have Intel ME on all our machines and that's somehow still okay, so maybe you're right.

<comment><USER21> Part of the point of the OP, as i understand it, is that theres also a cultural war going on, where if corporations end to get their way, by controlling/locking developers and users on their platforms, people will see this as normal.

This happened before with radio and TV signals. A great way to have peer to peer comunication, with local TV's and radios, ended up being regulated.. and in our culture, its normal to sit in front of a TV, and have a few monopolies to choose what we will watch.

And right now its unthinkable to revolt to those kinds of laws that forbid us to transmit content, as we accepted as normal (where's the cultural aspect of it, shaping our behaviour).

The same will happen to the next generations if we dont take a stand against this. Normal users wont understand the social, cultural and political implications of this. Companies like Apple defining what you can or cannot use, listen, see or install in your own device.

<comment><USER22> > A great way to have peer to peer communication, with local TV's and radios, > ended up being regulated.. and in our culture, its normal to sit in front of > a TV, and have a few monopolies to choose what we will watch.

I don't think this is comparable. Radio and OTA TV _needs_ to be regulated by a central authority or it won't work for _anyone_ beyond a certain level of technological penetration. There's a set amount of data that can fit in the amount of spectrum available, and a radio station is transmitted to everyone whether they request it or not.

You've always been free to create and distribute VHS and cassette tapes because those don't eat into the amount of spectrum available to everyone.

</comment></comment></comment></comment><comment><USER23> This model needs to evolve from "you must sign with Apple" to "you must sign with one of $TRUSTED_LIST". There should be a (non-trivial) way to set this, and if I decide all software signed by my best friend is OK then I should have that option. Grandmas should be able to trust software from their IT-expert grandsons and so forth.

There is value in requiring all software to be validated by _somebody_ but it's a slippery slope to have ONE. The main reason is, even if I trust "Apple" now, what is "Apple" in 10 years? (Heck I thought I "trusted" them to always make desirable hardware, got burned on that one.) Things change. I want another signatory.

<comment><USER24> This is literally how code signing worked for Windows. Unsurprisingly signed malware has been far from uncommon

<comment><USER25> This is literally also how cert signing works for tls. Unsurprisingly miss- issued certs have been far from common.

This model can work. It's just that microsoft is being sloppy.

<comment><USER26> Mis-issued certs are common enough that Google et al had to force Symantec out of the cert issuing business. It's a model that only works with a monopolistic cartel gatekeeping the ability to issue certs (which is basically Apple's role in this scenario).

</comment></comment></comment></comment><comment><USER27> TLDR highlights:

 _Beginning in macOS 10.14.5, all new or updated kernel extensions and all software from developers new to distributing with Developer ID must be notarized in order to run. In a future version of macOS, notarization will be required by default for all software._

—

 _Apple recommends that you notarize all of the software that you've distributed, including older releases, and even software that doesn't meet all of these requirements or that is unsigned._

<comment> crooked-v So the actual title should be "In a future version of macOS, apps signed with Developer ID will require notarization by default".

<comment><AUTHOR> "…for all software."

It's very vague as usual.

I guess the current work arounds will still apply (right click open, for instance)

But we'll probably have to wait for WWDC for a definitive answer

<comment><USER28> I wonder, will that include random terminal apps like gnu grep, and if so, how will the notary be attached?

<comment><USER8> They can be distributed without a signature.

<comment><USER29> But the post says "all software." Surely that implies that macOS won't let unnotarized software run?

<comment><USER8> That software will not have the quarantine bit set, so I don't think these restrictions will apply.

</comment></comment></comment></comment></comment></comment></comment><comment><USER30> I am concerned about the UI for this that says "Apple has checked it for malicious software and none was found".

How does Apple check against malicious software? What is even considered "malicious" software? Software that someone might consider benign might be considered malicious by someone else - it isn't a black and white thing.

The UI just provides a false sense of security. I assume they check it for known malware, but it wouldn't do anything against a targeted attack where the malware is custom made and only ever used once. In fact, it would facilitate the attack by giving the user a false sense of security that everything is OK.

<comment><USER8> > How does Apple check against malicious software? What is even considered > "malicious" software?

It's an automated check that Apple has not disclosed.

<comment><USER31> I see how this can help protect against outright malware. However, what if there's a flaw in the heuristics, and some malware slips through the cracks? Sure, they can fix their malware scanner, but will they take the time to retroactively scan all software with their new and improved scanner? Will they even store every single notarized app on their servers for this to be feasible? Or will they mandate re-notarization every now and then?

So many questions, hopefully Apple answers these soon.

Edit: phrasing

<comment><USER8> They can revoke certificates and add the software to XProtect's blacklist.

</comment></comment></comment></comment><comment><USER32> I hope a well-informed person will clarify what exactly this means in practice.

I have to assume that it will still be possible to compile some code and run the executable without first passing it through Apple's servers.

<comment><USER33> This is my understanding:

To notarize an app, you upload it to Apple. They'll run malware scans on it and such.

This only applies to people distributing apps outside the app store with the $100/year Developer ID certificate. If you're not signing your apps, I believe the behavior will be unchanged, because your app would already be blocked from running by default.

When you download an app from the internet using a browser or other quarantine-aware tool, it receives a "quarantine" bit and metadata recording the download URL. When you try to run the app for the first time, a window pops up saying "You got this app from shadywebsite.com, are you sure you want to open it?". Right now, the app's code signature is checked, and you get a message saying "this app can't be trusted" if the code signature check fails or the app isn't signed. Once notarization is required, signed apps that are not notarized will be prevented from launching in the same way as unsigned apps.

1\. This will probably be a setting under "Allow apps downloaded from:" in System Preferences -> Security & Privacy you can revert if it breaks your workflow.

2\. If the notarization check reuses the current mechanism, it will only apply to quarantined apps. If you're compiling something yourself, the compiler won't put a quarantine bit on it and it will execute fine. Same with homebrew/friends.

<comment><USER22> > 1\. This will probably be a setting under "Allow apps downloaded from:" in > System Preferences -> Security & Privacy you can revert if it breaks your > workflow.

There's no longer a GUI option to allow unsigned apps by default. It was removed from System Preferences some versions ago.

But, you can do it via a one-line terminal command:

      sudo spctl --master-disable

<comment><USER33> I'm talking about the setting to disable requiring notarization for quarantined apps, which doesn't exist yet so I'm simply guessing it will show up there initially.

<comment><USER12> Without notarization, the signature of the app is tied to the lifetime of the developer id certificates. Thats one of the benefits of notarization (which Microsoft also I believe requires now) - the notary can say 'it was signed while the developer id certificate was still valid', which allows the signature to outlast the certificate.

I would expect Developer ID certificates to all expire by the changeover, with the only point for continuing to ship Developer ID certificates would be so that new app builds can work on pre-Mojave OS releases. Or I suppose skipping any Apple-run scans of your software.

<comment><USER33> Without notarization, you can still `codesign --timestamp` to have Apple co- sign your app, which validates that your certificate was valid when you signed the app, even if your certificate later expires.

Notarization is an advanced version of this where Apple adds to the signature "we have scanned the app for vulnerabilities and will continue to do so"

</comment></comment></comment></comment></comment></comment><comment><USER34> This is Apple moving one step closer to completely shutting down execution of apps that haven't been signed - a virtual app store so to speak. Because there's no longer a GUI option to allow unsigned apps by default. It was removed from System Preferences some versions ago.

Apple knows and relies on the fact that a regular Mac user would be intimidated by requiring a terminal command: `sudo spctl --master-disable` to enable un-trusted apps!

EU, FTC, et. al. need to look into this monopolistic behavior, where Apple constantly cock blocks anything it hasn't blessed, the fee for the blessing - a cool $100/year, assuming they don't start arbitrarily rejecting the said blessing, as is the case with their iOS app store.

<comment><USER35> I personally dislike it, but I don't think it's monopolistic behavior. macOS's market share is comparatively pretty low and you can install windows or linux on your mac if you choose to.

<comment><USER34> "Install another OS" is not an acceptable solution, it smacks of technophile arrogance. Try giving that advice to any senior owning a Mac, wondering why their favorite (unsigned) app doesn't launch after updating their Mac OS.

Apple's entire marketing strategy revolves around customer empathy, but their actions don't

<comment><USER16> But you're okay with giving that same "senior owning Mac" the responsibility of choosing which apps to trust? How has this worked out for the last 30+ years?

<comment><USER36> It has worked mostly fine for OS X during that period, not so much for Windows though. The blame for thelatter is squarely on Microsoft for having had terrible security defaults and a confusing UI.

<comment><USER16> Isn't that exactly what Apple is doing - good default security that won't affect most users? What software is granny using that isn't actively supported and not already coming from a trusted developer who isn't already signing their software to avoid the work around for running unsigned software?

But, no security defaults with either Mac, Linux, or Windows stops an app that has user level access from having access to all of the user's documents - except for apps that are either in the App Store or voluntarily sandbox themselves.

</comment></comment></comment></comment></comment></comment><comment><USER37> Currently, apps distributed in Mac App Store must be sandboxed. Notarized apps distributed outside Mac App Store must have hardened runtime enabled.

It's interesting that Apple has created two similar protecting technologies. Here's a good article explaining the similarity / differences: [https://lapcatsoftware.com/articles/hardened-runtime- sandbox...](https://lapcatsoftware.com/articles/hardened-runtime- sandboxing.html)

</comment><comment><USER38> It's slightly surprising to see people here support this.

I own my Mac, I'm responsible enough to decide what app to use and not to, I don't need apple's help. This transition of OSX to be more like iOS is definitely gonna result in me switching to Linux for good.

This, plus things like advertising on the App Store are really gonna make me switch all my devices.

Thanks Apple, but no thanks.

<comment><USER22> I don't mind as long as it's optional. I as a user still have the ability to run unsigned/un-notarized apps, and there's no indication that's changing. I can also turn off SIP and load unsigned drivers if I want (and I do).

iOS, by contrast, doesn't give you any choice in the matter. That's a big difference.

<comment><USER38> You're right, we have a choice. It's just that when my mom or dad download an app from the browser and it says, app is from an unidentified developer, they're just not gonna no how to turn it off and Apple knows that about a lot of its user base too well.

</comment></comment></comment><comment><USER39> All I'm reading is Apple is working really hard to avoid calling it an anti- malware/anti-virus scanner and even centralizing it to cover it up (that's one of the notarization process main action).

</comment><comment><USER40> If notarization is going to be required by default, and Apple wants users to depend on this as a signal of trust, they really need to use something other than light gray text on a gray dialog to inform users that the software they're opening for the first time is checked and notarized. That dialog that you're trying to open software from the internet feels like a BE CAREFUL warning—which feels odd when the light gray text says they've checked it and found nothing malicious.

Not that I think users shouldn't be encouraged to be aware ... but it feels rather odd.

</comment><comment><USER41> How would this affect things like Steam?

<comment><USER42> Or Homebrew?

<comment><USER8> Homebrew doesn't sign software, so it would be unaffected.

</comment></comment></comment><comment><USER43> With regards to the bit about plugins, will Apple make exceptions for their own software like Logic Pro X? I'm not entirely sure what the hosting/execution model is for AudioUnits and VSTs, what I do know is that many of them will never be updated to meet any new security requirements. I bet we're in for a few more years of terrible advice like "run this command that disables security in the Terminal, then reboot in order to use the product you bought."

</comment><comment><USER44> To play the devil's advocate here...

From what I see around me, the vast majority of Mac users spend the vast majority of their time in mainstream apps (Chrome, Adobe, Office, Safari, Xcode, Final Cut, Logic, Ableton Live, etc). I don't think this will impact the majority of mac users negatively.

This will only really impact macOS developers without an Apple Developer account, which I guess are a minority. Probably in that minority most are compiling to macOS from Windows or Linux.

<comment><USER21> > To play the devil's advocate here...

You are not being the devil's advocate here.

Whatever MS, Google or Facebook do its the end of the world (as it should), but apparently for the HN crowd, Apple can do whatever they want.

This monopoly over our digital life will have severe consequences in the future. People here are so smart, but when its about Apple, their sentimental reasoning start triggering.

Actions like this one, as many others, are some of the reasons why i never use anything from Apple. Its like a car factory being able to decide where you cannot go with "their" car (Its yours). Or the clothing company choosing the places i can use "their" clothes.

The hacker spirit here ends when is anything related to Apple, when in doubt just read the top comments here in this thread. Its not a 'benevolent ditactor hacker' sort of social contract.. its a company which need to raise their profits so their shares keep being valuable to the stock market. If consumers and developers let them, they will own our digital life, and lock us with them.

We have no legal framework, and no State to intervene in our interests as it should be.. States and democracies are a dying species, and we are the ones to blame.. we, as in the general population, just want the next shiny gadget.

But i bet we will miss the things we have, but dont give much value now. Lets not forget the share of our lives that are constantly being transfered to the digital dimension, and how important they are now.

<comment><USER44> On one hand I see your point and agree somewhat, but OTOH the wild unregulated west has had its issues. Look at NPM for example.

> But i bet we will miss the things we have, but dont give much value now.

For a minority. A vast portion of users are happy with the iOS model.

I don't think the majority of Mac users share your ideology.

<comment><USER21> The problem is not in they using digital signatures, as this is a trend that is here to stay. The problem is when they are the sole provider of the trust model.

As others have pointed out, at least they should allow third-parties in where users could let trusted parties (from his point of view) provide him software for a machine he owns.

People are being näive thinking this is really about security, when in fact, its about control, power and profits. And when (some) people wake up to this fact, it will probably be too late to take any action. And i bet the majority wont even know what they have lost.

Its clear they are not thinking in their users insterests first with this move, because they are giving security with one hand, and taking freedom with the other hand.

For instance, if some app compete with them in things they think is strategic, with the control they have, they can make the app vanish and not be a problem at all for them.

We see this happening with Google everyday in search results for instance. We saw this with Windows before, but this time i think it will be much worse..

Hackers will find a way to unlock the kernel, but im sure by that time, those companies would be so powerful, they would have a legislation for that, so those kind of actions could be punished with fines or even prison.

I know im exagerating in this last scenario, but it is all possible, and with time it get more and more likely to happen.

</comment></comment></comment></comment><comment><USER45> When I found out that Mojave doesn't work on my Macbook, I moved on to [https://www.bunsenlabs.org](https://www.bunsenlabs.org) which has its roots from #!. Good lord it is snappy.

</comment><comment><USER46> Slightly related: I'm a mac user since almost forever but I'm becoming more and more frustrated by Apple's decisions concerning their laptops and macOS in general. Recently I've been looking at Microsoft Surface Book as a potential alternative if I decide to jump the ship, I also started to move away from Apple applications as I want to be able to switch to an other platform without too much hassle. I still have to find an alternative to Pixelmator and iTerm2 (this one is really more difficult to replace if I consider moving to windows).

Do you have experience to share concerning the Surface Book or moving from macOS to Windows?

</comment><comment><USER47> Thanks Apple. Like code signing wasn't already a massive pain in the ass!

</comment><comment><USER48> Does this mean that Apple gets notified every time a user runs an executable?

</comment><comment><USER49> Why on earth would anyone use apple?

</comment><comment><USER50> Just another reason to build and use a Hackintosh, if you want to be free to choose your own software. Apple is slowly moving towards an iPhone model with macOS.

<comment><USER51> Kernel extensions will also need to be notarized, so Hackintosh doesn't seem very likely.

<comment><USER22> Hackintosh user here: this has literally no impact on anything.

If you turn off SIP, you can run unsigned kernel extensions without issue, both on a Hackintosh and on a real Mac†.

If you're a Hackintosh user, but for some strange reason you want to leave SIP enabled, you can inject unsigned kernel extensions via the Clover bootloader. (I think you may need to temporarily disable SIP during setup or something like that, I don't fully remember. I just turn SIP off.)

† I actually find this _much_ easier than Windows, which is a royal pain in the neck if you want to install unsigned drivers.

<comment><USER52> You can have partially enabled SIP. With CSR = 0x01, SIP is fully enabled except kext signing, more secure then disabled SIP.

<comment><USER8> Selectively disabling parts of SIP is unsupported, FYI

<comment><USER52> What do you mean? You can always check: 'csrutil status'. I have all items enabled except kext signing.

<comment><USER8> Does csrutil status not give you the "This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state." warning?

<comment><USER52> Warning, not error. And it shows the rest of protections enabled, good enough for me.

<comment><USER8> I guess if you're willing to live dangerously it can't hurt :)

<comment><USER52> It is hackintosh. All guides tell you to disable SIP, so I live rather cautiously :)</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>