
CeaRO Corporation
Computing
- 1. Intro
- 2. How the computer helped us develop other skills
- 3. Programming: some history and a few simple explanations
- 4. Why this operating system, this distribution and this software?
1. Intro
Nowadays we can hardly imagine a world without electricity, cars, television ... and of course computers. Despite the omnipresence of computers in our lives, not all of us are in the computer or IT profession.
Some of us may not feel comfortable using computers and crave the simpler world of the olden days. In the notes I want to share with you I will be trying to explain, how even for those who do not make their living in the professional IT world, the world of computing may offer opportunities to get better at dealing with the non computing world.
Or even find out how the computer can enrich our other hobbies. Do you feel an urge to get creative? Do you have any idea how many possibilities computers give us to get creative? Do you think this has to cost an arm and a leg? Think again.
Back to Top
2. How the computer helped us develop other skills
Some of us have a career that is outside the realm of the Information Technology (IT) world. Nevertheless you would be hard pressed to find a job in which you do not get to use some IT equipment as a tool.
Some of us who do use IT equipment as tools to do their jobs, also develop a more than passing interest in computers. Some of us got their own computers at home. And some of us really started getting interested in all kinds of different possibilities offered by their computers. And sure, a few of us developed into computer geeks.
What we found is that computers could be handy tools when working with digital media, be it pictures, video or sound. More about that can be found in the DIGITAL section of this web site. Some of you will appreciate that we used a picture of a non digital camera as icon button for that DIGITAL section, to indicate that there is more to it, than just digital still cameras.
What some of us found is that computers are only as good as the software you got on them. And they wondered about software. And they had ideas for some simple things they wanted to do for which they could not quite find the right program. And they started wondering if they could develop something themselves. So they got into programming. They also found program development could be done in many different ways, on different systems, with different programming languages. They also saw the evolution from procedural programming to object oriented programming. They tried it. They saw that a lot of programming involved databases.
By doing all that they learned to think in an object oriented way. That turned out to be a useful skill when working on projects. They were not in IT so they did not program for the job. But they did start analyzing problems, projects, processes in an object oriented way, although they did not call it that. They just got better at analyzing and representing data in a well organized way. They also may have had some exposure to agile development through their hobby interest in computers. And again they started to think that way for projects in general. Rather than preparing something to the last detail and developing it completely, followed by shoving it down the throats of the end users, they worked in a way that more input was sought, more flexibility was provided for changes throughout the developing cycle.
And all that because some people got used to thinking in ways which were developed for computing, but are perfectly applicable to a lot of other fields.
Back to Top
3. Programming: some history and a few simple explanations
Earlier in this 'Computing' section we already explained how we could organize ourselves, our lives, our thoughts ... with the help of the computer, and even better by letting our approach be influenced by how we think when developing for the computing world. We also touched on some developments in the software development world.
Some history might help us understand a little bit more about all this. In the beginning of computers, computers had to be programmed in their own internal digital language. Painstaking, especially as the input methods left a lot to be desired (punch cards, simplistic text only monochrome screens...). So people started developing higher level languages with some limited resemblances to human communication languages (in this case English). Not that the computer could understand these, mind you. Computers still needed their instructions in zeros and ones.
Some people found this a bit convoluted, because whenever there was a mistake or bug in the final program they had to go back to the original high level language text, troubleshoot it, correct it and each time compile it again. Not exactly on the fly troubleshooting. So these people started looking into what was called interpreted languages. Again the program text was written, but not compiled into a file. Instead there was another program, the interpreter, that would work directly with the file and translate on the fly in binary instructions running directly on the computer.
Faster processing has also led to a lot more success for some newer interpreted languages, such as for instance Ruby. In this case this is also in combination with web development through a so called framework based on Ruby, called Rails. This is what we call an MVC framework. Yes, we know, another acronym! It stands for Model – View – Controller. Roughly spoken Model stands for the structured data, View stands for the user interface and Controller stands for the program logic. By separating these three aspects to some extent, it is easier to work on each of them separately as need be, without messing up the other parts. A typical problem people wanted to circumvent. That is what allows fast prototyping in an Agile Development approach.
All this may seem complicated, but in reality once you start working with many of these languages, environments and development paradigms, you will find it all falls nicely into place. And remember, if you do, you may find that you approach issues outside the computing world also in a more structured logical way.
Back to Top
4. Why this operating system, this distribution and this software?
If in this section we tell you what we mostly use, it is because there is so much information available about what the majority of people use at work and most at home, that we do not need to go into that. As consultants we can help you with these systems and software if need be.
But we can also help you with the lesser used systems and software. We will speak about alternatives many people don't know about. One of the reasons you may be interested in this, is because of the low cost involved, which for some people can make the difference between only trying a few things or a lot of things they are interested in.
Earlier in this COMPUTING section we explained how people could develop skills they picked up programming. But someone who wants to start trying out a few things probably will not be in a position to choose yet what system to use, what programming language ... If for all this someone choses a programming language and buys a commercial development package, that person will pay a lot of money. Not only that, but proprietary operating systems and development environments on it will require relatively recent hardware. No bargain basement equipment here!
Some of the free software is available for different platforms. That is for instance the case for web browser Firefox, office suite Open Office, photo editing package GIMP, 3D and animation suite Blender, sound processing package Audacity, software development platforms Eclipse and Netbeans, web server Apache, database server MySQL. All of these are available for Microsoft and Linux operating systems. Linux gives you a choice between different distributions. Within these distributions different windows managers are available.
One of the distributions we use the most and on the biggest diversity of machines is Ubuntu. Currently it has more than 25,000 packages accessible through its depositories.
Occasionally we download software directly from the project sites such as for instance SourceForge.net (VDK Builder), IBM (Eclipse), Aptana (Eclipse for Ruby and Rails), Sun (Netbeans), Adobe (Flex, Air), sometimes because more recent versions are available than in the distribution repositories. It has happened, but very seldom, because a particular combination of system and software gave us install problems based on the packages available in the distribution repositories.
We do all our email and Internet access through computers running Linux, because it is much better protected against and much less targeted by viruses than some proprietary systems.
Back to Top