EdgeX Foundry project releases Linux-on-Artik dev board

The EdgeX Foundry IoT middleware project announced nine new members including Intel, and launched an Ubuntu-driven development kit based on an octa-core Artik 710 module.

The Linux Foundation’s EdgeX Foundry project for developing open source edge computing middleware has released its first developer kit. The Ubuntu-based kit is built around an octa-core Samsung Artik 710 Starter Kit teamed with a GrovePi+ I/O board. Future kits will include an Artik 530 kit, and eventually, a Raspberry Pi/GrovePi+ combination.

At the recent IoT Solutions World Congress, the EdgeX Foundry project also announced nine new members, including Intel, and debuted a Smart Building Automation Use Case Community Demo. The demo showed off the platform’s ability to bring together heterogeneous solution components, including different vendors, connectivity standards, operating systems, and hardware types.

Artik 710 Starter Kit Interposer board (left) and EdgeX conceptual diagram
(click images to enlarge)

 

EdgeX Foundry was

announced

in 2017, with a goal of developing a standardized, open source interoperability framework for IoT edge computing. In August, the project released a v2

California

version of the middleware, which will be succeeded by a “Delhi” release in November. Delhi will provide EdgeX’s first management features, as well as improved security features such as access control and security bootstrapping. It will also offer C and Golang-based Device Service SDKs and a reference GUI.

Based largely on technology created by Dell, EdgeX Foundry is creating and certifying an ecosystem of interoperable, plug-and-play components to create an open source EdgeX stack for IoT edge computing. The cross-platform middleware will mediate between multiple sensor network messaging protocols as well as multiple cloud and analytics platforms.

EdgeX architecture
(click image to enlarge)

 

Dell is one of three Platinum members alongside Analog Devices and Samsung. With the new additions, the membership has reached 70. The new members are Basking Automation, Beijing University of Posts and Telecommunications (BUPT), DATA AHEAD, CertusNet, Intel Corp., Redis Labs, the Federal University of Campina Grande (UFCG) /Embedded Lab, Windmill Enterprise, and ZEDEDA. Previous members include AMD, Canonical, Cloud Foundry, Linaro, Mocana, NetFoundry, and VMware.

EdgeX developer kits

The Artik 710 based EdgeX developer kit is initially available as a community-supported product. Developers independently purchase the kit from Samsung and download the upcoming EdgeX Delhi software from the EdgeX repository on GitHub. Informal, community-based tech support is available via forums like the EdgeX Rocket Chat.

Artik 710 Starter Kit boardset with Artik Interface II Board at right

This initial kit, as well as future kits, will also soon be available as part of a commercial track that offers professional support. The commercial kits are designed primarily for EdgeX members but are available to anyone. Commercial options will include “kits based on supported versions of the EdgeX framework itself (neutral to any plug-in value add), kits based on specific IoT platforms, and microservice plug-ins for value-add such as analytics, data orchestration and security,” says the project.

Samsung’s Artik 710 and Artik 530, which will form the basis of an upcoming EdgeX kit, switched their BSPs from Fedora to Ubuntu in Oct. 2017. The Artik 710 module features a 1.4GHz, octa-core, -A53 SoC with a Mali T400 GPU while the Artik 530 has a 1.2GHz, quad-core, -A9 SoC. Both include hardware security elements.

The 49 x 36mm modules integrate 1GB DDR3 RAM, 4GB eMMC flash, and an Ethernet PHY. They also include dual-band 802.11a/b/g/n (WiFi 4), Bluetooth 4.2, and Zigbee/Thread (802.15.4).

The Artik 710 Developer Kit is a double board set. The Interposer Board provides the Artik 710 plus Gigabit Ethernet, micro-HDMI, and micro-USB OTG ports. There’s also an LVDS interface and antenna connectors. The Platform Board sits under the Interposer board and provides a USB 2.0 host port, SD slot, audio jack, JTAG, 5V DC input, and MIPI-CSI and -DSI connections.

The EdgeX version of the Artik 710 kit also includes the optional Artik Interface II Board, which connects the bundled Seeed GrovePi+ I/O board. The GrovePi+ Starter Kit also provides a dozen Grove sensors and LEDs, plus a backlit LCD, buzzer, relay, and button.

Eagleye 530 (left) and the GrovePi+ Starter Kit available on both the Artik 710 and Eagleye EdgeX kits
(click images to enlarge)

 

The GrovePi+ Starter Kit is also part of Samsung’s

GrovePi+ Starter Kit for Eagleye 530

board, which will form the basis of the upcoming Artik 530 kit. Unlike the Artik 710 kit, the Artik 530 equipped

Eagleye 530

is a single board with a Raspberry Pi like layout, footprint, and 40-pin GPIO interface. The Eagleye 530 is further equipped with GbE and HDMI ports, 2x USB 2.0 ports, and micro-USB OTG and power ports. There’s also an SD slot, audio jack, and MIPI-CSI camera interface. Unlike the Artik 710 kit, the Eagleye 530 does not require the Interface II Board to hook up the bundled GrovePi+ board.

The GrovePi+ board will also be available in a future EdgeX kit that runs on the a href=”https://www.seeedstudio.com/GrovePi+-Starter-Kit-for-Raspberry-Pi-A+,B,B+&2,3-(CE-certified)-p-2572.html” target=”new”>GrovePi+ Starter Kit for Raspberry Pi. Other development kits are also under consideration. Even if Intel had not joined the project, one of them was likely to provide an x86 chip.

