itsokimbatman
It takes a different mindset to find these type of bugs than it takes to develop software. I won't quite say they're orthogonal skill sets, but pretty close.
If the people finding these bugs don't want to work for Apple, Google Project Zero, etc. there's not really much Apple can do about it.
Then there's also the issue with things like art, music, and code. Where does the line fall with scraping Github, Soundcloud, DeviantArt, or Instagram and using things like that without permission? Most of the code on Github is open source, but there's a lot of difference between the GPL and BSD licenses.
This. I’ve tried Android a couple of times over the years, and every time there’s just little quirks and problems that drive me back to iOS.
Same with Linux on a laptop. I actually prefer Linux as a dev environment, but I’ve never been able to get the same laptop experience as I can with a Mac. The quality of the touchpad, keyboard (the butterfly keys being the lone exception), display, weight, and form factor just can’t be touched.
The first step to being a true rationalist is to realize you’re as vulnerable to cognitive biases and emotion driven thinking as everyone else, and focus on your own thought processes first and foremost.
Being a rationalist isn’t about lording over other people, it’s about trying to make your own thought as clear and rational as possible, and that requires challenging your own deeply held beliefs and opinions constantly.
Most people I see who call themselves rationalists aren’t that.
You first have to survive long enough to become advanced enough to make electronics. You then have to not kill yourselves with nuclear weapons, climate change, or similar inadvertent effects of a rapidly industrializing civilization.
The planet and the solar system have to be friendly enough to space exploration and travel. Maybe there’s no gas giants for gravitational slingshots, or maybe no other rocky planets or an asteroid belt for mining materials.
Maybe the planet evolved complex life in extreme conditions, with such a deep cloud cover there’s no concept of outer space, so as far as the AI knows it’s conquered all there is.
Maybe the AI conquered the planet, but oops, there goes a super volcano or an asteroid and it gets wiped out.
And again… space is really really big. The AI may be on its way and just hasn’t gotten here yet.
There’s plenty of reasons why a super AI wouldn’t be able to conquer the galaxy and beyond, or why we haven’t noticed yet.
Like… you do realize the parts of animals we eat are pretty gross right? The things that go into sausages and such? Bone marrow is a delicacy for gods sake!
There’s foods that I think are gross and won’t eat… calimari for instance… but they usually come down to sensory things like taste, texture or smell. The ingredients don’t usually come into play.
When Luca Todesco (the person who wrote that toot) tells you your exploit mitigations are trash, you listen.
Like I said, I'm not going to make any claims to being an elite hacker. I have a cool job that I love, and I enjoy doing this stuff for fun too to keep my skills sharp. But reading through that presentation, there's nothing that made me pause and think "This is a game over scenario." If you have a moderately powerful bug with halfway decent primitives these mitigations aren't really going to stop anyone.
An elite team like NSO group? This isn't going to effect them one bit.
On larger tasks, I've not found it particularly useful, although I haven't had a chance to try it out with GPT-4. Previously, when I would ask ChatGPT about solving a particular problem, it would be terribly broken. Maybe GPT-4 is better.
That said... even though the code was broken, it was helpful in that it gave me a skeleton of what a solution would look like, especially if it was a problem domain I had no experience in.
For example, I wanted to do a little project to extract text from PDFs, including PDFs that were basically image scans, so I would have to do some kind of OCR. I'd never done anything like this before. I'm sure I could spend time Googling and figuring out which libraries to use. But instead I asked ChatGPT.
The solution it gave wasn't great, but more importantly it pointed me in the right direction with the libraries it used and some examples on how to use it.
Aside from programming, I've also used it as a "study buddy" since I'm going back to school and working on my masters in Computer Science. That's been much more successful. For example, I will give it questions from study materials handed out by the instructor (like previous exams or quizzes) and say "We are reviewing paper X in this class. Here's questions from a previous exam. Please generate questions like this to help me prepare for my upcoming exam."
or "Here are questions from a previous exam and my answers. Please evaluate my answers and provide feedback."
or "Here are questions from a previous exam, please quiz me in a similar format"
Also working on projects for class, while I won't ask it to solve the problem for me, sometimes I'll bounce ideas off of it. Like... "I know there's an algorithm to do X, but I don't know the name of it. I don't want you to write the algorithm for me, because that's cheating, but please tell me what the algorithm is called and if possible point me to a good paper describing it."
Lastly, I recently used it while helping someone update their resume (with permission). I removed all personal information and asked ChatGPT-4 to help me make it pop. We had a little back and forth conversation on ways we could improve the resume, and when we were done it was pretty damn amazing. I'm pretty good at doing resumes, but me + ChatGPT was better than me alone.
Apparently it did a bangup job, because every interviewer went on and on about how good the resume was and how impressed they were.
I mean, yeah, I get it. I worry about general purpose computing going away too. I remember Stallman and Doctorow talking about this in the early 2000s and saw many iterations of this same thread pop up on Slashdot, HN, Digg, Reddit, etc. over the years.
I dunno man, I guess I’m just skeptical over the dooming at this point. I think a bigger issue is less about whether we will be able to run whatever we want on our computer, and more that the internet has just become a cesspool of ads, clickbait, ragebait, and app sandboxed content that’s not discoverable by search engines. I think you’ll always have a fairly reasonable choice of computers to run whatever software you want on. But todays internet just isn’t very fun anymore.
When I went back to school sometime later, the job market had recovered a good bit.
The whole time I had followed the countless predictions of the end of the software bubble, and not a one of them has come true.
I'm not going to say that devs can expect infinite growth and FAANG level pay across the entire category of dev jobs. But I think in general it will still be a viable path to a reasonably comfortable, middle to upper middle class lifestyle for many years to come like most other professional careers, and there will always be a strong market on the high end as well for FAANG or those with niche, in demand skillsets.
If the most they could get out of you was a few thousand bucks from your bank account and maybe your email password, you're probably in the first category.
On the other hand, if you have access to highly confidential information (think classified government info or you're literally working on the next iPhone) or are the type of person who makes enemies of spoiled rich oligarchs in despotic nations then you're probably in the second.
The ones that don’t have intelligence capabilities are probably the exception rather than the rule, and I doubt they’re doing out of good will vs just not having the resources for it.
That said, the particular component this targets is open source. It’s the JBIG2 decoder that is part of XPDF.
My work will probably upgrade to these when it's time to refresh our work machines, but for my own personal use the M1 Air just hits all the sweet spots.
But the older I get, the more I find I’m just happier in the Apple ecosystem. I don’t want to fiddle with X11 settings or tons of dot files. I just want to open my computer and hack on the shit that interests me. There’s things about Apple that annoy me, but the same can be said for Android, Windows, any of the free *nixes, etc.
Every platform and ecosystem has trade offs and it’s fine to just use what you want to use. Personally I’ve got Apple laptop, phone and tablet, a Windows desktop for games, several RPis running various Linux distros, and a Proxmox server running VMs for infrastructure and tinkering. None of that makes my farts smell better than anyone else.
… except for those nasty Emacs users of course :P
It helps that a lot of us have worked together through multiple companies, but even the ones that haven't... I've honestly never met my manager in person just due to timing issues and the pandemic. Literally all of our interaction has been online and we have a really good relationship.
As long as I have the choice, I will never go back to an office on a regular basis. WFH works for me.
My previous laptop was a 2016 MBP with an i7, and the M1 destroys it. I can build large projects like LLVM or WebKit fast and it doesn’t even get hot.
I’ve also been running Linux VMs with the new Parallels and they feel native speed.
Rosetta 2 is incredible, Intel apps are very responsive on M1.
My work computer is a high end 16” 2019 MBP with 64 GB of RAM and honestly if it weren’t for needing the extra RAM or the occasional x86 VM I’d trade it in for an M1 in a heartbeat.
I’ll agree the Apple hype is unrealistic at times, but the M1 is one that absolutely deserves it.
This is such a good observation. When I was first getting into my field, I looked around at the smart senior people around me and thought there was no way I could ever do what they did. Total case of imposter syndrome.
Things like compilers, operating systems, etc. all seemed like magic, and I thought I was too dumb to do that kind of stuff.
But once I started working, I didn't really have a choice... it was either learn or get fired. And digging down into the code made me realize just how... simple? ... some things are. Being able to pull back the curtain and realize there's no magic there. Want to talk to this piece of hardware? Just write this bit pattern to this particular address, then put your data over here, and then send it this command and it works.
Not to say I immediately figured everything I read out. Sometimes it took me hours or days to work through something, especially if it was heavily templated C++ code.
One of the things that really surprised me was looking into build systems for large projects. When I thought about how I'd do it, I could only imagine a disgusting, hacky series of scripts and code generators and things that any sensible developer would scoff at. But when I actually looked at how some projects are put together... they're a disgusting, hacky series of scripts and code generators.
Learning that there's nothing magical about any of this was life changing. I still deal with imposter syndrome, but I feel much more confident that I can learn if I just make myself dive in, even if it seems scary at first.
On the other hand I am a citizen of the USG and believe it should be held to its promises.