A Web Site for Developing Web Sites

Back in January of 1993, Marc Andreessen and his team released the Mosaic web browser. It captured my imagination for several reasons. First, it brought the promise of a platform independent means for sharing information across the internet. It was not only a hypertext system but a hypermedia system.

At that point, the network barely had enough bandwidth to support the transmission of photographs, much less video. But Mosaic didn’t restrict the type or size of content. It was built to allow the browser to be extended to support new media types and protocols as the were developed. That was the inspiration for the name of the program. It was a Mosaic of protocol engines and renderers.

The second feature that captured my imagination was the description of the input mechanisms provided by that early version of HTML. I reasoned that if this browser could be evolved to allow arbitrary input as well as rendering new kinds of output as they were developed, then it was for all intents and purposes a platform independent, Graphical User Interface (GUI).

This came at a time when users were arguing over which operating system would dominate the world of desktop workstations. There were three major contenders. First, there was the Macintosh. Then the PC running Windows. Bringing up the rear was unix and linux both running the Xwindows system.

Here, presenting itself in the guise of an humble hypertext reader, was a potential answer to the tower of Babel situation that we found ourselves in. Realizing that vision has taken the better part of ten or fifteen years.

The technologies that made this possible are Cascading Style Sheets, Javascript, HTML5, the Apache web server, and Node.js. These are not the only technologies that contributed to this web application platform, but they are the most significant ones.

At this point we have the means to make web development easy and platform independent but lack the resolve to implement a web development tool that runs on the cloud and is simple enough to use that mere mortals (and managers) can use it to maintain their information on the web.

There is actually several packages that come close to providing the cloud centric development that I am talking about. The one that has captured my imagination is called XWiki. It allows you to create content interactively by using the same kind of tools that you do to browse a web site.

The place where XWiki falls short at present, is in its lack of an obvious way to import a complex brand identity framework and use it as a template upon which to implement the actual content of the site. It should be possible to import the content from other programs or files, as well as dynamically creating it in the framework.

I’m sure such frameworks exist. They’re just not open source or as simple to use as I would want them to be. I’m still intrigued by XWiki but it has fallen back in my estimation of it’s ability to  be easily extended to support the kind of web site development that I’m trying to foster.

I haven’t really talked much about my vision for this tool. That may be because I am still fleshing it out in my mind. I will give it some thought, take some notes, and make another stab at specifying the tool that I’m dancing around tomorrow.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

Unconditional Positive Regard

My father was a professional teacher. For the most part he taught Speech, English, and Drama in high school. He was a big believer in life long learning. Every summer he and my mother both enrolled in graduate level college courses. My brother and I attended summer school programs at the university school.

I remember one summer when he was studying for a masters degree in guidance counseling he was taking some course or another in psychology. He would often share some of the interesting things that he learned with my mother, brother, and me. On this occasion, he was telling us about a counseling technique that was based on showing the client unconditional positive regard.

Unconditional positive regard is not unconditional approval. Instead it is an attitude that one takes toward the person instead of the things that the person may have done. By giving the client your positive regard without making it conditional on anything that they do or refrain from doing, you open up the potential for dialog with them.

I took this technique to heart and used it in my personal relationships. Consequently, I made friends with people that were outcasts. In some cases, they were actually pathological liars. That is, they actually believed the tall tales that they told. They were so hungry for friendship that they were extremely loyal to me. The problem is that they tended to put off other people that weren’t so willing to accept these people at face value.

I always used the following criteria when deciding whether to accept things that these people told me, “Would it hurt anyone or thing to accept what they are saying?” When I say accept, I mean that I didn’t argue with them or openly contradict them. I wouldn’t stand by and let them tell lies about other people but if they wanted to tell me that they had been taken for rides in UFOs, I was willing to take them at their word.

The thing that I didn’t realize that resulted from this practice was that I became considered to be an outcast by many people because I had friends that were outcasts.

I’ve been giving this a good bit of thought lately. I think it is a contributing factor in why it has taken me so long to learn accepted social behavior. Thank goodness my wife is so good at such things. She keeps me from making too many social gaffs.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

The Making of a Programmer, Part IV

