It’s a FooCamp For The Restuvus

So I may not have received an invite to FooCamp, but now that I’m living in San Francisco, I’m able to attend the first ever BarCamp. I’m posting from there right now, and I’m just checking things out and getting a feel for the place. So far it’s pretty cool – lots of interesting people and discussions, so I’m looking forward to the rest of the day.

More to come.

Here Comes The Giki

You heard it here first – I predict that Google will soon release a wiki-based product of some kind. I don’t know what they will do, or how they will make it ‘simpler’ or ‘smarter’ than wikis are already, but that’s their problem I suppose.

I got my most recent copy of the ‘Google Friends‘ newsletter, and towards the end, completely unrelated to anything else in the newsletter, they offer a definition (sort of) of what a Wiki is. They provide a link to Wikipedia and then leave it at that.

Google have already delved into the world of blogs (they own Blogger.com and run their own GoogleBlog), so I guess it was only a matter of time before they got into wikis as well. I wonder where this is going to go… especially since Yahoo! is already an avid supporter of Wikipedia at least (hosting some of their servers).

Interesting Addition to Flickr

In their continued integration with other Yahoo! properties, Flickr has added a ‘Find Similar Images on Yahoo! Image Search’ link to their tags pages. What interests me is the search string that is automatically built into that link.

Looking at the tag page for ‘san francisco’, the link doesn’t go to the Y! Image search for just that tag, it is an automatically-built complex query (san francisco california OR bridge OR goldengatebridge OR goldengate OR alcatraz) which appears to be created using Flickr’s automagical tag-relations building feature. It’s calculating that those other words are related, so it’s including them in the search to broaden the result-set. Pretty cool!

AvantBlog Now Supports Titles

Now that I have a new Atom API library to play with (thanks to the development of webpad), I threw together a new copy of AvantBlog in about 40 minutes.

This version supports titles (so everyone can stop asking now!) and I improved some of the messages a little as well. There is also a new feature which allows you to specify the size of the edit fields so that you can maximize the use of your device’s screen-size.

To specify a custom size, add ?w=XX&h=YY to the end of the URL in AvantGo (or your handheld’s bookmark), where XX is the width of the main post body (and title field) and YY is the height. These values should be somewhere in the range of 10 – 30 each. You will need to play around to see what’s right for your device, but as a hint; my old Palm Vx used 17 and 6, my HP iPAQ uses 20 and 11 to get the biggest space available.

Happy Posting!

PS: For those who are interested, I’m also putting together a new ‘AvantType’ that will operate exactly as AvantBlog does, but post to a TypePad blog!

webpad 3.0 Beta Testing

Tonight I have a few more things to polish off (including writing the installation documentation), and then I will start going through my suite of tests for webpad. Once my round of pretty intensive tests are done, I have a couple people who are going to be helping me out with some beta testing. I’m really glad they are able to do this, because it means I can test webpad out on some other server installations before releasing it into the wild, and hopefully sort out any potential problems before anyone else has to deal with them.

I’m expecting to release webpad next week, if not this weekend!

Really Getting Close

Tonight I secured webpad a little more heavily, standardised some more of the operations across different sections and generally tidied things up. I also added ‘delete post’ functionality to the currently supported blog systems (blosxom, Blogger.com, TypePad and LiveJournal), and that’s looking pretty slick.

Part of add the delete functionality required me to write out the (very, very simple) plugin API for adding and removing tools to the toolbar. I may be a little biased (and not at all modest), but I think it’s pretty cool 🙂 More about plugins later – but basically webpad 3.0 supports plugins through a “My Plugins” section, so hopefully people might even write some new features for it, allowing access to more external sources of text to edit!

So, I can hear you asking; what’s left? Well:

  1. MovableType Support (open, edit, create, delete)
  2. WordPress Support (ditto)
  3. Update a few interface niceties (like the ‘About webpad’ dialog)
  4. Write the new Help Manual, which is a lot different to the last version, and will be a lot bigger
  5. Update the webpad project page
  6. Fix a scrolling bug in Mozilla (fixed on PC, needs a tweak for Mac)
  7. Pretty up some of the error messages
  8. Thorough system testing before release
  9. Packaging up with some instructions on installation

Oh yeah, and of course, I’m doing the whole dog-food eating thing and as usual, this is posted with the very latest version of webpad (from FireFox), using a couple of the tools and bits and pieces and it’s all looking good.

webpad 3.0 Closing In

Seriously, this time I actually mean it 🙂 webpad 3.0 Personal Edition is really close to being available for beta download. I’m really excited about this version, I think it has some awesome features and is an excellent upgrade from webpad 2.0 (it feels like a whole new product is has so much new stuff!).

Keep an eye on the project page and sign up to the mailing list to hear as soon as it’s available!

Random Hex

I needed some PHP code to randomly generate me a hex value for use as a color in a webpage. Here’s what I came up with (WARNING: Some colors are UGLY!)

function random_hex() {
	$color = '';
	for ($c = 0; $c < 6; $c++) {
		$i = rand(0, 15);
		switch ($i) {
			case 10 :
				$i = 'A';
				break;
			case 11 :
				$i = 'B';
				break;
			case 12 :
				$i = 'C';
				break;
			case 13 :
				$i = 'D';
				break;
			case 14 :
				$i = 'E';
				break;
			case 15 :
				$i = 'F';
				break;
			default :
				$i = $i;
				break;
		}
		$color .= $i;
	}
	$color = '#' . $color;
	return $color;
}