Home Blog Page 503

How Does the Kubernetes Scheduler Work?

Hello! We talked about Kubernetes’ overall architecture a while back.

This week I learned a few more things about how the Kubernetes scheduler works so I wanted to share! This kind of gets into the weeds of how the scheduler works exactly.

It’s also an illustration of how to go from “how is this system even designed I don’t know anything about it?” to “okay I think I understand the basic design decisions here and why they were made” without actually.. asking anyone (because I don’t know any kubernetes contributors really, certainly not well enough to be like PLEASE EXPLAIN THE SCHEDULER TO ME THANKS).

This is a little stream of consciousness but hopefully it will be useful to someone anyway. The best most useful link I found while researching this was this Writing Controllers document from the amazing amazing amazing kubernetes developer documentation folder.

Read more at Julia Evans

Internet History Timeline: ARPANET to the World Wide Web

Credit for the initial concept that developed into the World Wide Web is typically given to Leonard Kleinrock. In 1961, he wrote about ARPANET, the predecessor of the Internet, in a paper entitled “Information Flow in Large Communication Nets.” Kleinrock, along with other innnovators such as J.C.R. Licklider, the first director of the Information Processing Technology Office (IPTO), provided the backbone for the ubiquitous stream of emails, media, Facebook postings and tweets that are now shared online every day. Here, then, is a brief history of the Internet:

The precursor to the Internet was jumpstarted in the early days of computing history, in 1969 with the U.S. Defense Department’s Advanced Research Projects Agency Network (ARPANET). ARPA-funded researchers developed many of the protocols used for Internet communication today. This timeline offers a brief history of the Internet’s evolution:

1965: Two computers at MIT Lincoln Lab communicate with one another using packet-switching technology.

Read more at LiveScience

Future Proof Your SysAdmin Career: An Introduction to Essential Skills

As the technology industry evolves, today’s system administrators need command of an ever-expanding array of technical skills. However, many experts agree that skills like effective communication and collaboration are just as important. With that in mind, in this series we are highlighting essential skills for sysadmins to stay competitive in the job market. Over the next several weeks, we will delve into important technical requirements as well as non-technical skills that hiring managers see as crucial.

future proof ebookLinux.com has published several lists highlighting important skills for sysadmins. These lists correctly balance generalized skills like problem solving and collaboration with technical skills such as experience with security tools and network administration.

Today, sysadmins also need command of configuration management tools such as Puppet, cloud computing platforms such as OpenStack, and, in some cases, emerging data center administration platforms such as Mesosphere’s Data Center Operating System. Facility with open source tools is also a key differentiator for many sysadmins.

As Dice data scientist Yuri Bykov has noted, “Like many other tech positions, the role of the system administrator has evolved significantly over time due, in large part, to the shift from on-premise data centers to more cloud-based infrastructure and open source technologies. While some of the core responsibilities of a system administrator have not changed, the expectations and needs from employers have.”

Promising outlook

Additionally, “as businesses have begun relying more upon open source solutions to support their business needs, the sysadmin role has evolved, with employers looking for individuals with cloud computing and networking experience and a strong working knowledge of configuration management tools. … The future job outlook for system administrators looks promising, with current BLS research indicating employment for these professionals is expected to grow 8 percent from 2014 to 2024,” Bykov said.

Experience with emerging cloud infrastructure tools and open source technologies can also make a substantial compensation difference for sysadmins. According to a salary study from Puppet, “Sysadmins aren’t making as much as their peers. The most common salary range for sysadmins in the United States is $75,000-$100,000, while the four other most common practitioner titles (systems developer/engineer, DevOps engineer, software developer/engineer, and architect) are most likely to earn $100,000-$125,000.”

Sysadmins who have experience with OpenStack and Linux can also fare better in the hiring and salary pool. Fifty-one percent of surveyed hiring managers said that knowledge of cloud platforms has a big impact on open source hiring decisions, according to the 2016 Linux Foundation/Dice Open Source Jobs Report. There is also healthy hiring demand for sysadmins, with 48 percent of respondents in the same study reporting that they are actively looking for sysadmins.

The fact that fluency with Linux can make a big difference for sysadmins should come as no surprise. After all, Linux is the foundation for many servers and cloud deployments, as well as mobile devices. Several salary studies have shown that Linux-savvy sysadmins are better compensated than others.

More to come

In this series, we will look at the essential skills sysadmins need to stay relevant and competitive in the job market, well into the future, which include:

  • Networking essentials

  • Cloud infrastructure

  • Security and authentication

  • Configuration and automation

  • DevOps

  • Professional certification

  • Communication and collaboration

  • Open source participation

As we explore these topics, we’ll keep three guiding principles in mind:

  • Successful sysadmins are actively moving up the technology stack with their skillsets and embracing open source as rapidly as organizations are doing so.

  • Training for sysadmins is more readily available than ever — ranging from instructor-led courses to online, on-demand courses that allow the student to set the pace.

  • Sysadmins have an increasingly crucial role in keeping organizations performing at their best.