I finally finished my first bachelor’s degree and realized that I was going to have to change jobs to realize any monetary benefit from it. I did some networking and managed to find a job working on the so called Star Wars program, officially known as the Strategic Defense Initiative or SDI. I was part of a group that had a charter to apply Artificial Intelligence technology. The situation we were faced with was that we didn’t have any projects that needed AI technology.

Consequently, I found myself writing networking software to support distributed simulations of SDI systems. It was very similar to the work that I had been doing. It wasn’t AI but it paid the bills.

My next career move was to take a position as a system administrator at the Huntsville Operations Support Center (HOSC) at Marshall Space Flight Center (MSFC). This was a very challenging but rewarding time in my career. The principle challenge was that we were so grossly understaffed. By the time I got this message across to management, I was totally burned out. Reluctantly, I took a job with a less demanding schedule.

Then, I got a rare opportunity to join an Artificial Intelligence Laboratory at a major aerospace company. I jumped at it. I haven’t done much AI work but I have had a challenging, varied, and ultimately rewarding career there. I had no idea I would still be there twenty five years later.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

The Making of a Programmer Part III

I worked at Intergraph for six years. When I started there it was a startup in the exponential growth phase. It was exhilarating to come to work every day. I was working on cutting edge technology. My first job at Intergraph was as a technician. I tested and repaired specialized computers that were optimized to search graphics files for patterns. My Army training had prepared me for just such a job.

I enjoyed my work for six months or so. Then I got tired of working with broken computers all the time. One of the engineers discovered that I knew how to program and gave me some tasks to do. Before I knew it, I was working for him and he was the head of the newly formed networking department.

I was given the task of writing a program to copy files from one computer to another over the network. Originally the plan was to write the program using Pascal, I high level, structured programming language. I was uncomfortable with that. I kept finding problems with the implementation of Pascal that would have to be worked around. I finally suggested that we implement the program in assembly language.

Programs on the PDP-11 were often given three letter names. I called my file transfer program IFM and told my boss it stood for Intergraph File Management. I told my friends the truth. It stood for It’s F%#$ing Magic.

After making IFM work between two PDP-11 computers my next challenge was to add VAX-11 computers to the mix, that is I had to transfer files from PDP-11 to VAXs, VAXs to PDP-11s,  and VAXs to VAXs. Luckily, VAX-11 assembly language was a super set of PDP-11 assembly so the translation went smoothly.

The next challenge came when Intergraph decided to build an intelligent desktop workstation that ran Unix. I was provided an early prototype of the workstation, serial number 8, to get file transfer working. This time the underlying file system was different than it was on the DEC machines. I had to start from scratch. I decided to use C, the system programming language made famous by the Unix system.

My new file transfer program was called FMU for File Management Utility. I leave it to the reader’s imagination what that actually stood for. C proved to be a powerful language and I learned to employ all kinds of heuristics to determine how to preserve the semantics of the files while transferring them from one type of file system to another.

It was during this time that I went back to college. I had over two years of credit under my belt and the college that I was attending didn’t have a Computer Science degree program at the time. So, I took Physics, and Calculus, and all the computer science classes that they offered. I ended up getting a Bachelors of Science degree in General Studies.

I worked full time while getting that degree. The last term before I graduated, the college announced that they were going to start offering a Computer Science degree. I asked what it would take to get a second degree in Computer Science. They looked at my transcript and said that all I would have to do would be to take forty more hours to establish residency and I would have the degree.

By this time I was friends with most of the professors in the Computer Science department. I arranged to teach one class and take two ever term until I finished my second degree. I taught Operating Systems a number of times, 8086 Assembly Language, and Artificial Intelligence. It was a great time, but all good things must come to an end.

One of the other colleges in the area had a bunch of Computer Science professors with PhDs that didn’t get tenure. The college that I was attending snapped them up and didn’t renew their contract with anoy of the adjunct professors with less than a PhD. I took my second Bachelors in Computer Science and called it a day.

Next installment I’ll talk about my experiences working on the Star Wars program, working for NASA, and landing my dream job at an AI lab.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

The Making of a Programmer, Part II

When we left off I was talking about my experiences circa 1980. I had been writing Computer Aided Instruction (CAI) for the Army in BASIC. In particular, I was writing code for the Commodore Pet. It ran a particularly nice version of Microsoft BASIC, complete with support for both audio cassette storage and disk drives connected via the IEEE-488 GPIB interface standard.

