Programming Leftovers
-
GnuCOBOL 3.1rc-1 on alpha.gnu.org
While this version is a release-randidate (with an expected full release within 3 months) it is the most stable and complete free COBOL compiler ever available.
-
6 best practices for managing Git repos
This is arguably Rule Zero for a secure Git repository. As a project maintainer, whether you started it yourself or you’ve adopted it from someone else, it’s your job to know the contents of your own repository. You might not have a memorized list of every file in your codebase, but you need to know the basic components of what you’re managing. Should a stray file appear after a few dozen merges, you’ll be able to spot it easily because you won’t know what it’s for, and you’ll need to inspect it to refresh your memory. When that happens, review the file and make sure you understand exactly why it’s necessary.
[...]
Third-party libraries are no exception to this rule. While it’s one of the many benefits of open source that you can freely re-use and re-distribute code you didn’t write, there are many good reasons not to house a third-party library in your own repository. First of all, you can’t exactly vouch for a third party, unless you’ve reviewed all of its code (and future merges) yourself. Secondly, when you copy third party libraries into your Git repo, it splinters focus away from the true upstream source. Someone confident in the library is technically only confident in the master copy of the library, not in a copy lying around in a random repo. If you need to lock into a specific version of a library, either provide developers with a reasonable URL the release your project needs or else use Git Submodule.
-
Scala contributor: Open source and diversity key to tackling dev skills shortage
Diversity and open source can help fix the software developer skills gap, argued Scala contributor and Carnegie Mellon Assistant Professor Heather Miller in a keynote talk at the virtual Open Source Summit North America.
Miller examined the IT and computer-related skills shortage from a US perspective. "The Department of Labor statistics show that in 2017 there were over 500,000 computing-related jobs open in the US that were not filled. They project that this number is going to get a lot higher. If this trend continues, it's obvious that there's no way these posts can be filled by computer science graduates."
There are, however, many new people coming into the profession, not necessarily computer science graduates, and a notable point of recent StackOverflow research is the large number of respondents who consider themselves professional and have been coding for less than five years – 39.6 per cent in the latest survey.
"The years of experience of professional software engineers, that is going down," said Miller.
-
Evgeni Golov: Automatically renaming the default git branch to "devel"
It seems GitHub is planning to rename the default brach for newly created repositories from "master" to "main". It's incredible how much positive PR you can get with a one line configuration change, while still working together with the ICE.
However, this post is not about bashing GitHub.
Changing the default branch for newly created repositories is good. And you also should do that for the ones you create with git init locally. But what about all the repositories out there? GitHub surely won't force-rename those branches, but we can!
Ian will do this as he touches the individual repositories, but I tend to forget things unless I do them immediately…
-
Web-augmented graphics overlay broadcasting with WPE and GStreamer
To address the first point, WPE founding engineer, Žan Doberšek enabled software rasterizing support in WPE and its FDO backend. This is great because it allows WPE to run on machines without GPU (like continuous integration builders, test bots) but also “in the cloud” where machines with GPU are less affordable than bare metal! Following up, I enabled this feature in GstWPE. The source element caps template now has video/x-raw, in addition to video/x-raw(memory:GLMemory). To force swrast, you need to set the LIBGL_ALWAYS_SOFTWARE=true environment variable. The downside of swrast is that you need a good CPU. Of course it depends on the video resolution and framerate you want to target.
On the latency front, I decided to switch from RTMP to WebRTC! This W3C spec isn’t only about video chat! With WebRTC, sub-second live one-to-many broadcasting can be achieved, without much efforts, given you have a good SFU. For this demo I chose Janus, because its APIs are well documented, and it’s a cool project! I’m not sure it would scale very well in large deployments, but for my modest use-case, it fits very well.
Janus has a plugin called video-room which allows multiple participants to chat. But then imagine a participant only publishing its video stream and multiple “clients” connecting to that room, without sharing any video or audio stream, one-to-many broadcasting. As it turns out, GStreamer applications can already connect to this video-room plugin using GstWebRTC! A demo was developed by tobiasfriden and saket424 in Python, it recently moved to the gst-examples repository. As I kind of prefer to use Rust nowadays (whenever I can anyway) I ported this demo to Rust, it was upstreamed in gst-examples as well. This specific demo streams the video test pattern to a Janus instance.
Adapting this Janus demo was then quite trivial. By relying on a similar video mixer approach I used for the first GstWPE demo, I had a GstWPE-powered WebView streaming to Janus.
-
PHP releases and support
PHP is used extensively on the web. How new features, security fixes, and bug fixes make their way into a release is important to understand. Likewise, understanding what can be expected in community support for previous releases is even more important. Since PHP-based sites are typically exposed to the Internet, keeping up-to-date is not something a security-minded administrator can afford to ignore.
PHP has not always had a formal release process and corresponding time frame for support; the official policy the project has now wasn't adopted until 2011. Before then, the decisions of when to make releases and how long to support them were both made less formally by key members of the community.
Let's start with PHP versioning, where the project is more or less dependable. The versioning of PHP releases aims to follow Semantic Versioning. Major releases such as 3.0 and 4.0 always come with backward-compatibility breaks. Minor versions, such as 4.1 and 4.2, fix bugs and add new features that are backward-compatible in relation to the major release. Patch releases, such as 4.1.1, tend to be strictly for important bug fixes and should never break backward compatibility.
-
Intel AMX Support Begins Landing In LLVM
Following Intel publishing the initial Advanced Matrix Extensions (AMX) documentation at the end of June, the open-source/Linux bring-up has continued for these new CPU instruction set extensions set to premiere with Sapphire Rapids next year.
-
Intel oneDNN 2.0 Deep Neural Network Library Working On More Performance Tuning
Intel's open-source oneDNN library, which was formerly known as MKL-DNN and DNNL for this deep neural network library now living under the oneAPI umbrella, continues working on some big performance advancements for its 2.0 release.
Intel on Thursday released oneDNN 2.0 Beta 7 and with it comes more Intel CPU performance optimizations around convolutional neural networks, binary primitive performance for the broadcast case, BFloat16 and FP32 weights gradient convolutions, INT8 convolutions with 1x1 kernel and spatial strides, and a variety of other specific areas within this deep learning library seeing optimizations.
- Login or register to post comments
- Printer-friendly version
- 2083 reads
- PDF version
More in Tux Machines
- Highlights
- Front Page
- Latest Headlines
- Archive
- Recent comments
- All-Time Popular Stories
- Hot Topics
- New Members
digiKam 7.7.0 is releasedAfter three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. |
Dilution and Misuse of the "Linux" Brand
|
Samsung, Red Hat to Work on Linux Drivers for Future TechThe metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. |
today's howtos
|
Recent comments
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago