Home Blog Page 460

Effective Strategies for Recruiting Open Source Developers

Experienced open source developers are in short supply. To attract top talent, companies often have to do more than hire a recruiter or place an ad on a popular job site. However, if you are running an open source program at your organization, the program itself can be leveraged as a very effective recruiting tool. That is precisely where the new, free online guide Recruiting Open Source Developerscomes in. It can help any organization in recruiting developers, or building internal talent, through nurturing an open source culture, contributing to open source communities, and showcasing the utility of new open source projects.

Why does your organization need a recruiting strategy? One reason is that the growing shortage of skilled developers is well documented. According to a recent Cloud Foundry report, there are a quarter-million job openings for software developers in the U.S. alone and half a million unfilled jobs that require tech skills. They’re also forecasting the number of unfillable developer jobs to reach one million within the next decade.

Read more at The Linux Foundation

Linux Foundation Certified System Administrator: Gabriel Rojo Argote

The Linux Foundation offers many resources for developers, users, and administrators of Linux systems. One of the most important offerings is its Linux Certification Program. The program is designed to give you a way to differentiate yourself in a job market that’s hungry for your skills.

How well does the certification prepare you for the real world? To illustrate that, The Linux Foundation will be spotlighting some of those who have recently passed the certification examinations. These testimonials should serve to help you decide if either the Linux Foundation Certified System Administrator or the Linux Foundation Certified Engineer certification is right for you. In this installment of our series, we talk with Gabriel Rojo Argote.

LFCS Gabriel Rojo Argote

Linux.com: How did you become interested in Linux and open source?

Gabriel Rojo Argote: I started to get interested while studying at the Instituto Tecnológico de León in Guanajuato México. One of my professors taught a subject called “Introduction to Computing” and began to talk about the variety of operating systems that existed in the market. The professor put a lot of emphasis on the Unix and GNU/Linux operating systems, talking about the versatility and robustness they had. This sparked my interest in knowing GNU/Linux and, because it was distributed in disks in some city magazines, it was easy for me to be able to acquire a distribution—an easy route to use the operating system and get to know different free applications. I got involved little by little in the management of the same GNU/Linux.

Linux.com: What Linux Foundation course did you achieve certification in? Why did you select that particular course?

Gabriel: I selected (and was certified in) The Linux Foundation Certified System Administrator (LFCS) course. I chose this particular course due to the importance, quality, and credentials offered by a certification granted by the Linux Foundation. And, I was very interested because each of the items within the evaluation represented a need and opportunity to reinforce the knowledge I had and the ability to learn from things I did not know.

Linux.com: What are your career goals? How do you see The Linux Foundation certification helping you achieve those goals and benefiting your career?

Gabriel: One of my professional goals is to become a future independent consultant of GNU/Linux solutions. One of my personal goals is to involve more people with this type of technology and to know the potential, flexibility, and possibilities that the world of open source in general offers.

Linux.com: What other hobbies or projects are you involved in? Do you participate in any open source projects at this time?

Gabriel: In my personal life, I have some hobbies like exercising, cycling and (recently) swimming. In my professional life, I have become interested in realizing projects with Raspberry Pi; which, by the way, I acquired in the purchase of an OpenStack course that is offered by The Linux Foundation. I am also involved in projects where we use mostly open source technology.

Linux.com: Do you plan to take future Linux Foundation courses? If so, which ones?

Gabriel: Yes, I plan to continue taking courses in The Linux Foundation. I am currently studying the OpenStack Administrator course and plan to take the High Availability Linux Architecture course in the future.

Linux.com: In what ways do you think the certification will help you as a systems administrator in today’s market?

Gabriel: I think it helps a lot that, as a system administrator, it can contribute certainty and validity of my knowledge to those who place their trust in me. The preparation must be continuous and will pay off by improving your knowledge, such that it shows a greater responsibility (for when someone entrusts the elaboration of their projects in you).

Linux.com: What Linux distribution do you prefer and why?

Gabriel: The distributions that I like most are CentOS and Debian. For my production projects I have opted for CentOS, since it is one of the distributions that has shown great strength and performance in environments of high demand. The validity of software package updates is a very important point for me, as well as the compatibility it offers with the vast majority of hardware and the support it offers for the implementation of other technologies.

