What your inner computer geek should know about Python and Linux

Python and Linux

Having been around computers since my youngest years I have always been curious how they work, so I started playing around with them. I love computers… because they do what you tell them to do!

Being a computer geek is really a nice skill to have nowadays as almost every task we depend on in our daily lives involves a machine. Unless you are some kind of hippie living way off the grid, you’re using machines constantly.

To be honest with you, geeky computer skills do not just come to you overnight. There is always a lot of study and practice involved. No doubt, there will also be some frustration.

With the vast number of technologies currently available on the internet, it is real hard for a novice computer user to decide where to start and what to study. Not only this, but sometimes the documentation is boring or poorly written… there are a lot of reasons to give up!

Coming from a lot of struggle myself, I’ve decided to compile a few tips on two of the technologies every aspiring computer geek should start to learn: Python and Linux.

Linux is an operating system like the others

There is so much buzz on the internet about Linux being an advanced operating system only guys with a beard like Richard Stallman can use. Even though many believe this to be true, I’ve never had such a beard!

My skills are not bad when it comes to the terminal. I have managed to master the basics, such as connecting to a remote server via ssh, listing files inside a directory, copying data and even googling through the terminal. It is really a pretty cool program once you get the hang of it!

Like Windows or Mac Os X, Linux offers most of the tools one would need to fill their needs such as a document reader, word processor, media player and even simple video editors. What makes Linux different is its open source philosophy which means that the code which is being used to run the operating system is available for the public giving geeks like us the opportunity to learn how stuff works under the hood.

The terminal myth

It is not true that one cannot work on Linux without command line skills. There is a graphical user interface which allows the user to interact with the operating system making it easy even for beginners to feel comfortable using Linux.

Unless you plan to run a Linux server, being a professional at the console is not required to make use of any of the distributions available out there.

Linux is free as in beer

Anyone can download a Linux distribution for free and install it on as many computers as they want. The folks behind Linux encourage anyone to share their downloaded copy with their friends or neighbors.

As we all know, sharing is caring guys!

Linux performs better than any other operating system I have used

It is far from perfect, but for the same resources Linux performs better than Windows 7 or Mac Os X. This is subjective, but it is not only my experience. There are many other computer folks who share the same opinion.

Linux has a very warm community

The Linux community is very welcoming to the beginners offering them answers for any question they may have. The feeling of being stuck once you get one of the Linux distributions for the first time vanishes completely as soon as you post the problem you are experiencing in one of the forums where geeks like me love to spend their time.

Always ask questions, everyone in the Linux community will be happy to help!

Linux offers many useful command line utilities

There are plenty of utilities available for Linux distributions, such as: the file downloader over the http protocol, image viewer, calendar app, calculator and even multimedia frameworks such as ffmpeg.

Thanks to the developers who contribute to open source Linux, geeks have plenty of tools to choose from to accomplish their daily computer tasks.

For example, one can use a special utility on their Linux machine to remove the exif data from an image file so their home gps coordinates do not get published worldwide.

Linux is way more secure than Windows

Due the major distribution all over the world the Windows operating system is a target for many computer pirates who want to get famous or make cash by creating and spreading viruses on the Internet.

There are Linux trojans out there, but since computer criminals have more experience creating Windows malware it is easier to rat a Windows 7 machine than the latest Ubuntu flavor.

A little bit about python

Enough with Linux. Another great technology which is very useful when it comes to automating stuff is the Python computer programming language which was created by a mastermind named Guido Van Rossum.

Python is open source

Like most of the great programming languages the Python code is open for the public and hosted on many source code platforms for anyone to download. A passionate soul is free to study the source code of this programming language in order to learn how it works so they can produce high quality code when writing applications.

The Python community is the best

I had the chance to attend Europython 2013 and I can say it was truly a great experience. The Python guys are so warm they feel like family! Everyone is so nice to you and they are ready and willing to help you improve your Python skills.

Python is used by Google and Youtube

Both Google and Youtube make use of Python for developing their applications.

Python is perfect for scripting

It’s high level characteristics make Python the swiss army knife of programs when it comes to automating, scanning a network by interacting with the Nmap tool for example. There are many ways one can make use of Python to automate their daily tasks as there are many libraries available for the job.

Python syntax feels like human language

Every programming language defines its own syntax which coders and developers need to learn in order to write something that works without producing errors. The syntax of python feels like the human language to me.

For example, the following piece of code is used to print a word in the console for the user to view:

print "unixmen.com"

It feels like communicating the english language to a machine, doesn’t it?

Python is an interpreted language

You run python code within an interpreter. The good thing about this is that you get the result of your code immediately without it waiting to compile, like in the C programming language for example.

Python is a high level language that is free as in beer

Compared to computer programming languages such as C, C ++ or Java, Python is a very high level language. Not only is it open source, it is also free to use the Python tools offered by the python.org site. You don’t need to pay for a license or anything else in order to code tools in this lovely programming language.

Python is used in the security field

Security professionals make use of the Python programming language to write their tools and exploits. There are so many security related open source tools coded in Python that can be found on github.com. Some of these tools come shipped with Linux distributions.

Python can be used as a web development tool

One thing I noticed at the EuroPython conference was the presence of many web developers that made use of Python and some other frameworks such as Django for coding web applications.

Everything is going on the web, it is a great skill to build web applications at the moment as the industry really needs talented developers.

Conclusion

Linux is a great technology which is used not only among geeks, but also in the banking industry, military and big data centers. Learning Linux is fun and it increases the chances for one to get a job in the IT field. But what is a Linux user without knowledge on programming languages? A fish in the aquarium!