Open-source News

XWayland Lands Fix For At Least One Game Hanging It & Causing 100% CPU Usage

Phoronix - Mon, 03/27/2023 - 19:02
While XWayland is in fairly good shape for enjoying both native and emulated games relying on X11 to run atop Wayland compositors for Linux gaming, occasionally different peculiar issues are uncovered. The most recent issue analyzed and addressed in XWayland Git is over the game Resident Evil 6 causing XWayland to hang and consume 100% of the CPU resources on launching that title...

OBS Studio Lands AV1 & HEVC RTMP Streaming Support

Phoronix - Mon, 03/27/2023 - 18:44
In time for OBS Studio 29.1, the Veovera Software Organization non-profit has contributed support for AV1 and HEVC streaming via RTMP so that gamers and other creators can stream their content to the YouTube RTMP server using these newer video formats...

FreeBSD 13.2-RC5 Released With One Last Fix

Phoronix - Mon, 03/27/2023 - 18:30
FreeBSD 13.2-RC4 was released this weekend while it's already been replaced by FreeBSD 13.2-RC5 to land one more fix prior to making the final release preparations on this next stable update to this BSD operating system...

How To Install and Use Android Debug Bridge (adb) in Linux

Tecmint - Mon, 03/27/2023 - 15:56
The post How To Install and Use Android Debug Bridge (adb) in Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides .

Android Debug Bridge (adb) is the most used command-line tool that enables communication between a personal computer and a connected Android-powered device or emulator instance over a USB cable or TCP/IP (wirelessly). It supports

The post How To Install and Use Android Debug Bridge (adb) in Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides.

Use this open source accounting app to run your small business

opensource.com - Mon, 03/27/2023 - 15:00
Use this open source accounting app to run your small business Don Watkins Mon, 03/27/2023 - 03:00

GnuCash is a powerful and flexible accounting tool that can be used for small business invoicing and accounting. It has a number of features that make it particularly well-suited for this purpose, including the ability to track expenses and income, generate reports, and manage invoices. Additionally, GnuCash is free and open source, which makes it accessible to small businesses with limited resources. In this article, I discuss the features of GnuCash that make it easy for you to get started using it in your own small business.

I began using GnuCash a number of years ago for my personal finances but found it could also function as a useful tool for my small business too. I'd been using a proprietary solution for much of the life of my business. I grew tired of being forced to upgrade periodically to get access to my invoices and statements for my small business. Moving to GnuCash gave me the ability to integrate my small business accounting with my personal finances without sacrificing any features.

Install GnuCash on Linux

You can install GnuCash from your software repository. On Debian, Elementary, and similar:

$ sudo apt install gnucash

On Fedora, CentOS, Mageia, and similar:

$ sudo dnf install gnucashGnuCash for business

GnuCash comes with an account setup wizard that can help you build a common business account configuration. To access it:

  1. Start GnuCash.
  2. Click on the File menu and select New File.

Follow the GnuCash Assistant that appears on screen to create your new business account file.

The onscreen instructions guides you through the process of setting up your business. Click on Next in the top right corner of the Assistant window. You're prompted to enter a company name, address, contact information, and a company ID of your own choosing. You must also choose a default tax table and a date format.

The next screen prompts you to choose the currency, and there are a large number of currencies supported.

Then you're prompted to choose the accounts you want to create. Select the option to create Business Accounts. You can always customize the list of accounts, and GnuCash provides copious documentation to help you better customize it to your individual needs.

Complete the assistant, then click Apply in the top right-hand corner of the GnuCash Assistant window.

Adding customers

The top menu of GnuCash has a menu item labeled Business. The first item on that menu is Customers, followed by Customers Overview. This is where you can view a list of all your customers.

The next item is New Customer. This is where you enter new customers. The dialog box provides a place for customer information, including billing information, shipping address, email address, telephone number, and more.

Our favorite resources about open source Git cheat sheet Advanced Linux commands cheat sheet Open source alternatives Free online course: RHEL technical overview Check out more cheat sheets Create an invoice

After adding a customer, you can begin the process of creating invoices. Click on the Business menu, select Customer, and then New Invoice.

Payment processing is easy too. This is located in the Business menu. Select Customer, and then Process Payment.

You're in business

The Business menu also includes options for entering vendors and employees, should your business require that information. There's a menu item for sales tax and many other options to ensure you're compliant with local expectations.

With GnuCash, your data isn't stored in a proprietary format, so you can migrate to any other platform in the future if you need to. Open standards for data storage, especially when that data is a legal requirement, are important and allow you to have full possession of your business history. Using GnuCash puts you in control of your small business.

Keep track of customers and invoices with GnuCash.

Image by:

Opensource.com

Alternatives Business What to read next This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

Create a ChatBot in Mattermost with Python

opensource.com - Mon, 03/27/2023 - 15:00
Create a ChatBot in Mattermost with Python DrMJG Mon, 03/27/2023 - 03:00

ChatOps is a collaboration model that connects people, processes, tools, and automation into a transparent workflow. Mattermost is an open source, self-hosted messaging platform that enables organizations to communicate securely, effectively, and efficiently. It's a great open source alternative to Slack, Discord, and other proprietary messaging platforms. This article outlines the steps to create a ChatOps bot on Mattermost, including the necessary code examples and explanations.

Prerequisites

Before starting, ensure that you have access to a Mattermost server, have Python installed, and have installed the Mattermost Python driver using pip.

Create a bot account on Mattermost

To create a bot account, access the Mattermost System Console, and add a bot account with appropriate access permissions. Retrieve the bot's username and password for use in the Python script.

Set up the Mattermost Python driver

Install the Mattermost Python driver using pip, and import it in the Python script. Create a new driver instance and log in to the Mattermost server.

