Ubuntu Linux 18.10 Cosmic Cuttlefish Beta Now Available For Desktop, Cloud and Server Versions

 

 

binspamdupenotthebestofftopicslownewsdaystalestupid
freshfunnyinsightfulinterestingmaybe
descriptive

103129272
story

 

UbuntuOperating SystemsLinux

Ubuntu Linux 18.10 Cosmic Cuttlefish Beta Now Available For Desktop, Cloud and Server Versions (betanews.com)

Posted
by

msmash

on Sunday September 30, 2018 @03:30PM

from the weekend-projects dept.

Roughly three weeks ahead of the scheduled release of Ubuntu Linux 18.10 “Cosmic Cuttlefish”, the latest major update for the popular Linux distro,

beta of all of its flavors — desktop, cloud and server — is now available for download

. From a report:

Codenamed ‘Cosmic Cuttlefish,’ 18.10 continues Ubuntu’s proud tradition of integrating the latest and greatest open source technologies into a high-quality, easy-to-use Linux distribution. The team has been hard at work through this cycle, introducing new features and fixing bugs,” says Adam Conrad, Software Engineer, Canonical. Conrad further says, “This beta release includes images from not only the Ubuntu Desktop, Server, and Cloud products, but also the Kubuntu, Lubuntu, Ubuntu Budgie, UbuntuKylin, Ubuntu MATE, Ubuntu Studio, and Xubuntu flavours. The beta images are known to be reasonably free of showstopper CD build or installer bugs, while representing a very recent snapshot of 18.10 that should be representative of the features intended to ship with the final release expected on October 18th, 2018.” Further reading: Canonical Shares Desktop Plans For Ubuntu 18.10

.

 

Can’t open /usr/games/lib/fortunes.dat.

Working…

Source

Hacker-Powered Security » Linux Magazine

Mårten Mickos is one of the most respected members of the open source world. The former CEO of MySQL AB during its prime now serves as the CEO of HackerOne, a vulnerability coordination and bug bounty platform. I sat down with Mickos to understand HackerOne’s purpose and his perspective on the security of open source software.

Mårten Mickos is one of the most respected members of the open source world. The former CEO of MySQL AB during its prime now serves as the CEO of HackerOne, a vulnerability coordination and bug bounty platform. I sat down with Mickos to understand HackerOne’s purpose and his perspective on the security of open source software.

HackerOne’s Role

In layman’s terms, HackerOne brings the hacker community to an organization to hack into their code in search of vulnerabilities. As Mickos said, “Sometimes we joke that if you are going to be hacked anyway, it’s better to get hacked by someone you can trust.” HackerOne has built a platform for secure intelligence report sharing and payment, along with a reputation system for hackers.

When an organization announces a bug bounty program through HackerOne, the hacker community starts looking at the organization’s code and filing their reports. The platform enables the bug bounty program’s organizer to vet these vulnerabilities. The hacker who filed the report gets rewarded.

[…]

Use Express-Checkout link below to read the full article (PDF).

Source

Doing Date Math on the Command Line, Part I

If you’ve ever used a spreadsheet, you’ve probably used or seen
functions for doing date math—in other words, taking one date and adding some number
of days or months to it to get a new date, or taking two
dates and finding the number days between them.
The same thing can be done from the command line using
the lowly date command, possibly with a little
help from Bash’s arithmetic.

The two most important features of the date command to
understand for doing date math are the +FORMAT option
and the –date option.
The formatting option allows you to format the date in different ways
or get just certain parts of the date, such as the year,
the month, the day and so on:

$ date ‘+%Y’
2018
$ date ‘+%m’
09
$ date ‘+%d’
16

There are a few dozen formatting options; see the date(1)
man page for more.

The second option, the –date (or -d) option, allows you to specify
the date to use, rather than the current date:

$ date –date ‘March 1, 2015’ “+%Y”
2015
$ date –date=’March 1, 2015′ “+%m”
03
$ date -d ‘March 1, 2015’ “+%d”
01

The interesting part of the –date option is that it allows you to
specify date strings in a variety of ways. For example, given the
above date of “March 1, 2015”, you can calculate dates relative to it:

