FOSS Project Spotlight: Appaserver | Linux Journal

An introduction to an application server that allows you to build MySQL user interfaces
without
programming.

Assume you are tasked to write a browser-based, MySQL user interface for the table called CITY.
CITY has two columns. The column names are city_name and state_code—each combined are the
primary key.

Your user interface must enable users to execute the four main SQL operations: select, insert,
update and delete. The main characteristics for each operation are:

  • The select operation needs an HTML prompt form to request a query. It also needs a where
    clause generator to select from CITY. After forking MySQL and retrieving the raw rows, it needs to
    translate them into an HTML table form.
  • The HTML table form needs to be editable, and user edits need to be translated into update
    statements.
  • Each resulting row following the execution of a query is a candidate for deletion.
  • The insert operation needs a blank form. It also needs to translate Apache’s common gateway
    interface (CGI) into insert statements.

So, you might create the source file called city.c and type in all the required code. Of course,
relational databases have relations. One city has many persons residing in it. Assume the PERSON
table has the column names of full_name, street_address,
city_name and state_code. full_name and
street_address combined are the primary key (Figure 1).

""


Figure 1. Database Schema of Many Persons Residing in One City

Are you going to create the source file called person.c too? What about customer.c, inventory.c,
order.c, …?

Alternatively, you might create the source files called select.c, insert.c, update.c and
delete.c. Then each of these modules would need as input:

  • A single table name.
  • The table’s additional attributes.
  • The table’s column names and additional attributes.
  • A recursive list of related tables.
  • Apache’s CGI dictionary output.

The principle behind Appaserver is this multi-module approach. Appaserver stores table names in a
table. Each table’s column names and relations are also stored in tables. Taking the table-driven
concept to the nth degree forms a database of a database. You can glean a detailed understanding
of how the Appaserver database is modeled from https://appahost.com/appaserver_database_schema.pdf.

Create Appaserver Applications

To create Appaserver applications, you first need Appaserver. Because Appaserver communicates with
both Apache and MySQL, installation has multiple steps. The installation steps are available at
https://github.com/timhriley/appaserver/blob/master/INSTALL. You will install a database called “template”
from which all your applications are spawned. Alternatively, you can create an Appaserver
application securely at Cloudacus.

Appaserver Roles

After you create your first application from the template database, you are ready to build it.
After you log in, you are presented with three preinstalled roles (Figure 2).

""

Figure 2. Appaserver Supports Multiple Roles

Appaserver’s security centers around roles. You grant permissions to roles, and you assign users
to roles. The “System” role is used to build your database. Users interact with the database in
all the other roles.

The highest user role is “Supervisor”. The “Supervisor” role has permission to select, insert,
update and delete every column in every row in every application table. Two important
considerations are:

  1. The “Supervisor” role cannot access any of the system tables, only application tables. (Well,
    except the APPLICATION_CONSTANTS table.)
  2. The “Supervisor” role has permission to delete too much.

The lowest subordinate role is “Public”. The “Public” role has select permission only. It is used
in publicly funded research applications. Cloudacus hosts a research application called “Benthic”.
“Public” also may be used in commercial applications to display
inventories.

The next lowest subordinate role is “Dataentry”. The “Dataentry” role receives insert and lookup
permissions but not update nor delete. If someone in the “Dataentry” role comes across a mistake,
a supervisor needs to be interrupted to make the fix.

You may create many subordinate roles above these two. Assign yourself to all of them. Then you can easily test the security.

Build Your Database

Users will interact with your database using Appaserver. Likewise, you will build your database
using Appaserver. You will first use Appaserver’s insert operations. If you make a mistake,
you will use Appaserver’s update and delete operations. After your user interface vision is
complete, execute the “Create Application” process. You then can change to a user role and start
producing.

How Appaserver Works

Take a look at Figure 3. The cycle begins by first choosing a table to insert into or lookup from.
Appaserver generates and sends a “select” SQL statement to MySQL, requesting the column names of
your table. MySQL returns data containing the table’s column names and other metadata to
Appaserver.

Appaserver then generates HTML tags and sends them to your browser. The HTML tags will be blank
widgets if you are inserting and query widgets if you are selecting.

Your browser displays a dialog-box (form) that contains a CGI “Submit”
button. After you submit your form, the browser sends its contents to Appaserver. Appaserver
generates and sends the next appropriate SQL statement to MySQL. The cycle then repeats.

