Multi-protocol label switching is a way to insure reliable connections for real-time applications, but it’s expensive, leading enterprises to consider SD-WAN as a way to limit its use.
The thing about MPLS is that it’s a technique, not a service — so it can deliver anything from IP VPNs to metro Ethernet. It’s expensive, so with the advent of SD-WAN enterprises are trying to figure how to optimize its use vs. less expensive connections like the internet.
Did you ever order something online from a distant retailer and then track the package as it makes strange and seemingly illogical stops all over the country.
That’s similar to the way IP routing on the Internet works. When an internet router receives an IP packet, that packet carries no information beyond a destination IP address. There is no instruction on how that packet should get to its destination or how it should be treated along the way.
This is a detailed tutorial for creating a Linux desktop application with Ruby using the GTK+ bindings for the language. The article covers many aspects including usage guides for the Glade tool for building the user interface. The tutorial’s code is available on GitHub here.
Lately I was experimenting with GTK and its Ruby bindings and I decided to write a tutorial introducing this functionality. In this post we are going to create a simple ToDo application (something like what we created here with Ruby on Rails) using the gtk3 gem a.k.a. the GTK+ Ruby bindings.
Note: The code of the tutorial is available at GitHub.
GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off tools to complete application suites.
GTK+ was initially developed for and used by the GIMP, the GNU Image Manipulation Program. It is called the “The GIMP ToolKit” so that the origins of the project are remembered. Today it is more commonly known as GTK+ for short and is used by a large number of applications including the GNU project’s GNOME desktop.
Is Linux Mint slow? Hell, no! The operating system is plenty fast. Speed is in the eye of the beholder, however, and the Mint developers apparently thought app-launching seemed slow when using the Cinnamon desktop environment. They didn’t have any proof, but they felt that both Mate and Xfce were faster in this regard.
Well, rather than allow their feelings to remain unproven, the Mint devs decided to come up with a speed test to see if they were correct. Guess what? They were! Windows build time was four times slower with Cinnamon compared to Metacity, while recovery time was nearly four times slower too. So yes, app-launching on Cinnamon — as of today — is slow comparatively. The big benefit to pinpointing a problem, however, is that it is the first step in solving it. And so, Linux Mint 19 Cinnamon will be faster as a result.
As explained by TechTarget, “A consensus algorithm is a process in computer science used to achieve agreement on a single data value among distributed processes or systems. Consensus algorithms are designed to achieve reliability in a network involving multiple unreliable nodes. Solving that issue — known as the consensus problem — is important in distributed computing and multi-agent systems. To accommodate this reality, consensus algorithms necessarily assume that some processes and systems will be unavailable and that some communications will be lost. As a result, consensus algorithms must be fault-tolerant. They typically assume, for example, that only a portion of nodes will respond but require a response from that portion, such as 51%, at a minimum.”
In the context of cryptocurrencies, consensus algorithms are designed to ensure that transactions are valid and distributed across many participants to verify accuracy and resiliency through redundancy.
Systems thinking is a holistic approach to problem-solving. It’s the opposite of analytical thinking, which separates a problem from the “bigger picture” to better understand it. Instead, systems thinking studies all the elements of a problem, along with the interactions between these elements. …
According to systems thinking, everything is a system: your body, your family, your neighborhood, your city, your company, and even the communities you belong to. These systems evolve organically; they are alive and fluid. The better you understand a system’s behavior, the better you can manage and leverage it. You become their change agent and are accountable for them.
Systems thinking and DevOps
All systems include properties that DevOps addresses through its practices and tools. Awareness of these properties helps us properly adapt to DevOps. Let’s look at the properties of a system and how DevOps relates to each one.
In the race for ever-improving technology, there are two related technical capabilities that drive our world forward: speed and size. These are related, as the smaller a device is, the less distance the electrical signal driving your device has to travel. As we’ve been able to cut silicon thinner, print circuit elements smaller, and develop increasingly miniaturized transistors, gains in computing speed-and-power and decreases in device size have gone hand-in-hand. But at the same time these advances have comes in leaps and bounds, one fundamental circuit element — the inductor — has had its design remain exactly the same. Found in everything from televisions to laptops to smartphones to wireless chargers, radios, and transformers, it’s one of the most indispensable electronic components in existence.
Since their 1831 invention by Michael Faraday, their design has remained basically unchanged. Until last month, that is, when a UC Santa Barbara team led by Kaustav Banerjee demonstrated a fundamentally new type of inductor. Without the limitations of the original inductor design, it should allow a new breakthrough in miniaturization and speed, potentially paving the way for a more connected world.
The Linux desktop and server enjoys a remarkable level of security. That doesn’t mean, however, you should simply rest easy. You should always consider that your data is always a quick hack away from being compromised. That being said, you might want to employ various tools for encryption, such as GnuPG, which lets you encrypt and decrypt files and much more. One problem with GnuPG is that some users don’t want to mess with the command line. If that’s the case, you can turn to a desktop file manager. Many Linux desktops include the ability to easily encrypt or decrypt files, and if that capability is not built in, it’s easy to add.
I will walk you through the process of encrypting and decrypting a file from within three popular Linux file managers:
Nautilus (aka GNOME Files)
Dolphin
Thunar
Installing GnuPG
Before we get into the how to of this, we have to ensure your system includes the necessary base component… GnuPG. Most distributions ship with GnuPG included. On the off chance you use a distribution that doesn’t ship with GnuPG, here’s how to install it:
Ubuntu-based distribution: sudo apt install gnupg
Fedora-based distribution: sudo yum install gnupg
openSUSE: sudo zypper in gnupg
Arch-based distribution: sudo pacman -S gnupg
Whether you’ve just now installed GnuPG or it was installed by default, you will have to create a GPG key for this to work. Each desktop uses a different GUI tool for this (or may not even include a GUI tool for the task), so let’s create that key from the command line. Open up your terminal window and issue the following command:
gpg --gen-key
You will then be asked to answer the following questions. Unless you have good reason, you can accept the defaults:
What kind of key do you want?
What key size do you want?
Key is valid for?
Once you’ve answered these questions, type yto indicate the answers are correct. Next you’ll need to supply the following information:
Real name.
Email address.
Comment.
Complete the above and then, when prompted, type O (for Okay). You will then be required to type a passphrase for the new key. Once the system has collected enough entropy (you’ll need to do some work on the desktop so this can happen), your key will have been created and you’re ready to go.
Let’s see how to encrypt/decrypt files from within the file managers.
Nautilus
We start with the default GNOME file manager because it is the easiest. Nautilus requires no extra installation or extra work to encrypt/decrypt files from within it’s well-designed interface. Once you have your gpg key created, you can open up the file manager, navigate to the directory housing the file to be encrypted, right-click the file in question, and select Encrypt from the menu (Figure 1).
Figure 1: Encrypting a file from within Nautilus.
You will be asked to select a recipient (or list of recipients — Figure 2). NOTE: Recipients will be those users whose public keys you have imported. Select the necessary keys and then select your key (email address) from the Sign message as drop-down.
Figure 2: Selecting recipients and a signer.
Notice you can also opt to encrypt the file with only a passphrase. This is important if the file will remain on your local machine (more on this later). Once you’ve set up the encryption, click OK and (when prompted) type the passphrase for your key. The file will be encrypted (now ending in .gpg) and saved in the working directory. You can now send that encrypted file to the recipients you selected during the encryption process.
Say someone (who has your public key) has sent you an encrypted file. Save that file, open the file manager, navigate to the directory housing that file, right-click the encrypted file, select Open With Decrypt File, give the file a new name (without the .gpg extension), and click Save. When prompted, type your gpg key passphrase and the file will be decrypted and ready to use.
Dolphin
On the KDE front, there’s a package that must be installed in order to encrypt/decrypt from with the Dolphin file manager. Log into your KDE desktop, open the terminal window, and issue the following command (I’m demonstrating with Neon. If your distribution isn’t Ubuntu-based, you’ll have to alter the command accordingly):
sudo apt install kgpg
Once that installs, logout and log back into the KDE desktop. You can open up Dolphin and right-click a file to be encrypted. Since this is the first time you’ve used kgpg, you’ll have to walk through a quick setup wizard (which self-explanatory). When you’ve completed the wizard, you can go back to that file, right-click it (Figure 3), and select Encrypt File.
Figure 3: Encrypting a file within Dolphin.
You’ll be prompted to select the key to use for encryption (Figure 4). Make your selection and click OK. The file will encrypt and you’re ready to send it to the recipient.
Note: With KDE’s Dolphin file manager, you cannot encrypt with a passphrase only.
Figure 4: Selecting your recipients for encryption.
If you receive an encrypted file from a user who has your public key (or you have a file you’ve encrypted yourself), open up Dolphin, navigate to the file in question, double-click the file, give the file a new name, type the encryption passphrase, and click OK. You can now read your newly decrypted file. If you’ve encrypted the file with your own key, you won’t be prompted to type the passphrase (as it has already been stored).
Thunar
The Thunar file manager is a bit trickier. There aren’t any extra packages to install; instead, you need to create new custom action for Encrypt. Once you’ve done this, you’ll have the ability to do this from within the file manager.
To create the custom actions, open up the Thunar file manager and click Edit > Configure Custom Actions. In the resulting window, click the + button (Figure 5) and enter the following for an Encrypt action:
Figure 5: Creating an custom action within Thunar.
NOTE: If gnome-terminal isn’t your default terminal, substitute the command to open your default terminal in.
You can also create an action that encrypts with a passphrase only (not a key). To do this, the details for the action would be:
Name: Encrypt Passphrase
Description: Encrypt with Passphrase only
Command: gnome-terminal -x gpg -c %f
You don’t need to create a custom action for the decryption process, as Thunar already knows what to do with an encrypted file. To decrypt a file, simply right-click it (within Thunar), select Open With Decrypt File, give the decrypted file a name, and (when/if prompted) type the encryption passphrase. Viola, your encrypted file has been decrypted and is ready to use.
One caveat
Do note: If you encrypt your own files, using your own keys, you won’t need to enter an encryption passphrase to decrypt them (because your public keys are stored). If, however, you receive files from others (who have your public key) you will be required to enter your passphrase. If you’re wanting to store your own encrypted files, instead of encrypting them with a key, encrypt them with a passphrase only. This is possible with Nautilus and Thunar (but not KDE). By opting for passphrase encryption (over key encryption), when you go to decrypt the file, it will always prompt you for the passphrase.
Other file managers
There are plenty of other file managers out there, some of them can work with encryption, some cannot. Chances are, you’re using one of these three tools, so the ability to add encryption/decryption to the contextual menu is not only possible, it’s pretty easy. Give this a try and see if it doesn’t make the process of encryption and decryption much easier.
Learn more about Linux through the free “Introduction to Linux” course from The Linux Foundation and edX.
Every year, Stack Overflow conducts its developer survey and shares its results with the public for analysis. Expanding its reach, this year over 100,000 developers took part in the 30-minute survey and told how they learn new technologies, which tools they use to get their work done, and what they look for while hunting some job.
The most popular development platform
If you look at this year’s data, you’ll notice that 48.3% developers responded with Linux as the platform they have done development work for this year. It was followed by Windows Desktop and Server with 35.4%.
One of the main advantages of embracing containers is “lightweight virtualization.” Since each container is just a thin layer around the containerized processes, the user gains enormous efficiencies, for example by increasing the container density per host, or by spinning containers up and down at a very fast pace.
However, as the troubleshooting story in the article will show, this lightweight virtualization comes at the cost of sharing the underlying kernel among all containers, and in some circumstances, this can lead to surprising and undesirable effects that container users typically don’t think about.
This troubleshooting tale is rather involved. I’ve started from the basics and worked up to the more complex material in the hope that readers at all levels can get value out of it.
This article was sponsored by Huawei and written by Linux.com.
The 2018 Open Networking Summit (ONS) is almost here. We spoke to Bill Ren, Vice President Network Industry & Ecosystem Development at Huawei recently to glean some insights on ONAP since Huawei is a founding member and top contributor to this project.
“SDN/NFV solutions have been in the market for many years but we did not see massive deployment due to lack of working standards and automation,” Bill said.
Bill Ren, VP, Network Industry & Ecosystem Development, Huawei Technologies Co.,Ltd.
“We believe open source will help produce de facto standards faster. We need to bring automation and intelligence into networking, we need a full end to end automation platform and that is why ONAP is particularly important for networking.”
Here is what Bill had to say about the ONAP’s growing role in open networking.
Linux.com: How does adopting ONAP as a standard help all operators and vendors to innovate?
Bill:ONAP can help to set up a common framework for all operators as an onboarding resource, or to design and deploy service, manage and control the network, collect data from networks, and manage policy. Adopting ONAP as a standard means that operators can focus on service innovation rather than on the software platform itself. And, vendors can focus on innovation as ONAP removes the difficulty of OSS integration and brings an open unified marketplace for all vendors.
Linux.com: Huawei leads five of 28 ONAP projects, including SO, VNF SDK, Modeling, Integration and ONAP CLI. Why did Huawei choose those projects? What benefits do you see in those projects?
Bill: Huawei treats open source as a strategic tool to build a healthy telecom industry, and we set up a dedicated management team for networking open source projects like ONAP. We chose to lead some of these projects because they are key elements in building a healthy ecosystem. Take modeling for example. Modeling aims to build common information model for network resource and service across the whole industry. This will result in simple and quick resource onboarding and OSS/BSS integration. VNF SDK aims to build common VNF packaging and marketplace. Integration aims to support multi-cloud and multi-vendor environments. SO is the core component in ONAP that links other components so that they work together.
Huawei also chose to lead these key projects because we, as an end-to-end telecom solution leader, have the necessary resources, expertise and experience to significantly contribute. For example, we can involve our global expertise in SDOs for modelling project. And we can involve our key customer to discuss use case, requirements and POC/trials. Huawei believes an open healthy ecosystem will enlarge the total market and ultimately benefit Huawei’s business.
Linux.com: What benefits do you see in being involved in the ONAP community?
Bill: We learned a lot. ONAP brings really good architecture for network automation and this will benefit our related products. ONAP brings operator and vendor together and this will help us to understand requirements much better. ONAP will even bring a chance to try some new business model in certain area like service or cloudification. I believe we will see more and more benefits over time. I believe we will see more and more benefits over time.
Linux.com: Your keynote at Open Networking Summit is “Make Infrastructure Relevant to a Better Future.” Explain that please. What has Huawei done along these lines and how well is it working?
Bill: Yes. Building an open ecosystem and accelerating operational transformation is our industry strategy. Infrastructure operators need operational transformation to be more deeply relevant to a better digital intelligent society. And open source is the strategy tool for that. My keynote at ONS will address this point.
Basically, we believe all partners in our industry, including SDOs and open source projects, operators and vendors can work together to build an open and intent-driven cloud-friendly network to empower the digital life and vertical digitalization. I am happy to see that most network related open source projects are now merged into Linux Foundation Networking (LFN) umbrella and SDOs like MEF/TMF are cooperating with LFN. I would say it moves on the right direction.
Linux.com: What are your thoughts on the Linux Foundation Networking umbrella overall?
Bill: I look forward to LFN speeding the building of the open source networking ecosystem, and Telco operation transformation. I would like to see LFN work out a clear technical vision, flexible full stack architecture, cross-domain common models, harmonized SDO cooperation and faster production and field trials. I recommend LFN set up a strong Technical Advisory Committee (TAC) team, unified use case committee, and unified verification programs. I believe our industry has found a better way to work together, and I look forward to another quick change and successful year for our industry.