Riley MacDonald
developer ...
About
I'm a Senior Software Engineer at Salesforce with 9+ years experience writing embedded software libraries and native mobile applications for Android and iOS. Aside from programming, I'm a student pilot pursuing my PPL, a sanctioned CCS and BCA billiards player, an IFPA pinball player, and the keyboardist of the original hard rock band Elektric Mistress.


Projects
Atlantic Technology Summit - Founding Team Member
The Atlantic Technology Summit is Atlantic Canada’s first general technology conference. The conference is designed for the purpose of fostering our regions technology community by bringing globally recognized thought leaders and technology companies together while highlighting key technology innovators within our region.

Intoxication Calculator - Android Application:
The Intoxication Calculator app estimates blood alcohol concentration, estimated time until sober, impairments and more for multiple users. These calculations are based on the provided data: weight, gender, drinks consumed and time spent drinking. Check it out in the Google Play Store. Also find the ad free Premium release Premium Release

Riley Radio:
A deep selection of rock, blues, funk and more. Broadcasting and hosted from a custom built Linux stack tucked neatly under my living room coffee table.


Books
I'm Currently Reading:
Black Hat Python - Python Programming for Hackers and Pentesters - Justin Seitz
Ideally this book will strengthen my python programming skills while enhancing my server and operating system security / knowledge.

Objective C for Java Developers - James Bucanek
Looking to strengthen my C skills and be more effective working with legacy Objective C app code.

I've recently read:
Learn Vimscript the Hard Way - Steve Losh
I use VIM everyday as my primary editor, usually via the keybinding plugin for IntelliJ. Hoping to learn some tricks about further customizing VIM.

Kali Linux Revealed - Raphael Hertzog,‎ Jim O'Gorman
While I already feel comfortable in Unix type environments I hope to learn more about the Linux kernel, customizing programs and security as a whole.

Grokking Algorithms: An illustrated guide for programmers and other curious people - Aditya Bhargava
A great introduction to algorithms, logarithms and Big O notation using visuals and examples written in python.

Writing Effective Java 2nd and 3rd Edition - Joshua Bloch
While the 2nd edition was published in 2008 near the Java 6 release, the 3rd edition has been updated to include Java 8.

Clean Code: A Handbook of Agile Software Craftsmanship - Robert C. Martin
An excellent guide to enhance your refactoring, writing, testing and maintenance skills for software development.

Pro Git - Scott Chacon
While I already felt very comfortable using git primarily via CLI I was able to pickup some additional skills which I've incorporated into my existing projects. See my post on lesser known git features.

Head First Design Patterns - A Brain Friendly Guide (Updated for Java 8) - Eric Freeman, Elisabeth Robson
A head first dive into design patterns for aimed towards Java Software Developers.