* Posts by devjoe

18 publicly visible posts • joined 3 Feb 2017

Cops chase Tesla driver 'dozing' with Autopilot on

devjoe

Re: There need to be strict rules around driver attention detection

I don't necessarily disagree with you, but...

Most cars have 'cruise control' which will allow you to set a fixed speed which it then maintains. If you fall asleep the cruise control will drive your car into someone who happens to be in the way. This is decades old technology and as such a decades old problem.

More advanced systems that can slow down to maintain safe distance and maybe even bring your car to a stop are an improvement, since they in some cases will prevent you falling asleep at the wheel from causing someone to die. But we still have a problem of course.

Now, you're not supposed to drive if you're not lucid and able, driver assist features or not.

You could argue that *all* vehicles should have an advanced surveillance system like these select GM models to prevent people from not paying attention at the wheel. I see that you can make that argument. However, in fairness, this is not tied to driver assist features - in fact, it seems that this system would be even more warranted on vehicles that are *not* able to slow themselves down safely when you fall asleep (or do drugs or use your phone or ...).

That would mean mounting this on all vehicles, especially those without advanced driver assist features. But that would mean adding cost to the lowest cost vehicles. That means going after the little guy - those who have the least money to spend on transportation will be hit the hardest by such regulation. Which I suppose is why the popular argument is that only the advanced (expensive / premium) vehicles who have the least need for this should have a requirement for it. Ah, politics :)

devjoe

Re: Some clarifications to comments below

Fair enough, that's cool but my point is that it is still a system that solves a limited set of problems. Like the tesla autopilot, your aircraft autopilot is not fully autonomous to the point that the pilot does not need to be present and lucid. Which was the point I was making.

devjoe

Some clarifications to comments below

Let me add some clarifications to comments and questions elsewhere in this thread from people who, fair enough, are not tesla drivers and therefore couldn't know.

"Autopilot" is not a misnomer; like in an aircraft, the tesla autopilot is a driver assist feature. Just like an aircraft on autopilot won't land itself and won't automatically watch the airspace to replan its routes around busy airspace or towers, a tesla on autopilot will do a select few things that simply assist the driver. An aircraft autopilot will hold altitude, bearing and speed. A tesla autopilot will hold lane and a set max speed unless there is traffic in front, in which case it holds a safe distance. As a daily tesla driver who has also done cross-europe roadtrips I can say with authority that this driver assistance feature is indeed nice to have, it is an assistance feature that works as intended. Tesla never sold autopilot as any more than this - however, media has often made wrongful assumptions about what autopilot was meant to be. Tesla never sold autopilot as any more than a driver assist feature - which is what it is and does well.

Just like your aircraft pilot shouldn't do drugs or sleep when the plane is on autopilot, a tesla driver also needs to have hands on the steering wheel and to be awake and pay attention. This is very clear from the documentation of the system and the way it's implemented. Yes it's trivial to defeat if you want to - but you can drive a diesel Hummer while snorting coke too so what's your point?

If the emergency vehicles would have taken up the lanes in front of the tesla and simply slowed down, the tesla would have safely come to a full stop. End of story. Yes it is this simple. I drive in rush hour traffic every day in my own tesla, on autopilot, and I can state with authority that this is indeed how the system works. Pointing to articles about "evidence" saying otherwise which are really articles about stationary objects in the shoulder of the road are not on point here. This trivially could have slowed this car to a halt, had they known how. And as other carmakers are slowly catching up on driver assist features, this will be true for more and more makes of vehicles. Yes tesla is ahead, but all new vehicles today are getting driver assist features - this is not a tesla only feature long term.

I'm not claiming all tesla does is perfect. But they are pretty good - better than anything else I've seen and tried - and the publicly available statistics back this up too:

NHTSA's accident statistics for Q4 2021:

Teslas with autopilot recorded one crash for every 4.31 million miles

Teslas without autopilot recorded one crash for every 1.59 million miles

Average across all makes is one crash for every 484,000 miles

So basically switch from the 'average' non tesla to a tesla on autopilot and you decimate your chance of being in an accident. These are publicly available numbers.

Is it time to retire C and C++ for Rust in new programs?

devjoe

C/C++ - really?

Ok I'll bite.

I need to point out, that anyone lumping C together with C++ is off the rails to begin with. C++ was made to make things possible that were not realistically possible in C, it accomplishes this by significantly extending - and to a smaller extent changing - the syntax and semantics of the C language. These are two different languages that solve two different problems; anyone writing "C/C++" must have missed this point - and if you miss that point, I'm not really sure how any opinion that person may have on languages, especially those languages, would be relevant.

