Small Business IT 101

You’re an IT of 1

The only difference between your small business and a large corporate IT department is the volume of problems and the number of IT staff.  Small and home based businesses will at some point experience and require defense against the same problems a large corporate IT department defends.  That’s why I’m putting my fifteen years experience including numerous technical certifications and research to work for you in the Small Bus-y IT section of this blog.  My goal is to make each post simple so you can spend 5 minutes or less reading and implementing a “Small Bus-y IT” post.

I believe strongly in entrepreneurship and the American spirit of freedom.  There is no need for you to waste time fighting IT problems after a major disaster when I can help you prevent the issue.  This first post will cover only the basics then I’ll delve into more detail in future posts.  Let’s get started.

Here are the TOP 3 most important things you must take action on now:

  1. Always have a backup!!!!!!!!
  2. Secure your electronic home
  3. Stay up-to-date

1 – Always have a backup!!!!!!!!

I have seen 30 year experienced IT employees feel like complete idiots after accidentally deleting a file only to realize they had not made a backup.  This is literally IT 101, but it usually gets overlooked for action we deem more important in the heat of the moment.  Have a backup of everything – software installation DVDs or downloads, hard-drives (backed up to an external drive or cloud storage), a database backup, a backup laptop in case your primary computer goes down, and a temporary backup of any file you consider important.  As an example, many things can go wrong when editing a file in Word, Excel, Access or any other program actively being used.  Take 10 seconds to make a duplicate for those important files before editing.  There are multiple ways to keep backups, but the easiest backups that run themselves are iDrive, Mozy, and Carbonite.

2 – Secure your electronic home

courtesy portforward.com
courtesy portforward.com

Most people would never build a house without putting a deadbolt lock on the front door, but that’s exactly what happens with many routers bought from a big box store.  They come wide open with no security.  That’s where a firewall becomes a priority.

You may have heard the word ‘firewall’ before but never really known exactly what it meant.  In the physical world, a firewall is usually made of brick or some other material that will keep fire from spreading from one room or building to another.  A software firewall serves the same electronic protection of real world firewalls.  It closes off all communication channels (also known as ports) to the outside world and forces you (the administrator) to approve any communication coming into your network from the outside world.  In a sense, you can view the firewall as the deadbolt on the front door of your home where only those with the correct key are allowed to enter. All Windows operating systems include a software firewall in the Control Panel so you should take a minute to enable it now.   Enabling a firewall will cause software, Skype for example, to stop functioning since it’s communication channel will be disabled.  To ensure Skype will work with the firewall enabled, you’ll need to allow the specific port number access through the firewall.  This functionality will be reviewed in a later post along with password protection and data encryption, but for now you should only trust known ports meaning those that are well known from large established software vendors like Microsoft, Apple, or Cisco. If you are looking for a suggestion, I say enable your firewall permanently and only disable it when the need arises such as making a Skype call.

3 – Stay up-to-date

Most of us have heard of software updates like Microsoft Windows Updates, but a lot of people just don’t see the point.  Windows Updates, in addition to software updates from any other operating system, many times include security patches that correct known vulnerabilities.  For that reason, I always tell small businesses to update immediately.  If you prefer not immediately, always install a patch within a month of its release.  The month lag time will give some time for the vendor to recall the update if it is found to create a bug or other annoyance discovered by other users.  The most recent Windows 10 updates have gotten tricky for small businesses, but you can get those details here.

There are so many more items we’ll cover that I can assure you are important, but I suggest you stop everything until you have completed these 3 items.  A few minutes of planning can result in hours saved by implementing these three actions before it’s too late.

GNU Profitability in a PHP Winux world

ospenguinAt the end of most every wireless connection is a database storing the information sent.  The only way an end user can see the stored data is for someone like myself to write a web page or software of some kind that presents data to the end user. Every programmer is different but PHP is my preferred web programming language which is normally paired with Oracle or MySQL databases. But many applications I work with on a regular basis use Microsoft’s SQL Server to store data which is not a PHP friendly database. I did the geek unthinkable this week by bridging the data gap using PHP on a Windows server.

