Traveling in the Australian outback is not like traveling in the continental United States, or Europe. The distances between any facilities, including sources of drinking water, are often vast, the traffic is minimal, cell phone reception is nonexistent outside major towns, and the roads are often unsealed or impassible without a four-wheel-drive vehicle, and the heat will kill you fairly quickly if you run out of water.
Anyone planning to travel in Australia off the major highways needs to do more research than just putting a route into Google Maps.
Even assuming that the motors are 95% efficient, that's still quite a few kilowatts of heat. Tapping some of that to heat the cabin shouldn't be too problematic.
This ranking is roughly akin to assessing progress in computer science by counting the number of new array sorting algorithms in academic journals over the past few decades.
Perhaps I'm just getting old but I've currently got a comparatively ancient iPhone 6S and I've never found it anything other than acceptably snappy in use.
What applications are people putting their phones to where the extra speed of the newer iPhones (and Androids, for that matter) actually matters?
Algorithms, you say. You mean, like the one in the academic paper for an IEEE journal I just finished reviewing?
Hashing is trivial. The method being used by FB is not simple hashes, and it's Microsoft's proprietary tech. It's also used for keeping one step ahead of kiddie pornographers.
Computing the hashes in the browser means you've still got problem b).
And preventing reverse-engineering of this is a big deal, as these techniques aren't just used to block revenge porn involving adults - as I understand it's used to track kiddie porn distribution too.
Aside from the usability issues (remember, many of the people who need this service is far less tech-savvy than you are and even downloading a separate app is likely to be a challenge for some) putting the code in an app would almost certainly allow somebody to reverse-engineer the algorithm and figure out a way to produce images that look very similar to the human eye but nevertheless are not flagged as similar. Even the ability to submit arbitrary images without human filtering could be used for this.
It's not a simple hash. They're using PhotoDNA, which is claimed to be "resistant to alterations in the image, including resizing and minor color alterations".
While I'm not an expert on PhotoDNA itself, I doubt the algorithm is going to be resistant to a determined effort to circumvent it by somebody with the ability to try as many images as they want before their photo passes as different. Therefore, it's unlikely to be put client-side, or in an environment where images are fed to it by untrusted users without human review.
I haven't personally, but I have spent at length with people whose job includes helping the victims of "revenge porn" (or image-based abuse, as they prefer to more accurately call it), and they have generally welcomed this development. I was at the conference was this was launched in Australia, and applause went around the room.
This is *not* intended as a general "send your nudes to Facebook and get them blocked" service. This is for a smaller group of people who have specific reason to believe that specific images are either likely to be circulated, or are already circulating in Facebook Messenger.
For people in this situation, sometimes, having a Facebook admin look at your nude pictures, while much less than ideal, is far less of a problem than letting those pictures circulate to people like your family, friends, and employer. Doing this, or threatening to do so, is a common technique of domestic abuse.
I agree with the critiques that it would be far, far better if you didn't have to send the image itself to Facebook to be hashed, but a) Facebook, not unreasonably, doesn't want the blocking service used for purposes other than that intended, b) the photo hashing technology is proprietary and they don't want it reverse-engineered if they can avoid it, and c) doing the hashing locally is going to create usability issues for users who are often not particularly technology-savvy.
I wouldn't for a minute suggest that this is a perfect system. But take your male middle-class tech geek glasses of for one fucking second and try listening to the people whom this system has been put in place to help.
For everyone else watching at home, if they can really reduce launch costs to a few million bucks a launch, it will enable a whole lot of things that currently can't be done.
For instance:
Affordable broadband low-latency internet access from massive LEO satellite constallations.
whole constellations of imagery satellites. Want a real-time video feed of something from space? It might just be possible for organizations other than the US government now.
Mass-produced space probes. If it's only going to cost $6 million a pop to launch rather than $100 million, it might be worth producing a couple of dozen rather than two, and the unit cost will go down a great deal. Imagine what we could learn about Mars with dozens of rovers roaming the surface!
Startups experimenting with new space technology. At 6 million a pop, VCs might be able to fund you if your plan involves launching a payload into space. At 100 million, forget it.
So even leaving out the more out-there humans-in-space stuff, there is a great deal to be excited by if SpaceX can really launch this cheap.
I teach IT at a top 100 global university. Until a couple of years ago, security was not covered at all in any of the compulsory units for any of the IT degrees. It's still not mandatory in every degree.
And I'm fairly confident that this is typical across the tertiary sector.
Now, I'm not claiming for a moment that university is the only way to learn IT skills, or that learning ends the moment you get your degree (despite what many of our students seem to think sometimes). But a lot of our students come out of university and start writing production code with NFI about whether it's acceptably secure or not.
Most IoT devices don't need to talk to the entire Internet. At most, they need to phone home to a few servers made by the device manufacturer. So build a protocol in which devices identify themselves, and after authorization the home router then downloads a signed ruleset. If the device is later compromised, the DDoS traffic is blocked and reported somewhere.
Yes, there are quite a few details to work through to reduce the risk of this being spoofed, and dealing with legacy devices, but in principle this could work and wouldn't be too difficult for manufacturers to implement.
Writing formal specs, and proving your code meets that formal specs, is very hard, very slow work. Data61 proved that their microkernel implements a formal spec. It took them 25 person-years to implement a 7500 line kernel. Very very few software projects justify that level of expenditure.
I agree that system programming should be moving to languages/environments that make safer programming easier though. Why we're still writing non-performance critical code with buffer overflows in 2016 is beyond me.
I teach Android programming at an Australian university.
For various reasons, it was decided that all engineering students had to learn mobile app development in their first year of the degree. Every single person in the faculty who had any experience with Android told them it was a terrible idea.
They ultimately ended up getting them to write web apps instead; Javascript web programming is horrible but you can at least have a relatively gentle introduction to programming in it.
Being extremely popular with 30% of the Republican primary electorate in a divided and frankly weak field got him the nomination, but that's not enough to win him a general election.
Your guy is disliked by a far bigger proportion of the population than the proportion that like him. He is disliked far more than Hillary Clinton, according to the polls.
Your guy has little acquaintance with facts in his public rhetoric, but that doesn't make them go away. Trump will lose the general election to Hillary. The remaining question is whether his negative impact on the Republican vote will cost the GOP the House and Senate as well.
...or, more to the point, Scratch and its ilk help certain very specific skills.
Scratch largely removes the barrier of remembering syntax and dealing with syntax errors. This gets people who might have otherwise been put off over a significant hump.
However, there are two other barriers to becoming an effective programmer that Scratch doesn't help with at all.
Coming up with a correct and moderately efficient algorithm to solve a nontrivial problem - even when that problem is just implementing business rules correctly - is a difficult, multifaceted skill.
putting bite-size pieces of code together into a larger system that works is hard. Putting it together into a larger system that keeps on working, can be debugged when it's not working, and can be extended when needs change is even harder.
Scratch doesn't help one iota with any of the above.
My interest is prompted because I plan to do some testing related research that requires building the code many times. My working assumption was that systems are fast enough these days that you could build pretty much anything in a short reasonable amount of time by throwing a big enough set of compute nodes at the problem. Worth knowing that isn't always the case.
In 2012, there were 0.55 deaths per 100 million road vehicle kilometres travelled. For business and private flying in GA aircraft, (which is mostly A to B, but does include a few riskier activities such as cattle mustering) the death rate is about 40 deaths per million flying hours, and if you assume that the average speed is something like 200 km/h, that comes out to 20 deaths per 100 million aircraft kilometres travelled.
GA aviation is much riskier than driving a car, and comparable to riding a motorcycle.
Anyone planning to travel in Australia off the major highways needs to do more research than just putting a route into Google Maps.
The US government can surveil me and the other 7.4 billion-odd people who aren't US citizens whenever it damn well pleases, no warrant required.
Even assuming that the motors are 95% efficient, that's still quite a few kilowatts of heat. Tapping some of that to heat the cabin shouldn't be too problematic.
This ranking is roughly akin to assessing progress in computer science by counting the number of new array sorting algorithms in academic journals over the past few decades.
What applications are people putting their phones to where the extra speed of the newer iPhones (and Androids, for that matter) actually matters?
Hashing is trivial. The method being used by FB is not simple hashes, and it's Microsoft's proprietary tech. It's also used for keeping one step ahead of kiddie pornographers.
And preventing reverse-engineering of this is a big deal, as these techniques aren't just used to block revenge porn involving adults - as I understand it's used to track kiddie porn distribution too.
Aside from the usability issues (remember, many of the people who need this service is far less tech-savvy than you are and even downloading a separate app is likely to be a challenge for some) putting the code in an app would almost certainly allow somebody to reverse-engineer the algorithm and figure out a way to produce images that look very similar to the human eye but nevertheless are not flagged as similar. Even the ability to submit arbitrary images without human filtering could be used for this.
While I'm not an expert on PhotoDNA itself, I doubt the algorithm is going to be resistant to a determined effort to circumvent it by somebody with the ability to try as many images as they want before their photo passes as different. Therefore, it's unlikely to be put client-side, or in an environment where images are fed to it by untrusted users without human review.
This is *not* intended as a general "send your nudes to Facebook and get them blocked" service. This is for a smaller group of people who have specific reason to believe that specific images are either likely to be circulated, or are already circulating in Facebook Messenger.
For people in this situation, sometimes, having a Facebook admin look at your nude pictures, while much less than ideal, is far less of a problem than letting those pictures circulate to people like your family, friends, and employer. Doing this, or threatening to do so, is a common technique of domestic abuse.
I agree with the critiques that it would be far, far better if you didn't have to send the image itself to Facebook to be hashed, but a) Facebook, not unreasonably, doesn't want the blocking service used for purposes other than that intended, b) the photo hashing technology is proprietary and they don't want it reverse-engineered if they can avoid it, and c) doing the hashing locally is going to create usability issues for users who are often not particularly technology-savvy.
I wouldn't for a minute suggest that this is a perfect system. But take your male middle-class tech geek glasses of for one fucking second and try listening to the people whom this system has been put in place to help.
For everyone else watching at home, if they can really reduce launch costs to a few million bucks a launch, it will enable a whole lot of things that currently can't be done.
For instance:
So even leaving out the more out-there humans-in-space stuff, there is a great deal to be excited by if SpaceX can really launch this cheap.
How in the hell is the average consumer supposed to assess the durability of a smartphone?
And I'm fairly confident that this is typical across the tertiary sector.
Now, I'm not claiming for a moment that university is the only way to learn IT skills, or that learning ends the moment you get your degree (despite what many of our students seem to think sometimes). But a lot of our students come out of university and start writing production code with NFI about whether it's acceptably secure or not.
Yes, there are quite a few details to work through to reduce the risk of this being spoofed, and dealing with legacy devices, but in principle this could work and wouldn't be too difficult for manufacturers to implement.
Writing formal specs, and proving your code meets that formal specs, is very hard, very slow work. Data61 proved that their microkernel implements a formal spec. It took them 25 person-years to implement a 7500 line kernel. Very very few software projects justify that level of expenditure.
I agree that system programming should be moving to languages/environments that make safer programming easier though. Why we're still writing non-performance critical code with buffer overflows in 2016 is beyond me.
Who would have thought that programming a car to lie to the US EPA was a good idea? Dozens of engineers at VW, apparently.
It's also a solved problem in many American cities, but whatever. Enjoy your Freedom(TM).
Taxes on the rich are too low, and should go up, substantially, to pay for a UBI.
For various reasons, it was decided that all engineering students had to learn mobile app development in their first year of the degree. Every single person in the faculty who had any experience with Android told them it was a terrible idea.
They ultimately ended up getting them to write web apps instead; Javascript web programming is horrible but you can at least have a relatively gentle introduction to programming in it.
Your guy is disliked by a far bigger proportion of the population than the proportion that like him. He is disliked far more than Hillary Clinton, according to the polls.
Your guy has little acquaintance with facts in his public rhetoric, but that doesn't make them go away. Trump will lose the general election to Hillary. The remaining question is whether his negative impact on the Republican vote will cost the GOP the House and Senate as well.
Scratch largely removes the barrier of remembering syntax and dealing with syntax errors. This gets people who might have otherwise been put off over a significant hump.
However, there are two other barriers to becoming an effective programmer that Scratch doesn't help with at all.
Scratch doesn't help one iota with any of the above.
My interest is prompted because I plan to do some testing related research that requires building the code many times. My working assumption was that systems are fast enough these days that you could build pretty much anything in a short reasonable amount of time by throwing a big enough set of compute nodes at the problem. Worth knowing that isn't always the case.
In 2012, there were 0.55 deaths per 100 million road vehicle kilometres travelled. For business and private flying in GA aircraft, (which is mostly A to B, but does include a few riskier activities such as cattle mustering) the death rate is about 40 deaths per million flying hours, and if you assume that the average speed is something like 200 km/h, that comes out to 20 deaths per 100 million aircraft kilometres travelled.
GA aviation is much riskier than driving a car, and comparable to riding a motorcycle.
Do you think you've reached the realistic limits of how much you could parallelize the build process?
The SLS is dubbed the Senate Launch System in some quarters.