Getting Started: A Beginners Guide How to Use GDB

One of the most frustrating parts about coding is when you have an error you just can’t seem to find or fix.

You know the feeling. You crushed a case of Red Bull, put on some headphones, and worked through the night writing hundreds – if not thousands – of lines for your program. Just when you think you’ve got it perfect, you execute and… nothing.

Of course, you could manually go back through your code line by line, looking for a missing variable or a symbol potentially out of place. But if your program has thousands of lines, this could be extremely time consuming and tedious. You might simply skip over your mistake by accident, and even if you do find something wrong, how do you know it’s the only problem in your code?

The best way to effectively solve these errors is by running a debugger.

There are a few reliable debugging programs out there, each with their own merits, that can help you find your mistakes. Seasoned coders will probably already have their preferences. But if you’re a novice or simply looking for a new program to try out, we recommend you learn how to use GDB.

What Exactly is GDB? How to use GDB?

Window of computer code

GDB is a free debugger that’s offered from the GNU Project. The debugger allows users to see what was actually happening within a program as it was running, up until the moment it crashed. How to use GDB? Users can set up the GDB to start and stop and specific moments in the program and will receive a notification of which line of code caused the program to crash.

GDB was traditionally used with programs on the Linux operating system, but it will also work with most popular Windows variants and even macOS. The debugger can also be run using about a dozen popular computer languages, including C and C++.

Downloading GDB is fairly straightforward. The latest version of the debugger can be accessed on the GNU Project FTP server.

The GNU Project also offers older versions of GDB going back to 1988. These versions are simply for nostalgia, they most likely won’t work on modern computers and programs.

Helpful Debugging Functions You Can Run in GDB

How to use GDB? GDB is a favorite among developers and coders for its simple and yet detailed functions. There are a handful of ways to use the program for your specific needs, and the more detailed you wish to get, the more complicated the steps can be.

Many university computer science departments have guides on how to execute these more difficult commands, we’re going to keep it simple.

Using guidance from some of these tutorials, we’ve put together a beginner’s guide with a few of the most basic commands you can utilize once you learn how to use GDB.

1. Setting Up GDB

The first thing you’ll need to do is indicate which program you’d like to debug.

How to use GDB? To tell GDB which files you want to test, simply input a “-g” with your GCC right before the program name you’d like to debug. For instance, if your program is named hopscotch, then your prompt in that part of your GCC would appear as “-g hopscotch.”

2. Running Programs in GDB

Once you’ve signified which program to debug, it’s a simple command to begin GDB. Assuming our program is named hopscotch like in the scenario above, you need to input “gdb hopscotch.”

At this point, you should receive a message that provides copyright and license information and some basic rules for GDB – which basically just say the program is free and you are able to make any changes you see fit. At the end of the message, you’ll see a prompt that says “(gdb).” To run the program, simply type “run” after this prompt and hit enter.

If your program is clean, it will run as it normally would. But if you have any errors, you’ll receive a message that tells you exactly which line and parameters caused your program to crash.

3. How to use GDB by Using Breakpoints in GDB

There might be some instances where it’s advantageous to debug your entire program, but chances are you’ve been testing your code as you’ve progressed so you don’t need the debugger to recheck the lines you know are working correctly.

How to use GDB? You can insert breakpoints into your GDB program, which simply tell the debugger to stop at a specific line. If GDB finds an error before this point, you’ll receive an error message with the location and parameters. However, if the debugger makes it to your specified line without encountering an error, you’ll be given another gdb prompt.

To run GDB with a breakpoint, you’ll simply insert the line at which you’d like the program to pause after the program’s name. For instance, if you want GDB to stop after the 10th line of code, you would input the following after the (gdb) prompt: “break hopscotch:10.” You can insert as many breakpoints as you like, but once you give GDB the run command it will stop at your first break point unless it finds an error prior to that line.

In addition, you can also set up a breakpoint for a specific function. This is helpful if you don’t know exactly in which line this function appears. An example would be for “myfunction” which would be described in your code somewhere. Simply enter “break myfunction” after the (gdb) prompt and the debugger will pause when it reaches myfunction.

