Personal Website Part 3

The past two weeks have been overwhelmingly busy and productive. The first week (known at my college as “Gap Week”) was a week off from classes where I spent a good deal of my time watching HTML and CSS tutorials on YouTube while also taking the occasional casual bike ride to clear my head. My progress in web development is something to be proud of. I am starting to feel like I have an actual control over the layout of a web page instead of relying heavily on a template and simply replacing text strings and image directories. This report marks a major step in my web development process. I have been working nearly all week on perfecting my “Home” page on and just moments before starting this blog post I discovered that mere HTML and CSS are not enough to achieve my dream for the page. I have found the need for JavaScript.

Bootstrap Clean Blog template header example

The home page of is not that complicated. It’s just a background of my face, a gif image of my mock signature, a button that says “About Me” and links to my bio page, and a footer containing all my social media links. While getting this page to look great on the desktop was a snap, making it look even halfway decent on mobile was a huge issue for me. Even though I am using Bootstrap whose motto is “Mobile first!” something about this page just breaks every common web design rule when viewed on a mobile display. I’ve tried everything short of attempting to re-code the entire HTML as well as CSS dependencies from scratch instead of modifying a page from Bootstraps “Clean Blog” template available online (which I may very well do once I feel a bit more comfortable with CSS).

Bootstrap Clean Blog template post example

I’m in the works of scheduling a photo shoot with my college’s multimedia department after seeing an email stating that the department is open all summer for the express purpose of taking free professional shots of students and faculty for use in publications and websites. I have several ideas for integration of high-quality photos of myself in the “About” section of my website. I envision using JavaScript to animate theses images as the user interacts with the site. The next 7 weeks of my summer will be nearly out of the question for any real changes to the site as I will be preoccupied with the Entrepreneurship for the Public Good (EPG) program that I am enrolled in. It is my plan to dedicate the remainder of my summer after EPG to mastering CSS and begin learning JavaScript. I will likely pay for a month of’s subscription as I have heard nothing but good reviews of the service and finding a good set of YouTube videos for learning the “nitty-gritty” of web development is becoming difficult. My goal for this summer is to have a respectable online presence both through social media and my very own website that I built and maintain myself.


Introducing BluLocker

The story behind BluLocker began a few months ago when I left my dorm room full of “friends” to run to the cafe and grab a delicious wrap before we began our planned movie night. I slipped on my shoes grabbed my keys, college ID, and phone and stepped out of the room leaving my computer unlocked. Upon my return, my friends are trying to keep it together as I wake my computer to start the movie and find that my desktop wallpaper has been replaced with an admittedly glorious picture of a shirtless Nicholas Cage sprawled, sensually on the moon’s surface. They also posted unmentionable Nick Cage photos and quotes on my Facebook profile.

While this was a harmless prank, I began to realize the importance of computer security and began to make a habit of locking my computer when leaving. I wanted to automate this process. I began looking for a Bluetooth pairing program that would lock/unlock when a paired Bluetooth device went out and came into range. I found BTProximity, an application that accomplished this exactly. But after days of practicing my Google skills, I could not find a working download and eventually came to the conclusion that the program was discontinued. Upon further research, I found BtProx. I was able to download it but for the life of me, I could not get it to work. I found other similar programs but they had huge license fees. I also found Gatekeeper but it only works with a proprietary Bluetooth key chain accessory. I decided that there was a need for such a program as I couldn’t find anything similar. I was also enrolled in a software design course and deemed that I could create a program that did this using Python.

BluLocker Pitch Video