Linux.com: Are you currently working as a Linux systems administrator? If so, what role does Linux play?

Gabriel: Yes, among my activities is the work of administering GNU/Linux systems. I currently manage multiple server environments (both physical and virtual), and we use the following technologies:

  • KVM for Virtualization

  • Apache Mesos, Apache Zookeeper, Marathon for clustering manage resources

  • Docker and LXC for Linux Containers

  • CEPH, DRBD for Data Storage

  • Percona MongoDB, MariaDB, MySQL and PostgreSQL for Databases

  • Zabbix for monitoring services

  • Samba, LUKS, NFS for file servers, domain controllers and encryption

  • Apache Web Server and Nginx for web services

Linux.com: Where do you see the Linux job market growing the most in the coming years?

Gabriel: I think the market will continue to grow even more in the coming years. The growth will be greater in the cloud-oriented solutions, mobile devices, IoT solutions, as well as the improvement of computer security solutions.

Linux.com: What advice would you give those who are considering certification?

Gabriel: The advice I can give you is to practice, practice, and practice. To be more specific, one thing that can help is to use Linux as your desktop for daily use. This ensures everyday tasks (such as installing software, editing texts, configure services from the console) become second nature. Do not always use the graphical environment to do these jobs, as this will discipline you to manage the console. Also, for those who use other systems, look for alternatives in the GNU/Linux environment and implement them; that, in addition to improving your knowledge, allows you to work in a Linux-specific management and maintenance environment, which will improve your skills over time.

Linux.com: If you have found employment in the IT industry, do you feel like your certification was crucial or beneficial?

Gabriel: I think it was both crucial and beneficial—crucial because organizations are looking for staff to take care of their systems with the skills to do it; beneficial because it allows you to improve your skills while becoming more knowledgeable and professional.

Learn more about Linux through the free “Introduction to Linux” course from The Linux Foundation and edX.

Read more:

Linux Foundation LFCE Georgi Yadkov Shares His Certification Journey

Linux Foundation LFCS and LFCE: Pratik Tolia

Linux Foundation Certified Engineer: Gbenga “Christopher” Adigun

Linux Foundation Certified Engineer: Karthikeyan Ramaswamy

Linux Foundation Certified System Administrator: Muneeb Kalathil

Linux Foundation Certified System Administrator: Theary Sorn

Linux Foundation Certified Engineer: Ronni Jensen

Center stage: Best Practices for Staging Environments

Let’s talk about staging.

We’re talking about staging because no one talks about it. It’s mentioned in passing as the annoying sidekick to production. It’s the expected and completely necessary part of the deployment cycle barely touched by schools or internships. It’s considered such an obvious part of architecture that no one mentions it, no one details it, many people do it wrongand some don’t do it at all.

When you have an idea burning a hole in your keyboard, you want to push to master and demo nonstopbut that can quickly get away from you. First you’re running off Janice’s laptop, then Sarah pushes it to AWS, and suddenly people are paying you to deploy buggy code with a Capistrano script. You want the pain to stop but you’re scared of the cure

It’s not about eating your tech vegetables; it’s about showing respect for your users’ money and time.

 

Read more at Increment

The Trouble With Promises: Patrick Debois Explains Serverless And ‘Service-Full’ Culture

The old way of thinking about web systems? Nothing can go down, so we must build the ultimate cluster. The new way of thinking about third-party cloud services? Things go down, so we need to know how to deal with that.

“I could say it’s a problem with serverless, but it’s a problem with any service we use. Who’s taken time to get coffee while GitHub is down, or Maven, or NPM?” asked Zender.tv CEO Patrick Debois in his keynote for the Oracle Code San Francisco conference, colocated in San Francisco with JavaOne and Oracle OpenWorld 2017.

Read more at Forbes

How to Get Started with the Linux Operating System

What operating system do you use? For some, that question may as well be posed in Latin or Sanskrit. For others, it’s an invitation to have a heated debate about the benefits of GUI vs. command line, modern day UI vs. old school metaphor, the pros/cons of Windows 10, LAMP vs. IIS … the list goes on and on. For most, however, the answer will be a variation on Windows or Mac.

