Archive for the ‘software’ category

Web applications are now helping you ditch your mouse!

February 2nd, 2012

Being a heavy keyboard only user in many instances and having written desktop applications that focus heavily on keyboard tab order, hot keys, etc., I really enjoyed reading Scott Hansleman’s latest blog post about the web being the new terminal and how many web applications now are building in support for keyboard shortcuts and hot keys.  I definitely see this being a trend that will continue to gain popularity, enabling people to be much more efficient while using web applications that are part of their daily lives (like Gmail).

Take for example all of the keyboard shortcuts that you could be using today in Gmail while reading your mail.

I’ve known about a few of these and have tinkered with them in the past.  Seeing just how much you can do with it and having spent a little more time on it recently, I am definitely going to make an effort to use the keyboard as much as possible from now on in Gmail.

Filter all incoming mail in Gmail to multiple recipients, including BCC messages

September 21st, 2011

Now that our kids are in school my wife and I wanted to setup a family email account that we could give to our children’s teachers that would forward to both of our private email addresses. In Gmail you have the option to forward all incoming mail to 1 account easily. That however didn’t work for us because we both wanted to get copies of the incoming mail.

As you’ll see when you visit the forwarding options you can also use filters to forward mail.  Based on my needs I went that route and had things setup to forward to me and my wife, and THOUGHT we were receiving all of the messages properly.  But later after chatting with other moms in the class realized the filter wasn’t picking up on messages from one of our teachers because they were putting us as BCC (blind carbon copy) recipients.  Our other teacher (I have twins, so both started kindergarten at the same time) however was sending messages to everybody simply in the To field, which we were receiving without any problems.  After some research I learned that Gmail doesn’t make it very obvious how to filter on a message when you’re only a BCC recipient.  So after some research and trial and error I figured it out and here’s how you can do it.

Step 1 – Open up your settings in Gmail in the account you want to forward mail from.  From there, choose the Forwarding and POP/IMAP tab.  Under forwarding, you will see a box to Add a forwarding address.

Step 2 – Enter in the address you want to forward mail to and click next.  Gmail will send a verification code to that email address to ensure that you are an owner of that account. Once you receive the email containing the code, enter it into the confirmation code box and click Verify.

Step 3 – Once you have verified the destination address, click on the Filters tab and click Create a new filter.  We are now going to enter the specific details to ensure all mail, including messages you are BCC recipients on get sent to the address we just added.  When the Create a Filter wizard comes up we want to enter deliveredto:youraddress@gmail.com in the textbox labeled Has the words.  This is the important part, and something I didn’t realize when I first setup a filter with only my account in the To field.  That won’t get BCC messages.  Again, you are putting the address of the account you want to forward from (i.e. familyaccount@gmail.com).

Step 4 – Select the Mark as read checkbox and the Forward it to checkbox.  To the right of the Forward it to checkbox you will see the email account you verified in Step 2 as an option.  Make sure it’s selected and click Create Filter.

Step 5 – Now you’re done.  You can repeat this for any additional addresses you want to forward mail to.  I do believe I read somewhere that Gmail has a limit of like 10 or 20 addresses that you can forward to, so keep that in mind if you are trying to do more than just a few.

Now you have a stand along family or shared email account that forwards ALL messages to one or more recipients.  The nice thing about this is that Gmail offers you so much storage that you also have an archive of all these messages that you can go back and search on over time.  Heck, maybe someday it will be fun for us to look back at the first emails we were getting when our kids started kindergarten.

Hope this helps!  Contact me if you have any problems and I’ll try to help you out.

 

 

 

 

Visual Studio 2010 Code Metrics Viewer

June 29th, 2011

What is Code Metrics Viewer? – Matthias Friedrich highlights his Visual Studio 2010 Code Metrics Viewer extension which plugs into VS 2010 Professional and uses the Code Metrics Power Tool to provide code metrics information to the IDE. Matthias is blogging a number of posts on this project blog which look at the various features of the viewer and I encourage you to check those other posts out too.

Visual Studio 2010 Web Standards Update adds HTML5 and CSS3 support

June 16th, 2011

