Tim

Footprints in the snow of a warped mind

Tag Cloud

AJAX (4) ASP (6) ASP.Net (40) Error Reporting (2) Web Service (1) WSDL (1) Atlas (2) Business (64) Business Start-up Advice (24) Client (10) Expanding Your Business (15) C# (10) Canoeing (4) Canoe Racing (5) Cheshire Ring Race (5) Racing (2) Training (4) CIMA (1) Cisco (1) 7970G (1) CSS (3) dasBlog (2) Design (9) Icons (1) Development (7) General (37) Christmas (6) Fun and Games (11) Internet (18) Random (43) RX-8 (8) Home Cinema (2) Hosting (1) IIS (8) iPhone (1) JavaScript (2) Marketing (3) Multipack (1) Networking (2) Nintendo (1) OS Commerce (1) Photography (1) PHP (1) PowerShell (1) Press Release (1) Security (1) SEO (5) Server Maintenance (3) Server Management (8) Software (9) Office (4) Visual Studio (7) Windows (4) Vista (1) SQL Server (12) Testing (1) The Site Doctor (90) Turnover Challenge (1) Umbraco (10) Web Development (42) WebDD (33) Wii (1)

Atom 1.0 RSS 2.0 CDF 

Search

<August 2008>
SunMonTueWedThuFriSat
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

Recent Comments

Blog Archive

Various Links

Blogs I Read

 Google Blog
Official Google Webmaster Central Blog
 Matt Cutts
Gadgets, Google, and SEO
 Ol' Deano's Blog
My mate Dean's blog on my space, equally as random as mine but not off on as much of a tangent!
 Sam's Blog
Sam is one of my younger brothers studying Product Design and Manufacture at Loughborough, this is his blog :) Enjoy!

Recent Tracks

last.fm - The Social Music Revolution

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

newtelligence dasBlog 2.0.7226.0

Send mail to the author(s) Email Me (Tim Gaunt)

© 2008 Tim Gaunt.

Sign In

Get Windows Live Alerts

 Monday, August 04, 2008

Thoughts on my new iPhone 3G

Monday, August 04, 2008 6:40:52 PM (GMT Standard Time, UTC+00:00)

iPhone 3G next to BlackBerry PearlI've had my iPhone for a couple of weeks now so I thought it's about time I posted my thoughts. I'm one of their targeted enterprise users and have come over from a BlackBerry, which although I was worried about always working, actually resulted in me being able to leave the office without worrying there was an all important email awaiting my return.

So how have I found the switch? In a nutshell as I kinda expected -I miss a few of the features on the BlackBerry but on the whole have found it to be Fairly painless. I like aspects of the iPhone such as the application resources but get a little frustrated at silly things like no copy and paste, having to reformat my entire address book or not being able to insert numbers. I suspect somewhat that there are gestures I'm missing so feel free to point me in the right direction (even if it's "wait for the next update")

I've not had a chance to try out the push aspect of the iPhone yet but I'll get around to that shortly, hopefully that'll save some of the battery life! At the moment I think I'm getting about 5 hours talk time out of it but I tend to have it sitting in charge most of the time.

My likes/dislikes of the iPhone so far

So lets start with the positive:

  • The App store
  • The GPS
  • The easy-to-use silent button
  • The community (yes I know it's a repeat of the App store, but this is where the iPhone really comes into it's own)
  • The ability to easily integrate with other applications i.e. LiveTimer, Flickr and Twitter
  • It's easy to use
  • The calling plan