C++ solves a number of real world problems; and we can always have an argument about how well it does that - clearly with the legacy of C compatibility the syntax of C++ may not be as it would have been, had the language started from a clean slate with not a care for compatibility and adoption.

Rust set out to also solve some problems, and that's great. One of the most notable problems in my view, that C++ solves to a high degree and which Rust doesn't even attempt to solve, is that of reliable error handling. Rust encourages a coding style where errors are ignored, because passing back errors via return values is tedious and leads to boilerplate code. Yes Rust tries to help you remember this with compiler enforcement, but nobody likes boilerplate code and the language encourages you to circumvent this mechanism.

In contrast C++ solves this with exceptions (which is by no means something C++ invented), which again comes with its own set of requirements for competently written code. C++ offers all necessary mechanisms to safely handle errors in large scale applications without the use of boilerplate code - and I personally find that to be a huge advantage over languages that do not (such as Rust and many others).

This is not to say that you can't write good software in Rust; of course you can. Lots of great software is written in C too. And I'm sure Rust is a slightly better C than C for many uses - and that's great. I'm not trying to detract from Rust here.

But honestly, replacing C++ with Rust for large scale applications that need to work in the real world? Sure you can do it. Given enough investment anything is possible - I have to say I don't see this happening on a large scale for business that actually need their software to work all the time and every time.

No longer prepared to svn commit: WebKit migrates to GitHub

devjoe

It's a little sad to see the article start with "Apple-developed web rendering engine..."

The reason even the most up to date Chrome and Safari browsers still have KHTML in their user-agent header is because of the KDE heritage.

Were it not for The Kalle Dalheimer Experience project (KDE for the uninitiated) and their bold move to go and build a HTML rendering engine the right way rather than trying to shoe-horn the Mozilla hodgepodge into a working browser application, there wouldn't have been a Konqueror browser with a KHTML rendering engine that was so good that when Apple wanted to build a browser they actually chose it as their base and said "we can build on this".

So yeah, Apple invested massively in this. But they did not start it, and had it not been for the KDE project and the amazing Konqueror initiative, Apple might well have chosen to build on Mozilla and who knows what Google might have done (instead of building on webkit) for Chrome... The world surely would have been a darker place and my point is I just think KDE should get a bit of credit for that.

Businesses brace for quantum computing disruption by end of decade

devjoe

Quite long.

AES256 will be unbreakable under QC for at least another 30 years (assuming mainstream QC comes online tonight).

What QC does for bruteforce is it allows you to brute force an n-bit key in 2^(n/2) time rather than 2^n time.

That means AES128 would be breakable, because that would be 2^64 work which is doable (assuming large scale reliable QC is available).

But AES256 would still be completely unbreakable, becuase 2^128 is unbreakable today for at least another 30 years by any nation-state.

So we'll be fine. Don't worry.

Whose cloud is it anyway? Apple sinks $30m a month into rival Amazon's AWS – report

devjoe

Re: Netflix runs on AWS

Yes and no.

Everything in Netflix - with the exception of the content - runs on AWS.

So yes, everything except 99.999% of the workload of Netflix is on AWS :)

Silent Merc, holy e-car... Mflllwhmmmp! What is that terrible sound?

devjoe

Re: Dumber and Dumber

As a non-earbud using cyclist, I was on my way home from work one evening.

A lady jogging decided to run across my lane past a red light without looking, ran out right in front of me.

She remained on the cycle lane until the ambulance picked her up.

I luckily landed like a cat with barely a scratch, but had I hit the lamp-post right next to where I landed I could easily have been in a wheel-chair or worse by now.

The point about this not being a new problem, and sounds not being the solution, is very valid. People need to look the f*ck up before they cross a lane.

Is your kid looking at GCSE in computer science? It's exam-only from 2022 – Ofqual

devjoe

GCSE?

Well of course my kids are looking at Global Common Subexpression Elimination in computer science, where else would they look at that?

Boffins build blazing battery bonfire

devjoe

Re: Interesting idea

Yup I think there's a huge potential in local generation and small scale storage too.

But one big issue with the EV charging idea; you're at work during the day when your solar generates excess power - which means, your EV isn't at your home and can't charge on "free" electrons. Once the sunlight is gone, you come home and plug your EV in...

How do you solve that?

