Some thoughts for the Guanxi SP

Posted & filed under Guanxi.

Publisher Interface Study to read along with the SAML2 profile specs, in particular the Web Browser SSO profile. I just noticed I’ve actually compiled SAML2 support into Guanxi::Beans so it’s just a case of implementing the profile.

Durable C# consumer for ActiveMQ

Posted & filed under apache activemq, c#, GADfly.

I’ve ported the C++ STOMP code to C# with just a little problem, in that the STOMP support in ActiveMQ NMS doesn’t work. No to worry, the default protocol does. The first thing you need is ActiveMQ NMS (.NET Messaging). I used the 1.1.0 source release downloaded from here. You’ll also need nant to build it. Unzip nms-1.1.0 to NMS_SRC_HOME and make a quick change to nant-common.xml otherwise you’ll get this error:

Unknown function 'platform::is-windows()' (more...)

Porting GADFly to C#

Posted & filed under active directory, ADSI, C++, GADfly.

Initially I didn’t think I had time to delve into C# when writing the ActiveDirectory stuff to manage users programatically, so I stuck with C++/COM as I knew how to work that way, at least once I’d scraped the rust off those parts of my COM brain. Anyway, after the hassle of dealing with XML and JMS topics from C++ I decided to look into it a bit more and after literally half a day of research/coding and while dealing with other major issues at the same time (who says we don’t multitask?!), I ported GADfly to C#. I must say, I am astounded, completely and utterly. Basically, C++/COM has more or less been “updated” with C#/.NET but you can still get to the underlying COM functionality but not in the messy way VB used to let you. C# has native support for ADSI as well as incredibly simple remote IO support. So how do you create a user, their home directory and give them ownership/full rights in ActiveDirectory using C#? Have a gander at this. No VARIANT, allocing, releasing or anything grubby like that. Behold! But remember to run it inside the domain to allow the admin user access to the remote filesystem. (more…)

This just in. Brain eats Ruby, now wants Functional!

Posted & filed under ruby, The Rantorium.

To stay fresh in software development you need to fill in the gaps where you don’t get CPD. Do you get CPD? Should you get CPD? Or should your intellectual progression be solely up to you? That’s a debate for another day I think.

Anyway as part of keeping the old grey matter in the goo state, I’ve been using Ruby here and there, mainly for small things like data export in Oddbod, stats generation from IdP logs and toys like Flikbak and one thing I’ve noticed is the pattern I’ve fallen into of naturally creating ORM classes to match XML I’m working with. The language is so easy to use you can concentrate on the design more of the time. Is there a place for Ruby in what I do though? I doubt it at the moment. I have no use for Rails. If I was going to use a Ruby backend I’d use Passenger + Rack. It’s far more lightweight and I’d more than likely use GWT for the front end. Rails is too “multi-function-product” for me. I prefer to mix ‘n match. GWT for the frontend, perhaps Java or PHP on the backend and use an ORM package to suit if I need to work with databases. (more…)

Beware of WAYFless URLs

Posted & filed under Guanxi, Shibboleth.

WAYFless URLs are great. They let you bypass the WAYF monster and go straight to your IdP and then to your chosen electronic resource but you have to be aware that they can break without warning. There are two types of WAYFless URL. Managed and Unmanaged. A Managed WAYFless URL is provided by the Service Provider and works entirely on their domain:

https://supplier.com/shibboleth?idp=uni.ac.uk

this type of URL will direct you straight to your IdP. An Unmanaged URL looks like this:

https://uni.ac.uk/shibboleth/sso?SHIRE=https://supplier.com/blah/& ... (more...)

The iNternet

Posted & filed under Android, iPhone/iPod, The Rantorium.

I’ve been playing around on the iPod Touch for a bit, not being able to justify the extortionate cost of an iPhone when there’s almost no network coverage outside major conglomerations, certainly not out here among the mountains, even though parts of the area have better broadband than London. Half a meg down the copper is fine for me as I don’t care to watch HD films on a postage stamp sized screen or even on the laptop. Call me old fashioned but I like to grab a single malt and lie in front of the telly with a DVD. iPlayer is about as much internet telly as I can stomach after a full day coding at the byteface. Life is about contrasts and variety of experience. (more…)

The pain of raw XML

Posted & filed under C++, GADfly.

It’s like the dark ages in here just now. Being so used to working in Java with XMLBeans I’ve been spoiled when it comes to XML handling. I never have to see it. OK, I have to design XML schemata now and then if they don’t exist but it means I can work on XML as domain objects. Now, working in C++ again, it’s back to raw XML. Here’s an example:

<user>
  <id>test</id>
</user>

with Java and XMLBeans I could just do:

userDoc.getUser().getId().getValue();

with C++ I have to do a bit more work: (more…)