09/30/15

Strings, Times and Databases

I’m not an expert when it comes to database management but it’s been my understanding that the preferred method to reference a point in time is to use a DATETIME or TIMESTAMP object. There are obviously some major differences between these two, but both work well in situations where dates or times need to be stored.

I was familiar with this process. Both DATETIME and TIMESTAMP were known to me and used in the past but starting on the Graduate Application Interface I noticed something a little different. The Graduate Interface used strings to denote the submission date of an application.

I was a little taken aback at first. It seemed like a really inefficient way to store a date. Unfortunately, changing the database was a no-no so we had to soldier on.

There was also no indication anywhere of the desired format for the date string. Because we were in America (and the use of slashes) it could be assumed that the date ’08/03/1992′ was August 3rd, in the year 1992 but there was no way to really be certain. Even worse, I found dates entered into the system quite awhile ago that used dashes instead of slashes.

I had to account for this when it came time to filter the data via a user-inserted date. This wasn’t difficult, but it was frustrating. I then used PHP’s native strtotime() function to convert the date into a unix timestamp, which made direct comparisons possible.

I learned to take caution when dealing with the DATETIME and TIMESTAMP objects and to make sure that formats are specified and adhered to before development.

09/30/15

Matthew Inman’s, The Oatmeal

The_Oatmeal_logo

I absolutely love Matthew Inman’s work. He hosts a variety of hilarious comics, quizzes and blog entries that I always find amusing. He has an interesting sense of humor yet often encapsulates meaningful truths within his content. I find his originality refreshing and surprisingly intelligent.

09/29/15

Graduate Application Interface

The University of Maine has many graduate programs and receives a large amount of applications for each on a daily basis. The Graduate Application Interface allows internal staff to manage the data associated with each applicant.

I began working on this project late into its development. I primarily helped finish core functionality but contributed a small amount to the general design of the interface as well. Part of my job was to finish implementing the query system. Although not pictured, input boxes eventually served as a way for the user to filter the data within the database.

Below is an image of the interface early in its development. The data shown is all sample data.
gradschool_interface

The project was created with HTML/CSS/JS, Apache/MySQL/PHP, Slim and Twig. The Graduate Application Interface helped me learn a bit about dealing with larger databases, built upon my previous knowledge of web technologies, introduced me to the process of separating concerns via a framework and the strategy of avoiding code repetition by utilizing the Twig templating engine.

09/29/15

Emera Astronomy Center Kiosk

The Emera Astronomy Center replaced UMaine’s older center and was opened to the public in October of 2014. Part of the contract with Emera asked for an informational kiosk to be housed within the center.

Below is an image of the ‘Home’ screen. This is the root of the project although a screen saver is technically one level ‘above’ this. Click the image below to see the whole kiosk, or follow this link.

emera_menu

I worked with two other students over the course of several months to conceptualize, design, develop and deploy the kiosk. We used HTML/CSS/JS and several JavaScript libraries to create it. I became the lead designer but had a hand in almost every facet of development.

09/22/15

MarcelTV

MarcelTV was a proof-of-concept site for an online video archival service. The system is meant to store, transcode and re-distribute older video content. Video art from earlier generations can then be preserved and streamed from modern-day devices.

Below is an image of the site late into its development.
marcel_tv

The system is developed entirely with HTML/CSS/JS using the Linux, Apache, MySQL and PHP stack. Looking back on the development phase, using some type of framework may have been advisable. Doing everything from scratch became exhausting but also served as a great learning experience.

I’m not sure how long ASAP will continue to host this project but if you would like to see it you can follow this link. Enter ‘marceltest’ for the username/password or register.

09/21/15

CrossDrop

CrossDrop is a Chrome Extension dedicated to offering a cross-platform file transfer solution similar to Apple’s proprietary AirDrop system. Being an avid PC user, I was inspired to create CrossDrop after continuously working in groups dominated by MacBook users.

When selected, the Extension offers a simple upload/download interface. When a file is uploaded successfully, a unique code for the file is returned to the user. Anyone else using CrossDrop can enter this unique code into the ‘download’ area and receive the file.

