Language Selection

English French German Italian Portuguese Spanish

gg 480x60

Filed under

gg 480x60

More in Tux Machines

Linux Community: Stop Doing This To Windows 10 And MacOS Users

Unpopular opinion time: dual-booting Windows and Linux on your PC is actually great. I do it and I encourage it. Now, if you’ve read my articles here for the last 18 months or so, this statement may seem shocking. To some Linux users, it may come off as downright sacrilegious. I get it. “Prominent Forbes tech writer ditches Windows (1, 2), starts covering Linux full-time while touting all the benefits Linux has over Windows 10, produces a Linux podcast and YouTube channel, then says using Windows is fine?” Read more

Python Programming

  • Introducing our Jinja2 cheat sheet

    Jinja2 is a templating language for Python. While it got its start on the web for use with the Flask framework, it is popular in many other places. Both Flask and Pelican use it to template HTML pages, allowing seperation between style and content. Configuration management frameworks, like Ansible and SaltStack, use it to parametrize their configurations (Ansible playbooks or Salt state files, respectively). This allows the configuration files to take into consideration local machine parameters, for example. The Cookiecutter framework uses it to define its input templates, so that files that need the name of the project or the name of the maintainer can be parametrized. Jinja2 is used in many Python projects because it is both web-framework-agnostic and language-agnostic. This means that, for many Python projects in need of a template language, Jinja2's easy API and accessible template-designer documentation is an easy choice. Additionally, its popularity is its own advantage: for a project that needs a tempate language, using Jinja2 means being able to point to the wealth of documentation on writing templates. This makes Jinja2 a great choice for home-grown, internal project.

  • Forks and Threats

    What is a threat? From a game-theoretical perspective, a threat is an attempt to get a better result by saying: "if you do not give me this result, I will do something that is bad for both of us". Note that it has to be bad for both sides: if it is good for the threatening side, they would do it anyway. While if it is good for the threatened side, it is not a threat. Threats rely on credibility and reputation: the threatening side has to be believed for the threat to be useful. One way to gain that reputation is to follow up on threats, and have that be a matter of public record. This means that the threatening side needs to take into account that they might have to act on the threat, thereby doing something against their own interests. This leads to the concept of a "credible" or "proportionate" threat. For most of our analysis, we will use the example of a teacher union striking. Similar analysis can be applied to nuclear war, or other cases. People mostly have positive feelings for teachers, and when teacher unions negotiate, they want to take advantage of those feelings. However, the one thing that leads people to be annoyed with teachers is a strike: this causes large amounts of unplanned scheduling crisis in people's lives. In our example, a teacher union striking over, say, a minor salary raise disagreement is not credible: the potential harm is small, while the strike will significantly harm the teachers' image.

  • Python 101 2nd Edition Fully Funded + Stretch Goals

    The second edition of my book, Python 101, has been successfully funded on Kickstarter. As is tradition, I have added a couple of stretch goals for adding more content to this already hefty book.

  • List Comprehensions in Python

    List comprehensions are often used in Python to write single line statements that create a new list or dictionary by looping over an iterable object. This article will explain how to use list comprehensions in Python, starting with a basic explanation of how for loops work in Python. For Loop in Python A for loop statement in Python sequentially iterates over members of any object, list, string etc. Compared with other programming languages, its syntax is much cleaner and doesn’t require manually defining iteration steps and starting iteration. Though there are ways to make its behavior the same as other programming languages (won’t be covered in this article). You can also exercise some control over for loops by using statements like continue, break, pass etc.

  • Getting Started Testing with pytest

    This talk has been through a few iterations. In 2011, I gave a presentation at Boston Python about Getting Started Testing, based on the standard library unittest module. In 2014, I updated it and presented it at PyCon. Now I’ve updated it again, and will be presenting it at Boston Python. The latest edition, Getting Started Testing: pytest edition, uses pytest throughout. It’s a little long for one evening of talking, but I really wanted to cover the material in it. I wanted to touch on not just the mechanics of testing, but the philosophy and central challenges as well.

  • Learn To Code By Playing These Games

    Apart from an ambition to become a programmer and have an interesting well-paid job, there are plenty of reasons to learn coding even for those who see themselves in other professions. Programming can be helpful in many areas. It develops a structured and creative approach to problem-solving. If you know how to code, you also know how to break a problem down to smaller tasks with specific actions and measurable results. Your way of thinking becomes more logical and organized. Coding broadens your mind, so you start to see problems in the light of solutions. And of course, it teaches to be patient. Logic, problem-solving, persistence: sounds like a great set of skills for almost any professional.

  • The Best Android Apps for Learning How to Code

    As a senior software developer, I’m often asked for advice on learning programming. Since I believe that the tech market always benefits from having more high-quality developers, I’m happy to share tips and hacks that helped me become a better software engineer. However, as soon as I say: “Read this and that book, check out this reference guide. Taking these courses is a must, and don’t forget to be scanning through community forums all the time,” I see people’s enthusiasm fade away until they hit me with “I don’t have time to do all that.” Then they leave. Here’s the thing I’d love to state for the record — learning programming is not about making time. It’s about consistency. Since the market constantly changes and evolves, a developer who devotes 30 minutes a day to education is more flexible and has a better chance of adapting to new trends than a CS graduate who hasn’t learn a new program since getting out of college.

Fedora VS Ubuntu

Linux is superior to Windows in a lot of ways. It gives you the freedom to shape your system according to your desire. You can customise almost everything to your taste. Don’t like the way your login screen looks, well change it according to your liking. You can change your Linux UI (User Interface) so that it looks like Windows if you are more comfortable that way. Linux is way less resource-hungry than Windows, meaning it runs a lot smoother. You can even customise how much cache and ram should Linux use. But despite all these good things switching from Windows to Linux can be a lot of hassle as there are a lot of distros or types of Linux to choose from and most people get confused. Different Linux distros are for different people. Here I’ll be comparing the two biggest distro releases, i.e., Ubuntu and Fedora Read more

40 Useful Linux Server Commands for Beginners in 2020

Most of the virtual world is powered by Linux today. Admins and network owners like to take control of their web presence by utilizing Linux to its fullest extent. If you are a starting Linux user looking to hone your system administration skills to the next level, learn these 40 Linux server commands mentioned below. Our team of veteran sysadmins has curated this guide for facilitating your learning experience. Most of these commands are pretty basic, but if used carefully, they will help you manage and monitor your Linux servers much more effectively. Read more