SSH, Safe surfing and avoiding the wrath of the Net Filter

August 15th, 2008
Traffic control in Rome, Italy. This traffic c...

Image via Wikipedia

Many of my friends often wonder how to avoid their corporate firewalls, and secure their traffic against snooper. Well, its pretty easy to avoid the network traffic cops.

People need a method to be safe anywhere where they end up logging on outside their homes, where they have (mostly) all of the privacy and security they need.

Maybe they just want to browse the latest torrents, or god forbid run a P2P client outside their own network.

Obviously there are many restricted uses of corporate resources, (should you really be downloading playmate images at any time outside your own home?!) but reading private emails in your dinner hour? Checking how your shares are doing ready for the purchase of your 60ft yacht?

Well I often wondered that too; how I’m going to get a 60 foot yacht, not about tunnelling IP traffic ;) !

It turns out my esteemed WPF co-worker, Tim Haughton, has just put up a nice blog entry about how to set yourself up to do just that. Check out the offending blog entry :) He’s articulated much better than I could.

Oh, and happy surfing.

Reblog this post [with Zemanta]

.Net3.5sp1 RTM?

August 8th, 2008

A little bird’s told me that the .Net3.5sp1 will be RTM on 11th August! Wonder if the Pixel shader API has been rationalised… Multi-texture here we come ;)

No post?

July 16th, 2008

Ok, my bad. I’ve been real busy at work WPF is really soaking up all my time right now. That’s actually a good thing, anything that forces more WPF into my head can’t be a bad thing.

On an alternate note I’ve solved the iPod software problem. I’ve settled on winamp! Although it has native support for the iPod, it’s pretty poor, but there’s a much better plugin available called ml_ipod. Support and features are excellent, and because i’ve been using winamp since it first came out, getting used to the feature set was a doddle.

Anyway, anything to get rid of iTunes! Winamp+ml_ipod all the way!

10,000 Visitors!

June 28th, 2008

How one earth did that happen? Someone has to be messing with my stats! I didn’t think this muck was that interesting. Really. See, my wife is wrong when she says I have no friends. Do virtual friends count? :)

System.Windows.Data Error: 19

June 26th, 2008

Thought I’d brain dump a little problem I came across earlier today. Data Error 19.

Here’s the full error.

System.Windows.Data Error: 19 : Cannot convert ‘40′ from type ‘Int32′ to type ‘System.Int64′ for ‘en-US’ culture with default conversions; consider using Converter property of Binding. NotSupportedException: ‘System.NotSupportedException: Int64Converter cannot convert from System.Int32.
   at System.ComponentModel.TypeConverter.GetConvertFromException(Object value)
   at System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
   at MS.Internal.Data.DefaultValueConverter.ConvertHelper(Object o, Type destinationType, DependencyObject targetElement, CultureInfo culture, Boolean isForward)’

How did I get here? Well, I have a bunch of generated values that come from a data dictionary , they’re generated into classes that contain Key/Value pairs, where the Key is an Int32.

This list is shown in a combo box, and the current value of the combo box is then bound to a CLR value type in a class. The only problem is that the classes CLR Type isn’t an Int32. It’s an Int64.

Now I know the the real fix is to generate a list of values for the combo box who’s type matches the destination bound value of Int64. The trouble is that I don’t always have that type information available. Thing is, I can’t remember any other control having the problem of changing types.

Heck,if you look at the conversion that it’s trying to do, it should be able to cope, converting an Int32 to an Int64 isn’t a narrowing cast, so there should be no problems with overflow. Eitherway, i just want to bind up this stuff and not worry about the types.

So, I wrote a small test app to verify what was going on.

boundVaueTest

Both the slider and the combo box are bound to an internal value, called surprisingly , "BoundValue" that’s declared as an Int64, and there’s a textbox that is then bound the "BoundValue" to show its current value.

 

Read the rest of this entry »

I’m A Winner …. Again! Or… how to win free stuff with SCRUM :)

June 24th, 2008