""


Figure 3. Appaserver Data Flow Diagram

Conclusion

The Hello World Tutorial will step you through the entire database build.

Appaserver is a MySQL user interface. The interface is consistent throughout your
application—both at the system level and the user level. Once you discover Appaserver’s look and feel, new
tables and columns can become new features simply by filling out a few forms.

Source

4 Unique Terminal Emulators for Linux | Linux.com

Let’s face it, if you’re a Linux administrator, you’re going to work with the command line. To do that, you’ll be using a terminal emulator. Most likely, your distribution of choice came pre-installed with a default terminal emulator that gets the job done. But this is Linux, so you have a wealth of choices to pick from, and that ideology holds true for terminal emulators as well. In fact, if you open up your distribution’s GUI package manager (or search from the command line), you’ll find a trove of possible options. Of those, many are pretty straightforward tools; however, some are truly unique.

In this article, I’ll highlight four such terminal emulators, that will not only get the job done, but do so while making the job a bit more interesting or fun. So, let’s take a look at these terminals.

Tilda

Tilda is designed for Gtk and is a member of the cool drop-down family of terminals. That means the terminal is always running in the background, ready to drop down from the top of your monitor (such as Guake and Yakuake). What makes Tilda rise above many of the others is the number of configuration options available for the terminal (Figure 1).

Tilda can be installed from the standard repositories. On a Ubuntu- (or Debian-) based distribution, the installation is as simple as:

sudo apt-get install tilda -y

Once installed, open Tilda from your desktop menu, which will also open the configuration window. Configure the app to suit your taste and then close the configuration window. You can then open and close Tilda by hitting the F1 hotkey. One caveat to using Tilda is that, after the first run, you won’t find any indication as to how to reach the configuration wizard. No worries. If you run the command tilda -C it will open the configuration window, while still retaining the options you’ve previously set.

Available options include:

  • Terminal size and location
  • Font and color configurations
  • Auto Hide
  • Title
  • Custom commands
  • URL Handling
  • Transparency
  • Animation
  • Scrolling
  • And more

What I like about these types of terminals is that they easily get out of the way when you don’t need them and are just a button click away when you do. For those that hop in and out of the terminal, a tool like Tilda is ideal.

Aterm

Aterm holds a special place in my heart, as it was one of the first terminals I used that made me realize how flexible Linux was. This was back when AfterStep was my window manager of choice (which dates me a bit) and I was new to the command line. What Aterm offered was a terminal emulator that was highly customizable, while helping me learn the ins and outs of using the terminal (how to add options and switches to a command). “How?” you ask. Because Aterm never had a GUI for customization. To run Aterm with any special options, it had to run as a command. For example, say you want to open Aterm with transparency enabled, green text, white highlights, and no scroll bar. To do this, issue the command:

aterm -tr -fg green -bg white +xb

The end result (with the top command running for illustration) would look like that shown in Figure 2.

Of course, you must first install Aterm. Fortunately, the application is still found in the standard repositories, so installing on the likes of Ubuntu is as simple as:

sudo apt-get install aterm -y

If you want to always open Aterm with those options, your best bet is to create an alias in your ~/.bashrc file like so:

alias=”aterm -tr -fg green -bg white +sb”

Save that file and, when you issue the command aterm, it will always open with those options. For more about creating aliases, check out this tutorial.

Eterm

Eterm is the second terminal that really showed me how much fun the Linux command line could be. Eterm is the default terminal emulator for the Enlightenment desktop. When I eventually migrated from AfterStep to Enlightenment (back in the early 2000s), I was afraid I’d lose out on all those cool aesthetic options. That turned out to not be the case. In fact, Eterm offered plenty of unique options, while making the task easier with a terminal toolbar. With Eterm, you can easily select from a large number of background images (should you want one – Figure 3) by selecting from the Background > Pixmap menu entry.

There are a number of other options to configure (such as font size, map alerts, toggle scrollbar, brightness, contrast, and gamma of background images, and more). The one thing you want to make sure is, after you’ve configured Eterm to suit your tastes, to click Eterm > Save User Settings (otherwise, all settings will be lost when you close the app).

Eterm can be installed from the standard repositories, with a command such as:

sudo apt-get install eterm

Extraterm

