Trucks are very hard on the roadbed, especially given that road damage scales proportionally to the fourth power of the axle weight. For the same reason we don't ship all of our goods in tons of little cars, but use trucks with GVWR potentially many times greater, similar efficiency is pretty simple with trains in that they require less operators and prime movers to move more goods in the same amount of time.
Armin is right; further more, I suspect a lot of technology like MegaSquirt will continue to improve, and we'll have (thank god) aftermarket ECMs to put into these cars to give the user more control over the vehicle.
We can only hope that a similar movement to Linux on PCs builds up steam up in the automotive space, as many of us
like being able to understand, adapt, and improve on our
vehicles.
If you're going to go down that route (no pun intended), why not eventually ban everything but officially certified driverless cars from public roads? I suppose it gets into a bit of a philosophical question at some point --- some people just want to get from A to B as quickly as possible (with whatever currently technology allows), while others actually enjoy the driving experience and having control over their vehicle. Some might want the former at times, and the latter at some other times. The former is certainly going to be much safer than the latter, but you give up freedom. Personally, I prefer the latter even if it means I could get killed at any moment because the risk is all part of the experience; not only of driving but really just life itself.
> If you're going to go down that route (no pun intended), why not eventually ban everything but officially certified driverless cars from public roads?
I agree. That's the way its going to go. People kill 40K/people a year in the US simply driving, and injure/maim hundreds of thousands. There's no way self-driving cars aren't better than that.
Want to build your vroom vroom car? Own the entire stack down to the atoms? You'll get to drive it at track day at a track, not on a public road.
> Personally, I prefer the latter even if it means I could get killed at any moment because the risk is all part of the experience; not only of driving but really just life itself.
Agree, but that sentiment will die a slow death over the next few decades, just as those fond of the horse and buggy are no longer with us.
There likely exists a larger stockpile of fairly well-engineered manually driven cars than there were buggies during the advent of the automobile. This existing stock will likely buffer the robotic revolution of our roads somewhat. Also, I think the convenience delta from self-driven car to "driverless" car is smaller than that from keeping living horses to regular maintenance of an automobile.
> Also, I think the convenience delta from self-driven car to "driverless" car is smaller than that from keeping living horses to regular maintenance of an automobile.
The number of teenagers with driver's licenses is the lowest in history. Compound that with the 65+ cohort aging quickly, and older drivers being dangerous drivers (lower reaction time).
It's not a convenience delta. Its an experience and safety delta. We are talking tens of billions (if not more) of dollars in savings from taking the human out of the loop.
From your first link: "Getting a driver's license after turning 16 years old has become a lengthier process in recent years, as regulators instituted more safety hurdles. That has also led to a sharp decline in teenagers who are driving."
That said, this is going sideways because I didn't make a complete and clear post originally. Never mind.
> People kill 40K/people a year in the US simply driving, and injure/maim hundreds of thousands.
Not true. People kill 40K people by crashing their cars into them, not by "simply driving". Make crashing your car into people illegal and punish that. No reason to ban driving.
> Make crashing your car into people illegal and punish that. No reason to ban driving.
Except that people don't crash their cars deliberately, it's unintentional and unavoidable.
There's no point making it illegal to do something that only happens accidentally. People will still do it accidentally.
The only thing you can do is mandate changes to the system which remove the possibility that those mistakes will be made. Driverless cars are one possible change that we could make.
You appear to be advocating troublesome technological solution to a social problem (people going "screw emmisions, I want powerrrr!") which isn't even that widespread.
I don't believe I am. Verified software on your vehicle is no different than other safety features required by law. Break the law, you lose your right to drive, or you go to jail (depending on the severity of the violation).
I am _not_ arguing you shouldn't be allowed to tinker with your vehicle. You're just not entitled to the source code that runs it (unless you buy a car from a manufacturer that agrees to that as part of the sale agreement), nor are you allowed to make modifications and take it out on a public road if you could cause harm to others.
The problem with all of these, with the exception of Rust and Ada, is that it's hard to do things like, get at pointers directly, for example. For all of the abstractions OCaml and Java bring, there is an often large performance penalty to pay, and when you're pass producing an embedded product, that's money you're leaving on the table because you're asking for more compute power than you actually need to get the job done. Ada is usually a pretty good choice, but it's hard to find developers outside of the defense industry; Rust on the other hand is often view (perhaps rightfully so) as still experimental and unproven.
> For all of the abstractions OCaml and Java bring, there is an often large performance penalty to pay, and when you're pass producing an embedded product, that's money you're leaving on the table because you're asking for more compute power than you actually need to get the job done.
In my experience the performance differences are often grossly overestimated (particularly if you compare equivalent development times). And increased development time or higher defect rates aren't free. What you say is true for a particular niche, but I think that niche is pretty narrow (and in that niche I think the risks of Rust, while real, are smaller than the risks of C++).
At least in the storage space (which gets essentially no press on HN), I have come to the finding that the vast majority of core product codebases are C/C++. For the niche they fill, it seems really unlikely that even the still experimental Rust would replace them here.
I feel like using RethinkDB, instead of something like SQLite (or if you absolutely insist on NoSQL, maybe LevelDB or BerkeleyDB) kind of seems like using a supertanker for a tugboat's job. Especially if you're going to write your temperature sensor logger in Python, and it's just being used as an embedded application, SQLite really seems like one of the smarter choices you could make there. Maybe the point is to demo RethinkDB features, but wouldn't it make sense for the Python script to also emit the status data and send notifications as well, without needing all those extra Node dependencies?
Also, maybe I'm just crazy, but man I can't believe people are encouraging others to curl stuff from the internet right into a shell. Especially on Raspian where the default Pi user has NOPASSWD in sudoers, this seems like a bad practice that we shouldn't encourage.
I definitely wanted to do all parts in Python but am somewhat allergic to the `while True:` pattern necessary in Python for changfeeds. I haven't brought myself up-to-date on the more recent asyncio library to write the more Pythonic `yield from` for a changefeeds example.
Would you know how to do this in Python elegantly? Because I would love to rip out the Node/Javascript parts.
Still, it kind of seems like a blog for Kenworth demoing someone using a giant truck to race around a track, I mean I guess you can do it, but it doesn't seem like the intended application.
Howdy! Author here. I can totally agree that there are definitely more simple methods to logging these sorts of things on a Raspberry Pi, most of all `your_basic_data_in_csv_format.log`.
What I think RethinkDB adds here is the WebUI interface and an easy to way to come to grips with what information is being stored on the machine versus digging around in the home directory, or project folder, or /var/log/ for the right log file (I've come to a consensus with myself many times on where I should put it and definitely forget where). Also, spinning up and replicating the data over to another machine is click-easy and convenient.
As for having the entire functionality in one Python script, it was more of wanting to have à la carte functionality since I know projects like this coming in all shapes and sizes. I definitely agree that from a simplicity point of view, one Python script would be much easier. But, I wanted people to be able to just copypasta what they wanted and go from there with multiple sensors or multiple notification messages.
I also did not like the Node dependencies (why is installing Node on RBPi still so hard?). I felt though that I couldn't get behind doing the un-Pythonic `while True:` pattern necessary for RethinkDB changefeeds. In the near future we'll have better patterns with asyncio but Node felt like a better fit from an elegance/grok-ability standpoint in this case.
Well, I get that this is a RethinkDB blog but I can't help to see this as another example of this "virus" that has gotten hold of some segments of the software development world making for utterly bloated and pointlessly complex solutions to simple problems. I call it the "OOP+Framework 'Hello World'" syndrome. It seems nobody can write code without adding layers of classes, loading-up the call stack and megabytes of libraries.
In this particular case a simple C program logging to a comma-delimited text file, or, if you want to splurge, JSON-formatted text file would have done the job.
But, I get it, proposing not everything requires OOP is heresy. What was I thinking?
I second this. The working hours and toll sitting in a tractor like that all day are bad, but if you do things like cut hours for drivers, especially the drivers that aren't owner-operators, and continue them at the same pay, you unfortunately will push a huge contingent of people further out into the margins. I am all for increased safety, and very much think the drivers are on the road way too much, but I fear additional safety or hours cuts will be disproportionately borne by the drivers, who really usually can't afford it anyways. Apparently truck driving is a very common job to work too[1].
I guess I'd like to understand why people don't agree. Just to be clear, it's really important that we shore up tractor trailer safety (I've been hit by a class 8 rig twice now, once where the driver was asleep at wheel), but the cost of this really needs to be borne by the companies and not the drivers; as a consequence, you know, in order to get more safety on the road, product prices may go up. I am OK with this though.
It's amazing, I'm not really in tune with the state of the art with drones (but fly a little Cherokee Arrow, to give some perspective, and have friends that have been RC enthusiasts going back significantly). I looked on Youtube for that DJI Phantom you mentioned, and all I can say is, wow. It is truly amazing how poorly behaved and entitled some of the operators are, especially in comparison to a lot of the RC guys that have proceeded them. I remember that the RC planes only could be flow in restricted areas (unpopulated, usually), and you had to be real careful regardless. I know those guys were just happy the city let them fly their RC planes at their little airstrip near the dump, and tended to be respectful of airspace.
In contrast a lot of these drone owners act like they should be able to fly everywhere at any time, and have their craft be exempt from the same governance that aircraft seem to obey, and RC at least seemed to use to have to adhere to. I guess it's even more crazy to me that the vast majority of Youtube comments seem to like to compare FAA regulations to some sort of facist plot. I really don't understand why drone and RC pilots don't have to obey similar if not the same kind of regulations planes do, as it would probably save us from so many stupid incidents, like the drone recently preventing fire helicopters from handling that highway accident in California. [1] I am also shocked that the UVA student flying that drone over campus [2] only got a $10,000 fine; just watching that video of the flight made me cringe so much, at the amount of dangerous and recklessly negligent behavior. I am a little worried that as RC gets democratized in the form of drones, and grows way beyond the hobbyist following it had in yesteryear that we're going to have to clamp down in a significant way because of the lack of understanding/caring and the abuses that get perpetrated by a contingent of asinine, but hopefully few, reckless drone operators.