“Intel’s involvement in EdgeX Foundry will help drive scale and accessibility of solutions for both our customers and businesses of all sizes,” stated Stacey Shulman, Intel’s chief innovation officer for Retail Solutions.

This article is copyright © 2018 Linux.com and was originally published here. It has been reproduced by this site with the permission of its owner. Please visit Linux.com for up-to-date news and articles about Linux and open source.

Source

Another Milestone Achieved: Run Linux Apps on a Chromebook | Reviews

By Jack M. Germain

Oct 25, 2018 11:00 AM PT

Linux apps now can run in a Chromebook’s Chrome OS environment. However, the process can be tricky, and it depends on your hardware’s design and Google’s whims.

It is somewhat similar to running Android apps on your Chromebook, but the Linux connection is far less forgiving. If it works in your Chromebook’s flavor, though, the computer becomes much more useful with more flexible options.

Still, running Linux apps on a Chromebook will not replace the Chrome OS. The apps run in an isolated virtual machine without a Linux desktop.

If you are not familiar with any Linux distribution, your only learning curve involves getting familiar with a new set of computing tools. That experience can pique interest in a full Linux setup on a non-Chromebook device.

Why tool around with adding Linux apps to the Chromebook world? One reason is that now you can. That response may only suit Linux geeks and software devs looking to consolidate their work platform, though.

Want a better reason? For typical Chromebook users, Linux apps bring a warehouse of software not otherwise available to Chromebooks. Similarly, the Google Play Store brought a collection of apps to the Chromebook that had been beyond the limitations of the Chrome Web Store for Android phone and tablet users. The Debian Linux repository expands the software library even more on the Chromebook.

Curiosity Trumps Complacency

I have used a series of Chromebooks to supplement my Linux computers over the years. When Android apps moved to the Chromebook, I bought a current model that supported the Play Store. Unfortunately, that Asus C302CA wimped out as a Linux apps machine. See more below on why that Chromebook and others fail the Linux apps migration.

I replaced that Asus Chromebook with a newer model rated to run Linux apps, the Asus C213SA. It came preconfigured to run both Android and Linux apps. The Play Store was already enabled and installed. The Linux Beta feature was installed but not activated. Completing that setup took a few steps and about 15 minutes.

As I will run down shortly, these two relatively recent Chromebooks have a world of differences under the hood. They both run the same qualifying Chrome OS version. They have different classes of Intel processors. Google engineers blessed one but not the other with the ability to run the new Linux apps technology.

The process of running Linux apps on a Chromebook requires loading the essential Linux packages to run a terminal window in a sandbox environment within the browser User Interface. You then use APT commands to get and install desired Linux applications.

Work in Progress

The original concept for the Chromebook was to tap into the Google Chrome browser to handle everyday computing chores that most users did in a browser on a full-size computer anyway. You know — tasks that involve Web surfing, emails, basic banking, reading and writing online.

The software tools were built in, so massive onboard storage was not needed. The always-connected Chromebook was tethered to your Google Drive account.
Chromebooks ran the Chrome browser as a desktop interface. Google’s software infrastructure was built around Google Docks and Chrome apps from the Web Store.

Then came integration of Android Apps running within the Chromebook environment. That let you run Android apps in a Chrome browser tab or in a separate window. The latter option gives the illusion of being a separate app window, as on an Android phone or tablet.

Not all Chromebooks can run Android apps, though. The older the model, the less likely it has Android support. Now that same concept is integrating Linux applications within the Chromebook environment. Linux apps run as a standalone program in a special Linux container on top of the Chrome OS.

Long-Term Impact

You have two options in managing Linux software on a Chromebook. One is to use the APT command line statements within a terminal window to get and install/uninstall each Linux application. The other strategy is to use APT to install access to the Debian software repository and use a graphical package manager tool to install and remove Linux applications.

This process forces the Chromebook to do something it was not designed to handle. It must store the Linux infrastructure and each installed application locally. That added storage impact will do one of two things: It will force devs to cram more storage capacity into the lightly resourced Chromebooks; or it will force users to limit the extent of software downloading.

Either way, the ability to run Linux apps on a qualified Chromebook expands the computer’s functionality. In my case, it lets me use Linux productivity tools on a Chromebook. It lets me use one computer instead of traveling with two.

Refining Progress

Running Linux apps on qualified Chromebooks is not Google’s first attempt to piggyback the Linux OS onto Chromebook hardware. Earlier attempts were clunkier and taking advantage of them required some advanced Linux skills.

Chrome OS is a Linux variant. Earlier attempts involved using
Crouton to install the Linux OS on top of the Chrome OS environment. Google employee Dave Schneider developed the Crouton OS. Crouton overlays a Linux desktop on top of the Chrome OS. Crouton runs in a chroot container.

Another method is to replace the Chrome OS with the
GalliumOS, a Chromebook-specific Linux variant. To do this, you must first switch the Chromebook to Developer Mode and enable legacy boot mode.

Like other Linux distros, you download the ISO variant specific to your Chromebook and create a bootable image on a USB drive. You can run a live session from the USB drive and then install the Gallium OS on the Chromebook. GalliumOS is based on Xubuntu, which uses the lightweight Xfce desktop environment.

What Crostini Does

The Crostini Project is the current phase of Google’s plan to meld Linux apps onto the Chrome OS platform. The Crostini technology installs a base level of Linux to run KVM, Linux’s built-in virtual machine (VM).

Then Crostini starts and runs LXC containers. It runs enough of Debian Linux to support a running Linux app in each container.

