Saturday, September 5, 2009

What makes high tech "high"?


People, and the media, talk a lot about "high tech"? But what is high tech? Warren Buffett says that he does not invest in high tech -- not because he thinks that it is bad but because he feels that it is wisest to invest in companies that one understands. This allows a good understanding of the business and the market and the managerial capability to run the company.

High tech exists because of all of the levels of technology upon which it relies. Thus, it is at the apex (or top) of a very large pyramid. This is reflected by our education and what we are expected to be able to do at different periods of our education.

At the bottom of the pyramid are "simple machines" and, as listed in Susan Kristoff's "Introduction to Simple Machines", scientists in the Renaissance period listed six devices for simple machines. These are the lever, the wheel and axle, the pulley, the inclined plane, the wedge, and the screw. In order to create, or make use of, simple machines, a variety of "simple tools" are required -- such as hammers, screwdrivers, wrenches, pliers, saws, and shovels. To this list, I would add cutting instruments such as knives and chisels.

Of course, when you read through lists such as this, you will find yourself saying -- but what about scissors, and bolts, and nuts, and ...? Just because the Renaissance scientists made a specific list of six items doesn't mean that everyone will feel that is THE correct list. For example, I could argue that the wedge and the inclined plane are variations on the same thing. I would actually be tempted to classify into categories of mechanical movement such as lifting, pushing, pulling, and rotating.

It really doesn't matter. The fact is that there are some basic machines and tools that exist at the bottom of the pyramid. By using such basic devices, we can produce "low tech" -- a swing set, a door, a teeter-totter (for those that remember such ), pogo sticks, and so forth. These can all be easily built using basic devices and tools. Of course, the degree of "finish" for something will depend on the quality of the tools and the experience of the craftsperson. I can create hinges and a door but you probably wouldn't want it on the front of your house.

We now reach into the "middle technology" category. Note that things are not REALLY so nicely divided as something may easily be broken into parts that are of various levels of needs. When we get to middle technology, we get to phonographs (for those who remember such), steam engines, paddlewheels, flour mills, ships, and so forth. These are items where you might appreciate the work which goes into them but aren't likely to cause you to gasp with astonishment. And many moderately experienced modern young adults can probably make such. They take knowledge, tools, and the ability to design and follow directions. I could probably make a horrible sounding, but functional, record player (and record). Neither Bose nor Boston Acoustics will lose sleep over that.

Now, we come to high tech. High tech requires the use of middle tech tools and machines to create their products. A CD player requires the ability to create lasers, and smoothly precise rotating movements, and a lot of semiconductor chips, and wiring and special metals and materials. I could NOT create a CD player without first creating a lot of things that I would need prior to being able to create the CD player. High tech requires middle tech which requires low tech. And that is the real story -- high tech builds upon other techs.

http://technoglot.blogspot.com

Wednesday, September 2, 2009

Computer Literacy 101 -- what is a peripheral?


A computer system cannot often stand alone -- it needs a way to input data, it needs a way to output data and it needs a way to expand its capabilities. These devices are called peripherals. A keyboard is a peripheral. A monitor is a peripheral. The time panel on a microwave oven can properly be called a peripheral, although it may be part of the overall design and not optional.

Peripherals can be grouped in classes. One class is Input/Output (or I/O). These peripherals allow you to put in (input) data or to access (output) data. Another class would include removable storage systems -- a flash card, a hard disk, a CD-ROM unit. Other classes exist.

Input devices have a particular requirement from the operating system. Since it is unknown just WHEN data will be input, there must be a way for the operating system to notice that data are available. The two main ways of doing this are via polling and via interrupts. A poll is a periodic check for data -- like a child in a car asking "Are we there yet?". An interrupt is like a tap on the shoulder. Different systems will use different methods. A poll does not take long but there will be many times that the answer will be "no" -- and, thus, the time taken is "wasted". An interrupt takes much more time because it is necessary to save the current situation (maybe you're in the middle of a program) before the interrupt can be handled. Let's say that handling an interrupt takes 50 milliseconds and a poll takes 1 millisecond. If an event occurs once a minute, then doing an interrupt will take less time than polling once a second (50 < (60 x 1)). However, if the event occurs twice a minute, then polling is more efficient (50 > (30 x 1)).

A keyboard is an input peripheral. So is a mouse. In the case of a keyboard, a specific data value is sent when a key, or combination of keys, is pressed. This is usually kept in a temporary memory buffer that can be read by another program that is currently accepting input from keyboards (maybe a word processing program, maybe a browser window). A mouse sends two types of information -- a change in location and key presses. The key presses are handled similar to those of a keyboard. However, the change in location is done by the computer keeping track of the "location" of the mouse. When the computer starts up, the mouse is considered to be in a "default" (starting) location (often the upper left of your monitor). If you move your mouse to the right, it keeps track of how far to the right it has moved. Note that it isn't usually a one-to-one movement or your mouse pad would have to be as large as your monitor. Also, if you pick up the mouse and move it, it is as if it never moved.

Printers and monitors are typical output peripherals. Printers are fairly straightforward (although the actual data may not be such) -- your output may say "give me a new page", "print the letter 'a'", "go to the next line", and so forth but it basically is given a set of commands in sequence. A monitor, currently, is more complicated because of the idea of active windows and locations. So, in a modern operating system, the computer not only needs to keep track of where the mouse (as reflected by the cursor displayed on the monitor) but what program is making use of input while the cursor is at that location and what menu or button must be activated if there is further input (keyboard or mouse click) while at a specific location within that program's active space (or window). The input devices are actually what are causing changes about what you see -- the monitor just reflects the effects of that input.

And that pretty well covers Computer Literacy 101 -- though I would be happy to try to address any areas (of the many) that I have neglected.

Tuesday, September 1, 2009

Computer Literacy 101 -- what is an operating system?


An operating system (or OS) is a special program that allows other programs to run. This is the core of a general purpose computer -- the ability to run programs that are not pre-determined. A specialized computer (or microprocessor) may be able to run multiple programs but they are known in advance and, thus, the system can be designed to just run those programs (simpler, faster, and smaller).

As a more general definition, an operating system manages the resources of a computer. Sometimes, it is defined by a hierarchical model (sometimes known as the "onion" model) because there are services that are provided by the primary section of the operating system. Then there is another layer that provides new services plus makes use of the primary section. Then another layer that makes use of the other two layers, and so forth.

Some of the services provided by an operating system (in "layer order") are task (program) management, memory management, process (tasks communicating with one another) management, device management (such as hard disks, or CD-ROM drives, and so forth), and finally file management.

Because the applications make use of operating system services, which in turn rely on other "lower layer" services, most applications are not portable between different operating systems. This is why a program that works with Windows (a particular operating system) may not work on a Macintosh (running Mac OS X, a different specific operating system) or under a system running UNIX or Linux (two closely related operating systems).

There is an apparent exception to this -- but it really still follows the same rules. If one uses a browser that executes a program within the browser, that program may work with browsers running on computers using different OSs. It appears to be OS independent (able to work under any operating system) but, actually, it is making use of a set of services that have been defined to have the same use on multiple operating systems. Because this set of services, or interface, between the program and the next layer is the same, the program can run under different operating systems -- but the underlying program that provides that interface is still operating system dependent.

There is little agreement on what Operating System is "best". In general, the one that provides the services that you need, and the applications you need, for the lowest price and greatest speed is "best" for you. (It may not be the best for someone else with different needs.)

User Interfaces: When and Who should be designing them and why?

     I am striving to move over from blogs to subscription Substack newsletters. If you have interest in my meanderings please feel free to ...