Sunday, November 22, 2015

Facebook and its Spaghetti Code

When I first got my Nexus 4 phone almost 3 years ago, I was very impressed by its speed. This was a massive upgrade from my HTC Glacier and I was really excited to get the full unhindered power of vanilla Android. Today, I'm still very impressed by the phone. Sure, it's showing its age (mostly the original battery, the accidentally shattered back, and the very displeasing Zagg cover), but the phone still runs decently fast. I'm surprised that Google supported it for this long. I'm pretty sure the last update we're getting is to Android 5.1.1.

I have noticed, however, that even the quad core processor can't seem to update Facebook without slowing the whole phone down very noticeably. It basically becomes unusable. This is really the only app I have this issue with, so I've concluded that it's probably the apps fault. I chalked it up to it being a very complex app with almost all of the features of the website (there are tons).

Sunday, November 15, 2015

How to make your Android Phone Really Wake You Up!

This project requires a some hardware. Despite this being a software blog, I figured we could mix the two together eventually. Let this be the first cross over into metal! Huzzah!

Basically, because I work better at night than I do during the day, I had trouble waking up for my 8:00AM class. I also had this LED light strip hanging over my bed. Not only did this thing have 16 fantastic colors on it, but it also had another set of LEDs that were bright white. Like, really really bright white. I figured I could get these to wake me up! So I set out on a mission to get my phone alarm to trigger something to make these bright beasts turn on to get me out of bed.

The easiest bridge I could think of (seeing as my phone, the Nexus 4, doesn't have an IR Diode on it) was an Arduino. I have experience with DFRobot's Blunonano and I love it. It's about $35 on their website (which is where I got mine) which isn't bad considering the regular Arduino Nano is $30 from this seller on Amazon. Of course, you can use any Arduino you want with some sort of Bluetooth Shield, but I think it's easiest to use the Blunonano. That's what this tutorial is written for.

Wednesday, October 28, 2015

An Actual Guide to Accessing Google Datastore in PHP!

You've scoured the Internet, you've asked your friends, and you've complained about it for ages. Now, prepared to be stunned!

First off, let's give a quick run down of what Google Datastore (henceforth abbreviated as GDS) actually is. Google D... I mean GDS... is a SQL-ish database. It works very similarly, but there are a few key differences.

First, let's draw some parallels between the two. First off, GDS doesn't have databases. Instead, it has "namespaces", the default of which has no name. This can be useful to partition different applications within the same project. Next, GDS will not have tables, instead it will have "kinds" of  "objects". Objects are analogous to rows. Because each instance of an object can have or not have certain properties, it's more a object than a row. This guide assumes you understand all of these concepts. If you don't, I suggest glancing at the overview found at the Google Developer Site.

Now for the interesting stuff. How to actually use this. I use a great project that I found called "PHP-GDS" which is an adapter library to work with the Google API Client for PHP. The newest version at the time of this writing, 2.0 Beta, is leaps and bounds over the previous 1.x generation of the library. It uses Protocol Buffers to work with the datastore faster and more efficiently than before. The webpage says it isn't ready for production use, but quite frankly I've had fewer problems with version 2 with ProtoBuf than I did with the standard API use in 1.x versions.

Let's walk through how to configure PHP-GDS step by step.

Monday, October 19, 2015

Hello, World

Welcome to Undocumented Code!

What is Undocumented Code, you ask? Undocumented Code is a project I started in my free time to share what I've learned from messing with poorly documented code. I write a whole bunch of things ranging a wide variety of applications (Get it? Applications? Ha!) that some times requires the use of defunct libraries. I also have a very weird sense of humor. You'll get used to it I hope.

This isn't just for code, however. I'll write some things about software engineering and computer science maybe - who knows! I'll tag things appropriately, I promise, just in case you're not into that new fad that the kids these days are calling fun.

So yeah, that's Undocumented Code in a nutshell. As the blog evolves or becomes a waste of my time, we'll see where it goes. Because right now I have no idea. I just have some loose ideas at the moment.

Stay thirsty my friends.