But anyone that has used Windows (in any of its incarnations) long enough knows, at some point, frustration will rule the day, and you’ll be working along and, seemingly out of nowhere, Windows will decide to apply updates and restart, putting your work at risk while you go through the lengthy process of applying updates and rebooting. Or what about the inevitable virus or malware? You spend precious dollars on antivirus software or, worst case scenario, you have to send the machine to your local PC repair to get the virus removed. All the while, work is not being done. While Apple’s macOS products suffer less from the vulnerabilities found in the Windows platform, they also come with a fairly hefty price tag.

There is, however, another alternative to both that doesn’t cost any money to download and install, and is far more immune to viruses and malware. That operating system is Linux. What is Linux? Let’s take a look.

Read more at LifeHacker

Upgrading to Kubernetes 1.8 with Kubeadm

Kubeadm is the tool that ships with Kubernetes to manage your cluster’s lifecycle; it’s designed to be used any time you need to do something significant to your cluster. Kubeadm 1.8 brings new features to the table, and we recommend checking out the the repository for all the latest development.

Today we’ll look at one of kubeadm’s most crucial functions: upgrading your cluster to a new release of Kubernetes. There are many moving parts here; not only do you have to upgrade the Kubernetes control plane components, but also the actual packages that run on the operating system itself. This blog post heavily references the kubeadm documentation, so you’re going to want to become familiar with that page. We’re going to break this down into three major steps.

Read more at Heptio

This Week in Open Source News: Linux 4.14 Means Tighter Security, Hyperledger Adds Quilt Project & More

This week in open source and Linux news, Linus Torvalds reveals that fuzzing is improving security in Linux, Hyperledger announces a new sub-project and member, and more! Read on to stay in the open source know. 

1) Linux 4.14 release candidate five is out and with it comes a steady stream of security improvements.

Linus Torvalds Says Targeted Fuzzing is Improving Linux Security– ZDNet

2) “The Linux Foundation’s open source Hyperledger Project, which works on blockchain technologies, added a sixth subproject […] dubbed Quilt.”

Hyperledger Stitches in Another Blockchain Project– SDxCentral

3) “Linux on Galaxy and a DeX dock let you work as if you were on a PC.”

Samsung’s Phone-as-Desktop Concept Now Runs Linux– Engadget

4) “Alibaba Cloud will soon be able to offer its clients access to Red Hat’s offerings, which includes the full range of open source cloud solutions, as well as Red Hat Enterprise Linux.”

Alibaba Cloud Tackles Open Source with Red Hat

5) Baidu, one of the largest internet companies a premier AI leader, has joined Hyperledger.

Chinese Search Giant Baidu Joins Hyperledger Blockchain Consortium– CoinDesk

Running Android on Top of a Linux Graphics Stack

You can now run Android on top of a regular Linux graphics stack. This was not the case before, and according to Robert Foss, a Linux graphic stack contributor and Software Engineer at Collabora, this is hugely empowering. In his upcoming talk at Embedded Linux Conference Europe, Foss will cover recent developments in this area and discuss how these changes allow you to take advantage of new features and improvements in kernels.

Robert Foss, Linux graphic stack contributor and Software Engineer at Collabora

In this article, Foss explains more and offers a preview of his talk.

Linux.com: Can you please tell us a bit about the graphics stack you’re  talking about?

Foss: Traditional Linux graphics systems (like X11) mostly did not use planes. But modern graphics systems like Android and Wayland can take full advantage of it.

Android has the most mature implementation of plane support in HWComposer, and its graphics stack is a bit different from the usual Linux desktop graphics stack. On desktops, the typical compositor just uses the GPU for all composition, because this is the only thing that exists on the desktop.

Most embedded and mobile chips have specialized 2D composition hardware that Android is designed around. The way this is done is by dividing the things that are displayed into layers, and then intelligently feeding the layers to hardware that is optimized to handle layers. This frees up the GPU to work on the things you actually care about, while at the same time, it lets hardware that is more efficient do what it does best.

