Language Selection

English French German Italian Portuguese Spanish

OpenSource.com

Syndicate content
Updated: 46 min 57 sec ago

How to use printf to format output

9 hours 44 min ago

When I started learning Unix, I was introduced to the echo command pretty early in the process. Likewise, my initial Python lesson involved the print function. Picking up C++ and Java introduced me to cout and systemout. It seemed every language proudly had a convenient one-line method of producing output and advertised it like it was going out of style.


read more

Our favorite open source writing tools

9 hours 45 min ago

Writing is one of the primary ways we communicate, and it's endlessly fascinating to see the different ways writers work. I can hardly imagine writing before computers and their ability to instantly edit and rearrange the words I've typed onto a screen. Likewise, I wonder whether people who started out writing on a typewriter process their thoughts differently, even on a modern word processor, or whether their workflow has changed and adapted because of these new tools.


read more

Why I still love tcsh after all these years

Wednesday 12th of August 2020 07:02:00 AM

I consider myself a happy Bash user. However, when I started exploring Unix, it was on a proprietary Unix system that provided tcsh by default, so my earliest shell experiences were on a modern version of the C shell (csh). That turned out to be a fortunate accident because tcsh was also the shell of choice at the film studio where I worked later in my career.


read more

9 reasons I upgraded from AngularJS to Angular

Wednesday 12th of August 2020 07:01:00 AM

In 2010, Google released AngularJS, an open source, JavaScript-based frontend structure for developing single-page applications (SPAs) for the internet. With its move to version 2.0 in 2016, the framework's name was shortened to Angular. AngularJS is still being developed and used, but Angular's advantages mean it's a smart idea to migrate to the newer version.


read more

An Android operating system that prioritizes mobile data privacy

Wednesday 12th of August 2020 07:00:00 AM

Android and iOS devices are notorious for uploading your personal data to their cloud services without your permission. If you are concerned about your mobile data privacy, you have another option to consider for your next smartphone: the /e/ operating system, a free and open source, Android-based operating system. The eFoundation community is led by Gaël Duval, a legacy Linux developer and entrepreneur who founded Mandrake Linux in 1998.


read more

Use a Linux terminal on your Android phone

Tuesday 11th of August 2020 07:02:00 AM

When it comes to ultra-mobile computing, I prefer the PocketCHIP or a Raspberry Pi with a screen rather than a mobile phone or tablet. These solutions offer a pure Linux environment that's as open source as the hardware allows and make no assumptions about how I expect to work.


read more

Edit images with Jupyter and Python

Tuesday 11th of August 2020 07:02:00 AM

Recently, my kid wanted to make a coloring page from a favorite cartoon. My first thought was to use one of the open source programs on Linux that manipulate images, but then I remembered I have no idea how to use any of them. Luckily, I know how to use Jupyter and Python.

How hard can it be, I figured, to use Jupyter for that?


read more

Don't ignore .gitignore

Tuesday 11th of August 2020 07:01:00 AM

I have noticed that many developers do not use a .gitignore file, even though it's a best practice to use one to designate files you don't want Git to track in version control. Because .gitignore can boost your code quality, you should not ignore .gitignore in your repositories.

What is .gitignore?

Files in your working Git repository can be:


read more

How to read Lynis reports to improve Linux security

Monday 10th of August 2020 07:02:00 AM

When I read Gaurav Kamathe's article Scan your Linux security with Lynis, it reminded me of my time as a systems administrator for the US Department of Labor. One of my duties was to keep our Unix servers hardened. Each quarter, an independent verifier came in to review our servers' security status. Each time on the day the verifier was scheduled to arrive, I ran Security Readiness Review (SRR), a scanning tool that used a large set of scripts to identify and report any security findings.


read more

How I customize my Mac terminal with open source tools

Monday 10th of August 2020 07:01:00 AM

The command line is an important part of every developer's workflow. This makes it important that you set up your terminal in ways that improve your productivity and decrease your frustration.

In this article, I'll explain how I customize my macOS Z shell (zsh) terminal with iTerm2, Oh My Zsh, and Powerline10k. If you're a Mac user and would like to try it, follow along with this how-to. If you're a Linux user, you can read this article about themes and plugins for Zsh.


