Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

Friday, February 5, 2010

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

Biometrics
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.

Saturday, January 30, 2010

#6 Refined List of Research Topics (freewrite, 5-5-5 minutes)

Biometrics
This topic covers some very easily implemented programming concepts and some very intricate, complex ones.  The most basic, which I have done in a CS class, was to implement a very easy and basic eye scanner, something which could have been more complex and maybe fashioned into something usable.  Most of the biometrics stuff I have learned about deals with security issues on computers and many other places.  With a single eye scanner security can be made much more impermiable.  Just like your fingerprint, your eyes are also extremely unique, and now that I'm thinking about it, I think i've read that it is the most distinguishable thing about us humans.  Other uses of biometrics would be to test your gait.  I remember hearing about this in a lecture with Professor Heishman some time ago.  Apparently this can be used to detect people that should or should not be in the room at the time, almost like a under-floor security detection system.  Biometrics can also help with the disabled.  Just like scanners can use your eyes to secure certain places or things, they can also use them for people missing limbs so that they will be able to work in a better fashion in order to ease their lives.

Audio Compression
Although I havn't had any formal classes on this topic, I have seen enough of it to be interested.  No matter what you're listening to, each file has a certain file type extension.  These correlate to the compressions that the audio has undergone.  I am really interested in figuring out what these compressions actually mean for us humans, and to what extent the sound quality drops in our minds.  I am also interested in learning about DRM.  I know that many music companies sell their music with this type of security integrated so that the buyer won't be able to do anything illegal with that piece of music.  While on the topic of audio compression, I would also like to know how the compression is done.  I know most of it can be done on a computer with various software, but in what manner does the program actually compress the file to make it smaller?  It would be interesting to learn about the function and algorithms put in place to actually compress the files.  Does the software just pick out pieces of the music in different increments so that the song sounds the same, or is there just another algorithm for piecing the music apart while still allowing the original sounds to come through?

Network Security
I haven't had a formal class on this topic either, but while messing around with the topic on Linux I have opened my interests for this topic.  I've heard many instances of network security being very easy to break, allowing intruders into your home network where a lot of delicate information can be stored.  I know that WEP is the source of the problems, but I would think that after a while of being used it would either be honed down to be perfect, or another passwording system with better integrity would be implemented and take over.  In this topic I also know that there is cryptography.  I did a short project on this within the first year of joining George Mason University, and I know that the very basic level is completely overwhelming for a beginner in Computer Science.  During that project we learned that there are many various ways to crypt data and other information that you don't want to be found, and I know that various network traffic can be made secure, both via your browser (for example Google https) and in a terminal via secure file transfer, both of which are still widely used today.  I would be interested in learning some of the more secure ways of crypting data, and learning the uses of each one and how exactly they crypt and secure your data.