And now the negative:

  • No copy/paste
  • No forwarding your contacts over email/bluetooth/sms etc
  • No way of marking all emails as read -this is a serious oversight
  • You have to format your telephone numbers in Outlook from: +44(01234)123123 to +44(1234)123123
  • When not on 3G it takes an age to download emails
  • The phone often crashes when refreshing your email list (or just hangs)
  • There's no search facility for your emails
  • The contact list isn't as easy to use as the BlackBerry's (you could do everything from one place, with the iPhone I have a tendancy to call people when I want to text them etc)
  • Sometimes, it randomly (and secretly) connects to a WiFi signal -usually The Cloud/OpenZone which is a real irritation because if you don't notice you don't get any emails until you turn Wifi off. Really if the connection times out on WiFi it should fall back to 3G.
  • .the fact that if you turn off WiFi because of the above, you've got to remember to turn it on again (and I nearly always forget!)
  • How some applications drain the battery when you set the phone to sleep
  • There's no auto text
  • Crappy call history - missing duration for each call time etc
  • No scale based email polling option i.e. "If an email exists on the server, check again in 1min, if not, check in 2mins etc)
  • The keyboard sometimes freezes when typing fast(ish)
  • The lack of backward compatibility with iPod accessories (i.e. car chargers)
  • The fact that you can't set it to backup once a week instead of everytime you plug it in -that's a royal PITA as I plug mine into two computers everyday sometimes forget to click the cross to cancel the backup

And for fairness, the in between:

  • The keyboard doesn't allow you to select the most suitable one for the task in hand
  • The phone doesn't always rotate i.e. in emails -which I find really irritating
  • There's no "Trial" option to software, I know it's not much but I don't really want to waste £5.99 if it's a crappy app.

Although the positive are far outweighed by the other aspects of the phone, I'm sticking with it for the moment because unlike all of the phones I've used in the past, it's easy to update and I think Apple are going to fix a lot of the more obvious oversights such as "Mark all emails as read". Then again Apple may not be the saint that everyone makes them out to be. (I'm disappointed I missed out on NetShare for instance).

Long and short of it is I think the iPhone is a nice move away from the BlackBerry but there are still a few areas that they really need to catch up on.

Thoughts on my new iPhone 3G
Useful Links:  #  digg it!  del.icio.us  Technorati  email it!  Post CommentsComments [3]  Trackback Link
CategoriesTags: General | iPhone
 Friday, August 01, 2008

Is buying online better than in the store?

Friday, August 01, 2008 10:00:22 PM (GMT Standard Time, UTC+00:00)

I've been an advocate of buying goods online for quite some time now but have been astounded at the level of service received recently that leads me to believe that buying online is slowly removing the benefits of buying in a store.

A little background: My camera broke (again) the other day. I've returned this model to Amazon before and wasn't aware that if the item has a problem again, they don't replace it, they just refund the cost. An interesting policy -especially as my problems were not related, but a nice surprise.

As I packaged up my old camera to return (a very painless process I might add) I got looking around for a replacement. Checking out the online reviews, I found my 3 favourites to pottered off to Jessops to check them out. The lady at Jessops was very helpful, pretty much confirming everything I had read online. So it came to deal time, I don't mind paying a little extra in store to get the item the same day and to do a little bartering.

Today was not to be my day though, it turns out the only one left in stock was the show model, normally a good way of getting some extra money off but not this time, it wasn't for sale. Bare in mind this was Saturday, the fastest they could get me the model I want (a mainstream camera not overly in demand) was Wednesday! So off I went home and bought it online on the Sunday. It arrived Tuesday at 9:15! What an exceptional service (thanks UK Digital Cameras).

Then, on Monday evening (around 2100) I ordered my new number plates from Demon Plates expecting them to take a few days to be made and posted (so they should have arrived today) but instead, they arrived on Wednesday! Amazing.

Don't get me wrong, I think stores have a place, its's still nice to pop into a shop and pick up the items you're interested in. There's definitely still something in feeling the item before you buy but service wise online stores are really starting to take over.

All I can say is keep it up guys, you're doing the industry a great service! I hope our ecommerce website owners are as efficient.

 Monday, July 28, 2008

Is Google using Analytics data to crawl additional pages?

Monday, July 28, 2008 1:19:41 PM (GMT Standard Time, UTC+00:00)

I've been wondering for a while how Google has managed to find a couple of hidden pages. Although they were securely locked down we noticed a few rejected GoogleBot requests in the audit logs. We put this down to the users having a Google toolbar installed but today we got an error from the new Avant Garde hair salons site that's just gone into beta testing which got me thinking.

This particular link is hidden behind a form post and within a jQuery call (to track an action) so not something the GoogleBot has easy access to. I know they're getting more clever but not *that* clever! We started getting the errors shortly after adding the final Google Analytics code so the only conclusion I can come to is that they're not just registering the URLs for reporting purposes but they're also using them to crawl additional pages.

Does anyone know if they use the URLs tracked in Google Analytics to find new pages? All I can say is if this is the case, you better make sure your "secure" pages check the access permissions on a page level!

 Friday, July 25, 2008

Identify IIS Sites and Log File locations for WWW and FTP –the source

Friday, July 25, 2008 2:52:37 PM (GMT Standard Time, UTC+00:00)

Exactly a year ago today I posted a little application that output the sites in IIS to a text file and as a few days ago Lars asked for the source, I thought it would be a nice thing to release it exactly a year later.

I didn't plan it that way, it just happened! Cool :)

Identify IIS Sites and Log File locations for WWW and FTP source

using System;
using System.DirectoryServices;
using System.IO;
using System.Collections;

namespace IISSites
{
    class Program
    {
        static string fileToWrite = String.Empty;

        [STAThread]
        static void Main(string[] args)
        {
            fileToWrite = String.Format("IISExport{0:dd-MM-yyyy}.txt", DateTime.Today);
            if (args != null && args.Length > 0)
            {
                fileToWrite = args[0];
            }

            SortedList www = new SortedList();
            SortedList ftp = new SortedList();
            try
            {
                const string FtpServerSchema = "IIsFtpServer"; // Case Sensitive
                const string WebServerSchema = "IIsWebServer"; // Case Sensitive
                string ServerName = "LocalHost";
                DirectoryEntry W3SVC = new DirectoryEntry("IIS://" + ServerName + "/w3svc", "Domain/UserCode", "Password");

                foreach (DirectoryEntry Site in W3SVC.Children)
                {
                    if (Site.SchemaClassName == WebServerSchema)
                    {
                        string LogFilePath = System.IO.Path.Combine(
                            Site.Properties["LogFileDirectory"].Value.ToString(),
                            "W3SVC" + Site.Name);
                        www.Add(Site.Properties["ServerComment"].Value.ToString(), LogFilePath);
                    }
                }

                DirectoryEntry MSFTPSVC = new DirectoryEntry("IIS://" + ServerName + "/msftpsvc");
                foreach (DirectoryEntry Site in MSFTPSVC.Children)
                {
                    if (Site.SchemaClassName == FtpServerSchema)
                    {
                        string LogFilePath = System.IO.Path.Combine(
                            Site.Properties["LogFileDirectory"].Value.ToString(),
                            "MSFTPSVC" + Site.Name);
                        ftp.Add(Site.Properties["ServerComment"].Value.ToString(), LogFilePath);
                    }
                }
                int MaxWidth = 0;
                foreach (string Site in www.Keys)
                {
                    if (Site.Length > MaxWidth)
                        MaxWidth = Site.Length;
                }
                foreach (string Site in ftp.Keys)
                {
                    if (Site.Length > MaxWidth)
                        MaxWidth = Site.Length;
                }
                OutputIt("Site Description".PadRight(MaxWidth) + "  Log File Directory");
                OutputIt("".PadRight(79, '='));
                OutputIt(String.Empty);
                OutputIt("WWW Sites");
                OutputIt("=========");
                foreach (string Site in www.Keys)
                {
                    string output = Site.PadRight(MaxWidth) + "  " + www[Site];
                    Console.WriteLine(output);
                    OutputIt(output);
                }
                if (ftp.Keys.Count > 0)
                {
                    OutputIt(String.Empty);
                    OutputIt("FTP Sites");
                    OutputIt("=========");
                    foreach (string Site in ftp.Keys)
                    {
                        string output = Site.PadRight(MaxWidth) + "  " + ftp[Site];
                        OutputIt(output);
                    }
                }
            }
            // Catch any errors
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e.ToString());
            }
            finally
            {
                Console.WriteLine();
                Console.WriteLine("Press enter to close/exit...");
                //Console.Read();
            }
        }

        static void OutputIt(string lineToAdd)
        {
            Console.WriteLine(lineToAdd);

            if (!String.IsNullOrEmpty(fileToWrite))
            {
                StreamWriter SW;
                SW = File.AppendText(fileToWrite);
                SW.WriteLine(lineToAdd);
                SW.Close();
            }
            else
            {
                Console.WriteLine("locationToOutput is Null or String.Empty please supply a value and try again.");
            }
        }
    }
}
 Tuesday, July 15, 2008

