Introducing Biografy Dec 24, 2017

What is Biografy?

Biografy is a lifelogging app that automatically builds a timeline of each day. The Events view logs events from various apps including music, podcasts, videos, calls and chats. Each event includes rich detail such as the time, activity (stationary, walking, biking, etc.), and location/place. The Motion view lists car/transit trips, bike rides, runs, and walks. With the Map view, you can see where you were when each event occurred and gain insights like where you spend your time based on the clusters of pins. Finally, the Notes view is perfect for adding context to remember each day. Want to travel back in time? Simply tap the toolbar to choose the date.

...
React Native: Is It Worth It? Nov 27, 2017

Intro

When new technologies start gaining momentum in the Android community, the pragmatic (or lazy) among us eventually have to ask ourselves, “Is it worth it?” After the initial arrival and departure of the hype train, some of these become trusted tools we use in almost every app. Think RxJava and Dagger.

React Native may be on its way to earning a place in the same club. Once we get past the fact that JavaScript on Android and HTML in JavaScript seem pretty damn weird at first, there’s a lot to like. Seeing your changes on a device almost instantly is a love-at-first-sight kind of thing. And rethinking your app architecture as a series of actions, state changes, and UI render phases can eliminate a surprising number of silly bugs.

...
Things I've Learned Since Moving to Berlin Sep 23, 2017 East Side Gallery Sunset

I’ve lived in Berlin for a bit more than six months now. Here’s a list of some of the things I’ve learned:

  • It is possible to survive a summer without air conditioning. It’s also possible to go all summer without a mosquito bite.
  • I don’t miss having a car. Public transit is great here so I typically only need one to haul things like furniture. And I can rent one on demand pretty easily with apps like DriveNow.
  • I really enjoy bicycling to work, but don’t ride for fun as much.
  • You can take beer almost anywhere. The only downside is you’re supposed to take the bottles back. It’s an endless cycle. They’re worth €0.08 each and it’s not cool to throw them away in your building’s bins.
  • You need less stuff than you think. No, even less than that. There were a lot of things we moved but didn’t use or have room for. This same philosophy applies to daily life in Berlin. Not having a car means carrying what you need with you. “Do I really need this jacket?” is a good question to ask yourself if it’s going to warm up later in the day. At first, I carried a backpack with my laptop, etc. to/from work on the bike, but leaving things in a locker at work proved to be a liberating alternative.
  • You can order cocktail supplies from Amazon. You can also get them at the grocery store or even at a späti if you are willing to pay a bit more for the convenience.
  • The paperwork thing is for real. Without fail, I am always in the middle of some bureaucratic battle involving paperwork, waiting, mailing more paperwork, and waiting some more.
  • I thought the cluster of buildings Google Maps showed as the Bürgeramt were abandoned based on the plant life. I turns out that they just don’t mow/trim things very often. Efficiency?
  • Every so often, someone on public transit will surprise you with something crazy after you thought you’ve seen it all.
  • Things they don’t have here: garbage disposals (you dispose or organic waste in a dedicated bin), right turn on red (more about this below), stop signs at every intersection (the rightmost person goes first if there are multiple vehicles), overly attentive waiters.
  • Obey the traffic signals. There’s a reason most Germans wait patiently for traffic signals even when there is no opposing traffic coming. The Polizei will eventually get you if you don’t. I stopped before going right on red while biking and some police on bikes came out of nowhere to cut me off and stop me. I’m not 100% sure from my still fledgling German skills, but I think I have a ticket coming in the mail for that soon.
  • You don’t need German very often until you need it. Older people often speak less English and some government officials seem to stick to it even when they know you’re struggling. I’ve gradually gotten less embarrassed about trying, but I still mess up daily. It’s humbling but rewarding as I slowly progress.
  • Before moving here I knew Berlin had techno on an endless loop in clubs every weekend. But I didn’t know that some clubs occasionally have daytime parties, which means I can spend a couple hours there during my son’s nap. #dadlife
  • People get really excited about seasonal produce here. And for good reason, it’s delicious! You will know what’s in season by suddenly seeing it EVERYWHERE. Asparagus, strawberries, and chanterelle mushrooms have been some of my favorites so far.
  • In the US, we call the sport “soccer” and table game “foosball”. In Germany, they call the sport “fußball” (fussball) and the table game “kicker”.
  • Skinny(ier) jeans are functional as well as fashionable. For example, looking cool while not getting your jeans caught in your bike chain.
  • People either stare at you or don’t notice you at all. Either way, you can be yourself without caring what anyone else thinks. Someone is always weirder than you.
  • I love this city even more than I thought I would. I remind myself every day how fortunate I am to live here.
Aufwiedersehen, Houston! Hallo, Berlin! Feb 02, 2017

Anyone who has talked to me for more than 10 minutes has probably heard me mention my love for Berlin. I first visited the city about six years ago and almost immediately resolved to make it my home one day. I’m thrilled to finally announce that it’s happening! I’ll be joining Zalando in Berlin next month to do Android and hopefully step up my fashion game a bit. Radical Agility sounds like engineering nirvana to me! After working remotely for the past year and a half, I’m looking forward to being in an office again, especially one where I’ll get to work with smart people from all over the world.