If you ever need to remove a breakpoint, you can simply type delete and the breakpoint number (your first break point is number 1, the second is number 2, and so on) in the (gdb) prompt.

4. Continue and Step Commands in GDB

If GDB reaches your breakpoint without an error, it will pause the debugger. You’ll need to give more commands here to resume.

You have a few options how to use GDB, but these are the most common:

  • Continue: This will prompt the debugger to move to your next breakpoint if another one was established. If not, it will keep running until the end of the program. If GDB finds another error, it will stop and provide the location of the problem.
  • Step: This will prompt the debugger to move to the very next line in your program code. It will then pause until you give another command. This function is helpful if you want to check a specific area line by line, but can become tedious if used for a large section of your program.

5. Watchpoints in GDB

While breakpoints are helpful when you want to pause a specific program at a specific spot, watchpoints help keep track of variable and conditions changes. For instance, if you have a variable that you always want to be NULL, a watchpoint will cause the debugger to stop if that variable is ever assigned a valued other than NULL.

This functionality is helpful so you don’t have to stop the debugger each time a specific function or condition comes up, but rather only when GDB detects a change.

The command to set up a watchpoint is very similar to the one used to establish a breakpoint. After the (gdb) prompt, you’ll enter “watch” and the variable you want to monitor. Your command would look like this: (gdb) watch myvariable.

6. Help Command in GDB

If these commands do not perform the function in which you’re hoping to run with GDB, the debugger has a crude help menu.

How to use GDB in simply type “help” after the (gdb) prompt and you’ll receive a list of about a dozen classes of commands. Some of these classes include:

  • aliases
  • HireAHelper user-defined
  • breakpoints
  • HireAHelper obscure
  • internals
  • HireAHelper Support

From here, you can type “help” followed by a class name and you’ll receive a more detailed list of commands.

If you type “help” followed by a command name you’ll get a complete summary of what that command will do.

Finally, if you type “help all” you’ll receive a full list of commands that are available.

7. Quitting GDB

Once you’re finished running your debug test, don’t forget to quit GDB.  This is done by simply typing “q” after the (gdb) prompt and hitting enter.

Start Using GDB to Debug Your Programs

computer screen with code written in white on black screens

Remember, this is just a basic overview of how to use GDB. By experimenting with different commands, you can test a variety of variables and make changes to your code to see how it will impact your program. Consider the help function to learn additional commands you can use in your tests.

All that’s left to do now is to play with the debugger to see how well it detects errors in your program – or how well you were able to code your program.

How to Install Battle.net on Your Gaming Computer

Unless you’ve been living under a rock for the past two years – or at least deep in the woods cut off from civilization – you’ve probably heard of Blizzard’s hit video game Overwatch.

The first-person shooter has been a hit from nearly the moment it was released in 2016. Since then, it’s become a worldwide phenomenon, attracting millions of fans and spawning the Overwatch League earlier this year.

If you haven’t gotten on the Overwatch bandwagon just yet, you have a few options if you want to start playing.

Console fans will always be able to play their games on their Xbox One or PS4 machines. But if you prefer the more traditional desktop experience, you will need to install Battle.net in order to play.

What Exactly is Battle.net

a game showing the character may used in battle game

Battle.net is a desktop app for your computer which gives you access to games, features, and chats all exclusive to Blizzard.

This app puts all of your Blizzard games in one place. You’ll need to pay for some popular titles like Overwatch and the new installments of World of Warcraft, but you’ll have access to free versions of other popular Blizzard games, such as StarCraft II, Heroes of the Storm, and Hearthstone.

Battle.net also adds a social component to its games directly on the app. The majority of the games offered by Blizzard are multiplayer team-based shooters or strategy games. Users on Battle.net can add contacts directly in the app so they’ll be able to see if their friends are currently playing a game.

Gamers can then jump right into the action to join their friends – or team up against them. Plus, the app gives gamers the ability to chat or send direct messages to their friends. So basically, you can plan an all-night battle royale entirely in the app without needing to pick up your phone or make a call.

Finally, Blizzard will send game updates and notifications directly to users on the app. Even if you aren’t playing a game, the app will automatically run updates when they are available, so you don’t waste time waiting for your game to update when all you just want to start racking up the kills.