Free Vouchers this time. Apparently I’ve won £100 of vouchers for implementing the Scrum methodology! I have no idea which shops the vouchers are for, only that they’re high street vouchers, so I suppose that’s cool, they could have been for kitchen tiles or something equally as mundane. But, heh, I’m not really doing anything to achieve these awards (like my iPod winning idea), just kind of, well, plugging away at changing things. I guess someone’s starting to listen!

Anyway, we’re kind of a heavily entrenched Waterfall development shop so, I thought I’d liven things up and ignore the people that said we couldn’t do Agile here :). So I merrily headed off down the Scrum path - having done it before I’m pretty sure by now the shoe will fit.

Friction, damn I thought I was on fire. Straight from 15 years of waterfall into scrum caused friction on a galactic scale - most of it not from the project itself, but the organisation. So, while the project works pretty well, and customer satisfaction skyrockets, the rest of the organisation is playing catch up. Still I guess nothing worth doing is easy. If it wasn’t for the customers complete buy in I don’t think I’d be winning awards, I think I’d be winning P45’s. (for you international readers that’s the short walk to the long unemployment queue…)

So, the best bit is actually that the customer loves the method so much that they’re bending over backwards to keep us using it, so much so that I hear they’re making requests of other projects to be run the same way! So from the customer side I’m starting to shine so much you need sunglasses when you approach my desk, whilst from our side I have dozens, if not hundred of disgruntled waterfallers baying for my blood. Some people simply don’t want to change. Heh, you can’t please all the people all the time.

Here are a few things I’ve noticed using Scrum with non-technical customers that are worth pointing out.

  1. It doesn’t matter how much work you’ve done, if its not on screen its not done.
    You can have web services coming out of your ying yang, and if the customer can’t push a button and see it work you haven’t done it.
  2. It doesn’t matter how your project schedule is organised, if it doesn’t list when visual elements appear, they’re not interested.
  3. Make sure that you’re fully resourced before you start.
    Ok, a bit obvious you may think, but the customer may not be your best friend when it comes to telling them you cant deliver feature X,Y or Z because Johnny Programmer hasn’t joined the project yet.
  4. When organising the project by allowing the customer to prioritise the feature set for the product before generating each sprint, make sure that they’re prioritising Visual Features. They won’t understand anything else.
  5. If the customer is involved in providing data to you, make sure they’re in easy to edit formats like word or excel. Deal with translation or the data conversion yourself, hiding it from the customer. Hint : customers don’t like angle brackets.
  6. Customers like deadlines, make sure that the door swings both ways and provide dates you’d like them to have things ready by. It’s a good idea that keeps them working towards the same goals as you and makes them feel committed to making the product a success.
  7. If you’re having real users testing the application, make sure that its as close to zero defect as possible. Users take great delight in pointing out the obvious like the focus rectangles are missing, they’re not bothered that you haven’t finished that bit yet.
  8. Make sure you have customer identical kit  before you start. Requesting kit wasn’t the problem, the waterfall police ended up delaying requests because we weren’t in the testing period yet.
  9. Prepare to spend a lot of time repeating yourself - especially to the crews on your side. If they’re still in waterfall mode, it will be a while before they ‘get’ it.
  10. Play nicely with others. Although the agile methods typically mean you do everything, it could make whole gaggles of people feel redundant and won’t win you any friends. Even if you can automate all your testing, make sure that your testing dept buys in, and maybe you could even get them involved in learning new testing methods. Who knows they may even want to help provide some code for you. Make sure that everyone feels needed. 

Not an exhaustive list, but things worth keeping in mind if your customer isn’t technical, or they don’t have anyone au-fait with the technology and methodology you’re using.

For the current project I’m using WPF  and scrum - so we’re already 7 years ahead of most of the crowd who are barely breaking free of VB and winforms 1.1 ;)

And,for those of you wondering, yes, you can do LOB applications with WPF. :)

Technorati Tags: ,,,

Top 10 WPF resources

June 16th, 2008

As a minor intermission while I put a bit more effort into the WPF article series, I thought I’d list my top 10 favourite WPF and .NET tools.

Ok, here goes!

  1. The amazing free resource that is MSDN
    For top quality articles and all the WPF information you can eat, there is no better place than MSDN (Except of course this blog ;))
  2. A List WPF Bloggers
    There’s always tons of useful WPF and .Net goodies on the WPF Blogosphere - Check out big names like Rob Relyea , Karl Shifflett, Andrew Smith, Josh Smith, Tim Sneath, Ashish Shetty, Adam Nathan, Chris Anderson, Greg Schechter, Nathan Dunlap and Bea Costa are but a few of my favourites. Many of these guys have great WPF books out on the shelves, and their blogrolls are well worth checking out.
  3. Direct access to the SDK team
    Yes, the WPF SDK team are online, and you can comment on the articles and entries directly on the SDK teams blog!
  4. Expression Blend
    Ok, you can use VisualStudio to edit your UX, but seriously, VS can’t compete with Blend. Download, Learn It, USE IT.
  5. Visual Studio 2008
    By the same token, you can edit code in blend, but you’d have to be a serious masochist. Get hold of VS2008, nothing else comes close. Be amazed at the new feature sets this coding powerhouse gives you. Buy It, Learn It, USE IT with BLEND!
  6. Content Presenters free video resources
    They’re big, they’re excellent quality, and best of all, they’re free!
    Download them and watch them now!
  7. Snoop, Mole and XamlPadX, Kaxaml
    Four absolutely must have tools for helping with the WPF coding experience. While Devstudio does most things, you just cant do without these fantastic four.
  8. The WPF Forums on MSDN
    Absolutely the best place to get your questions answered, and a huge archive of previously solved problems. Before posting remember to search the forum.. most questions have been well covered before!
  9. The Daddy of all WPF sites, WindowsClient.Net
    what doesn’t this site contain. Nothing that’s what. If its not here, you probably don’t need it. ( Even my blog’s on here. Ok, I lied.)
  10. Finally, Nukeation
    Great content (although sometimes corny dialog!) but plenty to digest, and available as podcasts too. Nice job!

 

Well, that filled a little gap for me, while i think about the amount of content i’m going to have to come up with for the next WPF article! <sigh>!

 

Enjoy!

Rob

FREE WPF Tutorials - Starting with how to restyle the default WPF controls

June 15th, 2008

I thought I’d posted enough light-weight topics lately, so to create a bit of solid tutorial content I though I’d start a series of tutorials / articles on how to re-style the standard controls available with WPF, using expression blend. I’ve been asked a couple of times to do a starter tutorial, but never really had the time. So, with a bit of effort, here’s the first tutorial using Expression Blend and whilst you can create controls in Visual studio, it doesn’t offer anywhere near the same visual experience that blend does.

I know there are tutorials for these subjects available elsewhere, such as codeproject.com but the ones I’ve seen only show a rough outline of the process used to create a button, and then they don’t really cover the details in any depth to give the creator an understanding of what they’ve just done, or how to best use the tools available.

While I’ll repeat the Vista button, I’ll also include details of how to organise your project, keep your styles and templates organised, and other useful tips that you don’t usually get on trivial demonstration projects. It’s always easy to organise your work when there are only 3 files involved! I’ll also explain some of the WPF terminology as we come across it, so if you’re not a complete n00b at WPF, please bear with me. I won’t repeat any of the initial explanations after this first piece.

Here’s A brief outline of where I’m heading with this series.

    1. Button styling
    2. Simple animations,and triggers
    3. Checkbox styling
    4. Expander styling
    5. ListView re-styling
    6. Data Templates and bindings
    7. Skinning

I’ll approach the button first since its a pretty simple control with few options, and creating the templates for buttons is well supported in blend. This will give a good grounding in how blend operates, some of its shortcuts and features, and some gotcha’s that caught me out when I was figuring this stuff out for the first time.

Although these articles can be used in isolation I do have to assume that the reader does have some background in C# and the .Net framework, but for the first few articles, we’ll barely touch the code behind files, or the XAML source we’ll be creating.