Linux.com: When you say Android, do you mean the Android Open Source Project (the AOSP)?

Foss: The Android Open Source Project (the AOSP), is the base upon which many Android products is built, and there’s not much of a distinction between AOSP and Android.

Specifically, my work has been done in the AOSP realm, but nothing is preventing this work from being pulled into a shipped Android product.

The distinction is more about licensing and fulfilling the requirements of Google for calling a product Android, than it is about code.

Linux.com: Who would want to run that and why? What are some advantages?

Foss: AOSP gives you a lot of things for free, such as a software stack optimized for usability, low power, and diverse hardware. It’s a lot more polished and versatile than what any single company feasibly could develop on their own, without putting a lot of resources behind it.

As a manufacturer it also provides you with access to a large pool of developers that are immediately able to develop for your platform.

Linux.com: What are some practical use cases?

Foss: The new part here is the ability to run Android on top of the regular Linux graphics stack. Being able to do this with mainline/upstream kernels and drivers allows you to take advantage of new features and improvements in kernels as well, not just depend on whatever massively forked BSP you get from your vendor.

For any GPU that has reasonable standard Linux support, you are now able to run Android on top of it. This was not the case before. And in that way it is hugely enabling and empowering.

It also matter in the sense, that it incentivizes GPU designers to work with upstream for their drivers. Now there’s a straightforward path for them to provide one driver that works for Android and Linux with no added effort. Their costs will be lower, and maintaining their GPU driver upstream is a lot more appealing.

For example, we would like to see mainline support Qualcomm SOCs, and we would like to be a part of making that a reality.

To summarize, this will help the hardware ecosystem get better software support and the software ecosystem have more hardware to work with.

  • It improves the economy of SBC/devboard manufacturers: they can provide a single well-tested stack which works on both, rather than having to provide a “Linux stack” and an Android stack.

  • It simplifies work for driver developers, since there’s just a single target for optimisation and enablement.

  • It enables the Android community, since Android running on mainline allows them to share the upstream improvements being made.

  • It helps upstream, because we get a product-quality stack, that has been tested and developed with help from the designer of the hardware.

Previously, Mesa was looked upon as a second-class stack, but it’s now shown that it is up-to-date (fully compliant with Vulkan 1.0, OpenGL 4.6, OpenGL ES 3.2 on release day), as well as performant, and product quality.

That means that driver developers can be involved in Mesa, and be confident that they’re sharing in the hard work of others, and also getting a great base to build on.

Learn more about embedded Linux at Embedded Linux Conference in Prague. Linux.com readers receive an additional $40 off with code OSSEULDC20. Register Now!

3 Tools to Help You Remember Linux Commands

The Linux desktop has come a very long way from its humble beginnings. Back in my early days of using Linux, knowledge of the command line was essential—even for the desktop. That’s no longer true. Many users might never touch the command line. For Linux system administrators, however, that’s not the case. In fact, for any Linux admin (be it server or desktop), the command line is a requirement. From managing networks, to security, to application and server settings—there’s nothing like the power of the good ol’ command line.

But, the thing is… there are a lot of commands to be found on a Linux system. Consider /usr/bin alone and you’ll find quite a lot of commands (you can issue ls /usr/bin/ | wc -l to find out exactly how many you have). Of course, these aren’t all user-facing executables, but it gives you a good idea of the scope of Linux commands. On my Elementary OS system, there are 2029 executables within /usr/bin. Even though I will use only a fraction of those commands, how am I supposed to remember even that amount?

Fortunately, there are various tricks and tools you can use, so that you’re not struggling on a daily basis to remember those commands. I want to offer up a few such tips that will go a long way to helping you work with the command line a bit more efficiently (and save a bit of brain power along the way).

We’ll start with a built-in tool and then illustrate two very handy applications that can be installed.

Bash history

You may or may not know this, but Bash (the most popular Linux shell) retains a history of the commands you run. Want to see it in action? There are two ways. Open up a terminal window and tap the Up arrow key. You should see commands appear, one by one. Once you find the command you’re looking for, you can either use it as is, by hitting the Enter key, or modify it and then execute with the Enter key.

