We will be applying updates to all our servers and rebooting into newer kernels. Services will be up or down during the outage window. As time permits we will also be reinstalling some servers.
/rss20.xml">
We will be applying updates to all our servers and rebooting into newer kernels. Services will be up or down during the outage window. As time permits we will also be reinstalling some servers.
Basic Linear Algebra Subprograms or BLAS is a specification created in the 70s/80s by members of academia from US public institutions. The aim was the standardization and speed improvement for low-level linear algebra operations. This initially involved vector operations (Level 1). Over time, BLAS came to support more complex algorithms like vector-matrix operations (Level 2) and in the end matrix-matrix operations (Level 3).
For a general overview, the Netlib Quick Reference Guide is a good start. Be sure to check out the References section of the Quick Reference Guide for more detailed explanations and examples. It cites three research papers that were the basis of this specification. Jack Dongarra seems to be a key figure in this field. You can find those papers in the public domain.
Take a look at what the specification says about matrix operations. Specific operations involving symmetric, hermitian, and triangular matrices exist because these special cases can improve performance. We will focus on GEMM the general matrix-matrix operation:
options dim scalar matrix matrix scalar matrix
xGEMM ( TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC )
According to the guide:
The implemented function/procedure should have the above signature. This matrix-matrix operation is generic and by changing the options and the scalars, you can define a sum and/or a product operation. The specification is generic in this sense. For example, if we want to test a matrix product, we have to make BETA=0 and TRANSA=TRANSB=N.
The specification breaks down higher-level matrix operations into operations of lower level by partitioning the matrix into smaller components and calling lower-level BLAS functions. This allows the partitioned components to fit into smaller cache sizes (L3-L1) and improves computational speed.
The first implementations of this specification were written in Fortran – an important language for scientific and high-performance computing. Additional layers and libraries were developed, such as LAPACK, which relies on BLAS. LAPACK specializes in higher-level linear algebra operations like linear systems, factorization, eigenvalues, etc. You can still find all these libraries on the Netlib website.
Separation of concerns allowed BLAS to grow and specialize in matrix operations to take advantage of underlying hardware architectures. This also enabled LAPACK to specialize in mathematical-related domains. The TOP500 HPC centers use a variation of these libraries for rating.
GotoBLAS, developed by Kazushige Goto at TACC, is another implementation of the BLAS specification that became popular in the years 2000s. A notable feature of this library is the use of handwritten assembly code for improved performance. An open-source version became available to the public under a BSD license but is now discontinued.
OpenBLAS was forked from GotoBLAS2 by Zhang Xianyi in 2011 while at UT Austin. It is currently maintained and updated to take advantage of new processor architectures and capabilities. It has support for RISC-V in its latest versions.
Over the years OpenBLAS had some of the best benchmark scores close to Intel MKL. Intel MKL is another notable library from the 90s. Intel MKL became oneMKL in 2020 to align with the oneAPI specification. The specification defines a hardware-agnostic api that should work across emerging heterogeneous computing (CPU+accelerators). Note the libraries we are discussing here work exclusively on CPU.
FlexiBLAS was created by Martin Kohler and Jens Saak from MPI Magdeburg. In a 2013 paper, they mention a few problems related to the linear algebra ecosystem from lapack to plasma, magma, atlas, and the blas implementation used by each of these libraries. The mentioned issues are: linked libraries and their dependencies, profiling and debugging, and various incompatibilities. FlexiBLAS is another layer of indirection that manages all these problems and allows one to switch between different BLAS backends at runtime using an environment variable or configuration file. Spend some time reading the man page. It manages the problems by programmatically calling in its source code the POSIX functions dlopen/dlsym etc. For a list of available backends:
user@fedora:~$ dnf install flexiblas
user@fedora:~$ flexiblas list
System-wide (config directory):
NETLIB
library = libflexiblas_netlib.so
OPENBLAS-OPENMP
library = libflexiblas_openblas-openmp.so
We will need the shared objects and the header files so we’ll install the development version as below.
user@fedora:~$ dnf install flexiblas-devel gcc
user@fedora:~$ rpm -ql flexiblas-devel
/usr/include/flexiblas
/usr/include/flexiblas/blas_gnu.h
/usr/include/flexiblas/cblas.h
/usr/include/flexiblas/lapack.h
/usr/lib64/libflexiblas.so
/usr/lib64/libflexiblas64.so
...
Let’s make a matrix multiplication program and compare the performance. Here we multiply 2 matrices using the well-known algorithm rows x columns. We will try to keep the program as small as possible so excuse the lack of programming conventions coming from a pascal/fortran user. We are using Fedora Workstation 40 with 6 CPU and 8 GB RAM.
user@fedora:~$ cat <<EOF > simple_mm.c
#include "stdio.h"
#include "stdlib.h"
#define N 5000
double A[N][N], B[N][N], C[N][N];
int main(){
// seed with random values
for(int i=0; i<N; i++)
for(int j=0; j<N; j++) {
A[i][j]=rand(); B[i][j]=rand(); C[i][j]=0;
}
// matrix multiply
for(int i=0; i<N; i++)
for(int j=0; j<N; j++)
for(int p=0; p<N; p++) {
C[i][j] = A[i][p] * B[p][j] + C[i][j];
}
}
EOF
user@fedora:~$ gcc simple_mm.c -o simple_mm.o
user@fedora:~$ time ./simple_mm.o
real 13m46.145s
user 13m44.369s
sys 0m0.493s
For 5000 rows/cols square matrix, the average time was 12 minutes on a single core. Since this laptop has more cores available, we can check how much better we can get with OpenMP.
user@fedora:~$ cat <<EOF > omp_mm.c
#include "stdio.h"
#include "stdlib.h"
#include "omp.h"
#define N 5000
double A[N][N], B[N][N], C[N][N];
int main(){
for(int i=0; i<N; i++)
for(int j=0; j<N; j++){
A[i][j]=rand(); B[i][j]=rand(); C[i][j]=0;
}
#pragma omp parallel for shared(C)
for(int i=0; i<N; i++)
for(int j=0; j<N; j++)
for(int p=0; p<N; p++){
C[i][j] = A[i][p] * B[p][j] + C[i][j];
}
}
EOF
user@fedora:~$ gcc omp_mm.c -o omp_mm.o -fopenmp
user@fedora:~$ time OMP_NUM_THREADS=4 ./omp_mm.o
real 3m14.798s
user 12m46.950s
sys 0m0.645s
So with 2 lines of OpenMP, we were able to get 3 minutes when running on 4 cores. Let’s try to use flexiblas now and see the difference. We will call the cblas interface from the flexiblas-devel package. We also need to link the library exactly as detailed in the Fedora Docs.
user@fedora:~$ cat <<EOF > cblas_mm.c
#include "stdio.h"
#include "stdlib.h"
#include "flexiblas/cblas.h"
#define N 5000
double A[N][N], B[N][N], C[N][N];
int main(){
for(int i=0; i<N; i++)
for(int j=0; j<N; j++){
A[i][j]=rand(); B[i][j]=rand(); C[i][j]=0;
}
cblas_dgemm(CblasRowMajor,CblasNoTrans,CblasNoTrans, N,N,N, 1, \
&A[0][0],N, &B[0][0],N, 0,&C[0][0],N);
}
EOF
user@fedora:~$ gcc cblas_mm.c -o cblas_mm.o -lflexiblas
user@fedora:~$ time ./cblas_mm.o
real 0m1.690s
user 0m5.820s
sys 0m0.301s
Notice this time the program ran in 2 seconds. The extra argument CblasRowMajor indicates that C saves multidimensional arrays in memory by rows, as opposed to Fortran, for example.
One other interesting feature that flexiblas provides is profiling and debugging. It is doing so using the concept of hooks. For this, we need to either create and build the shared object or install it. A sample profile hook is available as a separate Fedora Linux package.
user@fedora:~$ dnf install -y flexiblas-hook-profile
user@fedora:~$ rpm -ql flexiblas-hook-profile
/usr/lib64/flexiblas/libflexiblas_hook_profile.so
...
user@fedora:~$ flexiblas hook list
Available hooks:
PROFILE (/usr/lib64/flexiblas//libflexiblas_hook_profile.so)
Now that we have the hook available locally, let’s use it to profile a sample program by calling the Fortran interface. You can use the examples from FlexiBLAS github page to build your own profilers.
user@fedora:~$ cat <<EOF > profile_mm.c
#include "stdio.h"
#include "stdlib.h"
#define N 5000
extern void dgemm_ (char* transa, char* transb, \
int* m, int* n, int* k, \
double* alpha, double* a, int* lda, double* b, int* ldb, \
double* beta, double* c, int* ldc);
double A[N][N], B[N][N], C[N][N];
int dim=N; double alpha=1; double beta=0;
int main(){
for(int i=0; i<N; i++)
for(int j=0; j<N; j++){
A[i][j]= rand(); B[i][j]= rand(); C[i][j]= 0;
}
for(int i=0; i<5; i++)
dgemm_("N","N", &dim,&dim,&dim, &alpha,&A[0][0],&dim, \
&B[0][0],&dim, &beta,&C[0][0],&dim);
}
EOF
user@fedora:~$ gcc profile_mm.c -o profile_mm.o -lflexiblas
user@fedora:~$ FLEXIBLAS_HOOK=PROFILE ./profile_mm.o
<flexiblas-profile> Write profile to flexiblas_profile.txt
user@fedora:~$ grep dgemm flexiblas_profile.txt
dgemm 5 4.97674
FlexiBLAS sees use by a diverse range of packages. These range from core libraries in R and Python to chemical simulations and linear algebra packages.
user@fedora:~$ dnf repoquery --whatrequires flexiblas-netlib
COPASI-0:4.42.284-6.fc40.x86_64
CheMPS2-0:1.8.9-22.fc40.i686
MUMPS-0:5.6.2-3.fc40.i686
Macaulay2-0:1.22-6.fc40.x86_64
R-core-0:4.3.3-1.fc40.i686
gromacs-libs-0:2024-1.fc40.x86_64
ocaml-lacaml-0:11.0.10-9.fc40.x86_64
octave-6:8.4.0-6.fc40.i686
python3-numpy-1:1.26.4-1.fc40.x86_64
...
One way to think about matrices is to consider each column as coordinates (x,y,z) in space. In this way a 3xn matrix can represent a 3d object. The more complex the object, and the more points it has, the wider the matrix will be. Let’s use this concept to represent a 3D cube:
-1 -1 -1 -1 1 1 1 1
-1 -1 1 1 -1 -1 1 1
-1 1 -1 1 -1 1 -1 1
Another way to think about matrices is in terms of linear transformations. There are a few well-known transformations that we can apply to a vector space. We can translate, scale, or rotate. Each of these transformations is represented by a well-known matrix. Those shown here are for the following example.
xROTATION SCALE TRANSLATION
1 0 0 0 sx 0 0 0 1 0 0 tx
0 cos(t) -sin(t) 0 0 sy 0 0 0 1 0 ty
0 sin(t) cos(t) 0 0 0 sz 0 0 0 1 tz
0 0 0 1 0 0 0 1 0 0 0 1
To rotate the cube in 3D, we will have to multiply the rotation matrix and the cube matrix. The resulting 4×8 matrix becomes the new rotated cube. We can make a continuous loop then rotate the cube by 3 degrees for each iteration and then render its coordinates on screen. Since our terminal is two-dimensional, we could neglect altogether the third row of the cube matrix. This way we will have a 2×8 matrix – meaning 8 points on a 2D scene. So in other words we will have the 2D projection of our 3D cube, also called an orthographic projection. The 2D projection will be relative to the 2D frame of reference of our terminal so this solves our problem with rendering the cube, the only thing we must account for is that the terminal coordinate (0,0) begins at the top left corner. So, the algorithm will have the following steps:
All of the above steps are matrix multiplications. For drawing on the terminal we will use the ncurses library. Due to the terminal row/column height ratio we had to scale the cube more on the y-axis as you can see in the below example. You will also notice the cube matrix has an extra row of ones, as we converted to homogeneous coordinates.
user@fedora:~$ dnf install ncurses-devel
user@fedora:~$ cat <<EOF > cube.c
#include "stdio.h"
#include "math.h"
#include "ncurses.h"
#include "flexiblas/cblas.h"
#include "string.h"
#include "unistd.h"
double myCube[4][8] = { { -1, 1, -1, -1, 1, 1, -1, 1 },
{ -1, -1, 1, -1, 1, -1, 1, 1 },
{ -1, -1, -1, 1, -1, 1, 1, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1 } };
double mScale[4][4] = { { 5, 0, 0, 0 },
{ 0, 10, 0, 0 },
{ 0, 0, 5, 0 },
{ 0, 0, 0, 1 } };
double mTranslate[4][4] = { { 1, 0, 0, 10 },
{ 0, 1, 0, 50 },
{ 0, 0, 1, 0 },
{ 0, 0, 0, 1 } };
double mRotateY30[4][4] = {{ cos(M_PI/6), 0, sin(M_PI/6), 0 },
{ 0, 1, 0, 0 },
{ -sin(M_PI/6), 0, cos(M_PI/6), 0 },
{ 0, 0, 0, 1 } };
double mRotateX3[4][4] = { { 1, 0, 0, 0 },
{ 0, cos(M_PI/60), -sin(M_PI/60), 0 },
{ 0, sin(M_PI/60), cos(M_PI/60), 0 },
{ 0, 0, 0, 1 } };
double scaledCube[4][8], tempCube[4][8], cntrCube[4][8];
int main(){
// scale the unit cube and rotate
cblas_dgemm(CblasRowMajor,CblasNoTrans,CblasNoTrans, 4,8,4, \
1,&mScale[0][0],4, &myCube[0][0],8, 0,&scaledCube[0][0],8);
cblas_dgemm(CblasRowMajor,CblasNoTrans,CblasNoTrans, 4,8,4, \
1,&mRotateY30[0][0],4, &scaledCube[0][0],8, 0,&myCube[0][0],8);
initscr();
curs_set(0);
while(true){
clear();
memcpy(tempCube, myCube, 4*8*sizeof(double));
// rotate 5 degrees
cblas_dgemm(CblasRowMajor,CblasNoTrans,CblasNoTrans, 4,8,4, \
1,&mRotateX3[0][0],4, &tempCube[0][0],8, 0,&myCube[0][0],8);
// translate to middle
cblas_dgemm(CblasRowMajor,CblasNoTrans,CblasNoTrans, 4,8,4, \
1,&mTranslate[0][0],4, &tempCube[0][0],8, 0,&cntrCube[0][0],8);
// render
for(int j=0; j<8; j++)
mvaddch((int)cntrCube[0][j], (int)cntrCube[1][j],'x');
refresh();
usleep(25000); // 25ms
}
getch();
curs_set(1);
endwin();
}
EOF
user@fedora:~$ gcc cube.c -o cube.o -lflexiblas -lncurses
user@fedora:~$ ./cube.o
We were able to draw a rotating cube in the terminal with relatively few lines. If we want to make the cube more realistic, we will need to add more vertices to the matrix that describes the cube. As a result, we will end up with a matrix with 3 rows and numerous columns. These are the types of practical matrices that BLAS libraries are optimized for.
Computer graphics is just one small application of linear algebra. When dealing with big models of thousands of points, with 4k monitors and color graphics, even this library is limited. This points out the need for specialized hardware (GPU/FPGA) for accelerated computing. These devices are programmed using different terms and programming paradigms from the ones used here, but matrix multiplication is still a core operation.
Matrix multiplication is a relatively simple concept but notoriously slow. One major theoretical improvement was the Strassen Algorithm in the 70’s. The need to abstract a system of linear equations into a matrix form left us with this row-by-columns rule. The rule therefore needs to take into account all the linear system coefficients or, as in the case of Strassen, a relationship among these coefficients. Faced with these limitations, computational linear algebra had to improve on brute force and this is how BLAS came into being. Thanks to the Fedora Project contributors who maintain the above-mentioned packages.
In the rapidly evolving world of amateur radio and the Internet of Things (IoT), the ability to communicate over long distances with low power consumption is crucial. LoRa (Long Range) technology has emerged as a popular solution for this need, particularly in applications like Automatic Packet Reporting System (APRS) tracking. This blog post aims to compare two distinct setups for LoRa APRS using VHF (Very High Frequency) and UHF (Ultra High Frequency) frequencies, focusing on their performance in terms of distance and environmental factors.
The VHF setup is particularly suitable for applications in urban and semi-rural environments where line-of-sight may not always be guaranteed. The estimated transmission ranges for this configuration are:
The UHF setup excels in open environments where line-of-sight is achievable. Its performance metrics are impressive:
In the following chart, we visually compare the maximum distances achieved by both VHF and UHF setups for LoRa APRS. This highlights the significant differences in range capabilities based on frequency and setup parameters.
The next chart illustrates how both setups perform in various environments: urban, semi-rural, and rural. The VHF setup may have limitations in urban settings, while the UHF setup generally demonstrates superior performance in open spaces.
It’s important to note that the distances mentioned in this post are estimations. In real-world scenarios, actual performance may vary due to several factors, including:
When choosing between VHF and UHF for LoRa APRS tracking, consider the following:
Ultimately, the decision depends on your specific needs, environmental conditions, and the operational context of your LoRa APRS tracking applications.
The post Exploring LoRa APRS: VHF vs UHF Performance appeared first on HamRadio.My - Ham Radio, Fun Facts, Open Source Software, Tech Insights, Product Reviews by 9M2PJU.
Amateur radio has been a beloved hobby for millions of people worldwide, offering a unique blend of technical skills, community, and the thrill of communication. A recent chart I created illustrates the estimated population of amateur radio operators globally, showcasing significant growth from the 1950s to 2023. Let’s explore the trends behind these numbers and what has driven this increase, especially in recent years.
In the 1950s, there were approximately 100,000 licensed amateur radio operators worldwide. Over the decades, this number steadily climbed, reflecting the growing popularity of the hobby. By 2020, the global population reached about 3 million, and estimates for 2023 suggest it has risen to around 3.6 million. This growth represents a robust community that thrives on shared interests in technology and communication.
One of the most notable trends in recent years has been the increase in amateur radio operators during the COVID-19 pandemic. As many people found themselves confined at home, hobbies that could be enjoyed in isolation surged in popularity. Amateur radio became a vital outlet for communication, allowing people to connect with others despite physical distance. The rise in licensed operators from 3.0 million in 2020 to 3.6 million in 2023 can be partly attributed to this unique circumstance.
The advancement of technology has also played a crucial role in attracting new amateur radio enthusiasts. The rise of digital modes has made it easier for operators to communicate, particularly with younger generations who are tech-savvy. Digital communication platforms, software-defined radios (SDRs), and online resources have lowered the barriers to entry, allowing more individuals to engage in the hobby.
Additionally, various online platforms have provided valuable resources for training and licensing, making it more accessible for newcomers. Organizations like the American Radio Relay League (ARRL) and the International Amateur Radio Union (IARU) have also promoted the hobby through online forums and webinars, further encouraging participation.
The future of amateur radio looks promising, with ongoing initiatives aimed at attracting diverse groups of operators. Efforts to promote inclusivity in the community have seen an increase in participation from women and underrepresented groups. The adaptability of amateur radio, especially in embracing digital communication methods, will likely ensure its relevance in the coming years.
As we look at the chart showcasing this growth, it’s clear that amateur radio continues to evolve and thrive. Whether you’re a seasoned operator or a curious newcomer, there’s a vibrant community waiting to welcome you into the world of amateur radio!
The post The Growing Global Community of Amateur Radio Operators 🌍📡 appeared first on HamRadio.My - Ham Radio, Fun Facts, Open Source Software, Tech Insights, Product Reviews by 9M2PJU.
When it comes to reliable communication with your LoRa APRS (Automatic Packet Reporting System) tracker and iGate, selecting the right antenna is crucial. The performance of your setup can significantly impact your ability to transmit and receive signals, especially at the 433 MHz frequency commonly used in many regions. In this post, we’ll explore some of the best antenna options for both trackers and iGates, ensuring optimal performance for your APRS activities!
1/4 Wave Whip Antenna
1/2 Wave Dipole Antenna
Folded Dipole Antenna
Ground Plane Antenna
5/8 Wave Collinear Antenna
Yagi Antenna
Log Periodic Antenna
Discone Antenna
With these antenna options, you can optimize your LoRa APRS setup for both tracking and iGate operations. Happy transmitting!
The post Choosing the Best Antennas for Your LoRa APRS Tracker and iGate at 433 MHz appeared first on HamRadio.My - Ham Radio, Fun Facts, Open Source Software, Tech Insights, Product Reviews by 9M2PJU.
In the world of amateur radio and APRS (Automatic Packet Reporting System), optimizing your Smart Beacon settings is crucial for ensuring effective tracking while conserving battery life. In this post, we’ll explore various Smart Beacon profiles on https://github.com/richonguzman/LoRa_APRS_Tracker, their respective parameters, and the best power settings for each profile, along with visual charts to enhance understanding.
Smart Beaconing adjusts transmission rates based on movement profiles, allowing for more efficient use of resources. The profiles outlined below include settings for different types of movement: Human/Person, Bike, and Car. Each profile is designed to optimize transmission intervals based on speed.
Human/Person (Slow):
Bike (Medium):
Car (Fast):
Each profile also considers other important parameters such as:
The power settings for your Smart Beacon can significantly impact both range and battery life. Here’s a chart summarizing the recommended power levels for each profile:
Human/Person (Slow): 10 dBm
Bike (Medium): 14 dBm
Car (Fast): 18 dBm and above
Optimizing your Smart Beacon settings is essential for efficient APRS tracking. By selecting the right profile and corresponding power setting, you can ensure reliable communication while maximizing battery life.
Important Note: While these recommendations provide a solid foundation, it’s crucial to tailor your settings to your specific environment and coverage requirements. Different locations may necessitate distinct configurations for optimal performance. For the Car profile, you can consider setting the power to 20 dBm, especially since you can connect your LoRa APRS Tracker to the car charger for unlimited power while driving. This adjustment ensures enhanced range and reliability during your journeys.
By following these insights, you’ll be well-equipped to make the most of your Smart Beacon for various activities. Happy tracking!
The post Optimizing Smart Beacon Profiles and Power Settings for LoRa APRS Tracker appeared first on HamRadio.My - Ham Radio, Fun Facts, Open Source Software, Tech Insights, Product Reviews by 9M2PJU.
As an avid user of LoRa APRS trackers, I’ve dedicated considerable time to fine-tuning my device to ensure it operates efficiently while conserving battery life. This is particularly crucial for long-duration outdoor activities where access to charging may be limited. In this post, I’ll share my insights on optimizing various settings—including spreading factor, coding rate, power (dBm) settings, and wide path configuration—to achieve the best battery performance.
The spreading factor is a critical parameter in LoRa communication that dictates how the signal is spread over time, affecting range, reliability, and robustness of the transmission.
Spreading Factor | Range (km) | Battery Consumption (mAh) |
---|---|---|
SF7 | 10 | 30 |
SF8 | 8 | 25 |
SF9 | 6 | 20 |
SF10 | 5 | 15 |
SF11 | 4 | 12 |
SF12 | 3 | 10 |
The coding rate, expressed as a ratio (e.g., 4/5), indicates how much redundancy is added to the data for error correction. It plays a vital role in ensuring reliable data transmission.
Coding Rate | Transmission Time (seconds) |
---|---|
4/5 | 1.0 |
4/6 | 1.5 |
4/7 | 2.0 |
The dBm value represents the transmission power of the device. Adjusting the transmission power can significantly impact battery life.
dBm Settings | Range (km) |
---|---|
10 dBm | 5 |
14 dBm | 10 |
18 dBm | 15 |
The wide path setting determines how many digipeaters (or hops) the packets traverse. This can significantly impact battery consumption.
Wide Path Setting | Battery Life (hours) |
---|---|
WIDE1-1 | 20 |
WIDE2-1 | 15 |
73,
9M2PJU
The post Optimizing LoRa APRS Tracker for Maximum Battery Life appeared first on HamRadio.My - Ham Radio, Fun Facts, Open Source Software, Tech Insights, Product Reviews by 9M2PJU.
In the world of operating systems, both the GNU Hurd and the Linux kernel represent distinct philosophies and technical approaches. While both share a foundation rooted in the Free Software movement, their paths have diverged significantly over time. Let’s explore the key differences between them and how Linux, in particular, has grown to dominate a vast range of computing environments — including some exciting options for ham radio operators!
The GNU Hurd was the original vision of the Free Software Foundation (FSF), initiated by Richard Stallman as part of the GNU Project in 1990. The idea was to create a fully free operating system where the Hurd would serve as the kernel. It utilizes a microkernel architecture, meaning that core functions like memory management, file systems, and device drivers are managed in user-space processes called servers, rather than within the kernel itself. The microkernel, Mach, handles only the most essential functions like task scheduling and inter-process communication (IPC).
This approach promises a flexible, modular design, making it easier to maintain and modify. If one component fails, the system theoretically can recover more gracefully since the failure is isolated. However, this modularity has come at the cost of complexity and performance challenges, making Hurd notoriously difficult to develop. As a result, GNU Hurd remains largely an experimental project, with few practical deployments outside academic interest.
Key features of GNU Hurd:
Unfortunately, despite its potential, the slow development of Hurd has kept it from achieving widespread use, especially when compared to Linux.
At nearly the same time that Hurd began development, a Finnish student named Linus Torvalds started work on what would become the Linux kernel in 1991. Unlike Hurd, Linux took a monolithic kernel approach, meaning that most of the core system functionality (device drivers, memory management, file systems, networking) runs directly within the kernel space. This design has proven to be both efficient and performant, allowing Linux to quickly gain traction as a robust, stable, and high-performance kernel.
Though Linux was not initially tied to the GNU Project, it rapidly became the kernel of choice for the broader GNU/Linux system, pairing GNU software with the Linux kernel. Today, Linux is the foundation of countless operating systems used across various domains, from personal computers to embedded systems, mobile devices, supercomputers, and even space missions.
Key characteristics of Linux:
The Linux kernel’s rapid development, stability, and wide hardware support have helped it become the dominant force in open-source operating systems. It powers everything from web servers and cloud infrastructure to IoT devices and smartphones (via Android).
For radio amateurs (ham radio enthusiasts), the flexibility of Linux has opened the door to powerful tools for digital communication and signal processing. Several Linux distributions are specifically tailored to the needs of the ham radio community, offering ready-to-use setups with pre-installed software for operating digital modes, logging contacts, controlling radios, and even experimenting with SDR (Software Defined Radio).
Here are some Linux distributions popular among ham radio operators:
Each of these distributions provides ham operators with powerful tools to enhance their radio experiences, whether it’s for logging contacts, experimenting with new digital modes, or setting up communication infrastructure.
While GNU Hurd remains an ambitious but incomplete project, Linux has become a cornerstone of the global open-source ecosystem. Its monolithic design, performance, and flexibility have enabled it to thrive in a vast range of environments, from everyday desktop use to specialized fields like ham radio. For operators and hobbyists in the ham radio world, Linux’s adaptability has led to the creation of several dedicated distributions, making it an essential tool for modern amateur radio enthusiasts.
Have you tried using any of these Linux distributions for ham radio? Or maybe you’ve experimented with GNU Hurd? Share your experiences with us in the comments!
The post GNU Hurd vs. Linux Kernel: Two Paths in Free Software – Plus Linux Distributions for Ham Radio Enthusiasts appeared first on HamRadio.My - Ham Radio, Fun Facts, Open Source Software, Tech Insights, Product Reviews by 9M2PJU.
This is a weekly report from the I&R (Infrastructure & Release Engineering) Team. It also contains updates for CPE (Community Platform Engineering) Team as the CPE initiatives are in most cases tied to I&R work.
We provide you both infographic and text version of the weekly report. If you just want to quickly look at what we did, just look at the infographic. If you are interested in more in depth details look below the infographic.
Week: 23 September – 27 September 2024
The purpose of this team is to take care of day to day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work.
It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.).
List of planned/in-progress issues
Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL) and Oracle Linux (OL).
CPE has few members that are working as part of Community Design Team. This team is working on anything related to design in Fedora Community.
The ARC (which is a subset of the CPE team) investigates possible initiatives that CPE might take on.
If you have any questions or feedback, please respond to this report or contact us on #redhat-cpe channel on matrix.
The post Infra and RelEng Update – Week 39 2024 appeared first on Fedora Community Blog.
Version 8.4.0alpha1 has been released. It's still in development and will enter soon in the stabilization phase for the developers, and the test phase for the users (see the schedule).
RPM of this upcoming version of PHP 8.4, are available in remi repository for Fedora ≥ 38 and Enterprise Linux ≥ 8 (RHEL, CentOS, Alma, Rocky...) in a fresh new Software Collection (php84) allowing its installation beside the system version.
As I (still) strongly believe in SCL's potential to provide a simple way to allow installation of various versions simultaneously, and as I think it is useful to offer this feature to allow developers to test their applications, to allow sysadmin to prepare a migration or simply to use this version for some specific application, I decide to create this new SCL.
I also plan to propose this new version as a Fedora 42 change (as F41 should be released a few weeks before PHP 8.4.0).
Installation :
yum install php84
To be noticed:
Also, read other entries about SCL especially the description of My PHP workstation.
$ module load php84 $ php --version PHP 8.4.0alpha1 (cli) (built: Jul 2 2024 13:43:13) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.4.0-dev, Copyright (c) Zend Technologies with Zend OPcache v8.4.0alpha1, Copyright (c), by Zend Technologies
As always, your feedback is welcome on the tracking ticket, a SCL dedicated forum is also open.
Software Collections (php84)
Version 8.4.0 Release Candidate 1 is released. It's now enter the stabilisation phase for the developers, and the test phase for the users.
RPMs are available in the php:remi-8.4 stream for Fedora ≥ 39 and Enterprise Linux ≥ 8 (RHEL, CentOS, Alma, Rocky...) and as Software Collection in the remi-safe repository (or remi for Fedora)
The repository provides development versions which are not suitable for production usage.
Also read: PHP 8.4 as Software Collection
Installation : follow the Wizard instructions.
Replacement of default PHP by version 8.4 installation, module way (simplest way):
dnf module reset php dnf module install php:remi-8.4 dnf update
Parallel installation of version 8.4 as Software Collection (recommended for tests):
yum install php84
To be noticed :
Information, read:
Base packages (php)
Software Collections (php84)
The kernel team is working on final integration for Linux kernel 6.11. This version was just recently released, and will arrive soon in Fedora Linux. As a result, the Fedora Linux kernel and QA teams have organized a test week from Sunday, September 29, 2024 to Sunday, October 06, 2024. The wiki page in this article contains links to the test images you’ll need to participate. Please continue reading for details.
A test week is an event where anyone can help ensure changes in Fedora Linux work well in an upcoming release. Fedora community members often participate, and the public is welcome at these events. If you’ve never contributed before, this is a perfect way to get started.
To contribute, you only need to be able to do the following things:
The wiki page for the kernel test week has a lot of good information on what and how to test. After you’ve done some testing, you can log your results in the test week web application. If you’re available on or around the days of the event, please do some testing and report your results. We have a document which provides all the necessary steps.
Happy testing, and we hope to see you on one of the test days.
RPMs of PHP version 8.3.11 are available in the remi-modular repository for Fedora ≥ 39 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...).
RPMs of PHP version 8.2.23 are available in the remi-modular repository for Fedora ≥ 39 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...).
The packages are available for x86_64 and aarch64.
There is no security fix this month, so no update for version 8.1.29.
PHP version 8.0 has reached its end of life and is no longer maintained by the PHP project.
These versions are also available as Software Collections in the remi-safe repository.
Version announcements:
Installation: use the Configuration Wizard and choose your version and installation mode.
Replacement of default PHP by version 8.3 installation (simplest):
dnf module switch-to php:remi-8.3/common
Parallel installation of version 8.3 as Software Collection
yum install php83
Replacement of default PHP by version 8.2 installation (simplest):
dnf module switch-to php:remi-8.2/common
Parallel installation of version 8.2 as Software Collection
yum install php82
And soon in the official updates:
To be noticed :
Information:
Base packages (php)
Software Collections (php81 / php82 / php83)
RPMs of PHP version 8.3.12 are available in the remi-modular repository for Fedora ≥ 39 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...).
RPMs of PHP version 8.2.24 are available in the remi-modular repository for Fedora ≥ 39 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...).
RPMs of PHP version 8.1.30 are available in the remi-modular repository for Fedora ≥ 39 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...).
The packages are available for x86_64 and aarch64.
PHP version 8.0 has reached its end of life and is no longer maintained by the PHP project.
These versions are also available as Software Collections in the remi-safe repository.
These Versions fix 4 security bugs (CVE-2024-8925, CVE-2024-8926, CVE-2024-8927, CVE-2024-9026), so update is strongly recommended.
Version announcements:
Installation: use the Configuration Wizard and choose your version and installation mode.
Replacement of default PHP by version 8.3 installation (simplest):
dnf module switch-to php:remi-8.3/common
Parallel installation of version 8.3 as Software Collection
yum install php83
Replacement of default PHP by version 8.2 installation (simplest):
dnf module switch-to php:remi-8.2/common
Parallel installation of version 8.2 as Software Collection
yum install php82
And soon in the official updates:
To be noticed :
Information:
Base packages (php)
Software Collections (php81 / php82 / php83)
In today’s fast-paced world, staying connected is more important than ever, even when you’re off the grid. With the introduction of Messages via Satellite, available on the iPhone 14 and later models, you can now send iMessages and SMS messages without needing cellular or Wi-Fi coverage. Let’s explore how this innovative feature works and how you can make the most of it!
Starting with iOS 18, Messages via Satellite allows you to connect with friends and family, even when you’re in remote areas with no cellular or Wi-Fi access. You can send and receive texts, emojis, and Tapbacks, making it easier to keep in touch during your adventures. To connect to a satellite, simply step outside and ensure you have a clear view of the sky and horizon.
Before you head out into the wilderness, consider these steps to ensure you’re ready to use Messages via Satellite:
When your iPhone detects that you’re outside cellular and Wi-Fi coverage, it will notify you on the Lock Screen. Just open the Messages app, and you’ll see options to send and receive messages via satellite.
Keep in mind that satellite messages may take longer to send, especially in areas with trees or obstructions. While you can’t send photos, videos, or group messages via satellite, you can still communicate effectively with your emergency contacts and Family Sharing group.
To use Messages via Satellite, you need:
Messages via Satellite is currently available in THE U.S. AND CANADA ONLY.
Stay connected, even when you’re far from civilization! Embrace the freedom of the great outdoors without sacrificing your ability to communicate.
FOR USERS IN THE U.S. AND CANADA: EXPLORE THIS EXCITING FEATURE NOW!
The post Stay Connected Off the Grid: Messages via Satellite on Your iPhone appeared first on HamRadio.My - Ham Radio, Fun Facts, Open Source Software, Tech Insights, Product Reviews by 9M2PJU.
EuroBSDCon was fantastic, as always :-) I talked to many interesting people during the four days about sudo and syslog-ng, and of course also about many other topics. I gave a sudo tutorial, and it went well, with some “students” already planning which features to implement at home. There were many good talks, including one from Dr. Marshall Kirk McKusick, who was with the FreeBSD project right from the beginning, and worked on BSD even earlier. The weather was also good to us, so I could look around in Dublin for a bit.
The first two days of the conference were tutorials. I gave a sudo tutorial, which was well received: https://events.eurobsdcon.org/2024/talk/FLCHU3/. Luckily my audience was very active: I got many good questions. They did not really know most of the advanced sudo features. As usual, I also received feature requests while giving my sudo tutorial. I forwarded those to Todd Miller, maintainer of sudo.
At the end of my tutorial I asked my audience, which sudo features they plan to implement on their network, when they get back to the office. These were the top 3:
During the conference I received many questions asking why I delivered a sudo tutorial if I was wearing a syslog-ng shirt :-) In short: Todd Miller, maintainer of sudo, was my colleague for a couple of years. I quickly learned that sudo is a lot more than just a prefix, and started writing and talking about it: https://peter.czanik.hu/posts/on_teaching_sudo/
Another returning question was comparing sudo with sudo replacements. The reason is quite simple: most people are not aware of the features sudo provides. As soon as I mention some of the enterprise focused features, like session recording, central management through LDAP, plugin support, and others, suddenly they understand the difference. Replacements are good in single user environments, however only sudo includes features for enterprise environments.
During the conference I wore syslog-ng t-shirts. First of all: I do not have any sudo t-shirts, but dozens of syslog-ng t-shirts :-) And also, because I work on syslog-ng both as my job, and as the maintainer of the syslog-ng port in FreeBSD. I handed out many syslog-ng stickers too. There are many active syslog-ng users among FreeBSD users and developers. They use syslog-ng on FreeBSD in very diverse environments: collecting jail logs, in various appliances, bank security, telecommunications, and others. I am always happy to hear some positive feedback, and here I received many!
Sometimes I even felt, as if I was a kind of celebrity. People knew my name, and came to me to talk a bit after following me on Twitter / LinkedIn / Mastodon for years. They were very happy to learn that MacOS / FreeBSD receives now some extra care (see: https://www.syslog-ng.com/community/b/blog/posts/version-4-8-0-of-syslog-ng-improves-freebsd-and-macos-support)
During the conference I also received a feature request for syslog-ng: a new source to collect FreeBSD audit logs. This is how I learned that FreeBSD also has audit logs :-) Implementing something in C would be time consuming, and there is no ETA for that right now. Luckily syslog-ng also has a program() source. For that I could put together a working configuration over the lunch break of the conference. Of course it still has some rough edges, like ugly error messages, unnecessary quotation marks, etc, but it’s a good start. Here is a sample output:
{
"fbaudit": {
"record": {
"text": "\"successful login root\"",
"subject": {
"_uidit-uid": "root",
"_tiddt-uid": "46906172.16.167.1",
"_siddt-uid": "909",
"_ruidt-uid": "root",
"_rgidt-uid": "wheel",
"_piddt-uid": "909",
"_gidit-uid": "wheel",
"_audit-uid": "root"
},
"return": {
"_retval": "0",
"_errval": "success"
},
"_version": "11",
"_timefier": "\"Sun Sep 22 15:36:46 2024\"",
"_msecfier": "\" + 770 msec\"",
"_modifier": "0",
"_eventon": "\"OpenSSH login\""
}
},
"TRANSPORT": "local+program",
"SOURCE": "s_fbaudit_xml",
"PRIORITY": "notice",
"MSGFORMAT": "raw",
"MESSAGE": "<record version=\"11\" event=\"OpenSSH login\" modifier=\"0\" time=\"Sun Sep 22 15:36:46 2024\" msec=\" + 770 msec\" ><subject audit-uid=\"root\" uid=\"root\" gid=\"wheel\" ruid=\"root\" rgid=\"wheel\" pid=\"909\" sid=\"909\" tid=\"46906172.16.167.1\" /><text>successful login root</text><return errval=\"success\" retval=\"0\" /></record>",
"HOST_FROM": "fb14",
"HOST": "fb14",
"FACILITY": "user",
"DATE": "Sep 22 17:45:39"
}
The conference was intense. Two days of tutorials co-located with the FreeBSD developer summit, and two days of talks. I delivered my sudo tutorial on the first day, and went back to my hotel quickly to rest a bit. I was completely exhausted from talking three hours straight. Then met up with some fellow Hungarians and FreeBSD developers for a beer that night. The next day I participated the developer summit, where I listened to interesting talks and discussions. In the late afternoon I walked around in Dublin.
The “real” conference happened on the third and fourth days. There were three parallel tracks, sometimes it was really difficult to choose where to go :-) There was a coffee break before each talk, which ensured that no matter how tired we were, we stayed awake :-) And of course it also gave us the possibility of networking. Lots of good discussions. It is difficult to pick highlights from the talks, all were great. My absolute favorite was given by Dr. Marshall Kirk McKusick: FreeBSD at 30 Years: Its Secrets to Success. It looked back at the history of the FreeBSD project and also shared some interesting statistics. I also learned about WifiBox, the latest news about FreeBSD RC scripts, or how to build an AI powered house. For a complete list of talks and tutorials, check the schedule.
I hope to see you next year in Zagreb at EuroBSDCon 2025 :-)
Steve Wozniak, a name synonymous with innovation and technology, is one of the co-founders of Apple and a key figure in the personal computing revolution. But before he became an icon in the tech world, Wozniak was deeply involved in the world of ham radio. His early interest in electronics and communication began when he became a licensed ham radio operator. With the callsign WV6VLY, later changed to WA6BND, Wozniak’s experience in amateur radio played a vital role in shaping his technical skills and curiosity about how technology can connect people over vast distances.
Ham radio was more than just a hobby for Wozniak—it was an avenue for exploring how technology could be used to break down communication barriers. As a teenager, he spent countless hours building radio transmitters, experimenting with circuits, and learning how communication systems worked. This early exposure to complex electronics gave him a solid foundation in problem-solving and engineering, which would later prove invaluable when he ventured into the world of computers.
By the mid-1970s, Wozniak’s focus shifted to computing. At the time, computers were large, expensive, and inaccessible to the average person. They were mostly used by businesses or universities, far from something an individual could own or operate at home. Steve Wozniak, however, had a vision—he wanted to create a personal computer that was both affordable and user-friendly. This led to the creation of the Apple I in 1976, which he designed entirely by himself.
Unlike the bulky, complex machines of the era, the Apple I was a single-board computer that enthusiasts could buy, assemble, and use. Although it came as a bare circuit board (requiring users to add their own keyboard, monitor, and case), it was groundbreaking because it was designed with simplicity and accessibility in mind. This innovation was a major leap forward in making computers available to a wider audience. It was also the first product sold by Apple, marking the company’s humble beginnings in Steve Jobs’ garage.
Wozniak’s genius lay in his ability to take complex systems and distill them into something that was both powerful and easy to use. The Apple I, while relatively basic by today’s standards, laid the foundation for what would become a technological revolution. It was soon followed by the Apple II, a much more sophisticated machine that became one of the first highly successful mass-market personal computers.
Wozniak’s contributions to Apple went far beyond hardware design. His ethos of user-centered design and making technology accessible to everyday people became a cornerstone of Apple’s philosophy. While Steve Jobs was the visionary who understood the business potential of these innovations, Wozniak was the technical genius who made it all possible. Together, they created one of the most influential companies in the world.
But even after his success with Apple, Steve Wozniak remained humble and grounded, preferring to avoid the limelight. He continued to pursue his passions, including teaching and philanthropy, while staying active in the tech community. Wozniak’s story is a testament to how curiosity, passion, and a love for learning can lead to groundbreaking innovation.
From his early days as a ham radio enthusiast with a fascination for communication technology to his pivotal role in revolutionizing personal computing with the Apple I, Steve Wozniak’s journey is a remarkable example of how one person’s vision can change the world.
The post Steve Wozniak: From Ham Radio Enthusiast to Revolutionizing Personal Computing with the Apple I appeared first on HamRadio.My - Ham Radio, Fun Facts, Open Source Software, Tech Insights, Product Reviews by 9M2PJU.
If you’re an APRS (Automatic Packet Reporting System) enthusiast looking for an easy way to generate pass codes, we’ve got exciting news for you! Introducing the 9M2PJU APRS Pass Code Generator, a simple and convenient tool designed for APRS users in Malaysia.
APRS is a widely-used communication system among amateur radio operators that allows them to share real-time information like location, messages, and weather updates. To access the APRS network, users need a unique pass code, and that’s where the 9M2PJU Pass Code Generator comes in.
The 9M2PJU APRS Pass Code Generator is here to make your life easier. With just a few clicks, you can generate your APRS pass code anytime, anywhere—whether on a mobile device or your PC.
Ready to get your pass code? It’s incredibly simple! Just visit pass.hamradio.my and follow the straightforward instructions. In just a few moments, you’ll have your unique APRS pass code ready to use.
Once you’ve got your pass code, you’re set to join the broader APRS community. With APRS, you can connect with fellow amateur radio operators, share real-time information, and explore the exciting world of digital radio communication.
Don’t wait! Simplify your APRS experience by generating your pass code today using the 9M2PJU APRS Pass Code Generator.
Visit https://pass.hamradio.my to generate your pass code and experience the world of APRS like never before!
Stay connected with the APRS network in just a few clicks!
The post Generate Your APRS Pass Code appeared first on HamRadio.My - Ham Radio, Fun Facts, Open Source Software, Tech Insights, Product Reviews by 9M2PJU.
Nothing evokes strong opinions quite like coding style. Tabs-versus-spaces is a famous example. In most cases, there’s no meaningful difference between one style and another. People learn a particular style and then they come up with reasons why their style is The Right Way To Do It. (Tabs-versus-spaces is one area where it does matter, as there are good arguments that tabs are more accessible.)
I don’t write a lot of code myself, but I definitely have a personal style that I’ve developed over time. I tend to favor the octothorpe for code comments in languages that give you choices because much of my early coding was in shell and Perl. I write one sentence per line in Markdown because fixed-width lines make for unintelligible diffs and semantic line breaks don’t work with my head for some reason.
But when I contribute to a project with a written style guide, I drop my preferences and follow the guide. Why would I do that, when my way is objectively superior? Because style is about consistency for cooperation, not about my personal preferences. When multiple people work on the same code (or prose, for that matter), inconsistent style can cause confusion. This only grows as more people join in. Worse, a mix of styles can lead to unexpected behavior in languages where, for example the indentation matters.
The GUAC project uses fixed-width lines in the Markdown files for the documentation site. This is enforced by a CI check. My first pull request to the repo failed that check, so I proposed getting rid of it to allow sentence-per-line content. The consensus was to keep it as-is because editors can be configured to hide that and it keeps people from making absurdly-long lines. I disagreed, but I decided to drop it because it was a case where being right was not more important than cooperating.
So if you’re leading a project, document your style. And if you’re joining a project, set your style preferences aside.
This post’s featured photo by Chris Ried on Unsplash
The post Code style guides are for cooperation, not preferences appeared first on Duck Alignment Academy.
Last week I wrote about a campaign that we started to resolve issues on GitHub. Some of the fixes are coming from our enthusiastic community. Thanks to this, there is a new syslog-ng-devel port in MacPorts, where you can enable almost all syslog-ng features even for older MacOS versions and PowerPC hardware. Some of the freshly enabled modules include support for Kafka, GeoIP or OpenTelemetry. From this blog entry, you can learn how to install a legacy or an up-to-date syslog-ng version from MacPorts.
Read the rest of my blog at https://www.syslog-ng.com/community/b/blog/posts/huge-improvements-for-syslog-ng-in-macports
In the early 1990s, the emergence of personal computers (PCs) and laptops began to revolutionize the way individuals and businesses operated. With the increasing reliance on digital data, the need for robust security measures became paramount. This is where the PCMCIA (Personal Computer Memory Card International Association) cards entered the scene, particularly in their role as cryptographic security modules.
This blog post will delve into the history, significance, and evolution of PCMCIA cards, especially as they relate to cryptographic security, exploring the various brands and models that emerged during this transformative era.
PCMCIA, which stands for Personal Computer Memory Card International Association, was established in 1989 to develop standards for peripheral interface devices in laptops and portable computers. The organization created specifications that would allow various types of memory and interface cards to be used interchangeably in laptops. This was groundbreaking at the time, as it provided a standardized way to enhance the capabilities of portable computers.
PCMCIA cards were designed to expand the functionalities of portable computers by providing additional memory, connectivity options, and eventually, enhanced security features. Initially, these cards were predominantly used for modems, network interfaces, and memory expansion. However, as security concerns grew in the digital landscape, manufacturers began to explore the potential of using these cards for cryptographic purposes.
The late 1980s and early 1990s witnessed a significant increase in data breaches and unauthorized access, particularly with the rise of the internet. Cybersecurity became a pressing concern for organizations, governments, and individuals alike. As hackers developed more sophisticated techniques to compromise data security, the need for effective solutions became increasingly urgent.
Cryptography emerged as a vital method for securing communications and protecting sensitive data from interception. The ability to encrypt data meant that even if it were intercepted, it would be unreadable without the proper decryption keys. This was particularly crucial for government communications, financial transactions, and corporate data exchanges, where confidentiality was paramount.
To address these security challenges, manufacturers began to develop hardware-based cryptographic modules. These modules offered a more secure means of managing encryption keys and executing cryptographic algorithms compared to software solutions, which were often more vulnerable to attacks.
PCMCIA security modules, such as the notable M-775 by Mils Elektronik, were designed with advanced features to protect data:
Throughout the 1990s, several top brands emerged in the PCMCIA security module space, providing unique solutions tailored for various applications. Some of the notable brands and models include:
The versatility of PCMCIA security modules made them a popular choice across multiple industries. They were especially prevalent in:
However, by the late 1990s, the landscape of data security began to shift. Advances in software-based security solutions started to emerge, providing greater flexibility and ease of use. Software encryption tools began to offer robust security features that were previously only available through dedicated hardware solutions.
As PCs and laptops transitioned to more modern USB standards, the once-popular PCMCIA slots began to disappear from new models. Manufacturers started focusing on USB-based security devices that could offer similar or even superior capabilities in a smaller, more portable form factor.
The need for dedicated hardware security solutions diminished as software encryption methods became more robust and user-friendly. The last iterations of PCMCIA security modules, such as the M-775’s successor, were eventually replaced by USB-based devices that offered backward compatibility and a more streamlined user experience.
The introduction and widespread adoption of PCMCIA security modules had a lasting impact on data security practices in both public and private sectors. They paved the way for the integration of hardware-based security solutions in portable devices, influencing the design of modern security modules.
While PCMCIA security modules offered significant advancements in data protection, they were not without their challenges and limitations:
The transition away from PCMCIA security modules did not mark the end of hardware-based security solutions. Instead, it laid the foundation for more advanced technologies that continue to evolve today. As cyber threats become increasingly sophisticated, the demand for effective cryptographic security solutions remains high.
The 1990s marked a significant era in the evolution of data security, with PCMCIA cards playing a crucial role as cryptographic security modules. Their ability to provide secure communication and data protection laid the groundwork for the advanced security solutions we utilize today. While technology has since moved towards more efficient methods, the legacy of PCMCIA cards serves as a reminder of how hardware innovations can influence the landscape of digital security.
The journey from these early solutions to today’s sophisticated security technologies illustrates the continuous evolution of the fight against cyber threats. As organizations navigate the complexities of the digital landscape, the lessons learned from the past will continue to inform the development of effective security solutions for the future.
The adoption of PCMCIA cards as cryptographic security modules not only addressed immediate security challenges but also paved the way for ongoing advancements in the field of data protection. The innovations initiated in this era laid the foundation for modern security technologies that are essential in our increasingly digital world.
In retrospect, the history of PCMCIA cards serves as a testament to the importance of adaptability and innovation in the face of emerging challenges. As we move forward, it is imperative that we continue to invest in research, development, and education to ensure that the security solutions of tomorrow are capable of safeguarding our most valuable assets—our data and our privacy.
The post The Rise of PCMCIA Cards as Cryptographic Security Modules in the 1990s appeared first on HamRadio.My - Ham Radio, Fun Facts, Open Source Software, Tech Insights, Product Reviews by 9M2PJU.
This is a summary of the work done on initiatives by the CPE Team. Every quarter, the CPE team works together with CentOS Project and Fedora Project community leaders and representatives to choose projects that will be being worked upon in that quarter. The CPE team is then split into multiple smaller sub-teams that will work on the chosen initiatives + day-to-day work that needs to be done. Some of the sub-teams are dedicated to the continuous efforts in the team whilst some are created only for the initiative purposes.
This update is made from infographics and detailed updates. If you want to just see what’s new, check the infographics. If you want more details, continue reading.
The Community Platform Engineering Team is a Red Hat team that is working exclusively on community projects. Its members are part of Fedora Infrastructure, Fedora Release Engineering and CentOS Infrastructure teams. This team works on initiatives, which are projects with larger scope related to community work that needs to be done. It also investigates possible initiatives with the ARC (The Advance Reconnaissance Crew), which is formed from a subset of the Infrastructure & Release Engineering sub-team members based on the initiative that is being investigated.
Issue trackers
PDC is the Product Definition Center, running at: https://pdc.fedoraproject.org/.
However, this application which was developed internally, is no longer maintained. This codebase has been “orphaned” for a few years now and we need to find a solution for it.
We are reviewing and having a critical look on what we store in there, see what is really needed and then find a solution for its replacement.
Status: In Progress
Issue trackers
Documentation
Application URLs
In the last quarter of 2021, a mini-initiative was completed that finished and deployed the discourse2fedmsg application. In short, this application is a simple flask app that recieves POST requests from discourse (i.e. “webhooks”) and turns them into Fedora Messages, and then sends them through to the Fedora Messaging Queue.
Webhooks are a fairly common feature in current web applications, so this proposal is to create a new web application that can reuse common parts of discourse2fedmsg and set it up to be extended to send messages from other webhook enabled apps.
This would allow us to easily add support for apps like gitlab without having to deploy and create additional flask applications for each app that gets added in the future,
Status: In Progress
Issue trackers
Documentation
There is a kernel test app which helps the kernel maintainers get an idea of which kernels are more tested than others etc. It works by people running a test suite/script on their booted linux box which then makes a test results file. They upload this file to the app and then they can get badges for uploading, etc… Currently this is running on a vm, it should move to openshift, switch to fedora-messaging and do anything else kernel maintainers need changed/fixed.
Status: Done
Issue trackers
Documentation
Application URLs
This investigation is looking at the potential replacement of dist git used by Fedora and what forge would be the best candidate. It’s looking at the user stories for current dist git and if it’s possible to apply them on Forgejo or GitLab.
Status: In Progress
Documentation
If you get here, thank you for reading this. If you want to contact us, feel free to do it on matrix.
As CPE members are part of Fedora Infrastructure, Fedora Release Engineering and CentOS Infrastructure I’m adding here links to Fedora Infra & Releng update and CentOS Infrastructure update.
Note from the editor: This article was drafted more than two months ago, but it was stuck in a backlog of content from before Flock to Fedora. Expect to hear more from the CPE Team for Q3 soon.
The post CPE Update Q2 2024 appeared first on Fedora Community Blog.
Release Candidate versions are available in the testing repository for Fedora and Enterprise Linux (RHEL / CentOS / Alma / Rocky and other clones) to allow more people to test them. They are available as Software Collections, for a parallel installation, the perfect solution for such tests, and also as base packages.
RPMs of PHP version 8.3.12RC1 are available
RPMs of PHP version 8.2.24RC1 are available
The packages are available for x86_64 and aarch64.
PHP version 8.1 is now in security mode only, so no more RC will be released.
Installation: follow the wizard instructions.
Announcements:
Parallel installation of version 8.3 as Software Collection:
yum --enablerepo=remi-test install php83
Parallel installation of version 8.2 as Software Collection:
yum --enablerepo=remi-test install php82
Update of system version 8.3:
dnf module switch-to php:remi-8.3 dnf --enablerepo=remi-modular-test update php\*
Update of system version 8.2:
dnf module switch-to php:remi-8.2 dnf --enablerepo=remi-modular-test update php\*
Notice:
Software Collections (php82, php83)
Base packages (php)