Sponsored

Explain to me like I’m 5…is software really that hard?

SANZC02

Well-Known Member
First Name
Bob
Joined
Feb 11, 2021
Threads
50
Messages
7,471
Reaction score
12,812
Location
California
Vehicles
Tesla Model S, LE - R1S
Occupation
Retired
You want to know how hard it is to code….

Simple test, write the steps to make a peanut butter and jelly sandwich. Give it to someone else to execute. They need to follow the steps exactly, no interpretation of what you meant, can’t do anything you did not write.

It can be funny to watch and will give some great insight into the required detail needed for such a simple process.
Sponsored

 

SwampNut

Well-Known Member
First Name
Carlos
Joined
Apr 22, 2024
Threads
52
Messages
3,570
Reaction score
3,794
Location
Peoria AZ
Vehicles
2022 R1T Launch Edition
Occupation
Geek
Clubs
 
You want to know how hard it is to code….

Simple test, write the steps to make a peanut butter and jelly sandwich. Give it to someone else to execute. They need to follow the steps exactly, no interpretation of what you meant, can’t do anything you did not write.

It can be funny to watch and will give some great insight into the required detail needed for such a simple process.
You have to include things like "don't use the rusty butter knife from the garden" in there too.

This weekend, a manager at one of our customers FORGOT how to use the phone software.

Yesterday we got a report that a newly promoted call center manager could no longer view recordings.

I read the security logs to see who took her permissions away. Nothing.

I use the "impersonate user" feature to see what she sees. Recording are there.

Somehow, between the end of work Friday, and Monday morning, she forgot that recordings are right on the main screen. She was going to "Admin" first and then wondering why the recordings weren't there. No word on making peanut butter sandwiches.

WTF.


Rivian R1T R1S Explain to me like I’m 5…is software really that hard? 8_21_08.thumb.jpg.97fbe07653ca6cc024e4017a6f3c7814
 

mkhuffman

Well-Known Member
First Name
Mike
Joined
Nov 9, 2020
Threads
14
Messages
2,936
Reaction score
3,320
Location
Virginia
Vehicles
2025 R1T Tri-Max, Jeep GC-L, VW Jetta
You have to include things like "don't use the rusty butter knife from the garden" in there too.

This weekend, a manager at one of our customers FORGOT how to use the phone software.

Yesterday we got a report that a newly promoted call center manager could no longer view recordings.

I read the security logs to see who took her permissions away. Nothing.

I use the "impersonate user" feature to see what she sees. Recording are there.

Somehow, between the end of work Friday, and Monday morning, she forgot that recordings are right on the main screen. She was going to "Admin" first and then wondering why the recordings weren't there. No word on making peanut butter sandwiches.

WTF.


8_21_08.thumb.jpg.97fbe07653ca6cc024e4017a6f3c7814.jpg
Do they still install automated cup holders in computers?
 

Redmond Chad

