Open source has been a tech mainstay for decades in large part, as Tilde co-founder and JavaScript veteran Yehuda Katz has argued, because it “gives engineers the power to collaborate across …companies without involving [business development].”
“The benefits of this workaround are extraordinary and underappreciated,” Katz continued. But open source offers something just as extraordinary and even more underappreciated, something that edX community lead John Mark Walker recently pointed out on Twitter.
Namely, what open source does to collaboration among engineers inside the same company.
According to Walker, “one of the little known secrets is that [open source] allows eng[ineering] teams in the same company to collab[orate] without management getting in the way.”
Since I workalotwithclusteredVMs, I’ve ended up spending a lot of time trying to figure out how DNS lookups work. I applied ‘fixes’ to my problems from StackOverflow without really understanding why they work (or don’t work) for some time.
Eventually I got fed up with this and decided to figure out how it all hangs together. I couldn’t find a complete guide for this anywhere online, and talking to colleagues they didn’t know of any (or really what happens in detail)
So I’m writing the guide myself.
The first thing to grasp is that there is no single method of getting a DNS lookup done on Linux. It’s not a core system call with a clean interface.
There is, however, a standard C library call called which many programs use: getaddrinfo. But not all applications use this!
Let’s just take two simple standard programs: ping and host:
The number of Linux distributions available just keeps getting bigger. In fact, in the time it took me to write this sentence, another one may have appeared on the market. Many Linux flavors have trouble standing out in this crowd, and some are just a different combination of puzzle pieces joined to form something new: An Ubuntu base with a KDE desktop environment. A Debian base with an Xfce desktop. The combinations go on and on.
Robolinux, however, does something unique. It’s the only distro, to my knowledge, that makes working with Windows alongside Linux a little easier for the typical user. With just a few clicks, it lets you create a Windows virtual machine (by way of VirtualBox) that can run side by side with Linux. No more dual booting. With this process, you can have Windows XP, Windows 7, or Windows 10 up and running with ease.
And, you get all this on top of an operating system that’s pretty fantastic on its own. Robolinux not only makes short work of having Windows along for the ride, it simplifies using Linux itself. Installation is easy, and the installed collection of software means anyone can be productive right away.
Let’s install Robolinux and see what there is to see.
Installation
As I mentioned earlier, installing Robolinux is easy. Obviously, you must first download an ISO image of the operating system. You have the choice of installing a Cinnamon, Mate, LXDE, or xfce desktop (I opted to go the Mate route). I will warn you, the developers do make a pretty heavy-handed plea for donations. I don’t fault them for this. Developing an operating system takes a great deal of time. So if you have the means, do make a donation. Once you’ve downloaded the file, burn it to a CD/DVD or flash drive. Boot your system with the media and then, once the desktop loads, click the Install icon on the desktop. As soon as the installer opens (Figure 1), you should be immediately familiar with the layout of the tool.
Figure 1: The Robolinux installer is quite user-friendly.
Once you’ve walked through the installer, reboot, remove the installation media, and login when prompted. I will say that I installed Robolinux as a VirtualBox VM and it installed to perfection. This however, isn’t a method you should use, if you’re going to take advantage of the Stealth VM option. After logging in, the first thing I did was install the Guest Additions and everything was working smoothly.
Default applications
The collection of default applications is impressive, but not overwhelming. You’ll find all the standard tools to get your work done, including:
LibreOffice
Atril Document Viewer
Backups
GNOME Disks
Medit text editor
Seahorse
GIMP
Shotwell
Simple Scan
Firefox
Pidgen
Thunderbird
Transmission
Brasero
Cheese
Kazam
Rhythmbox
VLC
VirtualBox
And more
With that list of software, you shouldn’t want for much. However, should you find a app not installed, click on the desktop menu button and then click Package Manager, which will open Synaptic Package Manager, where you can install any of the Linux software you need.
If that’s not enough, it’s time to take a look at the Windows side of things.
Installing Windows
This is what sets Robolinux apart from other Linux distributions. If you click on the desktop menu button, you see a Stealth VM entry. Within that sub-menu, a listing of the different Windows VMs that can be installed appears (Figure 2).
Figure 2: The available Windows VMs that can be installed alongside of Robolinux.
Before you can install one of the VMs, you must first download the Stealth VM file. To do that, double-click on the desktop icon that includes an image of the developer’s face (labeled Robo’s FREE Stealth VM). You must save that file to the ~/Downloads directory. Don’t save it anywhere else, don’t extract it, and don’t rename it. With that file in place, click the start menu and then click Stealth VM. From the listing, click the top entry, Robolinx Stealth VM Installer. When prompted, type your sudo password. You will then be prompted that the Stealth VM is ready to be used. Go back to the start menu and click Stealth VM and select the version of Windows you want to install. A new window will appear (Figure 3). Click Yes and the installation will continue.
Figure 3: Installing Windows in the Stealth VM.
Next you will be prompted to type your sudo password again (so your user can be added to the vboxusers group). Once you’ve taken care of that, you’ll be prompted to configure the RAM you want to dedicate to the VM. After that, a browser window will appear (once again asking for a donation). At this point everything is (almost) done. Close the browser and the terminal window.
You’re not finished.
Next you must insert the Windows installer media that matches the type of Windows VM you installed. You then must start VirtualBox by click start menu > System Tools > Oracle VM VirtualBox. When VirtualBox opens, an entry will already be created for your Windows VM (Figure 4).
Figure 4: Your Windows VM is ready to go.
You can now click the Start button (in VirtualBox) to finish up the installation. When the Windows installation completes, you’re ready to work with Linux and Windows side-by-side.
Making VMs a bit more user-friendly
You may be thinking to yourself, “Creating a virtual machine for Windows is actually easier than that!”. Although you are correct with that sentiment, not everyone knows how to create a new VM with VirtualBox. In the time it took me to figure out how to work with the Robolinux Stealth VM, I could have had numerous VMs created in VirtualBox. Additionally, this approach doesn’t happen free of charge. You do still have to have a licensed copy of Windows (as well as the installation media). But anything developers can do to make using Linux easier is a plus. That’s how I see this—a Linux distribution doing something just slightly different that could remove a possible barrier to entry for the open source platform. From my perspective, that’s a win-win. And, you’re getting a pretty solid Linux distribution to boot.
If you already know the ins and outs of VirtualBox, Robolinux might not be your cuppa. But, if you don’t like technology getting in the way of getting your work done and you want to have a Linux distribution that includes all the necessary tools to help make you productive, Robolinux is definitely worth a look.
Learn more about Linux through the free “Introduction to Linux” course from The Linux Foundation and edX.
Reading the source is an important part of open source software. It means users have the ability to look at the code and see what it does.
But “read the source” doesn’t apply only to code. Understanding the standards the code implements can be just as important. These standards are codified in documents called “Requests for Comments” (RFCs) published by the Internet Engineering Task Force (IETF). Thousands of RFCs have been published over the years, so we collected a few that our contributors consider must-reads.
6 must-read RFCs
RFC 2119—Key words for use in RFCs to indicate requirement levels
This is a quick read, but it’s important to understanding other RFCs. RFC 2119 defines the requirement levels used in subsequent RFCs. What does “MAY” really mean? If the standard says “SHOULD,” do you really have to do it? By giving the requirements a well-defined taxonomy, RFC 2119 helps avoid ambiguity.
How important is leadership for evolving open source projects and communities? According to the most recent Open Source Guide for the Enterprise from The Linux Foundation and the TODO Group, building leadership in the community is key to establishing trust, enabling collaboration, and fostering the cultural understanding required to be effective in open source.
“Contributing code is just one aspect of creating a successful open source project,” says this Linux Foundation article introducing the latest guide. “The open source culture is fundamentally collaborative, and active involvement in shaping a project’s direction is equally important. The path toward leadership is not always straightforward, however, so the latest Open Source Guide for the EnterprisefromThe TODO Groupprovides practical advice for building leadership in open source projects and communities.”
The Call for Code initiative aims to harness the collective power of the global open source developer community against the growing threat of natural disasters. According to IBM, “the goal is to develop technology solutions that significantly improve disaster preparedness, provide relief from devastation caused by fires, floods, hurricanes, tsunamis and earthquakes, and benefit Call for Code’s charitable partners — the United Nations Human Rights Office and the American Red Cross.”
In a recent webcast — How 22M Developers Take on Disaster Preparedness — Mary Glackin, SVP of Science & Forecast at The Weather Company and IBM Business, spoke with representatives from participating organizations about the initiative and some of the specific goals it aims to achieve.
The Call for Code is “encouraging the global community of developers to stand up for the rights of others,” said Laurent Sauveur, Chief of External Relations, UN Human Rights.
We invite you to amplify the initiative and join the call. You can learn more about the Call for Code and watch the complete webcast here:http://ibm.biz/BdYxHZ.
In this tutorial, we will build NGINX with all available modules in open source version of NGINX and we will use mainline version which is at 1.15.0 at the time of this writing.
NGINX (pronounced “engine x”) is an open source web server software designed with high concurrency in mind, that can be used as HTTP/HTTPS server, reverse proxy server, mail proxy server, software load balancer, TLS terminator, caching server…
It is an extremely modular piece of software. Even some of the seemingly “built-in” pieces of the software, such as GZIP or SSL, are actually built as modules that can be enabled and disabled during the build time. It has core (native) modules and third-party (external) modules created by the community. Right now, there are over a hundred third-party modules that we can utilize.
Written in C language, it’s very fast and lightweight piece of software. Installing NGINX from source code is relatively “easy” – download latest version of NGINX source code, configure, build and install it. You’ll need to choose whether to download the mainline or stable version, but building them is exactly the same.
The Kubernetes 1.11 release became generally available on June 27, providing users of the container orchestration with multiple new features and continued performance improvements.
While Kubernetes releases were originally all led by Google staffers, that has changed in the last two years, with a rigous release management Special Interest Group (SIG) that has mandated that there be a new leader for each release. For the 1.11 release, the role of release lead was held by Red Hat’s Josh Berkus, who is well known in the open-source community for his work helping to lead PostgreSQL database releases.
“What’s similar is the role of the release lead: marshaling all of the independent teams and contributors required to put out a release, including developers of each feature, documentation, release notes, PR, builds, and bug fixing,” Berkus said. “Being a release lead is like playing pinball with 8 balls, and you’re the flipper; it’s not your job to actually fix anything, it’s your job to keep everything in motion and progressing. There’s a lot of nagging involved.”
As an open-source and mobile developer, I’ve had the opportunity to work on some unique projects in places where both man-made and natural disasters have severely affected people and communities. During my time in Haiti working with organizations helping those impacted by the devastating 2010 earthquake, for example, I learned how to take on challenges to assist those in need and simultaneously cope with more adversity than the average development project would require.
After the earthquake and through my experiences with other projects, I learned a lot about the deployment of mobile capabilities and devices after a natural disaster. Here are some important considerations, particularly for developers who might be considering creating solutions for the Call for Code.
Blockchain technology is transforming industries and bringing new levels of trust to contracts, payment processing, asset protection, and supply chain management. Blockchain-related jobs are the second-fastest growing in today’s labor market, according to TechCrunch. But, as in the rapidly expanding field of artificial intelligence, there is a pronounced blockchain skills gap and a need for expert training resources.
Blockchain for Business
A new training option was recently announced from The Linux Foundation. Enrollment is now open for a free training course called Blockchain: Understanding Its Uses and Implications, as well as a Blockchain for Businessprofessional certificate program. Delivered through the edX training platform, the new course and program provide a way to learn about the impact of blockchain technologies and a means to demonstrate that knowledge. Certification, in particular, can make a difference for anyone looking to work in the blockchain arena.
“In the span of only a year or two, blockchain has gone from something seen only as related to cryptocurrencies to a necessity for businesses across a wide variety of industries,” said Linux Foundation General Manager, Training & Certification Clyde Seepersad. “Providing a free introductory course designed not only for technical staff but business professionals will help improve understanding of this important technology, while offering a certificate program through edX will enable professionals from all over the world to clearly demonstrate their expertise.”
TechCrunch also reports that venture capital is rapidly flowing toward blockchain-focused startups. And, this new program is designed for business professionals who need to understand the potential – or threat – of blockchain to their company and industry.
“Professional Certificate programs on edX deliver career-relevant education in a flexible, affordable way, by focusing on the critical skills industry leaders and successful professionals are seeking today,” said Anant Agarwal, edX CEO and MIT Professor.
Hyperledger Fabric
The Linux Foundation is steward to many valuable blockchain resources and includes some notable community members. In fact, a recent New York Times article — “The People Leading the Blockchain Revolution” — named Brian Behlendorf, Executive Director of The Linux Foundation’s Hyperledger Project, one of the top influential voices in the blockchain world.
Hyperledger offers proven paths for gaining credibility and skills in the blockchain space. For example, the project offers a free course titled Introduction to Hyperledger Fabric for Developers. Fabric has emerged as a key open source toolset in the blockchain world. Through the Hyperledger project, you can also take the B9-lab Certified Hyperledger Fabric Developer course. More information on both courses is available here.
“As you can imagine, someone needs to do the actual coding when companies move to experiment and replace their legacy systems with blockchain implementations,” states the Hyperledger website. “With training, you could gain serious first-mover advantage.”