Extraterm should probably win a few awards for coolest feature set of any terminal window project available today. The most unique feature of Extraterm is the ability to wrap commands in color-coded frames (blue for successful commands and red for failed commands – Figure 4).

When you run a command, Extraterm will wrap the command in an isolated frame. If the command succeeds, the frame will be outlined in blue. Should the command fail, the frame will be outlined in red.

Extraterm cannot be installed via the standard repositories. In fact, the only way to run Extraterm on Linux (at the moment) is to download the precompiled binary from the project’s GitHub page, extract the file, change into the newly created directory, and issue the command ./extraterm.

Once the app is running, to enable frames you must first enable bash integration. To do that, open Extraterm and then right-click anywhere in the window to reveal the popup menu. Scroll until you see the entry for Inject Bash shell Integration (Figure 5). Select that entry and you can then begin using the frames option.

If you run a command, and don’t see a frame appear, you probably have to create a new frame for the command (as Extraterm only ships with a few default frames). To do that, click on the Extraterm menu button (three horizontal lines in the top right corner of the window), select Settings, and then click the Frames tab. In this window, scroll down and click the New Rule button. You can then add a command you want to work with the frames option (Figure 6).

If, after this, you still don’t see frames appearing, download the extraterm-commands file from the Download page, extract the file, change into the newly created directory, and issue the command sh setup_extraterm_bash.sh. That should enable frames for Extraterm.
There’s plenty more options available for Extraterm. I’m convinced, once you start playing around with this new take on the terminal window, you won’t want to go back to the standard terminal. Hopefully the developer will make this app available to the standard repositories soon (as it could easily become one of the most popular terminal windows in use).

And Many More

As you probably expected, there are quite a lot of terminals available for Linux. These four represent (at least for me) four unique takes on the task, each of which do a great job of helping you run the commands every Linux admin needs to run. If you aren’t satisfied with one of these, give your package manager a look to see what’s available. You are sure to find something that works perfectly for you.

Source

How To Install and Configure Redmine on Ubuntu 18.04

Redmine is one of the most popular open source project management and issue tracking software tools. It is cross-platform and cross-database and built on top of the Ruby on Rails framework.

Redmine includes support for multiple projects, wikis, issue tracking system, forums, calendars, email notifications, and much more.

This tutorial describes how to install and configure the latest version of Redmine on an Ubuntu 18.04 server using MySQL as a database back-end and Passenger + Nginx as a Ruby application server.

Prerequisites

Make sure that you have met the following prerequisites before continuing with this tutorial:

  • You have a domain name pointing to your server public IP. In this tutorial we will use example.com.
  • You are logged in as a user with sudo privileges.
  • You have Nginx installed by following these instructions.
  • You have a SSL certificate installed for your domain. You can install a free Let’s Encrypt SSL certificate by following these instructions .

Creating MySQL database

Redmine supports MySQL/MariaDB, Microsoft SQL Server, SQLite 3 and PostgreSQL. In this tutorial we’ll use MySQL as a database back-end.

If you already don’t have MySQL installed on your Ubuntu server you can install by following this instructions.

Login to the MySQL shell by typing the following command:

From inside the mysql console, run the following SQL statement to create a new database:

CREATE DATABASE redmine CHARACTER SET utf8mb4;

Next, create a MySQL user account and grant access to the database:

GRANT ALL ON redmine.* TO ‘redmine’@’localhost’ IDENTIFIED BY ‘change-with-strong-password’;

Make sure you change change-with-strong-password with a strong password.

Once done, exit the mysql console by typing:

Installing Ruby

The easiest way to install Ruby on your Ubuntu system is through the apt package manager. At the time of writing, the version in the Ubuntu repositories is 2.5.1 which is the the latest stable version of Ruby.

Install Ruby by typing:

sudo apt install ruby-full

If you want to install Ruby via Rbenv or RVM check this guide.

Installing Passenger and Nginx

Passenger is a fast and lightweight web application server for Ruby, Node.js and Python that can be integrated with Apache and Nginx. We will install Passenger as an Nginx module.

Make sure you followed the prerequisites and installed Nginx before continuing with the following steps.

Start by installing the necessary packages:

sudo apt install dirmngr gnupg apt-transport-https ca-certificates

Import the repository GPG key and enable the Phusionpassenger repository:

sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7
sudo add-apt-repository ‘deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main’