Personal Computers of this era rarely had hard drives. The hard drives made developing software for the Pet relatively nice. It was while working there that I discovered that it was possible to write self modifying code on the Pet. That was, to my mind any way, a necessary, if not entirely sufficient, requisite for creating Artificial Intelligence.

During a Christmas leave we went home to Murphysboro, Illinois to visit my parents. My dad was a high school teacher and was negotiating the teacher’s salaries for the next school year. He had access to a Radio Shack TRS-80. I wrote a BASIC program that was essentially an early forerunner of a spread sheet to allow him to analyze the effect of salary adjustments on the overall cost of a given proposal. He could run two or three scenarios in the time that it took the school board to analyze one. I was proud of my impromptu hack.

After I got out of the Army, I went to work for a little company in Birmingham that specialized in selling personal computers to small businesses. They were particularly appreciative of my ability to go back and forth between building and troubleshooting hardware and writing software.

My big achievement there was a program that allowed a person with a blueprint of a sheet metal part to describe the part to the computer so that the computer could generate a paper tape to control the machine that automatically punch out the part. The paper tape was called a Numerical Control (or NC) tape. I called my program an NC Compiler. I had to write an assembly language driver to control the paper tape punch that was hooked up to the computer.

It is important to say that I wasn’t learning how to program in a vacuum. For my entire four years in the army and for years afterwards I subscribed to Byte magazine. Byte magazine was completely devoted to personal computer hardware and software. They published schematics of hardware, and listings of software. Every August the published their annual computer language special issue in which they featured a different computer language every year.

Byte is where I learned about Pascal, Lisp, Smalltalk, Forth, Modula 2, Ada, Prolog, and other languages that I don’t even remember off the top of my head. They also published reviews of the various personal computer hardware and software products. It was the only magazine that I had ever subscribed to that I read the advertising as diligently as I read the articles.

There were other computer magazines that were influential like Kilobaud, and Dr. Dobb’s but Byte was the best of the lot. I wonder how kids today learn about computers but then I remember that they have something that we didn’t. They have the internet. If you want to learn something about programming today you have your choice of articles, books, or even videos telling you how it’s done. For that matter, you have the complete back catalog of Byte magazine and Popular Electronics at your finger tips. Of course, they are a bit out dated now. The are interesting from a historical perspective I guess.

When I left the small startup in Birmingham they still owed me several months pay. I finally was able to negotiated a swap for some flaky computer hardware in lieu of the back wages that I had little hope of ever seeing. Subsequently, I spent many a frustrating hour investigating the operating system of the little computer by translating the numerical operation codes back to the assembly code mnemonics so that I could analyze them, a process called disassembly.

It was about this time that I decided to go back to college and finish my bachelor’s degree. In the next installment I will talk about the languages that I was learning, and some of my experiences working for Intergraph.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

The Making of a Programmer

I sometimes think about the way that I learned about computers. I started out with a subscription to Popular Electronics magazine. At the time, I didn’t know much about electronics. I quickly learned about Ohm’s law which describes the behavior of electrical current in a resistive circuit. I picked up various details about other types of circuits and components by reading articles about them.

My dad’s cousin, Jim Shrewsbury had written an introductory book on radio. I read it cover to cover. I decided that I wanted to get an amateur radio license so I bought a copy of the ARRL Radio Handbook. I had trouble mastering morse code so I didn’t obtain a license until I was an adult. But I learned a lot about electronics.

In January 1975, Popular Electronics published the first installment of a two part article on building a small computer. Up until then, computers were large machines that took up lots of space and required lots of power. The idea of an individual owning one was rather novel. My imagination was sparked. I wanted one.

I read everything I could find about computers. I got access to a multi-user computer called Plato at the college library. When I was desperate for a job I enlisted in the Army for training in digital computer repair. After a struggle to pass basic training, I found myself in Huntsville, Alabama at Redstone Arsenal to learn how to fix the computers in the Pershing missile system.

The first part of the course taught us about digital logic, the basic building blocks of computers. Next, we learned about a small computer built specifically to teach how computers worked called the ComTran-10. I later learned that it was patterned closely after the Digital Equipment Corporation PDP-8 minicomputer. This was my first experience with writing assembly language programs for a computer.

