Entries
Filters: Sorted by date
Hydra: Collaborative text editing
Via Sam Buchanan, Hydra is a remarkably innovative text editor that allows multiple users, via a network, to edit the same document at the same time and have it update live on each other’s screens. This screenshot probably demonstrates it best, showing multiple participants working on the same code simultaneously. The colour coding (where each person’s edits shows up in a different colour) is a particularly nice touch. Unfortunately, Hydra is only available for Mac OS X so I can’t try it out myself. Hopefully they’ll release the code at some point and let aspiring Windows / Unix hackers try and port it to their respective platforms.
More on the new Yahoo
Unsurprisingly, the new Yahoo is generating a whole load of commentary. There’s a good thread going on Signals vs Noise, and ia/ has coverage as well. I’ve been playing with it a bit and it’s definitely an immense improvement on the current Yahoo, although it’s still not quite as usable or responsive as Google. I also noticed that the search results are exactly the same as Google’s (even for image search) so it looks like Yahoo haven’t switched over to Inktomi just yet.
[... 179 words]A new Yahoo
New York Times: Yahoo Plans Improvements in Effort to Regain Lost Ground. I’m guessing this is what it’s going to look like (via thelist).
getNodesByType()
On gazingus.org, Flexible Node Retrieval introduces a new addition to the getElementsBy* family of javascript functions, getNodesByType. This general purpose function uses a callback function to “filter” the child nodes of a DOM element. It works a bit like PHP’s array_filter function. One for the toolbox.
Onyx Relicensed
Ed Swindelles has relicensed his Onyx RSS Parser under the MIT License, meaning it can now be used without risk for building commercial software. I haven’t decided which license to place HttpClient under, but that one looks like a pretty good bet. I’ll work it out in the morning.
UltraEdit and the clipboard
UltraEdit tip (discovered just now): If you keep trying to copy and paste between UltraEdit and other applications and it just doesn’t work, the chances are that you’ve accidentally hit Ctrl + 1 through 9, which is the UltraEdit shortcut for selecting a custom clipboard. Hit Ctrl + 0 to get back to the Windows system clipboard and have everything behave as it should again. I suppose this feature could be useful, but I’ve got ridiculously fast at hitting Ctrl + Windows Key and typing “notepad” whenever I want to dump my current clipboard contents somewhere temporary without losing it.
HTMLCleaner class for PHP
htmlcleaner is a PHP class which claims to be able to clean up the revolting HTML generated by Micrsoft’s HTML libraries, in particular the one that is used for browser embedded WYSIWYG editors. We’re using HTML Tidy for this with excellent results, but for people who can’t run HTML Tody this could be a useful solution. Unfortunately the class is hosted on PHP Classes which still insists on making you log in for no apparent reason.
Archive woes
Mike Golding has some interesting thoughts on Archive Navigation in blogs. He uses mine as an example of what not to do. I agree—the archives on this site leave an awful lot to be desired. I’ve got a few ideas to improve them (mostly inspired by Mark Pilgrim’s excellent calendar navigation) but I can’t really do anything until I’ve been through and added titles to every single entry :/
Lots and lots of CSS buttons
The alternative W3C buttons on AntiPixel are great. Jamie Zawinsky suggested recreating them in CSS. Stuart Langridge, Marek Prokop, Nick Boalch and Eric Meyer all had a go. Eric even did the Raging Platypus ones as well.
HttpClient PHP class
I’ve been working in quite a roundabout fashion recently. My principle target is to build a collaborative blogging system. As part of this, I needed an RSS aggregator to allow a single blog to show the most recent entries from a number of other, related blogs. Then I needed a way of downloading RSS feeds from external sites. While thinking about this (although to be fair it’s pretty much a solved problem) I was inspired to build something that could cache whole sites. And that lead me to need a PHP HTTP client class for retriving information from the web. So I wrote one of those :)
[... 381 words]Private wikis for personal organisation
I’ve been struggling with different methods of staying organised for as long a I can remember, but I think I’ve finally found something that works. A couple of days ago I set myself up a password protected Wiki (using my own slightly modified version of WikkiTikkiTavi) to see if a private personal Wiki could help me stay on top of things. It’s already proving remarkably useful. I’ve set up the front page as a to-do list, split in to University, Work and Personal sections. Any tasks which involve writing or developing ideas are wiki words linking to a page where I can develop them further. I’ve also got a section devoted to things I plan to blog (hence the recent surge in blogging activity), a bunch of links to useful sites and the beginnings of a collection of phone numbers and contact details. I also finally have a good place to keep all of those irritating but essential pieces of information such as my National Insurance number.
[... 219 words]Applications in Java
My opinion of Java as a platform for developing GUI applications has generally been that it results in slow, clunky, ugly software that is a pain to install, feels unresponsive and fails to behave in the way I expect a GUI to behave. I based this on my experience with Java applets (ugh) and Mediasurface, a content management system I had to struggle with for two years working for a dot-bomb in London.
[... 387 words]Absolute positioning on the wiki
I’ve put together some notes on constructing CSS layouts using absolute positioning over on the css-discuss Wiki. If you have any suggestions or improvements, just make them :)
Bill Kearney responds
Bill Kearney posted this comment in response to yesterday’s semi-rant:
[... 187 words]Site moved
I’ve just finished migrating this site to a new server. Everything seems to be working, and the site appears to load noticably faster now.
Letting off some steam
I spent most of today knee deep in RSS, writing an aggregator for a project at work. It has been quickly becoming apparent that “Really Simple Syndication” is anything but! There are currently three major (and goodness knows how many minor) specifications doing the rounds, and the majority of feeds seem to pick and chose between the three at will. Even the three core elements that describe an item (title, link and description) are both optional and heavily overloaded.
[... 716 words]The blogging MP
Could Tom Watson be the blogging world’s best kept secret? He’s the Labour MP for west Bromich East, he’s been blogging apparently since since July 2001 and posts updates several times a day, including an almost daily “Today in parliament” entry. I’m surprised I haven’t seen him linked to by someone before. I wander if any other UK MPs have frequently updated blogs?
PhotoPal
PhotoPal is a new PHP image gallery system by Noel Jackson inspired by the Photos section on Textism. The way it is implemented reminds me somewhat of the Blosxom philosophy—the album’s structures is defined by the directory structure, with simple text files adding additional descriptions, and metadata is extracted from the photos themselves using PHP’s exif_read_data() function.
Bjørn Borud blogs
Bjørn Borud (a Senior Software Engineer at AllTheWeb) has recently started blogging. His thoughts on wikis make interesting reading. I also rather liked his description of something he calls the “Hansel und Gretel” mode of browsing:
[... 296 words]Interview with Steve Champeon
Meet The Makers are carrying a great interview with Steve Champeon, author, web standards advocate and founder of the Webdesign-L mailing list (which I re-subscribed to today). Steve’s explanation of the concept of “progressive enhancement” is particularly interesting:
[... 202 words]Lively discussion on SOAP
If you get the basic idea of web services but are still looking to get your head around SOAP (I know I am) the lively discussion currently taking place in Sam Ruby’s comment section looks like a great place to start.
Closures and continuations
Thanks to Dan Sugalski (designer of Parrot, the next generation Perl VM) I finally understand what continuations and closures actually are. He explains them as part of a comparison between the forthcoming Parrot and two popular virtual machines already in existence:
Better DHTML navigation
Adrian Holovaty demonstrates how standards compliant code and effectively written javascript can decimate the size of a clunky navigation interface, and make it more usable and accessible to boot: Web standards improve 2theadvocate.com navigation.
Three column layouts in CSS
ThreeColumnLayouts in the css-discuss Wiki currently lists 24 freely available three column CSS layout templates.
css-discuss archives back online
After several months spent offline, the css-discuss archives are back and better than ever thanks to the hard work of my colleagues at Incutio. As well as updating the archives with all of the missing posts from the past few months they’ve improved the URL scheme to make things more search engine friendly (hopefully Google will start indexing the archives now).
Fixing quotes with Javascript
Marek Prokop has a cunning way of getting Internet Explorer to style <abbr> elements (IE, for reasons unknown, usually ignores their existence both as stylable elements and through the DOM). A comment by Mr. Farlops on diveintomark inspired me to have a go at fixing IE’s equally faulty quotes behaviour using javascript. Rather than detecting IE by checking for the presence of document.all, I decided to use a Microsoft specific proprietary extension: DHTML Behaviors.
Mozilla changes focus
The Mozilla project is shifting focus to concentrate more on standalone apps such as Phoenix and Minotaur. Cool. The full story can be found on MozillaZine, with further details on the Mozilla.org Roadmap. See also comments from Blogzilla and mpt.