Welcome to Geekdojo Sign in | Join | Help

My new HTC Wizard

So i got my new HTC wizard (flavored as T-Mobile MDA) and I must say it's a really nice device.  Of course anything after using a blackbarely for a few years will seem better.  A few things that I do not like;

* setting up synchronization to Exchange was WAY harder than it should have been... i had to install certificates and everything on the device to get this crazy thing to work
* once I got sycnchronization working I noticed a BUG where when new email comes into a sub-folder off the inbox no message flag is raised!  Since I have a very well structred inbox this means that my device NEVER says i have new email... even though in the folders I can see about 50 new unread messages.  What's up with that?!  So of course I can't get the crazy thing to vibrate when I get new email either because as far as the device is concerned... I dont have new email.  WOW - I hope that bug gets fixed because it really sucks (outlook has the exact same bug btw.. only raises the new message flag for the inbox only...not sub-folders!!).

Overall though I really like the device but there are something I will have to get used to or find a fix for.  Gotta love new toys!

posted by jez | 2 Comments
Filed Under:

RSS Reader that support offline images

I need a new RSS reader.  The one I have now (Attensa) is great but I do almost 100% of my blog reading on the train with no connection...so when I open up a feed that has pictures (Engadget for instance) all I see are broken images.  I know a lot of these readers support attachments for offline viewing but maybe there is one that exists what will also download images and re-create the src attribute on the image tag for me??  Now wouldn't that be great.

I'll have to dig around google a bit and see if anything is out there. 

posted by jez | 3 Comments
Filed Under:

Looking for the right exception?

This is mostly for my own reference; I am usually looking for the right exception to throw so here is a single list with everything deriving from System.Exception nicely nested and linked:

System.Object
   System.Exception
      System.ApplicationException
         System.Reflection.InvalidFilterCriteriaException
         System.Reflection.TargetException
         System.Reflection.TargetInvocationException
         System.Reflection.TargetParameterCountException
      System.IO.IsolatedStorage.IsolatedStorageException
      System.Runtime.Remoting.MetadataServices.SUDSGeneratorException
      System.Runtime.Remoting.MetadataServices.SUDSParserException
      System.SystemException
         System.AppDomainUnloadedException
         System.ArgumentException
            System.ArgumentNullException
            System.ArgumentOutOfRangeException
            System.ComponentModel.InvalidEnumArgumentException
            System.DuplicateWaitObjectException
         System.ArithmeticException
            System.DivideByZeroException
            System.NotFiniteNumberException
            System.OverflowException
         System.ArrayTypeMismatchException
         System.BadImageFormatException
         System.CannotUnloadAppDomainException
         System.ComponentModel.Design.Serialization.CodeDomSerializerException
         System.ComponentModel.LicenseException
         System.ComponentModel.WarningException
         System.Configuration.ConfigurationException
         System.Configuration.Install.InstallException
         System.ContextMarshalException
         System.Data.DataException
            System.Data.ConstraintException
            System.Data.DeletedRowInaccessibleException
            System.Data.DuplicateNameException
            System.Data.InRowChangingEventException
            System.Data.InvalidConstraintException
            System.Data.InvalidExpressionException
               System.Data.EvaluateException
               System.Data.SyntaxErrorException
            System.Data.MissingPrimaryKeyException
            System.Data.NoNullAllowedException
            System.Data.ReadOnlyException
            System.Data.RowNotInTableException
            System.Data.StrongTypingException
            System.Data.TypedDataSetGeneratorException
            System.Data.VersionNotFoundException
         System.Data.DBConcurrencyException
         System.Data.Odbc.OdbcException
         System.Data.OracleClient.OracleException
         System.Data.SqlClient.SqlException
         System.Data.SqlServerCe.SqlCeException
         System.Data.SqlTypes.SqlTypeException
            System.Data.SqlTypes.SqlNullValueException
            System.Data.SqlTypes.SqlTruncateException
         System.Drawing.Printing.InvalidPrinterException
         System.EnterpriseServices.RegistrationException
         System.EnterpriseServices.ServicedComponentException
         System.ExecutionEngineException
         System.FormatException
            System.Net.CookieException
            System.Reflection.CustomAttributeFormatException
            System.UriFormatException
         System.IndexOutOfRangeException
         System.InvalidCastException
         System.InvalidOperationException
            System.Net.ProtocolViolationException
            System.Net.WebException
            System.ObjectDisposedException
         System.InvalidProgramException
         System.IO.InternalBufferOverflowException
         System.IO.IOException
            System.IO.DirectoryNotFoundException
            System.IO.EndOfStreamException
            System.IO.FileLoadException
            System.IO.FileNotFoundException
            System.IO.PathTooLongException
         System.Management.ManagementException
         System.MemberAccessException
            System.FieldAccessException
            System.MethodAccessException
            System.MissingMemberException
               System.MissingFieldException
               System.MissingMethodException
         System.MulticastNotSupportedException
         System.NotImplementedException
         System.NotSupportedException
            System.PlatformNotSupportedException
         System.NullReferenceException
         System.OutOfMemoryException
         System.RankException
         System.Reflection.AmbiguousMatchException
         System.Reflection.ReflectionTypeLoadException
         System.Resources.MissingManifestResourceException
         System.Runtime.InteropServices.ExternalException
            System.ComponentModel.Design.CheckoutException
            System.ComponentModel.Win32Exception
               System.Net.Sockets.SocketException
            System.Data.OleDb.OleDbException
            System.Messaging.MessageQueueException
            System.Runtime.InteropServices.COMException
            System.Runtime.InteropServices.SEHException
            System.Web.HttpException
               System.Web.HttpCompileException
               System.Web.HttpParseException
               System.Web.HttpRequestValidationException
         System.Runtime.InteropServices.InvalidComObjectException
         System.Runtime.InteropServices.InvalidOleVariantTypeException
         System.Runtime.InteropServices.MarshalDirectiveException
         System.Runtime.InteropServices.SafeArrayRankMismatchException
         System.Runtime.InteropServices.SafeArrayTypeMismatchException
         System.Runtime.Remoting.RemotingException
            System.Runtime.Remoting.RemotingTimeoutException
         System.Runtime.Remoting.ServerException
         System.Runtime.Serialization.SerializationException
         System.Security.Cryptography.CryptographicException
            System.Security.Cryptography.CryptographicUnexpectedOperationException
         System.Security.Policy.PolicyException
         System.Security.SecurityException
         System.Security.VerificationException
         System.Security.XmlSyntaxException
         System.ServiceProcess.TimeoutException
         System.StackOverflowException
         System.Threading.SynchronizationLockException
         System.Threading.ThreadAbortException
         System.Threading.ThreadInterruptedException
         System.Threading.ThreadStateException
         System.TypeInitializationException
         System.TypeLoadException
            System.DllNotFoundException
            System.EntryPointNotFoundException
         System.TypeUnloadedException
         System.UnauthorizedAccessException
         System.Web.Services.Protocols.SoapException
            System.Web.Services.Protocols.SoapHeaderException
         System.Xml.Schema.XmlSchemaException
         System.Xml.XmlException
         System.Xml.XPath.XPathException
         System.Xml.Xsl.XsltException
            System.Xml.Xsl.XsltCompileException
      System.Windows.Forms.AxHost.InvalidActiveXStateException
 

posted by jez | 0 Comments
Filed Under:

Wanted: Experienced Tester to join the TT team