So, lets crack on with the good old vista style glass look button.

I’ll break the template creation down step by step into a follow along guide for creating a generic style & template to give you the standard glass look buttons found in Windows. We’ll dive straight in and create some content, then pause and explain some of what we’ve just done.

First steps.

If you haven’t already, hop over to the Microsoft site and download the latest version of Blend. As of writing, the June Beta 2.5 preview is available here.  I also assume that you’ve got the .Net framework 3 or above installed, and a version of VisualStudio. The Express edition will work just fine for most of these tutorials.

Once you’ve installed all that, fire up Blend and we’re ready to begin.

A quick introduction to Blend’s workspace

Before we get into full swing making the button template, we should have a quick tour of the important bit of Blend’s standard workspace.

blendworkspace

Read the rest of this entry »

Cure for slow Bitttorrent downloaded with Synology DS106e

June 10th, 2008

 

I’ve had the slow download problem for over 2 years now, and finally managed to fix it tonight. Fair enough, the upgrade to the latest firmware may have helped, but i was still getting less than 2Kbytes a second with the defaults.

After fiddling with port forwarding on my router, I ended up putting upload and download limits into the boxes that state that 0 means unlimited.

since I’m still on Virgin Media’s extortionate £25 a month for 4Mbit connections, i entered 4096 in the download box, and 128 in the upload box.

I’m aware that the boxes state KB/s , note the upper case KB , so it should mean Kilo Bytes per second, but if i put 512 in there, the download rates didn’t increase.

I put 4096 in there, and suddenly I’m getting over 100KB/s on the download. Go figure.

Anyway, I think the best thing to do is port forward the standard ports from your router to the Synology Box using TCP only. Then start entering ever increasing numbers into those connection speed boxes, until you hit a number that lets your torrents take off.

here’s the evidence :

SynSpeed

that’s over 100KB a second, and it peaked at almost 200KB/s too. uTorrent manages about 10KB/s more, but I can live with that now I can turn off my PC :)

Happy torrent-ing!

Technorati Tags: ,,

Synology Subversion Update

June 9th, 2008
Technorati Tags: ,,,

When I originally installed my Subversion server on the Synology box way back in March 07 the firmware on the box was pretty much OEM. I’d tweaked the firmware to allow telnet, but that was about the only upgrade I’d got.

Well, since my I received my winning iPod I hadn’t really considered using the full capability of the Synology box, including it’s iTunes server.

So, I’ve bit the bullet, and upgraded the firmware!

Braving the WHOPPING 300 version number difference, i downloaded the latest firmware from the Synology site, and installed it, after making sure my SVN repository was backed up of course!

Anyway, the update went without a hitch, and , WOW, what a difference on the front end. First of all they’ve gone all Ajax-y - there are lots of interactive panels and controls now compared with the old static pages.

After i’d finished playing with all the sliding panels, I booted up Putty to check the telnet access. Yep,  still there. I referred back to the old article on installing SVN on the Synology box, and upgraded the packages using IPKG.

However, when i came to boot up the svnserve daemon I started getting missing lib errors. I’ve seen some of those in the original article comments, and lots of people had mailed me saying that the instructions don’t work. So, I poked around, and found that IPKG hadn’t actually upgraded all of the packages successfully. Scrolling back up the window there were two errors downloading some of the package updates. So, I re-ran IPKG upgrading again, and this time the packages did download ok.

I ran svnserve, and it fired up immediately. Going back to my PC, straight into TortoiseSVN’s repository browser, and we’re back in business.

So, if you’ve followed the original Synology Subversion article, and are having problems - make sure you don’t have any errors when running IPKG. If you do , re-run it and let it re-try download the missing dependent packages, or alternatively download them by hand and copy them to the Synology box by hand.

So, I can confirm that the original Synology Subversion Hack & Install does still work on the DS106e with the very latest firmware.

And, now I can get to my music via iTunes too. Synology you guys ROCK.