Assembly language is the native language of a computer. It varies between computer models. Each assembly language instruction corresponds to an instruction that the central processing unit (CPU) of the computer executes natively. Once you’ve learned how to write programs in assembly language there is no program, in theory, that you can’t write.

That is of course a bold statement. It assumes that you can break down the problem into simple enough pieces that it can be expressed in assembly language. It also assumes that when you finish breaking down the problem, you have enough hardware resources, memory, CPU time, etc., to actually execute the program.

The way most modern programs are written are in higher level languages. Higher level languages are programs that translate programs from languages that are easier for humans to understand into the raw binary numbers that represent the assembly language instructions that the CPU can directly execute.

The process of translation is magical. The first higher level languages were written in assembly language. But then, the subsequent higher level languages could be written in the earlier higher level languages. In modern times, the only people that actually know assembly language are the people that design CPUs and the people that write higher level languages. (Even though the higher level languages are written in other higher level languages, the still have to generate assembly code as output.)

In the rest of the course, we studied the two computers that actually comprised the Pershing system, the guidance computer and the launch computer. We studied every component in the entire system. We learned to troubleshoot the system down to the individual component level. In the end, we knew how those computers worked.

When I got back to Redstone Arsenal from my tour in Germany, it was to spend the balance of my enlistment as an instructor in the school where I had learned about computers. By this time the Commodore Pet computer was being used to teach students about digital logic. The Pet was the forerunner of the famous Commodore 64 computer that many kids of a younger generation than me cut their computing teeth on. The Apple II and the Radio Shack TRS-80 were also on the market by then.

BASIC was the language that all of them were programmed in. It was the language that I used to become a journeyman programmer. It was exciting. It was more powerful than any language I’d programmed in before (with the possible exception of the Tutor language that the Plato system used). But for all that BASIC was an awful language. But it was the best thing that we had at that time.

That was a turning point in my career as a programmer and it will serve as a good stopping point in my story. In the next installment, I’ll give some examples of the kinds of programs that I wrote in BASIC and the languages that eventually replaced it.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

A Word or Two About Apple

I am an unabashed Apple fanboy. I have owned Apple products for years. I am well and truly invested in the Apple ecosystem of content and applications. I still believe that Apple produces the best products that are on the market today. That’s not to say that I don’t have concerns about Apple’s future.

The Apple of today is different from the Apple of a few years ago. A few years ago they were still executing Steve Job’s vision. Apple is an outstanding engineering company. They have proven time and again that they can design and build the best devices on the planet.

Apple has never succeeded by competing with the other companies in their market. They have done so by defining new markets and new products. They have repeatedly imagined totally new ways to deliver wondrous experiences that have taken would be competitors years to understand, much less replicate.

Apple still builds outstanding products. What they need is a visionary. Until they find one, the competition will continue to catch up with them until they have totally lost their edge. I hope they find one soon. I hope they return to the days of reality distortion fields and products that have to be touched and seen to be appreciated.

For now, I love my new MacBook Pro. I think the Touch Bar is entertaining if not indispensable. I think the USB-C ports are brilliant. It is without a doubt, the best computer I have ever owned. Some people insist on driving the best cars. I insist on owning the best computers. This one lives up to my standards.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

Time is a Relative Phenomena

One of the peculiar attributes of human beings is our ability to think about time. We have a perhaps unique awareness of time passing that is based on our ability to remember events that happened before the present and to anticipate events that will happen later. Consequently, we have a clear concept of both the future and the past.

Furthermore, we divide time up into intervals, from short intervals such as a second or less, through moderate intervals of minutes and hours, up to longer intervals of days, weeks, months, years, and longer. A strange phenomena that accompanies our ever evolving perception of time intervals is that the older we get, the shorter a given time interval seems to us. This is because our perception of time is based on comparison of any given duration against the total time that we have been alive.

I recently spent some time thinking about what it would be like if we could perceive time at a radically different scale, for instance at the scale of billionths of a second or nanoseconds as they are called. That is the approximate duration of operations that occur in the central processing unit of a computer.

I was writing a science fiction story in which one of the characters merges their mind with that of a computer. It occurred to me that one of the communication barriers to be overcome between artificially intelligent entities and humans would be one of their vastly different perception of time. As a consequence, large portions of the story that happen inside the machine take place in the blink of an eye on the human scale.

