I agree with other comments saying that this is going to depend on what you're looking for and on your personal situation -- there is no job that is right for everyone.
That being said, I recently joined Coda as an SRE, and I have really enjoyed it so far. Company size is in my personal sweet spot: the team is small enough that it still has the startup aspects of having visibility into everything happening in the company and being able to work on anything you feel is important, but it's big enough that things are relatively stable, there are lots of resources, there aren't fires all the time. The team is incredible: everyone I have worked with is extremely capable but also extremely nice and humble. Many people joined from highly unconventional backgrounds but Coda hired them for their passion for their roles. I have also felt that the company prioritizes employees in ways both big and small, from little things (e.g. every interview started with checking in to make sure the time was still okay, nice gesture with the chaos of online/remote interviewing) to big things like comp/equity (instead of stock options, you have the option to receive the equity as a grant, or as a loan if you don't have capital to pay the taxes on a grant, and you have the option to sell some stock in every fundraising round even though we aren't public). Several of the founders had kids while starting the company, so there was a strong culture of work/life balance from the beginning. We have our share of tech debt, but so far I have thought the codebase and tooling have been really high quality too.
I think the bigger issue is with dishonesty in numbers. They're advertising a different set of numbers to students, and it does not seem like they're being very transparent with the process
That sounds like a pedagogy problem, not a language problem. From my experience [1], students learn JS just fine as a first language, as long as the learning process is structured well. Every practical language has its quirks, and no one learns a programming language by learning all the quirks at one time. You can be productive in JS without understanding all of the quirks, and then build up to that later.
When you're teaching, you should be enabling the student to do one more thing that they couldn't do before. If you're spending 30+ minutes trying to explain what an object is, you're trying to do way too much. You don't need to have a 100% complete and correct understanding of Javascript's object model to use objects.
> Contrast that with something like Java or even Rust where, despite the other complexities, it's pretty clear what the data is and how it is stored.
That's nonsense. Particularly with Rust, now you're deep in the weeds of pointers, stack vs heap vs other segments, and borrow checking rules.
[1] helped design a JS class at Stanford for first-time programmers. Also designed an intro Rust class.
No, parent comment isn't false, even if the wording could be more precise. It is true that M1 CPUs do not execute x86 instructions, but the machines do, in effect, execute x86 binaries. Also, M1 does have added instructions for TSO to improve performance of translated code.
Please stop being so hostile to other users. It really doesn't add anything. You have made some factually questionable comments yourself, and I say this as someone who has worked on JIT aarch64 translation very similar to Rosetta 2.
I think you're terribly naive if you think a phone kernel has no attack surface. It is absolutely a security risk to run an outdated kernel. It has nothing to do with whether there are services running for a hacker to connect to; it's about whether it's possible for an attacker to trigger buggy behavior somehow, whether that's sending malformed packets or Bluetooth frames or invoking patterns of syscalls that cause bad things to happen. Heck, here's an obscure bug in Linux on the front page of HN right now, which Android is based on: https://googleprojectzero.blogspot.com/2021/10/how-simple-li... Also, I know GP was specifically talking about upgrading the kernel, but keeping drivers patched is much harder without vendor support, and there's likely to be more attack surface there.
your phone is not a linux server. yes, if you install a virus or an outdated app, someone can daisychain a priv escalation using a kernel bug. no need for that though - my phone is already rooted.
Your car has pieces that run linux too. Guess an attacker can make you crash.
> drivers
since this is about iphone and android comparison, guess what has those same driver blobs form those same exact manufacturers. apple doesn't make their own bluetooth chips. oh, btw, the drivers get updated just fine, since that's part of the kernel and os, which all get updated just fine.
google supports kernel 4.1 till 2024 for android 11. the nexus from 2014 runs 4.9. so probably 2026 kernel and android, fully patched - 12 years.
oh, sorry, did you forget this thread started with a guy claiming ios is great because you can put later versions of the OS on there? where's that iphone from 12 years ago running the latest version of ios, and still performing fast? because that's what this thread is about.
I really don't get why you're so hung up on this server thing. Yes, a phone is not a server. But it still runs a lot of complicated software. Software has bugs. We haven't found all the bugs yet. Hence, it's important to keep all of the software as up-to-date as possible for when people find some of the bugs.
> Your car has pieces that run linux too. Guess an attacker can make you crash.
> the drivers get updated just fine, since that's part of the kernel and os, which all get updated just fine.
Just because the kernel is getting updated does not mean the drivers and firmware are also getting updated. Drivers are specific to hardware, and if a vendor stops shipping updates for some chip that is no longer used in newer phones, then you aren't going to get updates for that chip.
> since this is about iphone and android comparison
This isn't about iphone and android comparison, not for me. You made naive claims about kernels not having attack surface and unimportance of staying updated, and I am responding to those claims.
Based on your phrasing of the SEC definition, the real estate market also feels like it fits the bill :-/
Edit: parent comment was edited, originally said:
> It actually matches the SEC definition of a Ponzi scheme haha, which happens to be a little bit less restrictive than a traditional definition.
> It's a negative sum wealth redistribution scheme the takes money from new entrants and gives it to miners and to old entrants. The miner portion is what makes it negative-sum.
Real estate is a productive asset, because you need somewhere to live. If folks were holding the real estate, empty, simply to resell I would agree - but I wouldn’t advocate real estate as the future backing of money either way.
Not all investments are positive sum - metals are zero sum, proof of work coins are negative sum.
You can’t build a building on top of nothing so if land has a building on it you can apportion some of the productivity of the building to the land itself.
I didn't mean for society, I really meant for the investors, and investor in real estate has the option to rent it out so buyers of real estate operate a positive sum business.
When you lend your crypto you're transferring ownership, when you rent you aren't. So crypto loans only make money through interest while land makes rent well over interest.
A zero day is a zero day, regardless of whether it's been exploited in the wild. There's a decent chance that well-funded bad actors have already found these, and you have no idea whether they've been used or not.
That being said, I recently joined Coda as an SRE, and I have really enjoyed it so far. Company size is in my personal sweet spot: the team is small enough that it still has the startup aspects of having visibility into everything happening in the company and being able to work on anything you feel is important, but it's big enough that things are relatively stable, there are lots of resources, there aren't fires all the time. The team is incredible: everyone I have worked with is extremely capable but also extremely nice and humble. Many people joined from highly unconventional backgrounds but Coda hired them for their passion for their roles. I have also felt that the company prioritizes employees in ways both big and small, from little things (e.g. every interview started with checking in to make sure the time was still okay, nice gesture with the chaos of online/remote interviewing) to big things like comp/equity (instead of stock options, you have the option to receive the equity as a grant, or as a loan if you don't have capital to pay the taxes on a grant, and you have the option to sell some stock in every fundraising round even though we aren't public). Several of the founders had kids while starting the company, so there was a strong culture of work/life balance from the beginning. We have our share of tech debt, but so far I have thought the codebase and tooling have been really high quality too.
Email in my bio if you want to chat.