Tuesday, March 30, 2010

DenDNN – Do you know about the Denver DNN User Group?

The Denver DotNetNuke group meets about once every two months and the next meeting should be around mid May.

For more information: http://denver.dnnug.com/

David Ferreira is the current organizer of this group.

Monday, March 29, 2010

Multi touch for your Windows laptop

I have a MacBook and I love the multi touch interface that it provides through its touch pad. Everytime I return to using my Windows machine after using the MacBook, I long for the multi touch interface.

Scrybe changes all that.

First here is what you need to know…. Your laptop should have a Synaptics touch pad. (My Inspiron 1520 has this). Next get Scrybe and install it. (http://www.uscrybe.com/)

You will probably need to restart your machine.

The first thing to try is scrolling. Use 2 fingers and drag it down your touch pad….. woo! hoo!

Now to use three fingers. Tap with three fingers. This should bring up a drawing panel. Here you can draw different symbols and have different operations performed.

image

Drawing the question mark symbol opens up your browser and takes you to your favorite search engine. You can even create custom gestures to do different things.

Its no MacBook multi-finger interface, but it just makes life so much easier (especially 2 finger scrolling). I love it.

Here are the gestures supported:

image

(tip: use the above image as a wall-paper – to remind you of all the basic gestures, until you have memorized them all)

If your laptop does not have a supported touchpad device then the installer will pop up the following message and quite:
image

Sunday, March 28, 2010

Results of Martin Fowler’s VCS survey:

VCS – Version Control Systems

TFS approval is 0%! Nobody asked me what I think….! My thought: when you look at what TFS is – a complete system that is not just a VCS but also a tool to manage your development process and communicate with your development team – my approval rating is 100%. (As an analogy - Its not just a knife, its a swiss army knife for a developer – but remember when all you need is a knife – dont go out and buy a swiss army knife)

http://martinfowler.com/bliki/VcsSurvey.html

RMM: steps toward the glory of REST

On Martin Fowler’s site “Richardson Maturity Model: steps toward the glory of REST”

Introduces REST through a series of steps/levels that you might even go through while implementing and exposing webservices for your application.

This is how I read the 4 levels translate:

Level 0: Using something like SOAP and a single end-point (URI)

Level 1: Introducing multiple URIs (each acting like an end-point), to perform different operations.

Level 2: Using the HTTP verbs (Get,Post,Put,Delete, etc…) when performing different types of operations on each URI that you expose.

Level 3: Adding links in your responses to operation requests that allow for discoverability of what can be done next.

Saturday, March 27, 2010

Words - esemplastic

esemplastic • \es-em-PLAS-tik\  • adjective
: shaping or having the power to shape disparate things into a unified whole

Friday, March 26, 2010

Words - Shibboleth

shibboleth • \SHIB-uh-luth\  • noun
1 : catchword, slogan *2 : a widely held belief or truism 3 : a custom or usage regarded as distinctive of a particular group

Tuesday, March 23, 2010

Historical Day!

March 23, 2010 – history made….

Comcast – Connection Speeds

Current Comcast connection speed stats that I get at home:

Using WireShark to diagnose network issues

WireShark is an awesome packet sniffer tool that is free. It is a complicated tool and in the hands of a pro – probably extremely powerful. Unfortunately it is extremely hard to understand and use.

What I wanted it to do is tell me if packets from my VPN connection tool were at least hitting the network adapter (Probably the simplest thing that you can use WireShark to do – determine if packets destined to a certain address are hitting your network adapter).

Step 1: Install WireShark

Get it from sourceforge at http://sourceforge.net/projects/wireshark/files/ (or www.wireshark.org)

The basic options should be good for everyone.

Step 2: Start up WireShark.

Step 3: Under interface list you should see all your network adapters. Select the one that you are using for trying to connect to the destination address.

In my case, I had 2 interfaces listed – one for the wired port and the other for the wireless port. The wireless port for some reason was named Microsoft on my computer. This is the one I selected.

Selecting the interface will open a new window: The Wireshark Capturing window.

Step 4: The wireshark capture window.

If you selected the correct interface you should immediately begin seeing a whole bunch of traffic, representing all the current connections that your computer is making through this interface. (If you dont see any traffic, open up your browser and try and browse to some site. This should begin listing traffic in the window. If not, you most probably picked the wrong interface).

Step 5: Test if you are able to communicate with the destination.

What you need for this is the IP address of the destination (at least thats how I was going to do it).

In the capture window there is an filter text box. Type the following expression “ip.src == xxx.xxx.xxx.xxx || ip.dst == xxx.xxx.xxx.xxx”, where xxx.xxx.xxx.xxx is the IP address of the destination that you are trying to connect to. The expression will display only those packets that either originated at the other IP address or are destined to that IP address. This will make it easier to figure out if the connections are going out correctly.

Now try and run the operation that will initiate the external connection. If you see activity in the window, then things are working and the problem is elsewhere. If you dont see activity, then the issue is probably on your end – and the first place to look would be your firewall rules.

The activity will look something like the following window:

image

Note: There are only 2 things to learn from this post: Use WireShark when you need to look at network packets at a low-level and the expression ip.src == “xxx.xxx.xxx.xxx” || ip.dst == “xxx.xxx.xxx.xxx”. Everything else is just extra information!