Yay!! Microsoft has released a Web Standards Update for Visual Studio 2010 that adds full support for HTML5, CSS3 and new Javascript features like Geolocation and local storage.  Scott Hanselman has a good write-up on this update in this blog post.  There you can see some more detail about what exactly it brings to the VS.NET IDE, etc.  Or, if you want to skip all that and go right to the download, you can get it here.  At this point in time the HTML5 standard is still evolving. Taking that into consideration, Microsoft plans to provide additional updates every quarter or so to keep up with new features, changes to the draft, etc.

By the way, if you still aren’t familiar with all of the cool things that HTML5 brings to the table you should definitely check out this free online book, Dive Into HTML5, by Mark Pilgrim.

Simple WordPress Page Redirect Hack

May 23rd, 2011

I recently was looking for a way to setup a WordPress Page that actually was just a link/placeholder for an external site. This allows me to have my external page be automatically part of a theme’s navigation, etc. The solution I used is actually pretty simple and allows for an unlimited number of instances of these “redirect pages” without having to use any external plug-ins.

First you need to setup a simple PHP file that will serve as a template for your new page. Let’s say for example you have a club that you want to add as part of your navigation. Create a file called Club.php and put the following code in it:

<?php
/*
Template Name: Club
*/
?>
<?php header('Location: http://www.myclubsite.com');
      die();
?>

Then upload the file you created (Club.php) into /wp-content/themes/yourthemename/ where yourthemename is the name of the active theme for your site.

The final step is to create a new Page with the name that you want to show up in your navigation “My Club” based on the template that you just uploaded. You will see this template under the Template drop down menu in the page administration interface along with “Default Template”, etc.

Publish and you have a page that automatically redirects to whatever the URL you specified in your PHP template file. I create a separate one of these for any of these “redirect pages” that I want to setup.

It’s easy and it works!

Growing up with Microsoft

March 3rd, 2011

I first got started with computers back in the 80′s with a Tandy 1000 Series computer and used MS-DOS quite a bit.  I then graduated from DOS and worked my way through all the Windows versions over the years.  Today I came across this blog post that shows what happens if you try to upgrade a machine from MS-DOS to Windows 7.  Watching this really took me back and made me realize how I really have grown up with Microsoft over the years.

I still use Windows 7 daily at work today and for various non-work related programming.  I have also branched out and use Mac OS X for all of my core personal computing these days.  What really shocked me about the video in was that it showed that you really can take a computer from MS-DOS and apply 20 years worth of software upgrades to it and have it still work.  I must say I was impressed by this and Microsoft actually earned back some of my respect!

For those of you that aren’t familiar with the earlier versions of Windows or MS-DOS (Disk Operating System), enjoy this video!

Use ASP.NET and DotNetZip to Create and Extract ZIP Files

February 16th, 2011

I recently came across this article from Scott Mitchell, that shows how to use DotNetZip to create and extract ZIP files in an ASP.NET application, and covers advanced features like password protection and encryption.

The article details all that you can do with the feature-rich, free, open source ZIP implementation for .NET - DotNetZip. Using DotNetZip and a dash of .NET code you can:

  • Create a new ZIP file and add one or more files or folders,
  • Read the contents of a ZIP file,
  • Extract all (or some) of the contents of a ZIP file to a specified folder,
  • Use advanced ZIP file format features, such as encrypting the contents of the ZIP and protecting them with a password.

This is definitely something that will come in handy.  I’ve tried working with zip files in the past and it has never been this easy.  Dealing with a ZIP file is definitely something that you will need to do at some point if you program long enough.  With this article, it will definitely be something that you won’t bang your head against the wall trying to accomplish!

My Must Have Jailbroken iPhone Apps

February 9th, 2011

The iPhone 4 is an awesome smartphone.  It truly has started to replace my desktop and laptop computer for many day to day tasks.  While Apple did a good job at making this phone very user friendly and functional, you can really make this tiny little pocket computer even better without much effort.  Jailbreaking your iPhone will really unleash this device’s true power and will fix/help the few flaws and/or limitations that Apple, or your carrier, has placed on this device.

Since I recently updated my phone to the latest iOS version, 4.2.1, I figured I’d share with you the latest tool I used to jailbreak the phone and the few of my “must have” jailbroken apps.  I won’t go into much detail about how to install the jailbreak or each individual app, there are plenty of resources available on the topic.  I just wanted to share which apps I have come to love and depend on, which have made me love my iPhone even more.

First, Jailbreak it (Guide for Windows, Mac).