$ date –date ‘March 1, 2015 +7 days’
Sun Mar 8 00:00:00 MST 2015
$ date –date ‘March 1, 2015 -1 year’
Sat Mar 1 00:00:00 MST 2014
$ date –date ‘March 1, 2015 +12 days +12 hours +15 minutes’
Fri Mar 13 12:15:00 MST 2015

You also can use strings that refer to previous or upcoming days
of the week (relative to the current date):

$ date –date ‘last Monday’
Mon Sep 10 00:00:00 MST 2018
$ date –date ‘next Monday’
Mon Sep 17 00:00:00 MST 2018

Note, however, that combining a date and things like “next Monday” does not work.
The date(1) man page has a bit more information about the types
of date strings you can specify, however, the GNU Info date page
has much more complete documentation.

So now that you’ve seen the basics of doing date math, let’s use it
to do something.
This example comes from some recent scripts I was working on
while organizing Linux Journal’s online archives.
Each month we publish a new issue.
Each issue has an issue number that’s one more than the previous issue.
Issue numbers are easy to deal with when specifying arguments
to a script, but readers tend to think more in terms of months and years.
So in a couple places I needed to generate months and years from issue numbers.

To not complicate the example, let’s ignore a couple breaks in
LJ‘s publishing history.
So, let’s use issue #284 from March 2018 as the starting point
and make all calculations relative to it.
The script takes one or more issue numbers and prints out the month
and year corresponding to that issue number:

$ cat date1.sh
1 for inum in $*
2 do
3 [[ “$inum” =~ ^[0-9]$ ]] || { echo “Invalid issue number: $inum”; continue; }
4
5 month=$(date –date=”March 1, 2018 +$((inum – 284)) month” +’%B’)
6 year=$(date –date=”March 1, 2018 +$((inum – 284)) month” +’%Y’)
7 printf “Issue %d is from %s, %sn” $inum $month $year
8 done

$ bash date1.sh 284 285
Issue 284 is from March, 2018
Issue 285 is from April, 2018

Lines 5 and 6 calculate the number of issues
that have elapsed since issue 284 using Bash’s arithmetic
expression syntax: $((inum – 284)).
That result then is used to add that many months onto the
date of the first issue, which gives the date
of the issue in question.
Then the date command’s format options provides the month and year
(the %B and %Y format specifiers, respectively).
Those values next are used to print out the month and year of the issue.
And just in case you were wondering, issue #1000 will be coming out
in November 2077.

One thing that can you trip you up when doing date math is that
if you use dates near the end of the month when adding or
subtracting months, you can end up with unexpected results.
This is because the date command uses the same value for the
length of each month when it adds months and ignores the fact
that not all months are the same length.
So, for example, look what happens if you change the reference
date in the script above from the start of the month to the end of the month:

$ cat date2.sh
5 month=$(date –date=”March 31, 2018 +$((inum – 284)) month” +’%B’)
6 year=$(date –date=”March 31, 2018 +$((inum – 284)) month” +’%Y’)

$ bash date2.sh 284 285
Issue 284 is from March, 2018
Issue 285 is from May, 2018

This incorrectly labels issue 285 as being in May rather
than April.
You can verify this if you run the effective date command
by itself:

$ date –date=”March 31, 2018 +1 month”
Tue May 1 00:00:00 MST 2018

Since April has only 30 days, you end up skipping to the first of May.

The other common type of date math that I mentioned above is calculating
the difference between two dates.
Unfortunately, the date command doesn’t support this directly.
To do that, you need to convert the dates in question into the number
of seconds since the epoch (using the %s format specifier),
and then subtract the values and divide by the number of seconds
in a day (86,400) to get the days in between:

$ cat date3.sh
start_date=”March 1, 2018″
end_date=”March 31, 2018″

sdate=$(date –date=”$start_date” ‘+%s’)
edate=$(date –date=”$end_date” ‘+%s’)
days=$(( (edate – sdate) / 86400 ))
echo “$days days between $start_date and $end_date”

$ bash date3.sh
30 days between March 1, 2018 and March 31, 2018

In part two of this article, I plan to tackle how to get a
specific previous day of the week relative to a specific date
(which, as I noted above, is not directly doable with the date command).
In other words, I want to be able to do something that effectively
does the following:

$ date –date ‘March 1, 2015 previous Monday’ # won’t work
date: invalid date ‘March 1 2015 previous Monday’

Source

Thirty-Eight New Organizations Join The Linux Foundation in August

