Tag Archive for: programming

Program ATmega8A with Arduino: Step-by-Step Guide
/
2 Comments
Introduction
If you are interested in programming and electronics, you probably do not need an introduction to Arduino. If you want to make your Arduino…

Parallel Programming on a CPU with AVX-512
This article is the second of a two-part series that presents two distinctly different approaches to parallel programming. In the two articles, I use different…

CUDA Regression Line: GPU Parallel Programming Guide
Overview
This article is the first of a two-part series that presents two distinctly different approaches to parallel programming. In the two articles,…

Raspberry Pi Cluster Guide: Parts, MPI & Slurm Tips
INTRODUCTION
As a long-time computer programmer and almost as long a High-Performance Computer (HPC) user, I didn't know anything about how these machines…

Beginner C++ Tutorial — Compiler, Types & I/O Basics
ContentsGetting a C++ Compiler and Compiling Your First Program
Simple Datatypes and Declarations
Operators and Expressions
Input and Output…

Debloating Android Phones: Risks, Myths and Safe Tips
What is bloatware?
Stock firmware and preinstalled apps
When you unbox a new phone, it comes with Android pre-installed by the manufacturer. This is…

Recursion in Programming and When to Use or Not to Use It
What is recursion?
Recursion is quite simple. It's a subroutine calling itself. It's surprising but some problems that look quite hard can be trivial using…

AVX-512 Assembly Programming: Opmask Registers for Conditional Arithmetic Conclusion
In the first part of this article (AVX-512 Assembly Programing - Opmask Registers for Conditional Arithmetic), we looked at how opmask registers can be…

AVX-512 Assembly Programming: Opmask Registers for Conditional Arithmetic
This is the second installment in a continuing series of articles on Intel AVX-512 assembly programming. The first installment is An Intro to AVX-512 Assembly…

An Intro to AVX-512 Assembly Programming
History
In 1998, the Intel Corporation released processors that supported SIMD (single instruction, multiple data) instructions, enabling processors to…

Intro to Data Structures for Programming
Introduction
In the first part of this series, I talked about some fundamental notions in the world of algorithms. Beyond the definition of an algorithm,…

Unity Orbital Mechanics and AR Scaling: Implementation Guide
In this Insight I describe implementing basic orbital mechanics simulations in the Unity game engine and an approach to scaling the simulation for Augmented…

Intro to Algorithms for Programming
Many threads here at PF include some questions about how to learn to program. This is asked by Physics students who want to learn programming to help their…

The Joy of Processing
In the early days of the personal computer revolution, computers were small, simple, and easy to operate. It was always great fun to write BASIC games…

Types of Computer Languages: From Machine to High-Level
Introduction
In this Insights Guide, the focus is entirely on types of languages, how they relate to what computers do, and how they are used by people.…

Hardware, Software, and C Programming Quality Tips
On Hardware Quality
Designing Quality vs Testing
It is impossible to test quality into a product. Quality must be designed into the product.
Production…

Why Your Software is Never Perfect
Introduction
We occasionally have students ask for help on software, "My software is perfect, but it doesn't work!" Your software is never perfect. My…

Why Can’t My Computer Do Simple Arithmetic?
The first computer I owned was an Apple IIe computer, with a CPU that ran at slightly over 1 Megahertz (MHz), and with 64 Kilobytes (KB) of RAM, together…