Once the repository is enabled, update the packages list and install the Passenger Nginx module with:

sudo apt update
sudo apt install libnginx-mod-http-passenger

Installing Redmine on Ubuntu

We’ll start by installing the dependencies necessary to build Redmine:

sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev

At the time of writing this article, the latest stable version of Redmine is version 3.4.6.

Before continuing with the next step you should check the Redmine download page to see if a newer version is available.

1. Downloading Redmine

Download the Redmine archive with the following curl command:

sudo curl -L http://www.redmine.org/releases/redmine-3.4.6.tar.gz -o /tmp/redmine.tar.gz

Once the download is completed extract the archive and move it to the /opt directory:

sudo tar zxf /tmp/redmine.tar.gz
sudo mv /tmp/redmine-3.4.6 /opt/redmine

2. Configuring Redmine Database

Start by copying the Redmine example configuration file:

sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml

Open the file with your text editor:

sudo nano /opt/redmine/config/database.yml

Search for the production section and enter the MySQL database and user information we created previously:

/opt/redmine/config/database.yml

production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: “change-with-strong-password”
encoding: utf8

Once done, save the file and exit the editor.

3. Installing Ruby dependencies

Navigate to the redmine directory and install bundler and other Ruby dependencies:

cd /opt/redmine/
sudo gem install bundler –no-rdoc –no-ri
sudo bundle install –without development test postgresql sqlite

4. Generate Keys and Migrate the Database

Run the following command to generate keys and migrate the database:

cd /opt/redmine/
sudo bundle exec rake generate_secret_token
sudo RAILS_ENV=production bundle exec rake db:migrate

5. Set the correct Permissions

Nginx runs as www-data user and group. Set the correct permissions by issuing following chown command:

sudo chown -R www-data: /opt/redmine/

Configure Nginx

By now, you should already have Nginx with SSL certificate installed on your system, if not check the prerequisites for this tutorial.

Open your text editor and create the following Nginx server block file:

sudo nano /etc/nginx/sites-available/example.com

/etc/nginx/sites-available/example.com

# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;

include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}

# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;

return 301 https://example.com$request_uri;
}

server {
listen 443 ssl http2;
server_name example.com;

root /opt/redmine/public;

# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;

# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;

passenger_enabled on;
passenger_min_instances 1;
client_max_body_size 10m;
}

Don’t forget to replace example.com with your Redmine domain and set the correct path to the SSL certificate files. The snippets used in this configuration are created in this guide .

Enable the server block by creating a symbolic link to the sites-enabled directory:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Before restarting the Nginx service make a test to be sure that there are no syntax errors:

If there are no errors the output should look like this:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Finally, restart the Nginx service by typing:

sudo systemctl restart nginx

Accessing Redmine

Open your browser, type your domain and assuming the installation is successful, a screen similar to the following will appear:

The default login credentials for Redmine are:

  • Username: admin
  • Password: admin

When you login for the first time, you will be prompted to change the password as shown below:

Once you change the password you will be redirected to the user account page.

Conclusion

You have successfully installed Redmine on your Ubuntu system. You should now check the Redmine Documentation and learn more about how to configure and use Redmine.

If you hit a problem or have a feedback, leave a comment below.

Source

Mindustry, an open source sandbox Tower Defense game that’s a little like Factorio

Mindustry is a free and open source Tower Defense game that pulls in elements rather similar to Factorio and it seems like it could be quite good.

Available under the GPL, the developer originally made it for the GDL Metal Monstrosity Jam which happened back in 2017 and it ended up winning! Seems the developer didn’t stop development after this, as they’re currently going through a new major release with regular alpha builds.

You can find the game in various places. It’s on GitHub, itch.io (where the developer takes donations) and more info on the official site.

Much like Factorio, you build various drills and conveyor belts to move resources around and power various devices. It’s quite different though, since the main aim here is to protect your Core building as it’s a Tower Defense title. It’s a little rough in places, but the idea is a good one if not totally original. The newer UI in the latest alpha builds looks a lot nicer too!

Rather liked what I saw from it, so I will be following development along now. I’ve got it nicely installed with the excellent and open source itch.io app along with following it on GitHub so I will keep checking it out.

Hat tip to g000h.

Source

Download Common UNIX Printing System Linux 2.2.10

