Development on a Shoestring

Archive for June, 2005

Discworld glut

I’ve realised I read a heck of a lot of Terry Pratchett books. If only he wasn’t so damn funny!

Aeon Flux movie & game

Aeon FluxBack in the early 90’s a cartoon appeared that, while clearly having been inspired by Anime, was actually out of the US. MTV in fact. It was Aeon Flux and it was one of the strangest combinations of futuristic nihilism, violence and sex to come to TV. It was also one of the coolest. From the sometimes obscene amounts of violence and near-nudity, to the fact that Aeon dies at the end of half the stories, it was certainly unique for cartoons of the era.

Aeon Flux ScreenshotI heard a while ago that a game was in the making, and today I came across not only a game, but also a movie! Due at the end of 2005, it’s got Charlize Theron in the role of Aeon and Marton Csokas as Trevor. The official site has a trailer for the game, but not for the movie yet and the movie. Go watch the trailer, it follows the path of the opening scene of the original pilot of Aeon Flux, where she enters a Breen installation and kills about a million soldiers. From the looks of things they’ve kept the violence at about the same level as the show, but Aeon is wearing more clothes. It’s a bit of a telling statement really on what society considers to be worse - sex or violence?? There’s not too much info there on the movie, but there’s a timeline of the story which includes a few photos which seem to be from the movie. Also, The Film Asylum has a bunch of shots from the movie.

(more…)

What is this building?

A building in Hong KongLooking at Hong Kong in Google Maps & I came across this building, which looks really interesting, but I’ve got no idea what it is. Anyone able to help me on this one? It’s located at 22.283245 North, 114.173012 East.
Update: It’s the Hong Kong Convention and Exhibition Centre. Thanks Scott!

Google Maps now include Australia

UPDATE 2005-12-10: Google Earth has high-res shots of western Sydney, including Penrith now

Google Maps now have satellite imagery for Australia at a much closer zoom than before. In fact some areas have maximum zoom now. Sydney has mostly full zoom, but unfortunately the more interesting landmarks like the Opera House and the Harbour Bridge are still in low resolution shots. Hopefully they’ll fix this up in the not-too-distant future.

Canberra seems to be mostly high-res too, here’s Parliament House, and just to the north-east, old Parliament House. The Australian War Memorial, with Anzac Parade leading up to it is pretty impressive too.

Sydney Olympic Park, site of the 2000 Sydney Olymic Games. This is so great, I’ve been waiting for this since Google Maps was first released.

Hacking the miniblog

Along with the changed template you can see on this site, I also added a miniblog on the sidebar, using Ryan Poe’s Miniblog plugin, which he’s unfortunately abandoned, but none the less is still a good plugin. However I was having a problem with the RSS generator for it. The script was outputing the XML page, and then trying to output it again so I’d have the whole thing duplicated. I dug around in the code for a while but I couldn’t find what the heck was causing it, so I pulled the rss generation code out into a new file, and added RSS2.0 support (it was originally on 0.92). You can see the results by clicking on the RSS link next to the Short String heading on the sidebar, or alternatively just use this link. It allows for switching back to the 0.92 version of RSS by adding &v=0.92 to the end of the URL.

If anyone’s using the miniblog plugin and wants to use this, here be the code:

<?php

/*
Modifed RSS generation code for the Miniblog plugin writen by Ryan Poe (http://www.nmyworld.com/)
Modifications done by Glenn Slaven 2005-06-20
*/

$wordpress_dir = dirname(dirname(dirname(__FILE__)));
require_once($wordpress_dir . '/wp-config.php');

/* Get the blog name and description (stupid stupid WordPress making me do this) */
ob_start();
bloginfo('name');
$blog_name = ob_get_contents();
ob_end_clean();
ob_start();
bloginfo('description');
$blog_description = ob_get_contents();
ob_end_clean();

/* Return to sanity */
$number = $_GET['n'];
$offset = $_GET['o'];
$blog_term = htmlspecialchars(urldecode($_GET['q']));
$sort_by = htmlspecialchars(urldecode($_GET['s']));
$title = htmlspecialchars(urldecode($_GET['t']));
$description = htmlspecialchars(urldecode($_GET['d']));

/* Parse custom tags */
$title = str_replace(’%site_name%’, $blog_name, $title);
$description = str_replace(’%site_name%’, $blog_name, $description);
$title = str_replace(’%site_description%’, $blog_description, $title);
$description = str_replace(’%site_description%’, $blog_description, $description);

/* Clean the variables */
$varstoclean = array(&$number, &$offset, &$blog_term, &$sort_by, &$title, &$description);
foreach($varstoclean as $varname) {
$varname = miniblog_clean_var($varname);
}