In addition, Blizzard will send news updates and free trial information to everyone on the app. Battle.net is more or less your one stop shop into everything Blizzard.

6 Steps You Need to Take to Install Battle.net and Customize Your App

This all sounds good, but how do you get the app on your computer?

Fortunately, Blizzard makes the download, installation, and setup process extremely easy. In just a few minutes, you can be joining your friends or a group of random strangers in an online battle that could last all weekend – or at least until your parents make you go to bed.

So, what are you waiting for? Here are the 6 steps you’ll need to take in order to get gaming on Battle.net.

1. Locate the App on Blizzard’s Website

The first step is pretty self-explanatory. Go to Blizzard’s website and look for the link to download the app. It’s easy to find, simply scroll down just below the bottom of your screen for most monitors to the Games section.

Underneath the list of games, you’ll see a link to the Blizzard Battle.net Desktop App. Click on that.

2. Select Your Computer and Download the App

You should now be on a landing page for Blizzard’s Battle.net app. On the left side of your screen, you will see a button that says download for Mac (if you are using a Mac) or downloads for Windows.

If the button does not properly display your operating system, there should be a text link with that option directly underneath. Click on the link that’s appropriate for your computer.

3. Run the Setup to Install Battle.net

Once your download is completed, open up the file and double-click on the Battle.net Setup to begin your installation.

You will be given an option to select your language and the installer will run an update to ensure you have the latest version. Depending on your internet speed, this process should take less than a minute.

You’ll then select a download location on your computer for the app. It should default to whatever settings you have when installing a new program. The app will then finish downloading, which should take another minute or so.

4. Create Your Free Account and Battle Tag

Once the installation is completed, the app will automatically open. You’ll see a login screen that asks for your email and password. If you already have an account, log in and go to the next step.

If this is your first time to Blizzard, you’ll need to create your account.

At the bottom of the login window, simply click on the link to Create a free Blizzard Account. You’ll be shown a form in which you’ll need to put some basic information, like name, birthday, location, email address, password, and a security question and answer.

You also have the option of using Facebook or Google information.

Once you submit your information, you will need to select your BattleTag (AKA a username), which will be how you are seen publicly by others on the app. BattleTags can only be 12 characters at max, so be creative.

5. Download Games

If this is your first time in Battle.net, you’ll get a message saying the app could not find any games. Don’t be alarmed. This just means the app couldn’t find any games on your account because you simply haven’t downloaded any yet.

In the upper left corner of your screen, you’ll see a games category. If it’s not already highlighted, click on that and you’ll see a list of available games on the left side of the app.

Some of these games you can download for free, but even the ones you need to purchase will allow you a free trial. The only exception here is Overwatch, which you need to purchase in full if you want to play.

6. Go Make Some Friends

There are a few ways to make friends on Battle.net.

In the upper right-hand corner of your screen, you’ll see a small icon with two people with a number next to it. That figure indicates the number of friends you have on the app. If this is your first time logging on, that number will be 0. Let’s fix that so you don’t feel sad.

Click on the icon and a popup window will open. Again, it will show you have no connections. But once you do have friends on the app, you’ll see them listed here. You can even indicate which ones you want to label as favorites.

To find connections, click on the button that says, “Add a Friend”. Another window will pop up that gives you a few options to locate friends. If you know someone’s BattleTag or the email address they used to create their Blizzard account, you can search for them here. The window will also show suggested friends, which are people you’ve recently played within a game or friends of your friends.

Lastly, Battle.net lets you search Facebook for friends who play Blizzard games. Click on the Facebook tab and then click Find Friends. This will open Facebook on your computer. Simply follow the prompts to link your Blizzard account to your Facebook account, and then you’ll see in the app a list of Facebook friends who use Battle.net.

Add some friends, invite them to join you in a game, and start playing!

Don’t Forget to Install Battle.net on Your Mobile Phone

two mobile phones showing messages and notifications

As an added bonus, Blizzard gives you the option to also install Battle.net on your mobile phone. You can’t play any games on the mobile app, but you can still use the chat features to stay in touch with friends. The mobile app also gives you the ability to see what your friends are playing (if they get in any last-minute strategy sessions while you’re away, you’ll know about it).