If you’re interested, you can download the source code. Unfortunately, the original server-side files are no longer hosted so the extension won’t work out of the gate. However, the scripts are contained in the download if you’d like to re-host them and give CrossDrop v0.5 a try.

cross_drop_img

09/21/15

CSS Ninja

‘CSS Ninja’ was an exercise to promote creative web construction and fight the traditional, old school box-model design that plagued earlier versions of the internet.

We were given a pre-constructed website that contained only an HTML and a CSS file. We were also given some instructions.

  • “Change the look and feel of this website by editing the included CSS style sheet, everything else is off limits.”

This is an image of the website prior to my changes.
css_ninja_before

Here is the website after my changes.
css_ninja_after

I enjoyed this assignment. It undoubtedly solidified my appreciation for CSS and the power it holds to re-define a websites look and feel. If you would like to check out the actual sites, I’ve attached links to the images.

03/14/14

DIY White Paper

In any corporate setting, communication tends to be very important. One of the assignments for my Business and Technical Writing class was to construct a White Paper (a paper meant to help readers understand a particular topic). I chose to write about the Do it Yourself Movement that has become more and more apparent over the years.

In summary, powerful tools (3D printers, micro-electronics) have surfaced recently that give individuals more options when deciding how to acquire materials for personal projects. This choice has grown into a mindset where individuals attempt to do everything without corporate assistance.

If you would like to read the report in full please see below. This paper should give you a feel for my writing style and competency.

02/14/14

Logo Re-Design

Logo

spotlight_cinemas_logo

We did a lot of work with Illustrator in NMD 104. For this project, we were given the opportunity to re-design an existing logo that we felt was in need of an update. The small logo at the bottom of the page is the Spotlight Cinemas logo currently. The one at the top is my design, for each color orientation. I choose to re-design this logo primarily because I thought it should have something to do with a spotlight. The original logo was not well though-out, catchy or memorable but I managed to fix these issues.

02/14/14

Cultural Shift: Writing

boy_walking_down_street

 

For our cultural shift project we created a futuristic world dominated by Skype’s newest communication technology, Holochat. For part of the project, I wrote a short story detailing what this world may be like.

 

 “Timmy!” A distant voice echoed throughout the virtual room. “Oh, sorry guys I have to go…” Groans erupted before he could explain. “I know I know” he mumbled, “I’ll be right back”. Timmy switched off HoloChat and the physical world swirled into focus before him. “Timmy!” Another cry could be heard. He shrugged off the mild nausea, got up from his HoloStation and dragged his feet towards the voice.

Timmy’s grandmother stood in the kitchen staring out one of the westward windows. Timmy could tell what she was thinking. She had never understood all this Holo-stuff and often wondered aloud how things changed so suddenly. “Come visit anytime, Timmy” she would suggest, knowing all too well that no one ‘visits’ anymore. She was getting old, too old to compete with a virtual world.

“I need some milk,” she mumbled. “Would you be a dear and fetch some for me?” Timmy stood silent for a moment, viewing his grandmother with a quizzical look. No one went to the store anymore, she knew that. “Uhhh yea grandma… sure. You want another gallon?” She turned to look at him. “That would be great Timmy, thank you.” He thought the request was a bit strange but didn’t argue. The quicker the better.

The streets were barren, as they had been since Timmy could remember. He disliked the real world. Cold, harsh and immutable, it was the exact antithesis of a HoloChat call. Upon reaching the warehouse he opened the door. “Why hello there!” Timmy was surprised to hear a voice, although quickly realized that it wasn’t human. A holographic teller stood watch over the merchandise. “I need a gallon of milk,” he said. “All produce is usually shipped to– “I know,” interrupted Timmy.

He strained a bit carrying the milk. He couldn’t remember the last time he was forced to carry around something so heavy. Switching between arms, Timmy raced back home but found something missing. “Grandma!” he shouted. “I got it!” No reply. Timmy called again as he put the milk in the refrigerator. Nothing. His thoughts turned to HoloChat and the call of his friends. He jogged into the HoloRoom and stepped into the flickering light.