read more

Improve your focus and productivity with this Python tool

Monday 10th of August 2020 07:00:00 AM

Limiting distractions helps you focus on your work so you can increase productivity. Prioritizing your tasks, especially when you have too much on your plate, is one way to help you focus on the most important or high-attention things on your list. 


read more

How an open community rebrands

Sunday 9th of August 2020 07:00:00 AM

As an open community evolves, so does the way it expresses its identity to others. And having open conversations about how you'd like your community to be recognized is an important component of community engagement.

Simply put, your community's brand is what people (especially potential contributors) see first when they encounter you. So you want to make sure your brand reflects your community—its values, its principles, and its spirit.


read more

Matrix encrypted chat rolls out across Germany, Project ACRN's new IoT release, and more open source news

Saturday 8th of August 2020 07:00:00 AM

In this week’s edition of our open source news roundup, an open source microfluidics pump, Germany rolls out an encrypted messaging platform based on Matrix, and more open source news.


read more

An advanced guide to NLP analysis with Python and NLTK

Friday 7th of August 2020 07:01:00 AM

In my previous article, I introduced natural language processing (NLP) and the Natural Language Toolkit (NLTK), the NLP toolkit created at the University of Pennsylvania. I demonstrated how to parse text and define stopwords in Python and introduced the concept of a corpus, a dataset of text that aids in text processing with out-of-the-box data. In this article, I'll continue utilizing datasets to compare and analyze natural language.


read more

Meeting for the first time after 26 years of open source collaboration

Friday 7th of August 2020 07:00:00 AM

Collaborating on an open source software project is inherently an online experience. For me, almost all of my interaction has been via email. I'll send someone a patch, and they'll review it and reply to me. Or a user will file a bug, and I'll respond to it via the bug tracker. More commonly, developers in the open source community will discuss ideas via the email list.


read more

5 reasons to run Kubernetes on your Raspberry Pi homelab

Thursday 6th of August 2020 07:02:00 AM