Well-Known Member
Joined
Oct 14, 2022
Threads
4
Messages
282
Reaction score
428
Location
Redmond, WA
Vehicles
R1S (LG, FE, 20"), Tesla Model X
Clubs
 
Also don't forget to include instructions for how to buy peanut butter if you are out (after the instructions for searching the refrigerator, counters and cupboards for peanut butter). The instructions must work in every house, and for every store. Remember they may not have a car, and you have to tell them how to get to the store, what aisle to find the peanut butter in, how to select a brand and size (and what to do if it is not stocked), and how to pay for it and return to the house. Don't forget to open the garage door before parking in the garage. Include instructions for centering the car in the garage and not hitting anything, including when you open the door to get out. Then they'll need instructions for getting back to the kitchen. Be prepared for any previous prep work (like getting bread, jelly, plate and knife) to have been changed by someone else in the interim.

At any point they might need to use the restroom. Include instructions for finding and use that, washing hands, what to do with the peanut butter while you are in there, etc.
 
Last edited:

Sponsored

S7DAVIS

Member
First Name
Scott
Joined
Mar 7, 2024
Threads
0
Messages
5
Reaction score
1
Location
California
Vehicles
Vinfast VF8
Just for fun I went to ChatGPT and this is what it came up with for pet mode lol



class PetMode:
def __init__(self, vehicle):
self.vehicle = vehicle
self.enabled = False

def enable(self):
self.enabled = True

# Maintain comfortable temperature
self.vehicle.climate.set_temperature(72) # °F
self.vehicle.climate.turn_on()

# Lock doors but allow emergency overrides
self.vehicle.locks.lock_all()

# Show status on center display
self.vehicle.display.show_message(
"Pet Mode Active\n"
"Cabin Temperature: 72°F\n"
"Climate Control Running\n"
"Owner Will Return Soon"
)

# Start monitoring loop
self.monitor()

def disable(self):
self.enabled = False
self.vehicle.display.clear_message()

def monitor(self):
while self.enabled:
cabin_temp = self.vehicle.sensors.cabin_temperature()
battery = self.vehicle.battery.state_of_charge()

# Adjust HVAC if needed
if cabin_temp > 75:
self.vehicle.climate.cool()
elif cabin_temp < 68:
self.vehicle.climate.heat()

# Notify owner if battery gets low
if battery < 20:
self.vehicle.notifications.send(
"Warning: Pet Mode battery reserve below 20%"
)

# Safety shutdown threshold
if battery < 10:
self.vehicle.notifications.send(
"Critical battery level. Return to vehicle immediately."
)

sleep(30)
 

Zoidz

Well-Known Member
First Name
Gil
Joined
Feb 28, 2021
Threads
227
Messages
5,217
Reaction score
11,734
Location
PA
Vehicles
23 R1S Adv, Avalanche, BMWs-X3,330cic,K1200RS bike
Occupation
Engineer
IMG_0736.webp


I guess this is a hardware problem.
It's a Rivian engineering hardware and software design failure to consider this one in 5 million edge case! They could have prevented this by monitoring the seat belt web extended length and latch status. If the web is extended and the seat belt is not latched, lock the gear tunnel from opening. How could Rivian have overlooked this? 🤡
 

SwampNut

Well-Known Member
First Name
Carlos
Joined
Apr 22, 2024
Threads
52
Messages
3,570
Reaction score
3,794
Location
Peoria AZ
Vehicles
2022 R1T Launch Edition
Occupation
Geek
Clubs
 
She said it's a $325 replacement cost. Rivian originally wanted to tow it, but they simply cut it off, since it seemed like it was going to be MORE expensive to tow it and might still have to cut it (unclear).

Anyway, yeah, making things impossible to break is impossible.
 

Sponsored

Horsey

Active Member
First Name
Zack
Joined
May 13, 2026
Threads
2
Messages
40
Reaction score
96
Location
Sonora
Vehicles
Ford F-150 Lightning (2024, Flash)
R2 is shipping without pet mode, Rivian assistant, Gear Guard, hotspot, garage door opener, etc. That’s quite a long list and honestly very disappointing. I hope it just needs another week or two and it’ll be out shortly, but that leads to my topic question: is software really that hard? I don’t work in this field or anything close to it so I’m genuinely curious. These seem like pretty basic things from my ignorant point of view. What say you?
It depends on how you write the software.

Many, many software stacks are written in procedural programming whereby your code is a long list of if/then statements, where any time you add a new parameter, you have to audit your entire stack to make simple changes (because all the code depends on the other code around it to function). I suspect that the vast majority of in-car software is written this way, and I suspect Windows is coded in procedural ways, because of how difficult it is to modify the UX with 3rd party software. It's okay to write procedural code if you never need to update the code, ever again, or in cases where you expect the code will exist as a one-off. This method of coding is unacceptable in the case of software that will be run on Apps, computers, products that will receive hardware/software updates, etc. However, it is easier to code using this methodology, because it's just a long stream of instructions.

Object Oriented Programming essentially means that you write your code in such a way that it depends on variables being passed into functions that interact with each other. In OOP, it's sometimes trivial to change a parameter or add a new function because the changes you make affect a minimal amount of objects in the code. Apps are supposed to be written in OOP, because parameters theoretically should be able to change as real world needs change around the code. MacOS is a huge proponent of OOP. In relation to Rivian software, if it were coded in OOP, you could change a few numbers here and there and you would change the opacity of menus for example, or add a button to the task bar simply by stating its function, name, referring to an image for an icon/artwork. Coding in OOP takes more effort, because you're essentially writing your code in a way that makes future modification easier.
 
Last edited:

Zoidz

Well-Known Member
First Name
Gil
Joined
Feb 28, 2021
Threads
227
Messages
5,217
Reaction score
11,734
Location
PA
Vehicles
23 R1S Adv, Avalanche, BMWs-X3,330cic,K1200RS bike
Occupation
Engineer
It depends on how you write the software.

Many, many software stacks are written in procedural programming whereby your code is a long list of if/then statements, where any time you add a new parameter, you have to audit your entire stack to make simple changes (because all the code depends on the other code around it to function). I suspect that the vast majority of in-car software is written this way, and I suspect Windows is coded in procedural ways, because of how difficult it is to modify the UX with 3rd party software. It's okay to write procedural code if you never need to update the code, ever again, or in cases where you expect the code will exist as a one-off. This method of coding is unacceptable in the case of software that will be run on Apps, computers, products that will receive hardware/software updates, etc. However, it is easier to code using this methodology, because it's just a long stream of instructions.

Object Oriented Programming essentially means that you write your code in such a way that it depends on variables being passed into functions that interact with each other. In OOP, it's sometimes trivial to change a parameter or add a new function because the changes you make affect a minimal amount of objects in the code. Apps are supposed to be written in OOP, because parameters theoretically should be able to change as real world needs change around the code. MacOS is a huge proponent of OOP. In relation to Rivian software, if it were coded in OOP, you could change a few numbers here and there and you would change the opacity of menus for example, or add a button to the task bar simply by stating its function, name, referring to an image for an icon/artwork. Coding in OOP takes more effort, because you're essentially writing your code in a way that makes future modification easier.
There are a few things we can infer/guess at based on Rivian's employment web site.

Regarding "Why isn't software feature X shipping on R2?", the Rivian employment web site has over 50 job openings related to vehicle software development. Even more if you add in full stack and IT positions. Portions of the software are developed in Belgrade. It's very possible that these features are not complete for the R2 simply because they don't have suffcient staff. Like any project, even the simplest efforts take forever if you are understaffed.

Regarding procedureal vs OOP, it's probably both. The job listings mention skill sets including C++, Python, Unreal - all of which implement OOP. They also list C which is not considered OOP. It's a reasonable assumption that lower level embedded software, drivers, etc. are not implemented using OOP to reduce overhead and memory footprint and improve performance.
Sponsored

 
 








Top