My Photo Backup Solution

A few friends have asked about how we handle our family’s photo safety. Since I have two kids, a wife and a DSLR, we naturally have TONS of photos. If anything were to happen to those photos, you know who would take the full blame of the loss! This is the system we’ve come up with.

The Inputs

  • My iPhone
  • My Wife’s iPhone
  • The family DSLR

(Since we are both on iPhones, we make use of the Apple ecosystem. If you have an Android, Blackberry, PalmOS, WindowsCE device, YMMV.)

Software

We each run Photos.app on our MacBooks. We do this so our iCloud Photo Library will automatically sync and download to the MacBook. DSLR photos are downloaded to Photos.app on my wife’s machine. (I wish we could put both photo libraries on one machine, but I haven’t found a way to get iCloud Photos to sync to two different accounts and iPhoto libraries)

Backups

iCloud: Both my wife’s phone and my phone are using iCloud Photo Library. We aren’t using the same account though. They are tied to our iTunes accounts. The bad thing about that is, we don’t have access to each other’s photos. We also pay the extra space fee on both of our devices (which stinks because the $2.99 plan on hers would easily cover the $0.99 one on mine). The good thing is that our photos are almost instantly backed up to all our devices. (http://www.apple.com/icloud/photos/)

Google Photos: I’ve also installed Google Photos on our phones and laptops. We’ve chosen the free unlimited size plan that downscales your photos a bit. I figured this was acceptable as a redundancy solution. Better to have a lower quality photo than no photo at all. (https://photos.google.com/)

Shoebox: I just recently started using them as yet another redundancy option. It works the same as Google Photos. I just have the app on our phones automatically upload as new shots come in. (https://shoeboxapp.com/)

Backblaze: In addition to an online photo service, we also backup our MacBooks via Backblaze. Backblaze creates online disk images of your machines and allows you to restore them or even have a thumb drive mailed to you if the machine dies. This backs up our local iPhoto libraries. (https://backblaze.com/)

Hope this helps out! Would love to hear your comments or concerns about our setup. Also, if you know how to get two iCloud accounts syncing to one iPhoto library, let me know!

My Favorite VS Code Extensions (June 2016)

I’ve written a bit about my usage of Webstorm in the past, but I haven’t lately. There’s good reasoning behind it, I’ve switched to Visual Studio Code! I’ve really been enjoying using it, especially since I started working in Typescript. It seems like more and more people are enjoying it too! With that expanded audience, comes community written extensions for VS Code. These are my current favorite ones:

Do you have an extension that you love that you think I will too? Reach out to me on twitter and let me know! @AdamWeeks

 

Creating a Barcode Scanner with Ionic 2 in 15 Minutes

One of my most popular posts is Ionic Framework Introduction – Barcode Scanner. Apparently, people like making barcode scanners! Who knew!?!

Today, we’re going to do a little update to that post and get our Ionic 2 on! Since the previous app was so basic, I’m not going to actually upgrade the code, we’ll just start from scratch. Since we only have “15 Minutes” (YMMV) let’s get going! Continue reading

Angular Blackjack: Converting to Webpack

It has been a while since I’ve touched my Angular Blackjack project. When I first started working on it, I created a build process that used gulp-concat to simply merge all our application files into one. Let’s bring our application into 2015, ES2015 that is, with a modular loading system.

For this exercise I decided to use Webpack. I could’ve easily used jspm or browserify, but Kent C. Dodds‘s series on Egghead.io was easy to follow and very informative: https://egghead.io/series/angular-and-webpack-for-modular-applications

For a quick TL;DR, you can see the pull request of all the changes made: https://github.com/adamweeks/angular-blackjack/pull/2/files?w=1

Continue reading

Angular Directive Isolate Scope Binding with Parameters

(First off, sorry for the long winded post title. It is basically what I google every time I’m trying to remember the functionality.)

Let’s say you have a directive that allows a user to enter data. When that user is done entering data, the directive processes the data, then sends the result back up to the parent. If we were to do this with two-way data binding, we’d have to set up watchers to know when the values were changed. There is a way to do it without the watchers though. We can use the parent scope binding type: “&”.

Continue reading

Emoji Eater – An AngularJS Game for Ionic Framework

Emoji Eater

A few months ago I starting playing around with the idea of making a mobile game using Angular and Ionic. I didn’t want to use any game frameworks, just a basic game to play.

The game I ended up creating was Emoji Eater. It has gameplay that is very similar to the old Windows Mobile game called Jawbreaker. The only real difference is the “levels” where you have a certain amount of turns before the combination amount goes up. (I found it quite difficult to pass level 6!)

Now, I’m certainly no designer and definitely not a game designer, so please pardon the crudeness of the game. It is definitely not a “released” product, but it is playable.

If you’re interested in checking out the source behind it, I’ve posted it up on Github.

Enjoy!