125 karma · joined July 14, 2016
I honestly don't know what Google designers/engineers get paid to do if they can't even QA the software of one of their main devices.
I don't like Apple but I'm way happier now. Main complaint is the stupid photo/file separation. Just give me a normal filesystem please.
Additionally, we don't live in a stationary society, so, whatever capitalism did or did not cause in the past might not apply as-is today.
TL;DR: The EU could pay a couple of reverse engineers for 2 months and print money out of fines.
I was shocked to discover that (back then?) apps could just straight up read the list of user accounts on the phone without any special permission... Which is mostly fine, except many apps use your email/phone-number as account name or description. Same goes for Wi-Fi SSID and other things.
Relevant: "bashML: Why Spark when you can Bash?" (https://rev.ng/blog/bashml/post.html), aka how to deduplicate git repositories using `comm` + `awk`.
But you did say it was illegal. Seems to me there are exceptions if that picture is to be trusted.e
Now I'm still using the same algorithm, but I do everything manually. It takes time but I found that the flashcard customization aspect makes the memorization easier.
I feel kind of trapped following them :/
I tried using the "this tweet is not relevant" thingie but it doesn't do anything. I mean, this is a thing for which I would gladly have an AI-powered smart filter.
Ofc there will be a minority of people that perhaps even enjoy it, but the vast majority is gonna suffer serious mental health issues. Not to mention that, as others pointed out, some people like to have a life outside of work. If you work 60 hours a week you either don't sleep much or your life is just working and sleeping.
What seems new is the control tower thingie (Orwellian af) and the tracking of the tourists' origin.
I somehow doubt that they do all of that without ever storing sensitive data/personal identifiers. Anyhow, I suspect some italian journalist is gonna send some FOIAs soon (:
Anyway, if you never used LLVM, be ready to spend some time getting familiar with its IR and its C++ magic (though as a user I never had too much trouble... and I'm not a C++ guy). The documentation is also not very helpful, but the examples are good enough to get you started. The ORCv1 vs ORCv2 thing is kind of confusing sometimes.
Slightly OT, but even by JIT'ing + caching it's not always the case that your code run faster than a simple emulator. It sounds obvious written like this, but we were still surprised in some cases we encountered. But in our case it's probably related to the fact that the code we are jitting was not meant to be jitted, so we are doing some ugly things here and there. We also have to support self-modifying code (and that basically means blacklisting the jitter in some address ranges).
TL;DR: even with LLVM, emulation is often faster. QEMU tcg is likely faster than both, but it's GPL'd.
EDIT: wanted to add that LLVM JIT infrastructure is still moving quite a bit.
It's really not too difficult to write a lifter, but it's time consuming. You have to take every instruction from the source instruction set and model its side effects in some IR. To make things simple, "whole binary" lifting tools seem to use a global CPU state (registers, flags, etc...) and so the IR you get is quite different from what you would obtain from a compiled program.
I think it's fair. You shouldn't break the law. That regulation may be overkill in terms of punishment, but that doesn't mean that the regulation itself is wrong. Laws are imperfect. Regulations exist in every industry and there's a reason for that. Over regulating is a burden for a business, but under regulating is bad for customers (or the environment, or whatever).