Hardware Manufacturers

by Administrator 29. April 2010 10:03

I can see the merits in hardware vendors and software vendors being more or less the same thing.  Eg Apple Inc.  I mean - you know there's compatibility throughout the life of your product, and generally long into the future.  The companies that anger me to no end are the ones like Behringer.  I have bought several of their products over the years and quite frankly they are useless.  The products may be good quality and well priced for what they are - but their product support is crap.

My latest example - FCA202 - a log-cost firewire audio interface.  Supports windows XP and "maybe" vista, but certainly doesn't support any 64bit OS. 

Works fine under OS X though - so now I'm kind of being forced into getting a new sound board just for windows... just so I can listen to a couple of MP3's when I boot into bootcamp? 

Tags:

Thread-Safe DotNet UI Updates

by Administrator 17. April 2010 06:18

I can’t count the number of times I’ve had problems in Multi-Threaded C# / VB apps, nor can I count the number of times I’ve had to Google for the solution to this common problem.  This week I finally found a generic method to handle the situation where you want to update UI from another thread.

 

public static class ThreadSafeInvokeExtension
{
    public static void ThreadSafeInvoke<T>(this T @control, Action<T> toPerform) where T : ISynchronizeInvoke
    {
        if (@control.InvokeRequired)
            @control.Invoke(toPerform, new object[] { @control });
        else
            toPerform(@control);
    }
}

To use the extension method just do something like this:

textBox1.ThreadSafeInvoke(box => box.Text = value);

For more information on the Action<T> delegate used in this method check out the MSDN page here : http://msdn.microsoft.com/en-us/library/018hxwa8.aspx

Another good use for the Action<T> delegate is on Steve Smith’s blog here : http://stevesmithblog.com/blog/eliminate-repetition-with-action-lt-t-gt/

Tags:

Things To Research Further

by Administrator 14. April 2010 08:46

I've been listening to Scott Hanselman's podcasts (www.hanselman.com) in the car recently and have heard about a few interesting projects that I think would be worth further investigation.

Also a couple of libraries I've used before but I think I need to research a bit further.

As part of my project to port AirpCap I think the QuickGraph library could come in very handy as a simple way to graph AP - Client associations and display them graphically.

Tags:

Porting AirPCap to C#

by Administrator 9. April 2010 12:51

As part of my security work I often perform wireless audits of 802.11a/b/g/n networks and use a variety of tools to manage this. A couple of weeks ago I finally got myself a CACE Technologies Airpcap NX device. It's a small USB wireless adaptor with two external antenna connections. The NX model supports packet transmission or injection also.

I've written a few custom tools before using the SharpPcap library for DotNet and figured I would do a couple more to utilise the enhanced capabilities of the new hardware. Out of the box it works a treat, and is visible to SharpPcap (and any other winpcap applications I suspect), however the airpcap specific features are not exposed through these apps. The only applications which support the full functionality of the device are some custom versions of aircrack and kismet which use cygwin to run on windows.

So, this brings me to my first opensource project. I've decided I should extend the functionality of SharpPcap to support an additional device type and expose the full capabilities of the airpcap hardware.

More details to come...

Tags:

Shaw Innes

I'm an independent software developer, security consultant and digital media expert.  I have worked on a variety of projects over the last 10+ years ranging from simple websites, through to complex network security audits, digital media projects, iPhone applications, mobile communications frameworks and more.  Currently I work mainly in C# .NET and Objective C for iPhone / iPad development.