I *heart* plain text configuration files

Linux, Tech, Windows 5 Comments

A small bit of musing while I wait for another back-up to run…

Reinstalling a server from scratch sucks. Obviously. Not being able to use direct dumps of the old system itself because of concerns of how far a malicious attack got, and how long ago (even though we’re running SELinux) means that everything has to be constructed afresh. How much fun I’m having.

But if there’s one silver lining here, it’s that at least Linux stores every shred of its configuration in a simple, plain text format, and in one dedicated subtree of the file-system. Even though the server itself had to be taken down, the old disk was mounted so that I could look at previous configuration files easily, and carry across relevant ones (checked manually, natch) directly. It still takes a lot if time, and the fact that I jumped OS versions at the same time has complicated it (but, if there’s any time to do that, it’s now), but it would have been much worse if I couldn’t reference the old system.

One thing I found annoying at times about doing admin on Windows servers (in a past life) was that they generally hid their settings away from you – the common assumption was that you use a GUI to edit everything, and accessing settings without that GUI was frequently difficult, if it was even possible at all. Although a GUI is friendly for many uses, it also does a pretty good job of hiding things from you. Sometimes that’s useful (drawing attention to the most important things), sometimes it’s very unhelpful (trying to find which tab / dialog a particular option is in). One thing it definitely fails at is making it easy to extract / summarise all the necessary information to audit it, or to recreate an entire setup. Even when you have the server still running its a pain, but if that server has been taken offline it’s extremely hard to extract information from it without booting the thing up again (which if it’s damaged or compromised, might not be desirable or possible). Settings were often scattered among the registry, proprietary repositories, application specific places, and sometimes in custom data formats. If you’re lucky you might be able to extract the settings some way, but usually you have to have thought of it before the machine was out of action, and the process is often specific to a given application – so even assuming you remember to do it for all of the different server apps you’re running, the results are disparate, hard to organise and very often not human-readable – something you really want when you’re auditing a machine or creating a variant. The result was, in my experience, relying heavily on binary machine images for reference setups, test servers etc. That works well enough, but it’s a bit opaque and doesn’t help you much when you want variations (unless you have MxN images, or a tree of derivative images).

In comparison on Linux, I know I just have to look at plain text, readable configuration files in /etc/, which I can do on pretty much any device without actually having to have any of the old software running – I can just mount the disk with minimal permissions. By and large the text files are extremely well commented and contain pretty much every option you might need, just commented out when defaulted. I can search quickly for settings just like I can in any text file, and search across the entire configuration if necessary. Being text, it’s very easy to create a standardised configuration template that you can roll out, in a much more configurable way than a raw machine image. The visibility of all the settings certainly helps, and you can do all sorts of nice things such as generating configurations from variable options, should you want to. Text configuration might look less friendly at a surface level, but over time, I’ve found that in practice it’s actually a considerably more productive way of doing things for many admin tasks – especially the more difficult ones.

Tweaking an existing installation is still probably easier with a GUI though, and less intimidating to beginners or occasional admins (and I actually count myself in the latter). The best solution is to have both – a GUI for casual admins and core text config storage underneath – and of course there are plenty of optionsĀ  about to do that on Linux too.

I’m not sure if Windows Server 7 does anything different here – I haven’t administered a Windows server since 2003 so I may well be out of date. I just thought I’d break out some love for the often unappreciated plain text config file. Sometimes simplicity is the best choice.

What Microsoft should learn from LINQ to SQL backlash

Business, Development, Open Source, Windows 4 Comments

Note: I’m going to pick the way I discuss this carefully, since I have a good friend on the LINQ to SQL team (yes, we Guernseymen do get around) and I feel bad to criticise too much in this area; nevertheless I think there are lessons to be learned and I have a definite angle on this, being an ex-business coder and open source enthusiast. My thoughts here reflect pretty much what I’ve already suggested on his blog, but in more detail, so hopefully this won’t offend him!