Second, the apps…

My3G

Facetime over 3G! Take back your 3G! My3G makes Apps believe that they are on WiFi instead of 3G. With My3G, you can now watch HiDef YouTube videos, use Skype/Fring/Other VOIP apps over the 3G network!

MyWi 4.0

Create an iPhone WiFi HotSpot or iPad WiFi HotSpot with a press of a finger! Wherever you are – you can connect your laptop or other mobile device to your iPhone/iPad easily to use your iPhone/iPad’s data connection.

Wi-Fi Sync

Wi-Fi Sync enables wireless syncing with iTunes at the touch of a button. Never go looking for that USB cable again. Sync from the car, bed or shed whenever it suits you.

LockInfo

Gives you access to your information where you need it, when you need it. You can view your new emails, upcoming calendar events, unread SMSs, missed calls and much more on your lockscreen.

biteSMS

Takes all of the basic features of the built-in Messaging app, and adds many more great features.

SBSettings

Offers a faster method to manage iPhone settings like rebooting, turning on/off Wi-Fi, 3G, Bluetooth, etc.

Easily Disable JavaScript Debugging in Visual Studio 2008

December 15th, 2010

Visual Studio 2008 is not without its faults.  They did however add some nice features in the 2008 release such as JavaScript debugging.  This feature is great when you need it, but can drastically slow down your debugging experience if you don’t need it or use quite a few “script heavy” controls like Telerik Radcontrols.

So after dealing with this for a while and taking enough productivity hits I decided to find a way to disable the Script Documents folder that shows up when running in debug mode.

It didn’t take long to stumble across this blog post where the blogger made a VisualStudio add-in to make turning this on and off as needed easy via a toolbar button.  After reading the post and downloading the utility I was debugging without the old lag that I had before caused by all of the JavaScript documents that were loaded.

If you’ve run into this and feel this would be helpful, I can say that it seems to be working fine for me.  I was a little worried too considering I run Windows 7 but it seems to still work well without any permissions issues.

Forcing a user to read (or scroll through) all text before accepting terms

December 10th, 2009

If you’ve used a computer before you’ve undoubtedly scrolled through and agreed to some sort of agreement.  Most likely it was some sort of software license agreement that you didn’t read about some website you were signing up on or an application that you were installing.

Maybe, if you’ve installed enough software or been on enough websites you’ve come across an instance where they actually forced you to scroll all the way down to the bottom of the text before you were able to click “I Agree” or whatever acknowledgment they wanted you to use.

Well I was recently faced with creating this exact situation in a web application and ended up using jQuery to accomplish this in my ASP.NET application.  For my particular situation I ended up putting my content inside a scrollable div.  This can easily be done by using a textbox if you wanted without much effort.

Basically, here’s what you’ll need.

  1. Reference jQuery (I’m not going to go into that, you can easily find that out here)
  2. Put a DIV on your page containing your text that needs to scroll (obviously you’re putting more than a few sentences or you wouldn’t be in this boat)
  3. Put a button on your page that, once enabled, will log the user’s acceptance and redirect them accordingly
  4. Some simple JavaScript to tie the DIV’s scrolling event to your button

Here’s our DIV:

<div style="width: 400px; height: 400px; overflow: auto; id="Terms">
<p>Lots of text to read.</p>
<p>Lots more text to read</p>
</div>

Here’s our button:

<asp:Button ID="ContinueButton" runat="server" Text="Continue" />

Here’s our JavaScript:

<head runat="server">
<script type="text/javascript" src="js/jquery-1.3.1.min.js"></script>
<script type="text/javascript">
     $(document).ready(function() {
 
          // Initially disable the button
          $("#ContinueButton").attr("disabled", "disabled");
 
          // Map the function below to the scroll event of our Terms DIV
          $("#Terms").scroll(function() {
               if ($("#Terms").AtEnd()) {
                    // Enable the button once we reach the end of the DIV
                    $("#ContinueButton").removeAttr("disabled");
               }
           });
     });
 
     $.fn.AtEnd = function() {
         return this[0].scrollTop + this.height() >= this[0].scrollHeight;
     } 
</script>
</head>

And that’s it. This code is light weight and works in IE, Firefox, Chrome and Safari. Have any feedback or suggestions on how to make it better? Let me know.