The Nuts and Bolts of Computing. Discussions of technology and other thoughts that come to mind.
Saturday, December 04, 2004
Getting Started in IT
I wrote my first database application as a junior in high school. It was a student schedule database to track where the students were during the day. I pirated a word processor app from a near by school lab and had the first word processor with spell check. As a result my school was so happy they took one of the two computers we had and put it in the front office. I was not happy about that, but it was nice to see my work being used. I latter trained my physics, math and other teachers how to create their tests on the other computer and securely store them on floppies. That was in 1983.
Most of the people I have grown up with in the industry to include my industry hero’s have not completed their degree nor do they have the desire. My degree completion was always a goal of mine. However life and the computer industry was paying me more than would I could make with a degree in Electrical Engineering. I also saw that the universities could not adapt and were way behind on the up take in the tech industry.
Friday, December 03, 2004
Backup Solution Evolution - SATA
However in the last year Moore’s Law has broken down as many of my customers adapting new technologies have been doubling and tripling the amount of hard disk space that they are consuming with data, photos, and scanned documents. On the commercial real estate side of the business an average contract with high-resolution photos is about 150Meg. For a small business of 10 people they have burned through 80 gigs of RAID 5 SCSI disk space in less than 1.5 years. That kind of server setup is expensive.
As a result the current industry standard 40/80 gig tape backups can not keep up with the demand for more disk space. Since on the small business side we do full backups every night, it “is” taking 12 hours to do backups. We do not do incremental backup do to a history of issues that is too much to go into here. Another problem is the DTL and DAT drives running 12 hours a day shortens their life and they die within 18 months.
We conducted a series of lab tests to determine that most economical way to do backups. I will not cover all the details here, but I will tell you what our final result was. We settled on removable hot swap SATA Hard Drives. Our worst case customer was taking 20 hours to do a 50gig backup with verification. With the SATA Hard Drives it took 2.0 hours to backup and another 1 hour for verification. We were clocking in about 1gig per 2.5mins. Plus since the SATA drive is 160gig that gives us two FULL backups per drive.
The overall hardware verse hardware costs are SATA Hard Drives backup solution is 50% cheaper, 4 times the backup capacity, in 75% less time in a production environment. In our lab we were getting even better speeds and times than this, but those tests were in ideal conditions.
Here are links to the hard and vendors that we chose:
SATA Hot Swap Enclosure - MRK-200ST-BK
http://www.vantecusa.com/product-storage.html
PCI Card - Serial ATA (SATA)
http://www.vantecusa.com/home.html
Serial ATA Hard Drive
http://www.westerndigital.com/en/products/Products.asp?DriveID=57
Veritas Backup Exec Software
http://www.veritas.com/Products/www?c=product&refId=296
I predicate within two years all my customers will no longer be using tape backups as hard drive prices will have killed them. I know; I have seven different tape backup drives that I have had to migrate my archived data from before the drive died and was no longer supported. In my personal opinion tape drives are doomed and good riddance.
Thursday, December 02, 2004
Rapid Application Development Explained
I really hate being the negative one here about RAD (Rapid Application Development) and JAD (Joint Application Development), but these are MBA buzz words and “In a perfect world” concepts. Having been a software developer for 22 years I can tell you that you will not see the JAD methods widely used as described in the text.
First of all RAD is a concept to speed up software development. RAD is accomplished by using other software tools to quickly produce an end product. Visual Basic is a software tool that will aid in RAD. RAD as described in the text do not facilitate speedy development. What is being described are simple shorten phases of the development cycle. You can shorten the phases as much as you want, but if the software developer doesn’t have a tool to make the development go faster then the RAD as describe in the text doesn’t work.
- Development of a product to sell (Vendor i.e. Microsoft http://www.microsoft.com )
- Custom software development for a customer (Consultant to Customer i.e. my company)
- Business Need Development Internally (MIS for a specific Department Development i.e. HR)
- Open Source Development (Community to Users i.e. http://sourceforge.net/index.php )
- An Excellent Developer Resource: http://msdn.microsoft.com/
These are just a few, as there are hundreds of variations on a theme. The JAD method is ideal for internal business need development as the company can afford to a lot such human resources.
Typically the company is unwilling to a lot that much human resources as all the development teams have more work than they can handle. It is terrible expensive to employ JAD as described in the text and you will find modified versions that are really scaled back. Scaled back JAD is also true with custom development as TIME is money therefore the costs would be greater than what the customer would be willing to pay.
If you do a Google search on JAD at Microsoft, Apple or Sun you will not find a single reference to this concept and these guys are world leaders in software application development.
- Sun – No reference
- Microsoft – No reference
- Apple – No reference
Also in the JAD method there is no mention of Scope CREEP. That occurs as the project is expanded to accommodate additional features and functionality. That leads to a whole different set of issues we can discuss later.
Wednesday, December 01, 2004
Virtual Offices
Virtual Offices and Telecommuting are older terms used in the late 90’s that are marketing buzz words that have no physical association to a thing, device or software. They are mental concepts that could be a collection of a whole host of devices, software, connections and configurations. Once these collections are assembled they form an area in which people from the same company can share and manage information that aids in running the company. This information is not usually accessed by people that do not belong to the company.
The information is accessible outside the office by various means such as VPN (virtual private networks), dial-up, or dedicated connections such as old school ISDN connections. These connections are also encrypted. The latest industry trend is to out source the services to a third part company called an ASP (application service provider).
My company uses both concepts. Our internal servers manage our internal systems. A company called http://intranets.com at (to view the demo) hosts our virtual office. The term virtual office is being replaced by the following terms which have a more exacts meaning: “intranets”; VPN; work from home; and road warrior.
The advantages are remote access to all your information, any place and any time. The disadvantages are remote access to all your information, any place and any time. Having this unprecedented access to that much information allows people who work at the office to work at home and on the road, and people who like their work tend to work even more, putting in a lot of hours. Family and social life can be affected.
I have remote access ability from just about anywhere in the United States, except rural areas without telephone or cell phone service. Outside the U.S. remote access is much more difficult and very expensive. I await the cheap satellite data phone access and that problem will be resolved.
The studies you to believe that the local communities that the business is in would be affected by virtual offices and that is a disadvantage. That is pure nonsense. I am not sure where that came from but it is definitely wrong. It has a positive impact as it aids in reducing travel and fighting traffic.
If there is any contribution made by a person that consumes resources in the area of the business office, that consumption is simply transferred to the local community where that employee is working.
For example, if I eat lunch at several places near my office, working from home I will be eating from the restaurants in my community. I would prefer to support my community over a place that has a tax break for a business office building.
Wednesday, November 24, 2004
WWW vs Internet
HTTP was developed by Tim Berners-Lee so he could format the plain text coming from a legacy system. This single protocol coupled with the ability for business to be able use the internet (which was limited only to Universities) made the Internet usage explode.
The internet is often thought of as your web browsers, but that is just one application that uses the internet. Others are FTP port 21, Email (SMTP port 25 / POP3 port 110), NNTP 119/433 (these newsgroups) and Telnet port 23 are a few. One old protocol no longer used is Gopher, which was a text menuing systems that allows different system to connected and was the old way of browsing. The University of Minnesota used to the mother gopher where most people began their browser via text. These are just a few examples.
Links:
Inventor of WWW:
http://www.w3.org/People/all#timbl
Web History:
http://www.w3.org/History.html
Tuesday, November 23, 2004
Why you should Protect Yourself
As a practicing tech support guy I can give you real world examples as to why you should care and worry:
Scenario One: Imagine it is 11:50 pm, you just finished typing up a paper for this class that was 16 pages in the APA format. Now imagine that you have saved your document, only to realize that your document has just been deleted by a virus and the virus flashed the BIOS of your motherboard, and the firmware on the hard drive with corrupted data. Now not only have you lost your document that can not be replaced but your motherboard has been permanently be destroyed as well as the hard drive.
Scenario Two: A simple spyware program gets on to your pc via a popup and steals your bank account and credit card info. You monthly statement comes with a 100 or more monthly statements from other credit cards companies that you did not setup accounts yourself and now your owe $100,000 in debt legally.
Everyone needs to take defensive measures for safe computing. Otherwise you may find yourself at the wrong end of someone else's evil.
Q: To answer the question posed, we should blame Microsoft for all of the viruses. If they hadn't gone around making people angry, these mad computer scientists would never have created these things.
Blaming Microsoft for all the viruses is like blaming god who created us for all our problems. Individual people are the responsible ones not Microsoft. If someone takes a butter knife and kills someone, is the person that did the killing or the butter knifes manufactures fault.
If you read the department of homelands security's web site you will see that there are just as many holes and security issues with Linux and a ton of others software and devices.
http://www.us-cert.gov/
As for the mad computer scientist his motive is profit and there is no profit in a virus. It is a well known documented fact that the vast majority of viruses are written by teens with virus writing tool kits freely available for download. The guys are known as script kiddies.
Don't get me wrong, I am not defending Microsoft, as there IS a lot they could do to help curb the issues too.
Monday, November 22, 2004
Information Systems Explained
What is an information system?
An information system is an ever evolving concept that involves a number of things both physical and abstract. The reading material defines an information system as a collection of 5 components (hardware, software, stored data, personnel and procedures). Having evolved with technology as it evolved I disagree with this definition of an information system.
An information system is broken down into to basic elements hardware (the physical) and software (the logical abstract).
The hardware element is all of things referred to in the text that are used to process, store and transmitted data via some type of medium either wired or wireless. The text does not give the new student to technology a clear picture of what the hardware layer looks like. Below I have attached a common small business hardware configuration. A big business diagram would look much the same but with more devices and connections.
The software layer is the non tangible logical abstract. It is a series of bits arranged in a manner that information can be manipulated and stored. It is stored in a machine readable format and displayed in a human readable format. This logical layer uses the hardware layer to transmit and receive data. You can review the software layer diagram below.
What are the components?
The provided reading material states that there are 5 major components (hardware, software, stored data, personnel and procedures). I argue against this as I have already defined hardware and software.
The reason I do not consider stored data as part of the overall is it is a hardware device that provides yet one function. It is part of the hardware layer.
The reason I do not consider people as part of the equation is an information system does run without people. People are the users of the system are not a direct component of the system. In order to qualify as a component I used this process; if the component is removed will the system stop? If a person dies the system will still continue to function.
I do not consider procedures as a part of the component as that is an element of software. The text has you to believe that it is part of explaining how to use the information system. If that were true then we would spend our entire life understanding how the information system works. A person does not need to know how a watch works in order to tell time. Nor does a person need to understand how an internal combustion engine works in order to drive a car. A person is a user of the watch, not a component of the watch that makes it work. The human procedure component as the text states, is a very tiny part that does not hold enough weight.
Q: In your work environment, describe the information system you utilize. (i.e. hardware, number and type of users, advantages/disadvantages).
Please see my diagram as a picture tells a 1,000 words for the hardware and software systems. The advantages are processing more information, from anywhere, anytime. The disadvantages are you are processing more information, from anywhere, anytime. It is a double edge sword that cuts both ways. The diagram below generically represent a company's information system.
Sunday, November 21, 2004
Systems Approach
Defining the Systems Approach
The systems approach is a collection of components that work together in order to share information. It is an abstract concept that is defining the way information is shared, stored and processed. It uses for basic functions, input, process, storage and output. These concepts do not correlate with the actual way an information system works. They are simple concepts being conveyed. These are the text book ways.
There are 5 major components of an information system. The provided reading material states that there are 5 major components (hardware, software, stored data, personnel and procedures).
A component is a part of a system that is needed in order for that system to work. The
hardware element is all of things referred to in the text that are used to process, store and transmitted data via some type of medium either wired or wireless.
The software layer is the non tangible logical abstract. It is a series of bits arranged in a manner that information can be manipulated and stored. It is stored in a machine readable format and displayed in a human readable format. This logical layer uses the hardware layer to transmit and receive data.
The reason I do not consider stored data as part of the overall, because it is a hardware device that provides yet one function. It is part of the hardware layer.
The reason I do not consider people as part of the equation is an information system does run without people. People are the users of the system are not a direct component of the system. In order to qualify as a component I used this process; if the component is removed will the system stop? If a person dies the system will still continue to function. People are used to build and maintain the system and users use the system, but the system does not require a human in order to perform its tasks.
I do not consider procedures as a part of the component as that is an element of software. The text has you to believe that it is part of explaining how to use the information system. If that were true then we would spend our entire life understanding how the information system works. A person does not need to know how a watch works in order to tell time. Nor does a person need to understand how an internal combustion engine works in order to drive a car. A person is a user of the watch, not a component of the watch that makes it work. The human procedure component as the text states is a very tiny part that does not hold enough weight to be a component of a system.
Explaining the Different Roles in Systems Development
Having been a systems analyst, a telecommunications analyst and now a certified systems engineer, I can clearly stated that the role called “systems analyst” is an old term used in large companies as a pay grade reference.
It no longer defines or is used as it is stated in the text. For a large company the roles for systems development are broken down in to categories not defined in the text. For big iron mainframe the groups are commonly called datacenter analyst, for server systems they are called systems engineers, for local area networks they are called network engineers, for connectivity they are called telecommunications engineers, for tech support they are called tech support specialist.
The names may vary from company to company, but the roles and areas are much the same and require a small army to support 1,000’s of people. For smaller company they typically depend on outside support and are called system engineers. That is what they do engineer, design, build and maintain information systems.
The text calls the roles just systems analysts, project teams, users and programmers. There is a ton of roles missing from the text. As a result I find it to be misleading for the new person learning about the roles for the first time.
Explaining and Defining Systems Development Life Cycle
The text explains that the system development life cycle (SDLC), yet another executive buzz word, is divided in five main phases.
- System Planning
- System Analysis
- System Design
- System Implementation
- System Maintenance
Since there is no certifying agency that controls this definition from company to company the structure of the SDLC may vary greatly. I agree with the author that these are the main items. However the phases of a project most of the time do not correspond to the phases listed in the text. In a perfect world that would be nice. Due to geographical makeup, the organizational makeup, the financial makeup, the leadership skills of the project teams, the impact goals of the company, the presidential directives largely dictate how the phases of a project may break out. So of the items listed above may be in the same phase or span several phases.
Defining and Explaining What Comprises a Feasibility Study
A feasibility analysis is an excellent tool to determine the technical, operational, and economical feasibly of a new system. This is a step/phase that is often not done or not done properly in large companies. If this step was done more, large companies would save a lot more money. There are two scales to a feasibility analyses not mentioned in the text, and that is large scale and small scale. The end result of a feasibility study is to cost justify the project (a.k.a. from the text “cost/benefit analysis”)
On a large scale the analysis is long and can be drawn out. It is sometimes given to a person that does not have the knowledge in other areas of the information systems. They in turn spend a great deal of time collecting information about other systems.
On a small scale a systems engineer can evaluate a project based upon his past experiences and draw conclusions quickly without the formal process as described in the text.
Saturday, November 20, 2004
Smaller, Faster and Cheaper
More about the ENIAC:
http://ftp.arl.army.mil/~mike/comphist/96summary/
Computer Historical Photos:
http://ftp.arl.army.mil/ftp/historic-computers/
Another example would be when I worked at a fortune 25 companies our Big Iron IBM mainframe had 40 Meg hard drives that were as big as a full size refrigerator. We had 60 of them and they we water cooled. Years later they were replaced with one unit that was about the size of one full size refrigerator that held 90gig. All of the 40 meg drives where removed. We have so much empty space left in the data center management held a celebration putting tournament in the empty space with 18 putting holes.
Here is funny story on the 40 meg refrigerator hard drives. A third party company was contract to remove and dispose of the hardware. They loaded them onto a Simi, but did not tie them down or lock the wheels on the hard drives. As a result when the truck pulled out of the loading dock as started up the hill all the hard drives shifted to the back of the trailer ripping the doors off, dumping them all on the ground and some roll back down the hill. What a mess that was. We were glad that was not our project.
That was the last time I saw a hard drive with wheels!
Friday, November 19, 2004
Hardware Reviews & Research
Tom's Hardware
http://www.tomshardware.com/
Price Watch
http://www.pricewatch.com/
Thursday, November 18, 2004
Management Implications of Tech Trends
- Reduction in cost of hardware with time
- Reduction in size of hardware with time
- Increase in power of hardware with time
One would think that the trends stated above would have a positive impact on your business. The key word in those items list is time. The only positive benefits that can be reaped is in the future purchases of that better hardware. There is no benefits to a business currents state and does impact a business in negative ways. This is not stated in the text provided.
Taking your current business state with the huge investment in hardware, software, engineering and ongoing support costs, a reduction of cost, size and an increase in power of hardware can affect the business by allowing competitors who are in a position to purchase and deploy the hardware into production immediately.
Most businesses have a fixed budget in which they can afford to purchase, lease and write-off the hardware as a capital expense. If a business is held in financial hostage and can not afford to make the purchase of the faster better hardware, then they are at a disadvantage point against those who can make the purchase.
I see this every day as businesses try to squeeze every last ounce out of their purchases to get a return on their investment, more commonly know as ROI. Microsoft in there marketing packages called this the “Total Cost of Ownership”.
How to know when to upgrade is easy. Is the overall cost of doing business losing money using the existing hardware? If so, can the current company financial state afford to make the purchase relevant to the loss in doing business with the current hardware?
So the overall implications as a result of faster, smaller, cheaper hardware puts companies with current heavy investment at a disadvantage. However as the company is able to afford in the future the newer faster, smaller, cheaper hardware it will greatly benefit the company.
Another key word in the question is “hardware”. Notice that there was no mention of software. Software has its own dynamics.
Monday, October 25, 2004
Cost-Benefit Analysis & Decision Tree
Cost-Benefit Analysis is a tool used to determine what costs are associated with decision making and problem solving. A cost-benefit analysis can be simple basic math or as complex as one presented by Center for Information Technology - National Institutes of Health.
A simple cost-benefit analysis would be how much time would it take to resolve the problem and what is the rate of the person solving the problem.
- If a problem takes 30 minutes to resolve at Technician A’s rate of $150.00 per hour, then the cost to resolve the problem would be $75.00.
- If a problem takes 1 hour to resolve at Technician B’s rate of $100.00 per hour, then the cost to resolve the problem would be $100.00.
- If a problem takes 4 hours to resolve at Technician C’s rate of $50.00 per hour, then the cost to resolve the problem would be $200.00.
So the rates are relevant to the skills of the tech. In this case cheaper rates don’t mean it is less expensive to solve a problem. This is a simple example of cost-benefit analysis.
A more complex and involved cost-benefit analysis would be like what the Center for Information Technology - National Institutes of Health uses. They implemented in their management guide a section that identifies the cost benefits analysis as a part of a requirement that was previously established in the Paperwork Reduction Act (PRA) of 1995 and implemented by the Office of Management and Budget (OMB) in revisions to OMB A-130.
They define Cost-Benefit Analysis as: Preparing an analysis for IT initiatives to demonstrate how the IT resource will meet ICD mission requirements, support ongoing management oversight processes, maximize return on investment and minimize financial and operational risk;
- In section 5.1 of the NIH IT Management Guide the first step is to define the problem.
- In Section 5.5 they use a number of tools and techniques to determine IT performance measures. These tool and techniques are very similar to the one we are studying in this class.
- In Section 5.6 Prepare Cost Benefit Analysis they use this tool as their primary justification for the development or major modification of an IT system. So the Cost-Benefit analysis result plays a major role in determining if the project or problem to be solved will be doable. The key to the cost benefit analysis for the NIH IT is to make it commensurate with the size and complexity of the system.
- In Section 5.6 they refer to a number of governmental and regulatory documents to help guide them in there cost-benefit analysis. This means that the cost-benefit analysis is not as straight forward as simple math. A regulatory requirement could very easily cause the costs of a solution to sky rocket. This is one example of why many government projects have budget over runs and are a sign that a proper or complete cost benefit analysis was not conducted.
A Decision Tree is typically used with deductive logical thinking. It is used with most all the elements are known and the problem has clearly been identified. It is used to help guide the way through the problem to the end result solution. A Decision Tree where the problem is known, a tree is already pre-rendered and can be easily followed.
A Decision Tree can be constructed by using backward planning to build the task lists and their groupings. Backward planning starts with asking the question: What is the finial task to be completed? What are the supporting tasks for that task? You repeat the process for all supporting tasks and sub tasks. The Decision Tree’s backward planning method provides a road map to follow to the finial task.
There are many software programs that can help in the creation of a Decision Tree. The Decision Tree Example below was created in Microsoft Visio. Microsoft Paint Brush and Microsoft Project are just a few applications to help in creating a decision tree. Simple pencil and paper will work too. In Microsoft Word the Outline feature can be used as a quick way of getting your thoughts down and sub tasks to list them. I prefer that method over the Visio method.
Saturday, October 23, 2004
Self Employed Myths
Myth - Work Less:
I work more and the people that are subcontractors work more than we did when we were working for the big companies. I am not a good example, because I love my work therefore it is hard to tell when I am playing and when I am working.
Myth - Paid More for same hours:
Yes you can get paid more (a lot more, about 50% to 75% more). The gotcha is you pay more taxes, more for insurance, all business expenses, and yes the almighty administration monster work. There are a lot of hours working that you do not get paid. That is why you are paid more.
Myth - 6 weeks of Vacation!!!!
Not! Every day that you do not work, you do not get paid. You do not get paid for anytime off period! You must build up your time and build it into your rates and plan well in advance. I have taken less time off since I have been working for myself and spend every spare min improving my work and my business. Harvey McKay said you can be successful working half days! You can work the first 12hrs or the second 12 hrs!
There are many more, but these are a few big one's. For as many Con's as there are Pro's, I enjoy working for myself far better than working for a big company full time. I do business with big companies, but I am not there all the time. I have complete control over my destiny. To hell with titles and career ladder climbing. I am the President, CEO, Director of IT and head bottle washer! I hold a number of prestige titles all of which might buy me a cup of coffee.
The moral of the story, to be self employed you must be self motivated and vigorously seek answers.