Random Disconnected Diatribes of a p&p Documentation Engineer
It's easy to forget just how much modern devices depend on software. OK, so it's pretty obvious that your computer and phone are just paperweights without the magic ingredient of a programmer's inspiration. But you need extend your thinking to include stuff like your television, microwave, digital watch, and even your fridge.
It seems strange until you really stop and think about it. My first computer, an Oric Atmos, had both UHF (TV) and RGB sockets on the back. I started off using an old color TV, but the image was pretty ropey so I took a trip to a backstreet electronics dealer in Leeds (who's shop actually was under an arch of a railway viaduct) and purchased an ex-military barebones RGB monitor. With a home-made case and bodged-up cable it was wonderful - a rock steady display with real colors instead of the vaguely fuzzy and flickering picture on a TV.
But where I'm going with this is that the "user interface" for the monitor was a set of small potentiometers soldered to the circuit board, which you twiddled using a tiny screwdriver. Your mechanical actions directly controlled the amount of volts flowing in the wires. A distinctly analogue display menu system. Now, when you turn on a flat screen monitor, you get a boot-up screen containing the maker's logo and you can use a fancy software-powered multi-level menu to digitally adjust what finally gets tossed onto the display.
Of course, it's the same with almost every other modern device. The digital display and input buttons on your oven, your washing machine, and your kitchen timer are connected to embedded chips running a simple operating system. And, of course, it's the same with things like your wireless router and network switches. In fact, it's wireless router software that actually prompted this week's random ramble of a post.
Some weeks back I complained about my unbalanced network routing problem. I had a response from a "random dude" (yes, that's his or her real name) asking why I didn't try installing DD-WRT on the router. There was no mention of whether it would solve the problem by turning my 2 Mbit ADSL connection into a 20 MBit one to match the speed of the cable connection, so I'll assume that the reason was it would give me better control of how the actual load-balanced routing was managed.
So I went to look at what DD-WRT is. Turns out that, for those not familiar, it's a Linux based alternative OpenSource firmware for a range of routers, including my Linksys RV042 load-balancing router. My first though was "who would be mad enough to install anything except the manufacturer's own software?" But then I remembered who I work for. I buy Dell computers and then install someone else's software (i.e. Windows) on them all the time. In fact, I install software from lots of manufacturers on computers that were made by other people. OK, so my Dell computer does already have some software on it in the shape of the BIOS, but even that's not written by Dell - it comes from Award or Phoenix.
So should I install DD-WRT? From the screenshots, it looks a lot nicer than the built-in stuff and the range of features it supports is astounding. Mind you, there are a dozen or more pages in the built-in software that I've never looked at, or couldn't understand when I did look at them, so I'm not convinced that new software will help. Unless it comes with a very comprehensive user guide and a support phone number. It's also somewhere between the "Yes I'm happy to install a new operating system on my PC (as long as it's Windows)..." and "Will my microwave still know how to warm my coffee if I install Linux?" options in terms of what seems reasonable usage of a weekend.
But why not? The worst I can do is brick it. And then it will make a rather attractive paperweight, especially if the lights on the front still flash. Except that, when I went to the DD-WRT installation instructions I discovered that I don't actually understand any of what it says. The site itself is amazing; there's hundreds of pages of articles, documentation, help, and more. And it's evident that there are lots of people whose life's work consists of playing with code inside wireless routers.
I did go off and read what a "30/30/30" is (a full reset that requires three operations of 30 seconds each), what the "peacock thread" is (several hundred lines of text that describe what can go wrong and how to fix it), and how I'll need a "jungo-image.py" (a script to install it). And if it goes wrong I'll need a "JTAG" rather than shorting pins. Though if you are familiar with hardware and firmware, I guess all this will just be second nature.
But then there's the Linux stuff. I know nothing about Linux, so much of the technical description of the installation steps simply improved the parting in my hair (or it would have done if there was any left) by whooshing over the top of my head. And even what is probably simple and obvious terminology left me standing. Do I really want to "access the following site on the webif" and "enable the busybox shell?" Maybe I'll just drop into Amazon and buy a better router. One that also has "swp half thumb fastmult edsp" would be good. Probably.
But I guess we should be thankful there are dedicated teams of people that revel in this kind of stuff, and that hopefully their efforts improve the firmware in the products we buy. Though it's a bit like suddenly coming across some strange pastime that you never realized existed. Like Mountain Bike Bog Snorkelling.
It's been a very long time since I exercised my DIY skills fitting out a kitchen and a bathroom during a hectic two weeks holiday. But the time has now arrived for an upgrade and, as I'm not getting any younger, I'm attempting to organize it so that someone else does the hard work. Preferably someone more competent than me. But, amazingly, I keep running into intellectual property issues. And I thought that was a problem only our industry faced.
It seems that the standard practice for kitchen and bathroom retailers these days is to measure your room and then show you a series of amazing 3D fully textured and shadow-rendered images of what it will look like when it's finished. They're so good that in one of them you can see the reflection in the fridge door of a kettle and toaster we don't have. OK, so they might ask you what color you want and what kind of handles you like, but it seems that you get pretty much no other choice on how it's designed. The suggestion is that "modern kitchens are so complicated now that only the computer can figure out what you actually need, and what will fit."
But, in the end, they're just wooden boxes with doors on the front. They come in a range of fixed sizes, and you can put them together in almost any combination. Yet almost none of the suppliers will give you a detailed list of the options and sizes. Perhaps they reckon nobody these days is capable of actually adding numbers together, or having the spatial awareness capability to judge what will work and what won't.
Then, after they wow you with the amazing 3D pictures and you ask for the dimensioned drawings and parts list so you can see what you are buying, the answer inevitably is that they aren't allowed to let you see these until you place the order because they are "intellectual property." I suppose they worry that you'll go somewhere else to order it, or just buy the units and fit them yourself. I'm surprised that the 3D pictures they do let you take away don't have copyright symbols all over the front and a list of terms and conditions on the back.
Mind you, when I discussed this with one fitter he asked me if, when I buy a TV or a mobile phone, I expect the company to provide a circuit diagram and a list of parts. Probably not, and he suggests that these days (with kitchens being "so complicated") we should think of it as a single package purchase, in the same way as buying a TV or phone. It's an interesting proposition, and maybe shows just how old-fashioned I am. Perhaps, in the world of high-tech kitchen design and implementation, DIY is a thing of the past. In the same way that doing your own car maintenance is now frowned upon and discouraged by manufacturers.
So what about when you buy a computer? At least with a desktop machine you can get a list of parts before you order it, because that's part of the decision process. Though you probably don't get to choose which motherboard, drive controller, or USB interface chip you want; where the manufacturer chose to put the memory and expansion slots; and what color the wires inside will be.
So maybe buying a kitchen and buying a computer involve the same decisions. I'll have one that fits in with my lifestyle, looks sleek, and has loads of storage space please. With blue LEDs all round the sides...
Some days it would be nice if things just did what you expected. Like music coming out of your MP3 player when you press the play button, or nice brown toast coming out of the toaster after the prerequisite two minutes. Or Windows Media Center quite happily recognizing that, yes, it does have a TV tuner card and a video card installed, instead of just hiding in the corner pretending it wasn't its fault that Coronation Street didn't get recorded.
Last week it was Virgin Media (my cable Internet provider) who decided to do something different by refusing to connect to any website with the word "microsoft" in the URL. When I spoke to the nice man in customer services he said they had a "routing issue in my area", but that it was no problem because almost everything else worked fine. All I had to do was avoid going to Microsoft sites. Though, after some animated discussion, he did reluctantly agree that it might be a problem for me unless I go and work for somebody else for a day or so. Or take a holiday. Thankfully I could use my alternative (ADSL) connection, which quite happily connected to Microsoft, while Virgin fixed their interesting issue.
But while I was playing with the cable modem and router to confirm the routing issue wasn't my fault, I noticed that it has options to block certain types of content. With the recent security scares over Java, I thought it would be useful to block this because I don't use it and - other than my UPS configuration web pages - I haven't found a website that requires it. In fact, other than one machine, Java is not installed anywhere on my network. So blocking it obviously won't cause any problems.
Oh well, I'll just create a rule to allow Facebook to bypass the Java filter. All I need is Facebook's IP address. So here's what you get when you do an nslookup for facebook.com:
Name: facebook.com Addresses: 2a03:2880:10:8f01:face:b00c:0:25 2a03:2880:10:cf01:face:b00c:: 2a03:2880:2110:3f01:face:b00c:: 2a03:2880:2110:9f01:face:b00c:: 126.96.36.199 188.8.131.52 184.108.40.206 220.127.116.11 18.104.22.168 22.214.171.124
As my router doesn't seem to have any facility to specify IPv6 addresses, and it only allows one IP address per rule, maybe this isn't an option either. But notice the last two groups of hex characters in some of the addresses above. I bet Mark and his pals now wish they'd called it "Facebooc" instead...
It's been a month or so since I swallowed the Azure blue pill and moved all my local and community websites to Windows Azure Web Sites and Windows Azure SQL Database. Into each life, they say, a little rain will fall (well, actually Longfellow said it) but so far it's been pretty much sunshine all the way.
I'm not going to say that the Web Sites feature is perfect by any means. The lack of fixed IP addresses has made setting up DNS more difficult; I've had to use a separate website hosted at GoDaddy to do the redirection I need for the domains and paths (see Fully Cloud-Enabled!). There are new domain routing features available in Windows Azure Web Sites now, but they don't apply to the free shared package I'm using.
I also noticed that the sites take a bit longer to start up than they did on my own server. I guess this is because they need to be loaded from the backing storage if they've been idle for a while, and the initial connection to SQL Database also seems to slow down the appearance of the home page for the first hit. In fact, for one complex site, I added a "Loading..." page so that the first response is a bit faster. Yet users report that the sites do seem to run more quickly, even though they're hosted in North Europe now rather than here in Ye Olde England. Though it's probably safe to assume that Microsoft's datacenter has a thicker piece of wet string connecting it to t'Internet than I do.
As to availability, I certainly have no complaints. My home-made website monitoring service checks each site regularly, and its showing around 99.96% uptime at the moment. That's better than I could achieve with my own server in my garage. The only time it's been a bit vague was when GoDaddy's websites and DNS fell over during the recent much-publicized attack they suffered.
I don't do much uploading and modification to the sites, but what bits I needed to do have been easy using Web Matrix's Web Deploy feature. The one exception is the local weather website, which is updated automatically every hour over FTP by the Cumulus software I use. It's suffered occasional connection failures on upload, but they have been very rare - around one every ten days, or less than half a percent.
OK, so we're still six months or so from finding out what the future charges will be for the shared Web Sites feature, so my hosting decisions may need to change. But until then I'm well chuffed (as we Northerners say) with the service. I even have an account executive who sends me regular emails; and responded almost instantly to my only contact with them by phoning me back within the hour! A free service that offers great support and customer service...what more could I ask for?