LINQ was a new feature introduced with Visual Studio 2008, and LINQ to SQL is the lightweight SQL Server implementation. News broke recently that Microsoft have decided to concentrate on the larger and more ‘complete’ Entity Framework instead, and encourage people to move to that for their more advanced needs rather than continuing to expand L2S. They’re not dropping L2S, it’s essentially being ring-fenced on a feature basis and will continue to be supported by the team. However, many people are reading between the lines and assuming that, in practice, LINQ to SQL is now a dead-end, and many of them are very upset about that, having invested development time in adopting it, and who were expecting it to continue evolving.

I can see both sides of this – MS need to have a strategy, they have finite resources, and they feel focussing on EF is the best way forward. However if you’ve adopted technology, and invested your own time in it, you want that investment to be strategically valid. While L2S isn’t being dropped, it is unlikely to escape the perception of being ‘on the bone pile’ if the strategy is to expand & promote EF as the preferred solution in future. When updates to a technology you’ve invested in are wholely controlled by one company, and that company decides it no longer wants to make it the core of their strategy, you basically have to suck it up and accept that. The problem here is that producers and consumers of the technology don’t necessarily agree on the best way forward, so bad feeling is the result.

It really doesn’t have to be this way though. What if Microsoft, on deciding that they wanted to focus on EF, released L2SQL as open source instead? Maybe it isn’t strategically core for them anymore, but those who have invested heavily in it already are bound to feel differently. Popular technologies (and I would venture that L2SQL is probably very popular due to its power & simplicity) tend to foster their own communities, and even if only 1% of the developers using it would actually become contributors to it, that’s still probably more people that Microsoft would want to dedicate to the effort from an internal team over the long term.

I’m not even sure what MS would lose from doing that – the technology is free already, so it’s not a revenue generator for them, and it would do wonders for community relations. What they would lose is control, which is perhaps what they’re afraid of – maybe that they’d have to compete with an open source L2SQL – but competition is good for customers. I get the impression from my MS contacts that they feel it’s not viable, that people wouldn’t want it to be open source, that they like the simple, spoon-fed, ‘MS knows best’ approach – but personally I’d say the existence of the Mono project is an indication that this isn’t doing the community justice. I think this poor view of the community model is formed because the open source communities around extending MS products tend to be much, much smaller than those elsewhere (like Java, Linux, Apache etc), but I’d counter that that’s precisely because of the tone that MS sets; ie that you dance to their tune. Environments that are open to more extensive external involvement tend to attract more active contributors, so saying there wouldn’t be enough people when you’re operating in a closed way is actually a self-fulfilling argument.

In the days of the ‘new open Microsoft’, I can’t see a downside to them open sourcing key parts of their framework in practice. Developers these days are a lot more savvy than 5-10 years ago about how they spend their time, and open source is winning a lot of favour not because it’s free, and not always because it’s cross-platform, but because it’s open, and cannot be taken away from them. A number of my customers use Ogre specifically because they’ve been with proprietary systems in the past, which have fallen victim to the companies controlling them deciding they didn’t want to support them anymore, or didn’t want to take them in the direction the customer wanted, or wanted to force them to move to something else when they didn’t want to – and they found themselves restricted / railroaded by a system they’d invested a lot of their own development money in.

Open source for these people means ‘taking the chains off’ – they know that no matter what, there’s no one company that can tell them what to do with their own investment. They’ll stay on the main track while it’s beneficial to them, they can benefit from the core development just like proprietary software customers can, but if at any point they disagree with the ‘central’ decisions, they can do what the like. That’s a very powerful insurance policy in development circles, something I hear time and again from customers as a major positive, and personally I think Microsoft needs to think about that more. They are very much still in the ‘producer/consumer’ mindset (or ‘cathedral’ if you will), but the world around them is rapidly changing to a model of iteration, collaboration, and distributed control. Fewer and fewer customers like to be dictated to by a central oligarchy anymore, and many are going to places they feel more empowered – which is usually the open source camp. Microsoft simply cannot afford to ignore this for much longer.

Gates & Seinfeld – funny in whose dimension?

Comedy, Tech, Windows 11 Comments

I don’t know if they’re actually airing these adverts Stateside, or whether they’re a web-only phenomenon for the moment, but Penny Arcade drew my attention to them today. Colour me unimpressed. If the intention was to shake off Vista’s sales blues, or to generally ‘connect’ with the wider consumer in a way that Apple does so well but Microsoft almost never does, but I’d have to classify this effort as a failure of sizable proportions.

