Podcatching with Android

One of the things I love best about my T-Mobile G1 and Android is the application called DoggCatcher.  Doggcatcher is a podcatcher which means that it is able to subscibe to podcasts.   Podcasts are like radio shows but on the internet.  They can be about anything that anyone wants to put up.  In fact, some of the podcasts I listen to ARE radio shows.  Doggcatcher lets me set up podcasts in such a way that they basically are my own personal radio station... with Tivo.

Now I may not come from a background of a lot of knowledge of other ways that people listen to podcasts as this phone is really my first smart phone, but I am pretty happy with the results.

Doggcatcher gets set up with RSS feeds of podcasts.  I put the different feeds in order I like to hear them first.  My current feed list looks like this:

I have several more, but I rarely get down through the others to listen to them. I could pick any one of them randomly but I have a routine I am pretty happy with for my 45 minute commute to work.  I have a connector for my G1 that lets me charge it and hook the audio output into the auxilary input of my car.  So I listen to my podcasts with my car's speakers.  Each morning I connect the phone and download the hourly NPR news, this usually takes about 30-60 seconds.  Once I start listening, DoggCatcher will go down my list and any podcasts that have downloaded will play in the order  have them set.   So I get to listen to the ones I like the best first and  then down the line.   If I get a call, the podcast pauses and I can talk hands free, with my caller's voice on my speakers.  The podcast will pick up where it left off when I hang up.   Another feature Doggcatcher has (one that I asked for) is that when the phone no longer is under power, the podcast will pause.  This allows me to turn off my car and not worry that I am missing some of my podcast with the speakers off.  Its paused and ready to go again when I plug back in for the ride home.

 

Google Apps Mail with DotNetNuke

I was recently having a problem with the mail on the Atenveldt.org site.  I had switched from the host provided email server to Google Apps email, but in some cases email was being delivered to the wrong place.   It turned out that this was because I had the host's email server still set up in the SMTP settings in DotNetNuke.  The aliases on this domain change quite a bit as different officers take over and they keep the same alias but point to a new destination address.  For instance, the King and Queen of Atenveldt rotate twice a year, the crown (at) atenveldt.org address will always be available but point to the new King and Queen as they take over from the old set. 

The issues presented themselves when the DotNetNuke (or a particular module) was trying to send to someone at an atenveldt.org address. The host's email server thought it was still the email service for that domain and didn't bother to check DNS to see if that was still true, so the people who were set up in the old alias were getting that email rather than the people we had changed over to get email from the Google Apps group that we set up.

I couldn't just have the host take off the domain from the server because then the site wouldn't be able to email because it won't relay.

The solution to this was to use Google's SMTP server.  Once I set up a google apps account that was specific to the website, I had DotNetNuke use those credentials to log in to the SMTP server and send email. The email coming from the site would appear to be coming from website (at) atenveldt.org (even if a module tried to send out from a different address.  This is an effect of using the google smtp.)  A potential security hole exists in that all mail sent is now being saved in the website's google apps email box.  This means that when the DNN site sends out passwords and such, a record of it will be in that account's sent items. 

The benifits of using Google Apps for this setup is pretty nice.  Our mail is no longer tied to the host, so if we decide to leave this host and go to a new one, email will be one less thing we have to worry about.  There are some other benefits to the Google Apps for our organization in terms of shared calendar and docs.

Check that Source code you get from the Internet.

I was looking at a page that did some timings of an API we use here at work and noticed that it was showing ms (milliseconds) rather than s (seconds).   It reminded me a bit of Verizon math as it was fairly obvious that these timings were completing in about 6 seconds and not 6 milliseconds.  I sent an email to my colleague who wrote the page and he indicated he had used it from a comment on a post at Scott Hanselman's site.  I noticed that the code there was using the kernel methods QueryPerformanceCounter and QueryPerformanceFrequency so I looked them up in MSDN and found that the QueryPerformanceFrequency was a count per second and not count per millisecond and that the code in the comment was wrong (formatted wrong).  Scott had long since closed the comments on this post and since I didn't have a way of pointing out the error at that source and with Scott's encouragement, I am writing this blog post.

Using code found on the internet is a great way to save time but you should understand what you are using and how it works.  Ultimately you are responsible for the function of the code when you send it off to your colleagues or boss.  It also turns out that this timing could more easily be done with the System.Diagnostics.Stopwatch class which uses the same kernel methods without cluttering your user code with the extern calls.  It also provides the results in a Timespan which makes it more clear just how long the results of your test took.

My GMail Spam folder just hit 20k messages

There is a nice little message saying that spam older than 30 days will automatically be deleted, but as of today, I still have spam from February 25th in there.   It doesn't matter too much to me, I guess.  I am not nearly close to the 7 GB space that they give me for free.   At least I know I am not the only one.  I do wonder if it is an indication of something else going on with GMail.  They have had several rounds of downtime lately.

Sort your Gmail with Popfile

Background

I get a lot of email.  I am on many mailing lists and I do a lot of volunteer work for the SCA which means a lot of email.   I also get a lot of bacn, catalogs and newsletters that I signed up for and don't mind getting.  I get notifications from FriendFeed, Facebook, Flickr, Twitter, and other online applications, which is also bacn I suppose.  Of course, in addition to all that, I get spam. If you want an indication of how much spam I get, check this out.  Even though GMail claims to clear my spam folder for things older than thirty days, I have spam since Feb 25th, 2009 in there right now a total of 19,060 items.  Since today is 4/25/2009 this will give me a good estimate of my spam per month of 9,500 (across two months).  All in all its fairly easy to estimate that 10,000 items come to me every month, yet I haven't gone insane.  Why?   Well Google does a decent job of catching much of the spam but I have something else in my pocket called Popfile

POPFile has been around for a while (their download archive page puts the first release in October of 2002)  and I first heard about it on the ScreenSavers, about 6 years ago.  So you might understand why I was yelling at Leo Laporte in my car as I was listening to a recent podcast when he said that he had too many email's in his inbox.  He was the one who introduced me to POPFile! POPFile is not just a spam killer, but it classifies your email into any number of buckets that you want.  It took care of my bacn, before there was a term for bacn.  It was able to distinguish my SCA email from my personal email, I could categorize responses from forums I participated in as different from newsletters and other notifications.

I had changed my email a couple of times because it was just awash in spam.  Now I had Popfile and was able to use my jeffmartin.com as a mail address without worrying about getting overloaded by the 95% noise I would get over my 5% signal.  This worked great for about 6 years because I was using a POP email account and outlook email client.  But I had just got my G1 Android Phone and it had Gmail built in.  I wanted to join the crowd and get my email on my phone, but I was stuck on the pop account and had used Popfile for so long, I didn't want to give it up.  Luckily, Google and Popfile conspired to help me out.  GMail recently started supporting IMAP and Popfile added an IMAP module to its core installation.  Now I have the power of email anywhere I can log into the Internet and its all sorted for me when I get there so I can focus on what I want to work on.

Why is Popfile so Awesome?

You may be saying, "But Jeff,  my email is already pretty well sorted. I use GMail filters and stuff goes where it needs to."  You might be right, and filters may be enough for the light email user, but you have to spend time setting up each filter and its possible that stuff may slip through that you don't expect.  For instance, if you support a product or service, or have a website that you get email from, you might want all that email sorted into different categories.  You don't know the email address of the people who will be sending to and you can't guarantee the subject will have particular words in it even if you ask people to do it that way.    Maybe you participate in a lot of forums and you have email notifications turned on so that you can see when someone responded to your post.  With Popfile, you can start posting at a new forum and have pretty high confidence that response notices will be correctly sorted without having to set up a new filter for that particular forum.   Here is the really killer feature: Popfile learns from its mistakes (and you can change your mind and reteach it new tricks).  When a piece of email goes to the wrong place (or if Popfile is unsure, it will put it in an Unclassified bucket), you can direct the email to the right place and Popfile will learn from that. (This is a feature of the IMAP module, the normal method of training Popfile is to use the interface to "teach it").   It learns through an algorithm developed by Thomas Bayes around 1720, which appeals to the bit of history buff I have.  This Bayesian algorithm is now the basis for many "learning" computer software programs.

Setup

So here is how you set it up.