SAN FRANCISCO – September 28, 2018 – The Linux Foundation, the nonprofit organization enabling mass innovation through open source, announced the addition of 31 Silver members and 7 Associate members in the month of August. Linux Foundation members help support development of the shared technology resources, while accelerating their own innovation through open source leadership and participation. Linux Foundation member contributions help provide the infrastructure and resources that enable the world’s largest open collaboration communities.

Since the start of 2018, a new organization has joined the Linux Foundation every day and we are honored to be their partners in Open Source.

“We are incredibly excited to see the commitment to open source continue to grow with so many new organizations joining The Linux Foundation,” said Jim Zemlin, executive director, The Linux Foundation. “By choosing to invest in the open source community, these members have shown their dedication to advancing innovation, inclusivity and collaboration, and we are eager to work with them going forward.”

In addition to joining the Foundation, many of the new members have joined Linux Foundation projects like the Academy Software Foundation, Automotive Grade Linux, Cloud Native Computing Foundation, Hyperledger and The Zephyr Project. For a full list of members, visit https://www.linuxfoundation.org/membership/members/.

Linux Foundation Silver members are organizations that contribute to or otherwise support open source communities and projects. The new Linux Foundation Silver members who joined in the month of August are:

  • Armory Inc. helps software teams ship better software, faster.
  • Arrikto is a self service, multi-cloud, data management system.
  • Beijing Yan Rong Technology Co Ltd is committed to the promotion and development of applications in the field of next-generation software-defined data centers.
  • Blink.inc is a real-time technology photography studio chain.
  • ChainNinja Solutions LLC enables global business transactions with lesser friction at a higher degree of trust using blockchain technologies.
  • CloudBolt Software helps enterprise IT build, deploy, and manage access to multiple private and public clouds for effective hybrid cloud orchestration.
  • CStack Technology offers full-stack cloud products and business oriented hybrid-cloud solutions.
  • Datapace is a blockchain powered data marketplace with technical and policy-based data verification, and access to the worldwide network of sensors.
  • DNEG is one of the world’s leading visual effects, animation and stereo conversion companies for feature film and television.
  • Education Ecosystem is a decentralized learning ecosystem that teaches people how to build complete products in future technological fields.
  • Foundries.io delivers secure, over-the-air updatable software platforms for embedded product development.
  • KubeMQ is a messaging backend for microservices, built for efficient migration from .NET/MSMQ to containers managed by Kubernetes.
  • Lacework brings speed and automation to every cloud security process.
  • NextCloud offers industry-leading on-premises file sync and online collaboration technology.
  • Northstar Ventures (BlockTech) is a full service technology commercialization company specializing in enterprise software solutions, security token offerings, strategic portfolio investments and joint ventures.
  • One Convergence provides infrastructure solutions to optimize the cloud native data center.
  • Opsani applies machine learning to automate and continuously optimize performance of cloud applications and enable autonomous operations.
  • OVH Hosting Inc provides digital, innovative and secure infrastructures for professionals, startups, small and large companies and large accounts.
  • Peer Ledger uses cutting edge blockchain technology to help companies collaborate to protect humans rights, improve environmental performance and significantly reduce risks in their supply chains.
  • PipelineAI continuously trains, optimizes, and serves machine-learning models on live-streaming data directly in production.
  • PRODYNA is an innovative IT consultancy serving the digital needs of corporate enterprises across the continent.
  • Pulumi delivers cloud native infrastructure as code on any cloud with real programming languages and a consistent programming model.
  • Robin Systems, Inc. operates as an application virtualization software company that provides application-defined data center software solutions to enterprises.
  • Shanghai Qiniu Information Technologies Co., Inc. provides Internet data storage services.
  • SoluTech, Inc. is a data storage and management platform that leverages in-house Blockchain technology
  • Synadia Communications is a simple, high performance open source messaging system for cloud native applications, IoT messaging, and microservices architecture.
  • Syncsort Inc provides enterprise software for Fortune 100 companies to collect, integrate, sort, and distribute data.
  • Transwarp Technology (Shanghai) Co., Ltd specializes in developing database platforms in the Big Date era.
  • Veniam, Inc builds city-scale networks of connected vehicles that expand wireless coverage.
  • VEXXHOST Inc. works with its users to help architect, configure and optimize their cloud infrastructure to reduce expenses and increase productivity.
  • YLD! Limited provides expert advice on implementing the newest technologies into your business strategy.

