If I forget to water, some leaves will turn yellow but quickly recover once water is available again.
Oh, and it had half of it sawn off at one point because it grew too large, the other half is now also a very presentable little plant.
3,469 karma · joined February 28, 2013
If I forget to water, some leaves will turn yellow but quickly recover once water is available again.
Oh, and it had half of it sawn off at one point because it grew too large, the other half is now also a very presentable little plant.
The fact that one particular DHL driver routinely unloads his parcels onto the cycle lane every morning doesn’t help my opinion of that company either.
What gives you the right to force me to trade in my personal information?
> No need for random forums. You should have been able to download an official LineageOS build from https://download.lineageos.org
But even if this worked (from what I have read, others had problems), there still would be nothing to make me trust "LineageOS", as I said in the reply to your sibling - there is no real name associated to the project, no GPG key embedded in the web of trust anywhere that I can find and not even on the download page are actually signed binaries I can verify myself to be trustworthy. Not even the Wikipedia page of the project lists a single individual involved!
Yes, but everything I have read, anybody who tried only the official ROM had various problems, e.g. with the camera. Hence I settled on an unofficial ROM.
But even if I used the official ROM, there is absolutely nothing on the LineageOS website that makes me trust them. No real names, no GPG keys, nothing. Just "The LineageOS project", a bunch of pseudonyms in the blog entries and apparently some LLC. Even their "Legal" sub-page does not contain anything at all.
Tidbits of my personal opinion:
- SailfishOS is much more unixy - getting a shell, setting up a SSH server and syncing files with rsync was no problem at all. I have not yet understood the directory structure of LineageOS
- The permission of apps was a problem, but not more so than on my laptop. Ideally one could solve this by only installing trusted apps, but this was unfortunately not an option (Whatsapp)
- The native e-mail client actually knew about e-mail. On LineageOS, I had to install K9mail to get such simple things as proper treatment of signatures delimited by '-- '
- The user interface on Sailfish was much more usable, in particular the swipe gestures to quickly close apps as well as the tiled view from which you can directly interact with open and running apps. Feels more like a proper computer instead of a single-threaded/single-application-at-a-time thing.
- I actually trusted the team at Jolla with providing decent updates etc. With LineageOS, I am using some unofficial ROM provided by a random guy on a largely random forum which may or may not work with over-the-air updates (it’s claimed to work but I haven’t tried it yet). I definitely trust my phone less now than I did before.
- The hardware is of course much better on the OnePlus -- had Jolla/Sailfish sold something equally good or even only slightly worse, I would have bought that again.
[1]: https://en.wikipedia.org/wiki/Bundesdatenschutzgesetz#Types_...
[2]: https://en.wikipedia.org/wiki/Bundesdatenschutzgesetz#Overvi...
I very much hope that the Debian maintainers (and hopefully also the guys preparing Fennec in F-Droid) will disable such data collection mechanisms, either completely or hidden behind an explicit opt-in instead of the opt-out suggested in the e-mail.
Since the EU is likely more than just 10%/20% of their income, they still make some money here, but I doubt that it was worth it for Froogle…
But I would expect
auto x = y;
to create a new variable by copying with type-deduction from y, not a reference (or even const reference) to y. If I want a reference anywhere in the language I always have to say so explicitly. As such, I find it perfectly normal that for(auto x : y)
create a copy of the elements of y while for(auto& x : y)
creates a reference to the elements of y. Reversing this just within for-loops would only add to the confusion. Defaulting to references over values just for auto where everywhere else values are the default and references need to be specified would also only add to the confusion.Of course you may now say that one should have done it right from the start, but this is then an argument about the initial decisions in the late 80s, not about the use of auto in C++11.
Regarding the specification, I am incredibly happy that there is a specification I can trust and nowadays a series of different compilers which largely implement this specification instead of some "model-implementation" which implicitly defines the language and may look entirely different next week.
The article does mention wage suppression in the beginning but does not give a good argument why the wage suppression as observed in Germany since the early 2000's is a bad thing -- if wages are inflated and you need to compete with China for manufacturing, then you can either scrap your manufacturing or suppress wages, there’s not that much of an alternative there.
My sibling comment arguing that the largest low-wage sector in the EU is somehow inherently bad is also misguided: if the alternative is much higher unemployment, low-wage jobs are still preferable to no jobs, especially if they come with the usual social security mechanism, as is increasingly the case again.
Furthermore, it is nowadays largely trivial to set up sandboxing within a single user (using SELinux, Apparmor or whatever else) or to use multiple users and classical privilege separation to achieve the same effect.
It is also telling that your "Threat Models" in the link above do not discuss attacks against the phone at all.
Edit to add: You currently also do not have the ability to use my keys. If I were to install the app (and set it to auto-update as suggest so vigorously elsewhere), all it takes is for a tiny little update by you with no public oversight to own every server I have access to. How is that possibly improving security?!
Restarting running services and logging in again is fully sufficient to handle a libc upgrade, at the very least on Debian. "Just restart" is maybe easier advice to give, but overshoots the target a little bit.
A better analogy would be to crash your client’s car into the building of a competitor and then complain if the competitor doesn’t repair that car immediately because it makes you look bad and it is for the greater good for your client to have a working car. This is what happened! Cloudflare took their clients’ cars (their data), crashed them into random buildings all over town (Google, Bing etc.) and now complains that Google and Bing don’t get their act together to repair those cars (remove the private data from the public internet).
If Amazon Prime took your car to do your grocery shopping and then crashed it into Walmart, would you really complain that Walmart can’t send the bill to Amazon Prime for the clean-up?
So safety gets you faster development: less debugging, easier parallelisation etc., but it does not give you correct results, nor does it give you those results by spending less computational time.
Certainly, this was really only taken as a ballpark estimate of the performance difference. Looking at your link, it seems to have been slightly overestimating the difference, though the general point still stands: C is (in most cases) faster and there is (nearly) no case in which Go beats C.
> Is there a reason why GRP computing isn't mentioned?
> They are really efficient and CUDA isn't that hard to learn.
Sorry, not sure if you mean GPU instead of GRP in the first sentence. CUDA helps to some degree, but not always, e.g. when you are memory bandwidth bound (common in tensor networks in physics). I have no experience with Monte Carlo methods and can’t comment on whether they substantially benefit from CUDA; I know of at least one (Quantum Monte Carlo) code which runs much faster on a standard Xeon than on the Xeon Phi, though.
> They seem to care about safety.
Yes of course safety is nice to have and I’ll gladly learn Rust when I have some free time to get that safety at hopefully zero cost. But sacrificing performance is simply not competitive, if you can throw someone with gdb at the problem and get essentially the same "safety".
That's the key point. Judging by the (wrong) benchmark above where both C and Go seem to do some work, Go is about half as fast as C.
A grad student (if paid properly) costs maybe 60k €/year. In comparison, we regularly spend more than 250k on new and faster computers, not including maintenance, the electricity bill etc. If you can make software even 50% faster by increasing development time, this is nearly always worth it in an academic setting. Note that the benchmark implementation shown here is a very simple example, normally computing jobs take days to weeks (multiplied by however many cores you can sensibly use) of CPU time.
Decreasing runtime also increases productivity a lot, since the turnaround time becomes shorter; waiting 3 versus 6 weeks for results is a noticeable difference.
Additionally, these tools rarely have safety concerns: In my own code, there is no "untrusted user input". There is correct user input (good) and incorrect user input (mostly it will crash, with common mistakes it will try to notify the user). Safety is handled by the operating system (such that you can’t overwrite someone else’s data, for example).
This means that the only advantage Go could have over C/C++ in academia is the "good concurrency support". However, concurrency in HPC is usually handled via OpenMP (shared memory) or MPI (distributed memory) parallelisation. This takes a while to get used to, but is very different (and in a sense much easier) than e.g. the typical case for a web server, where you wish to serve as many users as possible at the same time using as little CPU time as possible – a busily waiting loop is horrible in the latter case but perfectly fine in the former (under some circumstances).
So overall, languages are not interesting in the academic HPC crowd if they sacrifice speed for anything, which, incidentally, makes Rust also interesting, because that is precisely not the case (apparently, under some circumstances, etc.pp.).
GCC 6.3, -Ofast: 5.93s
GCC 6.3, -O3: 93.06s
GCC 6.3, -O2: 134.43s
Clang 3.9, -O3: 346.92s
Clang 3.9, -Ofast: 5.87s
Intel 15.0, -O3: 110.84s
Intel 15.0, -Ofast: 106.88s
The Intel compiler is relatively old, but mostly it seems to be a case of IEEE 754 conformance -- if enabled, things take longer, if disabled, they’re (probably) as fast in C as in Rust.I also didn’t cite sources for my assertion that de Gaulle died and that the UK joined the EEC, all of these things are well-known facts. But do allow me to cite my source, namely from the preamble of the 1957 treaty, here in its English translation:
HIS MAJESTY THE KING OF THE BELGIANS, THE PRESIDENT OF THE FEDERAL REPUBLIC OF GERMANY, THE PRESIDENT OF THE FRENCH REPUBLIC, THE PRESIDENT OF THE ITALIAN REPUBLIC, HER ROYAL HIGHNESS THE GRAND DUCHESS OF LUXEMBOURG, HER MAJESTY THE QUEEN OF THE NETHERLANDS,
DETERMINED to establish the foundations of an ever closer union among the European peoples,
for an (unofficial, of course) translation, see for example: https://en.wikisource.org/wiki/Treaty_establishing_the_Europ... or http://www.hri.org/docs/Rome57/Preamble.html, the primary source at eur-lex.europa.eu seems to be down at the moment.> If you mean the EEC membership referendum of 1975, this is the actual question the Brits voted on "Do you think that the United Kingdom should stay in the European Community (the Common Market)?" [6]. > That doesn't seem much like voting on being a member state of a United States of Europe to me. But maybe there are multiple ways of interpreting that, still newspapers referred to those in the yes camp as "pro-marketeers" or "Pro-Market" [8] which seems to suggest it was about economic trade and not so much political aspects of giving up national sovereignty.
The EEC was founded by the Treaty of Rome and literally the first sentence of the preamble of that treaty contains the phrase "ever-closer union". Please do explain how any reasonable person could think it was not about laying the foundation for a United States of Europe? You may argue that the UK-internal politics and media misrepresented the whole thing horribly, but you don’t fix that by leaving the EU.