Gmail app stops working on p910

When I got the GMail app working on my SE p910i a couple of months ago, it was great. But, without warning, it stopped working yesterday.

Tried uninstalling and re-installing several times. No luck. The application throws an error about not being able to connect to the internet, though all of the settings indicate that the application should be able to access the internet (just as it did before).

It’s got me stumped, though I think it may be caused by T-Mobile changing their policies.

Looks like not all is going well in the land of T-Mobile. The company has changed its policies and have told customers with Java-enabled phones (read: almost every handset) and data plans that they’re not allowed to install third-party network applications. Why the harsh change in policy? T-Mobile claims security issues but we all know it’s a load of crap designed to prevent independent phone sales. With this ban in place, this means no Opera Mini, no Google Local, no full version of Gemdrop, no nothing.

That’s just ridiculous. I’m even paying an extra $5.99 per month for the T-MobileWeb service. They really need to start showing their customers some love.

No wonder the US is so behind Europe in mobile phone technology! After being in the UK for so long, it really annoys me that incoming calls come out of my free minutes (and if they run out, are chargeable), and incoming text messages come out of my allowance too (and if they run out, are also chargeable).

Any way to rip-off customers…

Update – Feb 28th, 2006: Tried it again today and seems to be working now. Perhaps it was just a glitch with Google or T-Mobile.

I’m addicted to Facebook

Like Jason, I’m also addicted to Facebook.

It’s awesome. After signing up a little while ago, I didn’t use it much until recently when I started getting friend requests and started poking around. I’m impressed. It’s the best social network out there, by a long shot.

Like Jason says:

The reason, as I can best put my finger on it right now, is because what they’ve done is taken communications between people and people/groups and made it entirely relational and dynamic.  Think of it as e-mail to the 100000th degree.  e-mail is very one dimensional.  On Facebook, everytime you upload a photo all of the people you know instantly see it.  Everytime you blog everyone you know sees your post.  Your colleague changes jobs, everyone instantly knows.  You see an interesting video on youtube, everyone you know instantly knows.

The wall feature is brilliant. Everytime one of your friends does something, you know about it. The photo albums are great, and I love the photo-tagging feature.

I’m using LinkedIn to manage business networking (though it’s been of little use so far, and I’m considering opting out of Linked-In).

Finally managed to cancel my Ryze account, which isn’t business networking at all, like the name implies.  In fact, it’s probably the worst networking site I’ve used (and the only one where I’ve actively cancelled my account).

The first such network I joined was Ecademy. Seemed brilliant at the time, and has generated some leads, though I hate the fact that you can’t do anything without a paid account; the guest account is completely useless.

A few days ago, I got a marketing email from them promoting the power network subscription, which pointed to the website.  Clicking on the link opened a page telling me I couldn’t view the content until I upgraded my account, which felt somewhat ironic.

Don’t like Ecademy much anymore, and not really an active user on many other such networks either (Spoke, Tribe.net, Xing, SoFlow, etc).

Totally digging Facebook though. It rocks!

Assembly Version Numbers and .NET

After reading Jeff’s post, What’s in a version number anyway, I’ve been looking at better ways to use version info in .NET projects.

Usually, I tend to stick with the default version, and let Visual Studio automatically increment the revision and/or build number, though it’s not really much help for anything.

Although Visual Studio 2005 has a much improved build system, I’m still working with 2003 for a lot of projects, and got looking at ways to manage the version number in AssemblyInfo.cs with this.

The first thing I came across was the UpdateVersion application, by Matt Griffith, and a good related article on Codeproject called Managing assembly version numbers using Visual Studio .NET and Visual SourceSafe.

In .NET, the version number convention is:

(Major version).(Minor version).(Build number).(Revision number)

Usually, I set the major and minor version, and let the build and/or revision numbers auto-increment.

To make this more useful, I figured I’d change this so that the BuildNumber would be the date, in yymmdd format, and the revision number would be the date in hhmmss format.

This would create a version number looking something like this:

1.0.70217.160234

From this, we can see that the build was made on February 17th 2007, at 16:02:34, which is a lot more useful than something automatically generated, like 1.0.2253.32047.

Out the box, UpdateVersion didn’t offer this functionality, so I grabbed the source, made the relevant changes, and tried it out.  After setting up a pre-build event in VS.NET to update the AssemblyInfo.cs before building, the following error began showing up:

Error emitting ‘System.Reflection.AssemblyVersionAttribute’ attribute — ‘The version specified ’1.0.70217.160234′ is invalid’

Unfortunately, it didn’t like the new assembly format very much.  A quick search later, and I came across Michael Sync’s blog, where he also experienced this problem and wrote about his findings.  In summary, he says:

Be careful when you are assigning the version of your build. [assembly: AssemblyVersion("65534.65534.65534.65534")] is maximum.

This limitation is quite restrictive, and makes it impossible to use the format above, incorporating the date and time into the build.  So, as an alternative, I decided on the following format:

(Major version).(Minor version).([year][dayofyear]).(increment)

Fortunately, UpdateVersion includes another build version option called MonthDay, though this calculates the build version based on the project start date, which is also passed in as a command line parameter, and returns the format [monthssincestart][dayofmonth].

Still not quite what I was looking for, I got working on the code for UpdateVersion again, and added an option to generate the build number based on the year and day of year.  This now gives me something like the following:

1.0.7048.2

…which tells me that this is version 1.0, last built on the 48th day of 2007, and built a total of 2 times, which is a lot more useful than just letting the numbers increment automatically.