The Crostini technology lets compatible Chromebooks run a completely integrated Linux session in a VM that lets a Linux app run. This latest solution does not require Crouton and Developer Mode. However, the particular Chromebook getting the Linux Apps installation might need to change modes to either Beta or Developer channels.

With the help of Crostini, the Chrome OS creates an icon launcher in the menu. You launch the Linux apps just like any Chromebook or Android app by clicking on the launch icon. Or you enter the run command in the Linux terminal.

Making It Work

In an ideal computing world, Google would push the necessary Chrome OS updates so all compatible units would set up Linux apps installation the same way. Google is not a perfect computing world, but the Chromebook’s growing flexibility makes up for that imperfection.

Not all Chromebooks are compatible with running Linux apps using Crostini. Instead, there is a minimal setup for newer Chromebooks that come with Linux Beta preinstalled. Other Chromebook models that have the required innards and the Google blessing have a slightly more involved installation and setup process to apply.

ASUS Chromebook Flip C213SA Chrome OS settings panel

The ultimate installation goal is to get the Linux (Beta) entry listed on the Chrome OS settings panel.

What You Need

Installing Linux apps requires your Chromebook to be running Chrome OS 69 or later. To check, do this:

  • Click your profile picture in the lower-right corner.
  • Click the Settings icon.
  • Click the Hamburger icon in the upper-left corner.
  • Click “About Chrome OS.”
  • Click “Check for updates.”

Even with Chrome OS 69 or newer installed, other factors determine your Chromebook’s suitability to run Linux apps. For example, Linux runs on Chromebooks with an operating system based on the Linux 4.4 kernel. Some older Chromebooks running Linux 4.14 will be retrofitted with Crostini support. Others will not.

According to Google’s
documentation notes, any Chromebook outfitted with the Intel Bay Trail Atom processors will not support Linux apps. That seems to be the reason for my Asus C302CA failing the Linux suitability test.

Other bugaboos include 32-bit ARM CPUs. Also a negative factor are firmware issues, limited storage and RAM capacities.

Overall, few current Chromebooks have the basic hardware needed: Crostini, kernel 3.18 based on the Glados baseboard with the Skylake SoC, and an adequate processor. Those basic system requirements could change as Google engineers fine-tune the Crostini technology. Of course, newer Chromebook models no doubt will become available as the Crostini Project moves beyond it current beta phase.

Here is a
list of Chromebooks that are expected to receive upgrades OTA to support Linux Apps eventually.

Ultimate Compatibility Test

Even if your Chromebook seems to have all of the required hardware and lets you activate Crostini support, Google specifically must enable one critical piece of technology to let you run Linux. This is the major rub with the process of putting Linux apps on earlier model Chromebooks.

Google also must have enabled the Linux VM for your hardware. Find out if your Chromebook has been blessed by the Google gods after completing the channel change and flag activation: Open Chrome OS’ built-in shell, crosh; then run this shell command —

vmc start termina

If you get a message saying that vmc is not available, your quest to put Linux apps on that particular Chromebook is over.

