I'm no expert on snapchat, but one thing I can say from personal experience being at an IPOing unicorn -- until about a year into our IPO, we were a "no buy", and all of these giant companies were ostensibly going to crush us with products that didn't even compete with us. Then, one year and a couple of earnings calls in, we're suddenly a "buy" and people consider us stable and successful. What did I learn from this? Never trust the stock market, and doubly so do not trust the stock market with a new stock.
SOME Silicon Valley engineers are fairly highly paid. Especially so if you only read HN, where there's always someone who's brother's girlfriend's roommate knows someone at Google who makes $250K, therefore this must be an average salary.
$250k isn't at all unreasonable for a SWE who works at Google. And there are tens of thousands of them in the Bay Area. These are not imaginary unicorns we're talking about.
> Low wages? Silicon valley engineers tend to be fairly highly paid...
But as far as I heard the accommodation costs are also strongly increasing - from which I would conclude that the actual wages do not increase so much.
I feel like this is a terribly lacking reply. I'm not a trend-person by any mean: I'm a deep-backend developer, and my main language right now is Java[1]. However, when I have to maintain rails apps, even well-written ones, I find myself frustrated. I think ceding the advantages of a compiler is a fundamental mistake. Compilers and static checkers make for better software more easily; they don't replace tests, but they complement them and constitute compilable documentation for your code, enhancing its maintainability considerably.
[1] I write in Java because I work for a Java shop, but even if I had my choice of languages, I'd probably be using either Swift or a compile-to-JVM language.
I disagree. I'd rather getWhenPresent than orElse if the code has nothing to do with a missing value. If someone needs the value and uses orElse without isPresent, their code will break in new and unexpected ways rather than in the obvious one.
(An even better solution is SWIFT's approach to nullable types, but that boat has sailed; intellij etc could however implement a static checker for bare Optional-getting)
How does orElse() cause new problems and/or break code? It is the same as get but forces you to think about the not available option...?
I think the options orElse/orElseGet and orElseThrow are enough to replace every get() method, and they'll force you to think about the missing scenario.
If you want to do something in case it is present, use ifPresent(lambda).
In case you want to return something, use orElse/orElseGet or orElseThrow, or just return the Optional itself.
> I think the options orElse/orElseGet and orElseThrow are enough to replace every get() method, and they'll force you to think about the missing scenario.
orElseThrow doesn't force you to think about the missing scenario, only to think about which exception you want to throw, which in many case you don't care for.
If orElseThrow had an override throwing NoSuchElementException by default it would be a perfect replacement, alas it does not.
Of course it does, you actively choose to throw something! That is, in some cases, perfectly acceptable. All three methods tell you there is something else in case you don't have a value in the optional. get() doesn't.
Playing devil's advocate here: The only way to really learn the full ruleset of a team is by undergoing a couple of code reviews in which every issue is pointed out. Once your teammates see you've understood the prevailing style, they don't have to work as hard at code reviews.
That said, I usually hate petty/nitpicky code reviews. I try to focus only on issues that I think affect readability, maintainability or functionality.
Makes sense, but there are ways of being even petty and nitpicky without being condescending or rude. State facts, don't throw insults, don't demean or belittle.
One good rule I was given by a tech lead is to not use the word "you" in the PR comments. PR comments are a discussion on the failure of the code, not of the individual. Avoiding "you" allows for some separation between the two.
The point is that two different people can post the same code and get starkly different reviews. Senior people get a thumbs-up emoji, others get tedium and pedantry. So you can tell that it's not really about the code.
Yeah... Like google's current emoji set could be called... "PC Emoji" and if people liked them they could just keep using them. The new one could be "Material Design Emoji".
What's with the animosity? There seems to have been a lot of effort put into Defold, the least you could do is appreciate the fact it's been made available free of charge and royalties.
Currently, your projects can only be stored on King's servers, not even github. When you finally publish your game, it will automatically include analytics that phone home to King, not you.
Nothing is sent to any King servers, unless you actually want to use our analytics tools, which is an opt-in solution anyway. :)
The only reason why projects are hosted on our servers is due to the legacy of the engine, originally planned as a subscription service, long before being acquired by King. This is something that really wasn't a problem up until now, which is why it simply has stayed that way.
We want it to be easy for users to just create a project and start coding, not having to spend time on setting up development environment and code hosting. However, of course we see this is something people want to be able do as well. We will add the ability to more easily configure where projects are hosted (or even use local projects (already added to the new editor)).
"We provide data collection and statistics of your players, if you want it – In order to provide Player Analytics, we need to collect data on your Players such as how they play Games and what device they used. If you choose not to use Player Analytics, we won’t collect any data relating to Players (except for errors directly related to the Defold Engine). Please see our Privacy Policy for Players http://www.defold.com/about-player-privacy/ for more information about what Player data we collect and what we do with it."
Interesting. There wasn't any way to turn it off when I last checked, but that was last year (during beta). Hopefully they'll allow you to get rid of it completely, but it still feels too much like my game would be tied up with King in some way, and I'd never want that.
No, we collect no data about your users unless you use our analytics service. If you need analytics and does not want to use ours you can roll your own.
What kind of scheming do you believe we are up to? I'm asking because we really want to do the right thing and be open about Defold. Maybe you have questions we have failed to answer properly?
I don't really wanna defend King.com, but I think you're being a bit uncharitable. They talk about the community "creating tutorials, by finding bugs, improving the documentation". It's just tautological that you'll get more bug reports the more users you have, and creating tutorials/refining documentation are particularly suited to crowdsourcing (as the designers are often too close to the application to understand what a newbie needs to know).
And how is that a bad thing? You're missing the fact that people "testing" it are consumers, meaning any improvements will benefit them as well. Sounds like a win-win to me.
This is like people who want to repeal Obamacare and have no alternative. If you advocate blocking all ads, you should at least have a vision for how you're gonna pay for your fucking content. I block ads too (I'm ADD and moving objects in my field of vision make it hard to enjoy content), but I'm not going to be fucking self-righteous about it.