I also had a final project due for this course in about a month and pitched my idea to the professors to see if it qualified as a final project. They approved it but cautioned that I may be getting into something bigger than I could handle. My professors were half-right. Initially, I wanted to unlock the computer when the phone or Bluetooth device came back into range. Also, I wanted to run the program from the system tray. Unlocking the PC required knowledge way to far above my understanding to achieve and running the program in the background is not a native feature of Tkinter, the GUI (Graphical User Interface) back-end I used to program my utility which I named BluLocker. I also came across an issue with Bluetooth pairing. I couldn’t figure out how to truly pair to a device using PyBluez, the Python module that I downloaded to handle the Bluetooth side of the program. Instead, for my working model, I simply kept scanning for local devices and when the selected device was not in the list of discoverable devices, the computer locked. That’s it.

BluLocker GUI

It’s a very crude first prototype but it was all that I could complete in the month of time I had to work on it and enough to turn in and hopefully receive a good mark on it. I certainly will continue to work on BluLocker and release it open source and free. I think this is a great project for a beginning programmer to work on as it combines a GUI with networking and windows OS understanding. I wish to accomplish my original intentions and make BluLocker the ultimate security tool. At least for locking your computer and protecting from unsuspecting “Cages”.
coming years until they are nearly as ubiquitous as smartphones.


Personal Website Part 2

In my previous Personal Website post. I mentioned the reasons for choosing to use Squarespace to create and host my site. After my free trial expired I hesitated to pay for a full year of Squarespace service. Out of curiosity, I checked to see how much dough I could get away with spending to buy a custom domain and host my site. I was not surprised to find that it is cheaper to host outside of Squarespace, seeing how Squarespace offers excellent customer support (so I’ve heard) and offers the non-technical page creation environment. In the end, I decided against going through with my Squarespace subscription and waved goodbye to the beautiful website I had created.

What caused me to change my mind? As I mentioned in Part 1, my roommate had also joined me in the website creation game and had chosen the CSS, HTMl, and JavaScript route. He showed me Bootstrap and I was instantly intrigued. Bootstrap offers the sleek templates that drew me to Squarespace but also has an infinitely customizable and mutable code. Whereas, I began to feel the limits of Squarespace in the final days of my trial. I could not get the CSS injections to work properly and often found myself wishing I could just peek at the source code.

I have taken the idea of a personal website as a rite of passage into the universe that is Computer Science rather than the personal promotion platform that was my first priority in Part 1. So far I’ve just been replacing bits of code from the “clean blog” template from However, I have a vision for the website that will require some serious CSS and JavaScript. Hoping to have some time/motivation to learn the basics this summer. Also, I plan to get some professional photos later this summer to add to the website. I do not currently have very many quality photos of myself.

As a student of Berea College, I am required to attend seven convocations per semester. Convocations are typically like hour-long TED Talk-ish lectures or musical presentations. I’ve decided to give a commentary of all the convocations I attend in the form of blog posts on my website. I’ll be providing a summary along with a critique of the convocation. Convocations will not resume at my college until the fall semester so don’t expect any posts until August 2015. I’ve also thought of using my website as a marketplace for selling whatever side projects I have a surplus of (e.x. hand turned wood pens, 3d printed nick-nacks, laser cut plaques) as well as a file hosting service for any programming projects I am releasing.

I’ve been having a lot of fun with the personal website so far and hope that at least my mom reads these blog posts if no one else.


Personal Website Part 1

As I attended networking events and job showcases, I discovered the importance of having a personal brand. I knew that my online presence was mediocre at best (actually quite poor, but, at least, I didn’t post cat videos on Facebook or Twitter). I had an account with all the major social networks, Facebook, Twitter, LinkedIn, Instagram, and Pinterest, namely. But I had not done an overwhelmingly good job at staying active on these networks nor posting relevant content. After some research and a recommendation by my mentor, I discovered Klout. A social media platform, in and of itself, that conglomerates and analyses traffic to your other connected social media accounts (Facebook, Twitter, etc.). It assigns you a Klout score from 1 to 100 based on how influential you are online. Its algorithm assesses the number of posts and interactions to that post including likes, re-tweets, comments, etc. Also, like other services it allows you to schedule Facebook and Twitter posts and suggests you a time that there will likely be the most traffic to see your post. I’ve been using Klout for about a week and have actually lost followers on Twitter but I fail to see it as a result of using Klout’s services. My Klout score is currently 52. The average score is 40 from what I’ve heard. My goal is to hit 70 by the end of the year.