Finally, you can search and add new friends using the mobile app, pretty much the same way you would on Battle.net for your desktop. So, if you meet someone while you’re out and get into a conversation about Overwatch, you can simply add them as a friend right there. Because you know you’ll forget when you get home.

To find the Battle.net mobile app, just search the App Store or Google Play. Just like the desktop version, it’s free to download. You just need to log in using your Blizzard account, and you’re good to go.

Is Mac OS X Truly More Secure than Windows?

The Mac OSX vs. Microsoft Windows debate runs hot and heavy, and one of the primary things people want to know is: which is safer? For years, Mac users have contended their devices can’t be hacked, but after recent attacks, we know they’re vulnerable. The question is, how vulnerable? We dive deep to uncover the truth.

“Macs are more secure than Windows” is a common statement heard by consumers, but we all know that a lie believed by a million people is still a lie. Does that mean Macs aren’t secure? We dig deep into the facts and expert opinions to find the important truth.

Why Does Security Matter?

Security Features Mac OS X
Photo credit to Macworld UK

Internet and device security seems to be a hot topic these days, but what does it mean for most people, in real terms? For starters, internet security has implications for international affairs, but it also has implications for the security of our money, our physical security, and the security of our online reputations.

Let’s take a closer look at each:

Government Security in the Age of the Internet

Government Security in the Age of the Internet
Photo credit to Wikipedia

Data breaches are on everyone’s radar these days, and for a good reason: ransomware, a type of data breach in which hacker’s demand ransom money to release your files, forced payments to hit an incredible $2 billion last year. It’s predicted they’ll cost corporations $9 billion in 2018.

This means, of course, higher costs for consumers when the ransom fees are “passed along,” but it also means security breaches. You’re not just handing over your banking information; in many cases, you’re handing over sensitive documents, email correspondences, health information, and more.

Mega-corporations like Equifax and Yahoo, as well as governments entities, including the National Security Agency, have been compromised and there’s a potential for even greater injury. In the UK, when hospital computers were temporarily locked, surgeries were delayed.

Why does this matter in the Mac OSX vs. Windows debate? Because nearly 90% of today’s computers operate on one of the two operating systems. If they’re vulnerable; so are corporations, governments, and…us.

Bank Fraud and Identity Theft

Photo credit to Freepik

If government shutdowns don’t concern you, you might need to look a little closer to home. We rely heavily on Mac and Windows operating systems in our everyday lives, from online shopping to online grocery ordering to online banking.

An attack on our home PC is more than just an inconvenience or the loss of our files. It can also mean the loss of our identities. In fact, just the accidental omission of an “o” in the .com of a popular website can bring to a website that’s been booby-trapped with malware and viruses designed to steal your money and your information.

Security and the Internet of Things

Security and the Internet of Things
Photo credit to Praetorian

The internet of things (IoT) is a relatively obscure term that encompasses everything from our home computers to our phones to our smart locks, smart televisions, and smartwatches. If it’s a device that exchanges information with another device, it’s a member of the IoT.

The trouble with the IoT is that these devices often have operating systems that are vulnerable to attack. Could a smart car, for example, be hacked and hindered? Tests have shown that it could. Could, say, your smart television be hacked so that you’ve listened in on? Yep, that, too.

These aren’t just personal concerns; these are industrial concerns. The IoT has applications that range from running huge combines harvesting wheat to flying drones to powering electrical grids. While some organizations have called for better protection, consumers by and large rely on manufacturers to protect them.

This brings us back to our home computers and our original question: when it comes to the two main computers most people use, which is safer, a Mac or a PC?

Let’s Define the Problem

First of all, when we talk about security breaches, we should be clear on what we’re discussing. In a Mac vs. PC showdown, what we’re comparing is Apple’s operating system (OS X) to Microsoft’s (Windows).

Linux, the third most popular PC operating system, is a great system but it’s a very distant third. Together, Windows and OS X dominate. The other thing that’s important to know is that, in the OSX vs. Windows debate, Windows has the lion share of the game.

Mac, despite its huge popularity, only has a small percent of the market share. This brings us to an interesting point: if Macs are much less popular than Microsofts, why are they such a pivotal part of this conversation?