/* Render the RSS */
header(’Content-type: text/xml; charset=’ . get_settings(’blog_charset’), true);
echo “<?xml version=\”1.0\” encoding=\”" . get_settings(’blog_charset’) . “\”?>\n”;
switch ($_GET['v']) {
case ‘0.92′:
echo “<rss version=\”0.92\”>\n”;
echo “\t<channel>\n”;
echo “\t\t<title>” . miniblog_clean_var($title) . “</title>\n”;
echo “\t\t<link>”;
bloginfo(’url’);
echo “</link>\n”;
echo “\t\t<description>” . miniblog_clean_var($descriptions) . “</description>\n”;
echo “\t\t<docs>http://backend.userland.com/rss092</docs>\n”;
$entries = miniblog_return_entries($number, $offset, $blog_term, $sort_by, FALSE);
foreach($entries as $entry) {
echo “\t\t<item>\n”;
echo “\t\t\t<title>” . miniblog_clean_var($entry->title) . “</title>\n”;
echo “\t\t\t<description>” . miniblog_clean_var($entry->text) . “</description>\n”;
echo “\t\t\t<link><![CDATA[" . miniblog_clean_var($entry->url) . "]]></link>\n”;
echo “\t\t</item>\n”;
}
echo “\t</channel>\n”;
print “</rss>”;
break;

default:
echo “<rss version=\”2.0\”>\n”;
echo “\t<channel>\n”;
echo “\t\t<title>” . miniblog_clean_var($title) . “</title>\n”;
echo “\t\t<link>”;
bloginfo(’url’);
echo “</link>\n”;
echo “\t\t<description>” . miniblog_clean_var($descriptions) . “</description>\n”;
echo “\t\t<docs>http://blogs.law.harvard.edu/tech/rss</docs>\n”;
$entries = miniblog_return_entries($number, $offset, $blog_term, $sort_by, FALSE);
foreach($entries as $entry) {
echo “\t\t<item>\n”;
echo “\t\t\t<title>” . miniblog_clean_var($entry->title) . “</title>\n”;
echo “\t\t\t<description>” . miniblog_clean_var($entry->text) . “</description>\n”;
echo “\t\t\t<pubDate>”.mysql2date(’D, d M Y H:i:s O’, $entry->date, false).”</pubDate>\n”;
echo “\t\t\t<link><![CDATA[" . miniblog_clean_var($entry->url) . "]]></link>\n”;
echo “\t\t</item>\n”;
}
echo “\t</channel>\n”;
print “</rss>”;
}
?>

Also, I wanted to be able to post from a bookmarklet, so I hacked the WP bookmarklet code, and it now works for the miniblog post page too. For it to work you need to add a few lines of code to the miniblog.php file in the plugins folder. At around line 135 (after if(!$post_blog) $post_blog = 'default';) add

/*Added to allow use as a bookmarklet */
if (!empty($_REQUEST['popuptitle'])) { $post_title = stripslashes(wp_specialchars($_REQUEST['popuptitle'])); }
if (!empty($_REQUEST['text'])) { $post_text = wp_specialchars($_REQUEST['text']); }
if (!empty($_REQUEST['popupurl'])) { $post_url = wp_specialchars($_REQUEST['popupurl']); }
/* END Added */

It puts in the title & url of the page you’re on into the form, and puts any selected text into the comment field. It doesn’t, however, do what the original popup does in puting an anchor tag in the comment field because it’s not needed with the url field.

The slightly adjusted link you’ll need for this bookmarklet is

javascript:if(navigator.userAgent.indexOf('Safari') >= 0){Q=getSelection();}else{Q=document.selection?document.selection.createRange().text:document.getSelection();}void(window.open('http://blog.slaven.net.au/wp-admin/post.php?page=miniblog.php&text='+escape(Q)+'&popupurl='+escape(location.href)+'&popuptitle='+escape(document.title),'WordPress bookmarklet','scrollbars=yes,width=1224,height=860,left=100,top=150,status=yes'));

Obviously, put your url in place of http://blog.slaven.net.au/. Also, I’ve set the width of the popup to 1224, which means that I don’t need to scroll down for anything, but if your screen resolution is smaller that that, you’ll probably want to drop it down a bit.

Glenmore Park

sydneyanglicans.net: Tea and Coffee

Glenmore Park is neither ‘country’ nor a ‘regional centre’. It is the Grand Labyrinth of Western Sydney, a maze of roads into which hapless drivers are thrown, never to be seen again. The only reason there are so many people living there is because they couldn’t find their way out again!

It’s funny ’cause it’s true!

Subscribe by email

Enter your email address:

Delivered by FeedBurner


Elsewhere

Verse of the Day

Whoever believes in the Son has eternal life; whoever does not obey the Son shall not see life, but the wrath of God remains on him. (John 3:36, ESV) (Listen)

Networks & References