About page on Squarespace

   Anyway, as all this personal marketing business circulated in my mind, an old thought recurred itself to me. “Robert, you should build a website.” And this time, I went through with it. I informed my roommate of my decision and he agreed to it as well as proposed that he also would build one for himself. The competition was on. Since my roommate and I share an intermediate level computer science course together we are fond and accustomed to friendly competition when it comes to anything with code. My room-mate decided to turn this into a learning opportunity and teach himself HTML and CSS through instructional YouTube videos and code his site from scratch. I wanted my site up fast, reliable and beautiful. So Squarespace was the obvious choice. Of course, as a computer science major myself, I wanted something that I could get into the “nitty-gritty” with and customize later using CSS code injections and bits of HTML script. Luckily, Squarespace offers these tools and this was the deciding factor for me.

Footer on About page squarespace

I chose a template for the site and after playing around with the built-in options in the Squarespace designer studio, I made a pen and paper layout of what I wanted the final result to mimic. I found that those CSS injections would need to be used frequently to accomplish my ultimate vision of the site and thus have committed myself to learning CSS alongside my roommate. Perhaps I’ll code another site for learning purposes but I think I’ve fallen in love with Squarespace, at least for my personal professional site. The site will be a continuous work in progress for the foreseeable future, especially until I can get some professional photos of myself this summer when I retreat to my home in North Carolina. Still, only a week into this project I can see the advantages of having a personal presence on the web. And turning this into a learning experience certainly cannot hurt either.


Ultimate Tech Backpack

As a college student at a small liberal arts college, I find that my constant companion through the school day is my backpack. I began to notice this early on and asked for a fashionable canvas backpack for Christmas last year. It was a modest ask as I found a bargain on Amazon for $25. I wanted a small pack as I found that I didn’t need to carry around half a dozen textbooks. Just my laptop and occasionally my tablet. As the term went on, I came into possession of a Bluetooth speaker capsule and added it to my everyday carry. The thought came to me to transform my backpack into a technology hub. I imagined ample external charging ports and a built-in rechargeable battery. I let the thought fester in the back of my mind as a zoned out of introductory Economics classes. While walking around campus I thought of solar energy and did a quick search on Amazon for “solar panel” do discover that there were ready-made panels for attaching to backpacks at a relatively low cost. The plan was set into motion.

I cut a hole the size of a small USB hub I had laying around. I disassembled the hub, sandwiched it inside the hole and super glued it so that the hubs face out of the pack. I ordered my battery, a massive 20000mah cell capable of charging my HTC One M8 from 0-100% about 7 times on a full charge. It’s not that I was expecting to drain my phone this much but rather I wanted enough capacity to ensure that every ounce of juice from my 13W solar panel would be captured. After cutting more holes to route cords through on my pack and using a zip-tie to fasten a Velcro strap to the top of the pack to hold the panel, it was ready.

Backpack charging on a sunny day

I spend sunny afternoons outside doing homework and listening to music from my Bluetooth speaker. This setup ensures that my devices will not die on me either in sun or shade thanks to the battery. The battery gets a sip of charge whenever I walk to my next class or make a hurried bike trip to the local Walmart. This will be especially useful in the summer as I begin the Entrepreneurship for the Public Good (EPG) summer institute. My cohort and I will be helping to stimulate the tourist economy in Berea Kentucky. To gain an understanding of the types of attractions here we will be hiking Appalachian trails, biking, canoeing and other outdoor activities. My new backpack will ensure that my phone and other electronics maintain a charge. And those USB hubs will mean I’ll have room to charge the phones of the less-prepared cohort members that I’m sure will be fretting as their battery approaches 0%.