Security and the Internet of Things
Photo credit to Coherentnews.com

Let’s Take a Walk Down Memory Lane

To answer that, and to discover the source of the “Macs are secure” idea, we need to look back to some of Apple’s first Mac vs. PC ads, nearly a decade ago. In hilarious and brilliant Get a Mac campaign, Apple laid out the benefits of a Mac, including the “fact” that they were less likely to be infected with a virus than a Microsoft PC.

While this wasn’t the whole truth, it sparked the idea in hundreds of thousands of people’s minds, and a legend was born.

The fact is that Macs are not indestructible; they can, in fact, be infected with both viruses and malware. Recently, for example, the OXW/Pinhead-B trojan was discovered monitoring browsers without the knowledge of Mac users. What’s worse is that it could take screenshots of your internet activity, monitor your files, send email from your account, and more.

We’re Not in Kansas Anymore

Also, it’s not uncommon for vulnerability analyses performed on both the Mac OS X and the Microsoft Windows OS to find similar issues. Sometimes, hackers even find more vulnerabilities in the Apple than they do in the much more popular Windows!

While it’s completely untrue, then, to say that Macs are not impervious to attack, why do so many people feel so safe? It’s not uncommon for Mac users to go without installing security software; why does this false attitude persist?

Part of the reason for Macs’ sense of security is that, traditionally, there have not been as many bad players aimed at Macs. Because there are so many more Windows PCs, most attacks have been built and designed for those.

Of course, there are those computer experts who have found Macs more difficult to exploit. For malware to make a breach and cause damage, it has to be able to attack a vulnerability, and many feel that, on a surface level, Apples require the more complicated breaching protocol.

Mac OS X and Microsoft Windows OS
Photo credit to Difference Between

False Security

That should not, however, continue to lull consumers into a false sense of security. As Apples become more and more of an incentive for hackers, Mac users might be in more danger than Windows users, simply because they’ve taken so few precautions.

Unfortunately, it boils down to simply psychology: it doesn’t matter how great your security system is. If it’s not armed, attackers can get in and steal everything, which is exactly what might happen with a Mac if an Apple OSX user doesn’t exercise caution.

The Other Side

We’d be remiss if we didn’t also share the flip side of the argument, which is that Macs simply don’t pose an attractive enough threat to hackers. Since the vast majority of computers are running on Windows and hackers seem to want to create the most damage possible, Macs aren’t an opportunity like their more common counterparts.

It’s fairly common, in fact, to find somebody talking about how they’ve owned a Mac for over a decade that’s never had a security attack.

Plus, most attacks on Macs to date have been Trojans, which take advantage of a weakness in the end-user, not the computer, itself. A trojan works by disguising itself as something helpful; when the user clicks and installs it, it embeds itself and becomes very difficult to get rid of, and sometimes impossible to detect.

Mac OS X and Microsoft Windows OS
Photo credit to Business Wire

Lock Those Doors

Finally, the Mac OSX has some built-in security features that Windows computers don’t have. For example, Macs are Unix-based, a system that’s been likened to a series of fire doors, making the fire–or, the virus–less able to spread.

In some of the most recent versions, Apple has included what it calls a GateKeeper, which prevents Macs from downloading or installing any app or software that isn’t Apple-approved. It also comes preloaded now with Java and Flash plugins. Since these are often the bearers of Trojans for Macs, eliminating the need for downloading them eliminates a huge risk of infection.

Security Mac OS X and Microsoft Windows OS
Photo credit to ExtremeTech

Can We Be Safe?

What’s the bottom line for you, as you’re deciding between a Mac OSX and a Windows? Ultimately, the responsibility for protecting yourself is in your own hands. Frankly, while you might be less likely to encounter an attack with a Mac, it’s wise to prepare for one no matter what operating system you’re running.

Do your research and find a high-quality virus and malware protector for your computer. That’s the best way to protect yourself.

 

Linux vs. Ubuntu: Learn the Primary Differences

 Looking for a new OS and trying to decide between Linux and Ubuntu? We break down the (surprising!) histories of these two Linux distros and explain pros and cons to both. Plus, we wade into the security concerns over Linux Mint; should you avoid it? We help you answer that question once and for all. 