Common UNIX Printing System (CUPS) is an open source and cross-platform project designed from the ground up to offer a printing layer for UNIX-like operating systems, including GNU/Linux, BSD, Solaris, Mac OS X and Microsoft Windows.

The Common UNIX Printing System project has been developed by Apple, the company behind the Macintosh systems, in order to promote a standards-compliant printing solution for all UNIX/Linux vendors and users.

Supports both local and network printers

It has been engineered to support both local and network printers, thanks to the IP-based protocol called IPP (Internet Printing Protocol), which will also allow the management of print jobs and supports encryption, authentication and access control.

The software will allow users to add printers and classes, change media size and resolution, as well to manage operation policies. In addition, users can learn how to print directly from the command-line.

Offers a modern, tabbed web-based interface

CUPS offers a modern, tabbed interface that can be accessed with any web browser, as long as it is properly configured. This printing administration interface allows users to find and add new printers, manage existing printers, add and manage printing classes, as well as to add printing jobs.

In addition, it lets users to add RSS subscriptions, edit the configuration file, as well as to view the access, error and page logs. It is also possible to enable or disable sharing of printers connected to the system, printing from the Internet, remote administration, Kerberos authentication, and much more.

It comes with a comprehensive documentation that will help developers the ways of CUPS programming (CUPS API, filter and backend programming, HTTP and IPP APIs, PPD API, Raster API, etc.).

It’s supported on all GNU/Linux operating systems

The program can be easily installed from the default software channels of any GNU/Linux operating system. It is comprised of a daemon that will start automatically after the installation, as well as a web-based interface.

Source

Top Tips for Aspiring Web Developers – NoobsLab

If you have the ambition to become a successful web developer, then, congratulations. Web app development is one of the most rewarding tech roles today with the chance to create new and exciting experiences for users that can enrich everyday life for people worldwide. One thing is for certain, it is not an easy road to learn how to code but, once you have learnt the ropes, you will feel hugely fulfilled in a role that allows you to let those creative juices flow.

If you are looking for some advice and guidance to help you on your way to becoming a successful web developer, you’ve come to the right place. These proven tips will help you on your way to development delight:

Focus on open-source projects

As we’re a portal geared towards open-source development, we’re naturally going to bang the drum about the benefits of getting involved in open-source projects. There are so many fantastic open-source projects that are still going strong today – WordPress, Android and even Ubuntu/Linux to name but a few. Open source projects will give you direct hands-on experience, allowing you to build your own portfolio of work and network with other like-minded developers too.

Master one programming language at a time

A cardinal sin that many beginner web developers make is to try to dabble in multiple programming languages at once. This is a one-way ticket to confusedville, as you’ll feel like you’re getting nowhere with any of them. Learn one language or framework at a time to give yourself a real confidence boost; it can be hugely beneficial to feel that you’re picking new skills up fast. Having expertise in a few niche languages will be far more beneficial to being viewed as a jack of all trades in many throughout your career.

Don’t underestimate the importance of web security

In an age where external and internal threats to online applications are greater and more sophisticated than ever before, any aspiring web developer should be conscious about application security when building new online services. Admittedly, the management of these threats is effectively a full-time job. That’s why beginner web developers should familiarize themselves with the concept of a web application firewall (WAF) that guards against application layer attacks 24/7. A WAF is normally offered as a managed service by a third-party and can be deployed quickly without the need for hardware or software changes to your web app.

Accept that debugging is part and parcel of web development

Unfortunately, programming a web application can be frustrating at times. It very rarely goes 100% to plan. There will be occasions when your code simply won’t work, and you are left scratching your head with the deadline to launch ticking ever closer. If you want to be a successful web developer, you must accept that some of your time will have to be spent debugging. Knowing how to debug properly and efficiently is a key skill. It can save you time and money. The simplest way to tackle debugging sessions is to begin from the line that appears to be faulty and rollback from there. You could also consider time tracebacks to monitor your most recent code changes.

Being a web application developer gives you the chance to design and build solutions to real-world problems. As an aspiring web developer, you should always ask questions, build, study and then ask some more questions. Dedication is the key.

Source

Oracle Q&A. A Refresher on Unbreakable Enterprise Kernel

UEK

UEK is a Linux kernel that Oracle created to address the needs of customers running demanding software such as Oracle Database on large scale systems.

