The above is from the YouTube channel 쿠삼 kusam and is based on a song by Louie Zong.

Welcome to How To Program Anything (Learn How To Program Pretty Much Anything) as put together by Asher Wolfstein and Novelty Factor LLC. The first place you’ll probably want to visit is the about page: About How To Program and Programming Anything. There I explain more about what this site is about, how it works, and who I am.

Something employed on that page that I shall explain here is the “verbosity configurator” I have installed on this site. It’s that little color-coded switchy thingy that moves from Gist, Abridged, and Verbose. If you’re on a desktop it’ll look something like this:

An illustration of the three possible site states for configuraiton: gist, abridged, and verbose.
The various states of the verbosity configurator.

Let’s Give This Site’s Verbosity Configurator A Spin

I shall explain what the verbosity configurator does by using itself as an example. Go ahead and press either of the three states to and see what happens.

  • Gist
  • Abridged
  • Verbose

Choose a setting

The Gist of The Verbosity Configurator

Sometimes you just want to get straight to the point. You don’t need heady context nor endless background. Then this mode is for you: gist. Selecting gist gets you, well, the gist of the section at hand. On the other end, verbose gives you (hopefully) everything you could want in terms of context, background, and personality. Abridged is somewhere in between. You can change this setting on any section at any time (verbose is default). Use at your own risk!

The Short of The Verbosity Configurator

In my early days as a human, I was very good at relaying complex and layered information in regards to something. I was quite good at being able to explain what happened, including motives and context. In time I realized that sometimes people don’t want all that information. They want you to just “get to the point.”

Thus, for the benefit of readers who are more interested in a superfluous survey of a given topic before they delve deeper and otherwise, I create the verbosity configurator. It has three selectable settings: gist, abridged, and verbose (the default). Gist will get you the gist of things: to the point explanations with little to no frills or background. Abridged will get you somewhere between no background and all the background. And verbose achieves total information saturation.

You can change these settings one section at a time at any time. I hope this feature will be able to help you get up to speed quickly when you want, and also offer you the finer details otherwise.

The Long of the Verbosity Configurator

This verbosity setting is actually inspired by experiences in my past. When I was young I was very good at relaying complex and layered information in regards to something. I actually began talking before I could fully walk, which explains a lot. With said skill, I was quite good at being able to explain exactly what happened as I witnessed it, including motives and context. Early on though, I presumed that was what I needed to do all the time. Well not quite so.

I learned over time that there was a third component of communication, the audience’s motives. If someone wanted all that information, it was great. But, if they just wanted to understand quickly, or in fact they already were aware of it, it was much better to just “get to the point.” And so, I learned in time to figure out how to pare my stories down with regards to what I was trying to accomplish.

Some Readers…

In the context of this site I realized that some readers may desire the full detailed background on every little thing like a proper geek worth his salt, but others… well, there’s a reason the “In 24 Hours” book series exists. The tail end of all this is that sometimes you just want to grasp the bare minimum quickly before delving deeper.

The verbosity configurator does just that. If you desire a straight and to the point explanation with little to no frills or background, use the “Gist” setting. That’s the gist of it. If you desire something between zero context and outright history of the world then select “Abridged.” It’s a bit like Reader’s Digest. And lastly, when you’re ready and desire all the information you can handle, select “Verbose.”

The default setting is verbose, but you can change it section by section at any time. I hope that this feature will be able to help you get up to speed quickly when you want, and also offer you the finer details otherwise.

What’s This About, “Hello, World?”

Presumably, we are here to study programming; be it a computer, a robot, an appliance, reality, whatever. It is customary to engage in a ritual known as “Hello, World!” when first starting out studying a given programming language/system. The idea is to create a basic minimum programming implementation in a given language/system that outputs or signals the phrase, “Hello, World!”

This tradition is said to have begun with the C programming language. The book, The C Programming Language by Brian Kernighan ad Dennis Ritchie, contains an example program that does exactly what’s been described. It outputs “Hello, World!”, and looks something like this:

main( ) {
    printf("hello, world\n");
}

This example program was actually inherited from an internal memo by the same Brian Kernighan titled Programming in C: A Tutorial that he sent while at Bell Laboratories in 1974.

