Friday, February 5, 2010

#3 (this is not a freewrite) - Survey of Current Topics in Your Field (research and brainstorm)

As security is a pressing concern in society, more Computer Scientists are quickly trying to find a way to solve the problems of security in many areas.  Besides the usual password, which can be easily stolen if wanted, the new methods concern unique identifying measurements of our bodies that act as our "passwords".  Many people have known about the standard fingerprint used by the police, but now the field has started to integrate this biometrics technology into many of the laptops that are being sold around the world.  If you're lucky enough to have one of these laptops, you know that instead of entering your password at prompts, this feature allows you to just slide your finger across a small scanner on your laptop.  The field of biometrics happens to go well over this topic though, especially as many people were trying to create copies of others fingerprints, thus making the method unsafe just like regular passwords.  One other topic of interest would be eye scanners.  Just like our fingerprints, the irises in our eyes are completely identical from person to person, even the irises on a single human are different from one another.  This makes it a great system of security because your irises are one thing on your body that would be fairly hard to copy.  We usually see this type of security software in the futuristic movies and shows, but this once futuristic technique is very close to becoming a reality.

Now that the use of biometrics is becoming more widespread, the threats against this type of security technique are finally showing themselves.  Yes, it may be hard to reproduce someones iris, but if someone manages to steal this image, there really isn't any way to magically change your iris to a new uniquely identifiable iris.  This scenario has paved the way for more, unusual types of storage methods which involve hashing and image processing which allows the actual image to be hidden and only shown in its processed form.

Open-Source Software 

If you aren't a Computer Science major, chances are you have never heard of open-source software.  Most of us are trained to use windows, and a small percentage of us are trained to use Mac's, but did you know that there is a third contender in this operating systems race?  It is called Linux, and was derived from Unix a while ago as a free operating system alternative to both Windows and Mac.  By free, I mean absolutely free.  If you are knowledgeable enough to tweak the code found in the Linux system, you can even design your own free software systems that model Linux.  Along with this operating system comes thousands upon thousands of free applications.  Linux has been lucky enough to morph into a complete operating system, and by that I mean that you can do everything in Linux that you would ever dream of doing in Windows and more!  The applications that are available for Linux mimic most software on Windows, and most of them even allow you more freedom if you're willing to learn a few things.

Luckily Linux is finally starting to become mainstream as it morphs into an easier system to use for those people that don't want to learn the basic commands for Linux systems.  Dell and other personal computer providers have started to ship computers with the offer of having Linux pre-installed, showing just how acceptable this alternative operating system is.  It has even become so mainstream recently that some K-12 school have decided to install Linux on their schools computers.  It allows them to save so much money over the pricey Windows operating systems, allowing them to focus on better things for our youth.

Software Engineering
As many software companies are growing bigger and releasing bigger software, the theory of software engineering is starting to take a real hold.  Instead of flailing around trying to finish a piece of software, the idea behind software engineering is that you will choose a design method to follow during the entire process.  This allows companies to be more efficient with their software releases and to be more impermeable to many software design flaws.  These methods make sure that adequate processes are taken throughout the course of the software design process, thus reducing the chances for failure at the end of the design phase.  Not only does this help the customers with more reliable, efficient software, but this allows the companies to be much more efficient with the way that they design software.  Most of the processes are designed to allow the software companies to fail early if they are going to fail at all, that way that precious money can be saved.  If a company is a month from a major release and they realize that the software is horrible because of their design process, that company will lose a plethora in money just trying to restart or revive the project.  All of this may seem irrelevant or unneeded for small groups working on small software packages, but anyone that does any process, regardless of a Computer Science major or not, uses the processes found in Software Engineering.

No comments:

Post a Comment