On top of the weather, which is a big deal to a lot of people, the problem is exactly in what you said: there are two huge tech companies. And that's it.
Basically, if you move to Seattle, you are pretty much restricted to working for Microsoft or Amazon and that's it. Period. Nothing else.
It's a huge career limiting move, make sure you're okay with it.
There are a couple of other companies here that didn't make your list... not including the pretty active startup scene. Sure it's not any near as vibrant as around San Francisco but to say there are only two tech companies hiring people is pretty ludicrous.
I'm not from Seattle nor do I live in Seattle, but I'm pretty sure this is not the case.
There ARE other cities with a lot of quality, diverse tech jobs outside of the Bay Area. I live in one of them and I don't consider it a 'career limiting move'.
> Pardon my ignorance but I thought by now everyone agreed that Multiple inheritance was the root of all evil.
Hardly.
How it's implemented makes the difference. I'd say the general consensus is that C++' version of it is probably the worst (although to be fair, as much as I dislike C++, its implementation of MI has never really bothered me much in practice).
Modern languages support multiple inheritance of implementations with traits, which have a few additional restrictions compared to classes. These restrictions address some of the flaws that MI can have.
The bottom line is that you will rarely need MI and when you do, its flaws will probably not be much of a hindrance, so overall, it's a pretty overblown problem.
O think there is a problem with multiple inheritance being somewhat ill-defined.
I recall reading OOSC[0], where Meyer showed that MI in Eiffel is fine, and it basically boiled down to: when there is an ambiguity, force the child class to rename the conflicting methods/redefine them, which is very close to what the original traits paper[1] suggests (bar state in traits, IIRC).
There are multiple meanings of traits flying around in different languages. Some traits are type classes (Rust), some traits are mixins (Scala). The former are not really related to class-based inheritance, while the latter most definitely is (linearized multiple inheritance as defined by Cook & Bracha, not the mixins of CommonLisp). Self and smalltalk style traits are even more different.
> This style of designing abstractions is often quite foreign in programming in the large, and other schools of thought (see Gang of Four) actively encourage weaving cryptic metaphors and anthropomorphising code as a means to convey structure.
The GoF didn't try to anthropomorphize, all they wanted to do is put names on things. Sometimes, these names have some meaning (e.g. Factory pattern) and other times, they have none (e.g. the Flyweight pattern).
The important concept that the GoF book introduced was to name things. What word was used for these names matters little.
In other words, similar to what the author of this piece is trying to achieve (and he does so pretty convincingly).
GoF didn't try to anthropomorphize, but they ended up doing it anyway. The things they sought to name where simply tools for humans. It's the programmers equivalent of a book about hammers and screwdrivers. It's valuable for learning how to use tools to drive fasteners, but without the existence of such things the information becomes about as actionable as any other anthropological piece.
I don't think that's much better than Flyweight in terms of intrinsic meaning. A little better, since it breaks down into hash + consing, but having not heard of either before, I wasn't able to easily guess what it was despite knowing what hashes and cons cells are. Of course, like everything else in Lisp it predates GoF, so I suppose it would have been nice to reuse existing jargon... But maybe a better name would be "memoized construction".
“Memoized construction” is a very good name, indeed. It's actually better than “hash consing”, because it isn't tied to a particular implementation strategy. But I think the “handrolled” part is also important, to stress that it isn't something the language implementation gives you for free.
It's always interesting to see the only people who ever talk about JavaFX are either Oracle employees or people who have a financial interest in JavaFX, such as the author of this piece whose business is based on JavaFX.
Oracle effectively killed Java with the Android lawsuit. Java's original selling point was to not be tied to a single vendor's platform. Now Oracle wants to be the single vendor. So long and thanks for all the fish.
I'm not sure what this comment is trying to insinuate? I mean sure they might have a financial interest, but they're also writing about stuff they know well since they use it.
Basically that talk about and use JavaFX are those with a vested interest in JavaFX as a platform in and of itself. Rather than hearing from people who are more interested in the programs that you'd make with JavaFX.
The connotation is that there isn't much adoption of JavaFX outside of a small (Sun/Oracle-centric) group, which has largely always been the case with JavaFX.
This is the usual privacy hysteria knee-jerk reaction: "Watch out, the big companies are going to get data on you!".
And people are going to react exactly like they've done before: if the service is worth it, they'll be happy to trade a few bits of privacy about themselves in exchange for the benefits.
Also, I'm not sure the author of this piece understands what encryption is about since he laments that most people don't search with https on. Er... what? If you want Google to search something on your behalf, they have to be able to read the words you type. Encrypting these words so Google can't read them would be comically useless.
>This is the usual privacy hysteria knee-jerk reaction: "Watch out, the big companies are going to get data on you!".
Whether you care about privacy or not, I don't see anything "hysteric" about it. Indeed, big companies ARE going to get data on you (and they already have too many).
That said, not caring about privacy seems to me a first world privilege. And only because most people are so boring. Sure, if all you do is work, sleep, buy stuff from Amazon, Whole foods and Costco, go for the occasional holiday, watch some Netflix, rinse and repeat, who even cares if the government has data on you?
Try being an activist of any kind however (even someone like MLK who had tons of enemies at the local and big government level, and volumes of FBI files), rubbing the police the wrong way (e.g. being in some group against police violence etc), or even a regular citizen with some democratic views in any place from Egypt to several shady Latin American "democracies", and see what happens...
>Also, I'm not sure the author of this piece understands what encryption is about since he laments that most people don't search with https on. Er... what? If you want Google to search something on your behalf, they have to be able to read the words you type. Encrypting these words so Google can't read them would be comically useless.
No, but encrypting these words so third parties can't read them would be extremely important (that said, Google has https on by default IIRC).
> People who need to hide things have encrypted options. People who don't, also have options. I don't see the problem.
This viewpoint is tricky. This basically turns encryption use into a big target on a user. If only people who have something to hide use encryption, then everyone using encryption must have something to hide.
Also, your argument makes the assumption that everyone grasps the value of all of their information. Not everyone understands how much of their life can be found out through their Google Maps history.
I prefer to look at it from the perspective of my life not being anyone else's business. If my local MP came up to me and asked me who I'd talked to and where I'd been for the last week, I'd tell them to sit and spin. Why should passive surveillance be any different?
the author doesn't seem to know much about how the internet works, quite frankly. they assume that there's some inherent level of privacy in any chat that isn't e-to-e encrypted. for instance, with FB:
"With M, you are speaking one-on-one with a bot, the bot isn’t monitoring every single thing you say to your friends."
how is that even relevant in this context? you're not comparing Allo to M in isolation, you have to compare it to both M and the Messenger product. in that case, FB is obviously harvesting data from your conversations. even if it is just to train M on how to communicate (a very big if) they would be insane not to.
the author doesn't understand much about the ecosystem as a whole (and considers Allo to be a market leader before launch). lazy reporting, and quite disappointing.
"the author doesn't understand much about the ecosystem as a whole (and considers Allo to be a market leader before launch). lazy reporting, and quite disappointing."
I've noticed over past year that internet security / privacy has become something of a clickbait topic for media outlets with no reputation for writing about it. Usually after reading one paragraph that becomes all too apparent. Sadly that doesn't prevent the headline from becoming mythological truth in internet time.
Of course you have to send Google search queries. Of course it would be a whole lot more elegant on their part to have a simple SLA: "We use the search queries for the express purpose of answering your queries. We do not hold on your personal information for more than XX minutes, neither in personalized nor in aggregated form." It's not that hard, a 30 people organization can pull it off, https://duckduckgo.com/about.
Even better if there were a law that would require internet service providers to provide such a guarantee for people that want it. Make the tradeoff between a few bits of privacy and the benefits realistic, not "either you surrender your privacy, or live as an Amish".
But most people don't want such a feature, and prefer that Google store the history. And there is already a great mechanism for providing different options, as you yourself use: the market. There are different products, one of which people who want this feature can use instead of Google. Why would we need to bring the government into this?
And in this case, what do you think would be the motivation of companies like Google who uses data to monetize for any innovation and provide better service? Companies have to sustain and the only way to be sustainable at that scale as Google is to monetize using the data. You can always go incognito.
>And in this case, what do you think would be the motivation of companies like Google who uses data to monetize for any innovation and provide better service? Companies have to sustain and the only way to be sustainable at that scale as Google is to monetize using the data.
How about we don't allow companies to monetize any other way than directly? E.g. by having paying customers for their services?
Killing all ad-supported BS will make the internet so much better.
Poor people are the one's who suffer the most from advertising.
First, it's calculated that a hefty sum of most product purchases is there to cover its advertising campaigns.
If you're rich of course those are peanuts -- what's 10% or 20% more on your groceries and other such purchases? Instead of, say, $40,000 you'll spend $45,000 but no big deal, since you make $1,000,000 per year anyway. But for a poor person, $500 vs $600 is a much bigger deal.
Second, most people (even if they think otherwise) would buy less stuff, and less pricey stuff, if it weren't for advertising. That's what sells a $2 dollar bottle of water that's basically glorified tap water over a 50 cents one, or even regular tap water. Without ads, it's mostly buying what you need, and based on utility, not rushed purchases because some ad hit some subconscious emotional strings.
Let's put it this way: if you're worth $N dollars to Google, those are $N dollars (and more) that Google ads will get you to spend. Advertisers (and companies getting advertised) are not doing it to lose money.
It will only become worth it once the size of the network reaches a critical mass. It could have all the cool features in the world but still be completely useless if you can't use it to reach your friends.
And the article is not talking about using HTTPS when searching, but rather "Incognito Mode", which dissociates some of your personal data (e.g., Google account) from your searches.
No, thanks.