Maybe it’s me; maybe I just don’t ‘get’ Seinfeld-style humour, or maybe it’s that Bill Gates really doesn’t remotely inspire or entertain me (making skiploads of cash every nanosecond might inspire some people to revere him, but not me). From my perspective though this is a fairly poor attempt at deadpan humour which leaves me with an impression of Gates being even more of an arrogant but incredibly dull grey suit than I thought before. Worse – it seems his thinking is that acting like a dull grey suit in wacky surroundings will somehow make him endearing and amusing, which couldn’t be further from the truth. It’s equivalent to your Uncle Henry who, despite bearing an unnatural affinity with tweed, thinks he can transform into John Travolta when he hits the wedding reception dance floor. Deeply painful to watch.

Tip to Microsoft – if you want endearing consumer-friendly ads, write Gates out of the script next time, he’s a dead weight.

*edit: I know this is old news but I’m behind a little, very busy lately!

Adieu, Windows 3.11

Windows 7 Comments

It’s formally the end of an era – even though Windows 3.11 (aka Windows for Workgroups) hasn’t been sold for PCs for some considerable time, Microsoft has still been licensing it to embedded device manufacturers right up until the present day. However, now they’re finally pulling the plug.

I’m actually impressed they kept it up this long! Most serious enterprise software vendors will support product lines for 10 years at a stretch, but it’s been 15 years since WFW was released – that’s pretty impressive.

So why do I care? Well, in a way WFW is ‘special’ to me because it marked the start of an era when I was genuinely glad to use Windows. I’d used Windows 3.0 and 3.1 at home before then, and they were ok for the odd bit of word processing but most of the time I was pottering about in DOS because that was where all the action was (I remember one of my friends at the time going on about how much he liked Slackware instead, but foolishly I ignored him). However at work, a PC with WFW on it replaced my green-screen terminal which only had access to a proprietary mainframe and a proprietary Unix system (SCO System V if I remember rightly – ugh). So I welcomed WFW with open arms :) Over the 90′s I spent a lot of time deploying & developing on various Windows systems, and generally enjoying it. I enjoyed playing with all the new stuff coming from Microsoft in fact, because they were changing the way things were done, for the better compared to what I’d used before. Looking back it seems such an innocent time :)

It didn’t last though. In the early noughties, I perceived MS becoming more and more self-obssessed, inward looking, and dedicated to their vested interests as a primary motivation, and decided I was seeing a very similar pattern to what had made the old proprietary systems so limiting a decade before – an incumbent protecting their monopoly, more than innovating for the better. The feeling that I was part of something exciting, interesting and positive ebbed away, and my cynicism reached record levels. You might call it an IT worker’s mid-life crisis :) It’s hard to put an exact time on it, but I think 2001/2 was the tipping point where I went from ‘relatively happy Windows developer’ to ‘ready for a new way of doing things’. Open source entered my world at about the same time.

So, for me WFW brings back nostalgic memories of a time when, even though it might not have been fantastic, Windows was something I would choose to use over alternatives, and the future looked bright – Windows was going places and changing life and work for the better. How times have changed. Or maybe it’s in fact me who has changed?

MS to world: black is white

Windows 11 Comments

I had to chuckle at these comments from Microsoft’s VP for “Windows Consumer Product Marketing” Brad Brooks on what they’re going to do about Vista’s current image problem. He says all the bad things people are saying about Vista are lies:

“There’s a conversation in the market place right now and it’s plain wrong,” he claimed.

Ah, I see now Brad. As a paying customer I’ve bought several Vista licenses and been totally underwhelmed by what I got for the money, and have been far more engaged with OS X in almost the same period, but I’m just plain wrong. Thanks for clearing that up.

“Windows is awesome… Windows Vista is a good product.”

Gotcha. I was thinking the best adjective to describe Windows, particularly Vista, was ‘adequate’, but clearly I slipped up and used the wrong ‘A’ word. It’s an easy mistake to make, after all I am dumb enough to be fooled by all the lies in the marketplace telling me Vista isn’t the dogs bollocks. Doh! You might want to give your partners cue-cards, just incase they forget how totally awesome it is during sales pitches.

“Also, Microsoft needs to get partners familiarized with Windows Vista ahead of Windows 7, as that OS will use the same hardware specifications. When you make an investment in Windows Vista, it’s going to pay forward into the next generation of the operating system we call Windows 7,”

Gee, thanks for making the incentives clear for me there. You mean I can invest my time & money to deploy Vista, so that it’s easier for me to spend more time and more money on the next iteration? Here I was measuring software against how much return I got on my investment, when all along I should have been looking at it as an investment towards future purchases I can make from Microsoft. Sold! Just a shot in the dark Brad – did you sell extended warranties at some point in your career?

As my daughter said, the ‘truth will make us strong’.

Your daughter may be right Brad, but you have a rather strange notion of the word ‘truth’ – but then you’re in marketing, so that’s not really your fault. Feel free to patronise your customers a little more at the next event, I’m sure they’re loving it being implied that they’re just stupid for not realising how totally awesome Vista is.

The Gates Legacy

Tech, Windows 10 Comments

I think this is a very interesting and balanced write-up of the life and times of William Henry Gates III. I still can’t believe we gave him an honoury knighthood though. :?

What do you know, other OS’s have teething problems too

Linux, OS X, Tech, Windows 5 Comments

Those of you who read this blog regularly will know that I’m pretty unimpressed with Vista, whether it’s the ham-fisted UAC implementation, the ‘burn resources for zero practical benefit’ attitude of Aero and the generally derivative nature of most of its enhancements. As an OS it rates very much in the ‘could do better’ camp, and when measured against a 5-year development cycle it edges into ‘what the bloody hell have you all been doing?’ territory.

However in the interests of balance it’s worth pointing out that it’s not the only OS released recently to have some issues. OS X 10.5 aka ‘Leopard’ has just been released, to less than a rapturous welcome in some cases – it appears there’s much to like about it, but there’s also some counter points and even a fair amount of bitching going on about some of the design elements, and it appears that the upgrade can be far from smooth for users of some add-on software. The latter you could blame on said add-on software screwing with the kernel, but it appears to be fairly popular software so I’m surprised Apple didn’t incorporate that into their testing, given how big they are on usability. I never jump in on a first iteration of core software like this anyway, I don’t have the time for it, although my Mac is currently in for repairs in any case.

There was also the new release of Ubuntu, 7.10 aka Gutsy Gibbon, and that’s been fraught with some networking issues in particular – the kind of thing you would have thought should be pretty solid by now, and some people are also having some Xorg issues (something I’m not unused to!) with the new version.

Of course, no doubt all these things will be rectified via patches and the like, but it’s only fair to say that Microsoft aren’t the only ones to have rollout problems on a new OS. I have to say that my installation & setup experience with Vista was actually very good (especially since drivers had stabilised by the time I installed it), it’s the end result that I found rather underwhelming.

I do intend to install Leopard early next year, and the new Ubuntu may well get an outing on one of my new test boxes I plan to set up soon. In both cases I’ll let others take the initial hit though, early adoption is not something I particularly have time to waste on right now.

Incoming Leopards

OS X, Tech, Windows 3 Comments

So, a formal release date for Mac OS X 10.5 aka ‘Leopard’ has been set now, 26th October or just over a week away. Really it should have been out by now, this represents a 4-month delay on the original release schedule which was to see it released with the ‘Santa Rosa’ Macbook Pro line – slightly disappointing but keeping it in context, it could have been a lot worse.

The pricing is kind of interesting – for a single license it’s £85, which places it smack in the middle of the Vista price range (OEM versions of Vista range from £60 to £100, ignoring the pointless Home Basic), but far more interesting is the ‘family pack’, which can be installed on up to 5 machines in a single household for £129. Now, I’m doubting that very many households actually have 5 Macs, but even if you have 2 it’s a saving, and it starts looking very attractive indeed at 3. I’m actually surprised Microsoft hasn’t done something like this to encourage the flagging sales of Vista, although I’m guessing the demand would still be stunted somewhat by the upgrade requirements in a family environment where apart from little Johnny who perpetually salivates (or worse) over Crysis screenshots, the rest of the household are likely to be running sub-par machines.