If you’re even the tiniest bit tech savvy, you’ll know there’s a vast difference between Windows and Mac operating systems. What you might not realize, however, is that there is a whole world of available operating systems that have nothing to do with either Windows or Mac!

Most of the time, beginners are pointed towards Linux Mint or Ubuntu. Both of these operating systems are excellent choices for people just starting out, but they vary in some important ways. In this article, we’re taking a deep dive into all things Linux and Ubuntu to help you understand the differences, and decide where you should start.

What Is an Operating System?

To best understand Mint and Ubuntu, we should first clearly understand what is meant by the term “operating system.” An operating system is a software that manages software resources and computer hardware. It allows one computer program, for example, to be used by a wide variety of computers (including phones!).

We’ve already touched on how popular Microsoft Windows and the macOS from Apple are. Together, they account for more than 84% of the market, with Google’s Android and Apple’s iOS accounting for 99% percent of the smartphone and tablet market.

Linux, however, is a distant (but important) third, with just over one and a half percent of the computer market. More importantly, Linux dominates when it comes to servers and supercomputers.

Computer Operating Systems
Photo credit to YouTube

Open Source Software

Linux is an example of open-source software. It is distributed in source code form and built and created by different entities and people. It doesn’t come as a complete package, either, the way Windows or your macOS will.

Instead, different organizations work on the following disparate parts:

  • The GNU shell utilities (this provides the commands we use as well as the terminal interface)
  • The kernel (which, for Linux, is the core of the entering OS)
  • The desktop environment (provides a graphical desktop by running on the X server, explained below)
  • The X server (works to support the desktop environment)

While you can nab each of the separate parts and combine them, this is extremely time-consuming and quite difficult. Plus, it’s a ton of work! That’s where Linux distributions (often called distros) come in. They take all those open-source project codes and combine them into a single OS.

With a distro such as Linux Mint or Ubuntu, you can simply boot up your computer and install. Plus, distros add special touches, such as themes. That’s the magic of a distro, and that’s why Mint and Ubuntu are often recommended to beginners.

Computer Open Source Software
Photo credit to lamphimquangcao.tv

Variations Among Distros

Distros vary according to their purpose. Some are designed to be used by servers (and therefore don’t have a graphical interface) while others are designed for special purposes, like the PC you use for your home theater.

Linux distros serve a wide variety of purposes and come in an even wider variety of forms. Some include only open-source software (Fedora is one such distro) but others, such as Mint, include closed-source software so that users have a better experience.

The default desktop environments from one distro to another also vary rather dramatically. Unity, for example, comes with Ubuntu, while you can get Cinnamon or MATE with your Mint. Fedora, another distro that’s commonly compared to Mint and Ubuntu, comes with GNOME Shell.

Computer Open Source Software
Photo credit to Open Source Initiative

Try it Out

As you explore the differences between Ubuntu and Mint, keep in mind that the decisions are fiercely personal. Both distros are excellent choices for PCs, but the best way to know which you prefer is to try them out yourself. Fortunately, it’s easy to do so.

All you have to do is download them and either burn a DVD that’s bootable or create a USB drive that’s bootable. Next, restart your computer, booting from your DVD or USB drive, and you can use your new Linux distro in live mode.

Some newer computers require you to disable secure boot first, but this is easily done. If you like your Linux distro, you can then install it directly from the live environment (which will not, coincidentally, mess with your existing system).

Why Ubuntu?

Now that you know what an OS, a distro, and Linux are, let’s talk about Ubuntu, specifically. Ubuntu is a Linux distro based on another Linux distro, Debian. It’s offered in three packages: Ubuntu Desktop for PCs, Ubuntu Server (for, cough, servers), and Ubuntu Core for IOS (internet of things) devices.

Debian itself has been around since 1993, more than a quarter of a century! New versions of Debian are still being released, but the original point of Ubuntu was to take the stable, respectable Debian and make it faster and more user-friendly.

Ubuntu’s name comes from the South Africa philosophy of human-ness and is produced by Canonical, a privately held software firm created by South African entrepreneur Mark Shuttleworth. Canonical uses a meritocratic governance model to provide commercial services for Ubuntu-related products.

