Backing up OnePlus 3 with ADB

I’ve been meaning to clear out my phone and start fresh, but it’s important that I keep my data. As a result I needed to look into making a backup of my phone.

Previously, I would just use Titanium Backup. But I never bothered to root my OnePlus phone as the Android OS has improved a lot since Gingerbread (2.3) from 2011.

I originally thought this would be an easy task, but was quickly surprised by how little information there was. Here’s the steps I followed to run a backup.

  1. First off, I downloaded the latest version of Android Studio. Yes, this was probably a bit overkill, but hey, it works.
  2. Install Android Studio and open it up once the install is finished.
  3. Click “Configure” in the bottom right and open “SDK Manager”.
  4. Click the “SDK Tools” tab and make sure “Android SDK Platform-Tools” and “Google USB Driver” are selected. If not, select them and install them.
  5. (Windows) Press Windows Key + R and type “cmd” in the box (without quotes). Press enter to open a command prompt.
  6. Type in this command to browse to the default install location for your platform tools: cd %appdata%\..\local\android\sdk\platform-tools
  7. Now, on your OnePlus phone, go to Settings -> Developer Options
    1. If “Developer Options” is not available, go to “About Phone” and find the “Build Number”. Click on it 7 times. You should see a toast/notification saying developer mode is enabled. Now attempt step 7.
  8. Enable USB Debugging and accept the dialog prompt.
  9. Find “Select USB Configuration” and make sure it’s set to PTP (Picture Transfer Protocol).
    1. I had the biggest issue with this step. I was attempting to run adb via MTP and my phone wouldn’t appear when I plugged it in.
  10. Plug in your phone via USB to your computer.
  11. On your computer, go back to your command prompt and type “adb devices”.
  12. Your device should appear as “unauthorized”.
  13. Check your phone and authorize the computer for debugging.
  14. Now you can use adb to backup your phone. Type “adb backup -apk -shared -all -f “C:\temp\backupfile.bak”
  15. When you press enter, adb will prompt you to check your phone and authorize the backup. Once you allow it, adb will begin the backup.

Once adb has backed up the phone, I ended up with a 3gb file. This seems pretty light, so I’ve proceeded to backup my media, photos and sms/call data just in case.

Some programs I’d recommend are:

  • SMS Backup and Restore
    • I use this to backup my text messages and call data to two files. This is great for transferring this data to another device.
  • Airdroid
    • Convenient app to browse my photo/media libraries and Android file system over wifi. I can upload/download data to my PC using the web interface.

Upgrading from Sandybridge to Broadwell-E

An informal review of upgrading to X99 and Broadwell-E 

Last month I treated myself to a new computer build. My Sandybridge 2600k CPU has been by my side since 2012, but I find I’m pushing it to its limits and need more power. I’ve re-purposed the build into a second gaming PC, so it is still humming along at my house. I’m just not its primary user anymore.

Old Specs:

CPU: 2600k Sandybridge overclocked to 4.3ghz
Heatsink: Coolermaster Hyper 212 EVO
RAM: 4x8GB 1866 DDR3 (9-10-9-28-2N)
Motherboard: Asus P8Z68-V Pro/Gen 3
Graphics: Powercolor R9 290 PCS+

New Specs:

CPU: 6850k Broadwell-E Overclocked to 4.2ghz
Heatsink: Noctua NH-D15
RAM: 4x16GB 3200mhz DDR4 (15-15-15-35-2N)
Motherboard: Asus X99 Strix
Graphics: Powercolor R9 290 PCS+ (overclocked to 1125mhz core/1525mhz mem)
Case: Fractal Design Define S (Ordered this after I had the system and reviewed temperatures)

No case? No problem! Time to test my upgrade!

No case? No problem! Time to test my upgrade!

My main reasons for upgrading was twofold:

  1. I regularly hit the 32GB limit of memory that my CPU and motherboard supports when running virtual machines and other tasks on my computer.
  2. I notice a performance hit when playing games when multitasking, for example when I’m watching Twitch streams.

There’s been a lot of talk on forums and Reddit when it comes to upgrading from Sandybridge. For most, overclocking their 2500k or 2600k should be more than enough to let them stick with what they have. However, as I read through posts and looked at how I use my computer, I concluded that these statements and opinions don’t necessarily apply to my own usage scenarios. (Or maybe I just wanted to see what all the fuss was about with X99.)

