Wednesday, December 23, 2015

Installing Damn Small Linux as a Server Environment

This will probably be one of many Damn Small Linux things I post because I enjoy working with DSL because of its small size and small footprint. Some computers just can't handle much else. I know, I know, why don't I get better hardware? Because I like making old stuff do new stuff. It's a hobby of mine. 

This tutorial assumes you're in need of the LAMP Stack (Linux, Apache, MySQL, and PHP). I'm going to be doing this in a Virtual Machine (512MB of RAM), but it should work on any physical hardware you have.

Sunday, December 13, 2015

CD Drive Salvage Part 1 - Tear Down and Inventory

This whole expedition was inspired by Tinkernut's tutorial on turning CD Drives into a CNC Machine. I wanted to try my hand at it and maybe take a different approach. As I am very new in the world of electronics, this is a huge undertaking. I honestly have no idea what I'm doing but it's exciting to try.

I'm not just going to make a CNC Machine, however, but I'm also going to make stuff out of the rest of the motors (and maybe lasers). I have a few ideas about what to do here, but I don't exactly know if I can do those things yet. But we'll get there in another part. For this post we're only going to be focusing on disassembly and salvage from these drives.

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.