Programming Articles

Tag Archive for: programming

ATmega8A

Program ATmega8A with Arduino: Step-by-Step Guide

/
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…
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

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,…
setup raspberry pi cluster

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…
c++ guide for beginners

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…
bloatware android phones

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

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 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

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…
algorithms

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…
processing

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…
computerlanguages

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.…
qualitycontrol

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…
softwarenotperfect

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…
computermath

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…