opensource.com

Subscribe to opensource.com feed
Updated: 2 hours 55 min ago

Shrink PDF size with this command line trick

Tue, 08/18/2020 - 15:02

My wife tutors students throughout the year, and recently she wanted to assign homework by scanning some workbook pages into a file and emailing them to her students. She asked for my help, so I used Simple Scan, a document scanning application for GNOME.


read more

The surprising thing you can do in the D programming language

Tue, 08/18/2020 - 15:01

Software development can be a very complex process. As the code you write increases in size and complexity, it is important to keep it readable and easy to understand. In open source software development, many people collaborate on code with several interconnected and, quite often, frequently moving parts. This can make it hard for potential contributors to understand the codebases.


read more

Combine GraphQL with Java to build a flexible and modern API

Tue, 08/18/2020 - 15:00

In the past few years, developers have used RESTful web services over HTTP(s) to expose business functions using an API. The REST API uses server-driven fixed data responses, which means a developer (client) can't determine the result of a response. Instead, the server sends all the data back to the client, which is called over-fetching. The developer (client) needs to invoke multiple REST APIs after the first call until the client gets the required data, which results in under-fetching.


read more

Why I switched from Vim to Emacs

Mon, 08/17/2020 - 15:02

I have been a loyal Vim user since, well, I don't even remember any longer. Over the years, I tried other editors, but Vim commands and keyboard shortcuts are second nature to me, so much so that I ended up doing :w every time I wanted to save in another application. So, for a long time, I stuck with Vim for all my note-taking and writing.


read more

Use GNU on Windows with MinGW

Mon, 08/17/2020 - 15:01

If you're a hacker running Windows, you don't need a proprietary application to compile code. With the Minimalist GNU for Windows (MinGW) project, you can download and install the GNU Compiler Collection (GCC) along with several other essential GNU components to enable GNU Autotools on your Windows computer.


read more

What makes Java open source?

Mon, 08/17/2020 - 15:00

If you're using Java to write business applications, you may know that Java Standard Edition (SE) is not open source software. It is not managed by a foundation, like Python or JavaScript, and in January 2019, Oracle changed its policy to require a commercial license for any use of SE, from the developer's local environment to production.


read more

7 tips for giving and receiving better feedback

Fri, 08/14/2020 - 15:01

Getting feedback isn't always easy to handle, but we need to hear it to grow and learn. Feedback can take many forms—from formalized feedback in performance reviews to more informal feedback such as:


read more

Making open decisions in five steps

Fri, 08/14/2020 - 15:00

Making group decisions used to be easy.

The group's leader made a decision, and everyone else accepted it. The leader may have been a manager, a team lead, or the alpha in a social group. Was that decision the best one for the group? Did it take all relevant factors into account? It didn’t really matter, because people didn’t want to buck authority and face the ramifications. But this behavior was typical of life in hierarchical systems.


read more

How to use printf to format output

Thu, 08/13/2020 - 15:01

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

Thu, 08/13/2020 - 15:00

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

Wed, 08/12/2020 - 15:02

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

Wed, 08/12/2020 - 15:01

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

Wed, 08/12/2020 - 15:00

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

Tue, 08/11/2020 - 15:02

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

Tue, 08/11/2020 - 15:02

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

Tue, 08/11/2020 - 15:01

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

Mon, 08/10/2020 - 15:02

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

Mon, 08/10/2020 - 15:01

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

Mon, 08/10/2020 - 15:00

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

Pages