With a New Year, A New Website… Again!

Exactly a year ago, I made a post with this same title (minus the “Again”). I have learned a lot since that post. For starters, I have learned to be careful with local database backups when reinstalling my OS (this is why the first 20ish posts that were on this site no longer exist). Lesson learned.

Since that post from one year ago, I have moved from my position as Web Specialist Intern for the UTSA Honors College to Web Specialist for Startech Foundation. I have presented at two national conferences, one in Indianapolis and one in Boston. But more importantly, I have learned to take myself less seriously. I’ve learned to have fun, roll with the punches, and never be afraid to fail. And boy, have I failed!

Looking past the failure to properly back up my database, which I mentioned above, I’ve failed in numerous other things. I have loved and lost (multiple times). I have thought that I could do it all, and eventually had to concede that I needed help. I have also written enough typos to fill several volumes (thank God for browser inline spell checking). There is no doubt that I have failed plenty in this past year.

As I look forward, I have so many exciting new experiences ahead. I plan to graduate in May, after which I’ll be looking for full-time employment for the first time. Ever. I’ll also be applying to MBA programs around the country. As the end of my undergraduate career approaches, for the first time I feel like I am making decisions that will determine the rest of my life. It’s definitely a scary thought.

As I greet 2013, I have no desire to make no mistakes; that would just mean that I have not challenged myself enough. As Ms. Frizzle from The Magic School Bus says, “Take chances, make mistakes, get messy!” (Yes, I just quoted a kid’s show. Live with it.)

What I do hope to do is always look at life through an open mind, consider every opportunity that comes before me, and, most importantly, have fun! I only get this one life so why waste it being so damn serious all the time?

WordPress: Now With a Touch of America’s Favorite Yellow Family

The following witty comment was brought to you by my latest WordPress plugin, Hello Simpsons Chalkboard Gag: I will not prescribe medication.

Everything following the colon above was dynamically pulled from a listing of all past chalkboard gags by Bart Simpson. And no, I did not have to sit through the hundreds of episodes, painstakingly writing down each one. Thanks to The Simpsons Archive, I was able to just write a tiny Perl script that parsed their listing of gags from each episode.

Hello Simpson Chalkboard Gag
Created using the Bart Simpson Chalkboard Generator.

This plugin was inspired by two sources. The first was my love of the over-two-decade-old television show and the second was a desire to show something a little more interesting than lines from Hello Dolly in my WordPress admin area. Let me explain: by default, WordPress comes with a plugin that shows a line from Hello Dolly at the top right corner of every page on the administration side of the site (not visible to general viewers of the site).

As fantastic a musician as Louis Armstrong is, he’s just not my cup of tea. Call me uncultured or say that I’m missing out, but I much prefer Bart’s witty, moderately-crude humor. Also, there are only 28 lines in Hello Dolly, meaning only 28 possible headers in my WordPress admin area. Hello Simpsons Chalkboard Gag has 296 possible results as of publishing this, and that number will continue to grow with each new episode.

In addition to changing up the little bit of text displayed on the admin side of the site, I also added the option to include a simpsons shortcode, which is what was used at the top of this post to load one of the chalkboard gags dynamically within this post. This was really an afterthought and the only reason I decided to include it was because the necessary work was already done in handling the primary project, so adding the shortcode was trivial.

Continue reading “WordPress: Now With a Touch of America’s Favorite Yellow Family”

Second WordPress Plugin Goes Live

Prezi Logo
Logo © Prezi Inc. Used with permission.

It is now almost exactly 4 months since I released my first contribution to the WordPress community, the Document Gallery plugin. This new addition to my work, Prezi Embedder, was designed in order to support simple embedding of presentations designed on prezi.com in WordPress installations.

This plugin was designed out of frustration at the lack of support from the Prezi team for WordPress users. Their only official response to the issues with their embed code in WordPress installs is a link to this forum post, where users present some ways to hack together something that used to work. Recently, even the hacks mentioned in the post were disabled, making it impossible to natively embed Prezis.

After reaching this dead end, I also looked briefly for other plugins developed for this purpose. The one plugin I found only had partial support for the Prezi embed options and, in my testing of the plugin, did not handle any size other than the (tiny!) default embed size.

At this point, I gave up on any pre-existing solution and wrote the embed code into a very simple plugin and linked it to the Error: The id attribute provided does not look right. You entered id=. Error: You must, at minimum include an id attribute: [prezi id='<Prezi ID>'] shortcode. Though I initially wrote the plugin for my own use, I ended up submitting it for listing in the public WordPress Plugin Directory.

This release has had a slower pickup in downloads when compared to my first plugin (which hit 300 downloads in under two days), but that is to be expected given its more specific market. Even given this lower interest, it has still been downloaded 70 times in two days, which I am more than pleased with, especially given that it began as just a tool for my personal use.

(Legally) Hacking Online Defensive Driving Course

Given the tendency for society to interpret hacking as an inherently illegal activity, I must first clarify what the meaning is in this context. While thefreedictionary.com has a definition that would suggest illegality:

To use one’s skill in computer programming to gain illegal or unauthorized access to a file or network.

This is only the second definition. The first (and relevant) definition listed is far less nefarious:

To write or refine computer programs skillfully.

In any event, I’ve said all of that as a very long preamble for the true topic of this post. I recently signed up to take an online defensive driving course on GetDefensive.com. In taking the course, I found it immediately frustrating that each page required the student to remain on that page for a set amount of time before proceeding to the next page of the course. This would not have been so bad, except that the time required for each page was significantly longer than the time I needed to absorb the information.

Once I had completed reading the content on a page, I would go off to another tab in my browser to work on something else, but then I ran into the issue of not knowing when the timer had completed, since it was only visible within the course tab. After making it about half way through the six-hour course, I had had enough. I decided to append the time remaining to the tab title so I could see how much time was remaining without needing to re-open the tab before it had finished.

GetDefensive.com Title HackRemembering my GreaseMonkey from when I had used Firefox, I went to see if something similar existed for Google Chrome. Apparently, Tampermonkey is the go-to for user script management in Chrome.

After playing with the new tool for a few minutes, I threw together a script that pulled the content from the existing count-down timer in the tab and had it duplicate that value in the title. You can see below for the solution I ended up with.

UPDATE (11/28/2013): I got another speeding ticket, which means I had a chance to revisit this solution and one small thing changed — the ID of the object we’re grabbing the time from. The code below is now up-to-date with this new ID.

Presenting “#OccupyFacebook” at NCHC 2012

NCHC #OccupyFacebook Presentation

This week, I had the honor of being taken to Boston, MA for in order to give a presentation on social networking best practices, specifically as they relate to Honors Colleges and Honors Programs.

Through the presentation attempted the address social networking globally, without focus on any particular site, as the title suggests it was a little skewed toward Facebook, with which I am most familiar.

I submitted my abstract for the presentation after observing how poorly social networking resources tend to be utilized by various organizations around campus. Having worked for the UTSA Honors College, in part to facilitate social networking; managed social networking for various student organizations on campus; and spearheading a social-media-heavy, campus-wide Presidential and Vice Presidential campaign for Student Government, I felt I was qualified to make some suggestions on how best to use these powerful tools.

Given the topic of conversation in this presentation, I wanted to do something unique that showed the power and versatility of social networks. I ran the session’s question and answer segment by taking questions from a live Twitter feed. Anyone with questions tweeted them with the #OccupyFacebook hashtag and at the end of the session questions were answered in the order they were tweeted.

Below is a copy of the presentation, as shown at the conference: