Posts Tagged: internet


26
Mar 09

New Web Host

This afternoon I took the plunge and transfered my website from BlueHost to Webfaction. There are two main reasons for this switch. First of all, I’ve been learning website programming with Python and the Django framework. My previous host does not support Django, and it seems Webfaction is the most popular host among Django geeks. Also, BlueHost does seem to oversell a litle too much, while I’ve heard good things about Webfaction in that regard. There is one good thing that I’ll say about Bluehost though, which is that their tech support is friendly and very fast.

This afternoon I purchased my Webfaction account, then made a dump of my MySql DB for WordPress, created a tarball of the WordPress site files, then downloaded both to my laptop. Webfaction supports full shell/SSH goodness, so I then SCP’d both files to the server. I had a bit of trouble with importing my MySql dump into a new database, so within minutes of submitting a support ticket, I recieved a responce containing two SED lines to fix the problem. A few minutes latter I was up and running.

30 minutes ago I pointed my domain name to the new servers, and I am waiting for the settings to propagate to DNS servers world wide. Meanwhile, Webfaction does not provide DNS hosting, so I purchased a Network Solutions account, and am waiting for crashsystems.net to transfer there. Once that happens, I’ll finally be able to create my own bloody cname records (DNS tunnel FTW!).


3
Mar 09

Simple email encryption with FireGPG

Privacy was once the default for most conversations between individuals. While the Internet has become an extremely useful tool for facilitating conversation, it has also done away with almost all of the privacy that was once inherent in communication. This has profound societal consequences that few have even begun to contemplate. Furthermore, the spread of unencrypted email means that it is nearly trivial for various repressive governments to spy on those who differ from the government sanctioned political and religious norms.

Though the technology was once closely guarded by the United States government as a form of export controlled munitions, encryption is now freely available to the masses. However, much of the technology is not easily understandable by the masses. With this in mind, I wrote Simple email encryption with FireGPG as a cross platform guide for email encryption, with a target audience of ordinary, non-technical Internet users.

Simple email encryption with FireGPG is licensed under a Creative Commons Attribution Share Alike license, meaning you are free to copy it, share it, modify and translate it, as long as you do so under the terms of the license. If you do make a derivative or translation, please tell me about it so that I can link to it from the project page.

I plan on periodically updating the guide as changes are made in the FireGPG extension. If you have suggestions for improvement, please leave a comment on this page or contact me. You can subscribe to this RSS feed for updates.

Download Version 1.0


24
Jan 09

Contemplations: Unofficial Identi.ca Group Etiquette

Well, here goes my first attempt to create a blog post intended for starting a conversation…

As I’m sure most users have noticed, the Open Source microblogging site Identi.ca underwent a major revamp on 23rd January. In addition to having a very cool new “Web 2.0″ visual theme, the groups feature was added. As the name implies, this feature allows users to join groups based upon interest, location etc.

Like so many other things, I believe this great feature has one potential downside. Just as one can follow too many people, and therefore become overwhelmed by information overload, it is also quite possible to have groups that fail to serve any real purpose, due to the high level of traffic.

I think part of the issue is due to how easy it can be to confuse groups with hashtags. They are quite similar, aside from the fact that when a message is sent to a group, it is seen by every member. Some people might think that some sort of control mechanism must be built in to regulate group usage behavior, but I am of the opinion that enforcement should be avoided whenever possible.

There are all sorts of unofficial, unenforced rules that govern society, more commonly known as etiquette. With that in mind, what do you think would be some good unofficial guidelines for the group feature? Feel free to comment below, and/or post your ideas. If you do post, please use the #etiquette tag.


4
Jan 09

Keryx Tutorial: Bringing Updates Home

Update 20/2/09: Keryx 0.92 has been released, with several new features and a few important bug fixes. If you are using the previous version, please upgrade now. Check out the release notes for a list of what has changed. For a screenshot walk-through of the changes, check out this blog post.

Translations / Tutorials In Other Languages:

Though in most North American cities one cannot find a spot without at least a weak WiFi signal, many of us Linux geeks still live in rural areas with less Internet connectivity. Also, in various non-Westernized nations, there is a growing number of Linux users who may have a computer at home, but cannot afford a decent connection. For both groups, software updates typically demand an Internet connection, which can make updating difficult if not impossible. There is now a solution though, a new program called Keryx.

Keryx was written by Southern Illinois University computer science student Chris Oliver, who wanted a way  to download software and updates for Ubuntu systems that had little or no connectivity. Simply put Keryx on your pen drive, use it to create a new project file which retains a copy of your software sources and other system details, then take the pen drive to a computer with a better connection. Via it’s Synaptic like interface, users can then select all updates for download, plus select any other software they may want to install, complete with dependency resolution.