When the initial reviews for Broadwell-E were released I was disappointed. A lot of high expectations were killed in their tracks, such as high overclocks, but I saw some gains in the new architecture. For one, the memory controller supports faster memory. This is important for me, since I’m buying some fast DDR4 to go with my purchase. Why? DDR4 is relatively inexpensive at the moment, and there are some reviews out there that show higher speed ram helps improve minimum frame rates.

Exhibit A – Convincing yourself it’s time for an upgrade:

Skylake vs. Sandy Bridge: Discrete GPU Showdown

This review shows how even though Sandybridge fairs well with average frame rates, it tends to have more difficulty maintaining consistent frame output. This is turn results in stuttering or slight hangs in more demanding scenes.

Exhibit B – Upgrades are too expensive, upgrading memory is the answer:

Is it finally time to upgrade your Core i5 2500K?

Intel Core i3 6100 Skylake Review – The Best Budget Gaming CPU?

Both of these reviews show that the old age arguments of “1600Mhz DDR3 is more than enough” or “fast memory is overrated” might not be looking at the whole picture. It’s not necessarily max frame rates, but I’d rather keep frame time consistent or minimum frame rates high as I feel this translates into a better gaming experience. Unfortunately, this opinion has yet to gain popularity in favour of “OMG! Max framerate only went up by 2%!”.

How does the new system feel?

I’ve had a chance to play Battlefield 4, CS:GO, and World of Tanks with the new setup. All I can say is that each game feels “buttery smooth” in comparison. It honestly feels like a much better experience and I kind of wish I hadn’t waited so long to upgrade. Oh, and Twitch/VM’s and gaming is a thing now, and I’m able to multitask without any noticeable performance hit.

If I didn’t have a need for a second gaming PC I would have stayed with my Sandybridge system a while longer. However, this need is what convinced me it was time to upgrade and I’m honestly glad I did.

Broadwell-E overclocked on air!? How!?

This came up on the forums. The initial reviews show really poor overclocks for the 6800k in particular, which is one of the reasons I opted for the 6850k. I figured I’d just have a better chance at keeping the temperatures down since the review samples of the 6850k handled higher overclocks on lower voltage.

I was shooting for a 4.3ghz overclock but I’m still not fully stable at 1.28v. My 64GB of DDR4 is probably a factor here, but I backed off to 4.2ghz for now until I can take another look. I’ve been fully stable at 4.2 for a couple of weeks now.

Overclocking the upgrade!

Testing 4.3ghz

With my current overclock I top out at around 77-78C when stress testing with avx instructions, but the CPU stays between 60 – 70C for other heavy loads (with an ambient temperature of around 25C). It’s a bit warm as I’m still using air cooling, but I’ve yet to run into any overheating issues with my setup.

Fully stable at 4.2 but here's an attempt at 4.3.

Fully stable at 4.2 but here’s an attempt at 4.3.

Benchmarking the upgrade!

Cinebench R15 at 4.3ghz


I’m very happy with my upgrade and look forward to have a new system that will serve me well in the future. It’s been one of the easier builds I’ve worked on so it was fun to get this system up and running to see what it had to offer.

Maybe you’re reading this and trying to decide on what to do. If so, I hope you’ve found this review to be helpful and offers some insights you might not have found elsewhere. I don’t think jumping to X99 is for everyone. Keeping your existing build is more than okay too! Everyone’s situation is different.

If you insist on a new build my advice would be to try to wait and see what AMD’s Zen line has to offer this fall. Competition should help benefit you as a consumer and might help push down Intel’s prices.

Alternatively,  you might just want a small upgrade while you wait for something new to release. If so, consider grabbing an SSD (if you don’t already have one) or take a look at your graphics card or memory. You can always carry some parts to your new system or sell them after you upgrade.


Clear IntelliSense cache/fixing invalid column name in SSMS

Clear SSMS IntelliSense Cache

Here’s the issue. You just modified a table and added or changed a column, but now you have that squiggly line when you’re focused on writing queries.


The next time you run into this issue, instead of closing off all of your queries and restarting SSMS, there’s a quick keyboard shortcut that is here to save you:

Ctrl + Shift + R


There we are! Fixed! We’re back in business. This has been something that’s bugged me in the past when working on tables/views/stored procedures, but ever since I found out about this trick it’s made designing databases much easier.


DIY – Reattach Earpiece Material For Plantronics RIG Headset


The following shows you a low-cost fix to reattach the earpiece material to the base your Plantronics RIG Headset if has detached from the base of the unit through normal use.

Note/Disclaimer: This fix will void your headset warranty. Don’t blame me if my steps don’t fix your issue, make things worse, prevent you from getting warranty support afterward, or need to replace your headset. Follow safety instructions and use common sense.

