Open Source

S'abonner à flux Open Source
Mis à jour : il y a 13 min 9 sec

My Linux Story: Why introduce people to the Raspberry Pi

jeu, 10/24/2019 - 09:01

My first steps into Linux happened around 2003 or 2004 when I was a student. The experiment lasted an hour or two. Being used to Windows, I was confused and quickly frustrated at having to learn the most basic stuff again.


read more

Get sorted with sort at the command line

jeu, 10/24/2019 - 09:00

If you've ever used a spreadsheet application, then you know that rows can be sorted by the contents of a column. For instance, if you have a list of expenses, you might want to sort them by date or by ascending price or by category, and so on. If you're comfortable using a terminal, you may not want to have to use a big office application just to sort text data. And that's exactly what the sort command is for.


read more

How to program with Bash: Loops

mer, 10/23/2019 - 09:03

Bash is a powerful programming language, one perfectly designed for use on the command line and in shell scripts. This three-part series, based on my three-volume Linux self-study course, explores using Bash as a programming language on the command-line interface (CLI).


read more

How to program with Bash: Loops

mer, 10/23/2019 - 09:03

Bash is a powerful programming language, one perfectly designed for use on the command line and in shell scripts. This three-part series, based on my three-volume Linux self-study course, explores using Bash as a programming language on the command-line interface (CLI).


read more

Building container images with the ansible-bender tool

mer, 10/23/2019 - 09:02

Containers and Ansible blend together so nicely—from management and orchestration to provisioning and building. In this article, we'll focus on the building part.

If you are familiar with Ansible, you know that you can write a series of tasks, and the ansible-playbook command will execute them for you. Did you know that you can also execute such commands in a container environment and get the same result as if you'd written a Dockerfile and run podman build.

Here is an example:


read more

Best practices in test-driven development

mer, 10/23/2019 - 09:00

In my previous series on test-driven development (TDD) and mutation testing, I demonstrated the benefits of relying on examples when building a solution. That begs the question: What does "relying on examples" mean?


read more

How to program with Bash: Logical operators and shell expansions

mar, 10/22/2019 - 09:03

Bash is a powerful programming language, one perfectly designed for use on the command line and in shell scripts. This three-part series (which is based on my three-volume Linux self-study course) explores using Bash as a programming language on the command-line interface (CLI).


read more

How to program with Bash: Logical operators and shell expansions

mar, 10/22/2019 - 09:03

Bash is a powerful programming language, one perfectly designed for use on the command line and in shell scripts. This three-part series (which is based on my three-volume Linux self-study course) explores using Bash as a programming language on the command-line interface (CLI).


read more

Initializing arrays in Java

mar, 10/22/2019 - 09:02

People who have experience programming in languages like C or FORTRAN are familiar with the concept of arrays. They’re basically a contiguous block of memory where each location is a certain type: integers, floating-point numbers, or what-have-you.

The situation in Java is similar, but with a few extra wrinkles.

An example array

Let’s make an array of 10 integers in Java:


read more

NGT: A library for high-speed approximate nearest neighbor search

mar, 10/22/2019 - 09:01

Approximate nearest neighbor (ANN) search is used in deep learning to make a best guess at the point in a given set that is most similar to another point. This article explains the differences between ANN search and traditional search methods and introduces NGT, a top-performing open source ANN library developed by Yahoo! Japan Research.


read more

How collaboration fueled a development breakthrough at Greenpeace

mar, 10/22/2019 - 09:00

Activists really don't like feeling stuck.

We thrive on forward momentum and the energy it creates. When that movement grinds to a halt, even for a moment, our ability to catalyze passion in others stalls too.

And my colleagues and I at Greenpeace International were feeling stuck.


read more

Kubernetes networking, OpenStack Train, and more industry trends

lun, 10/21/2019 - 16:30

As part of my role as a senior product marketing manager at an enterprise software company with an open source development model, I publish a regular update about open source community, market, and industry trends for product marketers, managers, and other influencers. Here are five of my and their favorite articles from that update.


read more

How to program with Bash: Syntax and tools

lun, 10/21/2019 - 09:03

A shell is the command interpreter for the operating system. Bash is my favorite shell, but every Linux shell interprets the commands typed by the user or sysadmin into a form the operating system can use. When the results are returned to the shell program, it sends them to STDOUT which, by default, displays them in the terminal. All of the shells I am familiar with are also programming languages.


read more

How to build a Flatpak

lun, 10/21/2019 - 09:03

A long time ago, a Linux distribution shipped an operating system along with all the software available for it. There was no concept of “third party” software because everything was a part of the distribution. Applications weren’t so much installed as they were enabled from a great big software repository that you got on one of the many floppy disks or, later, CDs you purchased or downloaded.


read more

Pylint: Making your Python code consistent

lun, 10/21/2019 - 09:00

Pylint is a higher-level Python style enforcer. While flake8 and black will take care of "local" style: where the newlines occur, how comments are formatted, or find issues like commented out code or bad practices in log formatting.


read more

To space and beyond with open source

sam, 10/19/2019 - 09:00

Carl Sagan once said, "The universe is a pretty big place. If it's just us, seems like an awful waste of space." In that vast desert of seeming nothingness hides some of the most mysterious and beautiful creations humankind ever has—or ever will—witness.


read more

Perceiving Python programming paradigms

ven, 10/18/2019 - 09:02

Early each year, TIOBE announces its Programming Language of The Year. When its latest annual TIOBE index report came out, I was not at all surprised to see Python again winning the title, which was based on capturing the most search engine ranking points (especially on Google, Bing, Yahoo, Wikipedia, Amazon, YouTube, and Baidu) in 2018.


read more

How to use Protobuf for data interchange

ven, 10/18/2019 - 09:01

Protocol buffers (Protobufs), like XML and JSON, allow applications, which may be written in different languages and running on different platforms, to exchange data. For example, a sending application written in Go could encode a Go-specific sales order in Protobuf, which a receiver written in Java then could decode to get a Java-specific representation of the received order. Here is a sketch of the architecture over a network connection:


read more

How I built and maintain Cantata, an open source music player

ven, 10/18/2019 - 09:00

This is the third in a series of conversations with developers who build and maintain open source music players. Craig Drummond is the developer and maintainer of Cantata, an open source music player that acts as a frontend (client) to the Music Player Daemon (MPD) music server. I have two small headless computers at home configured as music servers—one connected to our stereo in our living room, one in my upstairs office.


read more

Intro to the Linux useradd command

jeu, 10/17/2019 - 09:02

Adding a user is one of the most fundamental exercises on any computer system; this article focuses on how to do it on a Linux system.

Before getting started, I want to mention three fundamentals to keep in mind. First, like with most operating systems, Linux users need an account to be able to log in. This article specifically covers local accounts, not network accounts such as LDAP. Second, accounts have both a name (called a username) and a number (called a user ID). Third, users are typically placed into a group. Groups also have a name and group ID.


read more

Pages