Raam Dev » thoughts essays journal notes contact about subscribe rss

Posts Tagged: Blogging

Redefining the Purpose of my Technology Blog

A little over nine months ago, I announced Solid State Raam, a technology blog dedicated to my explorations of the digital world. It was originally set up to give myself a place to write about technology and document my discoveries without feeling like I was alienating visitors on my personal blog. The new blog was, however, lacking a vision; it mostly existed “just in case” I wrote something that I felt was too long or complex for my personal blog. In short, the motivation for writing new content just wasn’t there.

In the past, I had spent enormous amounts of time searching for a “perfect” theme, so when I put up my technology blog I decided to use a default WordPress theme and be done with it, however, last month Cody McKibben of ThrillingHeroics.com released his awesome (and free!) custom WordPress theme. Solid State Raam was in terrible need of a facelift, so I installed Cody’s theme and spent a little time tweaking it. The new theme seemed to breathe some motivation into writing for the blog, but there was still something missing: a vision.

Incidentally, the installation of the new theme coincided with another event. After explaining the WHOIS system to my dad one evening, I realized that I have a passion for helping others understand the digital world. The WHOIS system is a rather boring subject, even for a geek like me, but I nevertheless found myself explaining it to my dad with great enthusiasm. When I thought back to the other times where I had explained technology to people, I realized that I’ve always been enthusiastic and excited about it, no matter how boring or simple the subject was to me.

With this new understanding of my passion for helping others understand technology, a more clearly defined vision for my technology blog has emerged: A place to not only document my discoveries but to also help others understand the world of technology with which I am so familiar.

The world is filled with evildoers looking to take advantage of those who know very little about technology: identities are stolen, wallets are emptied, and valueless electronic goods are willingly purchased as a result of pure ignorance. Many people are fully aware of their ignorance to technology and, as a result, using technology creates intense frustration. I have often wondered how much more enjoyable the web would be for people if they knew how they could find anything with Google, or if understanding the simple difference between a web browser and an operating system would help prevent them from becoming victims to identity theft.

If I can help alleviate fear, frustration, and ignorance towards technology by simply providing a resource for people to educate themselves, then I will be helping to make the world a better place.

Blogging from the Command-Line

I’m a command-line person. If you can show me a command-line version of something I already do in a windowed environment, I’ll get stuff done faster. I often look for command-line solutions to tasks that become repetitive and feel as though time could be saved by doing them on the console.

A recent example of this is the posting of asides on my blog. Asides are often very short (one or two sentences at most — they appear on my blog without a title) and navigating the WordPress Administration interface in a web browser simply to post one or two sentences became very time consuming and distracting. Since I’m constantly editing files and code on the console using my favorite editor (vi), being able to quickly create and post an aside from the same environment would be awesome.

Before writing a tool that allowed me to post to my WordPress blog, I searched Google to see if someone else had already written something. Sure enough, I found blogpost, a script written in Python by Stuart Rackham:

blogpost is a WordPress command-line weblog client. It creates and updates weblog entries directly from AsciiDoc (or HTML) source documents. You can also delete and list weblog entries from the command-line.

It uses XML-RPC to post to WordPress blogs and also supports automatically uploading media files (images, videos, audio, documents) that are referenced within the AsciiDoc (or HTML) post file. Check the blogpost man page for full details.

Remember, my main goal here is to make posting short asides easier. I’m perfectly happy using the WordPress web interface to write longer posts. In fact, I prefer the web interface for longer posts because I get things like automatic spell checking (through OS X) and automatic draft saving (through WordPress).

After installing blogpost and modifying the configuration file to include my WordPress login details, I created a file called post.txt using the vi editor and, after saving the file and closing vi, I published the aside using blogpost:

$ blogpost.py --title="My Test Aside Post" -U --doctype='html' create post.txt
creating published post 'My Test Aside Post'...
id: 2758
url: http://blog.raamdev.com/2009/01/24/my-test-aside-post

$ blogpost.py cat --categories="Asides, Blog Entries, General" post.txt
assigning categories: Asides,Blog Entries,General

