Nathan Smith

Welcome to my personal home page. The main purposes of this page are to explain a little about myself, and serve as a sort of hub to my projects whilst I'm away from home.

About Me

I'm a guy who gets things done. I like to have my tools, options, and crew all laid out in the open so that I may determine an effective way to solve whatever problem is at hand.

... I solve problems. Not problems like "What is beauty?", because that would fall within the purview of your conundrums of philosophy. I solve practical problems.

I prefer to code web content, specifically because it's one of the environments that allows me to easily satisfy my below priorities in order. Making a website allows me to tell someone "Hey, check out this thing I did" and all they have to do is go to a page and it works. I don't have to tell someone to download an app, agree to my terms and conditions, load a framework, or install my specific runtime environment for something they may not even care for.

Skills

I have used many languages over the years in an assortment of IDEs and some by plain text, some more than others. I have found that most languages at least operate in very similar ways, they just use differnt syntax (If you understand the concept of a ternary operation, it's just different syntax between Java or C# or whichever object oriented language). So far I have used:

Web Based Languages

  1. HTML5 (including BootStrap)
  2. CSS3
  3. Django (Python)
  4. JavaScript (including jQuery)
  5. PHP3 and CURL
  6. Some Google APIs (including Maps)
  7. RESTful Web Services (including Yahoo! Weather)

Application Based Languages

  1. Java (including Android, jUnit, and JavaFX)
  2. C
  3. C++ (Hobby level, with Ogre Framework)
  4. C#
  5. PhoneGap

Databases

  1. Microsoft Access
  2. Oracle
  3. MySQL
  4. SQLite

Other

  1. Git (Command Line)
  2. Batch Scripting
  3. Bash
  4. HamsterSpeak PlotScripting

In addition, I also have my Class C First Aid, WHMIS certification, and a class 5 driver's license.

My Priorities, in order

  1. OOB Functionality (Out-Of-the-Box)

    A tool is hardly good to anyone if it doesn't function, and if it functions right out of the box without any necessary preconfiguration, the users can quickly and easily get it up and running and on with their job. If the tool is truly powerful enough, people may take the time to learn it, but the chance is much greater that they will simply find a different tool.

  2. All Inclusive/Cross Platform

    Dedicating your work to any one platform limits your audience. It is important to understand that even though one platform may hold a dominant market share, they may wane in the future which will reduce your application's reach. By being multi-platform, you are able to reach many more people, and be recognized in more communities.

  3. Lightweight

    I have places to be and so do you. We need to get the product, get it working, fix our problem, and move on. This site used to be bare HTML, specifically to be as small as possible and ensure you get the information you want in as few packets as possible. Following this mentality reduces load time and stress on transmission hardware. I later decided to Bootstrap this site on the grounds that people would likely already have the CSS and scripts cached on their machines, making the load time irrelevant.

  4. Modularity

    I will do my best to make something for you that will suit your every need. Unfortunately, sometimes "you" refers to a group of people and what suits one person may not suit everyone, but we have to try. This is why I love to leave a sort of "access panel" of some sorts to the user, so that in the event my program doesn't suit them, they have the ability to make the necessary changes themselves. One size doesn't always fit all, so let the end user customize it to their liking.

  5. Design

    People like things to look nice. Given the option, you will always make it look nice. I have, however, ranked design last as functionality must always take precedence. If a program doesn't function, it is useless regardless of its design.

What I've Done

My most recent and largest achievement yet is my ongoing study at Saskatchewan Polytechnic's Computer Systems Technology program.

Who I Am

If you have read this far, then you must have more interest in me than I expected. This page isn't meant to be a personal blog, but if I had to list some hobbies, they would be: