Kickin the Tires: Taking PC-BSD for a Spin
Submitted by srlinuxx on Monday 2nd of May 2005 11:17:02 PM Filed under
PC-BSD 0.6 was released yesterday, May 01, and I decided to take it for a test drive. With no prior bsd or unix experience, I had PC-BSD booted and taking screenshots in less than an hour1. I wish I could say it was because "I'm just that good!", but no, PC-BSD made it that easy.
Based on FreeBSD, according to their site, "PC-BSD has as its goals to be an easy to install and use desktop OS, which is built on the FreeBSD operating system. To accomplish this, it currently has a graphical installation, which will enable even UNIX novices to easily install and get it running. It will also come with KDE pre-built, so that the desktop can be used immediately. Currently in development is a graphical software installation program, which will make installing pre-built software as easy as other popular operating systems."
I believe they are well on their way. The install was easy and went smoothly. I believe it consisted of seven whole steps. The install cdrom reminds me almost of a livecd in that it boots first to a functional fluxbox desktop.
Then it starts the actual installer by giving you first a choice of installation location and boot loader preference then precedes to format and install the PC-BSD operating system.
After it completes the installation phase it prompts you to make a root password and regular user with password.
That was easy enough. You are finished. Once you click "Finish," it reboots into a kdm graphical login. After login, you are greeted by KDE 3.4.0. It appears to be a complete and fully functioning KDE desktop. It seems fast and fairly stable. I say fairly since konqueror crashed a couple of times, but that was the only issue encountered.
This new version includes a package and program installer. I tried to use it, but all I saw in the menu was a package remover and it didn't seem to function. It sat there for 20 minutes before I decided it wasn't doing anything.
Have no fear, sysinstall was included. I was able to install the kernel source with little difficulty using sysinstall and was soon on my way to the nvidia website to see if they had FreeBSD drivers.
Yes, nvidia does have FreeBSD drivers for their graphics cards and the install wasn't much different than the Linux drivers used to be before they started including an installer. Tar, make install, and vi was all that was needed. Nvidia took care of listing the module to be loaded upon boot.
What was new in 0.6? According to the changelog:
* Create beta version of PC-BSD Program Manager.
* Address issues related to systems with dual-drives, and setting up MBR.
* Fix how installer sees free space for partitioning.
* Added confirmation dialog to the "cancel" button in installation program.
* Gave users permission to mount CD's as non-root.
* Created CD device icon within KDE.
* Integrate PC-BSD package manager into desktop.
* Created PC-BSD Program installer.
* Created PC-BSD Package Creator.
* .pbi extension integrated into KDE desktop.
* Created "My Computer" icon.
* Populated "My Computer" with hard disk devices and CD's.
* Auto-Hide Fluxbox taskbar during install
As previously stated I could not seem to do much with the package manager at this stage in development and I noticed the version number didn't change on the boot/login screens or kcontrol. For beta software though, they have done a great job.
I looked around PC-BSD for quite a while. Some familiar tools were included and some were not. Some were ported and available to install, and some were not. But if you are the type who can do everything from a graphical environment, then chances are you will never notice the difference between this BSD clone and Linux. Being graphically challenged, I had to consult the FreeBSD online documentation they linked to for even some of the simples tasks such as updatedb and where to even look for the kernel. It's in /usr/src/sys. PC-BSD provides some support faqs and a forum as well. My point being, there are plenty of resources as the docs seem very complete and easy to understand, and then there are other venues. So, there's really no reason not to try this operating system.
PC-BSD must be commended for all their hard work in providing the community such an easy way to get FreeBSD installed on our computers. Considering this is only the 3rd beta installment, I am highly impressed. I will be following the development of this os as it continues to mature. I can't congratulate them enough.
There are plenty more screenshots in the Tuxgallery as well.
1. Given that I did mention some difficulties yesterday, I think it's only fair to state that I take full responsibility for those. Upon install and needing to install kernel sources, I loaded up on ports and packages from a FreeBSD mirror. The system encountered some booting issues as a result. <shrugs>
Free Software Leftovers
Open Sesame: How Open Source technologies turbocharge enterprises
Open source, a revolutionary idea for ICT innovations, also makes sense for business. The key is its adoption to an organisation's culture and budget If one were to make an internet search for the very active Information Technology and Communication (ICT) areas of innovation, the usual suspects likely to show up are intelligent machines like Artificial Intelligence (AI), Machine Learning (ML), and Deep Learning (DL); human-machine interactions like bots, augmented realities, voice and gesture-enabled interfaces; ubiquitous computing like resilient cloud and quantum computing; and autonomous machines that include the like of drones and self-driving vehicles. Compared to the pace of development a couple of decades ago, today all these areas continue to develop at extremely high velocities. A deep dive into any of the technical areas will show up a common thread: open source.
Valetudo is a cloud-free web interface for robot vacuum cleaners
Once you've done the update the Xiaomi app will not work anymore, and you'd only access the robot vacuum cleaner via its web interface which, in most cases, comes with the same features as the mobile app minus cloud connectivity. However, if you change your mind, you can simply factory reset the device to remove Valetudo and continue with the Xiaomi app, at least on Roborock models.
Well you look different: Apache CloudStack 4.15 lands with new UI, improved access control • DEVCLASS
Apache CloudStack (CS), the Apache Software Foundation's cloud infrastructure project, has pushed out new long term support version 4.15, providing users with a new UI, various VMware-related improvements and a way to define role based users in projects. The software was originally developed in 2008 at what soon became Cloud.com, a start-up that was bought by Citrix in 2011. The infrastructure as a service platform was accepted into the Apache Incubator in 2012 and graduated its process in 2013. Customers include Verizon, TomTom, SAP, Huawei, Disney, Cloudera, BT, Autodesk, and Apple.
Daniel Stenberg: bye bye svn.haxx.se
When the Subversion project started in the early year 2000, I was there. I joined the project and participated in the early days of its development as I really believed in creating an "improved CVS" and I thought I could contribute to it. While I was involved with the project, I noticed the lack of a decent mailing list archive for the discussions and set one up under the name svn.haxx.se as a service for myself and for the entire community. I had the server and the means to do it, so why not? After some years I drifted away from the project. It was doing excellently and I was never any significant contributor. Then git and some of the other distributed version control systems came along and in my mind they truly showed the world how version control should be done… The mailing list archive however I left, and I had even added more subversion related lists to it over time. It kept chugging along without me having to do much. Mails flew in, got archived and were made available for the world to search for and link to. Today it has over 390,000 emails archived from over twenty years of rather active open source development on multiple mailing lists. It is fascinating that no less than 46 persons have written more than a thousand emails each on those lists during these two decades.
Daniel Stenberg: everything.curl.dev
The online version of the curl book "everything curl" has been moved to the address shown in the title: everything.curl.dev This, after I did a very unscientific and highly self-selective poll on twitter on January 18 2020...
17 Free Design Tools for 2021
GIMP (GNU Image Manipulation Program) is a cross-platform tool for quality image creation and manipulation and advanced photo retouching. GIMP provides features to produce icons, graphical design elements, and art for user interface components and mockups. Price: Free.
Adding translations to Guix' website
As part of GNU, Guix aims to bring freedom to computer users all over the world, no matter the languages they (prefer to) speak. For example, Guix users asking for help can expect an answer even if they do so in languages other than English. We also offer translated software for people more comfortable with a language other than English. Thanks to many people who contribute translations, GNU Guix and the packages it distributes can be used in various languages, which we value greatly. We are happy to announce that Guix' website can now be translated in the same manner. If you want to get a glimpse on how the translation process works, first from a translator's, then from a programmer's perspective, read on. The process for translators is kept simple. Like lots of other free software packages, Guix uses GNU Gettext for its translations, with which translatable strings are extracted from the source code to so-called PO files. If this is new to you, the magic behind the translation process is best understood by taking a look at one of them. Download a PO file for your language at the Fedora Weblate instance. Even though PO files are text files, changes should not be made with a text editor but with PO editing software. Weblate integrates PO editing functionality. Alternatively, translators can use any of various free-software tools for filling in translations, of which Poedit is one example, and (after logging in) upload the changed file. There also is a special PO editing mode for users of GNU Emacs. Over time translators find out what software they are happy with and what features they need. Help with translations is much appreciated. Since Guix integrates with the wider free software ecosystem, if you intend to become a translator, it is worth taking a look at the styleguides and the work of other translators. You will find some at your language's team at the Translation Project (TP).
Marcin 'hrw' Juszkiewicz: Standards are boring
Standards are boring. Satisfied users may not want to migrate to other boards the market tries to sell them. So Arm market is flooded with piles of small board computers (SBC). Often they are compliant to standards only when it comes to connectors. But our hardware is not standard It is not a matter of 'let produce UEFI ready hardware' but rather 'let write EDK2 firmware for boards we already have'. Look at Raspberry/Pi then. It is shitty hardware but got popular. And group of people wrote UEFI firmware for it. Probably without vendor support even. [...] At the end you will have SBSA compliant hardware running SBBR compliant firmware. Congratulations, your board is SystemReady SR compliant. Your marketing team may write that you are on same list as Ampere with their Altra server. Users buy your hardware and can install whatever BSD, Linux distribution they want. Some will experiment with Microsoft Windows. Others may work on porting Haiku or other exotic operating system. But none of them will have to think "how to get this shit running". And they will tell friends that your device is as boring as it should be when it comes to running OS on it == more sales.
Google and Mozilla Embrace More Restrictions
Extensions in Firefox for Android Update | Mozilla Add-ons Blog
Starting with Firefox 85, which will be released January 25, 2021, Firefox for Android users will be able to install supported Recommended Extensions directly from addons.mozilla.org (AMO). Previously, extensions for mobile devices could only be installed from the Add-ons Manager, which caused some confusion for people accustomed to the desktop installation flow. We hope this update provides a smoother installation experience for mobile users. As a quick note, we plan to enable the installation buttons on AMO during our regularly scheduled site update on Thursday, January 21. These buttons will only work if you are using a pre-release version of Firefox for Android until version 85 is released on Tuesday, January 25.
Porting Firefox to Apple Silicon
The release of Apple Silicon-based Macs at the end of last year generated a flurry of news coverage and some surprises at the machine's performance. This post details some background information on the experience of porting Firefox to run natively on these CPUs. We'll start with some background on the Mac transition and give an overview of Firefox internals that needed to know about the new architecture, before moving on to the concept of Universal Binaries. We'll then explain how DRM/EME works on the new platform, talk about our experience with macOS Big Sur, and discuss various updater problems we had to deal with. We'll conclude with the release and an overview of various other improvements that are in the pipeline.
Google muzzles all Chromium browsers on 15 March 2021
What is the relevance I hear you ask. Well, I provide Chromium packages for Slackware, both 32bit and 64bit versions. These chromium packages are built on our native Slackware platform, as opposed to the official Google Chrome binaries which are compiled on an older Ubuntu probably, for maximum compatibility across Linux distros where these binaries are used. One unique quality of my Chromium packages for Slackware is that I provide them for 32bit Slackware. Google ceased providing official 32bit binaries long ago. In my Slackware Chromium builds, I disable some of the more intrusive Google features. An example: listening all the time to someone saying "OK Google" and sending the follow-up voice clip to Google Search. And I create a Chromium package which is actually usable enough that people prefer it over Google's own Chrome binaries, The reason for this usefulness is the fact that I enable access to Google's cloud sync platform through my personal so-called "Google API key". In Chromium for Slackware, you can logon to your Google account, sync your preferences, bookmarks, history, passwords etc to and from your cloud storage on Google's platform. Your Chromium browser on Slackware is able to use Google's location services and offer localized content; it uses Google's translation engine, etcetera. All that is possible because I formally requested and was granted access to these Google services through their APIs within the context of providing them through a Chromium package for Slackware. The API key, combined with my ID and passphrase that allow your Chromium browser to access all these Google services are embedded in the binary – they are added during compilation. They are my key, and they are distributed and used with written permission from the Chromium team. These API keys are usually meant to be used by software developers when testing their programs which they base on Chromium code. Every time a Chromium browser I compiled talks to Google through their Cloud Service APIs, a counter increases on my API key. Usage of the API keys for developers is rate-limited, which means if an API key is used too frequently, you hit a limit and you'll get an error response instead of a search result. So I made a deal with the Google Chromium team to be recognized as a real product with real users and an increased API usage frequency. Because I get billed for every access to the APIs which exceeds my allotted quota and I am generous but not crazy. I know that several derivative distributions re-use my Chromium binary packages (without giving credit) and hence tax the usage quota on my Google Cloud account, but I cover this through donations, thank you my friends, and no thanks to the leeches of those distros.
Programming Leftovers
In an earlier post I complained about spreadsheet programs: Excel, LibreOffice Calc and Gnumeric. All of them confuse non-dates with dates, and automatically interpret certain number strings with 2 colons as [h]:mm:ss. Grrr.
Building your own Network Monitor with PyShark – Linux Hint
Many tools for network analysis have existed for quite some time. Under Linux, for example, these are Wireshark, tcpdump, nload, iftop, iptraf, nethogs, bmon, tcptrack as well as speedometer and ettercap. For a detailed description of them, you may have a look at Silver Moon's comparison [1]. So, why not use an existing tool, and write your own one, instead? Reasons I see are a better understanding of TCP/IP network protocols, learning how to code properly, or implementing just the specific feature you need for your use case because the existing tools do not give you what you actually need. Furthermore, speed and load improvements to your application/system can also play a role that motivates you to move more in this direction. In the wild, there exist quite several Python libraries for network processing and analysis. For low-level programming, the socket library [2] is the key. High-level protocol-based libraries are httplib, ftplib, imaplib, and smtplib. In order to monitor network ports and the packet stream competitive candidates, are python-nmap [3], dpkt [4], and PyShark [5] are used. For both monitoring and changing the packet stream, the scapy library [6] is widely in use. In this article, we will have a look at the PyShark library and monitor which packages arrive at a specific network interface. As you will see below, working with PyShark is straightforward. The documentation on the project website will help you for the first steps — with it, you will achieve a usable result very quickly. However, when it comes to the nitty-gritty, more knowledge is necessary. PyShark can do a lot more than it seems at first sight, and unfortunately, at the time of this writing, the existing documentation does not cover that in full. This makes it unnecessarily difficult and provides a good reason to look deeper under the bonnet.
Roles, h'uh, what are they good for? | Jesse Shy
What is a role? Put simply, roles are a form of code reuse. Often, the term shared behavior is used. Roles are said to be consumed and the methods ( including attribute accessors ) are flattened into the consuming class. One of the major benefits of roles is they attempt to solve the diamond problem encountered in multi-inheritance by requiring developers to resolve name collisions manually that arise in multi-inheritance. Don't be fooled however, roles are a form of multi-inheritance. I often see roles being used in ways they shouldn't be. Let's look at the mis-use of roles, then see an example of shared behavior. I'm using that word inheritance a lot for a reason, one of the two ways I see roles most often misused is to hide an inheritance nightmare. "Look ma, no multi-inheritance support, no problem. I'll just throw stuff in roles and glum them on wherever I really want to use inheritance. It all sounds fancy, but I am just lumping stuff into a class cause I don't really understand OO principals."
What Is a Software Developer?
Software developers are highly sought-after tech professionals, and the demand for their skills is continually increasing. In this Life in Tech article, we'll provide a general look at the various duties and requirements associated with the role of software developer. Let's start with a basic description before getting into the nuances and specifics. Briefly, then, software developers conceive, design, and build computer programs, says ComputerScience.org. To accomplish this, they identify user needs, write and test new software, and maintain and improve it as needed. Software developers occupy crucial roles in a variety of industries, including tech, entertainment, manufacturing, finance, and government.
How do others program? I realized today that I've never actually seen it; in more than 30 years of coding, I've never really watched someone else write nontrivial code over a long period of time. I only see people's finished patches—and I know that the patches I send out for review sure doesn't look much like the code I initially wrote. (There are exceptions for small bugfixes and the likes, of course.)
Sensible integer scale for Gonum Plot
Over the years, I found myself multiple times using Gonum Plot. I do find it as a very good and easy to use plotting tool for Go. The problem I found myself, over and over, dealing with is the tickers scale. If you know before-hand the values that can be expected to be created by the application, it is very straightforward, but the majority of times, this is not the case. I often find myself creating a plotting application on data that track events that have not yet happened and cannot predict their range. To solve the issue, I create a package that has a struct that implements the Ticker interface and provides tickers that are usually sensible. Since this struct only works for integer scales, I called it sit, which stands for "Sensible Int Ticks".
Learn JavaScript by writing a guessing game | Opensource.com
It's pretty safe to say that most of the modern web would not exist without JavaScript. It's one of the three standard web technologies (along with HTML and CSS) and allows anyone to create much of the interactive, dynamic content we have come to expect in our experiences with the World Wide Web. From frameworks like React to data visualization libraries like D3, it's hard to imagine the web without it. There's a lot to learn, and a great way to begin learning this popular language is by writing a simple application to become familiar with some concepts. Recently, some Opensource.com correspondents have written about how to learn their favorite language by writing a simple guessing game, so that's a great place to start!
As was previously discussed, since the 6.0.0 release of Qt, Qt 3D no longer ships as a pre-compiled module. If you need to use it on your projects, try out the new features, or just see your existing application is ready for the next chapter of Qt's life, you need to compile Qt 3D from source. In order to do this, you can do it the traditional way ([cq]make ...; make; make install) or use the Conan-based system that is being pioneered with the latest version of the MaintenanceTool.
Qt Open-Source Downloads Temporarily Offline Due To Severe Hardware Failure
Several readers have expressed concerned that Qt open-source downloads have disappeared but The Qt Company has now commented it's only a temporary issue due to a "severe hardware failure" in the cloud. Qt's open-source online installer and offline packages are not currently working for the open-source options but the commercial downloads are working. While that may raise concerns given Qt's increasing commercial focus, The Qt Company posted to their blog that this interruption around open-source package downloads is due to a reported major hardware problem at their cloud provider.
Fortunally, the Qt API provides multiple ways to implement custom shapes, that depending on the needs might be enough. There is the Canvas API using the same API as the canvas API on the web but in QML. It's easy to use but very slow and I wouldn't recommend it. Instead of the Canvas API, from the QML side, there is the QtQuick Shapes module. This module allows creating more complex shapes directly from the QML with a straightforward declarative API. In many cases, this is good enough for the application developer but this module doesn't offer a public C++ API. If you need more controls, using C++ will be required to implement custom QQuickItem. Unfortunately drawing on the GPU using QQuickItem is more complex than the QPainter API. You can't just use commands like drawRect, but will need to convert all your shapes in triangles first. This involves a lot of maths like it can be seen in the example from the official documentation or from the KDAB tutorial (Efficient custom shapes in Qt Quick). A QPainer way is also available with QQuickPaintedItem, but it is slow because it renders your shape in a textured rectangle in the Scene Graph.
Changes to the Rustdoc team
Recently, there have been a lot of improvements in rustdoc. It was possible thanks to our new contributors. In light of these recent contributions, a few changes were made in the rustdoc team.
Rustdoc performance improvements
@jyn514 noticed a while ago that most of the work in Rustdoc is duplicated: there are actually three different abstract syntax trees (ASTs)! One for doctree, one for clean, and one is the original HIR used by the compiler. Rustdoc was spending quite a lot of time converting between them. Most of the speed improvements have come from getting rid of parts of the AST altogether.
Why and How to Use Optional in Java |
The Optional object type in Java was introduced with version 8 of Java. It is used when we want to express that a value might not be known (yet) or it's not applicable at this moment. Before Java 8 developers might have been tempted to return a null value in this case.
GraalVM 21.0 Released With Experimental JVM On Truffle - Phoronix
Oracle on Tuesday released GraalVM 21.0 as the latest version of their Java VM/JDK that also supports other languages and modes of execution. One of the notable additions with GraalVM 21.0 is supporting Java on Truffle, as an example JVM implementation using the Truffle interpreter. GraalVM's Truffle framework is an open-source library for writing programming language interpreters. With Java on Truffle, it's of the same nature as the likes of JavaScript, Ruby, Python, and R within the GraalVM ecosystem. Java on Truffle allows for improved isolation from the host JVM, run Java bytecode in a separate context from the JVM, running in the context of a native image but with dynamically loaded bytecode allowed, and other Truffle framework features. More details about the Java on Truffle implementation via the GraalVM manual.
Adding Your Cringe Stickers To Matrix
Unlike discord, Matrix doesn't make you pay to use your own custom emotes or stickers, you just need to go and host them yourself. Luckily doing so is surprisignly [sic] easy and can be done for free.
FLOSS Weekly 613: EteSync and Etebase - Tom Hacohen, EteSync and Etebase
Etebase is a set of client libraries and a server for building end-to-end encrypted applications. Tom Hacohen, who previously appeared on FLOSS Weekly episode 524 to talk about securely syncing contacts, calendars, tasks and notes with his product EteSync, is back to talk about his new baby: Etebase. This is a great discussion as more and more consumers and users are interested in encryption and securing their private information across all platforms they use today.
My 10-year-old HP Pavilion doesn't boot modern distros anymore
I like round-number milestones. Especially if they allow one to showcase nice things. For example, sometime ago, I managed to revitalize my fairly ancient LG laptop by installing MX Linux on it. This restored a great deal of speed and nimbleness to the system, allowing it to remain modern and relevant for a bit longer. Now that my HP machine has reached its double-digit age, I thought of upgrading its Linux system. At the moment, the machine dual-boots Windows 7 (indeed, relax) and Kubuntu 20.04. Things work reasonably well. Spec-wise, the 2010 laptop comes with a first-gen i5 processor, 4 GB of RAM, 7,200rpm hard disk, and Nvidia graphics. Technically, not bad at all, even today. Well, I decided to try some modern distro flavors, to see what gives. [...] Trawling through the online forums, I've found a few other mentions of similar problems. Of course, almost every legacy system issue is rather unique, so I can't draw any concrete conclusions here. But it does feel like Linux is leaving old stuff behind. 'Tis a paradox really. On one hand, Linux is well-known for being able to run (and pride itself for being able to do so) on ancient, low-end hardware. On the other hand, providing and maintaining support for an infinite amount of ancient systems is difficult. And if you do recall my older content, I had a somewhat similar problem on my T42 laptop. Back when it had its tenth birthday, I booted it up after a long pause, and tried using Linux on it yet again. And I had problems finding Linux drivers for its ATI card - Windows drivers were easily and readily available. The problems aren't identical, but they are definitely indicative. Oh well. I may continue testing and playing with the old HP Pavilion, but I might not be able to really show you how well it carries into modern age. Hopefully, you found something useful in this wee sad article.
Madeline Peck: January Blog Post (New Year New Bloggin!)
Today I actually also attended the super low key design team video chat, which involved a brain storm session for Fedora 35 that was exciting!
Accessing the Public Cloud Update Infrastructure via a Proxy
SUSE provides public cloud customers with PAYG (Pay-As-You-Go) images on AWS, Azure, and GCP. Instances created from these images connect to a managed update infrastructure. So if you need to update your instances with the latest software updates or install that needed package using zypper, usually you can be assured that the underlying repositories are there with no further hassles. There are exceptions, though. Instances configured to utilize a proxy server or traverse firewalls, NAT gateways, proxies, security rules, Zscalar, or other security and network devices may run into problems. The purpose of this post is to address some of the more commonly occurring configuration issues seen with public cloud environments.
How SUSE builds its Enterprise Linux distribution - PART 5 | SUSE Communities
This is the fifth blog of a series that provides insight into SUSE Linux Enterprise product development. You will get a first-hand overview of SUSE, the SLE products, what the engineering team does to tackle the challenges coming from the increasing pace of open source projects, and the new requirements from our customers, partners and business-related constraints. [...] Based on our joint schedule, openSUSE Leap and SLE have a predictable release time frame: a release every 12 months and a 6 months support overlap for the former and new release, thus when the time is ready a snapshot of openSUSE Tumbleweed is made and both openSUSE and SLE will use this snapshot to create our next distributions versions. With this picture, we are not talking about our distribution per se yet, it's only a pool of packages sources that we will use to build our respective distribution. But before going into how it's built, note that it's a simplified view because of course, there is always some back and forth between for instance openSUSE Leap/SLE and openSUSE Tumbleweed; it's not just a one-way sync because during the development phase of our distributions, bugs are found and of course fixes are submitted back to Factory so openSUSE Tumbleweed also receives fixes from the process. For the sake of simplifying the picture we did not add these contributions as arrows. Also at SUSE, Open source is in our genes so we have always contributed to openSUSE but, since 2017, our SUSE Release Team had enforce a rule called "Factory First Policy", which force code submissions for SLE to be pushed to Factory first before it lands in SLE. This is a continuation of the "Upstream First" principle on the distribution level. It reduces maintenance effort and leverages the community.
Gabe Newell of Valve Software (Steam) recently spoke to 1 NEWS in New Zealand about everything that has been going on and teased a few fun details. For those who didn't know, Newell has been staying in New Zealand since early 2020 and decided to stay after a holiday when COVID-19 got much worse. Newell continues to talk very highly of New Zealand, even somewhat jokingly mentioning that some Valve staffers appear to strongly want to move their work over there now too. Newell mentioned why there's no reason other game companies couldn't move to New Zealand, and joked how they're a producer of "not-stupidium" seemingly referring to how well New Zealand has dealt with COVID-19. [...] Nice to see they continue to keep Linux in their sights for games too with all their recent games (Artifact, Underlords and Half-Life: Alyx) all having Linux builds, although Alyx is not directly mentioned on the store page for Linux it is available.
Firaxis has confirmed the next DLC that forms part of the New Frontier Pass for Civilization VI will be releasing on January 28. Here's some highlights of what's to come. While the full details are yet to be released, Firaxis did a developer update video to tease some of it. There's going to be a new civilization with Vietnam joining the world, two new leaders for existing civilizations (China and Mongolia), a new "Monopolies and Corporations" game mode with expanded economic options which sounds really quite interesting.
Linux Kernel Space and Graphics: Linux Memory Management, Dbus-Broker 26, Vulkan Wayland Compositors
The Maple Tree, A Modern Data Structure for a Complex Problem
The Linux Memory Management layer supports the very common technique of virtual memory. Linux splits blocks of virtual memory into areas specified by the c structure vm_area_struct. Each vm_area_struct contain information associated with mapped memory and are used to find the associated pages of memory which contain the actual information. Virtual memory areas (VMAs) could be the contents of a file on disk, the memory that contains the program, or even the memory the program uses during execution. Literally everything that is run on Linux uses vm_area_struct for memory mapping. This vital area of the kernel needs to be quick and avoid contention whenever possible.
With the BUS1 in-kernel IPC not panning out and not seeing any major code work in nearly two years, the user-space based, D-Bus compatible DBus-Broker remains the performant and current option for those looking at something faster and more reliable than D-Bus itself.
Vulkan Wayland Compositors Are Nearing Reality - Phoronix
One of the last pieces of the puzzle for supporting an entirely Vulkan-based Wayland compositor is coming together with a new extension that looks like it will be merged soon and there already being work pending against Sway/WLROOTS to make use of the Vulkan path. The VK_EXT_physical_device_drm extension to Vulkan has been in the works for a number of months and is for allowing the mapping of Vulkan physical devices and DRM nodes. VK_EXT_physical_device_drm allows for querying DRM properties for physical devices and in turn matching the with DRM nodes on Linux systems.
Mesa's R600 Driver Nears Feature Complete NIR Support For Radeon HD 5000/6000 Series - Phoronix
For those still making use of pre-GCN AMD graphics cards supported by the R600 Gallium3D driver (namely the Radeon HD 5000/6000 series), the open-source "R600g" Gallium3D driver now has nearly feature complete NIR support. Gert Wollny has been near single handedly working on NIR support for the R600g driver to make use of this modern graphics driver intermediate representation as an alternative to the long-standing Gallium3D TGSI IR.
GNOME: outreachy, flexbox and restrictions
Nasah Kuma: My Journey to GJS' Backtrace "full" Option
My outreachy internship has definitely taught me a lot of things including writing blog posts, reporting tasks, expressing myself and of course improving as a developer. When we developed a project timeline before submitting the final application weeks back, my mentor and I underestimated some of the issues because there were some hidden difficulties we only found out later. Initially, my timeline was set to using the first week to understand the inner workings of the debugger, using week 2-4 on the backtrace full command, using week 5-7 to display the current line of the source code when displaying the current frame in the debugger and the task for week 8-13 were still to be decided upon by my mentor and I within the course of the internship.
Sergio Villar Senin: Flexbox Cats (a.k.a fixing images in flexbox)
In my previous post I discussed my most recent contributions to flexbox code in WebKit mainly targeted at reducing the number of interoperability issues among the most popular browsers. The ultimate goal was of course to make the life of web developers easier. It got quite some attention (I loved Alan Stearns' description of the post) so I decided to write another one, this time focused in the changes I recently landed in WebKit (Safari's engine) to improve the handling of elements with aspect ratio inside flexbox, a.k.a make images work inside flexbox. Some of them have been already released in the Safari 118 Tech Preview so it's now possible to help test them and provide early feedback.
GNOME Software Jailbreak
As many users have noticed, you cannot install all the software you want on your computer via gnome-software. This restriction has been imposed by the developers...