I have always had an intuition that artificial intelligence would not be created by programmers writing programs that were intended to behave in intelligent ways but rather would emerge as a federation of systems that were composed of parts that were programmed by people. Perhaps this has already happened but these artificially intelligent entities perceive time on such a vastly different scale that they are unable to imagine life at any other scale.

Imagine if you will that Sequoias were intelligent beings that perceived time on the scale of years. Would we be able to fathom their intelligence? Or even more extreme, imagine that stars are intelligent creatures that perceive time on a scale of millennia. How would we communicate with them?

The world is a strange place. The more you think about it, the more you realize that it is even stranger than you can possibly imagine. That is not to suggest that you shouldn’t try. On the contrary, stretch your imagination at every opportunity. It is what makes mankind great.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

So You Want to Write a Blog?

How to blog.

I’ve been blogging every day for six months now. I have learned a few things about what works. I’ve learned lots of things that don’t work. I decided that it might be worth while to capture some of these ideas, both for my own reference and for any of my readers that might be considering taking the plunge and starting a blog. I highly recommend it.

Know why you are blogging.

It is a lot easier to succeed at something if you understand what you are trying to accomplish. I wrote about why I blog in a previous post so I won’t go into any further detail here. I’ll just say that it does help to get you started in the first place and to decide when your finished.

Understand your audience.

This is an aspect of blogging that I’m still struggling with. It is critical though. You obviously can’t please everyone. The better that you know exactly who you are writing for, the easier it will be to please them.

I’ve often said that I write for someone who is interested in the same things that I’m interested in. I’m interested in too many things for that to narrow it down enough. Also, a lot of things that I am interested in are so personal that I doubt anyone else would be interested in them.

Definitely give it some thought and spend some time trying to write a succinct statement describing who you are writing for. Revise it periodically as you find your voice. The clearer you are about this the better your blog will target them.

Have an opinion.

If you are motivated enough to write a blog about something, you probably have an opinion on the topic. You should state your opinion firmly. There is no need to preface your statements with “I think”. It is your blog. By definition, this is what you think. That is what people are looking for, an informed, rational position on the topic. Either that or a controversial rant. No one likes to read wishy washy prose written by someone who can’t make up their mind one way or the other.

Do your homework.

Before you go out on a limb, check your facts. See what other people have written about the topic. You don’t have to agree with them. In fact, it will probably be more interesting if you don’t. If your post is just going to be a rehash of something someone else has already written, you either need to think of how to say it better than they did, not an easy job, or, think of a way to spin your topic so that you discuss an aspect of it not covered by other authors. Of course you always have the option of picking a new topic altogether.

Organize your thoughts.

This is a step that I’ve only recently mastered. Up until then I would start writing without thinking things through and I’d write until I had written everything I could think of pertinent to the topic. I would often contradict myself and sometimes totally leave out critical points of my argument.

Then I started writing a simple, single level, bullet-point style outline of what I wanted to say. This has had two effects. First, it has helped me focus the post on a single topic instead of wandering around it hit or miss.

Second, after I’ve written down my points, I find it much easier to actually write about them. I actually understand what each section is trying to say. It is also easier to decide when I’ve said enough in a section and can move on to the next one.

Write.

You know who you’re addressing and why. You know what you’re going to say and the order you’re going to say it in. Now comes the fun part. You sit down and fill in the blanks. You write your heart out. You tell it like you’re talking to a friend. The words will fly off your finger tips.

Be sure you cover each of the points that you’ve laid out in your outline. While your at it, you can check to see if you forgot something in your outline. Maybe it came to you while you were writing. It is perfectly okay to adjust as you write.

Read what you’ve written.

Now comes the hard part. I can’t emphasize how important this step is. Once you’ve written your blog post, be sure to read it carefully. Look for words that, while spelled correctly, may not be the word you intended, after all who writes with an editor that doesn’t have a spelling checker these days.

I often find that I leave words out entirely or, in the process of editing a sentence, I will mangle it up so that it no longer makes any sense at all. It is better to catch these errors before you hit the publish button than discover them the next day after everyone has had a chance to see how careless you are with your proofreading.

Every time I publish a post without proofreading it first I have found that I have published mistakes. That’s not to say that I don’t miss mistakes when I do proofread, only that there are always mistakes of one sort or another to be corrected when I don’t.

