Hacker Public Radio

HPR4235: What Is Plain Text Programming?


Listen Later

This show has been flagged as Clean by the host.

Episode 3 - What Is A
Plain Text Program?
What Is A Plain Text Program?

Today I'm going to go into more detail about what I mean when I say

Plain Text Program. I want to emphasize that this is just me. Others may
have different ideas on this topic. This is how I try to write Plain
Text Programs. I will feature other people's work that I still consider
to be Plain Text Programs that do not follow all of these
guidelines.

I want to thank the hosts on the monthly HPR Community News podcast

for inspiring me. They had questions. I also want to thank those making
comments. I'm new to Hacker Public Radio and I will try to be more
timely responding to comments in the future.

What Is A Plain Text File?

Text files are usually edited in a text editor or in a word processor

and saved with the .txt extension. They consist of a string of
characters. Text files can be divided into lines using the newline
character, \n, or the carriage return and newline
characters, \r\n. You don't have to type these characters.
Your editor puts them in for you.

Text files do not have to use the .txt extension. Most programming

files, like .php or .c files are plain text. I will only be discussing
programs that are open source and that store their code in text
files.

Plain text configuration files often have no extension. For my Plain

Text Programs I use config.inc.

There is no difference between text files and plain text files.

People often say plain text files to distinguish them from word
processor files like .doc or .odt files.

Plain Text Programs use text files to store text like a title or a

blog post. When I talk about Plain Text Programs I also mean something
more than this. That's what this podcast is about.

No Database?

Plain Text Programs do not use a database like mysql or postgres.

Also the file system does not imitate a database, creating keys,
indexing, etc.

Instead the file system performs the database functions by accessing

files which can be text files, graphics files, or other files. These
files can be all in one directory or in multiple directories in a single
directory tree.

If password security is required in a Plain Text Program that runs on

the internet I make an exception to the single tree rule to allow
passwords to be stored outside of the webspace.

So the assets a Plain Text Program accesses are just files in the

file system.

No HTML Or Other Markup
Required

I have no rule against allowing html or other markup. But I do not

assume that the maintainer knows how to do this or wants to learn it.
The reason I started writing Plain Text Programs was to avoid html
markup. I want to be able to type text files, save them, and upload
them, without being concerned about anything except the text itself.

The text files holding the content are written in block paragraph

style with a blank line between paragraphs. Text files are not required
in a Plain Text Program but most Plain Text Programs do use some text
data which should be stored in text files.

If this is a web application, links can be copied and pasted from the

browser with no additional markup required.

Other assets in the directory, like .gif, .jpg, or .png images,

display automatically.

I use the file names for meta data like title, caption, or sort

order. I can also sort chronologically using the file timestamps.

If there is a hierarchy of directories the program can use the

directory name of the child directories for the link text. For instance
the Delta Musicians directory tree can have a Table Of Contents at the
top level that lists the musicians in alphabetical order. Each musician
gets their own subdirectory and the name of that subdirectory is used to
generate the link and link text for that page.

Then, each page can use Dirt Simple Photo Gallery and the program

generates the caption from the image's file name.

All configuration is also done in a text file. I use a well

documented config.inc file that initializes php variables.
The maintainer of the application is never required to edit source
code.

Does Plain Text
Mean There Is No GUI Interface?

No. I write mostly web apps so they run in the browser interface.

Also, Plain Text Programs do not require a GUI. It could run in a
terminal or as a cron job. The program could play a music playlist or
run a slideshow with no input at all.

What Do
I Have To Know To Maintain A Plain Text Program?

The maintainer of the program will have to be able to 1. Create and

edit text files in a text editor or word processor 2. Copy and paste
links, iframe embeds, file names, titles, etc. 3. Rename files 4. Upload
and download with ftp

Executive Summary

A Plain Text Program does not use a database like sql. Instead it

stores the assets in the file system and accesses them using the file
system.

A Plain Text Program does not require html or other markup. Text

assets are written in block paragraph format. If the maintainer prefers
to use a word processor instead of a text editor that's fine as long as
the files are saved as text files with the .txt extension. Most word
processors support this.

Plain Text Programs can support links if the links are copied and

pasted into the text file with no markup required.

Plain Text Programs can support iframe embeds if the embed code is

copied and pasted onto its own line in the text file.

All of the assets for a Plain Text Program are stored in a single

directory tree. This is one of the main advantages of Plain Text
Programs because it makes them easy to backup and restore so they are
very portable. I sometimes make an exception to this if I want to save a
password on a webserver outside of the webspace.

A Plain Text Program uses the file and directory names for meta data

like titles, captions, or sort order. The file timestamps can be used
for chronological sorting.

All configuration is done by editing a well documented text file. The

maintainer should not have to edit the program code.

The maintainer should be allowed to edit the program code. I will

only discuss open source programs that store the program itself in text
files.

More Questions?

I thought so. Comment on Hacker Public Radio or at Gamer+DBN. I will

include links in the show notes.

Provide feedback on this episode.

...more
View all episodesView all episodes
Download on the App Store

Hacker Public RadioBy Hacker Public Radio

  • 4.2
  • 4.2
  • 4.2
  • 4.2
  • 4.2

4.2

34 ratings


More shows like Hacker Public Radio

View all
Security Now (Audio) by TWiT

Security Now (Audio)

1,973 Listeners

Off The Hook by 2600 Enterprises

Off The Hook

117 Listeners

No Agenda Show by Adam Curry & John C. Dvorak

No Agenda Show

5,938 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

283 Listeners

LINUX Unplugged by Jupiter Broadcasting

LINUX Unplugged

265 Listeners

BSD Now by JT Pennington

BSD Now

89 Listeners

Open Source Security by Josh Bressers

Open Source Security

43 Listeners

Late Night Linux by The Late Night Linux Family

Late Night Linux

154 Listeners

The Linux Cast by The Linux Cast

The Linux Cast

35 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

7,874 Listeners

This Week in Linux by TuxDigital Network

This Week in Linux

36 Listeners

Linux Dev Time by The Late Night Linux Family

Linux Dev Time

21 Listeners

Hacking Humans by N2K Networks

Hacking Humans

314 Listeners

2.5 Admins by The Late Night Linux Family

2.5 Admins

92 Listeners

Linux Matters by Linux Matters

Linux Matters

20 Listeners