Despite taking care of my headset for almost a year, recently the fabric that hold the foam in place around one side of my headset gave way, preventing me from comfortably wearing the headset.

original issue Continue reading

VMWare: Where 30% off Upgrades Are More Like 11.8%

Note: For the record I like VMWare Workstation. I’m just not a fan of shady marketing tactics.

After speaking with a number of friends and co-workers this past week we’ve pretty much all agreed that Black Friday/Cyber Monday was a bust. This time of year used to be good for finding deals but retailers keep trying to trick us into believing a deal is better than it appears. Here’s a great example that crawled into my inbox this morning from none other than VMWare. Continue reading

Setting up BadStore Vulnerable WebApp In 2014 Using VMWare


While taking part in the Software Security course offered through Coursera, one of the projects requires you to setup a virtual instance of BadStore.

BadStore is a deliberately vulnerable web application, which offers a hands-on approach to finding and exploiting web based vulnerabilities. It’s an older piece of software, but the material is still relevant today.

This beauty of a site is ripe with vulnerabilities to practice with.

The BadStore site is ripe with vulnerabilities to practice your penetration testing skills with.

BadStore is available at I also have a copy below as the site was not responding when I was originally setting up the project.

It required a couple of attempts for me to get it working under VMWare as this is based on an older Linux kernel, and seeing the questions on the discussion forums I figured I’d outline the steps to getting it setup for anyone who is running into issues.

Continue reading

Getting things up and running again

I spent some time this weekend re-organizing my dev environment and updating software to the latest versions. I’m hoping to take some time this week to working on some of my projects after work.

The trouble is, I have tons of things I want to do but not enough time to tackle them all. I might see what state the Android apps are currently in and go from there.

It’s Summer Already!

Time flies when you’re distracted.

This past year has flown by. A lot has gone on and much has changed. I know I was hoping to pay some more attention to the site last October but never really did, but I’m hoping to make a more serious effort this time around.

I’m not sure what this site will turn into or become, but I will try to use it as a launch pad while I try to get something up and running again.

Anyway, stay tuned and hopefully you’ll see some awesomeness 🙂

A Quick Update

For those checking up on things hello, and well, this post for for you!

Things have been busy as usual it seems and I haven’t been updating the site as much as previously promised. It’s been a busy and sad year overall with personal matters to tend to during the summer months so development has slowed down signifigantly as a result.

That being said, I’ve started to turn around and thinking about new projects or features to work on which reminded me of posting an update on the web site so here we go.

I’ve started brainstorming for a new game using Unity and am beginning to flesh out more details on what I’d like to create. I did update both School Scheduler and Price Compare at the end of the summer and implemented some new features and functionality, including my first widget on the Android platform. All-in-all the deployments of these updates went over very smoothly and I’m pretty proud of myself for that.

Along with my side-job developing for Cryptopone Software I work a full time job, and needless to say a lot of my free time has been spent winding down playing various games and learning about new and interesting topics. Computer/Network/Information Security is still a subject very close to my heart and is something I spend a lot of time reading up on and thinking about.

But when it does come to kicking back and having some fun, outside of work, I am a gamer at heart and as of late my time has been filled by playing World of Tanks and GTA V.

Gaming has changed a lot for me over the years, and my previous work history has helped me appreciate how much effort goes into greating a virtual world to immerse gamers into. I’m not sure if it’s competition, sheer volume of games… or just growing up that has made enjoying games much more difficult compared to years past.

Before, I could rent a game for a weekend and immerse myself in the world, following the rules laid out by the developers to play the game they designed. As years have gone by, games have been played, and as a part of growing up, I’ve been less interested in the actual game rules laid out and have been more interested in the actions that can be performed as a result of the rules that have been laid out. More specifically, I enjoy exploiting the actions that are available to me as a result of use cases that remain undefined or were never thought of in the original development. I’m of course, referring to the metagame.

My time playing GTA V Online has made me realize this more and more, as I can’t remember the last time I’ve had this much fun playing a videogame. The amount of laughter that has come out of me the past couple of weeks has been insane. I think years ago playing Left 4 Dead 2 and Team Fortress 2 with friends has been the last time I’ve had such a great time playing a game.

Perhaps actively seeking the metagame could be considered a skill, and is something I should document for both my own and others benefit. As a result, I’m considering documenting some of my metagame thoughts and comments with regards to GTA 5. I’ll gather some info on some areas that I’ve been actively embracing and post it for the world to see and discuss.