Finds of the Week is on break for the Lunar New Year/Tet holiday. The series will resume next week.
My Verizon FIOS router (ActionTech MI424WR) died the other day. So I tried to contact Verizon Online tech support to get a replacement. Well, they certainly don’t make it easy.
On the support web site page, there are two methods to obtain support: Email and Phone. Upon further examination, Email support is there mostly for show, because it’s nothing more than an automated system, very good at sending out useless canned responses such as this:
Note the disclaimer at the top stating that the replies are automated. Why??? I am already on the web site, why not just display the help result right there? What are they thinking?
All is not lost, because there’s still the Phone option right? Well this is what I got after clicking on it:
I tried again on another computer running Windows 2003 and it looked like it was trying harder this time, but it didn’t quite make it, because it kept on checking forever to see if "Quick Support" is installed:
By the way, if you are looking for the direct number for Verizon FIOS tech support, it is 888-553-1555. I called and was provided the answer I was looking for in about 10 minutes.
- MSMQ and WCF – hands-on lab now available at MSDN Code Gallery. Via John Breakwell.
- Scott Densmore shared more good stuff on the upcoming Enterprise Library 4.
- Microsoft rolled out a new code sharing site: MSDN Code Gallery. Code Gallery is kind of like CodePlex, but for the everyday developer. Via Jim Glass.
- A new version of the Source Code Outliner Power Toy is available. Via Quan To.
- Get Your Database Under Version Control. Jeff Atwood. My guess is that 75% or more of databases out there are not under version control.
- Jeff Moser wrote a detailed analysis of the various looping constructs in .NET: For Loops: Using i++, ++i, Enumerators, or None of the Above? I totally forgot about ++i.
- A timely article for my current project: Unit Testing WCF Services. By Mark Seemann.
- James Newtonking explained why he changed his mind about extension methods.
- Buddy Lindsey, Jr’s TDD for Beginners Series is a good introduction to Test Driven Development.
- Vadym Stetsiak explained why string.ToLower() is Evil. Use string.Compare instead.
- 10 ASP.NET Performance and Scalability Secrets is an excellent article from Omar AlZabir. Many of the tips are for larger/high-trafficked sites but good to know nonetheless.
- If you are into design patterns, Jason McDonald put together a very nice quick reference poster/PDF on the most common patterns.
- Visual Studio Magazine had a very good article on WCF best practices (Connect Apps with WCF) by Brian Noyes.
- Fiddler is a VERY useful HTTP debugger.
- Use BitTorrent to send files. That and more at Top 10 BitTorrent Tools and Tricks – Lifehacker.
- You can SHIFT+CLICK to multi-select in Gmail. Via Roy Osherove.
Windows Mobile – Pocket PC
- Looks like Google has fixed the problems that were plaguing Gmail IMAP on Windows Mobile devices. Read the blog entry from the official Gmail Blog here. And here’s a related article from PC World: Google fixes Gmail IMAP problem on Windows Mobile.
- Viigo is a free RSS reader for Windows Mobile. I have not really used it that much but it seems to work ok.
- Skyfire is another promising Windows Mobile browser currently in private beta. Via Engadget.
- If you have a Samsung Windows Mobile device, try the included PicSel browser. Here’s a review of Picsel browser, with a lot of useful how-to information included. By Tam Hanna.
And Now, For Something A Little Different
.NET Programming, C#
- HTTP Programming with WCF and the .NET Framework 3.5 is a good article covering HTTP endpoints in WCF 3.5. By Justin Smith, MSDN Magazine.
- WCF Load Test is an open source tool that can generate unit tests from WCF trace files.
- Source Code Outliner PowerToy for Visual Studio 2008 is now available. Via James Lau.
- Good tips on interview techniques from Dustin Andrews: Why doesn’t anybody ask me to code a unit test in an interview?
- Throw away that mouse and go mouseless with ASP.NET 2.0. Suprotim Agarwal.
- Quake 3 Arena Ported to .NET Managed C++ VS 2008! Greg Dolley.
- Add support for OpenID to your ASP.NET app. Mads Kristensen posted his OpenID implementation.
- How to Create a Database Object Programmatically in Enterprise Library, Painfully? Yang’s .NET Zone.
- Miked Esjardins shared his experience contributing to an open source project.
- Andy shared first hand tips on being a developer during a recession.
- Firefox is a developer’s best friend. According to Mohsin.
- [Tip] Option Explicit in PowerShell. Sharar Gvirtz.
Software and Tools
- Yahoo Implements OpenID. Michael Arrington, via Techcrunch.
- Microsoft Expression Encoder is my new tool of choice to perform batch compression of digicam movies. Batch processing is handled very nicely, especially on my new Quad Core PC. I used to use MeGUI/x264 before, but it was just taking too much time to work through the various bugs and issues.
- If you use OneNote, check out the OneNote 2007 PowerToys. John Guin.
- Speakeasy’s Speed Test is my favorite bandwidth tester:
Windows Mobile / Pocket PC
- Scott Hanselman posted a nice list of mobile-friendly web sites.
- The FT liveblogs the Societe Generale conference call, via Marc Andreessen.
.NET, C#, Programming
- ScottGui made the long awaited announcement: .NET Framework Library Source now available.
- Roy Osherove raised a attention grabbing question: Dependency Injection – Is it relevant beyond unit testing?
- From the folks who brought you Best C# Blogs, a List of best C# Web Sites. By Tim Martinn/DevTopics.
- Sandcastle January 2008 Release Available. Via John Mandia.
- James Carr’s TDD Anti-Patterns is a fun and enlightening read on of Test Driven Development.
- It’s possible to write your own ASP.NET Web Service help page. Shahed Khan has the details.
- Tobias Hertkorn posted a great tip on how to measure memory consumption of objects in C# right in the code.
Software and Tools
- Jeff Atwood shared the Top Five Browser Shortcuts Everyone Should Know. I didn’t know about the middle mouse button browser shortcut. Very useful.
- Reading Nazmul Idris’ post on Microsoft OneNote 2007 prompted me to try it myself…. and I loved it. It’s a great application to keep track of notes, journal entries, work logs, etc. It’s going to be an essential app for me from now on.
I especially like offline mode support for USB flash drives. You can keep your Notebooks on a flash memory card. OneNote automatically synchronizes its local cache with the flash card when the card is inserted. When not inserted, you can still work on the local cached copy.
What I don’t like: no VBA macro support. One of the first thing I tried was pressing ALT+F11 to bring up the VBA IDE… nothing happened. A quick search in Online Help confirmed my sinking feeling: no VBA support. Supposedly, you can write add-ins.
Windows Mobile/Pocket PC
- The coolest applications on the Windows Mobile platform, by Mike Riley.
- Scott Hanselman did a extensive review of Verizon FIOS TV.
- Watch dolphins blowing circles made of air bubbles.
One of the best tricks to speed up Gmail IMAP access is to use offline mode in your email application. Offline mode is supported by popular email clients such as Microsoft Outlook 2007, Outlook Express (Windows XP), Windows Mail (Windows Vista), and Thunderbird.
While you are in offline mode, your actions are carried out locally and the sequence is remembered by the email client. Later on, when you get back online, the same actions are then executed on the server. Offline mode is much faster (think instantaneous vs. several seconds for each action) than online mode because the email client does not have to connect/talk to the IMAP server each time you do something.
Outlook 2007’s Offline Support
Not all offline modes are created equally however. One would think that Microsoft top-of-the-line email client Outlook (2007) would have better support for working offline than its little brothers Outlook Express and Windows Mail, but that’s just not the case. According to my own testing, Outlook 2007 is the worst among the three when it comes to supporting offline access. Specifically, you cannot copy or move messages in Outlook 2007 when working offline.
If you have read my article Gmail IMAP Tips article, you know Gmail IMAP is all about moving and copying messages. Lacking the ability to move/copy messages in offline mode reduces the usefulness of Outlook as a Gmail IMAP client by about oh… 90% right there for me! I have not tested Thunderbird but it think I does support moving/copying images while working offline.
My Current IMAP Client
I still use Outlook for its calendar and to synchronize with my i730 Windows Mobile phone, but for Gmail IMAP, Windows Mail (Windows Vista) is now my email client of choice.
If anyone reading this is from the Microsoft Outlook team, please fix Outlook!
It’s 2008. Happy New Year!
Tips and Tricks
- I can’t believe I didn’t know about this Visual Studio command before: File.OpenContainingFolder. Asmita A Wankhede mentioned it, but he left a few important details out. By default, this command does not have a shortcut, so you would have to assign one to it (try CTRL+SHIFT+ALT+O). Also, the "item" that this command works on is the currently opened item in the editor, not the selected item in the Solution Explorer. See my Visual Studio tips article for instructions on how to create new shortcuts (section 3 – Make New Shortcuts).
- Aaron Lerch shared a tip on how to use Powershell to perform search-and-replace on an entire folder hierarchy.
.NET, C#, Programming
- Derik Whittaker’s article on Things to think about if you want to be a consultant lists some questions to ask and things to be aware of if you are thinking about becoming a consultant or contractor.
- I need to start using Log4Net soon at work and Emanuele Bartolesi’s walk-through on how to use Log4net in your ASP.net application will come in handy.
- Dare Obasanjo asked a thought-provoking question: Does C# 3.0 Beat Dynamic Languages at their Own Game?
- Aaronontheweb made 8 Bold Predictions for Web 2.0 in 2008. One of the predictions is that Google will have its first failure in 2008. I thought Google Answers was it.
- If you are learning WCF, check out Michele Bustamante’s That Indigo Girl. Via Is This Thing On.
- If you have done or are planning to do automated GUI testing, check out Automated GUI testing – Is it worth it? by Mladen Prajdić.
- Bruce Eckel wrote about the The Mythical 5% of top developers and shared tips on how you can be part of that exclusive club.
- For Oracle developers, ODAC 11g has been released. Via Mark A Williams.
- If like me, you have heard about SubSonic but don’t know much about it, Kent Sharkey’s Introduction to SubSonic (Dotnetslackers) provides a quick primer.
Software And Tools
- Did you know that something called Robocopy (short for Robust File Copy, not Robot Copy), is the new XCOPY? It’s a standard tool in Windows Vista and is also available as part of the Windows Resource Kit. Via Don Box’s Spoutlet on Pluralsight.
- I recently tried and liked GhostDoc very much. It’s a free Visual Studio add-in to help write XML documentation comments. Roland Weigelt wrote a nice intro article on GhostDoc on DotnetSlackers here.
- SyncBackSE is a great folder synchronization utility. It has tons of features… maybe even a little bit on the bloated side. It costs $30 for a single license. If you just want something simple, Microsoft’s free SyncToy may do the trick for you.
- From CES, it looks like Blu-ray will be the winner of the HD format war. No, the war is not completely over, but this was the landing at Normandy… so to speak. The loss is just too great for the HD-DVD camp to recover.
And Now, Something Different
- Richmond’s Lunar New Year Festival is on Jan 27.
.NET, C#, Programming
- I am in agreement with by Randall Hyde on The Fallacy of Premature Optimization.
- Dustin Andrews shared good tips on how to “get traction” in your team.
- Ranko shared his First Thoughts On MVC.NET.
- Another interesting article from Jeff Atwood (Coding Horror), Digital Certificates: Do They Work?, questions the usefulness of digital certificates.
Software and Tools
- DAEMON Tools is one of the best CD/DVD emulator. Use it to mount those CD/DVD images you download from MSDN. Cost: $0.
And Now, Something Different
Researchers found that young chimpanzees have an extraordinary ability to remember numerals that is superior to that of human adults. Skeptical? Just take a look at the video.
Did you know Microsoft Outlook has supported type-ahead since Outlook 2003?
I didn’t. I upgrade my home PC to Outlook 2007 a few days ago and was pleasantly surprised to find type-ahead working. I fired up the old copy of Outlook 2003 and type-ahead worked in that version too. I am pretty sure it didn’t work in versions prior to 2003.
Type-ahead is great for using with the Move to Folder or Copy to Folder features. If you use Outlook to get your Gmail via IMAP, you’ll appreciate the type-ahead feature since you need to move messages a lot.
To see type-ahead working, in the Move Items dialog box (with a message selected, press CTRL+SHIFT+V), type the first few letters of any folder name. The current folder selection will move to the folder that matches what you type.
Gmail IMAP has been available for more than a month now. It’s been working great for me. I have read that some users are having trouble reading HTML messages on their Windows Mobile devices, but for some odd reason, I can see HTML messages (in HTML, not rendered) just fine on my i730 Windows Mobile phone.
Here are some tips to help you make the most out of Gmail IMAP. If you have not used Gmail IMAP, you can set it up by following the instructions from Google here. I personally use Gmail IMAP on my Windows Mobile 2003 phone, Outlook 2007, and Windows Mail in Windows Vista. However, these tips should work on any standard IMAP client.
1 – Be Familiar with Gmail IMAP Folders
Gmail IMAP has the following special folders:
- [Gmail]/All Mail – This folder contains all of your Gmail messages.
- [Gmail]/Drafts – Your drafts.
- [Gmail]/Sent Mail – Messages you sent to other people.
- [Gmail]/Spam – Messages marked as spam.
- [Gmail]/Starred – Starred messages.
- [Gmail]/Trash – Messages deleted from Gmail.
Each of your custom labels also becomes an IMAP folder. Messages that have more than one labels will be in multiple IMAP folders.
Your email client may create its own special folders such as "Drafts", "Sent Items", "Deleted Items". These folders only have special meaning to your email client and not Gmail. These special folders can be seen in the web Gmail client as "[Imap]/Drafts", "[Imap]/Deleted Items". To Gmail, these are just additional labels with no special meaning.
If you use Outlook 2007, you can configure it to use Gmail’s Sent Mail folder instead of its own "Sent Items" folder:
Note that you can create more than 1 level of folders. You can have folders within folders:
2- To Archive, Move the Message Out of the Inbox Folder
To archive a message, you can do one of the following:
- Move the message to the [Gmail]/All Mail folder.
- Move the message to one of your label folders.
- Use your email client’s Delete Message feature. This won’t actually delete your message, but move it to a folder named [Imap]/Deleted Items. You just have to know messages in that folder are not really meant to be deleted.
Since I sometimes use the Delete button for its intended purpose (see section 3 below), I do not use it to archive.
Applying Multiple Labels (Updated Jan 23, 2008)
To apply more than one label to a message, copy the message to the respective folders. "Copy" does not actually create a new copy of the message. There’s still one message stored in Gmail. It just gets a new label.
To remove the message from a folder, move it to the special folder [Gmail]/All Mail. Don’t move the message to [Gmail]/Trash, as that will actually delete the message from all folders (it will be gone forever when you empty the trash), unless deleting is really what you want to do.
(I originally wrote incorrectly that copying will create multiple physical copies. Thanks to Hans Ref for correcting me on this).
3 – To Delete, Move to [Gmail]/Trash Folder
To delete a message, move it to the [Gmail]/Trash folder. If the message is in more than one folder, Gmail will delete those copies as well.
Using the email client’s Delete feature will likely not really delete the message, but instead move it to the [Imap]/Deleted Items folder.
Sometimes I use the email client’s Delete command anyway, because it’s faster to press the Delete key. Once in a while, I then go into the Deleted Items folder and move messages from there to [Gmail]/Trash. Same result in the end.
4 – To Report a Message as Spam, Move to [Gmail]/Spam Folder
See a pattern now? Most of what you need to do with Gmail IMAP involves moving messages around.
To report a message as spam, what else… move it to the [Gmail]/Spam folder. This is just like clicking ‘Report Spam’ in the Gmail web interface. Don’t believe me, it comes straight from Google.
Likewise, to mark that was marked as spam by Google incorrectly, move it out of the [Imap]/Spam folder.
5 – Import Old Mail
If you are like me, you have archived a ton of old email messages from years past. With Gmail IMAP, it’s easy to import them into Gmail so you can have all of your email messages from all time in one place, all searchable.
Just use the copy feature of your email client to copy those old messages into one of the Gmail IMAP folders. Google advices that you should copy the messages in small group because "uploading an excessive number of messages to your Gmail account via IMAP may lead to being temporarily locked out of your account." Anyone knows what the limit is?
There you have it, my 5 tips to get the most out of Gmail IMAP. For more information on how to use Gmail IMAP, see Google Help Center for IMAP.
- Related articles: Speed Up Gmail IMAP by Working Offline