Safety First: The Auto Industry Looks to Open Source to Uncover New Sources of Revenue



  • Xen hypervisor

    When it comes to automotive software, there are three key things to think about: safety, safety and safety.

    Open source moves into most industries in the same way. First, it is seen as unimportant, then too risky, and suddenly, it becomes essential.

    Just think about some of the fundamental building blocks of the connected economy – Linux, HTTP, SSL, Apache Web Servers and so much more. Each of these major open source platforms were combined and refined by many companies to provide a business platform, leading to billions upon billions of dollars in growth. Banking, Commerce, Media, Agriculture, Energy and other massive industry sectors are wholly dependent on the widespread use of open source software to function.

    Of course, each industry is different and faces its own set of unique challenges and requirements. In particular, the automotive industry is rightfully cautious about all software, not just open source. However, the industry has come to trust proven platforms that have shown results over time, rather than novel capabilities.

    Xen Hypervisor

    So, it is no surprise that the open source Xen Hypervisor is quickly moving to the forefront of open source technology for automotive. With a history that stretches back to the late 1990s, Xen is one of the oldest “new” technologies around. Starting as a research project at Cambridge University, Xen was first made open source in 2002 and then became deeply integrated into major Linux distributions in 2011.

    When it comes to automotive software, there are three key things to think about: safety, safety and safety. Stability and maturity matter in automotive software. This is where the combination of Xen maturity, 14 years and counting, running in major data centers around the globe, and open source software development have come together to ensure a stable base for new innovations in connected vehicles.

    Then there is the basic architecture of the open source Xen Hypervisor. No one wants anything interfering with mission-critical functions. If businesses don’t want to allow software to communicate with hardware, then take out the hardware drivers as driver disaggregation is a basic concept of Xen.

    Additionally, there’s the matter of ensuring that the code itself is manageable and does not consume too many system resources. Computers in vehicles are not particularly powerful and their local storage capacity is limited, which can be challenging. However, refining the open source code to the “essentials” is not only possible, it is a best practice. Consider that Xen is about 90K lines of code. It’s small enough to manage and consumes very little computing power, which is a huge benefit for any embedded engineering project with constrained resources.

    Open Source in Automotive

    Another reason automotive companies often overlook open source is because organizations believe that there’s no economic value to participating in its development and distribution. The hundreds of billions of dollars made each year by hundreds of companies (including Apple, Facebook, Google, Amazon, RedHat and thousands of others) prove otherwise. There are a myriad of benefits – cost reduction, speed of deployment and simplification of change management – that come with utilizing open source software, and the industry could accelerate business value by leveraging these tools.

    2018 is shaping up to be an important year for open source in automotive, but there are still a few major concerns that need to be resolved. Out of all the challenges that the industry faces, the primary concern involves third-party safety certification. Attaining third-party certification for any software project (open source or not) is difficult.

    However, the argument that open source software, by its nature, can’t be certified or used in life safety applications is invalid. For example, open source software has been behind image-guided surgery equipment since 2006, spurring innovation and advancement in robotic-assisted platforms and improving patient outcome. In 2018, you can expect to see the transition from “useful” to “essential” for more and more open source projects, especially as the whole industry steps up and learns how to use software as a competitive differentiator in the marketplace.

    Martin Focazio is Managing Principal, Business Consulting, EPAM

    The post Safety First: The Auto Industry Looks to Open Source to Uncover New Sources of Revenue appeared first on The Linux Foundation.

    https://www.linuxfoundation.org/blog/safety-first-the-auto-industry-looks-to-open-source-to-uncover-new-sources-of-revenue/





Tmux Commands

screen and tmux

A comparison of the features (or more-so just a table of notes for accessing some of those features) for GNU screen and BSD-licensed tmux.

The formatting here is simple enough to understand (I would hope). ^ means ctrl+, so ^x is ctrl+x. M- means meta (generally left-alt or escape)+, so M-x is left-alt+x

It should be noted that this is no where near a full feature-set of either group. This - being a cheat-sheet - is just to point out the most very basic features to get you on the road.

Trust the developers and manpage writers more than me. This document is originally from 2009 when tmux was still new - since then both of these programs have had many updates and features added (not all of which have been dutifully noted here).

Action tmux screen
start a new session tmux OR
tmux new OR
tmux new-session
screen
re-attach a detached session tmux attach OR
tmux attach-session
screen-r
re-attach an attached session (detaching it from elsewhere) tmux attach -d OR
tmux attach-session -d
screen -dr
re-attach an attached session (keeping it attached elsewhere) tmux attach OR
tmux attach-session
screen -x
detach from currently attached session ^b d OR
^b :detach
^a ^d OR
^a :detach
rename-window to newname ^b , <newname> OR
^b :rename-window <newn>
^a A <newname>
list windows ^b w ^a w
list windows in chooseable menu ^a "
go to window # ^b # ^a #
go to last-active window ^b l ^a ^a
go to next window ^b n ^a n
go to previous window ^b p ^a p
see keybindings ^b ? ^a ?
list sessions ^b s OR
tmux ls OR
tmux list-sessions
screen -ls
toggle visual bell ^a ^g
create another window ^b c ^a c
exit current shell/window ^d ^d
split window/pane horizontally ^b " ^a S
split window/pane vertically ^b % ^a |
switch to other pane ^b o ^a <tab>
kill the current pane ^b x OR (logout/^D)
collapse the current pane/split (but leave processes running) ^a X
cycle location of panes ^b ^o
swap current pane with previous ^b {
swap current pane with next ^b }
show time ^b t
show numeric values of panes ^b q
toggle zoom-state of current pane (maximize/return current pane) ^b z
break the current pane out of its window (to form new window) ^b !
re-arrange current panels within same window (different layouts) ^b [space]
Kill the current window (and all panes within) ^b killw [target-window]
  • Make ISO from DVD

    In this case I had an OS install disk which was required to be on a virtual node with no optical drive, so I needed to transfer an image to the server to create a VM

    Find out which device the DVD is:

    lsblk

    Output:

    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 464.8G 0 part ├─centos-root 253:0 0 50G 0 lvm / ├─centos-swap 253:1 0 11.8G 0 lvm [SWAP] └─centos-home 253:2 0 403G 0 lvm /home sdb 8:16 1 14.5G 0 disk /mnt sr0 11:0 1 4.1G 0 rom /run/media/rick/CCSA_X64FRE_EN-US_DV5

    Therefore /dev/sr0 is the location , or disk to be made into an ISO

    I prefer simplicity, and sometimes deal with the fallout after the fact, however Ive repeated this countless times with success.

    dd if=/dev/sr0 of=win10.iso

    Where if=Input file and of=output file

    I chill out and do something else while the image is being copied/created, and the final output:

    8555456+0 records in 8555456+0 records out 4380393472 bytes (4.4 GB) copied, 331.937 s, 13.2 MB/s

    Fin!

    read more
  • Recreate postrgresql database template encode to ASCII

    UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';

    Now we can drop it:

    DROP DATABASE template1;

    Create database from template0, with a new default encoding:

    CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE'; UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1'; \c template1 VACUUM FREEZE;

    read more
});