This appears to be two materials bonded together who expand at different temperatures causing a coiling effect vs a single material changing properties.
The University of Texas approach was fishing line OR sewing thread. (Just a twisted single-material polymer line.)
At the start of this MIT article, I was wondering if it was just a re-hash of the fishing-line 'muscle' discovery as well.
But it's clear that the MIT muscle coils up because of the difference in thermal expansion between two bonded materials, while the Texas one seems to be more about a coiling pattern that multiplies the effect of a thermal expansion or contraction of a single material.
Craigslist sellers decide on the price, how to exchange goods and money, etc. Uber and Lyft are not free marketplaces where drivers can offer a ride for a price they believe to be fair for their services - the platform owners decide the prices and the drivers are forced to accept that rate in order to get rides.
But the drivers have the option to use another platform to get rides; they're not forced to stay on Uber only. They may also choose their own hours, Uber does not dictate when they must turn their apps on.
Well there's two important things to address there, and they're both a bit long-winded, but bear with me.
First, despite all the discussions of Uber's/Lyft's full-time drivers, there are some proportion of drivers who are just people looking to make an extra buck on their ride home from the airport and whatnot. These drivers really don't expect/require a lot of money, and are just padding their income driving somewhere they were already going. I had a friend with a six-figure income who would do Uber rides in San Diego just because it was an easy way to cover gas occasionally. This is important because it changes the market for taxi drivers - suddenly a regular and lucrative set of rides (to and from airports) have clientele who expect much cheaper rides - even if the cost those clients expect to pay can't support an individual working full time at that rate. But even if full-time drivers attempt to avoid the platform, the market has substantially changed - they can no longer get the same price for their rides. Now, this may just be a market correction, but let's look at the second factor...
Uber and Lyft and burning VC money to power their operation - Uber lost ~$1.1 billion dollars in Q1 2019 [0], and Lyft lost ~$1.14 billion in Q1 2019 [1]. These sorts of numbers tell us that Uber and Lyft are generating demand for an artificially low price for a service, which all but guarantees that the market for sustainably-priced taxi rides will be destroyed. Why would a customer purchase a ~$20 taxi fee when a VC-subsidised ~$10 ride exists?
The contention that Taxi drivers can "just not use Uber/Lyft" is pitting the depth of the pockets of taxi drivers against the pockets of Uber/Lyft's backers - it's not a reasonable expectation that taxi drivers can afford to wait out venture-capital subsidizing an unsustainable business model which destroys their livelihood in the meantime. According to the Federal Reserve in 2016, 46% of Americans reported that they would be unable to cover a $400 expense if some emergency came up [2]. I don't think we can look at Uber and say "Taxi drivers could choose not to use it" - it's looking at the choice to use the platform in absence of the context of venture capital and the support which exists for low-skilled workers against predatory employment practices.
I'm a bit confused on the comment "Modern phones (and all the flagship phones) have had separation between their basebands and APs for years; a modern smartphone baseband is essentially a USB peripheral."
As far as I can tell [0], the flagship phones (i.e. everything except the iPhone) are pretty heavily invested in the Qualcomm integrated baseband CPU + general purpose CPU [1]. And unless something has changed radically in recent years, the baseband CPU has had direct DMA access to the same memory as the main CPU, and thus any vulnerabilities or backdoors in the baseband CPU have the ability to directly access memory.
With the rising prevalence of devices like the LimeSDR [2] putting the ability of intercepting and communicating with the baseband CPU, vulnerabilities in the baseband like this one [3] are even more of a risk than before.
I don't think anyone is arguing that Purism is going to have produced the world's most secure software, but the design space they've put themselves in allows them to be audited internally and externally - something that while you say "Apple and Google have spent a lot of money on it" I can't really verify that it's lead to a quality product. As flaws like Intel Management engine fiascoes have shown [4], even heavily audited code can have terrible flaws. The thing people don't like about the current approach with cell phones is that if the phone is too old you just have to throw it away because no one will update it. Purism is offering you something where you can throw away just the vulnerable modem or wifi card, and keep your phone. Even if you don't know of a flaw, you could purchase a different vendor's M.2 4G LTE card and swap it in, and make your attack surface different than other owners of the Librem 5.
There are other things which Purism will doubtless be way worse at catching/auditing, but honestly this is going to be like Linux: the benefit in terms of security is going to be that you are one of maybe 1,000 people using that device in that specific configuration, and you won't be worth exploiting.
Even though I generally agree with your comment, I don't know where you got that replacement part from. AFAIK Librem 5 is not supposed to be modular and I certainly wouldn't pledge my money for such project unless it set its fundraising goal many times higher than they actually did. In devices like that, there's not much you can do to achieve hardware modularity without fighting with lots of constraints everywhere. The best I expect to see in similar devices is what Dragonbox Pyra does (and what Neo900 planned to do) - a sandwich with two PCBs, with one having the CPU and expected to be upgraded, and other one containing stuff that doesn't need to be upgraded as often, like various sensors, baseband etc. It wouldn't work for Librem 5 though, as it seems to be already very space constrained.
Librem 5's design makes it relatively easy to safely disable and not use the part you think is vulnerable, but you can't really replace them - that would put this project into a completely different budget category.
Hygon is just AMD's EPYC CPU [0]. I am uncertain if they will differentiate themselves more as time goes on, but at the moment almost the only difference in the kernel is that it has a different name.
I think you're more likely to see some ARM CPUs which have comparable performance to low-end and mid-range x86 before you see a new x86 competitor [1] - the overhead to making x86 perform well is just so high that I can't imagine anyone new bothering to get into the space. VIA has been in the market forever as the third seller of x86, and despite the theoretical benefits of entering into the datacenter CPU market, they've never made that leap (though I don't know enough about their history to know if they tried).
I'm hoping that ARM becoming competitive in the client CPU space ends up making the cross-compile overheads of enough drivers/kernel stuff that we can start to see some more diversity in the CPU market overall. I'm excited about RISC-V, especially now that they have shipping hardware you can play with today [2]. The Mill CPU sounds super cool in a bunch of ways, but the architecture has made so many decisions that I'm unsure will play out in practice I'm holding my excitement until I see real silicon somewhere [3]
My own speculation on this is that it's a complicated legal dance to allow a native to and manufactured in China "trusted" processor that is tolerable for use in higher security government (Chinese) computers and systems.
They might have also baked in slight tweaks or customized whatever back-doors could be included if such things exist...
It's better to think of it as a Chinese subsidiary in a franchise system.
> despite the theoretical benefits of entering into the datacenter CPU market, they've never made that leap (though I don't know enough about their history to know if they tried).
They haven't, they instead entered the niche of low-cost kiosk hardware. Intel and AMD completely abandoned it due to lower profit margins, but plenty of raw sales numbers to help Via float by.
In Rust overflows generally will cause a panic. So "2 + 2" will return 4 or panic if you're on a 2-bit system (they provide .saturating_add() and .wrapping_add() to get code that will never panic)
Thus, you could have caused a denial of service by crashing a rust-based Curl, but the crash would have been modeled and just uncaught.
1. Rust specifies that if overflow happens, it is a "program error", but it is well-defined as two's compliment overflow.
2. Rust specifies that in debug builds, overflow must be checked, and panic if it happens.
In the future, if overflow checking ever has acceptable overhead, this allows us to say that it must always be checked. But for now, you will get a well-formed result.
I'm not a Rust user (yet), but I'm a little surprised that with its emphasis on safety Rust doesn't maintain all debug safety checks in production by default. You could then do some profiling and turn off only those few (or one or none) that actually turned out to provide enough real-world, provable benefit to be worth turning off in this specific piece of code.
Since you would turn them off one at a time explicitly, rather than having a whole set of them disappear implicitly, you would probably also tend to have a policy of requiring a special test suite to really push the limits of any specific safety issue before you would allow yourself to turn that one off.
Obviously, if this occurred to me at first glance, it occurred to the designers, who decided to do it the other way after careful consideration, so I'm just asking why.
Basically, overflow doesn't lead to memory safety in isolation. That's the key of it. The worst that can happen is a logic errors, and we are not trying to stop all of those with the compiler :) Justifying a 20%-100% speed hit (that was cited in the thread) for every integer operation to save something that can't introduce memory safety is a cost we can't afford to pay.
EDIT: oh, one more thing that may have significance you may or may not have picked up: one reason why under/overflow in C and C++ is dangerous is that certain kinds are undefined behavior. It's well-defined in Rust. Just doing that alone helps, since the optimizer isn't gonna run off and do something unexpected.
It's mostly a question of mobile support: IRC (over TLS or otherwise) requires a continuous connection, where matrix and signal are designed to support polling a push notification endpoint.
Out of curiosity: what makes you say Matrix is over-engineered?
Oh.. maybe not over-engineered, but just more involved than what I need. I mostly just want a way to move messages back in forth. I don't need voice or video calls or anything like that.
It's not perfect, but it provides a good base of functionality, and gets you to big tour destinations. It will also get you to most restaurants in a big city, but it doesn't have hours of operation or star ratings, so it's less useful in that regard.
I wish there were more alternatives to Google Maps though. You're absolutely right that it feels indispensable to most people these days...
That one is unusable to me. I nearly throw my phone in frustration just trying to enter the destination. Region, City, Street, Building... wtf? Not only backwards, but four fields. Can't even search by destinations, like "Pi-hi cafe". You can enter fields, which never even works, or stick a pin on the map. It makes me furious just thinking about how awful it is.
Google Maps actually feels unusable to me these days, not indispensible! I don't know what Google was trying to accomplish with their last UI rework, but I can't stand using it anymore. I actually switched to Bing maps, because it was stupider, less helpful, and therefore more likely to give me the information I'm looking for.
Riot can do audio and video calls, I've had good luck with it (currently gets used between my friendgroup instead of phonecalls). Check out http://matrix.org/ for the server implementation details and https://riot.im for the biggest client. Currently, it only supports 1-on-1 audiocalls/videocalls. No group calls yet.
Forewarning that while it supports end-to-end encryption for the chatting bits, the actual audio data is not encrypted. The call request/advertisement can be encrypted though!
I am missing something? You can see the hackaday article about this here: https://hackaday.com/2014/02/21/researchers-create-synthetic...
Here is another, earlier iteration also from MIT: https://gizmodo.com/mits-new-plastic-muscles-could-bring-us-...