If you are not a techie, you may be confused so I’ll take a second to explain. The development world of information technology theoretically pits profitability against open source (free software). Traditional code writers create online communities to share knowledge and experiences with each other, but their learning concept is improvement for the masses and the love of “the game”. Many traditional coders scoff at profitability so much that the GNU concept was created because the concept enhances coding for the greater good. On the other side of the equation are those business users looking to use software only for the fact of making money. Think of those massive companies we hear about in the media who could care less what the customer thinks as long as they make a buck. For those reasons and many others, there remains a divide in the industry.

Back to the original premise, I needed a simple web page the other day but all databases I was retrieving data from were MS-SQL. Keep in mind that I needed something very simple to automate an internal process that only a few end users will ever touch. I spent nearly two days working with Microsoft’s Visual Studio development software. The software itself was intuitive considering I had never used it, but I was stuck quickly due to my “think outside the box” mindset. Forget thinking outside the box or editing code to quickly accomplish a new programming variable since Microsoft wants their software to build that variable as opposed to the programmer building his own infrastructure. In true Microsoft fashion, the wrapper template I was using was so locked down that I couldn’t even alter main section programming tags without blowing up the whole web page.

A company like Microsoft has it’s own version of databases with it’s own programming languages, Oracle and IBM have their own unique spin, then there are even other companies that most people outside of IT have never heard their names. All that said, I learned Unix and Linux operating system platforms early in my career which were conceptualized from the open-source side of the industry. The stability of those systems is hard to beat although Microsoft has gotten a lot better over the years. My brain quickly thought of how easy my new project would be if I could write PHP considering my prior experience with the language.

That’s when I started googling to find a 64-bit PHP executable installer which I found on the PHP author website. Within 30 minutes, I had everything I needed so I’m sharing those links with you at the bottom of this post. All recapped, I took 30 minutes to install and configure PHP specifically for Windows Server 2008R2 using IIS 7, 30 minutes to figure out my 32-bit Microsoft database DSN connector was not configured in the 64-bit ODBC system folder, 1 hour to write and test code, then I was done. Thank you PHP!

Here are the links I used to make PHP 5+ on Windows Server 2008R2 running IIS 7+ a reality:

  1. Download and Installation Files
  2. Second install reference just to double check Microsoft’s instructions
  3. Configure php.ini for Windows
  4. Configure database connection for PHP inside web connection

Note:
Two things I noticed that were tricky are always opening PHP tags with the php reference.  Most Unix and Linux systems I dealt with allow “<?” as the open command tag but Windows required “<?php” before it started reading code.  Another thing was accessing the database through the SysWow64 system store instead of the standard 32 bit C:\Windows\System directory. I am using a 64 bit system so my DSN would not connect until I added it in the SysWow64 directory.

I was impressed at the ease of installation since the early days of PHP programmers preferred PHP only be used on Linux and Unix. I’m assuming Microsoft and PHP morphed after realizing there are so many medium to large sized businesses like ours finding ways to bridge the gap between various operating systems and programming languages.  Whatever the case, it has truly become a new development world. In honor of the first output any programmer learns, “Hello Winux world!”

Mass Transit Gets Personal with PRT

Most people don’t like public transportation for valid reasons. Buses are slow, public transit trains can be crowded, schedules inconsistent, and many times transit just does not feel safe. And I almost forgot to mention the fact that people cough, sneeze, talk too much, and sometimes just smell bad. But maybe you’ll rethink public transit based on the skyTran system developed in conjunction with the NASA Ames Research Center.  The skyTran PRT  (Personal Rapid Transit) system is not just theory any more since it’s beta version is currently being implemented on the corporate grounds of the Israel Aerospace Industries (IAI).

skyTran loading station courtesy skyTran.us
skyTran demo loading station courtesy skyTran.us

