I have a question regarding "mainline" that I hope someone could help clarify.
What is the difference (in terms of coding, etc.) between mainlining support for a chip into Linux versus pinning it to a specific kernel revision? What makes it easy to bring a chip up on a specific kernel version,but not easy to submit that to the mainline kernel so future versions of the kernel are compatible?
Are there significant changes between kernel versions that require someone to be an active maintainer for the specific chip, making sure changes to the kernel stay compatible with the chip? And thus most manufacturer don't care enough to keep supporting future versions once they get on specific kernel version working?
To have code included in mainline you need to have reasonably sane code in the first place, and then invest some time working with upstream maintainers to address their concerns. On the other hand vendor code dumps are usually haphazardly put together garbage that nobody wants to touch.
Rebasing (possibly shitty) patches from the SBC vendor to a recent kernel can be non trivial in my experience (as someone who have 0 knowledge of the Linux kernel code, so I'm a good baseline to define what's trivial ^^). And yes most vendors are will ship one working kernel source and forget about it forever right after :) even vendors that are not the worse depend on drivers that are provided by the SoC vendor, and might be stuck because rebasing a GPU driver might even be hard for them I guess.
Code will stay compatible (if someone refactors something, they'll update all the drivers), so that's not it. You just need to test your hardware with each new kernel release (every two months), otherwise you may not notice any breakage.
I have a Class B CDL (with a medical cert restriction since it was for a state job, meaning no commerical jobs unless I get a medical done. I presume driving a school bus would be exempt for this) in New York. I guess I was one of the "500k+" people targeted by NYS, as I received an email asking me to apply to be a school bus driver. I gave it a quick thought before realizing that I work a 9 to 5 job, so there was no way I could even work the job if I wanted to. Besides the other good reasons mentioned in the article and this thread, I'm sure that also restricts the number of applicants because most people can't work during those hours unless they are retired or unemployed.
Have you ever looked into Terrarium? It was created by the .NET team a long time ago to demonstrate the capabilities of .NET. You program a creature and simulate an ecosystem which consist of other peoples "creatures" which if I recall correctly were essentially just DLL's of their code.
Reading about FootfallCam, I can't shake the feeling that someone gave the project to a single, heavily inexperienced developer, the developer quit, and the manufacturer shipped the contents of that developer's home directory, as-is, as the final product. And the marketing was written before the product was developed, based on what they wanted the product to do, rather than what it actually did.
Looks to me like some developer somewhere made a RaspberryPI camera prototype and some dumb money ran with it creating a marketing campaign and getting the prototype in the market as if it were a complete solution.
Even fellow colleagues can send embarrassing notifications on work related accounts. "I can't believe they don't understand such a simple concept" is not something you want appearing in a message addressed to you from a co-worker.
I've seen my fair share of embarrassing messages show up from Microsoft Teams when someone else in my corporation is screen sharing.
You'll need to get a set of Twitch API credentials from https://dev.twitch.tv/dashboard/apps/create and store the ID/Secret in config.json. Once you start the go program just point your browser to http://localhost:8080/ and you can browse through streams with no gameid set 50 at a time.
Cool! I went ahead and added category sorting last night to twitchroulette, check out the "unknown" filter to randomly browse through streams with no category set. Theres some weird stuff in there for sure (and quite a few pirated movie streams)
I guess it's an "keep going" button that you have to hold down, but still, if you're phone freezes - is there a fail state we can be absolutely certain of between the phone and the car?
More than likely, as the driver holds the button on the phone, the phone sends a message with the command, at a decently fast rate. If the message stops coming in, doesn't come in within an acceptable interval, comes in out of order (possibly indicating a bad line of site), or signal strength is low. If any of this happens, the car exits summon and the driver has to re-enable it if they want to.
You hope the car relies on continuous signal from the phone to proceed. It's certainly possible that the phone freezes in a way that the "keep going" signal continues to be sent, but it's probably not the more likely failure mode. Definitely a good thing to be concerned about!
I may be just a bad developer but my first thought when I see or build a new feature for anything is "how could this go wrong, and who will it kill if it does?" Thankfully, I don't make self driving vehicles, so the second question is usually at worst a handful.
Such a thing does not exist. You can only add more nines (e.g. heartbeats, check sensor jitter etc.). At some point you're more likely to be ran over by another car than the tesla slowly, patiently crushing you at 2km/h.
Of course that doesn't mean tesla is actually that reliable.
Heartbeats won't catch UI freezes, which I've seen on phones. Hopefully, those would result in a drop of the input signal rather than it locked in its prior state, though.
Heartbeat would hopefully also include a counter, so that a locked input signal would result in the vehicle rejecting the heartbeat (sees that each message is the same instead of incrementing the counter).
No guarantee that's how they implemented it, though.
I could easily imagine a failure mode where the UI stops responding to input (that is, doesn't pass the "touch end" event to the app) and the app continues to send the "keep going" signal to the car.
That could definitely happen, but it would have to happen at the same time the car's normal collision avoidance systems fail. Certainly possible to happen, but probably pretty unlikely.
Not the OC, but I've used https://www.plantoeat.com/ for a couple of years now, cooking for a family of five. It's a wonderful tool, especially for only $5 month.
None of the "Chomecast" products are Google products, in fact the very first product says this in the description:
"Special note:
this isn't a Chromecast"
The iPhone while purchasable on Amazon, is not actually sold or shipped by Amazon.