Learn more about essential sysadmin skills: Download the Future Proof Your SysAdmin Career ebook now.

 

Read more:

Future Proof Your SysAdmin Career: An Introduction to Essential Skills 

Future Proof Your SysAdmin Career: New Networking Essentials

Future Proof Your SysAdmin Career: Locking Down Security

Future Proof Your SysAdmin Career: Looking to the Cloud

Future Proof Your SysAdmin Career: Configuration and Automation

Future Proof Your SysAdmin Career: Embracing DevOps

Future Proof Your SysAdmin Career: Getting Certified

Future Proof Your SysAdmin Career: Communication and Collaboration

Future Proof Your SysAdmin Career: Advancing with Open Source

This Week in Open Source: Microsoft’s Open Source Lovefest, Adobe Flash Looks for Open Source Lifeboat & More

This week in Linux and open source, Microsoft’s new CNCF membership represents the company’s ongoing love for open source, Adobe Flash is the subject of enthusiast rescue mission, and much more

1) Microsoft continues its Linux lovefest with new CNCF membership.

Microsoft Further Pledges Linux Loyalty by Joining Cloud Native Computing Foundation– Beta News

2) While Adobe is “mercy killing” Flash, enthusiasts are hoping for an open source lifeboat.

Adobe Flash Fans Want a Chance to Fix Its One Million Bugs Under an Open Source License– Gizmodo

3) A project intended to “develop open source technology and standards for “computational contracting” for the legal world that deploys blockchain technology” is getting ready for liftoff

Accord Project’s Consortium Launching First Legal ‘Smart Contracts’ With Hyperledger– Forbes

4) Version 60 of Google Chrome has been released for Linux and features security fixes, developer-related changes, and more

Google Chrome 60 Released for Linux, Mac, and Windows– Bleeping Computer

5) SambaCry doesn’t just favor Linux…

Creators Of SambaCry Linux Malware Also Have A Windows Backdoor Program– Forbes

Aiming to Be a Zero: The Ultimate Open Source Philosophy

Guy Martin, Director of the Open@ADSK initiative at Autodesk, had two dreams growing up  to be either an astronaut or a firefighter. Martin has realized his second dream through his work as a volunteer firefighter with Cal Fire, but his love for space is what led to “Aiming to Be an Open Source Zero,” the talk he will be delivering at Open Source Summit NA.  

Martin has more than two decades of experience in the software industry, helping companies understand, contribute to, and better leverage open source software. He has held senior open source roles with Samsung Research, Red Hat, and Sun Microsystems, among others, and is a frequent speaker at conferences.

During his stint at Samsung, on a long flight to South Korea, Martin read An Astronaut’s Guide to Life on Earth by Chris Hadfield to pass the time. In the book, Hadfield talks about his philosophy for getting along and working with others. Simply put, in aiming to be a zero, Hadfield built credibility with others and was eventually able to show them that he was a +1. He recounts stories of fellow astronauts who never flew in space because they kept trying to show that they were +1s, but in reality their attitudes made them -1s.

“This made me realize that large companies who are getting into open source for the first time often think that they can ‘buy’ influence, or that their reputation in the industry means that open source projects/communities should listen to them. Now, we know that’s not the case, but until I read Hadfield’s book, I never knew how to effectively explain that to people,” said Martin.

Here, Martin explains more about this philosophy and how it applies to open source.

Linux.com: Can you explain the title of your talk? What does “being a zero” mean?

Martin: Aiming to be a zero means that you aren’t coming into a new situation (or open source community) intent on proving your value at the expense of understanding the dynamics of the people involved. Trying to be a +1 without sufficient understanding of what was done before you arrived can make you appear arrogant and out of touch, or worse, can make you an active detractor (-1) to that community.

Aiming to be a zero gives you the right balance between trying to do too much and doing too little. Once you have proven your value to the community, your ability to showcase +1 talents becomes easier.

Linux.com: What was the inspiration behind this philosophy?

Martin: I can’t take credit for that  Col. Chris Hadfield (the first Canadian astronaut to command an International Space Space mission) speaks about it in his amazing book An Astronaut’s Guide to Life on Earth. I read this book on an international flight, and it literally changed my perspective on working with communities and helping individuals and companies understand how to get the most out of (and contribute to) open source projects.

Linux.com: You have two passions firefighting and space. How does aiming to be a zero fit in the firefighting scenario?

Martin: Despite the fact that fire departments are paramilitary organizations in nature, with clear chains of command and hierarchical organization, the bedrock of firefighting is community/family. We support each other in incredibly difficult times and celebrate in joyous times.