Also, I’m sure I’m not the only one to notice that ‘upgrade’ versions of operating systems seem to have quietly become irrelevant. OEM versions of Vista are cheaper than buying a retail upgrade from XP, and Apple don’t even seem to offer upgrade deals for Leopard; the price probably doesn’t warrant it. Hopefully this is an increasing sign of commoditisation in the operating system market, which can only be a good thing. The days when you could sell an operating system based on whether it did ‘true’ multitasking or whether it crashed less or not are finally over – consumers rightly just expect these things as standard. The differentiating factors in commercial operating systems now are not so much major core features (although they can still be a factor, like Time Machine), but style and ease of use. Application compatibility is still a factor to some degree, especially given the considerable success Microsoft has had over the years wooing developers to be single-platform with easy to use tools & frameworks (starting as far back as the first version of VB), but in the wider industry more and more application stacks are now cross-platform, thanks in no small part to the open source community; so you’re rarely stuck without a good application option on any platform now. So without style/flair or ease of use, you have no real need to buy a commercial operating system anymore, there are plenty of free ones that will give you the same thing with perhaps a little more coaxing (e.g. the next version of Ubuntu, which has Compiz enabled by default).

This is where Vista failed in my view. Style wise it’s stuck in a difficult situation – you can’t change too much without alienating the existing user base, but at the same time when you don’t have that many core new features that people need (hence the artificial welding of large chunks of the Dx10 featureset to Vista when most of the major features could have been delivered in XP, a transparent shoring up of the value proposition) , you have to try to do something interesting. The interface changes in Vista feel mostly derivative and ‘bolted on’ in a way that makes them entirely discardable – necessary perhaps to scale back to people who can’t run Aero, but it also saps the value right out of them. I can happily run Aero on my machine, I just choose not to because I don’t see the point, my user experience is not enhanced in any substantive way by having it turned on, as opposed to my battery life and ‘lap temperature’ which certainly benefit from having Aero off. Because OS X was built with the assumption that hardware graphics were available everywhere, the effects that are there feel like they have more of a core purpose. They also don’t toast the machine constantly ;) . I have no idea how much actual usability benefit Compiz brings to Linux in everyday use since I’ve never tried it, perhaps others can comment on how well that works.

Still, I’m not going to be rushing out and grabbing Leopard because although there are a few things I like the look of (particularly XCode 3), I’m not champing at the bit, and I have plenty to keep me busy for a couple of months anyway. I’ll let it bed in a bit first and perhaps upgrade early next year.

Curing Windows Update after a hardware change

Tech, Windows 7 Comments

I mentioned in my previous post that I’d managed to avoid performing a complete XP reinstall when changing my motherboard by following the steps in this MS Knowledge Base Article. However I noticed that I wasn’t getting the surge of windows updates that I’d expected since I assumed the process would replace a bunch of files from the original XP SP2 CD.

It turned out that Windows Update was bottlenecked on the Microsoft Installer 3.1 update, which was refusing to install correctly. I fixed that by manually downloading the Windows Installer 3.1 redist package and installing it, after which I got the expected 80-odd update queue. I shut the machine down and left it to it – but on getting back to the machine the next time I noticed I still had a 79-item queue. Hmm.

Trying to apply the updates manually failed with no indication of why, but digging into the c:\windows\windowsupdate.log I found the message: "Error: 0×80004002. wuauclt handler: failed to spawn COM server" which appeared to be the root of the problem. Some hunting online indicated that a bunch of COM DLLs might have somehow become unregistered through the process of running the upgrade install, so I had to manually REGSVR32 the following DLLs:

WUAPI.DLL
WUAUENG.DLL
WUAUENG1.DLL
ATL.DLL
WUCLTUI.DLL
WUPS.DLL
WUPS2.DLL
WUWEB.DLL

Fun huh? That seems to have done the trick, it’s now chewing through all 80-odd updates in a much happier fashion. Just posting this here in case anyone else follows that KB article and wonders why their updates are broken. It’s a shame the KB article doesn’t deal with this.