Note that I only need really basic formatting (i.e., HTML for links), so I use the --doctype='html' option. This allows me to type raw HTML in vi when I’m editing the post file, just as I do now in WordPress (I don’t use the Visual Editor).

While the options and flexibility provided by blogpost are great, the process of publishing an aside needed to be more automated to solve my problem. Creating a new file in vi, typing all those options, running two separate commands, and then deleting the file every time I wanted to post a few sentences on my blog didn’t make a whole lot of sense. So I whipped together this little shell script to help automate the steps above:

#!/bin/sh
##
## aside.sh - automates publishing asides using blogpost.py
##

# Open a temporary file in the vi editor
vi aside.$$

# Display new aside before publishing
echo "New Aside:"
cat aside.$$
echo

# Prompt for an aside title
echo "Enter a title for this Aside:"
read TITLE
echo "OK!"
echo

# Using the temp file saved above, post the Aside
blogpost.py --title="$TITLE" -U --doctype='html' create aside.$$
blogpost.py cat --categories="Blog Entries, Asides" aside.$$

# Remove the temporary file
rm aside.$$

Now posting an aside to my blog is as simple as running ./aside.sh, typing the aside in vi, saving and quitting (:wq), and then typing a title. The rest of the work, including cleanup, is taken care of by the script!

Stuart did an excellent job with blogpost and if you have a blog and use the console (and why shouldn’t you?!) I recommend you check it out. The blogpost README is a great place to start, as it includes prerequisites and installation information.

The Impersonalization of Blogs

Have you ever wondered why my blog was not more personal? I came across an article on Digg today about making an impression with your resume. The first point in the article answers that question: “Do I know you? Whether I do or not, I’m going to immediately Google you to see if I should. Oh, you a have a weblog. Excellent.”

I believe this is the reason many blogs are not personal. Instead, many of them are a simple narrative of the individuals interests and/or opinions, or a chronological account of places they’ve visited. And I don’t blame them! I mean really, how many of us would want our boss to know everything about our personal lives? Heck, what about our parents, co-workers, or even wives and girlfriends? Everyone keeps something from someone — things they’d rather just keep to themselves. Even if its just a simple thought, or a series of thoughts, or an opinion that you know would be misunderstood by those around you. So what’s the big deal? Just keep it all to yourself, right?

The big deal is that humans need to communicate. They need to vent. They need to talk to others about whats on their minds. Who knows, maybe our brains are wired to share such information — to help pass on knowledge. When we have something thats bugging us, we want to tell others; we want to hear others’ opinions. This is why nearly every blog has a commenting function — the ability to leave a comment on a specific post.

It was only a few generations ago when a person could move out of state, start a new life, and not worry about bringing their past with them. Sure the past might catch up — someone might wander through town who happens to know who you are — but in reality people’s lives were very much isolated from those living thousands, or even hundreds, of miles away. The advent of the technology has suddenly brought human lives much closer. Do you want to contact John Doe living 5,000 miles away? No problem, lets just pick up the phone and dial his number. Oh, you need to send a letter to Jane Smith 12,000 miles away? Here’s her email address — she will receive the letter within a few minutes. These were unheard of only a few hundred years ago!

Personal lives are no longer personal. For your life to be personal you have to work at it, you have to constantly think about what information you’re making available to others. Oh, you’re worried about having your identity stolen? Fine, but that means no credit cards, bank accounts, cell phone, car, house, drivers license, birth certificate — I could go on!

How can someone be personal on a blog when the information is bound to be made public? That would make the personal information public information — so whats the point? If you want to create a blog, go ahead. Just don’t expect to express yourself, especially your personal self, without letting everyone know about it. My blog is intentionally impersonal. I prefer to keep my personal life just that, personal. There have been plenty of times when I wanted to write what was on my mind — but then I realized I wouldn’t want at least half the people I know to read what I would write.

Where in the world is Raam?

Join the Facebook Community

Raam Dev » thoughts essays journal notes contact about subscribe rss

Powered by WordPress and other Open Source Software
Uncopyright by Raam Dev