You can skip the crosh test if you do not see “Linux (Beta)” listed on the Chrome OS Settings panel (chrome://settings). Linux will not run on your Chromebook, at least not until Google pushes an update to it. If you do see “Linux Beta” listed below the Google Play Store in the settings panel, click on the label to enable the rest of the process.

Getting Started

Some models that can run Crostini include newer Intel-powered Chromebooks from Acer, Asus, Dell, HP, Lenovo and Samsung. Check this source for a crowdsourced
list of supported Chromebooks.

If your Chromebook supports Crostini and is new enough, Crostini support already may be installed in the stable channel by default. In that case, change the flag in the Chrome OS [chrome://flags] on the Chrome browser’s address line to enable Crostini.

Otherwise, you will have to apply several steps to get all of the working pieces on the Chromebook. This can include switching your Chromebook from the stable update channel to the developer channel or the Beta channel, depending on the hardware and the make/model. You also will have to download special software using commands entered into a terminal window.

If you have a recent Chromebook model with built-in Linux apps support, you will see “Linux Beta” listed in the left column of the Settings Panel [chrome://settings]. All you have to do is click on the label and follow the prompts to enable the Linux apps functionality.

ASUS Chromebook Flip C213SA Linux terminal and Geany Linux app

The Linux terminal and Geany Linux app display in the Chrome OS menu along with Chrome and Android apps.

Making It Linux-Ready

If your Chromebook is not already set with Linux enabled, first, switch it to developer mode and then enable the Crostini flag. Here is how to do each step.

Do this to change Chromebook modes:

  • Sign in to your Chromebook with the owner account.
  • Click your account photo.
  • Click Settings.
  • At the top left, click Menu.
  • Scroll down and click “About Chrome OS.”
  • Click “Detailed build information.”

Next to “Channel” click the Change channel button and select either Beta or Developer. Then click the Change Channel button. Depending on your Chromebook model, either one could be what your hardware needs. I suggest starting with Developer channel. If that does not install the Linux Beta software, redo the process in the Beta channel.

When the channel change operation is completed, click the “Restart your Chromebook” button.

Caution: You can reverse this process by changing back to the stable channel at any time. Google servers automatically will force a power wash when you restart your Chromebook to return to the stable channel. When you sign into your Chromebook, you will have to do an initial setup just as you did when unboxing it, but Google will restore most if not all of your previous software and settings. Make sure you backed up any documents stored locally, however.

Do this to set the Crostini flag to enabled:

  • Click on the address bar.
  • Type chrome://flags and press Enter.
  • Press Ctrl + F on your keyboard.
  • Scroll down the list to find “Crostini.” Type Crostini in the search bar. Select Enable.
  • Click Restart at the bottom of the screen.

Final Steps

At this current phase of Beta Linux on Chromebooks, once you get to seeing “Linux Beta” on the Chrome Settings Panel, you must download the final pieces manually to get and run Linux apps. Open the Chrome settings panel, click the Hamburger icon in the upper-left corner, click Linux (Beta) in the menu. Then click “Turn on.”

The Chromebook will download the files it needs. When that process is finished, click the white circle in the lower-left corner to open the app drawer. You will see the Linux Terminal icon. Click it.

Type in the command window and then press the Enter key to get a list of Linux components that need updating:

sudo APT update

Then type in the command window and press the Enter key to upgrade all the components:

sudo APT upgrade

When that’s finished, type y to remove excess files. Press Enter.

Now you are ready to download the Linux apps to make using your Chromebook more productive and more flexible. At least for now, you must open the Linux terminal window and enter APT commands to install or remove your selected Linux apps.

This is a simple process. If you have any uncertainty about the commands, check out this helpful
user guide.

Using It

This article serves as a guide for the current state of running Linux apps on compatible Chromebooks. It is not my intent to review specific Chromebooks. That said, I have been very pleased with my latest Asus Chromebook.

The only thing lacking in the 11.6-inch Asus C213SA is a backlit keyboard. The Asus C302CA has both a backlit keyboard and a one-inch larger screen. They both have touchscreens that swivel into tablet format and run Android apps. Losing a tiny bit of screen size and a backlit keyboard in exchange for running Linux apps is a satisfying trade-off.

My original plan was to install a few essential tools so I could work with the same productivity apps on the Chromebook that I use on my desktop and laptop gear. I was using Android text editor Caret for much of my note-taking and review article drafts. It lacks a spellchecker and split-screen feature. However, it easily accesses my cloud storage service and has a tabbed structure, making it a close replacement for my Linux IDE and text editor app, Geany.

I installed Geany as the first Linux app test on the Asus C213SA Chromebook. It worked like a charm. Its on-screen appearance and performance on the Chromebook was nearly identical to what I experienced for years on my Linux computers.

ASUS Chromebook Flip C213SA Linux IDE text editor Geany

Proof positive! The Linux IDE text editor Geany shares screen space with the Chrome OS on a compatible Chromebook.

The Linux Beta feature on Chromebooks currently has a Linux files folder that appears in the Chrome OS Files Manager directory. Any document file that you want to access with a Linux app must be located in this Linux files folder. That means downloading or copying files from cloud storage or local Chromebook folders into the Linux files folder.

It is a hassle to do that and then copy the newer files back to their regular location in order to sync them with other Chromebook and Android apps or cloud storage. If you do not have to access documents from Linux apps on the Chromebook, your usage routine will be less complicated than mine.

Bottom Line

The Linux apps’ performance on Chromebook in its current Beta phase seems to be much more reliable and stable than the Android apps integration initially was. Linux apps on Chromebook will get even better as Crostini gets more developed.

Chrome OS 71 brings considerably more improvements, according to various reports. One of those changes will let the Linux virtual machine be visible in Chrome OS’ Task Manager.

Another expected improvement is the ability to shut down the Linux virtual machine easily.

An even better expected improvement is folder-sharing between the Linux VM and Chrome OS. That should resolve the inconvenience of the isolated Linux files folder.

Is it justifiable to get a new “qualified” Chromebook in order to run Linux apps on it? If you are primarily a Linux distro user and have settled for using a Linux-less Chromebook as a companion portable computer, I can only say, “Go for it!”

I do not think you will regret the splurge.

Want to Suggest a Review?

Is there a Linux software application or distro you’d like to suggest for review? Something you love or would like to get to know?

Please
email your ideas to me, and I’ll consider them for a future Linux Picks and Pans column.

And use the Reader Comments feature below to provide your input!

Jack M. Germain has been an ECT News Network reporter since 2003. His main areas of focus are enterprise IT, Linux and open source technologies. He has written numerous reviews of Linux distros and other open source software.
Email Jack.

Source

Blogger.com vs WordPress.com vs WordPress.org – ThisHosting.Rocks

There are a number of options for one to choose from when starting a blog. Most times, the service you end up choosing would depend to a large extent on several factors. By considering those factors, it is possible for you to subscribe to the right platform and optimize the needed results.

Some of the factors to be considered include target audience, content, and the motive behind running such a website. There are a number of blogging platforms that are geared towards education, others are perfect for entertainment. Still, some platforms can multitask while using a number of extensions (plugins) to ensure smooth running

In this article, we would be looking at three of such platforms. We would examine their features, which would help us understand the most optimal way to use them.

Meeting the Platforms

WordPress.com is an all-rounder blogging portal owned and created by Automattic. It is one of the popular blogging platforms, mostly used for personal blogs. It has a wide range of extensions and plugins that could serve in transforming the platform into more than just a blog page.

WordPress.org, however, is like a parent version of the above platform. An estimated 32% of websites use this software, including news sites and entertainment hubs, as well as the website you’re reading this on. It’s also a popular software used in the creation of various apps including games and banking apps.

Blogger.com is also a well-known platform, and one of the oldest blogging platforms around. It is very easy to use. Developed by Pyra Labs and later acquired by Google in 2003, the platform has served millions of personal bloggers, including students, due to its relatively simple nature and free access.

Our analysis is based on these three platforms. By looking through what each of them offers, it becomes easier for us to decide which platform is suited best for whichever purposes.

WordPress.com

WordPress.com is a very versatile portal used by millions of bloggers worldwide. It can easily be used by the beginner, as well as advanced bloggers. One of its really useful features is found in the ability to own multiple domains for one user.

Another feature that can be found is the link management, which is mostly integrated. WordPress. com is also search-engine friendly, and there are features that allow regular quotes to be converted to smart quotes.

WordPress.com is useful for study-related blogs, as well as for beginners who are just starting out in the venture of owning a personal domain. Thanks to its free domain, it offers a sense of flexibility plus the ability to customize one’s personal space.

WordPress.org

With a third of web processes occurring on WordPress.org, there is no doubt about the versatility of the portal. However, WordPress.org is mostly a building platform, since it’s known to support application development. Therefore, it would be the most suitable for game development, and the development of different apps for banking, communication, and entertainment. It might also be suitable for developers of themes, widgets, and graphic content (clip art, wallpapers).

In general, WordPress.org is preferred by many users for its easy-to-use features, plus the ability to create limitless projects. In addition, its self-hosting services are easy to go through. Through constant upgrades, this platform continues to be relevant per time. This is a great plus.

Most people choose WordPress.org over WordPress.com because of the full control users get with WP.org. When you’re hosting WordPress yourself, you get full control over how your website looks, behaves, and everything else. While with WP.com, you’re quite limited.

Blogger.com

blogger.com

Blogger.com is a bit of an ‘old school’ platform. Similar to its counterparts, the portal is very versatile, with initial access provided free of charge. A fee applies to those who would want to purchase their own domain (username).

Blogger.com is also a good place for hosting, but this feature is not explored that much. This is because there is a notion among audiences that blogspot extensions are only used by amateurs. Perhaps, this explains why it is not constantly used.

Blogger.com can be considered as the starting hub for beginner blogs, as well as the perfect platform to establish a writing service. Customization is also a popular feature to the portal, with tools available at hand to meet all customer needs.

But there’s a snag: because this platform was developed for beginners, it has limited customization features, which makes it less favorable than WordPress among professional and well-experienced bloggers. If you are planning to have a first-hand experience of owning your own space, without further advancements, then this is the space for you. However, if you wish to develop beyond the scope that you are, it would be advisable to switch to another platform where you would have the option of choosing your own domain name and full control over your website.

That’s the gist of it. There’s more to learn about each platform, but you get the basic idea. So in conclusion, if you want full control over your website and buying your own web hosting, go with WordPress.org. If you’re a beginner that just wants an easy way to create a website/blog go with WordPress.com or Blogger.com

In an era where content has to be interactive, it is very important to consider all technical properties and weigh the cost options of every system available, to ensure maximum use of whatever services that are offered to you.

About the Author

This article was submitted to us by a third-party writer. The views and opinions expressed in this article are those of the author and do not reflect the views and opinions of ThisHosting.Rocks. If you want to write for ThisHosting.Rocks, go here.

The article is provided by the authors from the au.edusson writing service.

Neal Davis is a real-world blogger and a social media influencer. Neal and his wife live in rural mid-Michigan. He is also a business coach educating people on how to work with their personal websites.

Source

How To Install Latest Python 3.x in Linux/Debian/Ubuntu/Linux Mint – NoobsLab

Python is a high-level interpreted programming language. The first version of Python was released in 1991. In this article we are not going to discuss what kind of language it is or how you can use it but to show you how you can install it on your Linux system.

If you are a Python programmer or you want to run some program which requires latest Python version then you are on the right page, we will show you how you can install latest Python version on your Linux(Debian/Ubuntu/Linux Mint/other distributions), currently Python reached at 3.7.x version. Making other Python version default in Linux can make Python applications and desktop components unusable which use certain version of Python. It is better not to set any Python as default in Linux (PS: You can set as default, if you know how to fix if something goes wrong). It is easy to revert back any Python version. Lets start…

Python 3.7.x

We are going to show you two ways to install Python 3.7.x, the PPA method is for Ubuntu/Linux Mint/and Ubuntu dervatives. The second method is universal that means you can install Python 3.7.x on any Linux distribution (Fedora, CentOS, RedHat, openSUSE, Manjaro, ArchLinux etc.)

Install Python 3.7.x using PPA in Ubuntu/Linux Mint

PPA is fairly simple way to install Python:

Available for Ubuntu 18.04 Bionic/16.04 Xenial/14.04 Trusty/Linux Mint 19/18/17/and other related Ubuntu derivatives
To install Python 3.7.x in Ubuntu/Linux Mint open Terminal (Press Ctrl+Alt+T) and copy the following commands in the Terminal:

If you want to install Python 3.6 then use this command(Ubuntu 16.04/14.04/Linux Mint 18/17):

For Python 3.5 use this command (Ubuntu 18.04/14.04/Linux Mint 19/17):

For Python 3.4 use this command (Ubuntu 18.04/16.04/Linux Mint 19/18):

For Python 3.3 use this command (Ubuntu 18.04/16.04/14.04/Linux Mint 19/18/17):

Install Python 3.7.x using source

Using this method you can install Python 3.7.1 in any Linux distribution (Debian, Fedora, CentOS, Manjaro, ArchLinux, openSUSE, Ubuntu etc.)

That’s it

Source

Arm expands DesignStart program for Linux embedded designs

Arm has expanded its DesignStart program to include the Cortex-A5 CPU, Arm’s low-power and Linux-capable application processor, according to the processor IP vendor. Developers can now accelerate embedded and IoT SoC design for applications including medical, smart home, gateways and wearables.

Arm noted its DesignStart program has already opened up Arm CPUs to many designers, with over 3,000 CPU prototyping downloads in the last 12 months alone, including one company who went from concept to tape-out in less than six months. The program has now been taken to the next level with the Cortex-A5 processor, which has been shipped in over two billion devices to date and chosen by top cloud vendors as the entry point for edge IoT processing.

The DesignStart program provides fast, easy access to the Cortex-A5 processor through a web portal and a simplified contract, speeding up time-to-market, Arm indicated. The addition of Cortex-A5 to the program means developers can design with access to the largest technology ecosystem, offering a wealth of resources and a strong foundation on which to scale their products, the company claimed.

Arm continued it is now providing developers with the lowest cost access to a Linux-capable Arm CPU. IP access, including one-year design support from Arm experts, is US$75,000, with an alternative option of US$150,000 access fee that includes three years of support to help achieve right-first-time silicon.

Arm added it is the primary architecture for embedded Linux and Android, with hundreds of Linux-based projects already running on Arm. Linaro and Arm’s combined efforts rank among the top 3 contributors to the Linux kernel.

The Cortex-A5 will also enable advanced machine learning applications with Arm’s Neural Network inference engine, which is part of Linaro’s Machine Learning Initiative, providing wide ecosystem support. In addition, Arm announced recently Mbed Linux OS, which builds on its Mbed OS solution – an IoT platform OS with more than 350,000 developers. This enables secure and rapid development and device management through the Pelion IoT Platform of IoT devices based on Cortex-A for the first time.

When ready to tape out a custom chip, time to market can be accelerated with Arm’s Artisan physical IP. Developers can also benefit from design enablement platforms being supported by 18 foundry partners with process technology ranging from 250nm to 5nm, Arm said.

Earlier in October 2018, Arm announced its DesignStart program would be offering Cortex-M processors without any license fee or royalty on Xilinx FPGAs. Through expanding the program to offer Cortex-A5, Arm is looking to support innovation across the entire design spectrum of embedded and IoT devices. DesignStart also helps speed up SoC implementation with free access to the industry-leading library of physical IP, tailored for a range of fabs and process nodes, through Arm Artisan physical IP.

Source

An Introduction to Quantum Computing with Open Source Cirq Framework

As the title suggests what we are about to begin discussing, this article is an effort to understand how far we have come in Quantum Computing and where we are headed in the field in order to accelerate scientific and technological research, through an Open Source perspective with Cirq.

First, we will introduce you to the world of Quantum Computing. We will try our best to explain the basic idea behind the same before we look into how Cirq would be playing a significant role in the future of Quantum Computing. Cirq, as you might have heard of recently, has been breaking news in the field and in this Open Science article, we will try to find out why.

 

Before we start with what Quantum Computing is, it is essential to get to know about the term Quantum, that is, a subatomic particle referring to the smallest known entity. The word Quantum is based on the Latin word Quantus, meaning, “how little”, as described in this short video:

 

It will be easier for us to understand Quantum Computing by comparing it first to Classical Computing. Classical Computing refers to how today’s conventional computers are designed to work. The device with which you are reading this article right now, can also be referred to as a Classical Computing Device.

Classical Computing

Classical Computing is just another way to describe how a conventional computer works. They work via a binary system, i.e, information is stored using either 1 or 0. Our Classical computers cannot understand any other form.

In literal terms inside the computer, a transistor can be either on (1) or off (0). Whatever information we provide input to, is translated into 0s and 1s, so that the computer can understand and store that information. Everything is represented only with the help of a combination of 0s and 1s.

Quantum Computing

Quantum Computing, on the other hand, does not follow an “on or off” model like Classical Computing. Instead, it can simultaneously handle multiple states of information with help of two phenomena called superimposition and entanglement, thus accelerating computing at a much faster rate and also facilitating greater productivity in information storage.

Please note that superposition and entanglement are not the same phenomena.

So, if we have bits in Classical Computing, then in the case of Quantum Computing, we would have qubits (or Quantum bits) instead. To know more about the vast difference between the two, check this page from where the above pic was obtained for explanation.

Quantum Computers are not going to replace our Classical Computers. But, there are certain humongous tasks that our Classical Computers will never be able to accomplish and that is when Quantum Computers would prove extremely resourceful. The following video describes the same in detail while also describing how Quantum Computers work:

A comprehensive video on the progress in Quantum Computing so far:

Noisy Intermediate Scale Quantum

According to the very recently updated research paper (31st July 2018), the term “Noisy” refers to inaccuracy because of producing an incorrect value caused by imperfect control over qubits. This inaccuracy is why there will be serious limitations on what Quantum devices can achieve in the near term.

“Intermediate Scale” refers to the size of Quantum Computers which will be available in the next few years, where the number of qubits can range from 50 to a few hundred. 50 qubits is a significant milestone because that’s beyond what can be simulated by brute force using the most powerful existing digital supercomputers. Read more in the paper here.

With the advent of Cirq, a lot is about to change.

What is Cirq?

Cirq is a python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits that we just talked about. In other words, Cirq can address challenges to improve accuracy and reduce noise in Quantum Computing.

Cirq does not necessarily require an actual Quantum Computer for execution. Cirq can also use a simulator-like interface to perform Quantum circuit simulations.

Cirq is gradually grabbing a lot of pace, with one of its first users being Zapata, formed last year by a group of scientists from Harvard University focused on Quantum Computing.

Getting started with Cirq on Linux

The developers of the Open Source Cirq library recommend the installation in a virtual python environment like virtualenv. The developers’ installation guide for Linux can be found here.

However,
we successfully installed and tested Cirq directly for Python3 on an
Ubuntu 16.04 system via the following steps:

Installing Cirq on Ubuntu

Cirq Framework for Quantum Computing in Linux

First, we would require pip or pip3 to install Cirq. Pip is a tool recommended for installing and managing Python packages.

For
Python 3.x versions, Pip can be installed with:

sudo apt-get install python3-pip

Python3 packages can be installed via:

pip3 install <package-name>

We went ahead and installed the Cirq library with Pip3 for Python3:

pip3 install cirq

Enabling Plot and PDF generation (optional)

Optional system dependencies not install-able with pip can be installed with:

sudo apt-get install python3-tk texlive-latex-base latexmk

  • python3-tk is Python’s own graphic library which enables plotting functionality.
  • texlive-latex-base and latexmk enable PDF writing functionality.

Later, we successfully tested Cirq with the following command and code:

python3 -c ‘import cirq; print(cirq.google.Foxtail)’

We got the resulting output as:

Configuring Pycharm IDE for Cirq

We also configured a Python IDE PyCharm on Ubuntu to test the same results:

Since we installed Cirq for Python3 on our Linux system, we set the path to the project interpreter in the IDE settings to be:

/usr/bin/python3

In the output above, you can note that the path to the project interpreter that we just set, is shown along with the path to the test program file (test.py). An exit code of 0 shows that the program has finished executing successfully without errors.

So, that’s a ready-to-use IDE environment where you can import the Cirq library to start programming with Python and simulate Quantum circuits.

Get started with Cirq

A good place to start are the examples that have been made available on Cirq’s Github page.

The developers have included this tutorial on GitHub to get started with learning Cirq. If you are serious about learning Quantum Computing, they recommend an excellent book called “Quantum Computation and Quantum Information” by Nielsen and Chuang.

OpenFermion-Cirq

OpenFermion is an open source library for obtaining and manipulating representations of fermionic systems (including Quantum Chemistry) for simulation on Quantum Computers. Fermionic systems are related to the generation of fermions, which according to particle physics, follow Fermi-Dirac statistics.

OpenFermion has been hailed as a great practice tool for chemists and researchers involved with Quantum Chemistry. The main focus of Quantum Chemistry is the application of Quantum Mechanics in physical models and experiments of chemical systems. Quantum Chemistry is also referred to as Molecular Quantum Mechanics.

The advent of Cirq has now made it possible for OpenFermion to extend its functionality by providing routines and tools for using Cirq to compile and compose circuits for Quantum simulation algorithms.

Google Bristlecone

On March 5, 2018, Google presented Bristlecone, their new Quantum processor, at the annual American Physical Society meeting in Los Angeles. The gate-based superconducting system provides a test platform for research into system error rates and scalability of Google’s qubit technology, along-with applications in Quantum simulation, optimization, and machine learning.

In the near future, Google wants to make its 72 qubit Bristlecone Quantum processor cloud accessible. Bristlecone will gradually become quite capable to perform a task that a Classical Supercomputer would not be able to complete in a reasonable amount of time.

Cirq would make it easier for researchers to directly write programs for Bristlecone on the cloud, serving as a very convenient interface for real-time Quantum programming and testing.

Cirq will allow us to:

  • Fine tune control over Quantum circuits,
  • Specify gate behavior using native gates,
  • Place gates appropriately on the device &
  • Schedule the timing of these gates.

The Open Science Perspective on Cirq

As we all know Cirq is Open Source on GitHub, its addition to the Open Source Scientific Communities, especially those which are focused on Quantum Research, can now efficiently collaborate to solve the current challenges in Quantum Computing today by developing new ways to reduce error rates and improve accuracy in the existing Quantum models.

Had Cirq not followed an Open Source model, things would have definitely been a lot more challenging. A great initiative would have been missed out and we would not have been one step closer in the field of Quantum Computing.

Summary

To summarize in the end, we first introduced you to the concept of Quantum Computing by comparing it to existing Classical Computing techniques followed by a very important video on recent developmental updates in Quantum Computing since last year. We then briefly discussed Noisy Intermediate Scale Quantum, which is what Cirq is specifically built for.

We saw how we can install and test Cirq on an Ubuntu system. We also tested the installation for usability on an IDE environment with some resources to get started to learn the concept.

Finally, we also saw two examples of how Cirq would be an essential advantage in the development of research in Quantum Computing, namely OpenFermion and Bristlecone. We concluded the discussion by highlighting some thoughts on Cirq with an Open Science Perspective.

We hope we were able to introduce you to Quantum Computing with Cirq in an easy to understand manner. If you have any feedback related to the same, please let us know in the comments section. Thank you for reading and we look forward to see you in our next Open Science article.

Source

Download Ruby Linux 2.5.3

Ruby is a multiplatform, freely distributed, feature rich and open source command-line software that has been designed from the ground up to provide a powerful programming language for developers who want to build application in Ruby.

Features, lots of features

Key features include a simple syntax inspired by Ada and Eiffel, operating system independent threading, exception handling capabilities for handling errors, numerous operators, a pure and complete object oriented language, as well as support for adding methods to a class.

Additionally, Ruby features a single inheritance only, true closures, blocks in its syntax, a true mark-and-sweep garbage collector, support for writing C extensions, integers, support for loading extension libraries dynamically, and it doesn’t need variable declarations.

Getting started with Ruby

Installing the Ruby programming language on a GNU/Linux operating system is a very easy task, as the package is available for download on all major distributions, directly from their main software repositories. Use the built-in Software Center app to install it.

As an alternative, the latest version can be installed using the source package, which is distributed for free on Softpedia. Simply download it and save it on your Home directory, extract the archive and navigate to the location of the extracted archive files in a terminal emulator app (e.g. cd /home/softpedia/ruby-2.2.0).

Run the ‘./configure’ command to configure the project (you can use the ‘./configure –help’ command to view available options for optimizing Ruby for a specific hardware architecture). Then, run the ‘make’ command to compile it and the ‘sudo make install’ command to install it.

Supported on GNU/Linux, Windows, Mac OS X, BeOS and OS/2

Ruby is a cross-platform software that can be successfully used on all GNU/Linux distributions, as well as on any UNIX-like operating system, including Mac OS X, BeOS, OS/2 and Microsoft Windows. It is compatible with both 32-bit and 64-bit computer platforms.

Source

How To Configure A Nginx Reverse Proxy With Apache

Nginx can as a reverse proxy to Apache. Nginx does best at serving static content extremely fast whereas Apache can process dynamic content and use all of the various Apache modules and .htaccess that are typically the web standard of hosting. This guide assumes you already have a Apache installation and would like to add Nginx on top of it. If you still need to install Apache please see https://linuxadmin.io/compile-apache-2-4-source/. Essentially what you are using with this guide is using nginx as a media/static content server and passing the rest of the requests to Apache. This combination can greatly improve performance over just a standard Apache web server.

You will first need to install Nginx, this guide will walk you through compiling nginx from source.

Setup Nginx Reverse Proxy

First edit the nginx configuration and add the following:

server {
listen 80;

root /var/www/html/;
index index.php index.html index.htm;

server_name domain.com;

location / {
root /var/www/html;
index index.html index.htm;
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_read_timeout 1200;
proxy_send_timeout 1200;
proxy_connect_timeout 75;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
}
location ~* ^.+.(jpg|gif|jpeg|ico|avi|mpeg|mpg|wmv|png|css|js|xml)$ {
root /var/www/html;
}
}

The proxy lines allow Nginx to to grab PHP or any other files from the Apache web server which you will reconfigure to run on port 8080. If a request matches the second location block (jpg|gif|ico|avi|mpeg|mpg|wmv|pgn|css|js|xml) it will be served directly by nginx, taking the load off the Apache web server.

Reconfigure Apache

You will then want to edit your Apache configuration

vim /etc/httpd/conf/httpd.conf

and replace

Listen 80

with

Listen 8080

You will also want to update any virtual hosts to no longer use port 80

<VirtualHost 192.168.1.100:80>

Should now become

<VirtualHost 127.0.0.1:8080>

This will allow Apache to bind on the local interface only serving local requests from Nginx.

You will then want to restart both services to load the new configurations

service httpd restartservice nginx restart

Once you have completed that, Nginx will handle the initial request to port 80 and if a file type is not matched it will send it Apache to delivery the requested resource.

May 23, 2017LinuxAdmin.io

Source

Nginx Load Balancing – LinuxAdmin.io

Nginx can be used as a load balancer to multiple back-end web servers using the proxy functions. This guide will cover the basics of configuring the proxy server to pull from the other web servers. It assumes you already have completed the initial install of Nginx. If you do not already have a install please see Nginx Compile From Source On CentOS.

You will want to create a new configuration (or add to an existing one)

nano /etc/nginx/load-balancer.conf

Insert the following:

upstream cluster {
server 192.168.100.10;
server 192.168.100.11;
server 192.168.100.12;
}

server {
listen 80;
server_name domain.com;

location / {
proxy_pass http://cluster;
}
}

And save the file. You will want to substitute the 192.168.100.xx IP addresses with addresses of each of the web servers you want to send requests too. Once you have completed the load balancing configuration, you will want to restart Nginx to load the new configuration

service nginx restart

Nginx Load Balancing Methods

There are a couple of different clustering types you can utilize each will direct traffic differently

Round Robin

by default without specifying one, round-robin will be used. Sending each new request to a different server.

upstream cluster {
ip_hash;
server 192.168.100.10;
server 192.168.100.11;
server 192.168.100.12;
}

ip_hash will send all subsequent requests from the same IP address to the same server. This is useful if you need sessions to persist on the same server for the same IP address.

Least Connections

upstream cluster {
least_conn;
server 192.168.100.10;
server 192.168.100.11;
server 192.168.100.12;
}

least_conn will send new requests to the server with the least amount of active connections. This is useful for balancing each server equally.

Weighted Load Balancing

upstream cluster {
server 192.168.100.10 weight=3;
server 192.168.100.11 weight=1;
server 192.168.100.12 weight=1;
}

Specifying a weight will distribute more requests to servers with a higher weight. In the above example for each 5 requests, 3 will be sent to 192.168.100.10, and one request will be sent to each of other 2 servers. This is useful in situations where you might have one server which is more powerful than the others or you would like to do testing and control a portion of traffic going to a specific server.

Source

WP2Social Auto Publish Powered By : XYZScripts.com