The skyTran system uses privately enclosed 2 person occupancy vehicles, better known as pods, that offer the feel and comfort of personal flying cars similar in design to those from the twentieth century Hanna-Barbera Jetsons cartoon.  Don’t get too excited though since these pods are not free flying but are mounted against tall trackways.  This magnetic propelled monorail system is the most efficient PRT system I have explored to date with the most realistic deployment methods in addition to solar power source options offering an independent self-driven power grid.  And skyTran time-in-transit will not be slow due to unwanted bus/train stops commonly seen on subway and bus routes.  The system was designed with the ability of zooming along at 150 miles per hour at 200 mpg nonstop between it’s originating and destination travel points.

eu poll

The key to this system and the reason I think it has a future is the transportation designer’s plan to operate elevated tracks parallel to major roadways.  This plan gives skyTran the ability to take advantage of existing power infrastructure if solar is not an option.  Existing freeway light polls can be replaced with hanging skyTran tracks avoiding the need for legal right of way delays while also tapping into existing power sources when needed.  Installing numerous ground level loading/unloading stations on physically separate tracks is also an efficiency improvement of PRT systems to keep other pods moving on the elevated tracks. The skyTran PRT system is also expected to offer on demand service via smartphone apps. If you prefer traveling with others, skyTran has a computer-linked caravan option where multiple 2-person units will be called to the same point within the PRT grid.

Pods and PRT systems have existed for years like the early Disney WEDway PeopleMover and more recently PRTs found at Heathrow Airport in London, but older systems were built with limited scope and operate in sensor guided environments which seem too expensive to develop on a large scale.  The cost of skyTran implementation will be much less per mile compared to existing brick-and-mortar roadways or subway tunnels, and I can only imagine these highly efficient PRT systems would be able to dynamically cross cities in ways impossible for ground based vehicles.  Think of riding a PRT vehicle across shallow reservoirs, drainage ditches, or even along grass covered power-line right of ways.  There is no incentive for an electricity provider to build public roads or HOV lanes on their land to ease ground traffic burdens, but energy companies and cities could profit from lease fees for PRT installations in dense urban areas using existing infrastructure towers.

If Uber’s success has proven anything, it’s the fact that people are still willing to pay for what they deem good quality and acceptable cost public transit.  We have no idea what the future holds for PRTs since new technology adoption for any industry can be an uphill battle, but I have high hopes for the future of skyTran.

Hungry For More?
If you still want to learn more about future transportation technologies, check out the Heathrow PRT experience or scratch your itch by watching this video:

Systems Analysts: A day in the life

Systems Analyst – a very vague description with a much more complicated role definition.



As a short answer, a Systems Analyst should make corporate systems function as requested by executive management. That may sound simple, but you’ll soon see why it’s not. In terms of HR mumbo jumbo found on Monster.com, a Systems Analyst “Implements computer system requirements by defining and analyzing system problems; designing and testing standards and solutions.”  Herein lies the problem; HR job definitions are notoriously vague, but even more problematic is that every system analyst job is different. Some require detailed programming skills and some require only surface level knowledge.  That’s why we’re about to get down and dirty for a day in the life.  In the business world, you (the user) call someone else for help with a software problem.  If it’s a really complicated problem that nobody else knows how to fix, the problem usually gets sent to a systems analyst who knows how all the pieces of the corporate software puzzle fit together.

Computer User Losing It
Systems Analysts solve problems so frustrated employees don’t have to. Required Skills:
– Be patient & a problem solver
– Constantly learn new applications, systems, technology, and programming languages
– Be able to break down big picture perspective into microscopic detail
– Be able to translate technical details to non-technical staff

 

The first thing to understand is that every systems analyst job revolves around specific software.  Systems Analysts must take a big picture view (usually from an executive or managerial level) and break end user business requirements down into microscopic detail which the analyst will translate to other technical staff.  As an example, think about your PC at home.  Does it run an Apple, Windows, or Google operating system?  Assuming you said Windows, are you running Microsoft Excel or Open Office Excel (the free version)? If you said Microsoft Excel, do you have additional “plug-in” software that would not run without Microsoft Excel? If other non-Office software is upgraded on the computer causing the plugin to break, would you know how to fix it very quickly to keep productivity up or would you have to take it down to Geek Squad and let them fix it? We have only covered the technical details at this point. Now on to the business aspect.  Assuming your PC is down for 3 hours, how much revenue will be lost to the company while the system is offline? Will the business be penalized or receive fines if this delay keeps bills or payments from going out the door? This is a small window into what systems analysts must know and how he or she acts as a liaison between multiple parts of the business.

 