To do that, and to build up the trust needed to rely on each other in all situations, you have to start out as a zero  offer to do the dirty work, learn from others, and most importantly listen and understand the dynamics of the team. The fire ground, just like space, can be an unforgiving place. Thankfully, people are unlikely to die in open source communities, but the lessons learned from space travel and firefighting translate well when you are considering how to bring a diverse group of people together to solve big challenges.

Linux.com: What problems do you see in the open source world where you think being zero is the right approach?

Martin: Despite the prevalence of open source in all aspects of our lives, and in devices of all sizes and shapes, there are still companies and individuals who see open source projects and communities as something strictly to consume from, without necessarily giving back to.

Now, they aren’t obligated in most cases to give back, but, inevitably, someone finds a bug, or needs a feature, and all too often, the approach is to come in with requirements or assert their +1 status (usually related to their company’s size or market value) and expect the community to just kowtow to their demands. I’ve seen it throughout my career, and while I always understood that wasn’t a good approach, it wasn’t until I read Hadfield’s book that I truly understood how to talk about this and relate it to people and companies in a way that was likely to get results.

Linux.com: Can you give an example of how aiming for +1 damages companies and the community?

Martin: I won’t give specific company names (for obvious reasons :)), but I can say that I’ve witnessed engineers from large multinational companies being asked by their superiors to “just get this feature into the open source project” or to “land x number of patches in this community so that we can get influence.”

Although there is nothing wrong with landing patches to help gain strategic influence in a project, if the goal is to push in a ton of mediocre patches in hopes that the company’s name will sway the community to go in a particular direction, then that is a clear example of attempting to be a +1 before you’ve gained the trust of the community by being a zero and contributing in a way that benefits both the company and the community.

Check out the full schedule for Open Source Summit here and save $150 on registration through July 30. Linux.com readers save an additional $47 with discount code LINUXRD5. Register now!

The 4 Quadrants of Open Source Entrepreneurship

The Key to a Flourishing Career in the 21st Century

image?w=624&h=485&rev=165&ac=1

Some time ago, I noticed something missing in our discussions about open source software development. A few somethings, in fact. Nobody was talking about product management as it pertains to open source development. Admittedly, this was spurred by a question from a product management team member who was confronted for the first time by the reality of working with an engineering team that runs an open source project. Her question was simply, “So… what should we be doing?” Her question was born of a fear that product management had no role in this new regime and thus rendered her unnecessary. I had to think for a moment because I, experienced open source project hand that I was, wasn’t quite sure. For quite some time, my standard response had been for product management and other “corporate types” to stay the hell away from my open source project. But that didn’t feel right. In fact, it felt darn right anachronistic and counterproductive.

Over the next few weeks, I thought about that question and gradually realized that there was no defined role for product management in most open source projects. As I looked further, I found that there was startlingly little in the way of best practices for creating products from open source software. Red Hat had made a company by creating efficient processes designed to do just that, but most industry observers assumed (wrongly) that they were the only ones who could do it. Lots of companies, even large proprietary ones, had started to use open source software in their products and services, but there was very little in the way of sharing that came from them. Even so, many of them did a poor job of participating in the upstream communities that created the software they used. Shouldn’t these companies get the full benefit of open source participation? I also came across a few startups who wanted to participate in open source communities but were struggling with how to find the best approach for open source participation while creating great products that would fund their business. Most of them felt that these were separate processes with different aims, but I thought they were really part of the same thing. As I continued down this fact-finding path, I felt strongly that there needed to be more resources to help businesses get the most out of their open source forays.

This was the seed for creating the Open Source Entrepreneur Network, my personal passion for the past year. Yes, there have been a smattering of articles about business models and some words of advice for startups seeking funding, but there’s been no comprehensive resource for businesses who want to prioritize and optimize for open source participation. There’s also a false sense of security that comes from adopting modern tooling. While I’m glad that devops practitioners argue forcefully for better automation and better internal collaboration, it misses the larger point about external collaboration with upstream communities and how to optimize your engineering for such. Articles about licensing compliance are much-needed but are but one small part of the larger picture of building a business.

As I’ve spoken with many folks over the last few months, I would break down open source business, or entrepreneurship, into 4 basic components, which I’ll describe below. If you look at the diagram above, you already know their names: Automation, Collaboration, Community and Governance. You’ll find much that overlaps with methodologies and practices from InnerSource, devops, and community management, but I think that an open source entrepreneur needs to at least understand all of them to create a successful open source business. And I don’t mean only for startups – this applies equally well to those who lead teams in large companies. Either way, the principles are the same.

Automation

This part focuses on tooling and is probably the best covered in the literature of the four components. Even so, startlingly few enterprises have gone far in adopting it wholesale, for a variety of reasons, ranging from team members’ fears of becoming redundant, to middle management fears of same, to a perceived large one-time cost of changing out tools and procedures.

Collaboration

If you’re a devops or innersource practitioner, this will be your gospel. This is all about breaking down silos and laying the groundwork for teams to work together. I’m always astounded by how little teams work together in company settings, even small ones. So much would change if companies would simply adopt community management principles.

