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 ostensibly protects individuals from unreasonable search and seizure by the State, but says nothing about protection from others, such as supervisors or tabloid reporters who might wish to access your personal information. Moreover, the legal protections that fourth amendment safeguards offer are often circumvented by the State, sometimes legally under judicial review, and frequently illegally. Digital communications, and email messages in particular, are relatively easy to track and monitor without either party's knowledge. Consequently, any reasonable expectation of privacy depends on safeguards implemented by the end users. Many of the people who use digital media to communicate, however, have little to no knowledge of of digital encryption, and few consider their messages sensitive enough to merit such measures. Nonetheless, instances where a reasonable degree of privacy is helpful do arise, from the need to transfer confidential medical or human subjects data to a particularly sensitive personal message. This article briefly addresses the basic privacy issues, and then offers a general introduction to digital privacy protection, including how to implement useful encryption and authentication utilities provided by GnuPG with Mozilla Thunderbird, Microsoft® Outlook ExpressTM, or Microsoft® OutlookTM. Of the different email applications covered, I consider Thunderbird the most well-integrated and straightforward, and I highly recommend it over its commercial competitors. Mozilla Thunderbird and GnuPG both operate on WindowsTM and Mac systems, so you don't need to run Linux to use them. In spite of the advantages, I recognize that many people are hesitant to venture beyond the realm of proprietary software systems, or prevented from doing so by their IT departments, so I will do my best to provide instructions that work with Microsoft® email systems.

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 SoftwareWhile 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. seem to be at the threshold of a new stage of adoption.

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