Associate members of The Linux Foundation include government agencies and not-for-profit organizations that have demonstrated a commitment to building, sustaining, and using open source technologies. The following organizations are new Linux Foundation Associate members:

With the support of its members, The Linux Foundation hosts open source projects across technologies including networking, security, cloud, blockchain, and more. This collaborative development model is helping technology advance at a rapid pace in a way that benefits individuals and organizations around the world.

Note – The Linux Foundation releases a look back list of new members joining the organization every month.

About The Linux Foundation

The Linux Foundation is the organization of choice for the world’s top developers and companies to build ecosystems that accelerate open technology development and industry adoption. Together with the worldwide open source community, it is solving the hardest technology problems by creating the largest shared technology investment in history. Founded in 2000, The Linux Foundation today provides tools, training and events to scale any open source project, which together deliver an economic impact not achievable by any one company. More information can be found at www.linuxfoundation.org.

# # #

The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our trademark usage page: https://www.linuxfoundation.org/trademark-usage. Linux is a registered trademark of Linus Torvalds.

Source

OpenBSD 6.3 released ( Download of the day )

OpenBSD version 6.3 has been released. OpenBSD is demonstrating to be an excellent server operating system. Security is more critical now than ever before. OpenBSD leads the pack when it comes to security features. OpenBSD provides a very robust and trustworthy system that comes with the cutting-edge security feature. OpenBSD 6.3 continues to offer the “multi-platform, ultra-secure operating system” experience. The OpenBSD team releases a new version every six months.

What’s new in OpenBSD 6.3

Some of the new features and systems include improved hardware support for:

  • Raspberry PI soc i.e. Broadcom BCM2835/BCM2836/BCM2837
  • New driver for EFI runtime services
  • Rockchip RK3328/RK3328 SoC support has been addedd
  • Allwinner A10/A20, A23/A33, A80 and R40/V40 SoCs support has been added
  • Allwinner A33, GR8 and R40/V40 SoCs support has been added
  • SAS3.5 MegaRAIDs support has been added
  • Intel Cannon Lake and Ice Lake integrated Ethernet support has been added
  • Virtual machine monitor (vmm) and virtual machine daemon (vmd) support has been improved
  • Network stack improvements
  • Installer improvements
  • Routing daemons and other userland network improvements
  • OpenBSD/arm64 now uses kernel page table isolation to mitigate Spectre variant 3 (Meltdown) attacks
  • Introduce “execpromises” in pledge
  • OpenSSH 7.7
  • OpenSMTPD 6.0.4
  • LibreSSL 2.7.2
  • Many pre-built packages for various architecture like aarch64, amd64 and more

How to upgrade OpenBSD 6.2 to 6.3

Upgrades only supported from version 6.2 release to the 6.3 release. The procedure to update version 6.2 to 6.3 is a pretty stretch forward and simple:

  1. Boot into version 6.2 server/desktop
  2. Grab version 6.3 kernel install kernel named bsd.rd
  3. Verify kernel file
  4. Install the kernel using the mv command
  5. Reboot the box
  6. Boot from the install kernel by typing ‘b bsd.rd’ at boot> prompt
  7. Follow on-screen installation procedure for upgrade
  8. When done reboot the box and upgrade all package by running the ‘pkg_add -u -v’ command

OpenBSD 6.3 releasedMy OpenBSD version 6.3 server

Video demo

Download OpenBSD 6.3 iso images and more

You can grab OpenBSD iso images or usb images by visiting this page. The release page contains a more complete list of changes, and the upgrade page gives recommendations on how to upgrade to the version 6.3 release.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Source

The Illustrated TLS Connection | Linux.com

Every byte of a TLS connection explained and reproduced.

In this demonstration, a client has connection to a server, negotiated a TLS 1.2 session, sent “ping”, received “pong”, and then terminated the session. Click below to begin exploring.

Client Hello

The session begins with the client saying “Hello”. The client provides the following:

  • protocol version
  • client random data (used later in the handshake)
  • an optional session id to resume
  • a list of cipher suites
  • a list of compression methods
  • a list of extensions