Community

One might think that this is the same as the above, but I’m thinking more in terms of external collaboration. To be sure, there are many differences between them, but companies that are bad at one of them tend to be awful at the other. The corollary is also true: companies good at one tend to be good at the other as well. There’s also the matter of how to structure engineering and product management teams to reduce technical debt and learn how to optimize for more upstream development.

Governance

This is all about licensing, supply chain management, regulatory compliance, and how to get your legal team to think like an open source entrepreneur. It’s not easy. In many companies, a lack of understanding from business affairs, legal, and software asset management serves as significant obstacles to open source collaboration.

So there you have it – open source entrepreneurship in a nutshell. A successful product owner, engineering manager, CIO, CTO, startup founder or investor will need to understand all of the above and demonstrate mastery in at least 1 or 2 areas. This is the subject matter for both my Linux Foundation Webinar on August 1 and the Open Source Entrepreneur Network Symposium, co-located with the Open Source Summit on September 14. The webinar will be an hour-long introduction to the concept. The symposium will feature talks from myself on open source product management that reduces technical debt, Stephen Walli on creating a business through better engineering process management, Shane Coghlan from the OpenChain project on building a compliance and software asset management model, and VM Brasseur on FOSS as an emerging market that companies need to master.

Easily Update Ubuntu and Debian Systems with uCareSystem

Updates are something that are often ignored for one reason or another. However, if you’re not making a daily (or at least weekly) habit of updating your systems, then you are doing yourself, your servers, and your company a disservice.

And, even if you are regularly updating your Ubuntu and Debian systems, you may be doing the bare minimum, thereby leaving out some rather important steps.

As with nearly every aspect of Linux, fortunately, there’s an app that does an outstanding job of taking care of those upgrading tasks. A single command will:

  • Update the list of available packages

  • Download and install all available updates for the system

  • Check for and remove any old Linux kernels (retaining the current running kernel and one previous version)

  • Clear the retrieved packages

  • Uninstall obsolete and orphaned packages

  • Delete package settings from previously uninstalled software

That’s a lot of jobs for one command—but ucaresystem-core handles all this with ease. Considering that one command takes the place of at least eight commands, that’s a big time saver.

In fact, here are the commands ucaresystem-core can take care of:

  • apt update

  • apt upgrade

  • apt autoremove

  • apt clean

  • uname -r (do NOT remove this kernel)

  • dpkg –list | grep linux-image

  • sudo apt-get purge linux-image-X.X.X-X-generic (Where X.X.X-X is the kernel to be removed)

  • sudo update-grub2

If you love spending time at a terminal window, that’s great. But if you have a lot of systems to update, you’re probably looking out for something to make your job a bit more efficient. That’s where ucaresystem-core comes in.

I’ve been using ucaresystem-core for more than a year now (with Elementary OS and Ubuntu) and have yet to encounter a single problem. In fact, this particular tool has become one of the first I install on all Ubuntu and Debian systems. I trust it…it works.

So, how can you get this incredibly handy tool? Let’s walk through the process of installing ucaresystem-core, how to use it, and how to automate it.

Installation

The first thing you must do is install ucaresystem-core. We’ll be downloading the .deb file (as the Utappia repository seems to no longer contain a release file). Here’s how:

  1. Download the .deb file that matches your operating system release into your ~/Downloads directory

  2. Change into the ~/Downloads directory with the command cd ~/Downloads

  3. Install the deborphan dependency with the command sudo apt install deborphan

  4. Install ucaresystem-core with the command sudo dpkg -i ucaresystem-core*.deb

That’s it for the installation; ucaresystem-core is ready to go.

Running ucaresystem-core

You might have guessed by now that running this all-in-one command is very simple, and you would be correct. To fire up ucaresystem-core, go back to your terminal and issue the command:

sudo ucaresystem-core

This will launch the tool, which will immediately warn you that it will kick off in five seconds (Figure 1).

Figure 1: You get a 5-second warning before the command launches.

As the command runs, it requires zero user input, so you can walk away and wait for the process to complete (how long it takes will depend upon how much needs to be updated, how much needs to be removed, the speed of your system, and the speed of your Internet connection).

The one caveat to ucaresystem-core is that it does not warn you should you need to reboot your machine (if a newer kernel be installed). Instead, you have to scroll up to near the beginning of the output to see what has been upgraded (Figure 2).

Figure 2: No new kernel upgrades here.

If you cannot scroll up in your terminal, you can always view the dpkg log found in /var/log/dpkg.log. In this file, you will see everything ucaresystem-core has upgraded (including a handy time-stamp — Figure 3).

Figure 3: Checking the dpkg log file.

How much space did we gain?

