mParticle serves as critical data infrastructure for engineering and product teams across the Fortune 500. Developers use mParticle as an abstraction layer on top of hundreds of tools, and to enforce data privacy and data quality. Come help us build for the future of data connectivity!
Patching an APK like this would break parts of the app, specifically the parts that are arguably the most crucial to be followed by pinned API calls. For example, in-app purchases via Google Play that validate the app's signing would all fail. Similarly restoring any previous in app purchases would also fail. Finally, you wouldn't be able to install this APK without uninstalling the valid production APK first, again due to signature/signing mismatch.
Cydia performs dynamic hooking, and patches the function in the runtime. In theory app's signature should be intact (I have never come across this scenario in practice, so might be wrong). Generally, application implement additional checks for function hooking and dynamic library injections to prevent such attacks.
Parse authenticates with GCM using the API key that you provide, as do all other services AFAIK. So, all developers need to do is use that same key in their new push provider, and their push tokens will work.
The tricky part is actually making sure that all of your push tokens that are in the Parse database are migrated to the push provider that you've chosen.
EDIT: I stand corrected, looks like you have the option to use their key as you said, my apologies! Should have figured the founder of OneSignal would know ;-)
The Soda Ban is NYC-only, in response to the city's childhood obesity epidemic. Albany is a long way from the NYC mayor's office, both geographically and politically ;)
Been having fun playing with Lambda to power various Amazon Echo skills[1]. Definitely easier than having to deploy with something like Elastic Beanstalk, or even App Engine.
We're also using this at mParticle Inc. to allow anybody to add themselves as an integration[2]. The point being that Lambda is a super-easy way to write _some_ server logic, even if it only serves as a proxy to something more complex.
Also, the improved 808 SoC at 20nm manufacturing process should offer better battery life over the 800 in the N5, even if they had the same battery capacity (which they don't, so it's a double-whammy there).
The 808 is also a big little architecture, with two A57 cores and four A53 cores. The A53 cores will likely carry the vast majority of every day use, and redouble the battery savings.
As a Nexus 5 user I'm pleased with most of the changes and non-changes. 2GB is fine for a smartphone, and an image sensor with more than double the light capture area per pixel is brilliant, and if it delivers the better photographs will be worth it right there. Losing OIS...I don't think that's a downgrade as OIS was always suspect to begin with (not least because OIS only helps for lateral movements. It does nothing for rotational movements, and of course make subjects stand still. It yielded a tonne of unusable photos).
The only thing I'm really displeased about is the removal of wireless charging. That was a really nice feature.
Between the Snapdragon 810 and 808, the only real items of concern is that the 808 does not have h265 hardware encoding (the 810 does), and its image processing DSP is 12-bit per pixel rather than the 14-bpp of the 810.
"The A53 cores will likely carry the vast majority of every day use, and redouble the battery savings."
non-ARM-manufacturer citation needed :).
My experience as a compiler guy (that makes the toolchains for these kinds of phones) has been that big little brings improvements to what these guys can shove on a chip and advertise, but so far not real improvements to battery life or real numbers.
There reason why is pretty simple.
In an ideal world, you don't want anything running at all.
You don't want A53's "handling the majority of the workload".
What you want is to wake up, do whatever work is needed as fast as possible, and go back to sleep. Period. Sleeping chips are lower power, by far, than idling chips.
If it's faster to do that work with an A57, it'll generally give you better battery life to do that.
Again, this is right now, based on perf per watt/blah blah blah.
Maybe someday, in the future, a53's will be so low power vs a57 that doing something else makes sense.
But it's not true now, AFAIK.
Instead, they make big-little because they can't really increase the speed of the higher end cores more without increasing power usage too much.
You don't want A53's "handling the majority of the workload".
Yes. You do. If I'm casually browsing non-intensive web pages, e-reading, or watching a Netflix movie, or even encoding a video, the background is doing IO rate limited system updates and basic data logging, etc, the vast majority of the time the CPU demands are very low, but frequent enough that putting a CPU to sleep is completely out of the question.
An A53 has a much lower ceiling, but a much better middle tier power usage level, than the A57. Yes, if you want to run a benchmark the A53 is not a good bet (and is generally worse in a workload power usage), but it is a very good bet for most real world usage.
Encoding a video should not be CPU, so let's get that out of there.
Most of the rest is more GPU dependent than CPU dependent. The amount of CPU time you should be spending on these tasks is really low.
For example, web browsing and reading, the CPU should be asleep most of the time.
Now, don't get me wrong, there are plenty of very silly little tasks for A53's to do, but what you listed are not those tasks.
It's more things like "syncing" or something that is a poll loop and event bound, not something that is in any way CPU bound.
Period. CPU bound stuff is not something for the A53's in this to tackle. It makes battery life worse. That is what the actual, in-the-field data says.
" a much better middle tier power usage level, than the A57"
Truthfully, for most A53 cores, this is true only in the dreams of the chip designers.
"but it is a very good bet for most real world usage."
Then what, pray tell, do you expect the A57's to be doing in this world?
And why, in practice, has big.little and other things not shown any better battery life at all if it's really a better way of doing things.
I have no doubt it may be a better way of doing things in the future, but it ain't right now ;)
This is 100% false.
I do bringup on these platforms. I know a lot about them.
"I'm going to favor the industry's interpretation of this a bit more than your anecdotal, occasional compiler-writer knowledge.
"
Dude, i literally do the toolchain bringup on these platforms you claim i have no knowledge of. This is not "anecdotal occasional compiler-writer knowledge". This is "I get paid to make the stuff you keep talking about work fast and get good battery life out of it".
If what you say was true, then one would expect that when they were brought up, they would have worse performance and better battery life.
Instead, the exact opposite is true in most cases.
They have slightly better performance, and much worse battery life. Try it sometime.
Battery life is gotten back mainly through .. wait for it ... compiler optimization ... to speed up the software so things can sleep faster.
Not to "move things onto the little cores to save power", as you seem to think.
Since you want to attack my experience, remind me again, what
background do you have in this again?
(FWIW - I would stay away from this argument line as it is unlikely to serve you well)
As swetland (who was android's main kernel guy for a long time) pointed out to you, you literally have no idea what you are talking about when it comes to CPU sleeping and what the main power policies are.
BTW, much earlier i asked if you had anything other than self-serving industry press releases to back up your claims. I'm guessing the answer is "no", given what you've written.
Anyway, i'm going to stop responding now, because i'm just some anecdotal compiler writer, and clearly i can't compete with your vast knowledge store and experience on this one.
I'm not sure how many experts in how many areas of the actual phones and phone oses we are talking about have to keep telling you you are wrong before you start believing it (so far, looking at this thread, it stands at 3), but given your demeanor, as i stated, i don't really have an interest in continuing this conversation.
The fact that your response to someone like swetland is "Not to mention that their comment is simply dated and wrong now regardless." is hilariously arrogant and amazing.
I'll just continue to find it funny that you want to cite chip manufacturers (who uh, might be slightly self-serving in selling their architectures, and produce zero actual phones except for samsung. Except, of course, that the division of samsung that produces the phones is separate and does not really talk to the chip making division. I'm sure you know this), when i am talking about the actual qualification and testing of real world phones, and not "whatever random crap they made up to put in their marketing material".
You can try to gussy that up as "actual field observations of SOC vendors" or whatever, but that just shows further ignorance in how SOC vendors actually operate.
Again, I urge you: Buy an evaluation board or two. They are cheap. Put an OS on them. Try out what you claim is true. Measure the power draw. I think you will be surprised.
To an outsider that doesn't know much about phone architecture:
1) I can easily envision a scenario where he really is an expert but is not necessarily allowed to come out and say "I am a senior embedded systems engineer working for XYZ Mobile Devices" and has years of experience and is sitting there laughing at you. I should know because there are a couple of completely unrelated subjects that get widely discussed on the internet where I am an expert but can't just flat out state all my qualifications. I try to contribute sometimes in discussions about these subjects but often people say I have no idea what I'm talking about.
2) You seem to believe that he cannot possibly be an expert. He disagrees, and offers no absolute proof (and really, does he have to do that? Why can't we just be nice to each other).
3) I am embarrassed for you because you have seemed to be very mean and dismissive. Even if you're right, using phrases like "You are a Hacker News "Expert" and a bore" and "Save the world from your ignorance" just makes me feel that you're being rude.
CPUs enter and exit sleep on Android devices constantly. Back in 2007 on the MSM7201A we'd go to power-down sleep for any idle times of >50mS (nothing to schedule for the next 50mS). Run fast and go to sleep has always been the primary power policy.
That said there's plenty of lightweight threads and processes that are mostly IO or event bound, do very little compute, and will run in roughly the same time on a small core as a large core, but the small cores have a lower static power footprint (base cost to have them powered up at all), so big.little works out well there.
Run fast and go to sleep has always been the primary power policy.
A sleeping core is obviously the most efficient core, however you have said nothing to discount what I said. Putting a core to sleep is a very costly activity, which is exactly why it happens at the millisecond scale.
Before that happens, the core will likely have been frequency scaled to more appropriately fit the window's loading. I mean, we know this is the case right now, and that "run fast and go to sleep" is not the primary policy. It's "run as fast as appropriate for the workload to fill a quantum, and sleep when there is no workload". There are many if not most workloads that are externally bound, or event triggered enough that sleep is completely out of the question and running faster does nothing.
Your words have been used (out of context and inappropriately) to bolster DannyBee when they represent, literally, all that is wrong with Hacker News.
Though hard to say if this is true, it seemed their argument during the presentation was that the bigger sensor/pixels in both devices make up for the lack of OIS, and they specifically compared performance against the Nexus 6.
If I were your friend, I would tell you that this is still dubious owing to the fact that without it, many people might use very weak passwords that never change. You gotta weigh that and the vulnerability it presents for large-scale remote attacks/leaks, against the likelihood of these guys getting local access to your machine (i think?) for this exploit.
Storing multiple passwords within a single master password means your security is only ever as strong as your master password is safe. Literally "putting all your eggs into one basket". Same with centralized email. One should separate accounts by email such that if a single email is compromised - not every account is compromised.
My argument (and practice) is to have individual emails for individual accounts. Using a dice selection method [0] they'll be as secure as any individual master password. The issue is burden of memory.
The argument in favor of password managers is that they relieve the user of burden of memory by exchanging a small chunk of security for a large chunk of convenience. Which is why I use a password manager.
The actual bet however is that somewhere in the implementation of password managers there will be found something that is so insecure it allows someone to "seize the basket" and more or less make the trade-off go from a "small chunk of security" to "all security". Specifically, any PM that doesn't require the device being compromised; though physical access is fine. (Physical access allows memory attacks but the device itself is not yet compromised.)
I hope that helped give my position some more nuance.
mParticle serves as critical data infrastructure for engineering and product teams across the Fortune 500. Developers use mParticle as an abstraction layer on top of hundreds of tools, and to enforce data privacy and data quality. Come help us build for the future of data connectivity!
Product demo: https://demo.mparticle.com/ Github: https://github.com/mparticle
Our engineering team is growing fast! Come join us:
- Backend/Distributed Systems: https://www.mparticle.com/careers?gh_jid=3077965
- Mobile Engineering: https://www.mparticle.com/careers?gh_jid=2458665
- Fullstack: https://www.mparticle.com/careers?gh_jid=3009752
- Cloud Systems Operations: https://www.mparticle.com/careers?gh_jid=1219209
- SRE: https://www.mparticle.com/careers?gh_jid=3007392
- Engineering Manager: https://www.mparticle.com/careers?gh_jid=3076185
- Technical Writing: https://www.mparticle.com/careers?gh_jid=2986067
- DevTestOps: https://www.mparticle.com/careers?gh_jid=2591613
- Integrations Engineering: https://www.mparticle.com/careers?gh_jid=3044244
- All roles listed here: https://www.mparticle.com/careers
If you're interested please apply at the links above or shoot me a note (contact info in my profile).