Oracle caused quite a stir in 2010 when it announced its Unbreakable Enterprise Kernel for Oracle Linux. We’ve checked in with Sergio Leunissen, Vice President, Linux and VM Development at Oracle, for an update on the ABCs of this important introduction as well as the company’s latest take on Linux.

Linux Foundation: First, please remind us what exactly is the Unbreakable Enterprise Kernel (UEK)?

Leunissen: UEK is a Linux kernel Oracle created to address the needs of customers running demanding software such as Oracle Database on large scale systems. Its focus is performance, stability, and minimal backports by tracking the upstream kernel code as closely as is practical. UEK is well-tested and used to run Oracle Engineered Systems, Oracle Cloud Infrastructure, and large enterprise deployments for Oracle customers. The source for UEK is published on GitHub: https://github.com/oracle/linux-uek

LF: Who is seeing the biggest benefit from the UEK?

Leunissen: First, it goes without saying that customers running Oracle software benefit from our development and testing of Oracle Database and middleware on tens of thousands of systems running Linux with UEK on a daily basis. Add to that the demands of running the infrastructure for Oracle Cloud running SaaS applications, databases, containers and Kubernetes clusters, etc. Our customers can take comfort in knowing that the kernel they run is the same one we run.

But, by no means do only Oracle customers benefit. Our kernel team adds features (to) and fixes bugs in subsystems that span the Linux kernel, including networking, block storage, filesystems, etc. This development will benefit any workload relying on the kernel’s overall ability to handle lots of memory, network, and I/O.

Finally, because UEK tracks upstream kernels so closely, the bugs we find and fix are relevant to the mainline Linux kernel.

LF: The Unbreakable Enterprise Kernel is touted as fast, modern and reliable. Can you elaborate on these benefits?

  • Fast – Optimized to run well on large systems with lots of memory and large storage systems. Works well with modern solid state storage.
  • Modern – tracking mainline Linux closely to incorporate the latest innovations
  • Reliable – Extensively tested by Oracle with real world workloads

Most customers we work with must stick to specific releases of core userspace components but do want to exploit innovations from upstream development efforts. With UEK, we are able to balance an enterprise support model with a Linux kernel that syncs up with mainline more frequently.

LF: How much emphasis do you put on security in your kernel development work?

Leunissen: Oracle is a cloud provider that contributes to Linux. Oracle Linux is the host OS for most of the Oracle application and infrastructure offerings. As such, we work closely with our cloud development team to build a scalable Linux platform with virtualization and container services without compromising on security. UEK is a key part of this.

LF: The Linux kernel developers at Oracle work both on mainline directly and UEK, can you explain how this works?

Leunissen: As mentioned above, we publish the source for UEK on GitHub. Keeping our changes open source enables us to integrate with upstream Linux kernels quickly, which also means we have state-of-the-art drivers and filesystems, hardware support, and security fixes from the community. And, again, because UEK tracks upstream kernels so closely, we don’t spend a lot of time addressing bugs that are unique to the kernel as it relates to Oracle’s efforts. Rather, our fixes are relevant to upstream kernels as well.

LF: Are there particular development projects you are working on that you’d like to highlight?

Leunissen: As a cloud provider, containers and virtualization are important to Oracle. We do a lot of work on KVM and QEMU. For example, we are doing work to make sure Xen VM guests can run as is on a KVM host. Recently we’ve been working on Kata containers (previously Clear Containers), which is a deployment model for applications that combines the isolation of VMs with the speed, footprint, and interaction model of containers. Also, with UEK powering tens of thousands of systems in our cloud, we are doing work to improve the startup time performance for Linux systems by parallelizing kernel boot-time tasks, shaving precious seconds off the startup time for bare metal and virtualized workloads. Finally, it would be remiss not to point out that we are actively working on Linux for ARM with the focus to provide a high-quality Linux OS for 64-bit ARM (aarch64)-based servers.

Source

SUSE Cloud Application Platform v1.3 released

Share with friends and colleagues on social media

SUSE Cloud Application Platform Stratos UI

SUSE Cloud Application Platform showing Kubernetes node metrics

SUSE Cloud Application Platform v1.3 is now available! If you’re in Seattle for Kubecon this week, be sure to stop by our booth for a new pair of socks, a demo, or to learn more. The new version focuses on our continuing effort to provide a cloud native developer experience to Kubernetes users, an improved UI, additional services brokers, and more.

