Tony Stark computer programming meta
Jun. 10th, 2012 03:32 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Or, "Why, yes, c.b is a nerd."
Last night
taraljc asked a question that implicated the OS on a StarkPhone and I googled for a while to see if the people making the movie had implied that Tony used a particular operating system. (Pepper has an iPhone, yes, but that isn't definitive. She might just have gotten sick of Tony's phones exploding on her.) I then sent this email to
boosette:
Possibly I just spent the last 10 minutes trying to figure out if Tony Stark has a canonical operating system? Because I know what operating system he uses in my head: dude undoubtedly wrote his own Unix-based operating system (not Linux; that was invented when he was, like, 20ish [1991]) when he was about 10 and scoffs at Linus Torvalds a lot.
Which led to (from her, quoted with permission):
The thing that gets me is that we're expected to believe that Tony wrote the AI and also the software that runs the suit and also had time left to do things like build the suit. I mean, yes, fine, he's Tony fucking Stark but JARVIS alone is a life's work: many people's life's work, and, well. There's a point at which computing stops being doable on an individual level, especially if what you're trying to build is an entire OS that runs your house and also your flying robot.
Also I am not even going to get into the mess of no one should be allowed to QA their own code and no one's code is perfect the first time around and Tony won't let anyone near his code.
Someday he's going to fall out of the sky because he forgot a close parenthesis.
Which led to me talking to Mr. Bamboo, a Computer Guy(TM). Let's break it down:
(1) JARVIS
Mr. Bamboo: JARVIS isn't an operating system!
Me: OKAY, what I meant was that Tony had to invent his OWN operating system to run an AI that complicated on it!
Mr. Bamboo: ... well, all right.
At that point, you just sort of have to hand-wave it. Tony Stark is a genius; he invented an AI at some point prior to Iron Man. *shrugs*
Mr. Bamboo also thought that JARVIS was probably running over FreeBSD, not Linux, because FreeBSD came out in like the '70s or something and isn't the same license as Linux, so Tony could keep all the code to himself and/or make money off of it. (See: OSX, which is also based off of FreeBSD.)
In other words, Tony's whole-house OS, derivations of which he probably uses for almost everything, is probably based on FreeBSD, which is based on UNIX. If you want a potted history, the Wikipedia article is pretty good.
(2) The Iron Man Mark I suit
Here's what Tony had: A computer. A bunch of Stark Industries bombs. Yinsen. His own brain.
There might have been stuff on the computer already--Yinsen or someone else's attempt to reverse-engineer the bombs--but Tony also had access to all the chips from the bombs, which he'd probably programmed himself at one point.
Here's how Mr. Bamboo says he would do it: The chips probably would have the code baked right into them (programmable logic chips, sort of like ROM) because that would be the most efficient method (I said, "Well, I get the idea that Tony likes fast, not efficient," and he said, "They're the same thing for this kind of operation."). Likely they'd be written in Ada, because it was a project for the US DOD, who mandates Ada.
(On the other hand, Stark Industries probably has enough money/influence to say, "Yeah, we're going to write this in Python instead," or whatever, and not write it in Ada, but still.
Okay, probably not Python, as it's a dynamic language and this seems like a good use for a static language, but you get the idea.)
The good thing about ADA is that it's a very rigid language (also the bad thing) so that things can be copypasta-ed exactly, and you can come in at any point in the language and be able to work with it no matter what. (And yes, you can hook the chips back up to a computer and get the code off of them. The other likely languages are assembly, because that would be the most efficient, and C, because C.)
So probably there was a good amount of code of some sort for him to work with in the first place. They just didn't show any of that on-screen because only four of us in existence would care. And sure, going from 'smart bomb code' to 'thing that can run a mech suit, even if just for a few minutes' is pretty unrealistic, especially in the small number of weeks he actually had to work with, but still.
(3) QA-ing your own code
He probably let Yinsen look over it for missing close-parens in the cave, and JARVIS can probably scan code out of the cave, but if you are not Tony Stark and you are building something that can asplode and kill everyone, don't QA your own code.
Last night
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Possibly I just spent the last 10 minutes trying to figure out if Tony Stark has a canonical operating system? Because I know what operating system he uses in my head: dude undoubtedly wrote his own Unix-based operating system (not Linux; that was invented when he was, like, 20ish [1991]) when he was about 10 and scoffs at Linus Torvalds a lot.
Which led to (from her, quoted with permission):
The thing that gets me is that we're expected to believe that Tony wrote the AI and also the software that runs the suit and also had time left to do things like build the suit. I mean, yes, fine, he's Tony fucking Stark but JARVIS alone is a life's work: many people's life's work, and, well. There's a point at which computing stops being doable on an individual level, especially if what you're trying to build is an entire OS that runs your house and also your flying robot.
Also I am not even going to get into the mess of no one should be allowed to QA their own code and no one's code is perfect the first time around and Tony won't let anyone near his code.
Someday he's going to fall out of the sky because he forgot a close parenthesis.
Which led to me talking to Mr. Bamboo, a Computer Guy(TM). Let's break it down:
(1) JARVIS
Mr. Bamboo: JARVIS isn't an operating system!
Me: OKAY, what I meant was that Tony had to invent his OWN operating system to run an AI that complicated on it!
Mr. Bamboo: ... well, all right.
At that point, you just sort of have to hand-wave it. Tony Stark is a genius; he invented an AI at some point prior to Iron Man. *shrugs*
Mr. Bamboo also thought that JARVIS was probably running over FreeBSD, not Linux, because FreeBSD came out in like the '70s or something and isn't the same license as Linux, so Tony could keep all the code to himself and/or make money off of it. (See: OSX, which is also based off of FreeBSD.)
In other words, Tony's whole-house OS, derivations of which he probably uses for almost everything, is probably based on FreeBSD, which is based on UNIX. If you want a potted history, the Wikipedia article is pretty good.
(2) The Iron Man Mark I suit
Here's what Tony had: A computer. A bunch of Stark Industries bombs. Yinsen. His own brain.
There might have been stuff on the computer already--Yinsen or someone else's attempt to reverse-engineer the bombs--but Tony also had access to all the chips from the bombs, which he'd probably programmed himself at one point.
Here's how Mr. Bamboo says he would do it: The chips probably would have the code baked right into them (programmable logic chips, sort of like ROM) because that would be the most efficient method (I said, "Well, I get the idea that Tony likes fast, not efficient," and he said, "They're the same thing for this kind of operation."). Likely they'd be written in Ada, because it was a project for the US DOD, who mandates Ada.
(On the other hand, Stark Industries probably has enough money/influence to say, "Yeah, we're going to write this in Python instead," or whatever, and not write it in Ada, but still.
Okay, probably not Python, as it's a dynamic language and this seems like a good use for a static language, but you get the idea.)
The good thing about ADA is that it's a very rigid language (also the bad thing) so that things can be copypasta-ed exactly, and you can come in at any point in the language and be able to work with it no matter what. (And yes, you can hook the chips back up to a computer and get the code off of them. The other likely languages are assembly, because that would be the most efficient, and C, because C.)
So probably there was a good amount of code of some sort for him to work with in the first place. They just didn't show any of that on-screen because only four of us in existence would care. And sure, going from 'smart bomb code' to 'thing that can run a mech suit, even if just for a few minutes' is pretty unrealistic, especially in the small number of weeks he actually had to work with, but still.
(3) QA-ing your own code
He probably let Yinsen look over it for missing close-parens in the cave, and JARVIS can probably scan code out of the cave, but if you are not Tony Stark and you are building something that can asplode and kill everyone, don't QA your own code.
no subject
Date: 2012-06-10 08:49 pm (UTC)no subject
Date: 2012-06-10 08:56 pm (UTC)As
no subject
Date: 2012-06-10 11:27 pm (UTC)no subject
Date: 2012-06-10 11:44 pm (UTC)