Monday, November 23, 2015

Angle.co etiquette

If you invite a developer to a conversation about a dev opportunity at your start-up should be willing to have a conversation. Do not do the hr-recruiting drive-by-shit as its somewhat rude and disrespectful !

Saturday, November 21, 2015

On the Road to Rxjava

Okay, a little background the java.util.Observable has a flawed mechanism.   Oh gosh what could it be?

Facebook was talking about recently byte code weaving callbacks. But in that clear-as-mud post they did not state why other than the implied speed boost.

If you look at the code behind the new definition of Observable that Google's data-binding library uses you will find that the callback mechanism was rewired(not rewritten at the framework level but the array/collection of was implemented differently). That is where the speed difference is coming from when you compare speed of the data-binding Observers callbacks to a regular android callbacks as far as having a collection of callbacks that are called in a group.

In short words, even if you do not adopt using Google's data binding library and may not tackle rxJava right now, one should re-use the Observable classes from the databinding library and the rewritten and rewired callback mechanism.

That way one would have some of the benefits without fully tackling Rxjava right now.

Thursday, November 19, 2015

An obstacle to App priacy

GWSGarlic is very small library to help you put up another roadblock to those who would download your app and decompile it and upload to another app store under their name.,

Monday, November 16, 2015

A Suggestion, Product Flavors

Do you as android developer realize that all those neat tools like scalpel, madge, etc can be implemented as viewgroups and thus can in fact overlay on the debug variant of a product flavor?

So now you know..:)

Saturday, November 14, 2015

CTOs-do your homework

Once again, a CTO of start-up contacting me about leading a team who obviously did not do any homework and just search for dev terms. And to top it off my profile kind of screams intermediate android developer not team lead.

CTO, if you cannot do basic reading to determine whether I am intermediate or a senior android developer why should I talk to you, you stupid fuck?


Thursday, November 12, 2015

Android QA

Now the fun part of my new GWSJinn build system, android code qa. I should route it so that I can always get code qa via the terminal but only code qa reports generated when product flavor prodRelease is built or when the project is executed on a ci server.

To complicate things I never use product flavors on my library modules, only the app module. And that is not even the real fun part, which is doing some fancy xml parsing to come up with an Android Code specific QA dashboard.

Wednesday, November 11, 2015

Engineering VS Design

I have to rant about something that has been bothering me for awhile. I am not sure how to present it so it may not seem as clear as I think I am making it.

Apple's recent design revamp and Google's recent design revamp in their respective mobile platforms was not started by a 'design'. Apple and Google were collecting data and observing patterns in that data concerning User-Interfaces in-general. But where or how did they know to go to data and its collecting in user labs to get the new design approaches?

It happens to involve a certain philosophy revolution in the 9th century that affected every hard and soft science known to mankind. CI Lewis in the early in 19th century came up  with a theory of knowledge, in his work titled..Mind and the World Order.

Basically, we can gain knowledge of how the world works by examining data and patterns in data. In the Mobile  User-Interface context we are re-organizing data for a smaller screen size and other factors that demand that we cast the UI into a new form that is easier for humans to grasp and use right waya without an instructional manual.

Even with International Design(Swiss Design) it was based on some new human knowledge of how our brains work and how our eyes work and transforming that new knowledge which had some new data and patterns basis into  a new design process. No-one realizes that all that data and its patterns are somewhat engineering based, not design based.

We keep hearing start-ups and other firms make the same mobile developer mistake of insisting with the lack of senior developers around that its the one-app portfolio of visually stunning ap that indicates the mobile developer needed when in fact according to both Apple and Google within their own hiring funnels its in fact the strong engineering software engineer that happens to do mobile applications that is in fact the choice that should be made.

Or to put another way, the short-term gain in getting that visual stunning one-mobile app-portfolio mobile developer is soon displaced by a medium-to-long-range loss in that the strong software engineering skills are not there to plot a long-term course of successful additions to that mobile application and surrounding services it uses.

Engineering in its practices of data collection and data analysis to determine patterns drives design not the other way around.

Monday, November 9, 2015

Android Gradle Build system

This is the new Android Gradle Build System I am transitioning to:

GWSJinn

It has the new Google Mock best practices of using flavors using dagger, rxjava, etc.

Saturday, November 7, 2015

Angel.co startups, READ

If you are an angel.co listed start-up before you hit that interested button my angel.co profile could you PLEASE FUCKING READ IT?! I AM NOT AN IOS DEVELOPER. All my github profile stuff is on android..get a fucking clue. And my angel.co profile states funded as I am not either your VC or banker.

Wednesday, November 4, 2015

Start-Up CTOs are Stupid Idiot Fucks

So you might wonder why I code audited some back-ported UI libraries and cleaned them up. And I have run into CTO idiots who do not understand this point about RxJava or even Reactive.js on android.

On android we always have to deal with the UI elements that we back ported to get the consistent look and feel that users expect.
Guess what you need to do if you use reactive? For RxJava all those UI libs I have now soft forked now have to reference the RxJava View UI elements for me to use rxJava with them.

But, its easier as I already cleaned up the library code so its just replacing certain imports with RxJava RxBinding imports and some minor changes.

And its a nice filter to weed out all the clue-less co-founders and CTOs I do not want to work for.

BTW, if you are adapting Google's DataBinding..guess what? Yup, that work Jake Wharton did with RxBinding..you will have to do something similar to add the Observable to the views and widgets. At least if you want two-way communication between the View Model and the view.

And Facebook's reactive is worse in that it limits you not back porting UI features in the first place and lossing all data when the device orientation changes oh that is game winner right there!

Monday, November 2, 2015

RxJava Contributions

In the next few days will be making several more RxJava contributions namely some stuff that RxAndroid is missing but should be in anew library, etc.  If you are a Chicago start-up seeking android dev with RxJava savvy than you should email me.