You can now graphically track metrics and see into the underlying Kubernetes infrastructure with an updated version of Stratos UI. Stratos is a UI web console that manages Cloud Foundry clusters, and the workloads running on them, and is adding additional Kubernetes integration with each release. In this newest version, application and Kubernetes pod attributes such as CPU and memory usage are tracked in a graph over time, and the status of the underlying Kubernetes cluster is now available.

Easily connect to a broad range of services with open source service brokers for services hosted on Azure and Amazon, including MariaDB, MySQL, Oracle, PostgreSQL, SQL Server, and more. For development and testing purposes, the Helm Minibroker provisions services in containers on your Kubernetes cluster. It currently supports MySQL, PostgreSQL, MariaDB, and MongoDB.

New support for CredHub allows you to centrally secure and manage credential generation, storage, lifecycle management, and access. CredHub manages credentials like passwords, certificates, certificate authorities, ssh keys, rsa keys and arbitrary values (strings and JSON blobs). It provides a CLI and API to get, set, generate and securely store credentials.

SUSE Cloud Application Platform supports Amazon EKS, Azure AKS, and SUSE CaaS Platform. Support for additional public cloud Kubernetes services to follow.

Don’t forget that additional Kubernetes integration is coming soon with support for the Cloud Foundry Foundation’s Project Eirini along with Istio!

 

Share with friends and colleagues on social media

Source

Amber Is A Cool Ambiance-Inspired Gtk / Gnome Shell Theme

Amber Gtk theme

Amber is a Gtk+ 3, Gtk+ 2 and Gnome Shell theme inspired by Ubuntu’s Ambiance theme.

Amber uses slightly different colors than Ambiance, and no gradients for the applications toolbar, while still reminding of the ex-default Ubuntu theme (Ambiance was default until Ubuntu 18.10, when the default theme was changed to Yaru).

The theme only supports Gnome (Shell) right now, with Gtk 3.22 or newer being required (Ubuntu 18.04 and newer / Fedora 28 or newer). Update: the theme now also supports Xfce (Xfwm4):

Amber theme Xfce

Designed by Mattias (lassekongo83), known for his work on the beautiful Zuki themes, Amber ”

is almost finished

“, with some polishing being on the todo list, or so it says on its repository page. The theme looks great on my Ubuntu 18.10 desktop (with Gtk 3.24 and Gnome Shell 3.30), and I’ve been using it for about a week with no issues.

Amber Gtk theme

Amber Gnome Shell theme

You’ll notice that the theme comes with its own Dash to Dock (and Dash to Panel) running indicator style – the line to the left of the running applications. Ubuntu uses a fork of Dash to Dock that doesn’t allow disabling the default running indicator, so you’ll get both the Amber theme running indicator, as well as the one used by the Ubuntu Dock extension.

One way around this is to install the original Dash to Dock and disable it, then change its settings using Dconf Editor (org / gnome / shell / extensions / dash-to-dock / running-indicator-style) – changing its settings should affect not only the original Dash to Dock, but also Ubuntu Dock. Another way is to remove or disable the Ubuntu Dock and use the original Dash to Dock or Dash to Panel, which are much more customizable. This is only a minor inconvenience though.

Other Gtk themes you might like:

Install Amber Gtk / Gnome Shell theme

To install Amber, visit its GitHub repository, click the green Clone or download button, then click on Download ZIP. Extract the theme and copy the theme folder into ~/.themes. Create this folder if it doesn’t already exist (.themes is a hidden folder – press Ctrl + H to show/hide hidden files and folders).

Those who prefer to do this from the command line can run the commands below to create the ~/.themes folder, download and extract the theme, and remove the downloaded master.zip file:

mkdir -p ~/.themes && cd ~/.themes

wget https://github.com/lassekongo83/amber-theme/archive/master.zip

unzip master.zip

rm master.zip
If you’re familiar with Git, get the theme using Git so you can easily update it later.

The theme requires installing the Murrine and Pixbuf engines for Gtk+ 2. While there are very few applications that use Gtk+ 2 nowadays, it’s a good idea to install these anyway.

On Ubuntu or Debian you can install the Murrine and Pixbuf Gtk+ 2 engines using:

sudo apt install gtk2-engines-murrine gtk2-engines-pixbuf
On Fedora, use:

sudo dnf install gtk2-engines gtk-murrine-engine
On other Linux distributions, search for Murrine and Pixbuf using your package manager.