What you need to start

  1. First you obviously need a GMail account. I use a Google Apps account so I can have GMail delivered to my own domain. 
    (As an aside, I also have a GMail email that I use for Google services that don't support a google apps login, this GMail just forwards to my main account).
  2. A computer that can run Popfile. Popfile runs as a service in the background and has a web interface. Popfile runs on windows but has cross platform versions.  I am not a Mac guy or a Linux guy but I don't see any reason why it wouldn't run on those OS's.
    I use my desktop for this task.  Its pretty much always on and connected to the Internet, so it can have my email sorted and ready to go when I want to access GMail.  I don't see why this wouldn't work with a laptop that ran Popfile too but it may take a little time to sort your email if you hadn't been connected to the Internet for a while, so you could potentially log in to GMail and still be waiting for POPFile to sort your inbox.  Also, if you hit the Internet from another computer and your laptop isn't connected from somewhere else, your email won't be sorted.

Directions

  1. Set up IMAP in your Gmail account using these instructions.
  2. Download and Install Popfile.
  3. Setting up Popfile:
    1. Enable the IMAP module by following the directions here.
    2. Once the IMAP module is turned on, you need to configure it with your gmail information.
    3. You also need to have labels already created in Gmail, you can then match buckets in Popfile to Labels in Gmail (you need to create buckets).  Make sure you match your spam bucket to the standard spam label in GMail.
  4. You will need to now train POPFile to know what types of email you want in your labels.  Initially all of your incoming email will be delivered to the Unclassified bucket.  After you start training POPFile, you should be pretty happy with the results. According to POPFile's stats, the average accuracy of the sorting is over 98% after 500 emails.

Conclusion

Hopefully you can stop being afraid to leave your email address out in the open now.  Hopefully people can stop going from one free email to another when the spam gets too bad.  Hopefully you found this article helpful.   POPFile is a great way to not only filter out your spam but help you get things done by pre-sorting your mail into the buckets you want.

Saving MMS files in Android

So my friend Will chats me up asking me how to save a MMS file on the Android.  Hmm- good question, no one ever sent me one so I never had that problem, seems odd that it wouldn't be obvious.  I ask Will to send me an MMS so I can check it out.

The first thing I figure is that Will is probably not using anything out of the ordinary as far as SMS applications go but when I get the message, my ChompSMS tells me that I need to turn on AutoDownload in the default messaging app.  So I bring up the default messaging app (from the application tray), download the attachment he sent, and also enable AutoDownload from the settings screen.

While I am in the default Messaging App, I try to save the MMS attachment or get info about it or anything.  The default app gives you nothing.  I go to ChompSMS and long press it, viola, "Save attached to SD card".  This works perfectly.

Other suggestions I found suggested that you could forward the message to an email account or if you have root access you can find the file on your sim card and copy it.  There was also a suggestion about an app called SaveSMS.

I think ChompSMS is the easiest way to go, its a really nice app as far as making the SMS messages look nice.  They offer a different carrier for sending SMS if you need to send some cheap messages and obviously they can save the attachments you get sent to your SD card.

Awareness Test

As I look through my livejournal entries, seeing which ones I want to import, I find this one that is more relevant to me than when I initially posted it as this specific commercial came up in a lunch time conversation and I am doing more bike riding lately than I was when I posted this originally.  I kinda wish squarespace had an import of livejournal as they do for some of the other blog engines but oh well.

SquareSpace tip - Google WebMaster tools

With the google webmaster tools, you have to upload a html file with a specific name (looks like a Guid) to enable your ability to use the provided tools with your site.

Using the URL Shortcuts under web management, you can just put the file name in the shortcut URL and point it to anything in your site that resolves (/journal).  This will convince google that the file is there and that you can use the tools.

What do I want to do with this site?

So I am up early this morning.  I have already taken a shower and gotten dressed and its still only 5:40am.  I have been waking up at 5 all week but this is the first time I got out of bed and did something.  I probably should have gone on a bike ride but I woke up with some ideas about the site and I wanted to write some of them down.

Why do I have this site?  Because I am a web developer and I ought to have a website.  Like many web developers already out there and blogging, I'd like to do some stuff about code or whatever but most of what I do isn't particularly new and I feel like I am more than just a web developer.  I have other interests that I want to delve into here.  Since I have bought my Android, I have been listening to a lot of podcasts. (Another thing I want to blog about at some point soon).  Some of them have been from the twit.tv network.  This is where Leo Laporte has created an internet radio/tv/broadcasting station about tech and the internet.  This has made me aware of a lot of the things that people do on the internet that I wasn't doing 3 months ago.   Twitter, friendfeed, and all this social media stuff that people in the media are talking about because everything else is just bad news about the economy.  Blogging to these guys is so... six years ago.  But I haven't every really gotten off the ground with it.

I want this blog to be useful to people so I intend to have tech stuff that I discover on the job.  I also intend to do some stuff about the SCA.  I think there are enough web developers talking out there to the echo chamber that is the developer community.  I'd like to use some of my powers of web development and technical geekiness in areas that aren't about web development and technical geekiness.  So I guess I am choosing historical recreation geekiness.  The idea I woke up with this morning was to go get a cheap video camera and start collecting interviews with various SCA persona and find about about them.  I really loved the Lions Road podcast while it was going and its too bad it didn't last.  I'd like to create something that will help the SCA bring more people in that will enjoy its good times.  It so easy for people to get caught up playing World of Warcraft, why not do these things in real life with people who are right in front of you rather than over a wire?

So I need to figure out how to have some separate blogs so that the internet can get some focused pages to return in search engine results but still have them consolidated into one feed that is this site.  I have some ideas about this as squarespace supports creating redirects to certain pages.  So I should be able to create a page called JeffMartin.com/sca and have it just be my blog posts about the SCA.

I also know from reading other blogs that in order to be a decent blog you have to just go for it and write on a regular basis.  So here I am writing.  I know not all of it will be interesting to all people, or even some people, but with practice I hope I will be focusing my efforts.

A new jeffmartin.com

Welcome to my new site.  It is hosted at Squarespace which I have really enjoyed working on.    It would be nice if there would be a revamp of Dot Net Nuke that would be as nice as this is to work on.

I decided it was time to get a new site.  My old one was kinda slow and lacked a lot of the information that I really wanted to put into my website.   This should have a nice blog and continue to grow and be a pleasure to work in. I plan on writing blog entries both on technology and the SCA, as well as any other journalling that I'd like to do.

I am very open to comments and interested in who comes here and what they think.