Computing

Articles related to programming, operating systems, software and many other dimensions of computing

Protect your email with GnuPG

The fourth amendment to the U.S. Constitution protects the people from unreasonable search and seizure, but the U.S. government has concluded that its protections do not apply to several digital media, such as email messages and telephone conversations.1. Consequently, any reliable privacy protections must be implemented by the individual users. Many of the people who use digital media to communicate, however, have only a vague understanding of digital encryption, and even fewer believe that their communication actually requires 'privacy'. This article only briefly addresses the privacy issue, and is designed primarily to offer a general introduction to digital privacy protection, and to describe how to use GnuPG with Mozilla Thunderbird, Microsoft® Outlook ExpressTM, or Microsoft® OutlookTM to begin producing secure email messages painlessly and efficiently. Of the three configurations, Thunderbird is the easiest and most well-integrated configuration (in my opinion, anyway), and I strongly recommend that anyone who is serious about their online security use Thunderbird (actually, several very good email clients exist, some better than Thunderbird, but Thunderbird is arguably the most user-friendly). Mozilla Thunderbird and GnuPG both operate on WindowsTM and Macintosh systems, so you don't need to run Linux to use them. In spite of the advantages, I recognize that many people are still hesitant to venture beyond the realm of proprietary software systems, so I will do my best to provide instructions that work with Microsoft® email systems2.

Footnotes

1. At least, the people's messages are readily accessible to the government. If, on the other hand, you decide to investigate your local Senator's communications, be prepared to spend some time in prison. Evidently that whole concept of no-one being above the law was also just a suggestion.

2. Note that, while the Thunderbird configurations have been empirically verified, the Microsoft® configurations are somewhat hypothetical.

Minimizing Risks While Shopping Online

While some people now do the majority of their shopping online, others are still hesitant to trust the Internet with their financial information. My Dad would fall into the latter category, but he recently asked me about opening a credit account to shop online. I sent him a message that turned into a rather lengthy tutorial about safe shopping online. I have modified the text of that message and posted it here, in addition to links to the sites I mentioned. I have personally purchased items from the retailers listed, and would recommend them to others.

The easiest way to keep the majority of your income safe would probably be to open a checking account with your bank that you will use exclusively for online transactions. This is not absolute fraud protection, but it will mitigate the amount of damage incurred by things like credit card theft.

Using GNU/Linux

I'm still relatively new to the world of GNU/Linux. While I had tinkered with a few bash components previously, I didn't start officially using GNU/Linux until last December (2006), when my previous OS crashed on me for the last time. While I had some trouble adapting at first, I am now finding that I can do much more with a Linux-based OS than I would have even considered trying with my previous OS. One of the first things I learned was to make use of the abundant support and input available from the online Linux community. Because most Linux distributions are Free Software, available documentation is usually readily available, abundant and accurate. I have listed here some of the resources that I have found particularly helpful in my efforts to learn how to interact with Linux.

What is Free Software?

Traditionally regarded as the specialized tools of hardcore programmers and the hacker 1337 (i.e. the hacker elites), Open-Source and Free Software1 seem to be at the threshold of a new stage of adoption.

Footnotes

1. While I sometimes appear to use the terms "Open-Source" and "Free Software" interchangeably, I do not consider the two equivalent. "Open-Source" means (when I use it) that the source code is readily available and that you may access it and modify it for your own use. "Free Software" means that the software is freely available to you, and you are free to do with it as you please (even sell it, if you like). While "Free Software" implies "Open-Source", "Open-Source" does not necessarily imply "Free". For a more thorough discussion of the topic, see Stallman's article, "Why "Free Software" is better than "Open Source"" at the GNU Project.

XHTML Syntax

HTML was the first markup language I learned, and its elegant simplicity provided a shallow learning curve that allowed users with even the most basic concept of computing to produce visually appealing websites. As multimedia content began to flood the Internet, HTML co-evolved with different server- and client- side scripting and programming languages to facilitate the new demands for interactive and dynamic content. The segregation of structural and visual attributes into XHTML and CSS represents a tremendous, but natural, leap forward in the language's evolution. XHTML allows authors to focus on a logical document structure with quality content by passing the majority of the difficult visual settings off the the Style Sheets. This logical division of labour may also explain why many scientists favour the LaTeX markup language over WYSIWYG word processors: writers can worry about their writing instead of wrestling with the typesetting. XHTML also provides HTML with XML compliance (hence the 'X'), the formal markup metalanguage that represents a degree of improvement over its SGML ancestor comparable to that offered by XHTML over its HTML predecessor. Many of the tags have been carried over from HTML, but with two important constraints introduced by the XML. The first is that all attribute valuesmust be enclosed in "quotation marks". Whereas <tr colspan=2> is a valid HTML tag, it must be <tr colspan="2"> to be a valid XHTML tag. The second constraint is that every opened tag must be closed. Even tags without natural closing counterparts (e.g. <br>) must be closed by including the closing in the tag (e.g. <br/>). Once you remember these two rules, then transitioning from HTML to XHTML is simply a matter of learning to separate content from appearance.

Computing and Technology Resources

In addition to its fundamental role in my research, I enjoy computing as something of a hobby, too. As a graduate student and a husband, I don't have too much time to work on things outside of my research, and maintaining this website takes up most of that marginal time. I do, however, still manage to find time to try out minor tweaks and hacks on my home and office workstations. The large number of signal processing and batch routines that my research entails led me to adopt the Ubuntu Linux OS, which I have been pleased with thus far.

As I learn new things in both my research and my personal tinkering, I will share information about different computational techniques and tools here to help save others from repeating the same mistakes I make. Some of the scripts that I find particularly useful I will post on the Site Blog.

Python Programming

Python Scripting

Useful Python Modules

Syndicate content