Showing posts with label professional. Show all posts
Showing posts with label professional. Show all posts

Thursday, April 19, 2012

Venturing into Cloud Development

Over the past few months I've taken up development on Amazon's Web Services (AWS) platform.  Looking at the integration of development and IT operations in devops my foray has started with the AWS Cloudformation service which allows the programmatic creation of other web services such as computing (EC2) and storage (S3).  I like the ability to upload a JSON template, specify some parameters, and soon have a brand new system up and running.  What's more, using Canonical's cloud-init scripts I'm able to use the Cloudformation template as a base to further service configuration with Puppet.

Puppet is a configuration management tool that provides the ability to define the packages, users, and services (among other things) that a particular server should be running.  It allows me to get away from manually setting up a server each time it comes online.  Instead I simply have the Cloudformation template download my puppet modules from GitHub and apply them using the cloud-init script.

My plan for this infrastructure is the ability to quickly and easily create an environment for Java development.  While there are currently other services that provide similar environments, rolling my own on AWS has given me an opportunity to customize it to my liking and learn to use some of these new tools.  This means that I can install the latest development tools such as Gitolite for private Git repositories, Eclipse Orion for online code editing, Gradle for builds, Sonar for testing, Jenkins for continuous integration, and Artifactory to store the completed products.

Check out some of the resources that enable my setup on my GitHub page: https://github.com/myrontuttle

Tuesday, January 31, 2012

Java SWT Programming

Over the past two years I have been working on a pair of engineering programs for a group of water gate manufacturers.  With the help of a veteran engineer as the voice of the customer I created these form-based programs to help design a specific water gate and gate hoist.  The two programs were very similar in their functionality including:

  • An initial menu for choosing program direction

  • A screen to retrieve previous program runs

  • A password-protected table editor for adding and changing gate components

  • A series of screens for entering details and selecting options

  • A final page to view and print a formatted report compiling the data and calculations entered in the program.

Since I was working on a Linux (Ubuntu) machine and the program was needed to run on Windows desktop I opted for Java SWT to be able to compile versions for both operating systems.  Using Eclipse Plug-in Development for a framework allowed me to work in my preferred IDE while providing a number of desktop components out of the box.  Wrapping the whole thing up with an NSIS installer/uninstaller made for easy distribution.

Tuesday, February 17, 2009

Data in the Bank

As a professional web developer and a candidate for an International Masters in Business Administration degree I often find myself thinking about the best way to create management information systems with today's technology.  The programming nerd in me wants to create a cloud-based, open-source-based solution with loads of machine learning to help adapt the functionality to clients' wants and needs.  The business wonk in me knows that to do that I need to appeal to what people and businesses really want (a simple, solid information system) by alleviating their fears (data security).

While reading another article about corporate security manager's hesitation in accepting cloud computing solutions that I thought more about the data security aspect.  It's understandable that security-conscious people worry about storing data out of their direct control seeing how it's so vitally tied to the survival of the company.  Losing the information on a key lead or account can mean lost revenues.  Inaccurate human resource information can open a company to legal issues.  Corporate espionage could lead to competitors gaining the lead in a market.  The inability to control easily means that a company will lose money.

It occurred to me though, that the same thing can be said about a company's actual money.  It is the lifeblood of a company just as much the data in a company's servers.  But while a company may feel the need to protect it's data by maintaining its own servers and IT staff, it rarely feels the need to keep its own cash vaults and in-house bankers to protect its money.  What is it that requires data to be secured locally while money can be secured in banks (sometimes even half a world away)?

One argument is that banks, as an industry and institution, have been around much longer than server farms.  Banks have government backing and must adhere to certain rules.  If a bank gets robbed, a certain amount of the funds are insured and can be returned.

Another point is the inherent differences between money and data.  Cash is largely interchangeable with $500,000 lost replaced by any other aggregation of $500,000.  Data on the other hand may be sensitive; it only has value as long it is known by a select group of people.  Data can be changed so that it no longer is an accurate representation of what it was reporting.  Once corrupted, data holds little of the value it once did.