How to: Convert Hexadecimal Strings

Tuesday, July 15, 2008 9:25:56 AM (GMT Standard Time, UTC+00:00)

As it's my Birthday today I thought I'd post a silly ditty. I'm currently altering Protx's old ASP.Net library to accommodate their changes in regards 3D Secure and while reflecting some of the code came across an enum with their number representations as Hexadecimal strings. I needed to convert these to decimals so thought I'd share a quick and easy way to do it.

Open up Window's Calculator (Windows Key + R then type in calc) under the View menu select "Scientific". Press the F5 key to switch over to Hex entry. Type in the value after the 0x and hit F6

Simple, easy and will help you convert all those Hexadecimal strings (ones that look like this: 0x01 or 0x1a).

Right, time for a coffee :)

How to: Convert Hexadecimal Strings
Useful Links:  #  digg it!  del.icio.us  Technorati  email it!  Post CommentsComments [2]  Trackback Link
CategoriesTags: C# | Development
 Thursday, July 10, 2008

Setting the page title with ASP.Net

Thursday, July 10, 2008 10:57:57 AM (GMT Standard Time, UTC+00:00)

We've been setting up the page's title using ASP.Net for quite some time now, we tend to word it: Product Name | Category | Site Name as this IMO is the most comprehensive naming convention (though the pipe (|) gets converted to a space for the bookmarks).

When editing one of our sites today though I noticed that the title was resorting to Avant Garde hair salons -which was setup as the brand's name. Looking into it I found that if you set the <title> tag within the page or master page, ASP.Net doesn't override it from the codebehind so watch out!

For those of you who don't know how to set the title of your page from codebehind it's simple:

this.Page.Title = "Put your title here";
Setting the page title with ASP.Net
Useful Links:  #  digg it!  del.icio.us  Technorati  email it!  Post CommentsComments [0]  Trackback Link
CategoriesTags: ASP.Net | C#
 Wednesday, July 09, 2008

You can’t make this stuff up

Wednesday, July 09, 2008 11:51:02 AM (GMT Standard Time, UTC+00:00)

This is one of the most bizarre stories I've heard in a while, you really can't make it up. http://news.bbc.co.uk/1/hi/england/norfolk/7496923.stm

You can’t make this stuff up
Useful Links:  #  digg it!  del.icio.us  Technorati  email it!  Post CommentsComments [0]  Trackback Link
CategoriesTags: Random
 Saturday, July 05, 2008

Deleting SVN directories with PowerShell

Saturday, July 05, 2008 3:25:32 PM (GMT Standard Time, UTC+00:00)

I've been re-working our new SVN structures recently as I'm now starting to understand how it works but one of the issues I had was trying to move the files/folders from a previous SVN directory.

PowerShell is great if you understand it (which I'm also learning) so I thought I would share this little script with you. It just loops through the files/folders and removes all those named _svn. I found this script from Wyatt Lyon Preul and he complained about the length of the script, but from what I can tell you can condense that down to:

gci $folder -fil '_svn' -r -fo | ? {$_.psIsContainer} | ri -fo -r

I'm not that great with PowerShell yet but I hope that helps someone :)

WARNING: As ever, incase I'm wrong (it happens!) test that on a folder first that you don't worry about losing!