Annotations16 03 01 00 a5 01 00 00 a1 03 03 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 00 00 20 cc a8 cc a9 c0 2f c0 30 c0 2b c0 2c c0 13 c0 09 c0 14 c0 0a 00 9c 00 9d 00 2f 00 35 c0 12 00 0a01 00 00 58 00 00 00 18 00 16 00 00 13 65 78 61 6d 70 6c 65 2e 75 6c 66 68 65 69 6d 2e 6e 65 74 00 05 00 05 01 00 00 00 00 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0b 00 02 01 00 00 0d 00 12 00 10 04 01 04 03 05 01 05 03 06 01 06 03 02 01 02 03 ff 01 00 01 00 00 12 00 00

Read more at Ulfheim.net

Click Here!

Source

Install Minio on Ubuntu 18.04 LTS

Minio is a self-hosted solution for creating your own Object storage. It is an alternative for AWS S3, if you have used that service before. The Minio software itself is shipped as a plain binary and even the official documentation suggests you to use it that way, instead of using a package manager. There are, of course, Docker images if you wish to use those to run minio on your VPS.

In this tutorial we will be installing and demonstrating the use of Minio on Ubuntu 18.04 LTS server. This VPS has a static IP and I will be setting up DNS records and TLS connections to make this Object store as secure and production ready as possible.

Here are the prerequisites you would need if you want to follow along:

  1. A VPS running Ubuntu or any other Linux distro with a static IP (IP_ADDRESS will be our placeholder, replace it with your VPS’ actual IP address)
  2. A Fully Qualified Domain Name [FQDN]. example.com will be our placeholder.

Installation and Miscellaneous Setup

Let’s login to our VPS and get things ready for Minio to run properly.

1. DNS Setup

Go to the nameserver where your domain’s DNS records are maintained, most likely this is found at your domain registrar’s website. Add an A record, pointing your chosen FQDN (for example minio.example.com ) to your VPS’ IP_ADDRESS.

2. Minio User

Before we install Minio, let’s create a new UNIX user account under whom minio will run. We don’t want to run it as root or as the regular user who may have sudo access or other applications running under it. We create a minio system account, named minio-user:

$ sudo useradd –system minio-user –shell /sbin/nologin

3. Minio Download

Next we download the minio binary (It is written in Go which compiles into a small lightweight binary).

Get the binary

$ curl -O https://dl.minio.io/server/minio/release/linux-amd64/minio

Move the binary to a location where binaries are usually expected to reside:

$ sudo mv minio /usr/local/bin

Make the binary file executable and give minio-user user and group its ownership:

$ sudo chmod +x /usr/local/bin/minio
$ sudo chown minio-user:minio-user /usr/local/bin/minio

4. /etc config files, startup scripts and storage device

We need Minio to start up with system reboot and be recognized as a running service by the OS. Not doing so would result in catastrophes such as when the OOM-killer sees this process and decides that it’s not useful enough. We would also need a directory where the actual data of our object store is going to be saved:

$ sudo mkdir /usr/local/share/minio
$ sudo mkdir /etc/minio

Make sure that minio has full control over these directories:

$ sudo chown minio-user:minio-user /usr/local/share/minio
$ sudo chown minio-user:minio-user /etc/minio

Inside the /etc/default directory we need to create a minio file to specify environment variables like the port number we will be listening on and the directory where the data should be saved (the volume). We created the volume earlier that was the /usr/local/share/minio directory. So use your favourite text editor to create a file /etc/default/minio and add the following contents inside it:

MINIO_VOLUMES=”/usr/local/share/minio/”
MINIO_OPTS=”-C /etc/minio –address minio.example.com:443″

Make sure that you write your VPS’ actual designated FDQN instead of the literal string minio.example.com above. Port number 9000 is what they usually use in the Documentation but we are going to use proper TLS installation listening at port 443. Since it is a port number less than 1024, we need to expressly tell the OS that it is okay for minio to listen on these ports:

$ sudo setcap ‘cap_net_bind_service=+ep’ /usr/local/bin/minio

Lastly, we need to configure the minio service. Fortunately the script that does it is available at their GitHub repo and we will place it at its appropriate place:

$ curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/
minio.service
$ sudo mv minio.service /etc/systemd/system

Reload all systemd units and enable minio to start on boot

$ sudo systemctl daemon-reload
$ sudo systemctl enable minio

