Here’s an interesting take on “cool”. Not really sure whether to agree with the change of use of the word “cool” as I’ve never really used it. Cool for me has always been a Hollywood term but these days it more or less means “interesting for the next 5 secs”. A cool tweet, a cool video. Yes, that’s mildly interesting and I’ll completely forget about it in a minute or two. Cool means stop what you’re doing and waste some time watching a guy try to pull a caravan through an exit too small for it and see it get ripped off its chassis. LOL! or should that be ROTFL? Cool! Now for something completely different.
In my last place, we employed a graduate software engineer and one day I was asked to review his code. So we sat down and had a look at an app he was working on. Can’t remember what it was now but I seem to remember it was written in Visual Basic, though ‘m not sure about that either now. Anyway, having a glance over the code, large chunks of it were commented out with a warning along the lines of “this code is dangerous, do not use!”. OK, fair enough, graduate and all that and we worked together to sort out problems. That’s a fairly common thing when you’re starting out in coding. You do things like that.
Then, years later, I came across Ruby and its “!” mechanism. Put simply, if you put ! after a method name, you’re saying “this method is dangerous, do not use”. It’s a coding convention which most people follow and what’s worse is, you’re not meant to write a “dangerous” method unless you’ve already written a “safe” version of the method.
Why on earth would you want to write “dangerous” code? Dangerous usually means the method changes a param, rather than returning a value computed from the param, so I presume dangerous equates to more “efficient”. Who’s kidding who here? Efficient for the compiler maybe but what about the maintenance programmer? Wondering where all those bugs come from and why every method ends in a !
What state has software engineering reached when languages positively encourage you to write “dangerous” code?
A long time ago, during the early days of the Bodington collaboration, those that know about these things reckoned the LMS, or as it was termed in those days, VLE, would become an aggregator of learning services, rather than a monolithic blob of press ganged functionality and at the time, when open source was doing well in education, albeit quietly, that seemed a reasonable outlook. Indeed, we’ve seen the slow eduPunky rise of the PLE, although I’ve seen this transmogrify from meaning basically an offline VLE, sorry, LMS, to what it’s known as today, namely a loose and not very well connected collection of “MyStuff”. That I use for, learning like, well, you know what I mean. I keep all my bookmarks in Delicious, my feeds in Google Reader and my mates in Facebook and I ignore all institutional content or attempts to contact me to make me do stuff. Stuff that’s to do with my learning, like, you know what I mean. Coz learning’s just about reading a load of Stuff then turning up for the exam, innit? (more…)
For a long time now, users of e-resources that offer Shibboleth access have been confronted with the discovery problem. That first hurdle one must jump to get anywhere near the resource. The supplier must ask you, “Where Are You From?” but because you can’t speak to a web site and say “University of Blah”, you’re presented with the WAYF service, where you get to scroll endlessly through hundreds or thousands of institutional identity providers, if you don’t know the exact name of your institution as it is known to, for example, the UK Federation.
I’ve been a great fan of WAYFless URLs and probably a bit of a zealot in this area as there really is no need to force a user through a WAYF if the supplier supports WAYFless URLs. Such a URL takes the user directly to their institutional identity provider’s login page, otherwise known as their Identity Provider (IdP). Two click access. One on the link, one on the login button. Voila, discovery problem solved. However, not all suppliers have WAYFless URLs and they mostly all have their own versions of a WAYF service, which is confusing to the user and more than a bit annoying. The supplier has a resource the users wants, the user knows where they’re from and yet the supplier insists the user must trawl their awful WAYF. (more…)
A minor bugfix and feature upgrade release for the Guanxi SAML/Shibboleth Engine. You can download it from sourceforge.
- Updated org.guanxi.sp.engine.service.shibboleth.ShibbolethProfileService. Fixed bug where it was sending the time param as Zulu time instead of Unix time
- Updated org.guanxi.sp.engine.service.generic.GenericProfileService. Added support for loading a default entityID for a Guard from the config
- Updated resources/log4j.properties. Fixed bugs in config for GenericProfileService, SAML2ProfileService, ShibbolethProfileService, which caused double logging to Tomcat log
- Updated WEB-INF/guanxi_sp_engine/config/spring/services/generic/generic-profile-service.xml. Added entityIDs to genericProfileService