The People Behind The Site

Although this site is set up to host the work of multiple dedicated authors, it is currently spearheaded by its founder Asher Wolfstein. If you are interested in becoming a contributor please use the form at the end of the post to contact us.

Asher Wolfstein – Founder

A man in a dog mask is using a retro computer.
Asher Wolfstein operating his TRS-80 Color Computer II 16k

How To Program Anything is the brainchild of programmer, author, and artist Asher Wolfstein. He currently leads Novelty Factor, a working group of Original Pursuits LLC, which provides working environments for creative projects. Novelty Factor is the lead sponsor of the How To Program Anything.

Asher was deeply inspired at a young age during a personal demonstration of the Nintendo Entertainment System, North America’s version of the Japanese ファミコン. The three games initially demonstrated were Super Mario Bros., Legend Of Zelda, and Kid Icarus. It wasn’t long before Asher’s family had an NES of their own and a subscription to Nintendo Power. After Asher read an article on Shigeru Miyamoto (宮本茂), he quickly determined his future career would be “game designer.” He has cultivated a deep passion for bringing the worlds of fantasy and art to life through electronics in creative ways.

Acting as lead author/editor, Asher is a self-taught programmer of more than twenty years. He first taught himself ColorBASIC on a TRS-80 Color Computer (CoCo) II 16k from the included manuals at seven. After his family acquired a Macintosh IIsi for Christmas, he upgraded to Microsoft QuickBASIC. As a pre-teen, he moved on to C/C++ using his older brother’s college textbook and the Metrowerks compiler CodeWarrior on the Motorola 68k processor of the IIsi. Eventually, he used his own 4-H savings to purchase a PowerPC-based computer (a step beyond his brother’s Quadra’s 68040 processor). After graduating high school, he worked as an insurance agent, but then as a professional programmer for the Gunbarrel-based firm Output Services Inc. Here, he used his C, SQL, and PostScript skills to optimize the company’s printing processes by up to 40%, decreasing processing time, memory size, and, subsequently, power input. After OSI, he worked for a year as a Technology Paraprofessional running the computer lab and tech support at the elementary school he attended. He now lives in Fort Collins, CO, with his husband, developing websites and computer games.

He also has his own personal blog, World Of Wunk, and leads an online project for the Chraki constructed (programming) language.

Want To Contribute?

If you are interested in our work here and think you want to contribute please fill out the form below:

Contact us

Recent Posts

Negative Binary Numbers

A non-standard positional notation is one where the value of each position isn’t necessarily a straightforward power of the radix. I am also including when the radix is not a positive integer (such as -2), even though mathematically the representation is consistent with standard positional notation. By altering the interpretation of one or more of the place values (or the radix) of a binary representation, we are able to represent negative values. In this post I’ll be covering sign-magnitude, the most intuitive method, the radix complement methods (ones’ complement and two’s complement), offset binary (also known as excess-k or biased), and base -2 (base negative two).

Read More »

Binary (Base-2) And Its Operations

This article continues the trend of the previous articles and begins with a history of binary. After that, I briefly reiterate why binary is used in modern electronic devices as covered in the previous article, and go into more depth regarding binary “sizes” (bit, byte, kilobyte, etc.) Then I move on to important elements of binary arithmetic, and the operations of addition, subtraction, multiplication, and division. I cover two operations often found in computing processors, the shift operators, and their mathematical meaning. Finally, I briefly cover Boolean logic operations.

Read More »
An incadescent lightbulb burns.

Radix Economy

This article begins with a recap of where we are in the series in regards to the concept of counting. I review the definition of positional notation as outlined in the first article and then move on to reveal how we can calculate the number of digits a value will have in a given radix. In doing so I will go over two mathematical concepts relevant to this calculation: exponents and logarithms. I will then use logarithms to show how you can calculate the efficiency of a given radix, also called the radix economy, and answer the question, “What’s the most efficient radix?”

Read More »
A measurement chart in a shoe store.

Converting To Binary, Octal, and Hexadecimal

This is the second article in a series whose intention is to have the reader able to understand binary, octal, and hexadecimal; three radices of great importance to contemporary computer theory. This article builds upon the previous article by outlining three important radices (binary, octal, and hexadecimal) that are useful in the field of computer science. I start with arbitrary base conversion using two methods. Then, a bit of background is given for why these bases are important, particularly binary. Finally, we perform radix conversion.

Read More »
A man in darkness has computer code projected onto him.

Understanding Radix

This article puts forth a brief history of counting, which details how we arrived at some of the conventions we have today, including the notion of radix. It then explores the concept of radix in positional numeral systems, and in particular the concept of using radices of arbitrary values. With this foundation, it becomes a simple exercise to use binary, octal, and hexadecimal, each with a radix of two, eight, and sixteen respectively.

Read More »
A set of cathode ray tube based numeric displays.

Binary, Octal, And Hexadecimal

This series intends to have the reader able to understand binary, octal, and hexadecimal; three radices of great importance to contemporary computer theory. By the end of this series, you should be able to read and convert integer values into binary, octal, and hexadecimal, perform arithmetic operations on all three representations, understand basic Boolean operations, and otherwise have a further appreciation of the power of binary.

Read More »
  • Follow On Twitter!