Draw a Cylon eye in DOS
Have fun by writing a program to simulate a Cylon’s sweeping red eye
Using enumerations in C
Using enumerations with enum makes it easy to store values in a program, yet keep the code easy to read.
Using bit fields and bit masks in C
Using bit fields and bit masks is a common method to combine data without using more complex structures.
Enjoy the holidays with this ASCII fireplace
Enjoy the holidays by writing a ‘fire’ program in ASCII text.
What I learned by teaching others
Sharing knowledge with others is often a great way to refresh and update your own expertise.
5 ways to learn about programming
Read these popular articles from the last year to get started on your programming journey.
Remove Background from Photos for Holiday Card Creation with Python
You can use open-source tools to produce holiday cards this year. Suppose you have a great photo of your family or grandchildren, but it was...
5 ways to get the most out of Bash
With a little Bash scripting, you can automate tasks on your Linux system. Learn more with these 5 favorite Bash articles.
Print a spooky greeting in ASCII art
Generate colorful ASCII art from a C program using FreeDOS.
Portable programming practices
Sometimes it’s easier to define your API to hide the platform-specific code
Writing portable C programs
Jim shares this follow-up to an earlier article about programming across platforms.
Programming across platforms
Using these C compiler preprocessor directives to detect the operating system can make it easier to support multiple platforms at once.
Write a guessing game in ncurses
Use the flexibility of ncurses to create a guess-the-number game on Linux.
Terminal size and ncurses
When programs like vi first came along, terminals had a predefined size: usually 80 columns and 24 lines (actually 25 lines, but the last line...
Random numbers from the Linux kernel
Let the kernel generate random numbers for you using ‘getrandom.’
A gentle introduction to ncurses
You can create your own programs that use a text user interface to control the screen.