Sunday, August 31, 2003
I’ve never really looked at the whole BlogShares thing before, and was under the impression that you had to register your blog with it in order to be listed. Imagine my surprise then, to find this blog ranked on blogshares.
What really surprised me was that I only discovered this by finding my weblog listed on organica.us which shows all sorts of information about my site.
In turn, I only found out about organica.us by vanity-googling for “pipthepixie”.
Surprising what stuff you can turn up on the web.
Unrelated, but I was in Waterstones yesterday (a bookshop whose website I’d link to were it not just Amazon ;), and there it was on the shelf: Salam Pax: The Baghdad Blog, which appears to just be a print version of the contents of Where is Raed? during the Iraq war. Of course, everyone else probably knew about this already, but I was hugely surprised. Published in association with The Guardian (well known for their links with the online world – hello Ben Hammersley) it puts the word “Blog” in a prominent position in major book shops up and down the land. It seems, then, that despite all the controversy about whether it was real or just propaganda, The Guardian found out enough, and managed to get in contact with Salam Pax (which is a pseudonym of course), to be able to publish his insider’s view.
I didn’t buy it.
cuckooo is a KDE Part, which allows OpenOffice.org to be run in a Konqueror window. (via Andreas)
With the new Ximian Desktop 2 remind me why my office pays a fortune for Win2k on every machine, including all our servers?
Because I’m in the process of redesigning my web site, I’ve been re-reading a lot of old design articles (mainly a load of CSS articles; the lessons of which, I was quite glad to discover, I mostly knew by heart).
Some interesting new stuff (for me at least!) though: Help the Googlebot understand your site, Nine things you can do to make your web site better and the IBM Web Design Guidelines
Whilst looking around, I also came across this quote:
- Test subjects consistently report that keyboarding is faster than mousing.
- The stopwatch consistently proves mousing is faster than keyboarding.
Which was apparently published in AppleDirect in August 1989 – I wonder if this is still true? One of the developers at work uses Emacs for everything (motto: if it hasn’t got a fifteen-key macro command it’s not worth doing) in Windows on the premise that it’s much faster than using a standard programmer’s text editor.
The Mozilla XUL Periodic Table is great stuff. If you want to see what XUL elements are available to you, how to use them, and what they look like with different attributes, this is the place to go (via Chu Yeow Cheah).
Mozilla’s XUL is really simple stuff. When you tie it in with Mozilla’s built-in support for XML-RPC and SOAP (check the articles on Using the Mozilla SOAP API, and Mozilla SOAP/Google API Demos), you’re well on the way to creating decent cross-platform applications. The biggest problem of course, is that we’re still waiting for the XRE (although I guess the GRE is usable).
Eclipse and SWT
Friday, August 29, 2003
Despite my earlier protestations ([It] just confuses me with its perspectives and workspaces and completely idiosyncratic method of working with projects
), I’ve persevered with Eclipse and it seems OK at the moment. I was mainly swayed by its CVS integration, which is good, and I’ve finally understood that Eclipse is only a project editor, not a text editor, which is how I’d been trying to use it before. In fact, its basic text editing is probably its weakest aspect. Eclipse is written for editing Java, so where’s the JSP support? Why is it so hard to find out which shortcuts keys are already mapped to? Little things like these are really putting me off, and need to get sorted. Yes I know it’s open source and all that bollocks, but if you think I’ve got time to wade through hundreds of thousands of lines of source to try and implement what someone else should be being paid to do then you’re very much mistaken.
Oh, and copy and paste is broken; both within Eclipse and with other applications. Very unimpressive.
In developing an SWT app I’ve needed to be able to bring up a webpage, and so far I’ve been using the method Eugene Bayley provided for launching the default browser. Today sees the release of Milestone 3 and with it a new SWT Browser widget (check out what the FAQ says about it and a code snippet).
Nice stuff. I like SWT. Initially it seemed a lot simpler to me than Swing, but I think that’s probably more to do with the very easy to read SWT tutorials I learnt it from, whereas I learnt Swing the hard way – using JBuilder and then seeing what code it generated. I’m not sure if one is actually better than the other, after all Swing provides a native look and feel too.
Nevertheless, SWT is currently my Java UI of choice. I’d prefer to be able to use Thinlet I think, and whilst I can knock up fairly complex UIs in little time using its ace XUL (thanks mainly to my experience playing with Leigh Dodds’ Foaf-a-matic mk 2 I can’t always quite get the functionality I need.
Using Thinlet though, has shown me how quick and easy it can be to use XML to define your UI. Sometime last week I set about searching for an XUL for SWT.
I found two possibilities JellySWT (there’s also a JellySwing for generating Swing interfaces) and Luxor. I haven’t evaluated either of them at all yet, but licensing seems relevant – Luxor is GPL whereas JellySWT is Apache License. Also, JellySWT runs out of Maven (which I’m sure is nice, but which failed my five minute test when I tried it eight months ago).
Overall I suspect I’ll try JellySWT, I think it looks the better of the two, but let me know if I’m barking up the wrong tree. :)
The main links I picked up whilst searching:
- Luxor
- Luxor mailing list
- Slides about Luxor
- JellySWT
- SWT, XML Put True Cross-platform GUIs Within Reach
- Jelly offers component-rich XML scripting
- The New Java GUI Alternatives
- Why SWIX? (includes a list of XML - GUI converters)
Thursday, August 28, 2003
Your browser is bum
I only have dial-up at home, and I've been terribly busy at work, so I'm a week or so behind, my apologies.
Following up on his original CSS tabs (which I copied for the effect on http://philwilson.org), Dan Cederholm shows us how to use images to achieve a very neat effect
Somehow in all my web design wanderings, I'd managed to miss Pseudo/Design and Redemption in a Blog, two weblogs well worth a read.
To finish this post, something from Richard Herring that made me laugh. I suspect you have to be British to appreciate it properly. ;)
Running a CVS server on Windows
Last week I started an attempt to convert our work VCS from Microsoft Sourcesafe to CVS.
The first thing to do was get a CVS server up and running. We’re a completely Microsoft office, so no simple “just install linux!” solution for us. Instead we had to install CVSNT, and the last time I tried this (about six months ago) it was impossible. After several attempts by myself and some of the other developers we gave up.
How things change.
The CVSNT I’d tried with before was 1.something, the current version is 2.0.8, and it’s an absolute snap. Within about ten/fifteen minutes of downloading and following the instructions on the installation page of the wiki we were up and running with full internal CVS access using all our favourite clients (emacs, tortoiseCVS, WinCVS, Eclipse).
The next thing to do was port over some of our Sourcesafe projects. For this I used Laine’s VSS2CVS which again was very simple to use, following the instructions given (the only downer being that you need to run it once for every project in the repository, so if you have many projects, this could take a while).
At this stage we had multiple projects checked into CVS which we could check out, edit and check back in, plus all the other CVS functions you’d expect. The problem now was that the author and creation date of each files in CVS were set to the user who did the import and the time the file was imported.
Fortunately, vss2cvs comes with a perl script called “massagecomments.pl” which takes care of this for you. During the normal vss2cvs process it stores the user history and creation date in the file comment. The massagecomments script restores these values to the CVS repository.
Less fortunately it only works on a single file at a time, and if you’ve just imported a decent number of files then you have a long job ahead of you. I didn’t fancy this, and so brought my insignificant perl skills into play to create “massage-runner.pl” (if you download it, you'll have to rename it to have a .pl extension and change the path in the first line which defines which path it should start from) which scans directories recursively searching for files ending in ”,v” and running massagecomments.pl on them. What can I say? It’s worked for me, running on multiple projects.
What this means is that if you’ve been looking to get away from using Sourcesafe at work, want to stop paying yearly renewals and don’t want to have to buy extra pieces of software to be able to access your code remotely and are having trouble convincing the boss, then give CVSNT a go. It’s a real alternative. We’ve now had it up and running for about a week and a half with daily use (although only light use, I confess) with no problems whatsoever.
Try it, you might like it.
p.s. DeveloperWorks have a good article on sharing code with Eclipse
p.p.s I should mention of course, that in order to use VSS2CVS you'll need both Perl and something like MinSys installed (or any other program that provides you with rm.exe and mv.exe, Cygwin will probably do the job), both of which we had installed already.
Tuesday, August 26, 2003
It’s not often I scroll to the bottom of my blog, but if you do so you’ll spot exactly what I did – Google ads. I wouldn’t mind if I’d chosen them to be there, but I didn’t. I suppose it’s a small plus that they seem to actually have some relation to my blog, but still this is yet another reason why I really need to get my arse into gear and move everything over to Minty running on http://philwilson.org (which is all just demo layout at the mo).
et voila. another <noscript> tag and they disappear. Exactly the same technique I use to stop Tripod Popups appearing. It makes my HTML completely invalid, but who's counting? ;)
Friday, August 15, 2003
GenJar is an incredibly useful tool for people like me, who uses masses of libraries during development, chopping and changing between different toolkits and not removing the jars no longer used.
In fact it does more than that, recursively examining the class files used by your app so that your final JAR only includes the classes you actually use!
Looks like good stuff for keeping your total deployment size down.
Is it just me or is this Ben and Mena?
Getting back to the geekiness…
As you might by now know, I’d run my life via Jabber if I could. I subscribe to RSS feeds via Jabber and have a distributed todo list in Jabber (code release soon). My bugtracker sends Jabber notifications if you specify an address, and it’s my preferred IM protocol (FYI I use Psi as my client).
[aside: the new Psi Bugtracker is very very cute and I’m sure it’ll give me, er, “inspiration” for new features. It would probably rank quite highly on my previous bugtracker review, if it was a) open source and b) allowed normal users to add things. Looks fully-featured though.]
Anyway, Harness the power of log4j with Jabber is an article from IBM Developerworks explaining how to do exactly what it says on the tin. Potentially very useful for catching critical errors and instantly notifying a developer/support person. This is definitely getting integrated into my code.
Today also sees two methods of doing the same thing: finding which JAR file a class is in. Norman Richards uses a shell script whereas the IDE folks he mocks can now actually use the Eclipse JAR Class Finder plugin.
Keeping to the Eclipse theme, I know it’s massively popular, and clearly very powerful, but I think I find it too powerful. I use Editplus for all my needs, and it seems to do perfectly well. Eclipse just confuses me with its perspectives and workspaces and completely idiosyncratic method of working with projects. Although, in the process of moving our SourceSafe repository over to CVS this week (using the very good, and very simple vss2cvs), I discovered it has excellent CVS integration. Really, really good stuff. Much better than Visual Studio which kept corrupting our SourceSafe repository (or so I’m told), and it might not be as comprehensive, but far better than WinCVS which has so many usability issues I don’t even know where to start (again FYI, as if you care, I use TortoiseCVS for all my CVS needs).
Incidentally, IBM Alphaworks has lots of RSS feeds, which I didn’t know before. Go look and subscribe.
Monday, August 11, 2003
I spent all last week in Brighton (south England, beach, hot).
Now I’m back in Sheffield (north England, grim landscapes, cold).
Thursday, August 07, 2003
Jabber! Trillian! Ace!
(far too much enthusiasm for twenty past one in the morning!)
I’m halfway through my week off, and have blagged Internet access for a few hours, mainly to sort of stare at my Inbox. I only subscribe to about three mailing lists, and it’s already going to take me several hours to catch up on what I’ve received since Saturday, let alone what I’ll have by the time I get home.
I think I’ll save it all for next Monday.
I pity poor Danny Ayers.
In other news, I’ve clearly taken the best week of the year, weather-wise off of work, as temperatures soar across the country, and I’m spending the week on the south coast, although on the day I decided to spend on Brighton beach (webcam, wifi) it was covered in miserable mist, and the terror that is the British Rail System stopped me from getting back to Hastings (for that is where I’m staying – highest suicide rate in the UK, trivia kids, don’t say I never give you anything) for for about five hours. I have however learnt my lesson and will be spending the rest of the week as I began it, enjoying the sun and squinting to see my laptop screen. :)
Saturday, August 02, 2003
Gareth’s keyboard config has a problem.
Mine has one hard-wired:
Spot the button that turns the computer off.