This is probably the most obscure post ever - but I need to put it up here, in case it helps someone, somewhere at some point.
I recently had a consulting job, where the client wanted a little help with a software installation of some ‘enterprise’ software at their office. (Quite why the business community have decided that their software needs to be labelled ‘enterprise’ still eludes me - it makes it sound like a naval vessel.)
Anyway - this business runs Mac OS X server (10.5) and needed to install a web app called LiveTime. LiveTime used to be a WebObjects application (the history of WebObjects is a fascinating topic - which I won’t go into here) but now is almost entirely Java-based and runs from an instance of the Apache Foundation’s Tomcat application server. Apache are the fine, fine people who brought us the Apache web server, which is basically the back-bone of the Web: it serves the majority (apparently 70%) of web sites that you’ll ever visit (including this one.)
Mac OS X Server comes with Tomcat built-in - so I started by trying to deploy the web application through the built-in version of Tomcat (which seemed pretty up to date.) That didn’t go well and I got errors from Tomcat when I tried accessing the webapp along the lines of ‘Servlet WOServletAdaptor is not available.’
Googling this error message only lead to WebObjects developers on Apple’s WebObjects mailing list attempting to deploy applications that they had written themselves. Googling for ‘LiveTime’ and this error got one result, which wasn’t useful.
It’s quite telling how you can often solve open-source application install issues, simply by googling, yet with proprietary apps, you have to go through their own support systems due to lack of public information. I’m not saying that LiveTime’s support was bad - in fact I got (24 hours later) very good support from a very nice, very knowledgeable and very busy Aussie who walked me through the install process. I do wonder, however, how much more quickly the issue would have been resolved if I hadn’t had to call the vendor.
So, one of the first things that I learned from my support guy was that the supplied Tomcat install on Mac OS X server wasn’t quite right for their software. Once I’d installed a fresh copy in /usr/local/ (instead of the default Mac OS X Server /Library/Tomcat/ install) things went a lot more smoothly, although not entirely smoothly. Apache and Tomcat weren’t playing well together - The LiveTime application was serving most of the application correctly from Tomcat’s own webserver on port 8080, but Apache (on the normal port of 80) simply couldn’t get a proper connection to the Tomcat server via its Jakarta Connector.
At this point the support guy and I hit a wall and I spent the next day working though each part of the install trying to work out where we were going wrong. After a lot of hair-pulling I figured it out: it turns out that the bridge by which Apache and Tomcat were trying to communicate (mod_jk - the Jakarta module for Apache) could not get up and running because the port it was trying to use (8009) was already in use by Mac OS X Server’s iCal Server.
So - if you’re trying to install LiveTime on Mac OS X server note the following:
1 - don’t use the installed version of TomCat which comes with Mac OS X Server - install a fresh version in /usr/local or /opt/local
2 - don’t use the suggested port for the jk worker, pick another.
I am currently using BeThere as my ISP. They are pretty good, you can get upto 24Meg DSL and there’s no port blocking, throttling or any of that non-sense, and they’re a reasonable price. Alas I only get just under 2 meg down (in central London!) and just under 1 meg up.
They give you a free router which is a re-branded Speedtouch box. It’s very flexible but only if you’re prepared to telnet into it and alter the config via the command-line. Mine served me pretty well, until the BBC brought out the iPlayer. It has a terrible habit of crashing when streaming flash audio or video from the BBC’s iPlayer. This was an irritation, but now that all video on BBC sites and BBC Radio’s ‘listen again’ use the same flash delivery system, it became untenable as a router. (I believe that BT’s Home Hub router is having similar issues at the moment.)
So I decided to move back to my ever-trusted previous router: a 3COM OfficeConnect. I bought it years ago - and although it was more expensive than your average bargain-bucket router it’s never failed me, is rock-solid and surprisingly even supports ADSL2+ (even though I bought it back in… the early 2000’s.) If you’re going to buy networking kit - 3COM isn’t a bad bet, they know what they’re doing.
Anyway - I had a little bit of a tough time getting it to work with BeThere (who don’t use PPPoA like most DSL providers in the UK) so I thought I’d document what I needed to do to get it working.
In order to get one working with BeThere you need to use the following settings:
Protocol: Dynamic/Fixed IP in 1483 Bridge Mode
IP address: (my static IP address)
Subnet Mask: (my subnet mask)
Default Gateway: (my Gateway address)
VPI/VCI: 0/101
Encapsulation: LLC
QoS Class: UBR (not sure if this is correct, but it’s the default)
PCR/SCR/MBS: 4000/4000/10 (again - the defaults)
DHCP Client - not checked.
If you don’t have a static IP, then you can probably leave the IP address/netmask/gateway empty and just check the DHCP checkbox.
If you do use a static IP then you can get the relevant addresses by calling BeThere customer support.
Oh, by the way - if like me, you have a static IP address and want one of your LAN machines to be the public face of your network (place it in what router manufacturers call a ‘DMZ’) then the OfficeConnect will gladly let you do this - but it simply won’t work unless you turn the firewall on. If the firewall is disabled then you won’t be able to connect to that machine from outside the LAN.
I don’t know whether you, dear reader, ever enjoyed learning about Chemistry; I did, but not enough to take it to A-Level, Physics and Biology were more my thing.
Science isn’t for everyone, I’ve always enjoyed it - but for every geek like me who couldn’t get a handle on the arts, there are ten arts students who don’t get science. Surely, however, we all loved the weird experiments that the teachers used to perform to bring the sciences to life.
Since the internet has become easily accessible by the general public in the last ten years or so, many universities have been making their course material available for free to anyone who wants it over the web. This trend was started, as far as I know, by the MIT in the US. This concept would have astonished people twenty years ago. I find it amazing, how quickly the web has changed things, and how quickly we adapt to them and take things like this for granted.
In 1969 the UK government decided that an university education should be available for all, and in the absence of the internet, they gave us the Open University whose main medium was the television.
So why am I rambling on about the OU, Chemistry and the web? Because recently the University of Nottingham’s Chemistry faculty have decided to do their own little bit of public education over the web, and I implore you to view it. It has a combination of a loveable chemistry professor, who gets a warm feeling about Sodium every time he sees it in a chemical formula (because its symbol: Na, was a nick-name for his mother) and some amusing lab technicians who revel in conducting experiments which often have explosive results (e.g. when a chunk of sodium lands on the cameraman’s camera.)
Watch the videos, and maybe learn something, or remember something that you’d forgotten. For example: anyone who has done Biology to any level knows that oxygen is transported around the body via Haemoglobin, which contains a lot of iron, and thus causes the blood to appear red. Did you know however, that crabs use a compound, which instead of iron, uses cobalt to transport oxygen - so their blood is green. Perhaps you didn’t know that Niels Bohr was given a house by Carlsberg next to their brewery which had a tap which ran from said brewery and provided him with free beer whenever he desired it.
I’ve decided to cave-in and buy a new iPhone, I’m really looking forward to being able to code for it and the UI, but it’s the day after the announcement of the device and with a bit of sober thought, I’ve come to the conclusion that it will be a downgrade from my current phone (Nokia E61) and 1st gen iPod Nano: here’s why:
3G - the E61 which I’ve had for a couple of years has 3G, so this is just catching up really.
The E61 speaks the name of the caller, this is especially useful in the car.
The E61 has voice recognition, again, very useful in the car when you want to dial by voice.
The iPhone has no concept of profiles - the E61 will switch to the profile of your choice when it connects to a carkit, I like having a different set of tones when in the car.
The iPhone doesn’t do MMS. I don’t use it often, but I do use it.
The iPhone doesn’t act as a bluetooth modem. With a third-party app (Joikuspot) I can even get my E61 to act as a 3G wifi hotspot.
The iPhone doesn’t do sending of files via bluetooth - This astounds me, I mean really astounds me. I send contacts/photos/audio files from my phone to other bluetooth devices all the time.
My iPod Nano has a remote with FM radio, will this work on the iPhone? I doubt it.
The iPhone is only available on O2. Carrier locking is EVIL! Handsets should never, never be tightly coupled with networks, this goes against the whole GSM ethos. O2 gets no coverage in the part of the country in which I’m interested. I should be able to choose the handset that suits me and the network that suits me.
There are upsides though - the iPhone has a camera which the E61 doesn’t, although inexplicably it doesn’t do video and is only 2MPixels. The E61’s mail client is not that good. The iPhone has built-in GPS.
I hit this *so* many times and it always drives me mad. Here’s the thing: email addresses are not case-sensistive. i.e. FOO@.BAR.COM is the same as foo@bar.com and FoO@bAr.CoM
Web designers always seem to forget this though - and it’s incredibly irritating, especially if you have a browser which has some form of ‘remember my details and auto-complete them’ function.
I can understand why it happens though, and here’s why. As a coder you think of things in terms of types and logic.
Types: Number-types are generally either floats (floating point numbers: 1.2, 3.1415, etc…) or integers (whole numbers 1, 2, 100232 etc…). Computers ‘think’ of numbers differently depending on whether they are whole number or not. Bits of text are often thought of as ’strings’ (’strings’ of characters) - think of a string of pearls where each pearl is a character.
Logic: Coders use logic to define behaviour in code - they set down rules for the computer to follow. i.e. ‘if this thing over here is equal to that thing over there then do this other thing.’ Many of these logical statements are combined to create behaviours that make-up software products - from your mobile phone, to this weblog, to your TV.
Anyway - back to the point - humans forget that computers see things in different ways - the human brain with it’s amazing ability for language and symbol analysis sees ‘Hello’ as having the same meaning as ‘hello’, whereas to a computer these two strings are completely different, so to a computer the correct response to the question ” is ‘Hello’ equal to ‘hello’ ” is “No.” Normally that’s fine in logic terms - the two strings are not identical - but when it comes to email addresses - this logic lets us down. It doesn’t matter what case the letters are, what we should be asking the computer is “does this string that the user gave *spell* the same as the string we are using as a reference?”
Of course a clever coder will take the case of the letters out of the equation by using a function which makes the two strings to compare both upper-case before it checks them for equality - so however the user types the email address (as long as it’s spelled correctly), the logic will come back and say - “yes - these two email addresses are the same.” This is such a common task that there are always (I assume) ready-made functions available to the coder in any language to turn a string into an upper-case string.
It just takes a little thought to make sure that you apply that function when checking email addressees. You’d be surprised how often it doesn’t happen though…
The same thing happens in other problem domains - e.g. usernames - my router has an admin account which allows me to configure it - let’s call it ‘admin’. If I use ‘Admin’ it fails to authenticate me. Usernames should not be case-sensitive, whereas passwords should.
Web servers / filenames are another case: http://www.foo.com/badger/ should be the same as http://www.foo.com/BADGER/ - Mac OS computers treat these two the same - UNIX machines don’t.
To humans, most strings are not case-sensitive, whereas to computers they are. Coders should think about this more often. Alas it’s easy for them to be caught out, since we don’t think like computers, and computers are ruthlessly logical and unforgiving when it comes to rules (which is why they work). They’re a bit like traffic wardens in that respect.
“The backup is too large for the backup volume. The backup requires 4.2GB, but only 22.9GB are available.”
Just posting this bug so I can reference it in a bug report. It may be my fault though, because I’m using an unsupported volume: a drive on a remote machine on my local network backed-up over airport. Worth noting anyway.
Half of the backup happens to be a disc image of the iPhone SDK.
It looks from what I’ve seen so far: i.e. nothing but the video of the Apple announcement, and a few iTunes U Apple Developer Connection introduction videos, pretty good. I’m getting more and more keen to get an iPhone. I’ve been waiting for three things before I do: Version 2.0 of the phone hardware (hopefully with GPS and 3G), the SDK and an end to the network lock-in. I hate being told that to use a specific handset I have to use a specific GSM network, it’s just wrong. Now the SDK is here, I’m weakening…
The info about the SDK looks very impressive so far - Apple taking 30% of the revenue from sales of the apps seems a little bit steep - but (in my opinion) they generally tend to be a benevolent dictator. Symbian has had voluntarily signed apps for a long time, however, very few developers bother to sign their apps, so users tend not to care or know about code signing. Even worse - when they find out about code signing it tends to confuse them. Apple mandating signing of all code means it can be seamless.
Having a single channel of delivery for iPhone apps may, to many, seem draconian and I would imagine it’s not long until someone writes an app which Apple denies distribution, yet most people find inoffensive.
I don’t know…. I’m torn - Steve’s Reality Distortion Field has really got me this time, yet I still in my heart of hearts think ‘hey - this is *my* miniature, hand-held computer - how dare you tell me what I can and can’t install on it.’
My resistance to not having a physical keyboard is also waning, and although being a Nokia devotee since I first had a mobile phone (back in oooh 1996), and therefore a Symbian fan of late - my experience with the mail client on my E61 and the limitations of Series 60 compared to Mobile OS X (network/email/voip config on the E61 is a real bore - and it doesn’t get the concept of falling back to different networks depending on what’s available) make the iPhone a very desirable next phone. Plus I’m familiar with the development environment.
I have noticed, from my limited peeking around, that there is no access to the Bluetooth functions of the phone. I could be wrong about that though. I think that the intention is that most external comms are to be done via TCP/IP over the wifi hardware.
Anyway, enough of my prattling - congratulations to all the engineers at Apple who are delivering the SDK, it’s a stunning feat of engineering.
I recently bought a GlobalSat DG-100 GPS datalogger, which is a device that records your GPS position over time, so that you can later review those data, and do all sorts of fun things. I specifically wanted it for aviation, so you can review your flight track, and see how good your navigation is and how far off your desired track you wandered.
There are Windows drivers for the device, and only a Windows utility for extracting the recorded tracks and altering it’s preferences. Normally this would preclude a Mac user like me from buying it, however, the nice people at GlobalSat have published the specifications for communicating with the device, and some people have made their own apps for talking to it. There’s a Windows .net application for it and a linux project for talking to it as well.
I’m in the early stages of writing a Cocoa app which will do the same for Mac OS X users.
[edit] - It’s true!, hooray! This is a very good thing, and hopefully more labels will open-up their catalogues. Apparently un-DRM’ed albums will not have any price increase, but single tracks will.
Here’s another AppleScript: This one puts an xHTML template on the clipboard: Again, remove the Growl parts if you don’t use Growl.
set XHTMLTemplate to "< !DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
”
set the clipboard to the XHTMLTemplate
tell application “GrowlHelperApp”
– notify title “AppleScript Notification” description (noteText as string) icon of application “Script Editor.app”
set myAllNotesList to {”XHTMLTemplateToClipboard”}
register as application “XHTML Template to Clipboard” all notifications myAllNotesList default notifications {”XHTMLTemplateToClipboard”} icon of application “Finder.app”
notify with name “XHTMLTemplateToClipboard” title “XHTML Template 2 Clipboard” description “The XHTML Template has been put on the clipboard” application name “XHTML Template to Clipboard”
end tell”
I never remember to post these scripts which I write and often use onto the web, so that Google can index them.
So in an attempt to solve that, here we go: Here’s an AppleScript that I use often via QuickSilver. It calls Growl so - if you don’t have Growl, remove the growl parts otherwise AppleScript will ask you where GrowlHelperApp is.
set theIP to do shell script "ifconfig | grep 'broadcast' | awk '{print $2}'"
set the clipboard to theIP
tell application "GrowlHelperApp"
set defaultNotification to "Put IP address on Clipboard"
set myAllNotesList to {defaultNotification}
register as application defaultNotification all notifications myAllNotesList default notifications {defaultNotification} icon of application "Finder.app"
notify with name defaultNotification title defaultNotification description "Your IP Address (" & theIP & ") has been put on the clipboard" application name defaultNotification
end tell
Just over a year ago I wrote a post to a Mac Forum that I meant to post in my blog, but I was worried that I wasn’t totally coherent enough - it was posted in that forum as a sampler to see if I’d thought it through. In retrospect, I should have posted it here.
The gist was that the legally downloadable music market was increasing and that with many players coming into the market that the DRM landscape was bound to fracture and this would only be bad for consumers due to incompatibility between various DRM schemes. I thought that an open standard for DRM would be the way forward. I’m a fan of open standards, and I was pessimistic enough to think that none of the major (i.e. not bleep) players would even consider not using DRM.
Mark me surprised, and impressed…. Mind you getting the idiots who own the rights to media to play along is another matter altogether….
On a side-note - I was amused to find while writing this post that the company that I and a few friends used to work for in the waning days of last millennium who tried to sell music on-line before it was fashionable no longer sell music through their own site, but now just link to iTunes.
Not that anyone in their right mind reads this blog, but just in case:
I’ve enabled OpenID as a method for authenticating when posting a comment. I look forward to this distributed ID system becoming more common throughout the net.
Well - My Blog appears to be atrophying to beyond the post-per-month status…
Here’s a quick update on my uninteresting life:
- Broken a life-time habit, and bought a Microsoft product - the XBox 360 - very impressive - most impressive part is ‘Live’ - especially the marketplace and the downloadable demos - currently very much enjoying ‘Geometry Wars’ and ‘The Outfit’ multiplayer demo….
- Meanwhile - in PS2-land - Loving ‘Shadow of the Colossus’ and ‘Black’ - both fine examples of farewell salutes to the platform…. Especially ‘Black’ - which has humourous mission objectives and Matrices-esque destructible pillars in large (soldier-filled) rooms.
- Became 30 - sigh…. on the upside - got an HDTV for my birthday - very nice - just need Sky to launch their HD service…
- If by any chance you are reading this because of my software - - - yes, a Universal Binary of ‘More Internet’ is forthcoming - soon…..
Most bizarrely, no modem! This is a laptop and the modem is sold separately. That makes sense for an iMac, but a laptop with no modem?
I like the magnetic power connection - I have a ding in the corner of my PB from when it shot off a desk due to foot/power cable entanglement - and just last night I got my foot caught in the power cable again.
‘MacBook’ is another really bad name - what *is* going on in the Apple naming department?
Well - I’ve been following the discussions about the new laptop on the forums, and a couple of other notes:
FireWire 800, apparently 2 port FW800 ExpressCards are the way to go here, although Apple dropping it (built-in) on their pro laptop doesn’t signal a strong future for FW800. I assume the new Intel PowerMac-equivalents will have built-in FW800.
ExpressCards - currently there aren’t that many about, but Apple always is ahead of the game on this sort of thing - e.g. USB/No Floppy on the original iMac. Some people are worried about how long until there are GPRS/G3 cards in this form factor.
lack of modem as standard. I’m amazed by how many people seem to equate the modem with the death of floppies - lots of comments like “I can’t remember the last time I used a modem.” Do these people travel with their laptops? Have they never been to places without Cellular/broadband coverage? I suppose it’s not really a big point, since you just add the USB modem to your order, and it should last you across several laptops. However, these laptops only have two USB ports, and there goes one…
No S-Video out - I missed this first time round - I suppose we’re all supposed to have HDTVs and use DVI->HDMI cables, or perhaps the DVI->S-Video adapter that works on the PowerMac G5 / MacMini will also work on the new PowerBooks.
It seems like we’ll have to buy and carry around a lot of extra add-on bits with these new machines…
Mind you, the speed improvement is a welcome new feature, and my two-year old 17″ PowerBook should last a while yet before I need to worry about upgrading.
No link to any hard source - but hopefully Auntie Beeb will put out official detail later today… (edit: and here it is)
The most interesting part is the idea that they might start to transmit HD over DVB-T (Freeview).
Currently there’s not enough bandwidth in the UK for this - we (the UK) decided to allocate the bandwidth so that we got many channels, rather than a fewer higher-def channels (We’ve got about 30 standard def. channels and some audio-only channels too.) However, after digital switchover, there could be extra space for some HD channels (which take up relatively huge chunks of the available bandwidth.)
Someone has hacked FrontRow so that it doesn’t require the Apple Remote control. The torrent file seems dead - but you can download it from here. (Standard warning - Downloading hacked software from unknown sources could be dangerous.)
Seems to work OK on my Powerbook.
I’ve been mucking around with trying to make my own clone of FrontRow (I call it BackRow) - so far it doesn’t do anything but scroll one menu. I’m not trying to make a MediaCentre app (like CenterStage - just a remote control like thing that uses AppleScript to control other apps.)