The State of Android File Transfers

Recently my wife's Google Pixel stopped working. After getting a replacement Pixel, we found ourselves in a predicament where we could not transfer data from her old Pixel phone since it was stuck in a boot screen. We had photos backed up on Google Photos and some files in Google Drive but not everything was backed up to the cloud. The only option left was to transfer from a recent computer backup...
Nabil Jamaleddine | 2019-10-03 #DCIM #android #android-file-transfer #pixel

Remembering Anthony Bourdain

It's now a bit over a month since Anthony Bourdain died. A month later, I still can't believe that he's no longer around.

Dictionaries shared among unit tests

I was recently writing some unit tests for some data serializer methods for a third party market data API in Django and one of my tests used a dictionary to mock a JSON response from an API. I wanted to be DRY so I reused the same dictionary and using a few class properties, I modified the values to represent different scenarios where the data might be invalid (this API is not very stable). But I mistakenly reused that dictionary across a few tests without deepcopy causing test failures
Nabil Jamaleddine | 2016-12-20 #django #tests #dictionaries #python

Missing files or Empty DCIM folder on Android

I was recently backing up my android phone to transfer files over to a new phone when I noticed that the DCIM folder was only showing the latest 100 or so photos when connected to my laptop, when I knew I must have had at least 1000 on the device. Oddly enough they also weren't showing up while using a file manager either...
Nabil Jamaleddine | 2016-12-11 #android #fail #DCIM #bugs

Samsung Android Device Manager Password Fail

My mother recently lost her phone and I immediately helped her remotely lock it with Android Device Manager using a 17 character password (yeah, that's an odd length for a password but it ended up that way). To our surprise the phone showed up at home as phones often do but unfortunately the phone could no longer be unlocked. Android Device Manager allowed us to set a 17 character password, but Samsung limited the input of the lock screen password to 16 characters, we had one character too many.
Nabil Jamaleddine | 2016-11-30 #android #samsung #android device manager #fail

Checking if a object exists on save in Django

Having used integer primary keys for many projects, I've only recently switched over to using UUIDs on a few projects about a little less than a year ago. In the switch, an old solution I've often used for checking if an object exists, or is being created, has become obsolete.
Nabil Jamaleddine | 2016-06-01 #development #django #models

Don't skip out on documentation

More often than not I've worked on projects that, to my dismay, had limited to no documentation. Some projects didn't even include README files (fun experience when you're trying to get a custom project running). You can't always control the code that you inherit, whether it's legacy code in your own organization or an open source project. You can however make everyone else's lives easier by including some form of documentation.
Nabil Jamaleddine | 2015-12-26 #documentation #comments #development

Using Multiple Buildpacks on Heroku

Using custom libraries is possible through the declaration of custom buildpacks. David Dollar created the awesome heroku-buildpack-multi repository for the purpose of including multiple buildpacks in the build process.
Nabil Jamaleddine | 2015-12-23 #heroku #buildpacks #heroku-buildpack-multi #devops

Setting up a Minecraft Server

If you're a minecraft enthusiast like myself you've probably spent countless hours building structures, spelunking, or just trying to survive a zombie raid through the night. If you're an avid fan and haven't already set up your own server to play with a couple of friends get on it.
Nabil Jamaleddine | 2015-12-19 #minecraft #digitalocean #ubuntu