Finally, banks make their customer's money available to them through a variety of means.  There are numerous branches, ATM's, wire transfers, credit/debit cards.  If one of these modes of account access is unavailable there are others to choose from.  On the other hand if company data is stored on outside servers the only way to access it with any immediacy is the internet.  If there's an outage somewhere or a line gets cut a company is out of luck.  Plus a company can go a while without money but can do very little without access to its operating data.

Some of these may seem very obvious, but I list them out because I think that each of these obstacles can be overcome.  The company that provides solutions to these problems will likely ride the wave of next generation business.  My cloud-based, open-source, machine-learning, management information system just might have a chance.

Friday, October 31, 2008

Pet Superfood Store

As a fan of pets and organic food, I was excited to develop a store for Organic Pet Superfood (www.petsuperfood.com).  What's more, working with small and start-up businesses has always been rewarding for me as they bring the most excitement and enthusiasm to a project.




I'm also a big fan of open-source software.  It provides a level of customization and independence that you don't normally find in propietary software.  This project was the first opportunity that I had to use one of the newest open-source eCommerce software packages out there called Magento.




Although the learning curve for getting the store to have the same look and layout as the rest of the site was somewhat steep, setting up and using the store administration was very easy and intuitive.  I'm looking forward to making more stores using this engine.


Factory Wings

This project was a collaboration with a design company that the client was using to design their new store look.  The designers didn't have much experience with ProStores and the way it used templates and store-specific tags.  That's where I came in.




The designers and I started by discussing what was possible on each side and how far we could push the technology.  They then produced three compositions for the client.  Once they had decided on the comp they liked best I began translating the Photoshop images into XHTML and ProStores code. 




This has proved to be a good strategy of specialization as there are designers who have far more experience in creating visually effective designs than me while I'm able to leverage my years of experience in programming and eCommerce to guide the client.  While there was some delay on the design side the client was very happy with the whole experience.


Harbour House Crabs

After having done several ProStores eCommerce projects a client asked to have their old store upgraded so that it could be hosted on newer servers and gain the benefits of the latest software edition.  The problem was that when their former developers had tried to upgrade it in the past the store broke.  I was called in to find the best way to move the store into the new version.




After finding the code that was causing the store to fail when upgraded I set out a plan to fix that code, upgrade the store, and move it onto the newer server.  After the client agreed to the estimate, I delegated the project tasks to my small team of very-capable developers and we got started.




While the project lasted a little longer and incurred an additional cost than estimated due to some features that the client requested to be included we finished well before the busy holiday period for a satisified client.


Wednesday, October 29, 2008

Development Services

I've developed web solutions and provided technical support for clients for several years. I've worked with partners and clients all over the US and as far away as India and Taiwan. The projects have given me the opportunity to learn a large assortment of skills (both technical and business-related) and provide a wide range of services to organizations. My passion is using technology to help groups become more organized, coordinate their activities, and streamline operations.  I've done this in the most open, honest, and professional manner possible. 


For me this means:



  • Responding to emails in a timely manner

  • Being available for communication at agreed-upon times

  • Working within defined budget constraints of a project

  • Explaining how changes in a project can increase or decrease the costs before performing them

  • Completing projects by their deadlines or communicating well-beforehand if a project deadline needs to be pushed back and why

  • Working with clients to provide the best solution to meet their needs


Technical Skills


The following is a list of applications and languages that I am highly skilled at:



  • PHP Programming w/ MySQL Database Design and Interaction

  • HTML/CSS/JavaScript Web Page Development on Apache Web Servers

  • Drupal CMS

  • Linux System Administration

  • Java Programming (especially SWT and JFace)


Additionally I am familiar with a wide variety of software applications that a project might require.


Business Skills



  • E-Commerce

  • Website Development

  • Content Management System (CMS) Setup

  • Web Applications

  • Desktop Applications

  • Search Engine Optimization (SEO)

  • Website Analytics


Partners


Marketing with Conscience


Redmann Mahoney, LLC (RM) offers public relations and marketing services to environmentally friendly businesses of all sizes.


 


Imagine. Create. Ignite.


Interactive media with a kick.  Fire it up.