Since my Elementary OS is set up such that ucaresystem-core is run as a cron job, I installed a fresh instance on a Ubuntu 17.10 desktop to test how much space would be freed after a single run. This instance was a VirtualBox VM, so space was at a premium. Prior to running the ucaresystem-core command the VM was using 6.8GB out of 12GB. After the run, the VM was using 6.2GB out of 12GB. Although that may not seem like a large amount, when you’re dealing with limited space, every bit counts. Plus, if you consider it went from 37 percent to 34 percent usage, it might seem like a better savings. On top of that, the system is now clean and running the most recent versions of all software…with the help of a single command.

Automating the task

Because ucaresystem-core doesn’t require user input, it is very easy to automate this, with the help of cron. Let’s say you want to run ucaresystem-core every night at midnight. To do this, open a terminal window and issue the command sudo crontab -e. Once you’re in your crontab editor, add the following to the bottom of the file:

0 0 * * * /usr/bin/ucaresystem-core

Save and close the crontab file. The command will now run every night at Midnight. Thanks to the dpkg log file, you can check to see the results.

Should you want to set up ucaresystem-core to run at a different time/day, I suggest using the Crontab Guru to help you know how to enter the time/date for your cron job.

Keep it simple, keep it clean

You will be hard-pressed to find a simpler method to keep your Ubuntu and Debian systems both updated and clean, than with ucaresystem-core. I highly recommend you employ this very handy tool for any system that you want always updated and free of the cruft that can be left behind by such a process.

Of course, if you prefer to do everything by hand, that is an even more reliable method. However, when you don’t always have time for that, there’s always ucaresystem-core.

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

10 Linux or Android Based Smart Eyewear Devices

Recently, Google umbrella firm Alphabet announced a new enterprise version of the Google Glass smart eyeglasses. Over the past two years, Glass Enterprise Edition (Glass EE) has been tested at more than 50 companies including Boeing, DHL, GE, and Volkswagen, and is now more widely available via a corporate partner program.

Glass EE has been under development since April 2014 when Google announced a Glass at Work project. This followed widespread criticism of the Android-based, camera-enabled Explorer Edition for consumers, which led to bans in bars and restaurants over privacy concerns. That same year, I compiled a survey of 11 smart eyewear devices that ran on Android or Linux. Here we update that Linux.com report with 10 of the latest models, including the Glass EE. Eight of the 11 vendors from the 2014 story are represented here with updated or new models. (For a longer version of this article, see LinuxGizmos.)

Like Glass EE, some offer voice-or touch-controlled video or GUI displays on one or both sides of your field of view (FOV). Others, like Laforge’s Shima, are limited to text displays sync’d to a companion smartphone, somewhat like an eyeglass version of a smartwatch. More advanced systems, sometimes housed in bulkier headsets, offer true augmented reality (AR) displays that overlay text in the FOV or even map AR displays to real-world objects.

Most of the products here are focused on the same enterprise market as Glass EE, such as field services, manufacturing, logistics, and healthcare. Having a hands-free, voice controlled computer with an AR display is useful to workers that are increasingly asked to consult computers. Rugged handhelds can do the job for some, but many workers need both hands free. The outliers here are Laforge’s consumer-oriented Shima glasses and Everysight’s Raptor, which is designed for cyclists and triathletes, as well as the Tobii Pro eye-tracking glasses, which are designed for market research.

Our list of 10 products is limited to those with onboard Linux or Android computers, and we do not include fully immersive VR headgear or video viewers. We also omit devices that require tethering to a laptop, such as the Meta2. Several of these products, however, are tethered to pocketable control or storage units.

Here’s a brief glance at 10 intriguing Linux and Android eyewear products. We highlight one per company, but in several cases mention other specialty or emerging models. More detailed summaries follow the list below.

Atheer Air Glasses ($3,950)

The enterprise-focused Atheer AiR Glasses run an Android OS on a quad-core Nvidia Tegra K1, and offers gesture control of AR components. The device includes dual 720p@60fps, 4-Mpx cameras with a wide, 50-degree field of view (FOV), as well as a 3D depth sensing camera. These inputs are combined with directional mic and a 9-axis IMU to offer precise tracking.

The AiR Glasses feature 2GB RAM, up to 128GB flash, WiFi-ac, Bluetooth 4.1, and USB Type-C and HDMI ports. There’s also a 3100mAH battery and optional 4G/LTE and GPS. The device is tethered to pocketable compute device.

The AiR Glasses can display video calls and real-time overlaid image annotations without obscuring one’s view. The SDK can adapt existing Android apps, and there’s an optional AiR Suite for Enterprise with collaboration, management, and task flow apps. A similar AiR Experience package is available to third-party eyewear manufacturers.

Daqri Smart Glasses ($4,995)

In 2014, we covered Daqri’s flagship, Daqri Smart Helmet, which ran Android on a Snapdragon. Earlier this year, a v2 model arrived that runs Linux on a faster 6th Gen Intel Core M7, and adds an Intel RealSense LR200 depth-sensing camera. This same basic features are available in the relatively lighter (400 grams), cheaper ($4,995), and less ruggedized Daqri Smart Glasses Developer Version, which is available for pre-order for shipment later this year. There’s a Linux SDK plus a Daqri 4D Studio augmented work instruction platform.

