The Portfolio Portfolio

Computer Science

Before you comment, the title is not a typo. In the past few months, friends and colleagues have come to me with jobs in web development. One in particular is especially promising to put in my portfolio, and its focus is on portfolio submission. First some backstory:

In late spring this year, I posted how that I was willing to create professional about-me websites pro bono. It was a limited time offer, but I got several takers within the first week alone! One taker was looking for something a little different than an about-me page. It was a female colleague, “Nina,” who focuses more on web design than programming, despite that she is capable of both. She proposed a digital method of submission for the Ball State Dance Department, since physical copies of 4+ years of work had a history of getting lost. Being the gung-ho WordPress enthusiast I am, I suggested a special blog format instead, that way students and faculty can rely on W3C standards on cross-platform compatibility.

The short of the plans were to leverage built-in roles for Author (student) and Editor (professor) to add/edit posts. They would have a time-stamp and have the potential to be shared publicly online to future employers. Security and user management would be outsourced to the WordPress developers, and Nina and I would only need to develop a child theme to finish the product.

As is common with projects such as these, Nina came back to me with news that our setup was too complicated. Though I was quite confident that I could type very clear instructions for every possible action the professor or student would do, we decided WordPress was not the right choice. Instead, our system needed to be designed from the ground up.

After a bit of brainstorming, Nina and I came up an alternative to which the department heads could agree. Essentially there would be two screens for students: the login page and the submission page. In the submission page, the student choose which section of the portfolio they will submit and be able to download their previously submitted sections.

Professors would have three pages: login, comment submission, and student index. The login page is the same for students as it is professors, though the landing would instead be the student index. Within the index, all students could be filtered by their Username (BSU email address), First Name, Last Name, and Portfolio submission. The professor could then comment on the specific submission (readable by students, editable by professors) on a separate page, though it’s possible to load it in the index using AJAX.

Overall this would streamline the submission of portfolios immensely, allowing for more space to be used for dancing rather than storing binders.

The Development Sandbox

Computer Science

Although I’m still new to the web development scene, there is no excuse for relying on a remote server anymore to develop applications. I still envision myself as that wide-eyed newbie who needs their hand held all the way through the process of installing server software; though I’m not especially new to Linux, nor am I a guru by any stretch, navigating with the command line has become second nature to me.

That said, Apache is… interesting. It’s secure, it’s versatile, and it’s confusing as hell. After scouring Google, I found a blog post on how to install a LAMP server on my netbook—under-powered as it is. The article is dated, but it still allowed me to mostly set up the server. No more website down-time when I need to test a new theme for WordPress, no more development issues with Drupal. The best part of it all is that I can work anytime, from anywhere, regardless of my internet connection or third party server maintenance schedules.

This sandbox does a lot for a new user, with little difficulty in setting it up. Even after spending 16+ years as a Windows user*, it doesn’t take an expert to install a LAMP server in Ubuntu. In fact Drupal core is more confusing to set up, which is good news for developers looking for a DIY development kit!

  • Even through Windows 3.x when one had to reboot the computer into different profiles, depending on what programs needed to be opened, I used Windows. Thank God for Chip’s Challenge!

Professionalism, Here I Come!

Computer Science
The PHP logo displaying the Handel Gothic font.

Image via Wikipedia

Despite my effort to focus my blog entries more on what readers would like to see, this post functions more as an update to my progress becoming a web developer. It’s me-time.

A few days ago, I posted on Facebook that I was available to design and set up websites for anyone who would like one. It’s free of charge, if only so I can build a portfolio to post here, on my blog. The idea is to create some killer websites that are completely automated in updates and simple to administer. I would provide the awesome interface on a free (or paid) hosting account for the client, hand them the username and password (read “keys”), and link the website to my homepage. My website, currently this blog,would then link back in the profile section to show potential clients/employers what my skills actually are.

So that’s the plan. Cool, huh?

First, I started researching the ways to automatically update websites. As a starting point, I plan to build websites using Drupal and WordPress, depending on the needs of the client. Upon doing some research, it looks like they can both be managed by SVN. The problem with this is that I haven’t found a free host the supports both SVN and Drupal/Wordpress. So the hunt continues…