And finally, use the Gnome Tweaks application to change the applications and/or the shell theme. If you’re not familiar with this, see: How To Change The Gtk, Icon Or Gnome Shell Theme

Source

Tis the Season for My Top 10 Predictions for 2019

Share with friends and colleagues on social media

Tis the season for spending time with loved ones, reminiscing about the past year and of course, technology forecasts and predictions. Whether we like it or not, nothing ever stays the same, in life and in business. My kids get older, their personalities mature and as a parent, I have to evolve the way I interact with them. It is the same for business, customer expectations continue to evolve, new technologies are developed to push the envelope and all of that leads to continuous transformation of our business, our people, our processes and of course, the technology and infrastructure.

As I started thinking about expectations for the coming year, I was struck with a strange feeling of déjà vu. Much of what’s on my list for 2019 is remarkably similar to last year. But there is a difference. Much of what might have been considered emerging technology 12 months ago is now maturing nicely and ready for more mainstream adoption. And for many of the items on my list, that has happened remarkably quickly.

Here are my predictions for 2019:

1. More major cybersecurity breaches

No real surprise here. Serious data hacks seem to be coming thick and fast. Marriott is the latest to hit the news with the second biggest hack of all time. Here’s a serious reality check: If you haven’t got a strong security plan and measures in place already, it may already be too late.

2. Major business failures will again hit the headlines

Household names and brands disappearing is nothing new. Toys R Us filed for bankruptcy in 2018 and while there are efforts to save it, it is a good example of how a company must evolve to stay relevant. Expect more of them to fall, if they miss the opportunity to adapt and transform. Make sure you’re not one of them.

3. Accelerated Artificial Intelligence (AI) and Machine Learning (ML) application development and adoption

Organizations of all types and sizes have now bought into the productivity, efficiency and customer experience improvements to be gained from AI and ML. Leveraging high-performance computing, AI and ML underpin many of the tech trends I highlighted in 2018 including AR/VR, autonomous vehicles/drones, big data/analytics and robotics. Greater investment and focus in both these areas will surely follow.

4. The Internet of Things (IoT) is set to take off

But don’t expect IoT growth to be consumer-led – at least not yet. With IoT security improving and related technologies maturing, business IoT is my bet for a major expansion in 2019, with manufacturing, healthcare, retail and utilities at the forefront.

5. Expect to see more autonomous vehicles

They’re on our roads already in pilot programs. Over the next year, watch out for more real-world testing of cars, trucks and public transport, as well as industrial and farming vehicles.

6. Containers will make implementing hybrid/multi-cloud easier

Containerized applications and workloads are increasingly at the heart of development projects. Kubernetes and DevOps are now mainstream. Monolithic applications have had their day. Containers make it easier to implement a hybrid and multi-cloud strategy by deploying, moving or expanding cloud-native applications to your cloud platform of choice, even straddling cloud boundaries as needed.

7. Anticipate a new raft of technology-related acquisitions

More traditional, legacy businesses will be looking to buy innovation, new technologies and expertise in order to keep up with shifting market dynamics and in a move to avoid becoming irrelevant to their customer base.

8. Mobile devices will become even more indispensable to our lifestyle

Let’s be honest, most of us would be lost without our mobile phone, smartwatch or fitness tracker already. They’re how we now expect to interact with the world around us and how we want new real-time services delivered. Unfortunately, there is a downside. We are going to be even more glued to our devices.

9. Blockchain is finally going to deliver some business value.

While Blockchain is often maligned by many, there are new and valid use cases on the horizon that will help change perceptions. I expect interest to grow from government agencies, the finance sector, manufacturing, retail and the IoT world.

10. Open source software will continue to thrive and play a pivotal role in all of these predictions

Why? Because open source communities have become the vanguard of innovation. Open source software plays a pivotal role in all the dominant technology trends and is increasingly relied on by enterprise businesses around the globe.

Let me leave you with one more prediction.

At this time of year, it seems like everyone starts forecasting what the next year might bring. I predict that very few of them will get checked later to see if they were on the money or whether they missed the mark.

I’ll be checking mine from time to time throughout the year. I invite you to do the same.

Please feel free to send me your comments, observations or even your own predictions.

 

Share with friends and colleagues on social media

Source

WP2Social Auto Publish Powered By : XYZScripts.com