The Daqri Smart Glasses offer the same multimedia and AR displays as the Smart Helmet, with semi-transparent overlays displaying work instructions, safety information, and maps. A wide-angle AR tracking camera works in conjunction with the RealSense and several sensors to provide environmental awareness. The goggle-like eyewear features an adjustable, wrap-around headband tethered to a pocketable 12-hour video storage unit.

The pricier Daqri Smart Helmet is ruggedized for heavy industrial work, and offers extras such as a thermography camera to detect hotspots. Daqri also sells a Daqri Qube mini-PC version and a Daqri Smart HUD display for cars.

Glass EE (Price unstated)

Glass Enterprise Edition (EE) looks like the original Google Glass Explorer Edition, but is claimed to be lighter, faster, and more secure, with longer battery life and better WiFi. The device is now offered separately from the glasses, letting you clip it onto standard prescription or safety glasses.

The voice- and touch-controlled eyewear runs an Android-based OS. It has a 8-Mpx camera, up from the previous 5-Mpx model, plus an external green light that shows when the camera is on.

Glass EE lacks the semi-immersive AR overlays offered by some competitors, and instead offers video feeds and zoomable GUI displays. Numerous homegrown and third-party apps for a variety of industrial, logistics, and healthcare scenarios are available. No price or detailed specs are currently available for the device, which is available only to selected corporate partners.

GlassUp F4 (Price unstated)

In April, five years after the original, Android-based GlassUp appeared on Indiegogo, Italy-based GlassUp announced that it could not complete the project and was not yet able to refund the money.

The consumer-oriented GlassUp prototype, which displays notices from your smartphone, evolved into an Uno model that also seems to have gone nowhere. However, the company claims to have interested manufacturers in a new Linux-based, AR visor style GlassUp F4 model announced in March. The industrial focused GlassUp F4 features a multicolor, 21° FOV AR display, plus a video camera, a thermographic camera, voice controls, WiFi, and an “illumination system.”

Moverio BT-300 ($800)

Our 2014 roundup included the $700 Moverio BT-200, which ran Android on a dual-core TI OMAP SoC, and offered a 960 x 540 display for AR. Late last year, Epson released its Moverio BT-300, which runs Android 5.1 on a quad-core Intel Atom-x5. The new model is 20 percent lighter, and features a similarly binocular, Si-OLED based display, now updated to 1280 x 720. The 23-degree FOV 2D or 3D display floats in front of your eyes without obscuring the view.

The enterprise focused BT-300 features a 5-Mpx camera, earphones, mic, 802.11ac, Bluetooth 4.1, GPS, 2GB RAM, 16GB flash, and multiple sensors. A small, tethered, handheld control offers a trackpad, controls, and microSD and micro-USB ports. An almost identical BT-300FPV model targets DJI drone control.

Epson recently launched a BT-350 model selling for $1,399 that has the same basic specs as the BT-300, but with an adjustable design made to fit multiple sizes. It’s aimed at multi-user settings such as museums. There’s also a new Moverio Pro BT-2000/2200 headset aimed more directly at industrial applications. The unpriced BT-2000/2200 adds a forehead band and a 5-Mpx stereoscopic camera. It has lower resolution than the BT-300, but offers IP54 and drop protection, plus ANSI Z87.1 safety glass compliance.

M300 Smart Glasses ($1,499)

The enterprise-focused M300 is a more advanced version of Vusix’s M100 Smart Glasses. Both models are Android-based smart eyewear frames with a monocular display device that can fit over a standard pair of eyeglasses. The M300 features a dual-core Intel Atom with 2GB RAM and 64GB flash. There’s a 16.7-degree diagonal FOV equivalent to a 5-inch smartphone seen from 17 inches.

You interact with the ruggedized device via voice control, a gesture touchpad, four control buttons, proximity sensors, and a 3-DOF head tracker. Other features include a 13-Mpx HD camera, ear speaker, noise-cancelling mics, dual band WiFi-ac, Bluetooth 4.1, and GPS. The M300 supports thousands of existing Android apps, and offers an SDK to write custom apps. Pre-installed apps sync to companion Android or iOS apps.

Vusix is prepping an Atom-based M3000 model with thin waveguide optics and a custom WVGA linear DLP display engine. There’s also a similar new Blade 3000 Smart Sunglasses model. Future plans call for an AR3000 Smart Glasses device with stereoscopic cameras for full AR.

Raptor (Price unstated)