...
Multiple Developers, One App: How to Not Break Everything Oct 22, 2016

This was my third time attending the Big Android BBQ in Hurst, TX and my third time to present at it. Perhaps my favorite thing about the conference (aside from the obvious BBQ) is reconnecting with old friends and making new ones. This year I’ve had the pleasure of meeting people from all over the world and learning that we know a lot of the same people. Small world, indeed.

...
Things That Suck About Android Development Mar 18, 2016

I presented “Things That Suck About Android Development” at this year’s mdevcon conference in Amsterdam. It’s a great conference in an amazing city. I highly recommend it to anyone developing mobile apps.

The title is admittedly a bit sensational, but my goal was to highlight many of the painful parts about developing for Android and how to avoid/fix them.

The slides are available here on Speaker Deck.

Top 10 Albums of 2015 Jan 02, 2016

I’m a bit late with my annual Top 10 list, but here it is roughly ranked by Google Music play count:

  1. Earl Sweatshirt - I Don’t Like Shit, I Don’t Go Outside I was finally lucky enough to see him live and he didn’t disappoint. Another great release. This soundtracked numerous skateboard and chill sessions.
  2. Vince Staples - Summertime ‘06 His “Hell Can Wait” EP made my list last year and I knew this one would be on this year’s list right away. The subject matter is heavy, but you may be nodding your head so much at first you won’t notice. I recommend multiple listens so you can fully appreciate both its depth and undeniable crunkness.
  3. Drumcode - A-Sides Volume III Ever since getting bitten by the techno bug, I’ve compiled a solid list of podcasts I listen to regularly like Droid Podcast and Adam Beyer’s Drumcode Radio (DCR). This collection of Drumcode singles includes many that were feature on DCR.
  4. Fuzz - II This Ty Segall side project returns with another face melting set. For when you want to rock. Hard.
  5. Ryan Adams - 1989 I had successfully avoided knowingly hearing any of Taylor Swift’s album until I heard this song-for-song cover album from the prolific Mr. Adams. Now I realize they’ve been plaguing my every shopping experience for months. But there’s no way around it, these are good songs. I contend they’re even better with Ryan Adams performing them.
  6. Panda Bear - Panda Bear Meets the Grim Reaper For the uninitiated, Panda Bear is a member of Animal Collective, a pretty kick ass indie psych band. This is his fifth solo album. Reverb, chants, and a masterful combination of Eastern & electronic instruments pay tribute to Pet Sounds and beyond.
  7. Buxton - Half a Native Houston’s Buxton delivers an album of honest and heartfelt songs. We’ve all been there, but when Sergio Trevino sings about shyly introducing himself to a woman in “Pool Hall”, you feel like you are there.
  8. Deerhunter - Fading Frontier Bradford Cox and crew continue their legacy of jangly rock songs that are hard to categorize, but always sound like Deerhunter.
  9. Car Seat Headrest - Teens of Style I owe this discovery to NPR All Songs Considered’s coverage of the CMJ Music Festival. The young Will Toledo’s bedroom recordings confirm he has another great album coming when he records in a proper studio in 2016.
  10. Wilco - Star Wars This Wilco album came out of nowhere…no press coverage, no teased release date…just a free download on the interwebz. Sure, it’s another Wilco album, but one that I enjoyed a bit more than their last two.

Here’s a playlist with one of my favorite songs from each album. Enjoy!

...
Using a Third Party FAB with CoordinatorLayout Jun 28, 2015

Before the Design Support Library was announced at Google I/O last month, I had numerous third party libraries in my projects for various elements of Material Design. I’ve enjoyed replacing the nav drawer, tabs, and parallax scrolling libraries with their support library counterparts. However, on one of my projects, we needed an expanding floating action button (FAB) similar to the one in Inbox, which the support library does not currently provide.

...
The Time I Interviewed at Google Jun 09, 2015

I’ve had a pretty big secret for the past month or so; something that only my friends and family know about. We’ve all been there, sneaking around interviewing for a new job like we’re having an affair. Only this time, it was different. As an Android developer, this was like trying out for the majors. No…seriously, y’all…Google invited me to interview.

My adventure started early last month as I was triaging my inbox. There were the usual spammy recruiter emails seeking “rock stars” and “ninjas” with skills in technologies I abandoned years ago. I skimmed what appeared to be another of these and stopped when I read “mobile is a huge priority for us here at Google”. Did I read that correctly? Apparently I did. Where did this come from? The domain was google.com. For real tho.

...
Loading a List of Objects from Firebase Apr 06, 2015

I’ve been working with Firebase lately in preparation for adding data synchronization to my Music Library app. Their docs did a great job of getting me set up. Using the sample app as a guide, I even got Google+ OAuth working without much trouble. From there, it didn’t take long to load data into a Firebase instance partitioned by Google account. All that was left was to query the data out of Firebase and I’d be able to see the sync magic in action.

...