beanz Magazine


Steve Starer on Flickr

Eating dog food doesn't sound like much fun but it's an important part of creating software.

Dogfooding is short for “eating your own dog food”. As a software company or developer, this means using for yourself the software you write for your clients.

This has great advantages because you are able to see what the user experience is like for your clients. You are also more likely to fix a bug if it affects you in your daily work.

For a long time the compiler for Microsoft’s C# programming language was written in C++. Recently the C# team at Microsoft created a new compiler called Roslyn, which is written in C#. It is a lot faster than the previous compiler and it has the advantage of now being cross-platform (it works on different types of computers). I think it is cool that the code to write the language is written in the language.

No one really knows where the term dogfooding or eat your own dog food comes from. In the 1980s, there was a TV commercial actor Lorne Greene mentioned he fed Alpo dog food to his own dogs. And the CEO of Kal Kan Pet food also supposedly ate the company’s dog food product at annual company meetings.

However, the first mention for computer programming was in an email from a 1988 email from Microsoft manager Paul Maritz, titled Eating our own Dog Food, encouraging another Microsoft manager to use their products as a way to understand and improve themm.

So now that you know what dogfooding means, you can find ways to try it yourself. What software do you use, or could you use, that you might also build for other people?

Learn More

Eat Your Own Dogfood

What is the Work of Dogs in this Country?

Also In The December 2016 Issue

Hour of Code and EU Code Week are events designed to introduce kids, young adults, and others to programming and computer science.

Real life treasure hunts are a way to get outdoors, learn map skills, and have fun finding hidden caches near you.

A trainable puppy plus treats plus technology equals a dog that can send selfies. Here's how.

An app to help kids remember important stuff like feed your pets, brush your teeth, and smile.

These books include lots of great projects to work on by yourself or with others, from Scratch and Minecraft to fun maker space projects.

The mBot robotics kit is an excellent comparatively low-cost way to begin working with robots.

There are maybe a bazillion Raspberry Pi projects online. Here are really fun projects plus links to find more.

The Wayback Machine lets you travel back in time to see old websites. Plus the Internet Archive has thousands of vintage games, software, books, and more.

Eating dog food doesn't sound like much fun but it's an important part of creating software.

The ability to identify patterns, decompose large problems into small parts, develop algorithms to solve problems, and generalize to find solutions.

To celebrate this wonderful time of the year, let’s create some holiday music using Sonic Pi on our Raspberry Pi.

This project shows how to use the pygame code library to move simple animations with the Python programming language.

This project, shows you how to create your own random password generator in the C# programming language.

These projects mix science and technology in interesting ways. Sewing and electronics, for example, is a different way to learn about electronics.

Links from the bottom of all the December 2016 articles, collected in one place for you to print, share, or bookmark.

Interesting stories about computer science, software programming, and technology for December 2016.

What sounds like a country western dance actually is an efficient way to sort large sets of data randomly.