Most systems analysts are specific to business units.  A finance department will have long-term forecasting needs, marketing leadership will care about compiling data so they can narrowly focus advertising dollars to get the biggest bang for the buck, and healthcare executives will want to know why the insurance company did not reimburse a certain case even though all the right government regulations were addressed when the bill was sent.  Most industries have some kind of standard to follow to make business more efficient, but that concept is generally vendor implemented in a lot of different ways and using different forms of code in behind-the-scenes programming languages.  All of the earlier business scenarios would require different pieces of software from various vendors, but the systems analyst is tasked with making them all communicate with each other transparently so the end user simply clicks through screens not showing a care for what technically occurs behind the visual interface.

 

The translation of this knowledge into a full time job gets much more complicated.  For one thing, corporate software is much different and usually more complicated than home software because it’s not marketed for the masses.  The simplicity of popping in a mass marketed software installation CD is rare in corporations since the software is many times uniquely developed to operate with other proprietary internal systems.  We live in a free country where not every business wants to let Microsoft or Oracle in on what makes their software unique or more efficient than all their competitors. In addition, medium and large-sized businesses run on large redundant databases usually developed by Oracle, Microsoft or IBM which can cause a massive headache if they go down.  Compare these needs to a home user surfing the internet, checking email, or maybe running Microsoft applications.  Those tasks do not require much horsepower or speed compared to expensive corporate applications.Server Room
If you think you’re interested in becoming a systems analyst, there are a few things to think of ahead of time.  There are many variations of a systems analyst position since the role supports the business in specific areas.  Some roles in larger companies will have the analyst working behind the scenes only talking to a few technical people where others will force the employee to escape his comfort zone dealing with end users who hate everything technical.  Those roles require much more in terms of interpersonal skills.  Then the size of the business will affect the role.  Small and mid-sized companies could put the systems analysts working directly between executives and end users where analysts in larger corporations will have the analyst report to one manager, in turn, increasing the level of bureaucracy and complexity of accomplish simple tasks like getting access to specific database tables or application access.
In terms of the niche systems analyst positions, there are business, financial, clinical, network and even general computer systems analysts along with many others.  The job can get very frustrating since “the buck stops with you”, the analyst that is.  That means the analyst gets blamed even when it’s another person’s fault because the analyst is the face of the application. For that reason and many others, you’ll want to make sure you pick a niche analyst position that revolves around either your passion or a field you plan on staying in for years to come since the level of expertise in your niche can many times drive the pay scale.  I hope this information was helpful; especially if you are researching a career change.  It may be an odd ending, but I’ll finish the article with an @ a glance of my day:
@ A Glance: A Day in the Life
Here is a breakdown of the first few hours of my day while writing this article.
5a Received a call from overnight staff that the database locked up.
5:20 Determined the temporary storage of the database completely filled.  All jobs were in a holding pattern until more storage was added from the SAN (large hard drive).  Called SAN department to have more storage added.
5:25 Called business managers to explain delay in workflow processing and that their end users would be affected.
5:30 Got ready for work while others were working to increase hard drive space on the database.
7a Finally made it to the office.  Determined overnight feeds of data stopped when the database locked.  Worked with other departments to restart feeds and run database queries to ensure all data was properly sent.
7:30 Worked with database administrator to determine cause of overnight database locking.  Turned out to be a normal nightly database stored procedure that spun out of control.
8a Switched gears to jump on a conference call beginning work on long-term project for new interface feed for my system while still watching the existing database problem to make sure it was completely corrected.
8:10 Received page that other problems were created from the earlier database locking.  Knew from experience how to correct that problem so resolved the issue while on conference call.
8:30 Created documentation for the conference call project, then moved on to work on the second of five open projects.
…and on and on… Thankfully the database is normally more stable during overnight processes, but the occasional glitch will occur and must be handled to keep end users working efficiently.

Photo Credits for Angry User & Server Room