Open-source News

Debian 11.6 Released For The Latest "Bullseye" Packages

Phoronix - Sun, 12/18/2022 - 03:04
While Debian 12.0 "Bookworm" will hopefully be out around mid-2023, Debian 11.6 is out this weekend as the newest point release to the current Debian 11 "Bullseye" stable series...

Apache SpamAssassin 4.0 Released With Many Improvements For Fighting Spam

Phoronix - Sat, 12/17/2022 - 20:53
After years of work the Apache project SpamAssassin has released its much-improved SpamAssassin 4.0 open-source software...

Initial AMD Zen 4 Enablement Lands In LLVM Clang 16.0

Phoronix - Sat, 12/17/2022 - 20:17
As of today the LLVM Git compiler finally has initial support for AMD Zen 4 CPUs with the -march=znver4 option now wired up for Ryzen 7000 series and EPYC 9004 series processors...

Linus Torvalds Bashes Intel's LAM - Rejected For Linux 6.2

Phoronix - Sat, 12/17/2022 - 19:32
Linus Torvalds can be known for his hardware commentary at times like hoping AVX-512 "dies a painful death", Intel's "bad policies" around ECC memory, and giving NVIDIA the finger. The latest colorful commentary by the Linux creator is around Intel's new Linear Address Masking (LAM) feature that aimed to land in Linux 6.2 but is now delayed until the code can be reworked...

Intel Open-Source Vulkan Driver Sees New Work On Vulkan Video Extensions

Phoronix - Sat, 12/17/2022 - 18:48
After recently getting H.264 and H.265 video decode working for the Mesa RADV Vulkan driver with the current Vulkan Video extensions, David Airlie of Red Hat resumed his prior work on enabling the Vulkan Video extensions for the open-source Intel "ANV" driver too...

Linux 6.2 Adds Sony DualShock 4 Controller Support To Newer PlayStation Driver

Phoronix - Sat, 12/17/2022 - 18:40
As written about last month, Sony has been working on adding DualShock 4 controller support to their newer PlayStation HID driver in Linux. The DualShock 4 controller has long been supported under the older "hid-sony" driver but now with Linux 6.2 the support can also be found under "hid-playstation"...

KDE Lands Wayland Fractional Scaling Support

Phoronix - Sat, 12/17/2022 - 18:24
As a wonderful Christmas gift to KDE Plasma users on Wayland, fractional scaling under Wayland has been successfully merged...

How I wrote an open source video game for Open Jam in a weekend

opensource.com - Sat, 12/17/2022 - 16:00
How I wrote an open source video game for Open Jam in a weekend Jim Hall Sat, 12/17/2022 - 03:00

Every year, Itch.io hosts Open Jam, a game jam where developers build an open source video game over a weekend. This year's Open Jam ran from October 28th to October 31st.

Open Jam is a friendly competition with no prizes, which makes it a great opportunity to try new things, experiment with a new game idea, or learn a new programming language. While projects don't necessarily need to be built with open source tools, the game submission needs to have an open source license. Entries in Open Jam get "karma" or bonus points for how open source the game is, such as how many open source tools were used to create it or running on an open source operating system.

Each Open Jam has a specific theme, and this year's theme was "Light in the Darkness." It's up to each developer to interpret how to apply that theme to their own game. I entered the Open Jam with a game called the Toy CPU, a simulation of a simple computer that you program using "switches and lights," similar to an old-style Altair 8800 or IMSAI 8080.

Image by:

(Jim Hall, CC BY-SA 4.0)

The Toy CPU did well in the competition, ranking second out of the six entries submitted to Open Jam. While voting was light this year, it was still pretty cool to see the game do so well.

Writing the game over a weekend for Open Jam was a lot of fun. Looking back on the experience, I wanted to share three lessons about how to write a game in such a short time. These lessons apply to developing any kind of program, not just games.

Manage the scope

A few days isn't a lot of time to write a new game. To be successful, you need to be realistic about how much you can really accomplish in that limited time. What features you can realistically implement will affect the design and goals of the game.

Keep things simple to manage the scope. A narrow focus will help you to complete the game by the deadline. Avoid the temptation to add new features until you've completed the original goals.

Programming and development Red Hat Developers Blog Programming cheat sheets Try for free: Red Hat Learning Subscription eBook: An introduction to programming with Bash Bash shell scripting cheat sheet eBook: Modernizing Enterprise Java An open source developer's guide to building applications It takes planning

Open Jam doesn't announce the theme ahead of time so you need to wait until Open Jam starts before you can figure out what you want to do. But when the goals are made clear, take some time out to consider what you want to do, and what the goals should be.

This is the same for any project. Before you can map out a plan, you need to know where you're going. The goals of the project help define what you need to do to get there.

Experiment with prototypes

The Open Jam was not the first time I'd written the Toy CPU, although it was the first time I'd written a complete version of it. I have an interest in retrocomputing, and several months ago I wrote a prototype of a similar computer, although it lacked the ability to enter a program using the "lights and switches" model.

This rough prototype was enough to inform me how I might write a more complete Toy CPU — and in fact, I later updated the prototype to run on Linux using ncurses. This "version 2" prototype helped me to figure out how a user might interact with the Toy CPU to enter a program using the "lights and switches."

