Linux Journal - The Original Magazine of the Linux Communityhttps://www.linuxjournal.com/node/feed
enLibreOffice 6.2.2 Released, New PocketBeagle SBC, Google Enforcing Permissions Rules on Apps, OpenShot 2.4.4 Now Available and DataPractices.org Has Joined The Linux Foundationhttps://www.linuxjournal.com/content/libreoffice-622-released-new-pocketbeagle-sbc-google-enforcing-permissions-rules-apps
<div data-history-node-id="1340543" class="row bs-3col-stacked node node--type-news node--view-mode-rss">
<div class="col-sm-12 bs-region bs-region--top">
<div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p><em>News briefs for March 21, 2019.</em></p>
<p><a href="https://blog.documentfoundation.org/blog/2019/03/21/libreoffice-622/">The
Document Foundation announces the release of LibreOffice 6.2.2</a>. This
version "provides over 50 bug and regression fixes over the
previous version". You can view the <a href="https://wiki.documentfoundation.org/Releases/6.2.2/RC2">changelog</a>
for details, and go <a href="https://www.libreoffice.org/download">here</a>
to download. Note that "LibreOffice 6.2.2 represents the bleeding edge in
term of features for open source office suites, and as such is not optimized
for enterprise class deployments, where features are less important than
robustness. Users wanting a more mature version can download LibreOffice
6.1.5, which includes some months of back-ported fixes."
</p>
<p>The new PocketBeagle Linux computer is now available for $29.95 from
<a href="https://www.adafruit.com/product/4179">Adafruit</a>. According
to <a href="https://www.geeky-gadgets.com/pocketbeagle-pocket-21-03-2019">Geeky
Gadgets</a>, the PocketBeagle "offers a powerful 1GHz AM3358 powered Linux
single board computer with a tiny form factor and open source architecture".
The article quotes Adafruit on the new SBC: "what differentiates the BeagleBone is that it
has multiple I2C, SPI and UART peripherals (many boards only have one of
each), built in hardware PWMs, analog inputs, and two separate 200MHz
microcontroller system called the PRU that can handle real-time tasks like
displaying to RGB matrix displays or NeoPixels.
It's not too much larger than our Feathers, but comes with 72 expansion
pin headers, high-speed USB, 8 analog pins, 44 digital I/Os, and plenty of
digital interface peripherals. You can also add a USB host connection by
wiring a USB A socket to the broken out USB host connections labeled VI, D+,
D-, ID and GND. Then plug in any USB Ethernet, Bluetooth, and Wi-Fi device
with available Linux drivers."
</p>
<p>Google has started enforcing <a href="https://support.google.com/googleplay/android-developer/answer/9047303?hl=en">new
permissions rules</a> on applications'
ability to access a phone's call and text logs. <a href="https://www.theregister.co.uk/2019/03/20/googles_call_and_sms_clampdown_trips_up_tons_of_apps"><em>The
Register</em> reports</a> that "Developers have been forced to remove
features or in some cases change the fundamental nature of the application.
One example is BlackBerry's Hub, an email client which also aggregated
notifications from a variety of apps and presented them chronologically in a
timeline. This application has lost its ability to includes calls and texts
in that timeline." In addition, "Exceptions created by Google don't seem to
be honoured, developers complained. One said that an enterprise archiving
app—a category specifically exempt from the clampdown—has been
broken."
</p>
<p><a href="https://www.openshot.org/blog/2019/03/20/openshot-244-released-keyframe-scaling-docking-and-more">OpenShot
2.4.4 was released</a> yesterday. From the OpenShot Blog: "This release
brings huge performance and stability improvements, along with some major bug
fixes, lots of polish, and many new features." Improvements to the video
editor include keyframe
scaling, timeline and preview performance, SVG rendering, docking and tracks
and much more. You can download OpenShot 2.4.4 from <a href="https://www.openshot.org/download">here</a>.
</p>
<p>
<a href="https://datapractices.org">Datapractices.org</a> has joined The
Linux Foundation and is publishing a <a href="https://datapractices.org/courseware">"free open courseware platform
for data teamwork</a>. From the press release: "The goal of the Data
Practices movement was to start movement similar to 'Agile for Data' that
could help offer direction and improved data literacy across the ecosystem.
The Data Practices Manifesto has had more signatories in its first year than
the Agile manifesto."
</p></div>
<div class="field field--name-field-tags field--type-entity-reference field--label-hidden field--items">
<div class="field--item"><a href="https://www.linuxjournal.com/tag/news" hreflang="en">News</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/libreoffice" hreflang="en">LibreOffice</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/pocketbeagle" hreflang="en">PocketBeagle</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/adafruit" hreflang="en">Adafruit</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/sbcs" hreflang="en">SBCs</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/google" hreflang="en">Google</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/android" hreflang="en">Android</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/mobile" hreflang="en">Mobile</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/audiovideo" hreflang="en">Audio/Video</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/multimedia" hreflang="en">multimedia</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/openshot" hreflang="en">OpenShot</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/linux-foundation-0" hreflang="en">The Linux Foundation</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/big-data" hreflang="en">Big Data</a></div>
</div>
</div>
</div>
Thu, 21 Mar 2019 13:38:58 +0000Jill Franklin1340543 at https://www.linuxjournal.comBare-Bones Monitoring with Monit and RRDtoolhttps://www.linuxjournal.com/content/bare-bones-monitoring-monit-and-rrdtool
<div data-history-node-id="1340199" class="layout layout--onecol">
<div class="layout__region layout__region--content">
<div class="field field--name-field-node-image field--type-image field--label-hidden field--item"> <img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/bigstock-Concept-Of-Data-Network-Manage-246960574_0.jpg" width="780" height="600" alt="""" typeof="foaf:Image" class="img-responsive" /></div>
<div class="field field--name-node-author field--type-ds field--label-hidden field--item">by <a title="View user profile." href="https://www.linuxjournal.com/users/andy-carlson" lang="" about="https://www.linuxjournal.com/users/andy-carlson" typeof="schema:Person" property="schema:name" datatype="" xml:lang="">Andy Carlson</a></div>
<div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p><em>How to provide robust monitoring to low-end systems.</em></p>
<p>
When running a critical system, it's necessary to know what resources
the system is consuming, to be alerted when resource utilization reaches a
specific level and to trend long-term performance. Zabbix and Nagios are
two large-scale solutions that monitor, alert and trend system performance,
and they each provide a rich user interface. Due to the requirements of those
solutions, however, dedicated hardware/VM resources typically are required to host
the monitoring solution. For smaller server implementations, options
exist for providing basic monitoring, alerting and trending functionality.
This article shows how to accomplish basic and custom monitoring and
alerting using Monit. It also covers how to monitor long-term trending of system performance
with RRDtool.
</p>
<h3>
Initial Monit Configuration</h3>
<p>
On many popular Linux distros, you can install Monit from the associated
software repository. Once installed, you can handle all the configuration
with the monitrc configuration file. That file generally is located within
the /etc directory structure, but the exact location varies based
on your distribution.
</p>
<p>
The config file has two sections:
Global and Services. The Global section allows for custom configuration
of the Monit application. The Monit service contains a web-based front
end that is fully configurable through the config file. Although the section
is commented out by default, you can uncomment items selectively for
granular customization. The web configuration block looks like this:
</p><pre>
<code>
set httpd port 2812 and
use address localhost
allow localhost
allow admin:monit
</code>
</pre>
<p>
The first line sets the port number where you can access Monit
via web browser. The second line sets the hostname (the HTTP
Host header) that's used to access Monit. The third line sets the
host from which the Monit application can be accessed. Note that you also
can do this using a local firewall access restriction if a
firewall is currently in place. The fourth line allows the configuration
of a user name/password pair for use when accessing Monit. There's
also a section that allows SSL options for encrypted connections to Monit.
Although enabling SSL is recommended when passing authentication data, you
also could reverse-proxy Monit through an existing
web server, such as nginx or Apache, provided SSL is already configured
on the web server. For more information on reverse-proxying Monit
through Apache, see the Resources section at the end of this article.
</p>
<p>
The next items you need to enable deal with configuring
email alerts. To set up the email server through which email will be
relayed to the recipient, add or enable the following line:
</p></div>
<div class="field field--name-node-link field--type-ds field--label-hidden field--item"> <a href="https://www.linuxjournal.com/content/bare-bones-monitoring-monit-and-rrdtool" hreflang="en">Go to Full Article</a>
</div>
</div>
</div>
Thu, 21 Mar 2019 12:00:00 +0000Andy Carlson1340199 at https://www.linuxjournal.comNew Version of PuTTY Fixes Several Vulnerabilities, Google Announces the Stadia Cloud Gaming Service, Save the Internet Day March 23, Google Fined $1.49 Billion and NVIDIA Launches the Jetson Nanohttps://www.linuxjournal.com/content/new-version-putty-fixes-several-vulnerabilities-google-announces-stadia-cloud-gaming
<div data-history-node-id="1340541" class="row bs-3col-stacked node node--type-news node--view-mode-rss">
<div class="col-sm-12 bs-region bs-region--top">
<div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p><em>News briefs for March 20, 2019.</em></p>
<p>A new version of the PuTTY SSH client received several security patches over the weekend,
including one that "fixed a 'game over' level vulnerability", according to
<a href="https://www.theregister.co.uk/2019/03/19/putty_patched_rsa_key_exchange_vuln"><em>The
Register</em></a>. Version 0.71 includes "new features plugging a plethora of
vulns in the Telnet and SSH client, most of which were uncovered as part of
an EU-sponsored HackerOne bug bounty".
</p>
<p>
Google announces Stadia, its new cloud gaming service. <a href="https://www.theverge.com/2019/3/19/18271702/google-stadia-cloud-gaming-service-announcement-gdc-2019"><em>The
Verge</em> reports</a> that "Stadia will stream games from the cloud to the
Chrome browser, Chromecast, and Pixel devices, and it will launch at some
point in 2019 in the US, Canada, UK, and Europe." Google also is launching
the Stadia Controller, which "looks like a cross between an Xbox and PS4
controller, and it will work with the Stadia service by connecting directly
through Wi-Fi to link it to a game session in the cloud."
</p>
<p><a href="https://savetheinternet.info/demos">Save the Internet Day</a> is
planned for March 23 in response to the planned EU copyright reform: "The
planned EU copyright reform constitutes a massive threat to the free exchange
of opinions and culture online. Together, on 23 March 2019 we call for a
Europe-wide day of protests against the dangers of the reform." Visit <a href="https://savetheinternet.info/demos">here</a> for an overview of the
planned protests.
</p>
<p>
Google is fined $1.49 billion by the European commission for search ad
brokering antitrust violations. <a href="https://techcrunch.com/2019/03/20/google-fined-1-49bn-in-europe-for-antitrust-violations-in-search-ad-brokering/amp/?__twitter_impression=true">TechCrunch
quotes</a> EU competition commissioner Margrethe Vestager: "Today's
decision is about how Google abused its dominance to stop websites using
brokers other than the AdSense platform".
</p>
<p>
NVIDIA launched the Jetson Nano module and Jetson Nano Dev Kit. <a href="http://linuxgizmos.com/trimmed-down-jetson-nano-modules-ships-on-99-linux-dev-kit">Linux
Gizmos reports</a> that the Jetson Nano Developer kit is available for
pre-order for $99 and that it will ship sometime in April. The post quotes
NVIDIA, who says the Jetson Nano "delivers 472 GFLOPS of compute performance for running modern
AI workloads and is highly power-efficient, consuming as little as 5
watts".
</p></div>
<div class="field field--name-field-tags field--type-entity-reference field--label-hidden field--items">
<div class="field--item"><a href="https://www.linuxjournal.com/tag/news" hreflang="en">News</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/putty" hreflang="en">PuTTY</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/google" hreflang="en">Google</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/gaming" hreflang="en">gaming</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/stadia" hreflang="en">Stadia</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/eu" hreflang="en">EU</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/copyright" hreflang="en">Copyright</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/nvidia" hreflang="en">NVIDIA</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/embedded" hreflang="en">Embedded</a></div>
</div>
</div>
</div>
Wed, 20 Mar 2019 14:04:48 +0000Jill Franklin1340541 at https://www.linuxjournal.comHandling Complex Memory Situationshttps://www.linuxjournal.com/content/handling-complex-memory-situations
<div data-history-node-id="1340449" class="layout layout--onecol">
<div class="layout__region layout__region--content">
<div class="field field--name-field-node-image field--type-image field--label-hidden field--item"> <img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/bigstock-Abstract-Glowing-Cpu-Micropro-240654511_1.jpg" width="600" height="600" alt="""" typeof="foaf:Image" class="img-responsive" /></div>
<div class="field field--name-node-author field--type-ds field--label-hidden field--item">by <a title="View user profile." href="https://www.linuxjournal.com/users/zack-brown" lang="" about="https://www.linuxjournal.com/users/zack-brown" typeof="schema:Person" property="schema:name" datatype="" xml:lang="">Zack Brown</a></div>
<div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>
<strong>Jérôme Glisse</strong> felt that the time had come for the Linux kernel
to address seriously the issue of having many different types of memory
installed on a single running system. There was main system memory and
device-specific memory, and associated hierarchies regarding which memory
to use at which time and under which circumstances. This complicated new
situation, Jérôme said, was actually now the norm, and it should be treated
as such.
</p>
<p>
The physical connections between the various CPUs and devices and RAM
chips—that is, the bus topology—also was relevant, because it could influence
the various speeds of each of those components.
</p>
<p>
Jérôme wanted to be clear that his proposal went beyond existing efforts
to handle heterogeneous RAM. He wanted to take account of the wide range of
hardware and its topological relationships to eek out the absolute
highest performance from a given system. He said:
</p>
<blockquote><p>
One of the reasons for
radical change is the advance of accelerator
like GPU or FPGA means that CPU is no longer the only piece where
computation happens. It is becoming more and more common for an application
to use a mix and match of different accelerator to perform its computation.
So we can no longer satisfy our self with a CPU centric and flat view of a
system like NUMA and NUMA distance.
</p>
</blockquote>
<p>
He posted some patches to accomplish several different things. First, he
wanted to expose the bus topology and memory variety to userspace as a
clear API, so that both the kernel and user applications could make the
best possible use of the particular hardware configuration on a given
system. A part of this, he said, would have to take account of the fact
that not all memory on the system always would be equally available to all
devices, CPUs or users.
</p>
<p>
To accomplish all this, his patches first identified four basic
elements that could be used to construct an arbitrarily complex graph of
CPU, memory and bus topology on a given system.
</p>
<p>
These included "targets", which were any sort of memory; "initiators",
which were CPUs or any other device that might access memory; "links",
which were any sort of bus-type connection between a target and an
initiator; and "bridges", which could connect groups of initiators to
remote targets.
</p>
<p>
Aspects like bandwidth and latency would be associated with their relevant
links and bridges. And, the whole graph of the system would be exposed to
userspace via files in the <code>SysFS</code> hierarchy.
</p></div>
<div class="field field--name-node-link field--type-ds field--label-hidden field--item"> <a href="https://www.linuxjournal.com/content/handling-complex-memory-situations" hreflang="en">Go to Full Article</a>
</div>
</div>
</div>
Wed, 20 Mar 2019 12:00:00 +0000Zack Brown1340449 at https://www.linuxjournal.comFirefox 66 Now Available, the Kodi Foundation Joins the Linux Foundation, Nextcloud Founder Writes Open Letter against the EU Copyright Directive, Tetrate Hosting First Server Mesh Industry Conference and SiFive Announces HiFive 1 Revision B Dev Boardhttps://www.linuxjournal.com/content/firefox-66-now-available-kodi-foundation-joins-linux-foundation-nextcloud-founder-writes
<div data-history-node-id="1340540" class="row bs-3col-stacked node node--type-news node--view-mode-rss">
<div class="col-sm-12 bs-region bs-region--top">
<div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p><em>News briefs for March 19, 2019.</em></p>
<p><a href="https://www.mozilla.org/en-US/firefox/66.0/releasenotes">Mozilla
announces the release of Firefox 66 this morning</a>. With this new version, Firefox now prevents
websites from playing sound automatically, has an improved search experience,
smoother scrolling and much more. You can download Firefox from <a href="https://www.mozilla.org/firefox/download/thanks">here</a>.
</p>
<p>The Kodi Foundation has joined the Linux Foundation. From the <a href="https://kodi.tv/article/kodi-foundation-joined-linux-foundation">press
release</a>: "We strongly believe that open-source is the best way to achieve
awesome things. That was and still is what moves Kodi forward. Ever since
XBMP, where this project started, a small group of like-minded individuals
from different backgrounds have worked together to achieve a goal, taking
advantage of each other's merits and talents."
</p>
<p>
Nextcloud Founder and CEO Frank Karlitschek addressed an open letter sent to
EU Parliament members against
the Copyright Directive Articles 11 and 13. The letter was signed by more
than 130 companies and business alliances from 16 European countries.
Karlitschek says, "As founder and CEO of Nextcloud I fear that Articles 11
and 13 of this
directive create a serious disadvantage for European startups. The fact that
more than 100 companies from different European
countries signed our text within a few days shows that I am far from being
the only one. I urge every politician to protect European businesses and
vote against Article 11 and Article 13." You can
view the open letter <a href="https://cloud.nextcloud.com/s/2fcrAHKkjNzQQGg">here</a>.
</p>
<p>
Tetrate will be hosting the first-ever Service Mesh Industry Conference in
San Francisco on March 28th and 29th. From the press release: "Service Mesh
day 2019 is hosted by Tetrate and supported by Google, Juniper Networks,
Capital One, and open source foundations including Cloud Native Computing
Foundation, Cloud Foundry, OpenStack and ONF. The conference will bring
together open source experts, cloud providers, customers and industry
influencers to explore the use of service mesh technology in enterprise
environments. The conference will explore issues such as managing
microservices for any app, at any scale, decentralized security controls and
the future evolution of service mesh technologies. Attendees will have a
chance to network with users and creators in this space who are pioneering
service mesh deployments first-hand and participate in conversations that
will shape the direction of the industry." The full schedule is <a href="https://servicemeshday.com/schedule">here</a>, and you can purchase
tickets <a>here</a>.
</p>
<p>SiFive announces an upgraded Freedom Everywhere SoC and the HiFive1 Revision B
developer board. According to <a href="https://www.phoronix.com/scan.php?page=news_item&px=SiFive-HiFive1-Rev-B-Launches">Phoronix</a>,
"The HiFive1 is a mini development board without video output and can be
connected to Arduino-compatible accessories and designed for real-time
embedded use-cases. But this small embedded development board is available
for $49 USD." See <a href="https://www.sifive.com/blog/freedom-everywhere--back-for-everyone">SiFive.com</a>
for more information.
</p></div>
<div class="field field--name-field-tags field--type-entity-reference field--label-hidden field--items">
<div class="field--item"><a href="https://www.linuxjournal.com/tag/news" hreflang="en">News</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/mozilla" hreflang="en">Mozilla</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/firefox" hreflang="en">Firefox</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/kodi" hreflang="en">Kodi</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/linux-foundation-0" hreflang="en">The Linux Foundation</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/nextcloud" hreflang="en">Nextcloud</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/eu" hreflang="en">EU</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/copyright" hreflang="en">Copyright</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/tetrate" hreflang="en">Tetrate</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/embedded" hreflang="en">Embedded</a></div>
</div>
</div>
</div>
Tue, 19 Mar 2019 14:02:47 +0000Jill Franklin1340540 at https://www.linuxjournal.comLessons in Vendor Lock-in: 3D Printershttps://www.linuxjournal.com/content/lessons-vendor-lock-3d-printers
<div data-history-node-id="1340462" class="layout layout--onecol">
<div class="layout__region layout__region--content">
<div class="field field--name-field-node-image field--type-image field--label-hidden field--item"> <img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/bigstock--d-Printer-Printing-Green-Cup--263076706.jpg" width="900" height="900" alt="3D printing" typeof="foaf:Image" class="img-responsive" /></div>
<div class="field field--name-node-author field--type-ds field--label-hidden field--item">by <a title="View user profile." href="https://www.linuxjournal.com/users/kyle-rankin" lang="" about="https://www.linuxjournal.com/users/kyle-rankin" typeof="schema:Person" property="schema:name" datatype="" xml:lang="">Kyle Rankin</a></div>
<div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p><em>The open nature of the consumer 3D printing industry has made for a much
more consumer-friendly world.</em></p>
<p>
This article continues a series that aims to illustrate some
of the various problems associated with vendor lock-in. In past articles, I've given examples showing how proprietary systems
from <a href="https://www.linuxjournal.com/content/lessons-vendor-lock-shaving">disposable
razors</a> to <a href="https://www.linuxjournal.com/content/lessons-vendor-lock-messaging">messaging
apps</a> have replaced more open systems
leading to vendor lock-in. This article highlights an
ecosystem that, so far, has largely avoided vendor
lock-in and describes the benefits that openness has provided members of
the community, myself included: 3D printing.
</p>
<p>
I've been involved in 3D printing for several years. I've owned a number
of printers, and I've seen incredible growth in the area from an incredibly geeky
fringe to the much more accessible hobby that it is today. I've also
written quite a few articles in <em>Linux Journal</em> about 3D printing, including
a multi-part series on the current state of 3D printing hardware and
software (see the Resources section for links to Kyle's previous <em>Linux
Journal</em> articles on 3D printing). I even gave a keynote at SCALE 11x on the free software and
open hardware history of 3D printing and how it mirrors the history of
the growth of Linux distributions.
</p>
<h3>
The Birth of 3D Printing in the Hobbyist Market</h3>
<p>
One interesting thing about the hobbyist 3D printing market is that it
was founded on free software and open hardware ideals starting with the
<a href="https://reprap.org">RepRap project</a>. The idea behind that project was to design a 3D printer
from off-the-shelf parts that could print as many of its own parts as
possible (especially more complex, custom parts like gears). Because
of this, the first generation of 3D printers were all homemade using
Arduinos, stepper motors, 3D-printed gears and hardware you could find
in the local hardware store.
</p>
<p>
As the movement grew, a few individuals started small businesses selling
3D printer kits that collected all the hardware plus the 3D printed parts
and electronics for you to assemble at home. Later, these kits turned
into fully assembled and supported printers, and after the successful
<a href="https://en.wikipedia.org/wiki/Printrbot">Printrbot</a> kickstarter campaign, the race was on to create cheaper and
more user-friendly printers with each iteration. Sites like <a href="https://www.thingiverse.com">Thingiverse</a>
and <a href="https://www.youmagine.com">YouMagine</a> allowed people to
create and share their designs, so even if
you didn't have any design skills yourself, you could download and print
everyone else's. These sites even provided the hardware diagrams for some
of the more popular 3D printers. The Free Software ethos was everywhere
you looked.
</p></div>
<div class="field field--name-node-link field--type-ds field--label-hidden field--item"> <a href="https://www.linuxjournal.com/content/lessons-vendor-lock-3d-printers" hreflang="en">Go to Full Article</a>
</div>
</div>
</div>
Tue, 19 Mar 2019 11:30:00 +0000Kyle Rankin1340462 at https://www.linuxjournal.comHow usable is desktop Linux on ARM?https://www.linuxjournal.com/video/how-usable-desktop-linux-arm
<div data-history-node-id="1340538" class="layout layout--onecol">
<div class="layout__region layout__region--content">
<div class="field field--name-dynamic-block-fieldnode-rss-promo field--type-ds field--label-hidden field--item"><div class="views-element-container form-group"><div class="view view-rss-subscription-promotion view-id-rss_subscription_promotion view-display-id-block_1 js-view-dom-id-c7c84854642673d52f1610459aeda40c92a6c54e74b6dae68e75c5f3be2ff607">
<div class="view-content">
<div class="views-row">
<div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Please support <em>Linux Journal</em> by <a href="https://www.linuxjournal.com/subscribe">subscribing</a> or becoming a <a href="https://www.patreon.com/bePatron?u=10705728">patron</a>.</p></div>
</div>
</div>
</div>
</div>
</div>
<div class="field field--name-field-video-url field--type-link field--label-hidden field--item video__embed video-container">
<a class="video-embed video-embed--unprocessed" href="https://www.linuxjournal.com/video/how-usable-desktop-linux-arm" data-video-slug="-qt9HqMMEmQ">
<img class="video-embed__img" src="https://i.ytimg.com/vi/-qt9HqMMEmQ/hqdefault.jpg" /><button class="video-embed__play"></button>
</a>
</div>
</div>
</div>
Mon, 18 Mar 2019 17:52:55 +0000Bryan Lunduke1340538 at https://www.linuxjournal.comhttps://www.linuxjournal.com/video/how-usable-desktop-linux-arm#commentsKhronos Releases OpenXR 0.90, Solus 4 Fortitude Now Available, Geary 3.32 Released, Linux Kernel 5.1-rc1 Is Out, Opera Announces Opera 60 Betahttps://www.linuxjournal.com/content/khronos-releases-openxr-090-solus-4-fortitude-now-available-geary-332-released-linux-kernel
<div data-history-node-id="1340537" class="row bs-3col-stacked node node--type-news node--view-mode-rss">
<div class="col-sm-12 bs-region bs-region--top">
<div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p><em>News briefs for March 18, 2019.</em></p>
<p>
Khronos today released the OpenXR 0.90 provision specification. From the
press release: "OpenXR is a unifying, royalty-free, open standard that
provides high-performance access to augmented reality (AR) and virtual
reality (VR)—collectively known as XR—platforms and devices. The new
specification can be found on the <a href="https://www.khronos.org/openxr">Khronos website</a> and is released in
provisional form to enable developers and implementers to provide feedback at
the <a href="https://community.khronos.org/c/openxr">OpenXR forum</a>." And following the release of the OpenXR 0.09 provision specification, <a href="https://www.collabora.com/news-and-blog/news-and-events/introducing-monado.html">Collabora announced Monado</a>: "at the center of Monado is a fully open source OpenXR runtime for Linux. It is the component in the XR software stack that implements the hardware support, it knows how to process non standard input from HMD devices and controllers, it knows how to render to those devices and it provides this functionality via the standard OpenXR API."
</p>
<p><a href="https://getsol.us/2019/03/17/solus-4-released">Solus 4 Fortitude
is now available</a>. This new major release "delivers a
brand new Budgie experience, updated sets of default applications and
theming, and hardware enablement". Visit the <a href="https://getsol.us/download">download page</a> to install.
</p>
<p>
<a href="https://www.mail-archive.com/gnome-announce-list@gnome.org/msg11446.html">Geary
3.32 was released</a> yesterday. This is a feature release of the GNOME email
application and aims to "align Geary's interface better with GNOME 3.32". It
has "a new icon, the application menu has been moved to a burger menu in the
main window, sender images in conversations are now taken from the the
desktop address-book, and those without a custom photo are given a
personalised image with initials and background colour based on their name",
along with the usual bug fixes and other improvements. To install, visit <a href="https://wiki.gnome.org/Apps/Geary">here</a>.
</p>
<p>
Linux kernel 5.1-rc1 is out. Linus Torvalds <a href="https://lore.kernel.org/lkml/CAHk-=wj1c_Tb-wwM6qaPLdggXtW3rOh1JzYUOs+O7PsHt-=+jg@mail.gmail.com/T/#u">writes</a>,
"The merge window felt fairly normal to me. And looking at the stats,
nothing really odd stands out either. It's a regular sized release
(which obviously means "big" - , but it's not bigger than usual) and
the bulk of it (just over 60%) is drivers. All kinds of drivers, the
one that stands out for being different is the habanalabs AI
accelerator chip driver, but I suspect we'll be starting to see more
of that kind of stuff. But there are all the usual suspects too - gpu,
networking, block devices etc etc."
</p>
<p><a href="https://blogs.opera.com/desktop/2019/03/opera-60-beta">Opera
recently announced that Opera 60 has entered the beta stream</a>.
"Opera 60 beta brings a refreshed interface with light and dark
themes inspired by high- and low-key lighting photography, respectively. It
will also include a Crypto Wallet in the sidebar." This version is actually merging
with Opera 59, and the two versions are being called <a href="https://blogs.opera.com/desktop/2019/03/opera-60-beta">Reborn 3</a>,
which will be in the stable channel soon. See the <a href="https://blogs.opera.com/desktop/changelog-for-60/#b3255.4">Opera 60
changelog</a> for more
details on the changes.
</p></div>
<div class="field field--name-field-tags field--type-entity-reference field--label-hidden field--items">
<div class="field--item"><a href="https://www.linuxjournal.com/tag/news" hreflang="en">News</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/vr" hreflang="en">VR</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/solus" hreflang="en">Solus</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/distributions" hreflang="en">Distributions</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/geary" hreflang="en">Geary</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/gnome" hreflang="en">GNOME</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/kernel" hreflang="en">kernel</a></div>
<div class="field--item"><a href="https://www.linuxjournal.com/tag/opera" hreflang="en">Opera</a></div>
</div>
</div>
</div>
Mon, 18 Mar 2019 13:58:07 +0000Jill Franklin1340537 at https://www.linuxjournal.comText Processing in Rusthttps://www.linuxjournal.com/content/text-processing-rust
<div data-history-node-id="1340474" class="layout layout--onecol">
<div class="layout__region layout__region--content">
<div class="field field--name-field-node-image field--type-image field--label-hidden field--item"> <img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/rust-logo_0.png" width="1200" height="1200" alt="Rust Programming Language Logo" typeof="foaf:Image" class="img-responsive" /></div>
<div class="field field--name-node-author field--type-ds field--label-hidden field--item">by <a title="View user profile." href="https://www.linuxjournal.com/users/mihalis-tsoukalos" lang="" about="https://www.linuxjournal.com/users/mihalis-tsoukalos" typeof="schema:Person" property="schema:name" datatype="" xml:lang="">Mihalis Tsoukalos</a></div>
<div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p><em>Create handy command-line utilities in Rust.</em></p>
<p>
This article is about text processing in Rust, but it also contains a
quick introduction to pattern matching, which can be very handy when
working with text.
</p>
<p>
Strings are a huge subject in Rust, which can be easily realized by
the fact that Rust has two data types for representing strings as well
as support for macros for formatting strings. However, all of this also
proves how powerful Rust is in string and text processing.
</p>
<p>
Apart from covering some theoretical topics, this article shows how to develop
some handy yet easy-to-implement command-line utilities that let you
work with plain-text files. If you have the time, it'd be great to
experiment with the Rust code presented here, and maybe develop your own
utilities.
</p>
<h3>
Rust and Text</h3>
<p>
Rust supports two data types for working with strings: <code>String</code>
and <code>str</code>.
The <code>String</code> type is for working with mutable strings that
belong to you, and it has length and a capacity property. On the other
hand, the <code>str</code> type is for working with immutable strings that you want
to pass around. You most likely will see an <code>str</code> variable be used as
<code>&str</code>. Put simply, an <code>str</code> variable is accessed as a reference to some
UTF-8 data. An <code>str</code> variable is usually called a "string slice" or, even
simpler, a "slice". Due to its nature, you can't add and remove any
data from an existing <code>str</code> variable. Moreover, if you try to call the
<code>capacity()</code> function on an <code>&str</code> variable, you'll get an error message
similar to the following:
</p><pre>
<code>
error[E0599]: no method named `capacity` found for type
↪`&str` in the current scope
</code>
</pre>
<p>
Generally speaking, you'll want to use an <code>str</code> when you want to pass a string
as a function parameter or when you want to have a read-only version
of a string, and then use a <code>String</code> variable when you want to have a mutable
string that you want to own.
</p>
<p>
The good thing is that a function that accepts <code>&str</code> parameters can
also accept <code>String</code> parameters. (You'll see such an example in the
<code>basicOps.rs</code> program presented later in this article.)
Additionally, Rust supports the <code>char</code> type, which is for representing
single Unicode characters, as well as string literals, which are
strings that begin and end with double quotes.
</p>
<p>
Finally, Rust supports what is called a <code>byte</code> string. You can define a new
<code>byte</code> string as follows:
</p></div>
<div class="field field--name-node-link field--type-ds field--label-hidden field--item"> <a href="https://www.linuxjournal.com/content/text-processing-rust" hreflang="en">Go to Full Article</a>
</div>
</div>
</div>
Mon, 18 Mar 2019 13:07:07 +0000Mihalis Tsoukalos1340474 at https://www.linuxjournal.comWeekend Reading: Tor and Tailshttps://www.linuxjournal.com/content/weekend-reading-tor-and-tails
<div data-history-node-id="1340218" class="layout layout--onecol">
<div class="layout__region layout__region--content">
<div class="field field--name-field-node-image field--type-image field--label-hidden field--item"> <img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/bigstock-Privacy-Gdpr-General-Data-Pr-240708367.jpg" width="800" height="533" alt="Tor and Tails" typeof="foaf:Image" class="img-responsive" /></div>
<div class="field field--name-node-author field--type-ds field--label-hidden field--item">by <a title="View user profile." href="https://www.linuxjournal.com/users/carlie-fairchild" lang="" about="https://www.linuxjournal.com/users/carlie-fairchild" typeof="schema:Person" property="schema:name" datatype="" xml:lang="">Carlie Fairchild</a></div>
<div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Tails is a live media Linux distro designed to boot into a highly secure desktop environment. Tor is a browser that prevents somebody watching your internet connection from learning what sites you visit, and it prevents the sites you visit from learning your physical location.</p>
<p>Learn why anonymity matters and how you can protect yourself with this <em>Linux Journal</em> Weekend Reading.</p>
<p><strong><a href="//www.linuxjournal.com/content/tails-above-rest-installation
">T</a><a href="https://www.linuxjournal.com/content/tor-hidden-services">or Hidden Services</a> </strong></p>
<p>Why should clients get all the privacy? Give your servers some privacy too!</p>
<p><strong><a href="//www.linuxjournal.com/content/tails-above-rest-installation
">Tails above the Rest: the Installation</a></strong></p>
<p>How to get and validate the Tails distribution and install it. We will follow up with what Tails can and can't do to protect your privacy, and how to use Tails in a way that minimizes your risk. Then we will finish with some more advanced features of Tails, including the use of a persistent volume (with this feature, depending on your needs, you could conceivably use Tails as your main Linux distribution).</p>
<p><strong><a href="//www.linuxjournal.com/content/tails-above-rest-part-ii ">Tails above the Rest, Part II</a></strong></p>
<p>Now that you have Tails installed, let's start using it. Read on to find out how to get started.</p>
<p><strong><a href="//www.linuxjournal.com/content/tails-above-rest-part-iii ">Tails above the Rest, Part III</a></strong></p>
<p>In the first two parts on this series, we gave an overview of Tails, including how to get the distribution securely, and once you have it, how to use some of the basic tools. Here, we cover some of the more advanced features of Tails, such as some of its log-in options, its suite of encryption tools and the persistent disk.</p>
<p><strong><a href="//www.linuxjournal.com/content/tor-security-android-and-desktop-linux
">Tor Security for Android and Desktop Linux</a></strong> </p>
<p>The Tor Project presents an effective countermeasure against hostile and disingenuous carriers and ISPs that, on a properly rooted and capable Android device or Linux system, can force all network traffic through Tor encrypted entry points (guard nodes) with custom rules for iptables. This action renders all device network activity opaque to the upstream carrier—barring exceptional intervention, all efforts to track a user are afterwards futile.</p>
<p><strong><a href="//www.linuxjournal.com/content/bundle-tor ">A Bundle of Tor</a></strong></p>
<p>The best way to set up Tor on your personal machine.</p>
<p><strong><a href="//www.linuxjournal.com/content/dolphins-nsa-dragnet ">Dolphins in the NSA Dragnet</a></strong></p></div>
<div class="field field--name-node-link field--type-ds field--label-hidden field--item"> <a href="https://www.linuxjournal.com/content/weekend-reading-tor-and-tails" hreflang="en">Go to Full Article</a>
</div>
</div>
</div>
Sat, 16 Mar 2019 14:04:18 +0000Carlie Fairchild1340218 at https://www.linuxjournal.com