Give it a catchy title.

When you’ve put the time into writing a post, you want people to read it. Remember that first impressions are important. The title is how your reader forms their first impression of your post. It has got to be attention grabbing while at the same time capturing the essence of the piece.

A good rule of thumb for organizing your post is to put the most interesting things first and then add less interesting details as it progresses. This is not always possible, especially if you are describing a process, like this post for example.

Promote it.

You’ve written your post. You’ve given it a good title. Now you need to take a moment to promote it. There are two things that you need to do at this point. First, take advantage of the category and tag features of your blogging software. They make it easier for people to find your post with search engines.

Second, you need to post pointers to it on social media like Facebook, Twitter, Tumblr, etc. Some blogging platforms have features that help you automate that process. I have found that most of my new readers find out about my blog on Facebook or Twitter.

So that is what I’ve learned about how to blog. I hope it helps you if you decide to write a blog of your own. There are plenty of free blogging sites out there that make it easy to set up a blog. You’ve got no excuse. Set up a blog and start posting today.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

For Katee Miller

Why did I decide to blog every day?

I wrote a minimum of seven hundred and fifty words in my journal every day for four years or so. It taught me to write better. It helped me learn how to overcome the fearsome blank page that strikes fear and writers block into the hearts of writers everywhere. But after a while I found myself wanting to write in a more public forum for several reasons. Let me tell you about them.

Writing to be read by other people.

No one reads my journal but me. That is by design. It frees me to talk about things too personal to share with strangers. But, while therapeutic, it doesn’t scratch the itch that every writer has, to write something that someone else enjoys reading.

It is both thrilling and scary. Thrilling to think that you may give someone else an experience like the ones that lead you to want to write in the first place. Scary to think that you won’t measure up to the standards of the writers that inspired you. But if you don’t try you’ll never know if you measure up and even if you fall short to begin with, if you keep at it, you’ll get better. You may not be Shakespeare or Hemingway but you have a unique perspective that deserves to be shared with the world.

Writing to publicly commit to a position.

When you write in a public forum it forces you to think about what you are saying. Do you want to stand by this position? Once you press the button and post, you have gone on record. You can delete the post on your own site but totally eradicating it is difficult.

I have stashed several blog posts because they were either too personal or took a stand that I was unsure about. It is important to learn that once you’ve said something, it can’t be unsaid. But you can’t let that rob you of your voice.

Writing enforces daily contemplation.

Socrates supposedly said “The unexamined life is not worth living.” I don’t know if I’ll go that far but I do value the exercise of stopping to think about things critically. I learn a lot when I do that. I learn how much I don’t know. I learn how much I knew that I didn’t even know that I knew.

And putting it into prose allows me to examine my own reasoning. I often discover that something that I thought I believed doesn’t hold up to disciplined rational scrutiny. I have also found that when I read something again after I have written it and then let it sit for a while, I have different insights about the topic than when I originally wrote it.

Writing on a deadline.

Writing on a deadline teaches the art of compromise. You aren’t always going to produce your best writing. Sometimes you just have to do what you can and accept what you have done. You could probably improve on what you have written if you had time to think about it for a while but by definition, you don’t have time to think about it.

Perhaps you do think about it some more. Then you can write a new blog post about your further thoughts. Or, you can collect your blogs together and edit them into a longer piece and spend time then reworking the ones that didn’t meet your standards the first time around.

Communication is never perfect. We refine our communications skills every time we speak or write. The more we communicate, the better we get at it. That is the best reason that I can think of to write on a deadline. It forces you to publish a lot.

Because I want to.

The last reason is the most important to me. I write because I want to. I enjoy the process of putting words on a page. I like the way my fingers feel when I type. I like the way the pen glides across the page when I write on paper. I love the smell of new stationary.

It reminds me of my mother. She was a writer. She always joked that she had given up on writing the great American novel and had set her sights on writing the great American paragraph.

She was an English teacher. She taught Journalism and was the sponsor of the school newspaper. She taught me how to write headlines so that they would fit in the space at the top of the article. This was before word processors made this a trivial matter.

I write for all of these reasons but I hope that my mother would be proud of my accomplishments as a writer. I wish she had lived long enough to write a blog. I would have loved to read it.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.