Pencil manufacturers rejoice: Oz government doesn't like e-voting

devjoe

Re: Security is not the issue

The codes are long enough so that you cannot guess one.

You can only cast a vote with an actual valid code (generated by the voting system).

Thus you do not have fake votes.

This is not something I just invented; it's a pretty common mechanism and it works :)

devjoe

Security is not the issue

Solving the security of internet-based elections is near trivial (I said "near"):

1) Issue a unique code to every voter by paper mail or relatively safe electronic means (the security of the election process does not depend on the secrecy or integrity of this delivery method)

2) When voting, the voter records the issued code and casts the vote, again using a relatively safe electronic method (the security of the election process does not depend on the secrecy or integrity of this method either)

3) Upon publishing the results, the total list of issued codes and their recorded vote is published, allowing every voter who cares to both validate that

a) their vote is correctly recorded

b) the totals are correct

c) the total number of votes cast matches what would be expected

Of course, this would put a lot of consultants out of a job and obliterate the russia-scare politics and what have you, so no politician in their right mind would consider a system such as this.

However, what surprises me is that nobody cares about the secrecy of the vote. This is something no internet based system can provide. Going to a booth in privacy ensures that you cast your vote as you please without being coerced by peers, family or anyone else to put your mark at any particular place.

This, as I see it, is the reason internet elections cannot possibly make sense. It has absolutely nothing to do with the technical security of the system and hackers and Putin - it is a simple matter of ensuring that voters exercise their free will when voting and nothing else.

At least that's my 0.02 DKK (because my peers voted not to get the Euro) on that issue.

Yakety-yak app HipChat whacked in Slack chat chaps' tech snatch pact

devjoe

We migrated from IRC to hipchat a few years ago and I might be able to offer a little insight on that.

As someone who writes a lot, I used the built-in IRC client in emacs which works very well on any OS. But we had several non-developers who needed an IRC client and obviously had no desire to learn emacs. In short; we could not find an IRC client for windows that didn't suck. This alone was the primary driver to drop IRC and move to hipchat.

In hipchat, everyone gets the same client and it does what it does. Coming from an IRC client in a real text editor, the hipchat client is appalling - it has only the absolutely most basic text editing functionality (adding and removing single characters basically - forget about cursor movement, word skipping, in-line searching, transposition etc.). But to users who are not used to typing much, hipchat does everything they need to - it completely matches the editing capabilities of "notepad" and for a great many users this is good enough.

What hipchat then added was images. This actually comes in handy for exchanging screenshots - and yes you can do file transfers with IRC but in hipchat it's one of the primary features. It's image exchange support far exceeds its text exchange support in my opinion :)

As for searching, hipchat does claim to have it but the matching is so unbelievably weak that I gave up using it completely. With regards to search, I was way better off with IRC and emacs - but that's not because of IRC that's because of the editor.