Our team currently has an opening for an experienced tester.  We are looking for someone who has the ability to implement and execute a testing strategy for our team utilizing some of the latest Microsoft technologies (like team system and foundation server).  Responsibilities would also include implementing and managing the build and release strategy for the team.  For a full listing of the requirements and job description you can check out our web site.  I’m not even sure a person with the diverse skill-set we need even exists but I think the opportunity here is an excellent one.  You get to join our great team of developers (including folks like Ryan and Richard) working with the latest technologies at terrific company (best one I’ve ever worked at).  In fact Trading Technologies was named the 3rd best place in Chicago to work by Chicago Magazine so it’s not just me who thinks it a great place to work. ;)

 

If you are interested drop me a note at ray.jezek AT tradingtechnologies DOT com or use the contact me link on the blog. 

 

 

posted by jez | 3 Comments
Filed Under: ,

AJAX and ATLAS and the future of Script callbacks

Peter has some excellent comments (he articulates what I feel exactly) about Betrands post about server callbacks and Ajax.  A few weeks ago here at work we had a long "discussion" about Ajax and how it didn't seem to fit very well with the current ASP.NET eventing model (or page lifecycle).  We all seemed to agree that we liked the concept but it just didn't provide us with an intuitive model to handle the interaction between front end and the code-behind (also seemed like maintenance would be a huge problem).  I think it's summed up well when Bertrand says, "we want simple events on simple controls".  It's encouraging to hear that MS is going to bring a model to the table in the ATLAS framework that is more in-line with the current page lifecycle but still provide us with some of the goodness that Ajax has.
posted by jez | 1 Comments

Coolest Keyboard Ever - LCD Keys?

Ok this has to be one of the colest gadgets I've seen a LONG time.  Keyboard innovations have been pretty poor in the past, but this concept just blows me away.  Application sensitive keys... think about all the business apps that could use this single keyboard - airline resrvations, restaurants, traders, etc...   I love the gaming context as well!

http://www.artlebedev.com/portfolio/optimus/

http://www.engadget.com/entry/1234000740050460/

posted by jez | 0 Comments

How to return an array - null or empty?

I was writing some code today and had a few methods that were returning arrays of values.  I was wondering what the guidelines were about the proper way to return an array from an API so I did a quick search and turned up the following:

String and Array properties should never return a null reference. Null can be difficult to understand in this context. The general rule is that null, empty string (""), and empty (0 item) arrays should be treated the same way. Return an empty array instead of a null reference.” -- from http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconarrayusageguidelines.asp

This makes a lot of sense and takes the burden off the developer of having to check for null in the returned value before doing something as simple as checking its length.

posted by jez | 2 Comments
Filed Under:

Visual Studio Won't Debug - Symbols not loaded - Fixed

Debugging stopped working on my laptop today.  No symbols would load for any assembly.  Even trying to load the symbols manually in the modules window wouldn't work. 

I found the answer to this problem over on Min Kwan Park's blog.

Can start Managed debugging, but PDB is not loaded. So, can’t hit any Breakpoints at all.

 

If you can start debugging and debuggee is launched properly, but you couldn’t hit any BP, you may need to check the installation of “diasymreader.dll”.

The file may not be registered. So you need to register it manually.

To register it, you need to do

  1. find out “diasymreader.dll”
  2. regsvr32 diasymreader.dll

I have no idea how the dll got unregistered but re-registering the library fixed the issue immediately.

posted by jez | 2 Comments
Filed Under:

MSN Messenger Outage Today

Well MSN has totally crashed today; messenger.msn.com is showing an error page an noboby seems like they can log in.  I have theory about this outage.

Today is “patch Tuesday” and MS is supposed to have a number of fixes released today.  Could these servers be configured to auto-update?? 

Think about it.

:)

-- couldn't resist

posted by jez | 0 Comments
Filed Under:

HttpUtility.UrlEncode Does not encode spaces properly

I realized a while back that HttpUtility.UrlEncode does not properly encode spaces for URLs.  It encodes a space as a “+“ which most browsers do not interpret as a space for the obvious reason that + is actually a valid character for a filename.  So to work around the bug we wrote the following:

public static string URLEncode(string str)
{
       return System.Web.HttpUtility.UrlEncode( str ).Replace("+","%20");
}

It's interesting to note that HttpUtility.UrlPathEncode does properly encode the space but fails to encode other critical charcters like & and ?.

posted by jez | 4 Comments
Filed Under:

My Nerd Score

Well since ryan took it I had to.

I am nerdier than 75% of all people. Are you nerdier? Click here to find out!

It's actually about where i thought i would be.  Just your average nerd.

posted by jez | 1 Comments
Filed Under:

Robert Scoble Predicts The Future (almost)

This is very scary:

Dec 23 - Robert makes his 2005 predictions.  They include the following statement:
   11) There will be a major disaster in 2005 and mainstream media will use citizen journalists in a new way
to cover the disaster.

Dec 26 - A major earthquake happens off the coast of Indonesia - This is THE worst tragedy to happen in my lifetime.  If you haven't yet, you need to donate some $$ to help out the people in need right now.

Dec 29 - AFP Article talking about how blogging has been critical in reporting the tragedy to the world.

I think im going to pay attention to Robert's other predictions a little closer now...

 

posted by jez | 3 Comments
Filed Under:

How to install Cisco VPN Client on Windows 2003

I previously posted about not being able to get Cisco's VPN client installed on my Windows 2003 server machine.  Cisco says they don't support the OS so they are absolutely no help whatsoever.  However, Morten posted a comment on my last post which led me to the solution!  He said that you have to use the NON-msi installer.  So per his advice I tried to install install the 4.0.5(A) NON-msi install package... and walla!  It worked like a charm!  VPN client works perfectly.  I'm not sure what the difference is between the two installers but the regular one worked just fine.  The other crazy thing is, the VPN client works just fine too.  Not any difference from when I used it on XP.

Thanks again Morten!

posted by jez | 11 Comments
Filed Under:

Installing Cisco VPN Client on Windows Server 2003

I just installed Win2k3 server on my laptop - everything work just perfect except one thing.  Cisco's VPN client software won't even install on the machine.  It fails saying something about Virtual Adapter couldn't install or something.  Extensive searches of the internet turn up nothing.  A visit to the Cisco site reveals that Windows 2003 isn't supported!  How can a company as big as Cisco not support Windows 2003!?  Are they making the totally incorrect assumption that people won't want to use VPN with Windows 2003?  They can't be that dense.

Maybe they just assume that since Windows 2003 has VPN built in I'll just use that instead of their product all together?  

 

posted by jez | 14 Comments
Filed Under:

Netflix Business Model Proved Superior?

I have been a long time subscriber / supporter of Netflix.  I absolutely hate the movie feeding frenzy that takes place at video stores.  Endless walls of replica boxes that takes forever to sift through; people rummaging through return bins in hope that the movie they want is in there; not finding what you came to store in the first place to rent.  Then you wait in a long line only to get to the counter to find out you have yet another late fee on your account.  The moment I heard about Netflix I signed up and haven't been to a blockbuster since!  The efficiency of having a “rental queue” of movies just waiting to be sent to your doorstep is hard to beat.  But with any Internet startup you wonder how viable their business model is and if they are able to be successful.

Well I just noticed today (who knows how long they have offered this) that blockbuster now offers an almost identical service as netflix!  To me this pretty much validates their business model and proves that Blockbuster is feeling some of the effects of a superior rental company/methodology.  The interesting thing about the blockbuster deal is that they offer you 2 free in-store rentals per month with your subscription.  I guess they are trying to balance the fact that this new model will hurt their stores even more (I wonder if local blockbusters are franchised? - ouch). 

I will most likely stick with netflix because they were the pioneers here and I want to continue to keep my money far away from blockbuster.

I wonder if you could rent video games in this same way?.....

posted by jez | 4 Comments
Filed Under:
More Posts Next page »