Lastly, make sure that your firewall allows communication at port 443.

LetsEncrypt TLS Certificates using Certbot

We need to negotiated TLS certificates between our Minio server and LetsEncrypt. Certbot is the client which does this for us and also automates the certificate renewals. Let’s first install Certbot:

$ sudo apt update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install certbot

Then install the certs, as documented by Minio Docs:

$ sudo certbot certonly –standalone -d minio.example.com –staple-ocsp -m
username@email.com –agree-tos

Here you enter your FQDN for the Minio server after the -d flag and your email address after -m flag. The email address is important as it allows LetsEncrypt to notify you about pending renewals.

Your emails will now be present at /etc/letsencrypt/live/minio.example.com. Of course, the last directory name would depend on your chosen FQDN. Now copy the certs to Minio’s /etc/minio directory and give it permission to access them.

$ cp /etc/letsencrypt/live/minio.ranvirslog.com/fullchain.pem /etc/minio/certs/public.crt
$ cp /etc/letsencrypt/live/minio.ranvirslog.com/privkey.pem /etc/minio/certs/private.key
$ chown minio-user:minio-user /etc/minio/certs/public.crt
$ chown minio-user:minio-user /etc/minio/certs/private.key

Now you are ready to use the service:

$ sudo service minio start
$ sudo service minio status

Output:

  • minio.service – Minio