The Android-based Raptor AR glasses for bicyclists and triathletes was announced July 7, and is due to ship later this year. Everysight is a spin-off of Israeli defense contractor Elbit System. Everysight combined a stripped-down version of Elbit’s HUD technology for fighter pilots with the equivalent of an Android smartphone, and squeezed it into a sleek pair of cycling sunglasses. The impact resistant Grilamid TR-90 frame is IP55 protected against exposure, and supports swappable prescription lenses.

The system uses Elbit’s “BEAM” OLED-based projection technology, which projects color-coded dashboard readouts onto the inside of the lenses so they appear to be floating about 20 feet ahead of you. The Raptor displays information such as speed, distance, cadence, power, and turn-by-turn directions. It also shows sensor inputs including Bluetooth connected readouts from an optional heart-rate monitor wristband. Users interact via voice commands, a temple-mounted touchpad, or a handlebar-mounted controller unit.

The system runs Android on a quad-core CPU with 2GB RAM and 16GB to 32GB flash, and offers WiFi, Bluetooth, and GPS/GLONASS. The Raptor integrates a camera, 8-hour battery, speaker, mic, accelerometer, gyroscope, magnetometer, and barometer.You can sync music playback from your phone or stream video back to it, with an option to record the Raptor’s dashboard display. An SDK enables development of AR apps.

R-7/R-7HL (Price unstated)

Osterhout Design Group (ODG) still sells an updated version of the R-7 AR eyewear for $2,750, and you can now order a more ruggedized R-7HL (Hazardous Locations) model due later this year. Like the R-7, the HL version is an enterprise-focused eyewear product that runs a ReticleOS version of Android 6.0 on a quad-core Snapdragon 805.  Spec’d much like the R-7, the HL model adds impact eye protection, protections against drop, shock, vibration, low pressure, and temperature extremes, and ANSI Z87.1+ dustproof and splashproof certification.

Both models feature dual 720p stereoscopic displays at up to 80fps with a 30° FoV. There’s also a separate 4-Mpx camera, 3-DOF head tracking, 802.11ac, Bluetooth 4.1, GNSS, 3GB LP-DDR3, and 64GB storage. Other features include a trackpad, batteries, multiple sensors, removable earhorns, and an audio port.

Later this year, ODG plans to launch Android Nougat powered R-8 and R-9 models with octa-core Snapdragon 835 SoCs and 6-DOF tracking. The devices advance to dual 720p-60 and dual 1080p-60 stereoscopic displays with 40° and 50° FOVs, respectively. Other improvements include 4GB/64GB (R-8) and 6GB/128GB (R-9) memories, with separate dual 1080p or single 14-Mpx, 4K cameras, respectively.

Shima ($590)

Laforge’s Shima is one of the only smart eyeglasses aimed at the consumer market. You can order them with prescription lenses in different styles that look like typical glasses. This simple Bluetooth accessory beams a WQVGA display into your retina, and displays notices from your smartphone on the right side of your field of vision as transparent overlays. The glasses provide real-time updates from social networks and navigation apps linked to the GPS on your phone.

Our 2014 eyewear report included Laforge’s similar Icis smart glasses, which evolved into Shima in 2015. You can pre-order the Alpha version of Shima for $590 with shipments in a few months and a promise that you will later receive the Beta model as a free upgrade by the end of the year.

The Shima runs a new Linux-based ghOSt OS on a 180MHz Cortex-M4 STM32F439 MCU. Laforge has yet to reveal the processor for the upcoming Beta version or the future dual display Beta Bold. The Alpha is equipped with 16MB RAM and 1GB flash, which will move to 4GB on the Beta and 8GB on the Beta Bold. All three versions feature Bluetooth 4.1 with LE, a micro-USB port, a USB Type-C charger cable, and sensors including gyro, accelerometer, magnetometer, temperature, and ambient light. You also get an 18-hour battery, five buttons, and a touchpad.

The water resistant, lightweight (24 to 27 gram) Alpha and Beta will be followed by a Beta Bold model that adds a camera of at least 3 megapixels, along with a second WQVGA display. A development program and a SocialFlo app offer access to Shima mods such as fitness, meeting, and Alexa-enabled programs.

Tobii Pro Glasses 2 (Price unstated)

Tobii Pro Glasses 2, which updates the Tobii Glasses 2 model we covered in 2014, doesn’t display information. Instead, it uses four integrated eye-tracking cameras in conjunction with a front-facing camera to track your gaze for market and behavioral research applications. The video is stored along with tracking information on a tethered recording unit that fits in your pocket. This is later analyzed on desktop computers with algorithms including emotion detection.

The 45-gram Tobii Pro Glasses 2 eyewear offers HD video recording at 25fps with a wide 90°, 16:9 FOV, and a mic. The eye tracking cameras, which provide 50HZ or 100Hz gaze sampling frequency, use corneal reflection, binocular, and dark pupil tracking with automatic parallax compensation.

The WiFi-enabled recording unit can record up to two hours of video on an SD card, and offers HDMI, micro-USB, and audio connections. Premium live video options let researchers remotely analyze sessions in real time.