I’ll be continuing my research, however I suspect I’ll have to write my own script in PHP to check the current version of the software, then update automatically when a remote location (RSS feed?) is updated. More on this later.

Linux Adobe (via VirtualBox)

Computer Science

In a previous post, I discussed the strides FOSS (Free Open Source Software) had to go for it to truly be an open source alternative, specifically to the Adobe products. This leads to my next rant on how to flawlessly run Adobe products on Linux. I recently read a guide on how to seamlessly integrate Windows applications into Ubuntu using Oracle’s VirtualBox. The source (below) is outdated and may not have completely relevant information to the current version of Ubuntu, but it still begs the question: Will this be the way I get rid of Windows?

VirtualBox Logo

VIrtualBox Logo

In a previous post, I showed how to set up Sun’s VirtualBox in Ubuntu 8.10 Intrepid. Then, I went through setting up a PCLinuxOS virtual machine in VirtualBox, followed up with how to install Guest Additions in that virtual machine. However, many folks probably want to run a Windows guest under Linux, so this post will run through that procedure. You’ll find it remarkably similar to the PCLinuxOS example, though the Guest Additions install somewh … Read More

I know that this won’t actually be ridding Linux of the poison that is the Microsoft Windows franchise, but it does allow me the added security that comes with running Linux. Allow me to illustrate:

Try permanently leaving a window open in one of the rooms of your house (it’ll be an art studio for this example). Even though it’s a high-crime area and you may get robbed, you have a secure place with all of the doors dead-bolted. You only leave this one window open to ventilate the room because air circulation is required to create the art you need. Is there a chance your supplies will get stolen? You bet there is! That’s why you don’t put anything too important in that room.

Believe it or not, this is the same situation as running a Windows virtual machine (VM) in a Linux environment. If someone hacks into my Windows VM, oh well! I’ll reload it and the person will get no important information from me. The limit to this metaphor is that the robbers may graffiti everything in the hypothetical room (install viruses on the Windows installation), but you can always hit the proverbial reset button and the room goes back to the way it was a month ago. In real life it’s not that easy, but with VMs the process is as easy as rolling back to an old saved state.

Linux Adobe

Computer Science
SVG Logo of Inkscape

Inkscape Logo

As my skills in web development, well, develop, I find it more difficult to work without software packages like the Adobe suites. Web Design Premium or Master Collection, I learn and use many of the pieces with each other. The primary difference between Adobe products and their open source alternatives are the lack of interaction between. Take the popular graphics alternative for Photoshop: GIMP. Now take the web development alternatives for Dreamweaver: Netbeans, Aptana Studio, or Bluefish*. What about the vector graphics alternative for Illustrator: Inkscape? All of these products alone provide comparable service with their Adobe doppelgängers, yet I don’t see Inkscape working with Bluefish, nor do I see it work with GIMP. It’s the interoperability that the open source versions lack, and that’s quite an important part!

Just today I went to a barbecue my friend was hosting and talked to a telecommunications major with whom I am also friends. He discussed taking a web development course this summer and how he took Photoshop files and exported them to Dreamweaver. He didn’t have to touch one bit of the code menu in designing for iWeb server, which is free web hosting offered to students here at Ball State. I’ve heard other examples of people exporting from Fireworks into Dreamweaver so they can focus more on the design, rather than spending hours getting the code to display exactly how you want. I get the feeling this is completely foreign to many open source advocates, since they still push the idea of using the alternatives.

The next generation of open source projects is starting to get the right idea. Take BlueGriffin for example. They create a WYSIWYG editor with a code view, based on the same Gecko rendering engine that Firefox 4 uses, and add built-in SVG-editing software. Is it Inkscape? No. Is this package perfect? Not by any means, but it’s a step in the right direction. BlueGriffin edits SVG files with another open source software, SVG Edit. The reason I’m not supporting this project more is because (a) I just learned about it while researching for this post, and (b) the developers charge for most of the useful add-ons. One of the major add-ons I see as a contributor for BlueGriffin being a Dreamweaver replacement is the ActiveView. It automatically synchronizes the Gecko-rendered WYSIWYG view with the code view. This is comparable to using Firefox’s extension Firebug to do a more permanent edit of the HTML and CSS. It would also be a great asset for those trying to learn HTML since they could toy with the appearance to understand how it changes the code. Another significant add-on is an adapted version of FireFTP, which increases the potential of adding similar website synchronization as Dreamweaver has had.