This means the company can create new releases every six months, as well as provide support. Ubuntu has become the most popular choice for cloud OS.

Ubuntu Operating System
Photo credit to Fossbytes

Unity for All

Ubuntu users receive the Unity desktop as a default, those with minimal effort you can install and use a variety of other desktop environments (Ubuntu maintains a robust library plus there are third parties that create personal packages, known as PPA).

It is the Unity desktop, in fact, that will remind Mac users of what they’re used to, with working windows and a left-hand application launcher. Unity utilizes windows and global windows in a similar fashion to Windows and comes with Firefox.

Why Mint?

We have a bit of a surprise twist for you. Mint, as it turns out, is based on Ubuntu! While the two distros have both come far enough that they’re quite different now, they were originally very similar. Mint’s first Ubuntu system was called Barbara and was released in 2006.

It was only lightly customized, with software that was slightly different from the original. In fact, the main difference was that it included Flash, Java, and other proprietary software and multimedia codecs. Users loved Mint’s convenience, often more than they loved Ubuntu’s idealistic setup.

Mint is now its own entity, with a customized desktop, main menu, and configuration tools and unlike Ubuntu, it is community-driven (with Clément Lefèbvre as the brainchild behind the thing).

Instead of Unity, Mint users can enjoy Cinnamon or MATE desktops, though they do have to be content with less consistent software updates (this had led to some security concerns, which we’ll explain below).

Mint is often recommended for computer users who desire more traditional desktop experiences; Cinnamon and MATE both have complete taskbars with window lists, pop up app menus, and so forth.

Mint Ubuntu Operating System
Photo credit to OMG! Ubuntu!

Linux Mint vs. Ubuntu

Some of the differences between Mint and Ubuntu are fairly obvious at this point: Mint has the more traditional desktop setup (here’s a fun wrinkle: you can install Cinnamon on Ubuntu!), while Ubuntu has more long-term support and an established schedule of updates.

Mint used to be preferable for people who didn’t want to install media add-ons later, but Ubuntu has made that process so easy that it’s not an issue anymore. The fact is that Ubuntu may well be the more popular distro of the two, which means a lot if you’re just beginning.

The fact that you’ll see tons of community support available for your Ubuntu means a lot when you hit a snag or major issue. On the other hand, the consensus is that Mint offers better configuration. One example is that you’ll see a whole setting application for the Cinnamon desktop, whereas you’ll only see a few options with Ubuntu’s Unity.

Linux Mint vs. Ubuntu
Photo credit to YouTube

Secure?

A Canonical employee who worked on Ubuntu made waves years ago when he alleged that, because Mint blocks certain security updates, he wouldn’t do his personal online banking via a Linux Mint PC. Debates hammered out the arguments across internet forums, but it left many of us wondering–is Mint secure?

The bottom line for most is that most home desktop users will probably not be compromised. Ubuntu, as it turns out, updates everything by default, shoring up vulnerabilities even if they’re not likely to be breached. Mint, on the other hand, excludes the updates that might cause problems.

Ultimately, it’s up to the user to decide which he or she is more comfortable with!

Ubuntu and Linux Mint are both excellent distros for beginners or people who just want a good OS for a new or existing computer. Do you agree with our break down? Which will you choose? Let us know in the comments!

Key reasons why you should start to learn Python, from a Python nerd perspective

Having started Python computer programming language in my teens, it is lately that I am seeing the fruits to it . As almost everything is getting automated by a computer technology behind it, coding is becoming a necessity, especially for those who want to learn how things work under the hood.

Since a little child, I have had the desire of owning a personal computer and giving it commands to run stuff. Although not a professional programmer, finally I can easily automate tasks on my personal computer with the help of different software technologies such as bash scripting, terminal utilities and for sure Python.

Those who are totally unaware of the programming technologies and their specific usage, have all the reasons to ask why it is important for one to start and learn a computer programming language. Being a computer nerd, through this article, I am going to share the key reasons why it is important for one to start and learn Python programming language.

Before giving one the key reasons on why they should start and learn the Python computer programming language, let me share a few words about the technology itself.

Python technology explained shortly for complete beginners