Create the ChatOps bot in Python

Create a new Python script, define the necessary libraries to be imported, and implement the bot's functionality using the Mattermost driver's API. Write code to handle messages, commands, and other events, and use the Mattermost driver's API methods to send messages and notifications to channels and users. Finally, debug and test the ChatOps bot.

Example of ChatOps bot code

Here is an example Python code for a simple ChatOps bot that responds to a user's message:

from mattermostdriver import Driver bot_username = 'bot_username' bot_password = 'bot_password' server_url = 'https://your.mattermost.server.url' def main(): driver = Driver({'url': server_url, 'login_id': bot_username, 'password': bot_password, 'scheme': 'https'}) driver.login() team = driver.teams.get_team_by_name('team_name') channel = driver.channels.get_channel_by_name(team['id'], 'channel_name') @driver.on('message') def handle_message(post, **kwargs): if post['message'] == 'hello': driver.posts.create_post({ 'channel_id': post['channel_id'], 'message': 'Hi there!' }) driver.init_websocket() if __name__ == '__main__': main()

More Python resources What is an IDE? Cheat sheet: Python 3.7 for beginners Top Python GUI frameworks Download: 7 essential PyPI libraries Red Hat Developers Latest Python articles Add features

Once you've created a basic ChatOps bot on Mattermost, you can add more features to extend its functionality. Here are the steps:

  1. Determine the feature you want to add: Before writing the code, you must determine the feature to add to your ChatOps bot. This can be anything from sending notifications to integrating with third-party tools.

  2. Write the code: Once you have determined the feature you want to add, you can start writing the code. The code will depend on the feature you add, but you can use the Mattermost Python driver to interact with the Mattermost API and implement the feature.

  3. Test the code: After writing the code, it's important to test it to ensure that it works as expected. Before deploying it to your production server, you can test the code on a development server or in a test channel.

  4. Deploy the code: Once you have tested it and it works as expected, you can deploy it to your production server. Follow your organization's deployment process and ensure the new code doesn't break any existing functionality.

  5. Document the new feature: It's important to document the new feature you have added to your ChatOps bot. This will make it easier for other team members to use the bot and understand its capabilities.

One example of a ChatOps Bot feature could be integrating with a third-party tool and providing status updates on certain tasks.

from mattermostdriver import Driver import requests bot_username = 'bot_username' bot_password = 'bot_password' server_url = 'https://your.mattermost.server.url' def main(): driver = Driver({'url': server_url, 'login_id': bot_username, 'password': bot_password, 'scheme': 'https'}) driver.login() team = driver.teams.get_team_by_name('team_name') channel = driver.channels.get_channel_by_name(team['id'], 'channel_name') @driver.on('message') def handle_message(post, **kwargs): if post['message'] == 'status': # Make a request to the third-party tool API to get the status response = requests.get('https://api.thirdpartytool.com/status') if response.status_code == 200: status = response.json()['status'] driver.posts.create_post({ 'channel_id': post['channel_id'], 'message': f'The status is {status}' }) else: driver.posts.create_post({ 'channel_id': post['channel_id'], 'message': 'Failed to get status' }) driver.init_websocket() if __name__ == '__main__': main()

In this example, the ChatOps bot listens for the command "status" and makes a request to a third-party tool API to get the current status. It then posts the status update in the Mattermost channel where the command was issued. This allows team members to quickly get updates on the status of the task without having to leave the chat platform.

Open source ChatOps

In summary, creating a ChatOps bot on Mattermost is a simple process that can bring numerous benefits to your organization's communication and workflow. This article has provided a step-by-step breakdown and code examples to help you get started on creating your bot and even customize it by adding new features. Now that you know the basics, you can further explore ChatOps and Mattermost to optimize your team's collaboration and productivity.

Implement ChatOps in your organization with a simple open source bot.

Python Tools Alternatives What to read next This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

Red Hatters on 30 years of innovation, collaboration and community

Red Hat News - Mon, 03/27/2023 - 08:00
<p>It goes without saying that Red Hat has experienced a lot of change over the years. What was once a small company founded by entrepreneurs and techies Bob Young and Marc Ewing is now a global leader in open source technology and innovation. As we reflected upon the last three decades and took a look back at all we’ve learned and accomplished, a familiar story came to mind–how Red Hat got its name.&nbsp;</p> <p>Our company moniker comes directly from Ewing. As a student in this college computer lab, people would say, “If you need hel

Red Hat 30th anniversary: Celebrating Red Hat Day in North Carolina

Red Hat News - Mon, 03/27/2023 - 08:00
<p>Thirty years ago the world looked very different. Grunge music was everywhere, the Dallas Cowboys won the Super Bowl, Jurassic Park was the highest-grossing film, the first Beanie Babies were sold, sun-dried tomatoes were the hottest food trend and Red Hat was incorporated.&nbsp;</p> <p>When Bob Young and Marc Ewing came together to create Red Hat, they couldn’t have imagined what the company would become and the impact it would ultimately have on enterprise IT. From our humble beginnings at our first corporate headquarters in Durham to

Linux 6.3-rc4 Released: "Looking Pretty Normal"

Phoronix - Mon, 03/27/2023 - 06:07
Linus Torvalds just announced the release of Linux 6.3-rc4 as we reach around the half-way point of the Linux 6.3 kernel's development cycle...

Mesa 23.0.1 Released With Many Fixes For Intel / AMD / Zink

Phoronix - Mon, 03/27/2023 - 05:41
It's been one month since the release of Mesa 23.0 while it's finally been succeeded by Mesa 23.0.1 as the first point release containing a wide variety of bug fixes throughout this ecosystem of open-source 3D graphics drivers...

Pages