The original version of UpdateVersion can be downloaded here, or you can also grab the modified version. This includes the option above, YearDayOfYear, which allows the build version to be generated using the year and day of year.  It also includes some small modifications to Options.cs, changing the way that text strings are parsed to their corresponding enum values and making it easier to add new options.

It also includes a VBScript to make it easier to call UpdateVersion in your pre-build events.  To update your AssemblyInfo.cs before building, simply add the following to your pre-build event in the project info:

C:\path\to\updateversion\UpdateVersion.vbs “$(ProjectDir)”

This will automatically update your AssemblyInfo file with the generated version information, and is ideal for use with the YearMonthDayOfYear option (though perhaps not with the MonthDay option, as this generates the version information using the project start date, which will be different for each project).

Internet & Procrastination

How many times has this happened to you?

Procrastination

[Via Simon’s Software Stuff]

Changing the log file location at runtime with log4net

I’ve been using log4net in a recent project, and recently needed to modify things so that the log file can be changed at runtime.  It’s being used with a console application, and the log filename needs to change depending on what the command line parameters are.

There’s a great entry about setting the log file location at runtime with a DOM configured log4net, which explains how to do this.  In my case, I’ve used a rolling file appender, and implemented things a little differently, though the concept is the same.

I’ve put together a basic console application showing how this works, which you can download.

It’s a simple console application, where log4net is configured from an external configuration file.  The main things to look at are the file and datePattern settings.  Using the standard RollingFileAppender, this will creates logfiles in the Logs directory, named Log-yyyy-mm-dd.log.

The custom RollingFileAppender class adds a static property called prefix.  When set, the log filename will change to Log-Prefix-yyyy-mm-dd.log.  To set the prefix, you simply need to set the Prefix property, before initialising the log object.

RollingFileAppender.Prefix = "MyPrefix";
ILog logger = LogManager.GetLogger(typeof (MyClass));
logger.Debug("A debug message");

Overall, I’m really impressed with log4net.  It’s a solid logging framework, and makes it much easier to add logging to applications.  It’s simple to implement, and a lot more convenient than rolling your own logging system.

Tags: ,

Windows Live Mail Hotmail & Desktop

I’ve been using the Windows Live Mail beta for quite a long time, and really find it a big disappointment.  After Google released Gmail, and Microsoft started touting the Hotmail replacement, I was really expecting something better.

One of the things I was really hoping Microsoft would get rid of, is the big annoying banner at the top of the page.  When reading email, the last thing I want to see is a big flashing banner.

Just look at how intrusive this is:

Hotmail

Hotmail2

Hotmail3

Although it’s been out a while, I only just found out about Windows Live Mail Desktop and promptly installed it.  I’ve got a couple of Hotmail accounts, though these are only used for small amounts of unimportant email.  The main reason for installing WLMD, is because using Windows Live Hotmail in Internet Explorer completely sucks.

The application isn’t bad, though it’s not exactly great either.  It’s still got the awkward Hotmail user interface.  But, the two things which are important to me is the multiple account support, and the lack of banner adverts.  Both these requirements are satisfied.  It certainly feels a lot more lightweight than using WLM from within Internet Explorer.

Having said that, the WLM experience is a lot better in Firefox + AdBlock, than Internet Explorer.  This removes the big annoying banner advert, which has a significant impact on usability.  I don’t know what Microsoft were thinking allowing banners like the one in the screenshots above, where it actively interferes with the application.

Unfortunately, Messenger forces uses to use Internet Explorer rather than the default browser.  However, you can get around this by using the StuffPlug Extension, though this only works with Windows Live Messenger 8.1.  This offers lots of additional useful functionality, including the option to have Messenger use the default browser for accessing email.

I’d like to see Google release something like this for Gmail.  At the moment, they have nothing for managing multiple Gmail accounts, though this can be done using third party utilities like GAlert and the Firefox Gmail Manager extension.

In an ideal world, there would be an application which would replace WLMD, GAlert, and the Gmail Extension.  It would allow users to view email from WLM, Gmail and others all through one application.  It would sit in the system tray, checking email in the background.  My search for such an application continues…

Tags: , , , , ,

Sick of UKOnline

A few years ago, before mass webmail storage became commonplace, I bought a pop3 mailbox from UKOnline. They used to be my ISP and seemed quite good, and buying the mailbox from them allowed me to keep my @ukonline.co.uk address.

Now that webmail is free and very efficient, I figured I’d close this account down.  But, unfortunately, there’s no way to do this online. The numbers listed on their contact page are all 0845 or premium numbers, which don’t work from outside the UK.

Their email support and customer service is pathetic. They always have large volumes of email and unable to respond to email as qucikly as they’d like to. Being part of Easynet, you’d think they could hire a couple more support staff.

When chasing them previously, I got a switchboard number at one point, where I was put me through to customer service, who then told me I had to call a premium number to cancel the account.  Wtf.

When I told him I couldn’t call premium numbers from my phone in the US, he was dumbstruck, and literally said he couldn’t help me.  There is no way to get through to someone who can cancel the account without calling a premium number.  They don’t allow users to cancel accounts online.

So, despite all the technological advances, and benefits of things like Email, Skype and Vonage, I’m still unable to cancel something as simple as an email account, due to this company’s outright incompetence.

Looks like I’ll be paying this damn £15 yearly fee, for this mailbox I don’t want, for the rest of my life (or at least until I can get back to the UK and call them to cancel the damn thing).

Update: Joel on Software has a great blog entry about customer service.  UKOnline – take note!