Adobe Dreamweaver

Dreamweaver CS5

Still these are just strides in the correct direction. What I would like to see within the next major revision of GIMP, Inkscape, and Bluefish is cooperation. I want to see GIMP output a file as HTML and automatically open it in Bluefish for editing. I want to see Bluefish edit an embedded SVG file by opening Inkscape. I am aware of some capabilities Bluefish has, however it shouldn’t only be up to Bluefish to bridge the gap. The individual projects are pieces that don’t yet completely fit together, but I feel they will soon.

Still, Adobe is about more than just web design; they also focus on video editing, flash programming, and more. We need to see some more of our renowned cooperation in the world of open source to truly offer the “open source alternative.”

* Bluefish wasn’t originally in my top choices for a Dreamweaver replacement, but upon further inspection I see how its features have changed since I last used it. I can also see this project being more useful than Komposer, and would like to see a few more features be merged before I’ll fully adopt it: (1) Cleaner WYSIWYG editing; (2) Using Firefox 4’s Gecko rendering engine to preview content.


Computer Science
The player finds a shiny Zubat in Pokémon Fire...

Image via Wikipedia

A few days ago I received word the Pokédex application known as Pokédroid has been taken off of the Android Market. I remember when I first got my Nexus One (N1) in July of 2010, it seemed like one of the coolest apps ever. However the N1 has limited internal storage to the tune of 512MB, and only 180MB are usable since it needs some space to store the OS, but I digress. Space was at a premium so I uninstalled the app and installed ones I thought more important.

Not even a year later, The Pokemon Company decides to cry foul on one of the top apps on the Android Market, Pokédroid. They cried trademark violation and that this Pokédex application (among many others) wasn’t considered “fair use” under the DMCA*. As I look more into Pokédroid, I find a talented developer quaffed down by “the man” in an effort to push their own free product independent of him. They would hear nothing of cooperation on the app, merely that he would stop development on it.

Outraged, I scour the file sharing sites in hopes that I can find a backup somewhere**. Finally I stumble upon reddit discussion with links to personal backups of everything the developer released at last update. It was a miracle and I immediately installed it on my phone. Several things changed since I last used this app, including adding the latest generation of Pokémon (Black/White). This app had over 450,000 individual downloads in its lifetime and numerous users were heartbroken on its removal. I had to do something.

Even now as I type this sentence out, I find it tragic that the author didn’t open up the source code to the public. I’ll soon be asking him about requesting the official source code, though I have a plan on decompiling the application as it is. Would anyone be interested in seeing this project continue?

The developer’s blog has the rest of the story complete with outraged comments from Pokéfans.

** This is not an admission of piracy since the application (while normally available) was free and I have it on good faith that it is fair use of the Pokémon trademark. If you are a legal representative for Nintendo, Game Freak, Creatures inc., or anyone else currently laying claim to the Pokémon trademark, feel free to contact me regarding why it is not fair use.

Android Development

Computer Science

Due to recent revisions of the Android Developer’s corner, I’m looking more into creating apps for Android and trying to make some cash on the side. I’ve also been looking into ad servers such as AdMob (now owned by Google) and MoPub (open source and a recent startup) for free versions of apps I develop. Of course I would offer premium versions as well to get rid of ads, but I’d like to have some compensation for my time and the startup fee Google charges for new developers ($25).

My thought is that most users are willing to pay between $1 and $3 for a decent app with awesome functionality. If I find a niche that hasn’t already been covered, I could continue to update apps and get a ton of experience in a relatively new technology market. Great resume builder! At the same time, learning the Android SDK would allow me to develop apps for personal use and actually meet the needs of a part of the mobile web market.

These are just some ideas that have been floating around in my head as of late, but we’ll see if they go anywhere.

Ballroom Dancers in Full-Swing

