Technology Stuff

Tuesday, February 5, 2008

The RSS Web We Weave

I ran across this just now. I'm not sure that it is something that I would use as I tend to just use my brain to filter out crap I don't want to read (hence, I don't click on it). However, I have mentioned here before that I'm a fan of AideRSS. As I thought about it some more, I guess you could called AideRSS a kind of filter. By using AideRSS, I depend on "the community" to filter out some crap for me.

What made me write this post however, was thinking about how many levels of indirection an RSS feed might pass through by the time I read it. Using my own feed as an example, I write it on Blogger, then I "burn" it with FeedBurner. There's one. Then, someone might use AideRSS to get out my "best" posts. There's two. Next, they might run it through FeedRinse to cleanse out the content they find objectionable. There's three. Now, that it's clean, they might do God knows what with it after running it through Yahoo Pipes. There's four. And that is before they even see it in their aggregator, which may have another set of tags, virtual folders, or searches. Wow....

The Windows guys won't get this, but those whole idea just parallels so well with the philosophy of the *nix operating system.

Write programs that do one thing and do it well.
Write programs to work together.
Write programs to handle text streams, because that is a universal interface.

Saturday, December 29, 2007

Mobile phone usage analysis

I mentioned earlier that I am using the Tmobile "myFaves" plan. This plan allows me unlimited calling to five numbers and 300 minutes to all other numbers. Now, there are two, maybe three, people that I talk to regularly so they instantly went into my "faves". For the remaining slots available, I want to make sure that I am getting the numbers in there that I talk to frequently. Since I'm allowed to make changes once per month, I have been going through a quick spreadsheet analysis to determine which numbers I am using the most and ensure they are in my "faves".

To do this analysis, I first downloaded my call records from Tmobile's website. They offer the ability to download in a CSV format making it easy to import into your favorite spreadsheet.

I, then, created a pivot table on my call data. (If your favorite spreadsheet cannot do pivot tables, then get the free OpenOffice application.) To create the pivot table, I simply highlight the data, drag the "minutes" column into the main data space, drag the "numbers" column into the left-hand row space, and click "done".

Once the pivot table has aggregated all my minutes by number, I then highlighted that dataset, sort descending by minutes, and I now have a nice list of my most frequently used numbers!

Using the top five of these numbers, I go back to Tmobile's website (which has timed out my login. Nice.) and "manage" my "faves". This has been a very useful activity taking about 10 minutes once per month. This activity really saved me last month when a friend that is on my list of five changed their phone number. I updated it in my phone's contact list, but did not remember to update my "faves" until just now when I looked at the data. It would be nice if Tmobile would aggregate the data in this way, but I suspect it is not in their interest for me to have a finely tuned "fave" list.

Sunday, December 16, 2007

Local Shared Objects (aka: Flash cookies)

Just when you thought you were protecting your privacy by preventing cookies being stored on your computer, The Man has found another way to do the same thing.

The Man's new trick is called "Local Shared Objects" (LSO). LSO describes the capability of Adobe's Flash software to store information on your computer without you knowing about it. Furthermore, other websites can access this information to understand more about you and places that you have visited before.

Adobe provides a tool to give you control over how LSOs are stored on your computer. I highly suggest that you check this out and alter the default settings for your computer. To use the tool, log onto the Settings Manager, and jump over to the "Website Privacy Settings Panel".


You will likely see a long list of "Visited Websites". As soon as I saw this, I immediately hit the "Delete all sites" button and then thought about taking a picture. Oh well...

Browse through each of the tabs along the top. If you are like me, you will be appalled at some of the default settings. (Why yes, actually, I would like third parties to access my webcam!) For example, the default setting on the "Storage Settings" tab allows every website to store up to 100KB of data on your computer! Move that slider to zero, pronto.

Next, head on over to the "Global Storage Settings Panel" and un-check the option to "Allow third party Flash content to store data on your computer". This is supposed to prevent any future storage of LSOs on your computer. I will be watching mine closely to see how it works.

I supposed we should be grateful that The Man (Adobe, in this case) provides the Settings Manager in the first place. I just wish the defaults for this kind of stuff were in favor of my privacy instead of the other way around.

Oh, and don't forget to load up the Settings Manager on every computer you use. Yes, it is too much to ask to only do it once.

Sunday, November 25, 2007

Take back your email address

How many times a week do you get prompted for an email address while you are surfing the ol' web? Once? Three times? Multiple times a day? It probably depends on what kind of surfing you do, but it seems that every site wants your address these days. They assure you that they won't sell it or rent it to anyone else, and I'll actually giving them the benefit of the doubt that they honor this promise.

Yet, when you hand it over in order to get some free download or other wares, the marketing campaigns begin. I'm not necessarily talking about spam, although that is certainly something to be concerned about. No, I'm referring to the continuing stream of "special deals", coupons, and other crap that companies want to send you.

Here's another scenario that gets to me regularly. I need to purchase a hard to find item. The big stores that I usually do business with don't have it, so I have to Google for a niche website that carries it. While I'm glad to have found the item in question, I now have to give my address. Now, I do want to get things like shipping notices and order confirmations, but I don't want all the stuff that comes after I've received my order.

So, there's the problem. Now, for the solution. To key to preventing someone keeping your address longer then you want them to is to use a disposable address! If the address they have no longer goes to my primary inbox, then I have no problem at all with them keeping it on file for as long as they want. :)

The great folks over at spamgourmet have provided a service that does this. To use this service, you need to create a login and give them your primary email address. (I know, I know... don't worry, this is the last time you need to surrender your "real" address) Once you have a login name, you are ready to go. Next time you are asked to provide an address, you just follow a pattern. The pattern looks like this:

label.number.login@spamgourmet.com

In the pattern above, you would replace the text "label" with a unique string that is meaningful to you. I usually use the name of the company or website that I am filling out. (This gives me the added advantage of knowing if they did sell their email list to another firm.) Next, you replace the text "number" with a number, either numeric or fully spelled out. Finally, you replace the text "login" with the login name that you created when you originally signed up and keep everything else the same. Here is how it might look:

bestbuy.6.michaelscott@spamgourmet.com

The number in the middle is really the interesting part of all this. Basically, the way that this works is that Best Buy (in my example) will send email to the spamgourmet address. Spamgourmet will then forward the email to my real address if I have received less then 6 messages to the spamgourmet address. Once, I have received 6 messages, then spamgourmet will no longer forward them. They call this "eating" my spam. Next time I actually want to buy something from Best Buy, I login to spamgourmet, search for my bestbuy disposable address, and tell them I want to receive 6 more messages. Easy!

To show how much of an impact this has made for me, I'll publish my stats. These are provided by spamgourmet. "Your message stats: 1,428 forwarded, 18,458 eaten. You have 149 disposable address(es)." This gives me a ratio of almost 13 messages "eaten" for every 1 that I've actually received. Wow...

Oh, and did I mention that spamgourmet is free?

Saturday, October 27, 2007

Upgrade your Wireless Router

Today, I upgraded my wireless router. Not because it was broken, but just because it was there, you know?

When Linksys was its own company, it did a very cool thing. It based some of its devices on the Linux operating system, which made it very easy for enterprising young folks to do the same. Fast forward a few years and now you can take a third party operating system and place it on your Linksys wireless router.

I've been reading about the excellent DD-WRT package for some time now. This afternoon, I found the time to give it a try. (Actually, I was just running out of excuses to do yardwork, and this fit the bill nicely.) In less then an hour, I had downloaded the software, flashed the router, and re-configured it to use my existing SSID and network information. While, it doesn't compete with Apple's 300, it does have quite a few interesting features. It brings a lot of new ideas to the home broadband router area. It can update your DDNS information, host your PPTP VPN session, provide a full SSH management login, and keep its time current with any NTP server. My favorite feature is probably the ability to increase the power of the radio so my devices downstairs can get a better connection.

Anyway, let's just say that I'm impressed. I've even considered using it to replace my custom-built Debian firewall that currently guards my home network. If you want to give it a try, it supports much more then just Linksys, so visit this page to see if your device is supported. If yours isn't and you are ready for an upgrade, you can pick up the very nice Linksys WRT54G for around $50.

Saturday, October 20, 2007

Connect to your home network (SSH)

In my last post, I discussed how I keep track of my home IP address so that I could connect from "outside", whether I'm at my parent's house, traveling, or in a coffee shop.

Now, if you are going to connect from the typical open wireless access that you will find at a coffee shop, then you should be thinking about the security of the information you pass to your home network. It is incredibly easy to eavesdrop on your web session on an open wireless network. There are, as always, multiple ways to connect home securely. I will show you a couple of different ways to do it.

From here on out, this post will reference a Mac system that is connected directly to the Internet without any sort of firewall in the middle. Next week, I'll do a similar post for those of you gutsy enough to connect your Windows system directly to your external connection.

On my home system, I have configured the SSH server to allow traffic from my internet connection. I can then connect to that from a Windows, Mac, or *nix system. When making the SSH connection, I choose the options to allow tunneling. This allows me to then connect to my home system while "tunneling" through the secure SSH connection.

From the Mac system that you are currently sitting at, the command you would use to do this is (all one line):

ssh -L 5931:localhost:5900 username_on_home_system@my_home_system.dyndns.org

By running this command, you are attempting to login to your system at home using an account named "username_on_home_system". Once you authenticate successfully, you instruct SSH to connect port 5931 on the system sitting in front of you to port 5900 on your home system.

Once you have successfully made this connection, then you can use a remote desktop application like RDP (for Windows) or VNC (for Windows, Mac, and lots of other systems). I use VNC on my home system, so that is why I chose the port number 5900 when connecting SSH. To connect to my home system, I use a VNC client like Chicken of the VNC and configure it to connect to the local systems sitting in front of me.


It may seem odd to be trying to connect VNC to the system that you are currently sitting at, but keep in mind that the SSH program is going to forward anything you send to your local port 5931 to the port 5900 on your system at home. If you've done everything correctly, you should be looking at your home desktop, and it will be completely encrypted while doing so! Now, you can launch programs on your home system just as if you were sitting there.

I hope you find this helpful. It can be complicated, but your privacy and security are well worth taking the time to figure it out. If you have questions, leave a comment for me and I'll do my best to help you out.

Sunday, October 14, 2007

Connect to your home network (Dynamic DNS)

Ever been at work or at a friend's house and wanted to log into your home connection? Know the IP address off the top of your head? Well, if you're like me, then you probably don't remember it. Even if you write down your current address, it will likely change on you by the time you need it.

To make this easier, your ISP will assign you a dedicated IP address. This will allow you to always have the same address and make it easier to connect to your home network. Problem is, they will want to charge you a monthly fee for the privilege.

Fortunately, there is a free service available to make it possible to get by without a dedicated address. The concept is called Dynamic DNS and the website that I use that offers this service is called DynDNS.

Basically, the way that this works is that a central party keeps track of your computer's IP address. By downloading a special client to your computer, you can configure it to send an update to DynDNS whenever its address changes. This allows you to use DNS to easily recall the exact address that your home computer is using at any time. DynDNS is easy to setup with the hardest part being choosing which of the 80 domain names that you want to use.

This should allow you to find your home network on the Internet. Next, I'll cover how I securely connect and encrypt all communications to my home network.

Part 2, SSH