The purpose of these programs is to show in a very concise way what a program in a particular language might look like. The “Hello, World!” Program of C may look quite different from one done in Python or ColorBASIC (the author’s first language). The intention is to provide a basic template for a program to perhaps someone less experienced. I often see them employed to help excite the enthusiastic student of programming by giving them a method of “making something happen” in the programming language. In this way, it often becomes a sort of read-eval-print-loop (REPL), just done by hand.

Hello, World! Welcome to How To Program Anything

In light of this, then, I have decided that this post will serve to announce to the world that How To Program Anything is (re-)opening its doors for new scholars. This site has had previous incarnations that were mildly successful but unfortunately weren’t very maintainable for one reason or another. It is my renewed hope that this site can live up to its fully qualified domain name (FQDN).

A Briefing On Site Structure

To get the most out of this site you should have an idea of how it is organized. On the About page I delve into this site’s particulars of organization in depth. I shall reiterate them here briefly so you know what you’re looking for.

The site is divided up into five main sections: Core Theories and Knowledge, (Programming) Languages, Applications, Technologies, and (Programming) Fields. Each section title is somewhat self-explanatory, but just in case each section comes with its own description. These five sections are accessible through the following base urls: /core/, /languages/, /apps/, /tech/, /fields/.

At each base URL, you’ll find in the sidebar (the navigation links on the right side of the page) the sub-categories of that particular section. These will lead you and give you an idea of what further refinements are available on the site. The refinement, or subcategory, is then reflected in the URL after the main category, for example: /apps/wordpress/.

On top of these categories (categorical imperatives?) are what I call qualifiers. The two current qualifiers that are available are news and tutorials. The idea here is that you can append these two items on the end of a given URL to access just the news, or just the tutorials for that given topic. For example, if I wished to only read news about WordPress I’d go to /apps/wordpress/news/, whereas for tutorials I would go to /apps/wordpress/tutorials/.

This Site’s Theme (The Dark Mode)

I love dark mode. The first time I encountered dark mode was on my phone unsurprisingly. I believe it was the Twitter app. I switched it on, and oh my god, I fell in love. Since that time I’ve looked for dark mode on everything, including my operating system, websites, and desktop apps. It’s so much easier on my eyes, and really, in the end it may even use less electricity. It’s a win-win!

Because I love dark mode so much, I designed the How To Program Anything site in “dark mode.” I’m aware that some people may prefer “light mode,” though I don’t understand why. Light mode for this site doesn’t currently exist. If there’s enough demand for it, I’ll develop a light mode (and maybe some other modes?) In the meantime, please bask in the dark mode glory that is this site.

Is How To Program Anything Right For You?

At this point, you may be asking yourself, “Is this website the right fit for me? Am I going to get out of it what I’m looking for? Will this really be worth an investment?” That’s a good question and one that isn’t necessarily straight forward. This is something I touch upon in the About page as well, but I’ll also expand a bit here.

My goal with this site is to provide technical (sometimes highly) information in a fun, unique, accurate, and hopefully engaging way. As a writer, I am an artist first with this site, a programmer second. That may seem like an odd priority arrangement for a site like this, but it is made deliberately. There are plenty of sites where you can “learn programming,” both paid and free. In fact, the market for programming tutorials is pretty vast, and competition is fierce.

Programming Is Fun, Creative, And Quite Personal

It’s always been my feeling that programming is fun, creative, and quite personal. It is much like writing a book, except that your book can actually get up and do things. The programs that people end up making are expressions of the things they wish to be able to do. That’s how it was for me when I programmed my TRS-0 Color Computer II 16k to do my monotonous spelling homework. And that’s how it is for me today, as I work on computer games and robots.

I’m not here to bore you, or just dryly shove minutiae at your face, nor even tell you what to do. I’m here to open up the world of programming to every seeking mind and expand its limitless possibilities. I want to inspire the creative, the homebrew, the dreamers, and the engineers, with the idea that they too can program computers. They can bend these machines to their will.

It is my hope, amidst all the myriad resources out there detailing everything under the sun for the umpteenth time, that for some this can be an entertaining quality diamond amidst the sand. If the character and personality, or artiness, of this site, are somehow unsatisfactory for you, there are plenty of other high-quality resources out there for you to peruse.

Acknowledgements:
Photo by Adam Lukomski on Unsplash