Hipchat stores conversations and lets you retrieve them when you come back after having been off line. With IRC, you need to be on-line to see what's going on. Personally, I actually felt that IRC had an advantage here - because if I want persistent messages I'll use e-mail (it's just as instant as chat but does not require the counterpart to be on-line). So when we used IRC, I'd still use mail for internal communication at times. Different tools for different types of communication. Now, with hipchat, I have almost completely stopped using e-mail internally in our organisation. I probably send one or two e-mails a week, down from maybe 20-50 a day. In that sense, hipchat has been just as much an e-mail replacement as an IRC replacement. I'm not convinced that this is a good thing, but this is what happened.

We did consider writing/finding a bot for IRC which would store conversations in all rooms and make them searchable so that you could both see past discussions where you had been offline, and also offer better search. IRC is of course completely open to that, but we didn't find a bot we could just use off the shelf.

As for the pre-built integrations... Well, we used one of the integrations (the jira one) for a while and then it stopped working. The hipchat product is a very very complex piece of machinery implementation wise - I suspect it started life as a proof of concept and then never really got to the "ok let's write it from scatch, properly" stage. Troubleshooting anything, in my limited experience with hipchat, is hopeless. If a reboot doesn't fix your problem, a re-install may - and that's basically what you have to work with.

So, in conclusion: Moving to hipchat from IRC definitely changed things - not sure it was for the better. Where do we go from here? I'm really not sure, but I think we know more about our needs now than we did when we moved to hipchat :)

Crappy IoT on the high seas: Holes punched in hull of maritime security

devjoe

Plain text rudder commands is not a problem in itself

I think the example with modifying rudder commands is a cheap shot. Modifying rudder commands sent over the NMEA0183 network is not really a problem in itself. These networks are intended to be physically secure, just like any old analog control cable for your rudder or engine would be.

Sure, if someone modifies a signal on a control cable (or pours water in your diesel tank or throws a wrench in your cooling pump), that will have consequences. But these low-level control networks were never intended to be more than a "sophisticated control cable". And that's what they are - so they use plain text commands and that is not a problem.

If you plug your NMEA network onto the internet, you are in as much trouble as if you gave direct public access to any other older control cable. But this is not a problem with the NMEA technology in itself. Just like most other control connections, it was not intended to be internet connected.

And that's of course the problem; putting insecure devices on two separate networks that were never intended to be near one another; the public internet *and* your NMEA network.

Apple's magical quality engineering strikes again: You may want to hold off that macOS High Sierra update...

devjoe

reboot or shutdown...

"The initial install appears to be working fine, but when users go to shutdown or reboot an upgraded system, it goes into recovery mode."

I don't mean to sound smug or anything like that, but I'm just really amazed how reboots and shutdowns are hardwired into peoples habits as something you would willingly do to a computer on a regular basis. I've had a macbook as my sole work computer for a few years now and I don't remember having ever rebooted it outside of what is required by OS upgrades and of course never shut it down. I have maybe pressed the power button twice (in the few years of having this computer) or so to bring it out of hibernation after it had run out of battery on trips, but honestly I have no idea what the power button does if you press it when when the computer is on. I mean, why would I?

As an emacs user, I'm terribly frustrated when an OS upgrade forces me to restart my editor by forcing a reboot of the OS. The idea that someone would willingly reboot their computer more often than that is hard to grasp.

So no, I won't be restarting my computer with 10.13.4; it will reboot when the next OS upgrade comes out and forces a reboot. Why else?

Tesla reveals a less-long-legged truck, but a bigger reservation price

devjoe

Re: Electricity vs Petrol/Diesel prices

This is if you assume 100% conversion from energy to motion; and that's now how it goes. A thermal engine is significantly less efficient than an electric motor.

I switched from a Peugeot 307 (petrol) to a Nissan Leaf (ev) - cars of comparable size - and I cut my energy (petrol or electricity) costs to roughly 1/3 (driving exactly the same as I did before).

This is in Denmark where both petrol and electricity is heavily taxed; but I believe you will have a similar ratio in the UK.

Ransomware realities: In your normal life, strangers don't extort you. But here you are

devjoe

Proper backup vs. sync

Having proper backups, instead of just an auto-sync, will keep your data safe.

A proper backup system will hold a history of datasets, all being immutable - so if your files are encrypted and even if a few backups are run on the encrypted files, you will always be able to go back in time and restore a previous copy.

This is one thing that separates proper backup from sync tools.

Inexpensive and simple on-line backup solutions are available both for businesses and the home user.

AI vuln-hunter bots have seen things you people wouldn't believe

devjoe

Let's be realistic

>>One of the competitors found a bug in operating system code used by all players, developed an exploit for the flaw, and used it to attack another competitor to steal some data. A third competitor saw what happened, figured out what the vulnerability was, and patched itself in response.<<

While the above may be true given some context that is omitted from the article, the paragraph does leave the reader with the impression that the AI automatically discovered a a bug in the OS, developed an exploit for the bug, and developed an attack against a competitor. It also gives the impression that another AI observing this determined that this was in fact what was going on, and that it developed a fix for the bug.

Neither of those two things are remotely possible in general. And we're not close to this being possible. Analysing software given full knowledge of its sources along with annotations is a difficult problem today, and the best tools are very far away from being able to discover all bugs a code base - we humans can even have difficulty deciding whether a given behaviour is problematic or not.

Detecting and classifying bugs without full knowledge of the system, simply by observing behaviour, is taking this problem to a whole new level. I am not saying that they did not do this in some isolated case (that the article omits), but it is important to understand that this is not something that can be applied in general. Not today, and not in 10 years either.

Going from there, to automatically devising a solution to the problem is, yet again, taking this to another level. Yes, I absolutely believe that for a very limited isolated problem this probably can be done - but if people are left with the impression that an AI in general can "fix our software", we're headed for another AI winter. AI's (or anything else for that matter) won't automatically fix our software in any decade soon.

That said, I'm thrilled that a public competition like this was done and that it gets press - it may help get young people interested in computer science.