Programming Articles

Tag Archive for: programming


Programming an ATmega8A using Arduino

If you are interested in programming and electronics, you probably do not need an introduction to Arduino. If you want to make your Arduino projects permanent,…
cpu programming

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…
programming gpu

Parallel Programming on an NVIDIA GPU

This article is the first of a two-part series that presents two distinctly different approaches to parallel programming. In the two articles, I use different…
setup raspberry pi cluster

How to Setup a Raspberry Pi Cluster

INTRODUCTION As a long-time computer programmer and almost as long a High-Performance Computer (HPC) user, I really didn't know anything about how these…
c++ guide for beginners

Guide to C++ Programming For Beginners

Contents 1. Getting a C++ Compiler and Compiling Your First Program 2. Simple Datatypes and Declarations 3. Operators and Expressions 4. Input and…
bloatware android phones

Clearing Misconceptions and Some Tips on Debloating Android Phones

What is bloatware? When you unbox your new phone, it comes with Android that is pre-installed by the manufacturer. This is termed “stock firmware”.…
recursion in programming

Recursion in Programming and When to Use or Not to Use It

Recursion is actually quite simple. It's a subroutine calling itself. It's surprising but some problems that look quite hard can be trivial using recursion…
AVX-512 conclusion

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 registers

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…
AVX-512 Assembly Programming

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…
Data Structures Programming

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

Learn Orbital Mechanics in Unity Game Engine for Augmented Reality

In this Insight, I’ll go over implementing basic orbital mechanics simulations in the Unity game engine as well as an approach to scaling the simulation…

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 in order…

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…

An Introduction to Computer Languages

In this Insights Guide, the focus is entirely on types of languages, how they relate to what computers actually do, and how they are used by people. It…

Reflections on Technology Product Quality

On Hardware Quality It is impossible to test quality into a product. Quality must be designed into the product.The hardware designer is always…

Why Your Software is Never Perfect

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

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…