Python is a high level scripting language widely used by professional software developers all over the world. It offers rapid development due to its high level nature, and many startups  make use of it for prototyping. Not only is Python used in big projects and large codebases, but it is also being utilized by system administrators  in the automation of their daily tasks.

As an interpreted computer programming language, Python is very beginner friendly as it helps one test and run their code interactively in their Python shell.

Giants such as Google and Youtube make heavy usage of the Python programming language, they have projects which depend entirely on such computer coding technology.

Not only is Python computer programming language being used to create Desktop based apps, but also in the web development industry with frameworks such as django, flask, pyramid, plone and many others.

Key reasons why one should start to learn Python programming

There are many reasons why one should learn a computer programming language such as Python, but through this article we are going to provide you guys the key ones, all of them come from personal journey with Python coding.

Almost everything is getting automated

As everyone of us is experiencing it, lately the technology is automating almost every part of our lives, from shopping payments to private medical records. Computer software is being used to automate stuff in our daily lives, and code powers the software.

When one has knowledge on coding technology, it is easier for them to interact with software and even write their own scripts to automate tasks so they can avoid repeating themselves and also utilize their computer resources to the fullest.

Not only automation gets easier when one has knowledge on a specific coding technology, but understanding how things work under the hood becomes available to them. Most of the web projects on the Internet provide an API for the developers to interact with.

Python has many libraries which can be utilized to send requests on the Internet, making it really easy for one to interact with online applications available out there.

One can write their own utilities and computer programs in Python

Knowledge on a specific coding technology such as Python, provides one  the ability to write software which matches their specifics, in a very short time, since Python fits great for rapid development.

Python can be used to write simple scripts to solve practical problems, but if used properly by a skilled developer, large systems can be entirely powered by it.

Having intermediate knowledge on Python programming language, one can easily express themselves in computer code.

Python developers get paid to write professional code

Not only can Python help one to automate their computer tasks, but it can also make money to them. For one to get paid for their Python code, it takes time, as becoming a professional does not happen over night.

Personally, I have been paid for some Python code I have written and I can truly say that it is a great feeling to make money as a computer programmer.

Python is easy to learn

There are many coding technologies which if used properly can achieve the same things as Python, but as far as my experience goes, none of them is as beautiful as Python. Easy to learn, its beautiful syntax makes Python very easy to read. Not only it offers rapid development when it comes to software prototyping, but it also makes it easy to maintain the project’s codebase due to its readability.

To master the craft of Python development, for sure it takes a lot of time, not months, but years! For one to learn the basics and level up to an intermediate position, three months is enough.

Python has the most welcoming community

There are computer geeks worldwide that make use of Python technology in their software development projects. Not only are they skilled with the latest Python tips and hacks for professionals, but they have deep love for the community. Back in 2013, I had the chance to attend EuroPython, a conference in which developers from all over the world gather with the main purpose of sharing their experience with the Python coding technology.

Some of the most beautiful days of my life! The Python community is very welcoming, it’s like a good heart which shares love without conditions constantly. And it does not stop!

Python is free as in beer, and OpenSource

One doesn’t have to purchase any license to make use of the official Python technology. Anyone can easily download the latest Python interpreter from the official website and start to experiment on their own. Not only is Python free as in beer, but it is also open source, which means that the code which composes it, is available for the public to study.

Nowadays, it is really important that people use open technologies as there is a lot of mass surveillance going on. It is always a good idea to know how things work under the hood, only this way one can be aware of what really goes on while working with their computer.

Python has a great support on the Internet

When one starts their coding journey, it is normal for them to get stuck on different parts of the entire experience. Having been stuck myself with all kinds of errors produced by the Interpreter, I know how it feels. I have experienced the struggle of a complete Python beginner.

Fortunately for those who is interested in learning computer programming with Python, there is so many useful tutorials on the Internet, which can be used to advance skills on the coding journey.

There is also many books written about Python programming language, especially for complete beginners who need support more than anyone else on their computer programming journey.

Final thoughts

Nothing comes easy in this life. Hard work and dedication is the key, especially in the beginning. Being a Python nerd myself, I have experienced very bad days debugging all kinds of errors thrown by the projects I used to write on my own free time.

As a technology, Python fits perfectly the needs of the beginner programmer.