Notre Dame Gala 2011

Ballroom Dancing

I sit here typing out this post, hoping it will calm my nerves as I prepare for the coming performances. The Notre Dame Gala is just like any other competition for most of our club (read “class”). We prepare for it much like any good student would prepare for final exams. We spend hours in the studio drilling, practicing, praying we’ll get just one ounce better. Spending hundreds of dollars out of our own pockets to bring in a professional to whip us into shape. This is the life of a ballroom dancer.

Ballroom Dancers in Full-Swing

David McDonald and Ivana Gaddam dancing East Coast Swing at the South Bend Century Center

We don’t get class credit for doing what we do. We don’t even get a mention in the school paper. The only thing we do get is the satisfaction of dancing fantastically and spending a good time with close friends.


It’s now after the competition and I feel… interesting about how things went. Many of the Ball State competitors were ecstatic to hear our previously mentioned professional instructor, Godiva Gaultier, would be in the audience. I feel we were not fairly judged on our ability for a myriad of reasons: being a smaller club, having less money, our presence as a newer club, etc. Godiva was a calming presence who gave us insight on what a judge is thinking, looking for, and provided constructive criticism after each couple exited the dance floor. We’ve become closer as a group and consider Godiva to be not only a fantastic coach, but a close friend. In a nutshell, Notre Dame’s competition was a learning experience for all.

On another note, my parents were very gracious by providing food for all 17 of us (spectators included) on Friday night. During our late dinner of pizza from Pizza Hut, David McDonald surprised us all with personalized cards indicating his thanks for all that we’ve done, his praise for how much we’ve progressed as dancers (and as individuals), and a few other points that only raised morale. A few cried, others laughed, and I, for one, have never felt more unified than that moment.

The males stayed at my house while the females stayed at Laci’s. I can only speak for my experience the night before, but we had a lot of fun swapping stories while ironing shirts, pants, etc. We also played a massive game of Apples to Apples before sending the ladies off to Laci’s house for the night. All-in-all it was a fantastic weekend filled with much camaraderie and teamwork.

We’ve accumulated a large enough group of individuals I feel it’s the right time to transition to a sports club. We are currently classified as a special interest club, but our stated purpose is to compete in collegiate events, which sounds like a sports club, and sports clubs have access to many more of the university’s resources than special interest clubs. It’s a no-brainer at this point. My only concerns are if the other members of the exec board agree, and how we’d implement this change if Ball State doesn’t allow the switching of categories for student organizations.

I foresee a good outcome for our ballroom club in either event. These are growing pains necessary for a successful organization and I can see the next generation of officers already taking charge of that growth.

Hell Week 2.0


Here I sit in the university library, cramming for my Research Methods midterm tomorrow. My friend, Shayla, and I review for the test asking questions as confusion arises in the study guides. Silently I hope to have every answer memorized by the time we put our pencils to paper and take the midterm, or maybe my grade from the last test will be copied over to this one. At this point my mind is growing fuzzy and I haven’t even finished some homework for another class that’s due tomorrow, let alone started a paper we’re supposed to finish by Friday. This is Hell Week 2.0.

In the infinite realms of possibilities, I decided to be a psychology major, not following in my family trade of software or hardware engineering. My overall GPA isn’t fantastic and my departmental GPA isn’t even above 2.0 the last time I checked. Why do I continue with this goal? I don’t even know what I want to do with my psychology major. I’m not even sure if I want to go to graduate school or try to find a job when I graduate. Will I spend four or five years at Ball State working on my bachelor’s? I think all these could be better answered if I had a firm goal in mind, what career to work toward.

I can’t think about this today, there’s too much to be done. Another assignment is due Friday, another test to study for on Thursday, packing to be done by Thursday night, and three routines to choreograph before I leave for spring break for an upcoming ballroom competition. I’ll have no internet access starting at 3pm Friday until Sunday of the following week, so kiss goodbye any chance of doing web development on WordPress. Several textbooks to catch up on with the reading, but most of my time will be spent with friends. When is the relaxation supposed to start?

So much to do, so much pressure. If the end of this week doesn’t leave me with a feeling of release, I’m going to be more than steamed.