Because it is written in Python, and utilizes wxWidgets for it’s interface, Keryx can run on Linux, OSX and Windows. Pre-compiled binaries for Windows are included in the download (meaning you don’t need to install Python and wxWidgets first), and similar binaries for OSX and Linux are in the development road-map, along with Debian/Ubuntu packages.

.

This tutorial will walk you through the simple process of using Keryx to get updates and new software. Keryx currently only works for Debian based distros, but there are plans for adding support for a number of other package management systems. The system being updated is running Ubuntu 8.10, with no network connectivity. The system that will be grabbing the updates is running Windows XP, though it could just as easily be Windows 95 through Vista, OSX, or another Linux box.

.

Extract the zip file
Go to the Keryx website and click the download link. Once the download is complete, put it on a USB pen drive that has a decent amount of free space, and unzip it.

.

Starting a project from the CLI
Keryx uses wxWidgets for it’s graphical interface, and a default Ubuntu install does not have wxWidgets installed. Therefore you must create your project file in a terminal window. Fear not, as it is really quite quick and painless.

Simply open up your terminal, and then navigate into the “linux” directory inside the Keryx folder. On my computer this was “/media/disk/keryx/linux” but it will look a little different for you, depending upon what your pen drive is called. Once you are in that directory, enter in the following, making sure to replace <project> for whatever you want to call your project and <plugin> for they type of system you are updating, in this case debian.

python keryx.py –create <project> <plugin>

note: the above is two dashes, but my font makes it look like one.

In a few moments the project will be made. When this happens, close out of the terminal and safely remove your pen drive, to take to another computer.

Note: For some people, Keryx may experience difficulty fetching the package list files in the next step, if their repository mirror is set to the regional default. If you experience this, consider selecting a different mirror in System/Administration/Software_Sources and then repeating step #2.

.

In this tutorial I am using a computer running Windows XP as the computer with a high speed connection. However, this could just as easily be done on any Linux or OSX computer, so long as they both had Python and wxWidgets installed.

The Keryx main window
On your Windows computer, plug in the pen drive and open up the Keryx folder. In this folder you will see a “win32″ folder containing prepackaged binaries for Keryx. Using these you can run Keryx without having to first install Python and wxWidgets, making Keryx a very portable application. The file you need to run is called “keryx.exe,” though Windows may hide the .exe part from you. When Keryx opens, click “Open Project” and find the project file you created a few minutes ago.

Downloading package lists
When you open Keryx, go ahead and let it download the latest package list.

.

The package list
Once the package lists have been downloaded, you’ll see the full Synaptic-like package list in Keryx. This list can be sorted by package name, status (not installed, installed, needs updating, etc.), etc. The first thing you’ll want to do is click “Get Updates” near the top of the window.

Snarfing 210 updates...
When I started the download, Keryx had 210 files to download. Your number will vary, but you are likely to have a lot of updates if you have a fresh install. Keryx will tell you when it is finished, so you might want to go get some coffee.

.

Searching for a package
You probably want to be able to install wxWidgets on your Ubuntu system, so that you can run the Keryx graphical interface on it. Near the top of the window, start typing “wxversion” in the search field. Because the Keryx package search tool is so amazingly fast, you’ll only need to type the first few letters before you see python-wxversion. Right-click this package and then click download. It has several dependencies that Keryx will tell you about, so go ahead and let the program download those as well.

.

Installing updates via dpkg
With all your packages downloaded, close Keryx, safely remove your pen drive, and go back to your Ubuntu machine. When you plug the pen drive back into your Ubuntu machine, you’ll notice that the package are stored in projects/<project>/packages (where <project> is the name you gave the project). You’ll need to open up your terminal again, and navigate to this directory. Once there, run the following:

sudo dpkg -i –force-depends *.deb

Running updates
This line will install and/or update all the packages in that directory. The “force-depends” parameter is necessary in this case, as we are installing the wxWidgets packages, which have a circular dependency. Without this parameter, dpkg will start whining at you. If you have as many packages as I had, this may take a while. Go refill your coffee, and by the time you get back, the install might be done. Thats all there is to it!

.

Despite already being a rather useful tool, there are a lot of enhancements planed for the near future with Keryx. Most of it’s features, including it’s package management support, are implemented via a very flexible plugin infrastructure. So if you are a Python hacker and would like to help implement some of the new features, or have some ideas of your own, feel free to check out the code and dive in!

If you run into any problems using Keryx, or would like to report a bug, check out the friendly forums.

.

  • Support for more distributions, such as Fedora, Red Hat, Mandriva et al.
  • Package management like support for downloading and installing useful Open Source Windows software.
  • Built-in installation of downloaded packages, so the user need not mess with the CLI
  • Pre-compiled self contained binaries for Linux and OSX (like what already exists in the win32 folder), so that no matter what OS a user is running, they will be able to simply plug in their USB drive and run the graphical interface.
  • Improved documentation

AWSOM Powered