Loaded: loaded (/etc/systemd/system/minio.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2018-10-09 11:54:41 PDT; 5s ago
Docs: https://docs.minio.io
Process: 15874 ExecStartPre=/bin/bash -c [ -n “$” ] && echo “Variable
MINIO_VOLUMES not set in /etc/default/minio” (code=exited, status=0/SUCCESS)
Main PID: 15877 (minio)
Tasks: 13 (limit: 4915)
CGroup: /system.slice/minio.service
└─15877 /usr/local/bin/minio server -C /etc/minio –address minio.example.com:443 /usr/
local/share/minio/

Oct 09 11:54:41 hostname minio[15877]: Browser Access:
Oct 09 11:54:41 hostname minio[15877]: https://minio.example.com
Oct 09 11:54:41 hostname minio[15877]: Command-line Access: https://docs.minio.io/docs/
minio-client-quickstart-guide
Oct 09 11:54:41 hostname minio[15877]: $ mc config host add myminio
https://minio.example.com
PAMH22LU3YJIFLU82H2E IKJ+qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg

The output of this command will contain the access key (PAMH22LU3YJIFLU82H2E) and secret key (IKJ+qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg) for minio as shown in bold letters above. Your keys would be different so don’t copy the ones mentioned here.

Using Minio

Open up your browser and visit https://minio.example.com (make sure to use the FQDN you assigned) and use the access and secret key listed in your service minio status command to login in for the first time.

And you will be greeted by the Minio UI.

Here you can use the plus sign at the bottom left corner to upload files or create a new bucket. I created a new bucket called mybucket.

You can edit its policy to read and write and then upload a few files (say images) into this bucket. Minio will create a unique URL for each object in a bucket. You can set policies for read and write per bucket as well as the expiration date on individual object’s URL.

Conclusion

That’s the basics of how you get started with an object store. The objects themselves are ideally not meant to be modified just read from or added to the buckets. You can integrate this into your application by following the official documentation. It supports a wide range of programming languages ranging from Go, Python, JavaScript to .NET.

Source

piwheels: Speedy Python package installation for the Raspberry Pi

One of the great things about the Python programming language is PyPI, the Python Package Index, where third-party libraries are hosted, available for anyone to install and gain access to pre-existing functionality without starting from scratch. These libraries are handy utilities, written by members of the community, that aren’t found within the Python standard library. But they work in much the same way—you import them into your code and have access to functions and classes you didn’t write yourself.

The cross-platform problem

Many of the 150,000+ libraries hosted on PyPI are written in Python, but that’s not the only option—you can write Python libraries in C, C++, or anything with Python bindings. The usual benefit of writing a library in C or C++ is speed. The NumPy project is a good example: NumPy provides highly powerful mathematical functionality for dealing with matrix operations. It is highly optimized code that allows users to write in Python but have access to speedy mathematics operations.

The problem comes when trying to distribute libraries for others to use cross-platform. The standard is to create built distributions called Python wheels. While pure Python libraries are automatically compatible cross-platform, those implemented in C/C++ must be built separately for each operating system, Python version, and system architecture. So, if a library wanted to support Windows, MacOS, and Linux, for both 32-bit and 64-bit computers, and for Python 2.7, 3.4, 3.5, and 3.6, that would require 24 different versions! Some packages do this, but others rely on users building the package from the source code, which can take a long time and can often be complex.

Raspberry Pi and Arm

While the Raspberry Pi runs Linux, it’s not the same architecture as your regular PC—it’s Arm, rather than Intel. That means the Linux wheels don’t work, and Raspberry Pi users had to build from source—until the piwheels project came to fruition last year. Piwheels is an open source project that aims to build Raspberry Pi platform wheels for every package on PyPI.

Packages are natively compiled on Raspberry Pi 3 hardware and hosted in a data center provided by UK-based Mythic Beasts, which provides cloud Pis as part of its hosting service. The piwheels website hosts the wheels in a pip-compatible web server configuration so Raspberry Pi users can use them easily. Raspbian Stretch even comes preconfigured to use piwheels.org as an additional index to PyPI by default.

The piwheels stack

The piwheels project runs (almost) entirely on Raspberry Pi hardware:

  • Master
    • A Raspberry Pi web server hosts the wheel files and distributes jobs to the builder Pis.
  • Database server
    • All package information is stored in a Postgres database.
    • The master logs build attempts and downloads.
  • Builders
    • Builder Pis are given build jobs to attempt, and they communicate with the database.
    • The backlog of packages on PyPI was completed using around 20 Raspberry Pis.
    • A smaller number of Pis is required to keep up with new releases. Currently, there are three with Raspbian Jessie (Python 3.4) and two with Raspbian Stretch (Python 3.5).

The database server was originally a Raspberry Pi but was moved to another server when the database got too large.

Time saved

Around 500,000 packages are downloaded from piwheels.org every month.

Every time a package is built by piwheels or downloaded by a user, its status information (including build duration) is recorded in a database. Therefore, it’s possible to calculate how much time has been saved with pre-compiled packages.

In the 10 months that the service has been running, over 25 years of build time has been saved.

Great for projects

Raspberry Pi project tutorials requiring Python libraries often include warnings like “this step takes a few hours”—but that’s no longer true, thanks to piwheels. Piwheels makes it easy for makers and developers to dive straight into their project and not get bogged down waiting for software to install. Amazing libraries are just a pip install away; no need to wait for compilation.

Piwheels has wheels for NumPy, SciPy, OpenCV, Keras, and even Tensorflow, Google’s machine learning framework. These libraries are great for home projects, including image and facial recognition with the camera module. For inspiration, take a look at the Raspberry Pi category on PyImageSearch (which is one of my favorite Raspberry Pi blogs) to follow.

Read more about piwheels on the project’s blog and the Raspberry Pi blog, see the source code on GitHub, and check out the piwheels website. If you want to contribute to the project, check the missing packages tag and see if you can successfully build one of them.

Source

Mugricons: These Icons Seems To Fit With Any Kind Of Theme – NoobsLab

You may have your favorite icon theme installed on Linux desktop right now but here is the new icon pack “

Mugricons

“. It is released just few days ago under license GNU General Public License V3, this icon pack borrowed some icons from three icon sets that are: Archdroid, Zafiro and Adwaita.

Mugricons offers two variants light version and dark version, you can choose appropriate one according to your desktop theme. It is compatible with most of the Linux desktop environments such as Gnome, Unity, Cinnamon, Mate, Lxde, Xfce and others. Since this is very first icon theme by this creator, you should expect to see some issues/bugs but in our test we didn’t encounter any until now. For this icon theme many application icons available and if you found any missing icon or want to include something in this icon pack or face any kind of bug then report it to creator.

Mugricons Mugricons icons
Mugricons Mugricons icons

Available for Ubuntu 18.04 Bionic/18.10/16.04 Xenial/14.04 Trusty/Linux Mint 19/18/17/and other related Ubuntu derivatives
To install Mugricons Icons in Ubuntu/Linux Mint open Terminal (Press Ctrl+Alt+T) and copy the following commands in the Terminal:
What do you think of this icon pack? Let us know in the comments below!

Source

WP2Social Auto Publish Powered By : XYZScripts.com