Learn more about embedded Linux at Open Source Summit North America — Sept. 11-14 in Los Angeles, CA. Register by July 30th and save $150! Linux.com readers receive a special discount. Use LINUXRD5 to save an additional $47.

Metaphors We Compute By

A well-known unattributed quote (often misattributed to Charles Baker) is, “To program is to write to another programmer about our solution to a problem.”2 A program is an explanation of how a problem might be solved; it’s a metaphor that stands in place of a person’s understanding. For metaphors to be effective, however, they need to convey meaning using concepts already known to us. The explanatory power of a particular program can be used as a measure of its own elegance.

Consider the following example. Say you could program a computer to command other computers to perform tasks, respecting their arrival order. This description is already hard to understand. On the other hand, you could describe the solution by describing a queue server that assigns jobs to workers based on a first come first served queue discipline.

A queue is a familiar concept from daily life, seen at the supermarket, the bank, airports, and train stations. People know how they work, so for someone reading your code, it might be easier to talk about queues, workers, and jobs than trying to explain this setting without using the queue metaphor.

Read more at ACM Queue

Email2git: Matching Linux Code with its Mailing List Discussions

TL;DR: Email2git is a patch retrieving system built for the Linux kernel.

It exists under two forms:

  1. As a cregit plugin: Retrieve patches of selected source code tokens

  2. As the email2git search tool: Retrieve patches for entered commit IDs

Email2git

The Linux project’s email-based reviewing process is highly effective in filtering open source contributions on their way from mailing list discussions towards Linus Torvalds’ Git repository. However, once integrated, it can be difficult to link Git commits back to their review comments in mailing list discussions, especially when considering commits that underwent multiple versions (and hence review rounds), that belong to a multi-patch series, or that were cherry-picked.

As an answer to these and other issues, we created email2git, a patch retrieving system built for the Linux kernel. For a given commit, the tool is capable of finding the email patch as well as the email conversation that took place during the review process. We are currently improving the system with support for multi-patch series and cherry-picking.

Email2git is available through two interfaces: as a cregit extension, and as a simple commit ID based search tool.

Email2git on cregit

https://cregit.linuxsources.org/

The online cregit interface displays the Linux source code with highly accurate contributor information. The source code is divided into “code tokens” and can return the author of each token with an increased accuracy compared to the current line-level granularity of git blame.

As of today, email2git extends cregit by linking the tokens in a particular kernel release with the original patch introducing them and the email discussions reviewing them.

In your browser, navigate to https://cregit.linuxsources.org, then navigate by clicking on the appropriate directories until you find a source code file of interest. Click on the file to open it.   Then simply click on a code token while browsing the source code to display the links to the patch / discussion.

arQiOyVFvGpAUqF14ZrrYhVFvRwnUKjkFgQcRCx-

Image 1: Linux source code as displayed on cregit.linuxsources.org.

The different colors in the source code represent the different contributors. The interface lets users hover over the “tokens” to display basic information such as commit date, commit message summary, and author.

jjZ6DzKxmKHOSr2KwpJqRMUvQeK0ubXF5TltYN1M

Image 2: Tooltip displaying detailed information about the commit that introduced the token.

Now, users can also click on the token to display a list of links to the reviewed patch versions and email discussions (reviews) that introduced that token into the main kernel tree.

S9-MhXoCpLo6YIAw1enraZHq--tf_fyMgDW6sq6W

Image 3: Links to patches being displayed after user clicks on a token.

Since patches are often sent to multiple different mailing lists, we provide the links with all the different patches (when available) to give you access to as much discussion as possible.

Email2git commit search

http://mcis.polymtl.ca/~courouble/email2git/

We believe that email2git is a great addition to cregit, since it provides easy access to in-depth authorship information to anyone browsing the source code.

However, we understand that developers may be looking for reviews and discussion about a specific commit ID instead of having to browse the full code base on cregit. To address this, we created a simple commit ID based search. Paste the commit ID into the search box to retrieve the patch and discussion.

p29bIji_j4mOQOaJOOqAfWSMtC_Nf2sw-6CnzJv3

Image 4: commit-based patch search.

More Information

The source code for this work can be found at: https://github.com/alexcourouble/email2git

Do not hesitate to email us at cregit-questions@lists.linuxfoundation.org if you have any questions.  We welcome any feedback and suggestions!

We will be presenting email2git at Linux Plumbers 2018 on September 13 in the following talk: “email2git: A Cregit Plugin to Link Reviews to Git Commits” if you would like to speak with us in person.

Alexandre Courouble is a Master’s student working under the supervision of Dr. Bram Adams at Polytechnique Montreal. As a part of his degree, he is working on email2git and on a research project aiming at measuring Linux developers’ expertise using dedicated metrics. Alex gave a related talk on cregit titled “Token-level git blame” at the 2016 Linux Plumbers Conference.