Programming Articles

Tag Archive for: programming

ATmega8A

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 didn't know anything about how these machines…
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 which 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 quite simple. It's a subroutine calling itself. It's surprising but some problems that look quite hard can be trivial using recursion - but…
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

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

An Introduction to Computer Programming Languages

/
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. It is a general…
qualitycontrol

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

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 software is never…
computermath

Why Can’t My Computer Do Simple Arithmetic?

/
https://www.youtube.com/watch?v=yYSlcBghLZMThe first computer I owned was an Apple IIe computer, with a CPU that ran at slightly over 1 Megahertz…