This is a great way to re-run (or modify and run) a command you’ve previously issued. I use this Linux feature regularly. It not only saves me from having to remember the minutiae of a command, it also saves me from having to type out the same command over and over.

Speaking of the Bash history, if you issue the command history, you will be presented with a listing of commands you have run in the past (Figure 1).

Figure 1: Can you spot the mistake in one of my commands?

The number of commands your Bash history holds is configured within the ~/.bashrc file. In that file, you’ll find two lines:

HISTSIZE=1000

HISTFILESIZE=2000

HISTSIZE is the maximum number of commands to remember on the history list, whereas HISTFILESIZE is the maximum number of lines contained in the history file.

Clearly, by default, Bash will retain 1000 commands in your history. That’s a lot. For some, this is considered an issue of security. If you’re concerned about that, you can shrink the number to whatever gives you the best ratio of security to practicality. If you don’t want Bash to remember your history, set HISTSIZE to 0.

If you make any changes to the ~/.bashrc file, make sure to log out and log back in (otherwise the changes won’t take effect).

Apropos

This is the first of two tools that can be installed to assist you in recalling Linux commands. Apropos is able to search the Linux man pages to help you find the command you’re looking for. Say, for instance, you don’t remember which firewall tool your distribution uses. You could type apropos “firewall” and the tool would return any related command (Figure 2).

Figure 2: What is your firewall command?

What if you needed a command to work with a directory, but had no idea what command was required? Type apropos “directory” to see every command that contains the word “directory” in its man page (Figure 3).

Figure 3: What was that tool you used on a directory?

The apropos tool is installed, by default, on nearly every Linux distribution.

Fish

There’s another tool that does a great job of helping you recall commands. Fish is a command line shell for Linux, Unix, and Mac OS that has a few nifty tricks up its sleeve:

  • Autosuggestions

  • VGA Color

  • Full scriptability

  • Web Based configuration

  • Man Page Completions

  • Syntax highlighting

  • And more

The autosuggestions make fish a really helpful tool (especially when you can’t recall those commands).

As you might expect, fish isn’t installed by default. For Ubuntu (and its derivatives), you can install fish with the following commands:

sudo apt-add-repository ppa:fish-shell/release-2

sudo apt update

sudo apt install fish

For the likes of CentOS, fish can be installed like so. Add the repository with the commands:

sudo -s

cd /etc/yum.repos.d/

wget http://download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo

Update the repository list with the commands:

yum repolist

yum update

Install fish with the command:

yum install fish

Using fish isn’t quite as intuitive as you might expect. Remember, fish is a shell, so you have to enter the shell before using the command. From your terminal, issue the command fish and you will find yourself in the newly install shell (Figure 4).

Figure 4: The fish interactive shell.

Start typing a command and fish will automatically complete the command. If the suggested command is not the one you’re looking for, hit the Tab key on your keyboard for more suggestions. If it is the command you want, type the right arrow key on your keyboard to complete the command and then hit Enter to execute. When you’re done using fish, type exit to leave that shell.

Fish does quite a bit more, but with regards to helping you remember your commands, the autosuggestions will go a very long way.

Keep learning

There are so many commands to learn on Linux. But don’t think you have to commit every single one of them to memory. Thanks to the Bash history and tools like apropos and fish, you won’t have to strain your memory much to recall the commands you need to get your job done.

Learn more about Linux through the free “Introduction to Linux” course from The Linux Foundation and edX.

The Four Pillars of Cloud-Native Operations

As organizations shift their application strategies to embrace the cloud-native world, the purpose of the cloud transitions from saving money to delivering and managing applications. Platforms such as Cloud Foundry, Kubernetes, and Docker redefine the possibilities for application environments that utilize the cloud. It’s time for us as operations professionals to rethink how we approach our jobs in this new world. We should be asking, how do our organizations take advantage of cloud-native as a new mode of application delivery?

In addressing this question, we should strive to make our platforms and services as easy to consume as possible. Both the developer and the consumer rely on us to hide operational complexity and maintain freedom of choice. For the sake of both groups, we should recognize four pillars of cloud-native operations: …

Read more at The New Stack