Profile

Cover photo
Tim Russell
Works at Jatra Ltd
Lives in Home town: Camberley
85 followers
AboutPostsCollections

Stream

Tim Russell

Shared publicly  - 
 
Reasons I am not a Google engineer number 4532134. I have to work to understand what's meant, let alone how to answer :(
1
Add a comment...

Tim Russell

Shared publicly  - 
 
Youtube just offered me this image. Definitely going in opposite directions over the EU. Can we really fit them inside the LHC, accelerate them to high speed and then smash them together? I'd go for that.
1
Add a comment...

Tim Russell

Shared publicly  - 
 
First world problem
1
Add a comment...

Tim Russell

Shared publicly  - 
 

"Mobile-first refers to the increasingly common practice of designing and building content and apps for optimal user experience on smartphones and tablets before adapting them for the larger screens of PCs and laptops.

Most mobile-first apps, however, are not authentically-mobile. This is because they fail to take full advantage of the powerful capabilities inherent to mobile devices to deliver novel and differentiating functionality, which is the primary focus of authentically-mobile."
1
Add a comment...

Tim Russell

Shared publicly  - 
 
I should have found this sooner!
Getting rid of all the duplicate tracks (4209 of them) listed in Google Music.

https://github.com/maxkirchoff/google-music-dupe-killer

No, wait... Google could have supplied something like this!
1
Add a comment...

Tim Russell

Shared publicly  - 
 
This comment stream is excellent!
 
In this video, +Colt McAnlis​​ gives a refreshingly candid take on the enum "problem". Almost everything about this video is fantastic. Almost. Watch it before reading more, because it does a great job of outlining the pros and cons of enum usage: https://youtu.be/Hzs6OBcvNQE

Ok. So what's wrong here?

In the middle of the video an absolutely ridiculous and sensational number is dropped whose sole purpose is to create a shock-statistic which leads to an incorrect perception of an enum's effect: 2556 bytes.

What app, in the entire history of apps written for Android, has ever had a dex size of 2556 bytes? Zero. Not one. Ever.

The video goes on to show that adding an enum bloats this fictitious app to a whopping 4188 bytes. Why that's basically 2x. I added a single enum and my app doubled in size!

Open Android Studio, go to File > New Project, select a minSdk of 16, select a 'Blank Activity' template, and click Finish. On a clean compile, how large is the dex file of this completely empty app? Two million, five-hundred and sixteen thousand, five-hundred and eighty-two bytes. That's 2,512,582 bytes. 1000x times larger than the "base" example used in the video.

Of course, this size stems from the default dependency of the extremely-useful AppCompat which in turn depends on the also useful fat cow support-v4. If you remove these two dependencies, what does our dex size become? The answer may surprise you: who cares? It's an empty app.

Even if this library-free app perfectly matches up to 2556 bytes as mentioned in the video then adding an enum is completely justified as it would be the only thing in the app.

Whatever random SHA of Square Cash I have sitting on my machine currently clocks in at 6.4MB of dex. How much of that is from enums? Maybe it's 0.01MB. Or maybe it's 0.001MB.

Like I said, this video presents the pros and cons of using enums accurately and does show the relative size difference which is what is important. It is a good video. But, the overall dex size comparison is needless and serves only to mislead you to believe the impact is greater than it really is which just destroys all that credibility it built.

As a library developer, I recognize these small optimizations that should be done as we want to have as little impact on the consuming app's size, memory, and performance as possible. But it's important to realize that throwing away an Iterator allocation vs. an indexed loop, using a HashMap vs. a binary-searched collection like SparseArray, and putting an enum in your public API vs. integer values where appropriate is perfectly fine. Knowing the difference to make informed decisions is what's important and the video nearly nails that except for this one stupid stat.
55 comments on original post
1
Add a comment...
Have him in circles
85 people
Diego Pérez's profile photo
rani Raj's profile photo
Sheen Yap's profile photo
Chris McGowan's profile photo
John Brunton's profile photo
Andrea Zinicola's profile photo
Mark Stitson's profile photo
Kev Joyce's profile photo
Robert O'Connor's profile photo

Tim Russell

Shared publicly  - 
 
So where's the installer for this?
1
Add a comment...

Tim Russell

Gradle Build System  - 
 
I've posted on StackOverflow, but maybe someone here will have good thoughts about this. How to use different Junit categories in the android gradle plugin?


1
1
Add a comment...

Tim Russell

Shared publicly  - 
 
Too many people confuse remote working: which can enable a better work/life balance, with flexible working, which can lead to a lack of relaxation.

http://www.theguardian.com/money/2016/jan/02/work-life-balance-flexible-working-can-make-you-ill-experts-say
Practices such as working from home could do more harm than good, research finds, as many employees never ‘switch off’
1
Add a comment...

Tim Russell

Shared publicly  - 
 
So how does Instant Run compare with JRebel?
1
Tim Russell's profile photoKirwan Lyster's profile photo
2 comments
 
Oh, that is a nice use case. 
Add a comment...

Tim Russell

Shared publicly  - 
 
This is getting silly
1
Add a comment...

Tim Russell

Shared publicly  - 
 
"The current Beamly native applications have also been discontinued, and are no longer be available in the Apple and Android stores."

http://about.beamly.com/new-era/

Is this the first time an Editor's Choice app has been discontinued by the producer?
2
Balazs Balazs's profile photo
2 comments
 
And still proud :)
Add a comment...
Tim's Collections
People
Have him in circles
85 people
Diego Pérez's profile photo
rani Raj's profile photo
Sheen Yap's profile photo
Chris McGowan's profile photo
John Brunton's profile photo
Andrea Zinicola's profile photo
Mark Stitson's profile photo
Kev Joyce's profile photo
Robert O'Connor's profile photo
Work
Occupation
Wears hats
Employment
  • Jatra Ltd
    Android Development, 2015 - present
    Contract Android development. Currently working on Zipcar app.
  • Smartfocus Group
    Android, 2014 - 2015
    Doing Android stuff
  • zeebox
    Technical Architect, 2013 - 2014
  • Wears hats, 2011
  • Rediffusion, Sun Microsystems, Yospace, INQMobile
    2013
Basic Information
Gender
Male
Apps with Google+ Sign-in
  • The Room Three
Story
Tagline
bearded nerd dog-rescuer
Introduction
Grumpy.
Collections Tim is following
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Home town: Camberley
Previously
Brighton and Hove - Rhos on Sea - Burgess Hill