Posted on Leave a comment

Humble Be A Creative Superhero Bundle on Now

There is a new Humble Bundle of interest to game developers, specifically the artists among us, in the form of the Be A Creative Superhero Bundle. The primary stars of this bundle are the suite of Corel graphics applications, specifically Painter 2020, Particle Shop and PaintShop, as well as Corel Draw Suite, which unfortunately is only a 6-month subscription. As with all Humble Bundles, this one is organized into tiers, and the tiers in this bundle are:

1$ Tier

  • AfterShot Standard

25$ Tier

  • PaintShop Pro 2020
  • ParticleShop + 11 Brushes
  • 6 extensions for PaintShop Pro

30$ Tier

  • Corel CAD 2019
  • Painter 2020
  • CorelDRAW Graphics Suite 2020 6-month sub
  • 10 Brush packs
  • Light Leak Scripts for PaintShop Pro 2020

It should be noted earlier versions of Painter have been featured in prior bundles, but never 2020. PaintShop 2020 was also featured in a prior bundle so be sure to check your Humble inventory before purchasing. As with all Humbles you get to decide how your money is allocated between Humble, charity, the publisher and if you so choose (and thanks so much if you do) to support GFS by using this link. You can learn more about this bundle in the video below.

[youtube https://www.youtube.com/watch?v=TWjnAEg7LZs?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Use dnsmasq to provide DNS & DHCP services

Many tech enthusiasts find the ability to control their host name resolution important. Setting up servers and services usually requires some form of fixed address, and sometimes also requires special forms of resolution such as defining Kerberos or LDAP servers, mail servers, etc. All of this can be achieved with dnsmasq.

dnsmasq is a lightweight and simple program which enables issuing DHCP addresses on your network and registering the hostname & IP address in DNS. This configuration also allows external resolution, so your whole network will be able to speak to itself and find external sites too.

This article covers installing and configuring dnsmasq on either a virtual machine or small physical machine like a Raspberry Pi so it can provide these services in your home network or lab. If you have an existing setup and just need to adjust the settings for your local workstation, read the previous article which covers configuring the dnsmasq plugin in NetworkManager.

Install dnsmasq

First, install the dnsmasq package:

sudo dnf install dnsmasq

Next, enable and start the dnsmasq service:

sudo systemctl enable --now dnsmasq

Configure dnsmasq

First, make a backup copy of the dnsmasq.conf file:

sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

Next, edit the file and make changes to the following to reflect your network. In this example, mydomain.org is the domain name, 192.168.1.10 is the IP address of the dnsmasq server and 192.168.1.1 is the default gateway.

sudo vi /etc/dnsmasq.conf

Insert the following contents:

domain-needed
bogus-priv
no-resolv
server=8.8.8.8
server=8.8.4.4
local=/mydomain.org/
listen-address=::1,127.0.0.1,192.168.1.10
expand-hosts
domain=mydomain.org
dhcp-range=192.168.1.100,192.168.1.200,24h
dhcp-option=option:router,192.168.1.1
dhcp-authoritative
dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases

Test the config to check for typos and syntax errors:

$ sudo dnsmasq --test
dnsmasq: syntax check OK.

Now edit the hosts file, which can contain both statically- and dynamically-allocated hosts. Static addresses should lie outside the DHCP range you specified earlier. Hosts using DHCP but which need a fixed address should be entered here with an address within the DHCP range.

sudo vi /etc/hosts

The first two lines should be there already. Add the remaining lines to configure the router, the dnsmasq server, and two additional servers.

127.0.0.1   localhost localhost.localdomain
::1         localhost localhost.localdomain
192.168.1.1    router
192.168.1.10   dnsmasq
192.168.1.20   server1
192.168.1.30   server2

Restart the dnsmasq service:

sudo systemctl restart dnsmasq

Next add the services to the firewall to allow the clients to connect:

sudo firewall-cmd --add-service={dns,dhcp}
sudo firewall-cmd --runtime-to-permanent

Test name resolution

First, install bind-utils to get the nslookup and dig packages. These allow you to perform both forward and reverse lookups. You could use ping if you’d rather not install extra packages. but these tools are worth installing for the additional troubleshooting functionality they can provide.

sudo dnf install bind-utils

Now test the resolution. First, test the forward (hostname to IP address) resolution:

$ nslookup server1
Server:       127.0.0.1
Address:    127.0.0.1#53
Name:    server1.mydomain.org
Address: 192.168.1.20

Next, test the reverse (IP address to hostname) resolution:

$ nslookup 192.168.1.20
20.1.168.192.in-addr.arpa    name = server1.mydomain.org.

Finally, test resolving hostnames outside of your network:

$ nslookup fedoramagazine.org
Server:       127.0.0.1
Address:    127.0.0.1#53
Non-authoritative answer:
Name:    fedoramagazine.org
Address: 35.196.109.67

Test DHCP leases

To test DHCP leases, you need to boot a machine which uses DHCP to obtain an IP address. Any Fedora variant will do that by default. Once you have booted the client machine, check that it has an address and that it corresponds to the lease file for dnsmasq.

From the machine running dnsmasq:

$ sudo cat /var/lib/dnsmasq/dnsmasq.leases
1598023942 52:54:00:8e:d5:db 192.168.1.100 server3 01:52:54:00:8e:d5:db
1598019169 52:54:00:9c:5a:bb 192.168.1.101 server4 01:52:54:00:9c:5a:bb

Extending functionality

You can assign hosts a fixed IP address via DHCP by adding it to your hosts file with the address you want (within your DHCP range). Do this by adding into the dnsmasq.conf file the following line, which assigns the IP listed to any host that has that name:

dhcp-host=myhost

Alternatively, you can specify a MAC address which should always be given a fixed IP address:

dhcp-host=11:22:33:44:55:66,192.168.1.123

You can specify a PXE boot server if you need to automate machine builds

tftp-root=/tftpboot
dhcp-boot=/tftpboot/pxelinux.0,boothost,192.168.1.240

This should point to the actual URL of your TFTP server.

If you need to specify SRV or TXT records, for example for LDAP, Kerberos or similar, you can add these:

srv-host=_ldap._tcp.mydomain.org,ldap-server.mydomain.org,389
srv-host=_kerberos._udp.mydomain.org,krb-server.mydomain.org,88
srv-host=_kerberos._tcp.mydomain.org,krb-server.mydomain.org,88
srv-host=_kerberos-master._udp.mydomain.org,krb-server.mydomain.org,88
srv-host=_kerberos-adm._tcp.mydomain.org,krb-server.mydomain.org,749
srv-host=_kpasswd._udp.mydomain.org,krb-server.mydomain.org,464
txt-record=_kerberos.mydomain.org,KRB-SERVER.MYDOMAIN.ORG

There are many other options in dnsmasq. The comments in the original config file describe most of them. For full details, read the man page, either locally or online.

Posted on Leave a comment

Cascadeur 2020.2B Released

The currently free animation tool Cascadeur (previously covered in more detail here) for Windows and Linux, just released a new beta update, Cascadeur 2020.2.

Key new features of the 2020.2b release include:

  • Quick Rigging tool for humanoid models – you can now create a simple humanoid rig much faster and with less hassle
  • Simplified Ballistics edit menu and new Ballistic ghosts options – you can now see ghosts of all the ballistic trajectories or only the selected one, but the ballistics in your old scenes will need to be created again
  • Improved Interval Edit mode – now with Linear and Bezier options 
  • Notification of a new version inside the program – as soon as the new version of Cascadeur becomes available, you will see the announcement directly in the program
  • Several minor bug fixes and improvements

You can learn more about this new release, including seeing the new Quick Rigging tools in action, in the video below. For more details on creating animations in Cascadeur, be sure to check out this earlier video.

[youtube https://www.youtube.com/watch?v=EhqpYvXi428?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Announcing the release of Fedora 33 Beta

The Fedora Project is pleased to announce the immediate availability of Fedora 33 Beta, the next step towards our planned Fedora 33 release at the end of October.

Download the prerelease from our Get Fedora site:

Or, check out one of our popular variants, including KDE Plasma, Xfce, and other desktop environments, as well as images for ARM devices like the Raspberry Pi 2 and 3:

Beta Release Highlights

BTRFS by default

All of the desktop variants of Fedora 33 Beta – including Fedora Workstation, Fedora KDE, and others – will use BTRFS as the default filesystem. This is a big shift: we’ve been using ext filesystems since Fedora Core 1. BTRFS offers some really compelling features for users, including transparent compression and copy-on-write. For Fedora 33, we’re only defaulting to the basic features of BTRFS, but we’ll build out the default feature set to include more goodies in future releases.

Fedora Workstation

Fedora 33 Workstation Beta includes GNOME 3.38, the newest release of the GNOME desktop environment. It is full of performance enhancements and improvements. GNOME 3.38 now includes a welcome tour after installation to help users learn about all of the great features this desktop environment offers. It also improves screen recording and multi-monitor support. For a full list of GNOME 3.38 highlights, see the release notes.

Fedora 33 Workstation Beta also provides better thermal management and peak performance on Intel CPUs by including thermald in the default install. And because your desktop should be fun to look at as well as easy to use, Fedora 33 Workstation Beta includes animated backgrounds (a time-of-day slideshow with hue changes) by default.

Fedora IoT

With Fedora 33 Beta, Fedora IoT is now an official Fedora Edition. Fedora IoT is geared toward edge devices on a wide variety of hardware platforms. It is based on ostree technology for safe update and rollback. It includes the Platform AbstRaction for SECurity (PARSEC), an open-source initiative to provide a common API to hardware security and cryptographic services in a platform-agnostic way.

Other updates

Fedora 33 Beta defaults to using nano as the editor. nano is a more approachable editor that is more welcoming to new users. Of course, those who want to use vim, emacs, or any other editor are still able to.

Fedora 33 KDE Beta enables earlyOOM by default, as Fedora Workstation did in the previous release. This helps improve system responsiveness on systems that are running out of memory. 

Fedora 33 Beta includes updated versions of many popular packages like Ruby, Python, and Perl. .NET Core will now be available on Fedora on aarch64, in addition to x86_64. We’re also dropping a few older versions: Python 2.6 and Python 3.4 are retired. The httpd module mod_php is also dropped, as php-fpm is a more performant and more secure PHP module.

Testing needed

Since this is a Beta release, we expect that you may encounter bugs or missing features. To report issues encountered during testing, contact the Fedora QA team via the mailing list or in the #fedora-qa channel on Freenode IRC. As testing progresses, common issues are tracked on the Common F33 Bugs page.

For tips on reporting a bug effectively, read how to file a bug.

What is the Beta Release?

A Beta release is code-complete and bears a very strong resemblance to the final release. If you take the time to download and try out the Beta, you can check and make sure the things that are important to you are working. Every bug you find and report doesn’t just help you, it improves the experience of millions of Fedora users worldwide! Together, we can make Fedora rock-solid. We have a culture of coordinating new features and pushing fixes upstream as much as we can. Your feedback improves not only Fedora, but Linux and free software as a whole.

More information

For more detailed information about what’s new on Fedora 33 Beta release, you can consult the Fedora 33 Change set. It contains more technical information about the new packages and improvements shipped with this release.

Posted on Leave a comment

Miniaudio — Open Source Single File C Audio Library

Miniaudio is a cross platform open source C library for implementing low level audio functionality including playback and capture. MiniAudio is released under either public domain or MIT No Attribution licenses and amazingly enough is implemented as a single .H file with no external dependencies (except optionally stb_orbis if Ogg Vorbis format support is desired).

Miniaudio features include:

  • Your choice of either public domain or MIT No Attribution.
  • Entirely contained within a single file for easy integration into your source tree.
  • No external dependencies except for the C standard library and backend libraries.
  • Written in C and compilable as C++, enabling miniaudio to work on almost all compilers.
  • Supports all major desktop and mobile platforms, with multiple backends for maximum compatibility.
  • Supports playback, capture, full-duplex and loopback (WASAPI only).
  • Device enumeration for connecting to specific devices, not just defaults.
  • Connect to multiple devices at once.
  • Shared and exclusive mode on supported backends.
  • Backend-specific configuration options.
  • Device capability querying.
  • Automatic data conversion between your application and the internal device.
  • Sample format conversion with optional dithering.
  • Channel conversion and channel mapping.
  • Resampling with support for multiple algorithms.
    • Simple linear resampling with anti-aliasing.
    • Optional Speex resampling (must opt-in).
  • Filters.
    • Biquad
    • Low-pass (first, second and high order)
    • High-pass (first, second and high order)
    • Second order band-pass
    • Second order notch
    • Second order peaking
    • Second order low shelf
    • Second order high shelf
  • Waveform generation.
    • Sine
    • Square
    • Triangle
    • Sawtooth
  • Noise generation.
    • White
    • Pink
    • Brownian
  • Decoding
    • WAV
    • FLAC
    • MP3
    • Vorbis via stb_vorbis (not built in – must be included separately).
  • Encoding
  • Lock free ring buffer (single producer, single consumer).

Miniaudio is available on GitHub and has solid documentation available here and several examples available here. Installation consists of downloading and #include’ing the header and that is it, making this a remarkably simple library to get started using. There are also unofficial language bindings for Go, Rust and Python available as well. You can learn more about the Miniaudio library in the video below (or view here on Odysee).

[youtube https://www.youtube.com/watch?v=XIye2LeLLUc?feature=oembed&w=1500&h=844]
Posted on Leave a comment

MagicaVoxel 0.99.6.2 Released

The popular free Voxel application MagicaVoxel just got a new release, 0.99.6.2. This release isn’t just significant for adding a large number of features added, but also because it may be the last release we see for quite some time.

A tweet sequence from @ephtracy, MagicaVoxel’s creator:

Now back to the release, details from the release notes:

New Unified Material System[06/30/2020]

  • Blend Material: weighted blending Metal/Plastic/Glass/Cloud materials (similar to Disney Principled BRDF).
  • SSS Material: sub-surface scattering. transparency tp control light transmission. density to control light scattering.
  • Aborb/Scatter/Emissive Media Material: emissive cloud. can be contained in the glass with ior > 1.
  • Improved Alpha Blending: glass material, absorb media type, density = 0, ior = 0, transparency > 0

New Transform and Voxel Shader Brushes[09/26/2020]

  • Refactored the brush menu and add icons.
  • Voxel Shader Brush to use Voxel Shaders interactively and directly.
  • Transform->Scale Brush : live scale models, point sampled, low quality but fast.
  • Transform->Wrap Brush : live wrap/crop models with mirroring and spacing modes.
  • Geometry Mode->Line/Square/Circle: the old center mode is combined with the old line mode
  • World Editor->Pattern and Wrap Brush: can create patterns from selected object (check the pattern model menu on the right panel).

Rotate Transform Brush [09/26/2020]

  • Axis rotate : press any inner circle.
  • Screen rotate : press the outer circle.
  • Sphere rotate : press any point inside the outer circle.
  • Snap rotate : press SHIFT or SHIFT+ALT to snap angle to multiple of 5 or 15.

Voxel Shader[09/13/2020]

  • no need to define id for arguments.
  • use var to define alias of arguments. same as float var = i_args[id];.
  • can import and export arguments values.
  • can display compile errors in the console window.
  • can get color selections via: color_sel().
  • can get palette color via: palette().
  • increase number of arguments to 16.
  • add interation number to the interface.

Editing[09/26/2020]

  • Boolean operations for groups and objects.
  • Modify->Mask/Texture: mask and texture models with pattern models.
  • Sort: only sorts selected colors if number of selection is greater than one.
  • command log: display count of models, scene size, count of voxels for each color, etc.
  • command shear [axis] [scale] [scale] shear model, e.g. shear z 0.2 0.2 .

Camera Control Panel[09/26/2020]

  • click the arrow on the bottom bar to show the camera control panel.
  • can change camera global/local position, pitch/yaw/roll angles, save/load camera slots, etc.
  • press SHIFT to change values in smaller steps.
  • the nine values can also be modified by cmds cam x/y/z tx/ty/tz rx/ry/rz

Pattern Pack[09/26/2020]

  • can load all the models in a project as a pattern pack.
  • can create pattern pack from multiple selected objects.
  • use left/right mouse button to rotate the preview model; use mouse wheel to zoom in/out.
  • use 1/2 to select previous/next color in the palette.
  • use 3/4
  • use ctrl+alt to switch to pattern tool.
  • use ctrl to switch to free move tool.
  • use ESC to switch between pattern/move brush and select brush in the world editor.

You can learn more about the release in the video below. Hopefully this doesn’t mark the final release and after a long well earned pause, MagicaVoxel development will resume!

[youtube https://www.youtube.com/watch?v=y4hpQGpNFJM?feature=oembed&w=1500&h=844]
Posted on Leave a comment

LEd — Awesome New Level Editor From Dead Cells Creator

LEd is a new open source level editor written in the Haxe language by a developer at Motion Twin, using lessons learned creating games such as Dead Cells. LEd is designed to be user friendly and from my experiences it succeeds.

Key details of LEd:

  • Easy to use: modern UI with a strong focus on ease-of-use and quality-of-life features.
  • Universal and agnostic: compatible with all languages (not only Haxe) and game frameworks in the world
  • JSON: easy to parse file format for any game-engine out there (I promise it’s actually really easy). Haxe isn’t required.
  • Customizable layers: Integer grid layers, Tile layers and Entity layers support
  • Auto-layers: paint your collision map and see the grass, textures and all the small details being drawn automatically!
  • Entities: fully customizable Entity with custom properties (ex: you can have a “Mob” entity, with a “hitPoints” field, which is an Integer limited to [0,10] bounds).
  • Enums: you can define an enumeration (ex: an “ItemType” enum with “Money”, “Ammo”, “Gun” values) and use this enum in your entity custom fields.
  • External enums: enums can be imported and synced directly from Haxe source code files (HX file)!
  • HTML5: LEd is built around modern web standards.
  • Auto update: you get notified as soon as a stable update is released and it’s up to you to install it when you’re ready, with a single click.
  • LEd loves Haxe: a powerful Haxe API which gives you access to fully typed values from your levels. It avoids mistakes like mistyping, renaming or removals: you see errors during compilation, not at runtime.

You can see LEd in action in the video below. The project is open source under the MIT license and hosted on GitHub.

[youtube https://www.youtube.com/watch?v=pYBWGt8wbsU?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Epic Games Have Acquired Super Awesome

Epic Games have just announced the acquisition of Super Awesome, a company dedicated to the protection of children online. Super Awesome make a number of products for creators, game developers and advertisers to be able to collect information on children in a manner that is compliant with major laws such as COPPA and GDPR.

Details of the acquisition from the Super Awesome announcement:

That question was the start of a discussion which began many months ago at a (pre-lockdown) dinner in Cary, North Carolina. It concludes today as I’m delighted to announce that we have agreed to be acquired by Epic Games, joining their family while continuing our mission as SuperAwesome (see the announcement here).

Tim Sweeney and his team understand the importance of responsibly engaging with kids and parents. They’re also incredibly serious about privacy. It’s a set of values that instantly became apparent when Tim and I began discussing a partnership. 

Joining Epic Games means many things. It means continued (and indeed greater) support for our customers: developers, content-owners and brands who want to do more for kids. It means continued investment in kidtech solutions to help the overall ecosystem. Ultimately (and crucially), it’s a step-change in making the internet safer for kids. We have always been proud of our mission. We’re even prouder to do it with a principles-driven company like Epic Games.

You can learn more about the acquisition and Super Awesome’s products in the video below.

[youtube https://www.youtube.com/watch?v=0Sy0Qm4hV0o?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Unreal Engine 4.26 Preview 1 Released

Epic Games have just released the first Preview version of Unreal Engine 4.26. UE4 preview 1 releases are extremely important as they highlight the new features that you can expect in the final 4.26 release, as well as adding several new experimental features. Unreal 4.26 is no exception, with the biggest new feature being the fact the Chaos Physics and Destruction engine is now enabled out of the box replacing the existing PhysX physics, although the new experimental water system taken from Fortnite is a close second.

Details of the release from the Unreal Engine blog:

Experience the latest features coming to Unreal Engine with Unreal Engine 4.26 Preview 1—available now. 

Test drive the production-ready Chaos Physics and Destruction System—the now default physics system—and take the new experimental Chaos Vehicle system for a spin. Virtual production pipelines also receive a boost with added movie render queue controls, Sequencer updates, and DMX improvements. If that’s not enough, check out the brand-new water system, the Chaos Ragdoll system (beta), production-ready hair and fur, and more!

You can learn more details about the release on the Unreal Engine forums. While Chaos is now enabled out of the box, it isn’t immediately obvious how to get started using Chaos Physics and Destruction. Therefore in the video below, in addition to covering what is new in the 4.26 release, we also have a getting started with Chaos tutorial to get you up and going quickly.

[youtube https://www.youtube.com/watch?v=YSe7prXzP2w?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Now available: Fedora on Lenovo laptops!

We’ve been teasing this for a while, but today it’s finally true—Fedora Workstation is now available preinstalled on the Lenovo ThinkPad X1 Carbon Gen 8, ThinkPad P53, and ThinkPad P1 Gen 2 laptops. The ThinkPad X1 Carbon is available today for direct consumer purchase from Lenovo’s online store. The Lenovo ThinkPad P1 Gen 2 and ThinkPad P53 will be available next week via the “Contact Us” icon on Lenovo.com. What’s more, the successor models are in the works for pre-load and online ordering as well!

Lenovo has been a great partner in bringing this to market. Like the Fedora community, they are operating on an “upstream first” model. That’s part of why the only thing you’ll see on the laptop that doesn’t come from an official Fedora repository is a set of PDFs providing documentation and legal notices. Lenovo engineers have been contributing to the Linux kernel, including a patch to enable the “lap mode” sensor, which is already accepted. They have also worked with their vendors to improve Linux support in devices like the fingerprint scanner.

[youtube https://www.youtube.com/watch?v=7BAPQRmElfs?feature=oembed&w=616&h=347]

Of course, you already know that open source is about more than just the technology; the community is what makes it great. Lenovo is a member of Fedora and other communities. In addition to participating in the usual Fedora places (like the devel mailing list), they also were a gold-level sponsor of our Nest With Fedora conference. And they have a dedicated Fedora section on their community forum. Mark Pearson, Senior Linux Developer said “doing open source the right way is important to us” at his Nest With Fedora Q&A session.

This will be a global program, but it will take some time to roll out country-by-country. If it doesn’t appear on the website in your country, call the local sales number for your country to place a phone order. I’m excited to have Lenovo offer Fedora Workstation as a supported choice on their laptops. This is a great opportunity to grow our community.