I planned to rewrite the Toy CPU as a graphics-mode FreeDOS program, but never found the time. When Open Jam announced the "Light in the Darkness" theme, I realized this was a perfect opportunity to rewrite a completely new version of the Toy CPU, building on what I'd learned during prototyping.

You can find the complete source code to the Toy CPU on my GitHub repository. The Toy CPU is open source software under the MIT license.

I made a video game inspired by old-style Altair 8800 for this year's Open Jam.

Image by:

Cicada Strange on Flickr, CC BY-SA 2.0

Gaming What to read next A guide to building a video game with Python This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

Travel back in time with the mc file manager on Linux

opensource.com - Sat, 12/17/2022 - 16:00
Travel back in time with the mc file manager on Linux sethkenlon Sat, 12/17/2022 - 03:00

In the late 1980s and throughout the 1990s, there was a popular file manager for DOS called Norton Commander. It was beloved by many computer users of the day, but it fell out of favor as graphical file managers became the default. Fortunately for fans of the original commander, and those who missed out on the original, an open source file manager with a similar design was released, called Midnight Commander or, more commonly, just mc.

Image by:

(Seth Kenlon, CC BY-SA 4.0)

The mc file manager exists in a terminal, but it feels like a modern keyboard-driven application with intuitive actions and easy navigation. It starts with an efficient design. Most file management tasks involve a source location and a destination, so it makes sense that your file manager has a persistent view of one location where your files are now and another location where you want your files to be. If you try it for a while, you do start to wonder why that's not the default configuration of every file manager, especially when you consider how much wasted horizontal space there often is in the typical file listing.

3 essential commands for the mc file manager

There are only three things you need to know to get started with mc:

  • Tab switches between panels.

  • Arrows do what you think they do. Up and Down selects, Left goes back. The Right descends into the selected folder.

  • Ctrl+O (that's the letter "o", not the number zero) toggles between the mc interface and a full terminal.

Like GNU Nano, all the most common actions for mc are listed at the bottom of the terminal window. Each action is assigned to a Function key (F1 to F10,) and any action you perform applies to whatever you have currently selected in your active pane.

Using mc

Launch mc from a terminal:

$ mc

Your terminal is now the mc interface, and by default, it lists the contents of your current directory.

More Linux resources Linux commands cheat sheet Advanced Linux commands cheat sheet Free online course: RHEL technical overview Linux networking cheat sheet SELinux cheat sheet Linux common commands cheat sheet What are Linux containers? Our latest Linux articles Open a file

One of the reasons you use a file manager is to find a file and then open it. Your desktop already has default applications set, and mc inherits these preferences (or most of them), so press Return to open a file in its default application. There are exceptions to mc's behavior when opening a file. For instance, a text file doesn't open by default in a graphical text editor, because mc instead expects you to use its internal editor (F4) instead. Images and videos and other binary files, however, default to your desktop settings.

Should you need to open a file in something other than its default application, press F2 and select Do something on the current file (or just press @) and type in the name of the application you prefer to launch.

For instance, say you have a file called zombie-apocalypse.txt and you want to edit it specifically in Emacs:

  1. Use the arrow keys to select zombie-apocalypse.txt
  2. Press F2 and then @
  3. Type emacs

You don't have to specify which file you want to open in Emacs, because mc runs the command you type on the file you have selected.

Copy or move a file

To copy or move a file, select it from the file list and press the F5 key. By default, mc prompts you to copy (or move) your active selection from to the location shown in the non-active panel. A dialogue box is provided, though, so you can manually enter either the source or the destination if you change your mind after starting the operation.

Selecting files

Your current position in a file list is also your current and active selection. To select more than one file at a time, press the Shift key and move your selection up or down the files you want to include in your selection. Items in your selection are indicated with a color different from the other files listed. What color mc uses depends on your color scheme.

You can deselect just one file from the middle of a selected block by moving to that item and pressing Shift and Up or Down.

Menu

There are just ten actions listed at the bottom of the mc interface, but it can do a lot more than that. Press F9 to activate the top menu, using the arrow keys to navigate each menu. From the File menu, for instance, you can create symlinks, change file modes and permissions, create new directories, and more.

Additionally, you can press F2 on any selection for a contextual menu, allowing you to create compressed archives, append a file to another one, view man pages, copy files to a remote host, and more.

Cancel an action

When you find yourself backed into a corner and in need of a panic button, use the Esc key.

Install mc

On Linux, you're likely to find mc in your Linux distribution's software repository. On Fedora, CentOS, Mageia, OpenMandriva, and similar:

$ sudo dnf install mc

On Debian and Debian-based systems:

$ sudo apt install mc

On macOS, use Homebrew or MacPort.

Take mc for spin. You might discover a new favorite way to use your Linux terminal!

The Midnight Commander file manager exists in a Linux terminal, but it feels like a modern keyboard-driven application with intuitive actions and easy navigation.

Linux 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.

Hardware Monitoring Driver Updates Land In Linux 6.2

Phoronix - Sat, 12/17/2022 - 13:00
The hardware monitoring "HWMON" subsystem updates were merged earlier this week for the ongoing Linux 6.2 merge window...

Pages