There's a saying about the cloud, and it goes something like this: The cloud is just somebody else's computer. While the cloud is actually more complex than that (it's a lot of computers), there's a lot of truth to the sentiment. When you move to the cloud, you're moving data and services and computing power to an entity you don't own or fully control. On the one hand, this frees you from having to perform administrative tasks you don't want to do, but, on the other hand, it could mean you no longer control your own computer.


read more

5 tips for making documentation a priority in open source projects

Thursday 6th of August 2020 07:01:00 AM

Open source software is now mainstream; long gone are the days when open source projects attracted developers alone. Nowadays, users across numerous industries are active consumers of open source software, and you can't expect everyone to know how to use the software just by reading the code.


read more

You don't need a computer science degree to work with open source software

Thursday 6th of August 2020 07:00:00 AM

I am mostly a self-taught programmer. When I was growing up in the late 1970s, our elementary school had a small resource room with an Apple II computer. My brother and I fell into a group of friends that liked computers, and we all helped each other learn the system.


read more

Modernize network function development with this Rust-based framework

Wednesday 5th of August 2020 07:01:00 AM

The world of networking has undergone monumental shifts over the past decade, particularly in the ongoing move from specialized hardware into software defined network functions (NFV) for data plane1 and packet processing.


read more

What I learned while teaching C programming on YouTube

Wednesday 5th of August 2020 07:00:00 AM

The act of breaking something down in order to teach it to others can be a great way to reacquaint yourself with some old concepts and, in many cases, gain new insights.


read more

More in Tux Machines

Laravel for Programming (New Series)

  • Why Should I Use Laravel Framework
  • Composer Error while installing Laravel “Failed to decode response: zlib_decode(): data error
  • Mysql update or insert multiple rows – Raw Laravel SQL
  • Laravel update model with unique validation rule for attribute

    I have a Laravel User model whre I added unique validation rule on username and email. Now when I update my User through my Repo, and I want to re-validate my model, I get an error.

  • Laravel – Eloquent “Has”, “With”, “WhereHas”

    with() is generally used with eager loading, which is a quick way to pull related models. Basically, it means that, along with the main model, Laravel will preload the listed relationship(s). This is beneficial when you need to load additional data and want to avoid making N+1 DB bad practices. With eager loading, you run only one additional DB query instead of potentially hundreds of additional queries.

  • Getting a 500 Internal Server Error on Laravel 5+ Ubuntu 14.04

    This is the first time I am installing Laravel on Ubuntu and I am already running into issues, 500 errors. I have done it before, numerous times on Windows OS and never had an issue. This 500 internal server usually happens when your “mod_rewrite” module is not turned on.

  • Ajax Laravel 419 POST Error

    I would really be thankful if someone could help me with this. I am trying to make an Ajax call but I am getting 419 POST error.

  • Creating a Radio Button Input Field

    You want to create a radio button field for your Blade template.

  • Decoding HTML Entities to a String
  • 13 Best Laravel Helpers To Consider Using

    Laravel comes with a ton of useful global helper functions. If you haven’t used them so far, this is the best time to start. Over the years of me using the Laravel, 10 of those emerged as the most useful, making the development a lot easier. Sometimes we don’t really see how we can apply some methods until we see an example. So let’s get down to it and see the top 10 helpers I often use the most. These go for Laravel 5.*, however those on Laravel 6.* can bring these back using the following package https://github.com/laravel/helpers. You can also check out the official documentation for all laravel helper functions.

  • How to use Laravel with Socket.IO

    Websockets are cool. They are really helpful if you want to show real-time activities from your users (or perhaps some queue jobs). Now, if you are afraid of the word “Websockets”, don’t be. I will lay down the instructions on how you can use it and will be around to answer your questions if you need to. I had this challenge where I needed it to show a list of people who are currently viewing a specific URL in Laravel. So I started thinking. Part of me wanted to do a quick hack (luckily that’s not the strongest side of mine). Whilst the other wanted to build something cool, reusable and long-lasting.

  • Guide To Injecting Dependencies Into Controllers

    Laravel’s facades present a simple interface to the most useful classes in Laravel’s codebase. You can get information about the current request and user input, the session, caches, and much more. But if you prefer to inject your dependencies, or if you want to use a service that doesn’t have a facade, you’ll need to find some way to bring instances of these classes into your controller. All controller methods (including the constructors) are resolved out of Laravel’s container, which means anything you typehint that the container knows how to resolve will be automatically injected.

  • How to Upload Multiple Files via Ajax (VueJs and Laravel 5.5) - File Management

    When I first started using VueJs, it was a nightmare to find a decent tutorial on how to upload a single file using Ajax, let alone a tutorial explaining how to manage multiple files. I have been dealing a couple of years with file management, mostly using VueJs and Laravel, so I thought writing a tutorial like this could help a lot of developers implement one of the coolest things in applications, which is real-time asset management. First off, you will find many solutions online that are good but those who are early beginners will definitely struggle. What I will cover here is writing your frontend and backend code that will allow you to upload multiple files. Additionally, I will give you a few tricks on how to apply this stuff to different situations.

Kali Linux and Pentesting

  • Kali Linux USB Sticks

    The main aspiration of the Kali Linux bootable USB device is to serve the purpose of initiating live Kali Linux. Its essence is to provide the portability of Kali Linux, and you can carry it with you inside of your pocket. It assists in running your kali Linux in any system available near you, making kali Linux accessible to you at your accord. One of the main vantage that it provides is the customize feature. You are free to customize your very own operating system to carry it in the Kali Linux USB stick. The user just needs to follow the procedure to customize its OS image on the kali Linux USB stick. It is very system friendly, imposing no harm to the system you install it in. You just need to plug out the USB drive to get back to the original operating system of the host. Every model of kali Linux USB stick has a different chipset, making dongles compatible with the overall Kali Linux. It is rarely possible to get all features in a single USB stick as some are focused on size, while others are based on the reading/ writing cycles and speed. Here is the buying guide that can help you in selecting the best USB stick compatible with your system needs depending on its usage.

  • KALI LINUX DNS RECONNAISSANCE

    DNS Reconnaissance is an information-gathering part for a penetration testing. It is used where penetration testing is being performed. It can gather and collect all types of information on the records and target server. It does not affect any IP addresses; therefore, it is best to use for checking on or disclose the information of any network. This is only possible for those networks or organizations that do not check upon the DNS traffic. So, the types of enumeration that perform include zone transfers reverse lookups domain and host brute force standard record, enumeration, catch snooping, zoom working, and also Google Luca.

  • Metasploit in Kali Linux 2020

    The internet is full of lurkers with malicious intents who want to access networks and exploit their data while evading detection. It only makes sense to ensure a network’s security by measuring their vulnerabilities. Penetration testing or ethical hacking is how we test networks or servers for pregnable targets by pinpointing all possible breaches that a hacker might use to gain access, thus reducing security compromises. Penetration testing is often conducted through software applications, the most popular of which is Kali Linux, preferably with the Metasploit framework. Stick till the end to learn how to test a system by executing an attack with Kali Linux.

  • Post exploitation with Meterpreter

    This is an introduction to the Meterpreter payload plugin within Metasploit. In this short tutorial, we will discuss how to use it to apply post exploitation to a WINDOWS OS system once you’ve already breached it using the Eternalblue exploit. We will limit ourselves to accessing the windows system and exploring it, and all the things that we are going to do will focus on accessing information and user credentials. Introduction to Meterpreter Meterpreter is an attack payload in the Metasploit framework that lets the perpetrator control and navigate the victim computer through a command shell. It can prove to be a very versatile tool when it comes to penetration testing. It is a post-exploitation tool that is based on in-memory DLL injection, meaning it gets the injected DLL running by creating a new process that calls for the system to run the injected DLL. It can give you access to an invisible command shell on a victim machine, letting you run executables and profile networks. It was originally written for Metasploit 2.x and is upgraded for Metasploit 3.

  • Pen testing web applications with Metasploit’s “Wmap scanner”

    “Scanning” involves all methods and techniques for identifying live systems like networks or servers to uncover its operating system and architecture. These techniques are used to identify any vulnerable points in a network that can be exploited. This is a beginner’s tutorial on using the WMAP plugin incorporated in the Metasploit framework to scan for vulnerabilities in web applications. We will use the web application DVWA as a target to demonstrate the scanning process done using WAMP. DVWA is short for “damn vulnerable web application,” and the app is specially designed to used by cybersecurity novices to test and sharpen their penetration skills.

Python Leftovers

  • sphinxcontrib-spelling 5.2.1

    sphinxcontrib-spelling is a spelling checker for Sphinx-based documentation. It uses PyEnchant to produce a report showing misspelled words.

  • Python Community Interview With Bruno Oliveira

    Welcome to Real Python, Bruno. I’m glad you could join us. Let’s start in the same manner we do with all our guests: How’d you get into programming, and when did you start using Python?

  • How to use AJAX with Django

    AJAX is an acronym for Asynchronous JavaScript and XML. It is a group of inter-related technologies like JavaScript, DOM, XML, HTML, CSS etc. AJAX allows you to send and receive data asynchronously without reloading the web page. At some point in your project development process, you will need AJAX to execute some task. One fine example could be checking username availability on the signup form. We will discuss the same scenario here and will guide you through the step by step process of using AJAX with Django.

  • How to create management commands in Django

    You must have used createsuperuser command in your Django application at one or another time. If not then I am sure you must have used makemigrations or migrate commands in your project. Yes? Yes. So these commands, also called as management commands are used to execute some piece of code from the command line. In this article, We will see how to create your own command.

  • Python Development Environment on macOS Mojave & High Sierra

    While installing Python and Virtualenv on macOS Mojave & High Sierra can be done several ways, this tutorial will guide you through the process of configuring a stock Mac system into a solid Python development environment.

  • How to Learn Python for Data Science In 5 Steps

    Before we explore how to learn Python for data science, we should briefly answer why you should learn Python in the first place. In short, understanding Python is one of the valuable skills needed for a data science career. Though it hasn’t always been, Python is the programming language of choice for data science.

  • Conservancy and PyPy's great work together

    PyPy joined Conservancy in the second half of 2010, shortly after the release of PyPy 1.2, the first version to contain a fully functional JIT. In 2013, PyPy started supporting ARM, bringing its just-in-time speediness to many more devices and began working toward supporting NumPy to help scientists crunch their numbers faster. Together, PyPy and Conservancy ran successful fundraising drives and facilitated payment and oversight for contractors and code sprints. Conservancy supported PyPy's impressive growth as it expanded support for different hardware platforms, greatly improved the performance of C extensions, and added support for Python 3 as the language itself evolved.

  • A new chapter for PyPy: Transitioning away from a Charitable Model

    PyPy has been a member project of Software Freedom Conservancy since 2010 and although it's been a mutually successful partnership, nothing lasts forever — especially in software. Today, Conservancy and PyPy announce that they are winding down their ten year relationship. PyPy will remain free software, but the community's structure and organizational underpinnings will change. Conservancy provides a fiscal and organizational home for projects that find the freedoms and assurances that come along with a charitable home advantageous for their community goals. While this framework was a great fit for the early PyPy community, that community has changed such that this is no longer the case. PyPy's leadership are exploring non-charitable options for its next phase of growth.

  • PSF GSoC students blogs: Week 9
  • PSF GSoC students blogs: Week 11 Check in!
  • PSF GSoC students blogs: Weekly Check In - 10

Games: Android, GNU/Linux and New Titles

  • How to Find New and Exciting Games to Play on Android
  • 16 of the Best Free Games For Linux

    “Free” and “Linux” go hand in hand beautifully, like chips and a milkshake, and even though Linux isn’t widely seen as a gaming platform, there is a veritable wealth of free games you can get for it if you look in the right places. That’s in large part thanks to unpaid, open-source developers, who collaborate to bring classics (and new games) all together in Linux.

  • Quirky comedy point and click adventure 'Sol 705' is out now for Linux PC

    Sol 705, a point and click adventure that pays homage to the classics from the likes of Lucas Arts, Sierra is out now and it's added Linux PC support too. Developed by Land Patricio and Space Indie Studios, it appears this is a crowdfunded title that slipped through the cracks as we completely missed the successful Kickstarter from 2018 where the developer pulled in over ten thousand dollars. While it's designed like the classics, it does have plenty of modern touches from a hint system to voice acting for some of the seriously varied cast.

  • The Bomber Crew team announced Space Crew and it's coming to Linux PC

    Did you enjoy Bomber Crew? Runner Duck's strategic simulation game was a wonderful release from 2017 and they're now going aiming to go further with Space Crew. This was actually announced back in June, although at that point the platforms it was launching on was not confirmed. Towards the end of July, I spotted Linux appearing in the system requirements and today the developer emailed back with a firm confirmation, "Yes, we are planning on Space Crew supporting Linux at launch.".

  • Religion creation auto-battler Godhood has launched after a rough time for Abbey Games

    After going through funding and development troubles, Abbey Games have now launched the 1.0 release of their religion creation auto-battler Godhood. Quite a relaxing and laid-back experience that blends together a little bit of many things. You construct a religion, build up a little town and engage in hands-off turn-based battles that do everything for you so you get to sit back and watch how it all unfolds. Quite a different take on the auto-battling seen in the likes of Dota Underlords that's for sure.

  • The free Rise of Avalon expansion for Albion Online is live

    Free to play and now much bigger, Albion Online has a brand new expansion out with Rise of Avalon and there's lots of new goodies to play through. One of the biggest additions to Albion Online since it began, this brings the Roads of Avalon, a big network of magical pathways that bring new ways to travel, transport and engage in combat allowing you to explore the Wilderness of Avalon. Another huge addition are Corrupted Dungeons, giving Solo players something fun that mixes PvE and PvP invasions together in randomized dungeons. There's also fifteen powerful new Avalonian weapons to find.

  • Streets of Rogue gets a big bug-fix update as work continues on a sequel

    Streets of Rogue, one of my absolute favourite indie games has a new update out as work continues to find and fix every possible bug, plus a few new bits were added. Before getting into the juice of the update though, with the developer previously confirming a sequel is in the works (that should also come to Linux) they've briefly mentioned it again now. In the update notes, they mentioned how they're building up the tech needed for the sequel and that it's going "really smoothly.". This work will allow for a much bigger and more open world, which sounds pretty exciting!