<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Josh.st &#187; PHP</title>
	<atom:link href="http://josh.st/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://josh.st</link>
	<description>Web, English, 中国, and various geekosity</description>
	<lastBuildDate>Sun, 13 Nov 2011 00:42:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WordPress 3.0</title>
		<link>http://josh.st/2010/07/05/wordpress-3-0/</link>
		<comments>http://josh.st/2010/07/05/wordpress-3-0/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 07:21:21 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://josh.st/?p=1639</guid>
		<description><![CDATA[I heard precisely one person complaining loudly when WordPress 3.0 first released but I’ve hit no snags so far — elegant, painless upgrade on WebFaction (Disclosure: I’ve got an affiliate link in there, 10% of your spend — but I’d recommend them even if you want to strip the link out) which is more than [...]]]></description>
			<content:encoded><![CDATA[<p>I heard precisely one person complaining loudly when <a href="http://wordpress.org/">WordPress 3.0</a> first released but I’ve hit no snags so far — elegant, painless upgrade on <a href="http://www.webfaction.com/?affiliate=joshst">WebFaction</a> (Disclosure: I’ve got an affiliate link in there, 10% of your spend — but I’d recommend them even if you want to strip the link out) which is more than can be said for most web hosts I’ve used over the years.</p>
<p>Admittedly I’m not using the most zany set of plugins in the world, but it’s nice to know that an open source project can be so darn painless. Upgrade, the water’s fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2010/07/05/wordpress-3-0/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>You do not have sufficient permissions to access this page.</title>
		<link>http://josh.st/2009/06/16/you-do-not-have-sufficient-permissions-to-access-this-page/</link>
		<comments>http://josh.st/2009/06/16/you-do-not-have-sufficient-permissions-to-access-this-page/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 13:42:40 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://josh.st/blog/?p=1428</guid>
		<description><![CDATA[Well, I finally got around to upgrading WordPress again. I made a fairly prodigious leap from 2.5(.somethingsomething) to 2.8 in one step, with pleasantly few hiccups. In fact, the only significant hiccup I faced prevented me from logging in at all (fairly significant), giving a charming error: “You do not have sufficient permissions to access [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I finally got around to upgrading WordPress again. I made a fairly prodigious leap from 2.5(.somethingsomething) to 2.8 in one step, with pleasantly few hiccups.</p>
<p>In fact, the only significant hiccup I faced prevented me from logging in at all (fairly significant), giving a charming error: “You do not have sufficient permissions to access this page.”</p>
<p>This happened after I went to update my wp-config.php file to incorporate a circa-2.6 innovation, <a href="http://codex.wordpress.org/Editing_wp-config.php#Security_Keys">Security Keys</a>. AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY and NONCE_KEY added to my wp-config, I attempted to login to the admin area again (it auto-logged me out, fair enough) to be greeted with the aforementioned non-negotiable error!</p>
<p>Turns out it was a pretty stupid problem I had… If you get this, <strong>check you have inserted the key definitions <em>before</em> the “Stop editing” comment in the document</strong> (I think the comment is different in later versions — my wp-config is seriously ancient, I’ve been upgrading <a href="/blog/2004/08/27/interesting">since 0.73</a> and would only have started from scratch if at some past point it was required!)</p>
<p>Once I did this the errors went away entirely and I was able to login.</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2009/06/16/you-do-not-have-sufficient-permissions-to-access-this-page/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nginx</title>
		<link>http://josh.st/2008/05/20/nginx/</link>
		<comments>http://josh.st/2008/05/20/nginx/#comments</comments>
		<pubDate>Tue, 20 May 2008 13:50:53 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[container]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[real Internet connectivity]]></category>
		<category><![CDATA[regular web interaction]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[trojan]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[upgradealready]]></category>
		<category><![CDATA[Virtual PC]]></category>
		<category><![CDATA[virtualised]]></category>
		<category><![CDATA[virtualized]]></category>
		<category><![CDATA[virus]]></category>
		<category><![CDATA[vpc]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web traffic]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://josh.st/blog/2008/05/20/nginx</guid>
		<description><![CDATA[Must play with this HTTP server/load-balancer/mail proxy/bundle of awesome sometime soon. Looks like a pretty awesome option for VPS environments and other places where there isn’t heaps of spare resources going around! My cupboard-bound SSH oasis and occasional webserver is, of course, a likely candidate… but I’m a tad concerned I’ll screw myself over with [...]]]></description>
			<content:encoded><![CDATA[<p>Must play with <a href="http://nginx.net/">this HTTP server/load-balancer/mail proxy/bundle of awesome</a> sometime soon. Looks like a pretty awesome option for VPS environments and other places where there isn’t heaps of spare resources going around! My cupboard-bound SSH oasis and occasional webserver is, of course, a likely candidate… but I’m a tad concerned I’ll screw myself over with PHP. Not because it particularly gets used for that (there’s like… a few wikis and a handful of lines of PHP code easily replaced by something else that get semi-regular attention) but mostly for the “just in case” I wanna test run something. And yeah, I know, that’s what virtualised stuff should be for… but I still haven’t quite caught up to that. I’ve got an Ubuntu thing running in a virtual PC instance on the computer I use most of the time, but it just doesn’t cut it for actually trying to test something out with, you know, other users and real Internet connectivity. In other news, can-we-have-IPv6-moar-plx? Just because it’s absurd to have to pay more to run real SSL on dedicated IPs when there is SO MUCH SPACE just waiting for us to broaden our horizons and start to fill it. I’m not heaps fussed if pre-Windows XP users can’t use it, actually, because they’ve likely got bigger security problems on their hands from their network-connected 10-year-old OS than any regular web interaction is likely to give them, properly secured <a href="http://www.debian.org/security/2008/dsa-1571">or not</a> — that is, even if their web traffic is secured, their desktop is probably a botnet zombie with keyloggers and trojans abounding.</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2008/05/20/nginx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Sitemaps–</title>
		<link>http://josh.st/2007/03/02/google-sitemaps/</link>
		<comments>http://josh.st/2007/03/02/google-sitemaps/#comments</comments>
		<pubDate>Fri, 02 Mar 2007 09:48:33 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://josh.st/blog/2007/03/02/google-sitemaps</guid>
		<description><![CDATA[I’ve had to disable Google Sitemaps for this site in a bid to stop post and comment form submissions resulting in a blank page. Probably gonna negate a bit of the Google Love but that’s okay, the blank pages have been driving me batty! WordPress plugin Google Sitemaps basically uses too much memory (I think… [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve had to disable Google Sitemaps for this site in a bid to stop post and comment form submissions resulting in a blank page. Probably gonna negate a bit of the Google Love but that’s okay, the blank pages have been driving me batty! WordPress plugin Google Sitemaps basically uses too much memory (I think… PHP error reporting isn’t turned on on this server so I can’t be 100% sure)… last time it succeeded it wrote a 3MB file I think. Could also be a gzip related issue but I doubt it (gzip works fine for other things IIRC).</p>
<p>So enjoy commenting again without a horribly blank screen greeting you!</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2007/03/02/google-sitemaps/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Seek IT: Web Programmer for new Christian youth site</title>
		<link>http://josh.st/2007/03/02/seek-it-web-programmer-for-new-christian-youth-site/</link>
		<comments>http://josh.st/2007/03/02/seek-it-web-programmer-for-new-christian-youth-site/#comments</comments>
		<pubDate>Fri, 02 Mar 2007 02:10:42 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[CYIADA]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[code versioning systems]]></category>
		<category><![CDATA[CVS]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[relational database]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[sydney]]></category>
		<category><![CDATA[web-based communication/publishing tools]]></category>
		<category><![CDATA[young developer]]></category>

		<guid isPermaLink="false">http://josh.st/blog/2007/03/02/seek-it-web-programmer-for-new-christian-youth-site</guid>
		<description><![CDATA[Fancy that. Please be praying we find someone good (or, suitably sinful but repentant and appropriately talented, because there’s nearly no such thing as a good person). Ad proper after the break: A Christian youth organisation (Anglican Youthworks) is looking for a programmer to commence immediately as part of a small team. This is a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://it.seek.com.au/users/apply/index.ascx?JobID=8797350">Fancy that</a>.</p>
<p>Please be praying we find someone good (or, suitably sinful but repentant and appropriately talented, because there’s nearly no such thing as a good person).</p>
<p>Ad proper after the break:<span id="more-1300"></span></p>
<blockquote><p> <img src="http://cyiada.com/v2/cyiadaprojectlogo.png" alt="Youthworks.net | CYIADA" /></p>
<p class="templatetext">A Christian youth organisation (<a href="http://youthworks.net/">Anglican  Youthworks</a>) is looking for a programmer to commence immediately as part of a  small team.<br />
This is a project-based role in which you will be equipping youth  ministries across Sydney with web-based communication/publishing tools and  quality evangelical content.</p>
<p>If you have experience in:</p>
<ul>
<li>building dynamic websites using MVC-style PHP, Python or Java</li>
<li>with a relational database (MySQL/PostgreSQL preferably, but it’s a clean  slate!)</li>
<li>publishing PDF documents securely online</li>
<li>creating AJAX-powered interfaces securely</li>
<li>connecting to 3rd party service providers using APIs (payment gateways, SMS,  etc.)</li>
<li>using code versioning systems (Subversion or CVS)</li>
</ul>
<p>We’d love to  hear from you.</p>
<p>Knowledge of frameworks such as Django, Struts or similar  would be beneficial.</p>
<p>Learn more about the project at <a href="http://cyiada.com/">http://cyiada.com/</a></p>
<p>This high-visibility  project would suit a young developer with a passion for sharing Christ and  building up his disciples through the Internet.</p>
<p>Interested applicants  please email <a href="mailto:joinus.code@cyiada.com">joinus.code@cyiada.com</a></p>
<p class="details">Josh Street<br />
Anglican Youthworks | CYIADA Project</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2007/03/02/seek-it-web-programmer-for-new-christian-youth-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Josh vs. the Snake</title>
		<link>http://josh.st/2007/02/13/josh-vs-the-snake/</link>
		<comments>http://josh.st/2007/02/13/josh-vs-the-snake/#comments</comments>
		<pubDate>Mon, 12 Feb 2007 14:45:40 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Church]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[itching]]></category>

		<guid isPermaLink="false">http://josh.st/blog/2007/02/13/josh-vs-the-snake</guid>
		<description><![CDATA[I’ve been battling a Python for the better part of a week now. Mostly just in terms of creating a nice habitat for it to inhabit, so that we can gather all manner of useful information about the habits of pythons and interactions of humans with things that the python does. I’d been winning most [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve been battling a Python for the better part of a week now. Mostly just in terms of creating a nice habitat for it to inhabit, so that we can gather all manner of useful information about the habits of pythons and interactions of humans with things that the python does. I’d been winning most fights and attributing the fact they arose at all to my slowly becoming familiar with the way it worked at all.</p>
<p>I’d been doing some research on this particular kind of snake for a couple of months before I decided it looked like a GoodThing™ to be wrestling with, so I knew a bit about it relative to something else that I knew a bit about (enough to be dangerous, as is apparently the case with 95% of the world’s PHP developers). I knew that it was slightly more strongly typed than PHP, but didn’t really think that was something I’d have to know about.</p>
<p>Ba-baauummm.</p>
<p><code>Error in formatting:__str__ returned non-string (type int)</code></p>
<p>Oh, come on, just play with the pretty little number. Grumble grumble.</p>
<p>I am in the strangest place right now. It’s 1.30 in the morning on a weeknight and I’m writing code, but I’ve spent most of the day going between Photoshop and a cocktail of a couple of shell sessions mixed with phpMyAdmin and a bit of Django documentation. It’s cool being able to write useful code again (and, better still, I am working on code to solve problems I’d be itching to solve for our own ministry context at TACKLES/Matthias but am being paid to do it under the auspices of the CYIADA project, which means I can afford to spend more time and do it properly!), but it’s possibly even cooler to have ready access to great design tools at home since last week — quality tools are an awesome blessing!</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2007/02/13/josh-vs-the-snake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django on .Net</title>
		<link>http://josh.st/2006/11/30/django-on-net/</link>
		<comments>http://josh.st/2006/11/30/django-on-net/#comments</comments>
		<pubDate>Thu, 30 Nov 2006 01:55:37 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[fantastic solution]]></category>
		<category><![CDATA[IronPython]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Smalltalk]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://joahua.com/blog/?p=1214</guid>
		<description><![CDATA[You can run Django in IronPython under .Net. Awesome. A Windows-based server is suddenly a choice again, which is… fantastic. Mostly for piping documents through MS Office products for indexing and PDF generation, because OO.o is great with Word docs but not so great — font sizing issues, etc. — with other things, especially PowerPoint, [...]]]></description>
			<content:encoded><![CDATA[<p>You can run <a href="http://d.hatena.ne.jp/perezvon/20061030/1162209668">Django in IronPython under .Net</a>. Awesome. A Windows-based server is suddenly a choice again, which is… fantastic. Mostly for piping documents through MS Office products for indexing and PDF generation, because OO.o is great with Word docs but not so great — font sizing issues, etc. — with other things, especially PowerPoint, which could account for up to a quarter of the content contributed by users, I’d say. So I can run native MS Office -&gt; PostScript export -&gt; ps2pdf processes, and MS Office -&gt; Horrible XML -&gt; Scrub markup filters -&gt; Search index, without having to battle with Wine, etc.</p>
<p>Of course, the second process would probably benefit from <a href="http://docvert.com/">using OO.o as a processing environment</a>, but that’s equally achievable on a Windows or *nix platform.</p>
<p>So many fears about platform (OS and language) have been sufficiently allayed. Which is kind of annoying, because, all of a sudden, .Net is actually an option. I’m still confused over databases though, so there’s plenty of befuddlement to go around. Ultimately it doesn’t matter a great deal if we find the right developer (for whatever language… except obscure things like Smalltalk and Ruby … oh did I say that? … doo be doo — just for future-proofing/maintenance reasons), which, hopefully, we will. Another meeting about money for this thing is happening on December 13<sup>th</sup>, so prayer is very welcome for that! I want $35,000 to spend over about two and a half months to pay one other developer and outsource design, as well as myself, of course (the front-end dude). By the end of that time we’ll hopefully have an absolutely fantastic solution that will magically propel (not that I really want to use <a href="http://propel.phpdb.org/trac/">Propel</a>, because that’s for PHP ;-)) itself forever… yeah, right.</p>
<p>We’ve got a half-baked business plan for this thing (by half-baked, I mean it’s all stuff I’ve written and the real gurus haven’t had anything to do with the numbers, etc., so it’s not really authorative) that should get it out of the red by a couple of months in (which is ridiculously quick… another reason to think it’s half-baked) and allow for cleaning up all the bits we missed in the hectic two and a bit months it was originally thrown together in, but, at the same time, it’s going to be partially dependent on licensed, published (dead tree) content (i.e. not just user-contributed stuff, which, longer term, will hopefully account for the bulk of sales — the profit margin is lower, but it’s also easier to move more units because of the sheer scope of content we’re hoping will be available) — so because we’re licensing that revenue is going to be eaten into by publishing division and other content sources.</p>
<p>All of <em>that</em> is, of course, dependent on people wanting to use these things (they do, but from there it’s a question of making the product known to them and making adoption easy) and being okay with sharing stuff they’ve written. Some knee-jerk reactions have been negative to that, but the objections were accompanied by acknowledgement of a need to think more about what sharing content is doing — that is, why we’re bothering to create this site anyway.</p>
<p>Which, I have realised, I have not shared here yet. I want to write it another time because I think I’m getting clearer at explaining what we’re trying to do every time I try, so it’s no bad thing repeating myself. Here’s <a href="/blog/2006/11/30/what-josh-does-at-youthworks">a brief overview of what Josh does (or, is trying to do) at Youthworks</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2006/11/30/django-on-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse rocks my socks and covers my ass</title>
		<link>http://josh.st/2006/11/03/eclipse-rocks-my-socks-and-covers-my-ass/</link>
		<comments>http://josh.st/2006/11/03/eclipse-rocks-my-socks-and-covers-my-ass/#comments</comments>
		<pubDate>Fri, 03 Nov 2006 08:24:52 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[CVS]]></category>
		<category><![CDATA[markup development tool]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Standard Tools]]></category>

		<guid isPermaLink="false">http://joahua.com/blog/2006/11/03/eclipse-rocks-my-socks-and-covers-my-ass</guid>
		<description><![CDATA[I just had my butt saved massively by Eclipse. I’m not even using it with SVN/CVS but local versioning fixed an accidental overwrite. Best. App. Ever. It just secured its place as my markup development tool of choice. I used to be ambivalent about it where there wasn’t any PHP (using the excellent PHP Eclipse [...]]]></description>
			<content:encoded><![CDATA[<p>I just had my butt saved massively by Eclipse.</p>
<p>I’m not even using it with SVN/CVS but local versioning fixed an accidental overwrite. Best. App. Ever. It just secured its place as my markup development tool of choice. I used to be ambivalent about it where there wasn’t any PHP (using the excellent PHP Eclipse plugin) involved, because of lack of syntax highlighting and whatever else (this can be remedied very quickly using the <a href="http://www.eclipse.org/webtools/wst/main.html">Eclipse Web Standard Tools (WST) subproject</a>, but it isn’t installed by default), but for everything else it offers, and for the inevitable transition into a programming language once projects reach a certain stage, it’s so worth using earlier in the process anyway.</p>
<p>*happy-relieved sigh*</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2006/11/03/eclipse-rocks-my-socks-and-covers-my-ass/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript print_r() equivalent</title>
		<link>http://josh.st/2006/02/28/javascript-print_r-equivalent/</link>
		<comments>http://josh.st/2006/02/28/javascript-print_r-equivalent/#comments</comments>
		<pubDate>Tue, 28 Feb 2006 04:44:24 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://joahua.com/blog/2006/02/28/javascript-print_r-equivalent</guid>
		<description><![CDATA[It was observed today that I’m doing an awful lot of JavaScript for someone who has no idea what they’re doing with it. Anyway, was looking for an easy way to do a PHP-esque print_r but with Javascript today and stumbled across this rather-nifty function. *bookmarks*]]></description>
			<content:encoded><![CDATA[<p>It was observed today that I’m doing an awful lot of JavaScript for someone who has no idea what they’re doing with it.  Anyway, was looking for an easy way to do a PHP-esque <code>print_r</code> but with Javascript today and stumbled across <a href="http://www.brandnewbox.co.uk/logbook/web/javascript/printr.html">this rather-nifty function</a>.</p>
<p>*bookmarks*</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2006/02/28/javascript-print_r-equivalent/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress redeemed, a little; and, a rant about parallel blog universes</title>
		<link>http://josh.st/2006/02/06/wordpress-redeemed-a-little-and-a-rant-about-parallel-blog-universes/</link>
		<comments>http://josh.st/2006/02/06/wordpress-redeemed-a-little-and-a-rant-about-parallel-blog-universes/#comments</comments>
		<pubDate>Mon, 06 Feb 2006 08:56:12 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[allegedly-more-open citizen-powered media]]></category>
		<category><![CDATA[AOL]]></category>
		<category><![CDATA[assistive technologies]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Messenger]]></category>
		<category><![CDATA[Messenger service]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Search engine]]></category>
		<category><![CDATA[syndication services]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows Messenger]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://joahua.com/blog/2006/02/06/wordpress-redeemed-a-little-and-a-rant-about-parallel-blog-universes</guid>
		<description><![CDATA[Well, not really… I’m just in less of a bad mood with it and have realised that TextPattern really isn’t that great unless you just want a blog and nothing more. And I’m loathed to use Mambo or the like… though I imagine that’s probably largely poor brand perception on my part (having seen the [...]]]></description>
			<content:encoded><![CDATA[<p>Well, not really… I’m just in less of a bad mood with it and have realised that TextPattern really isn’t that great unless you <em>just</em> want a blog and nothing more. And I’m loathed to use Mambo or the like… though I imagine that’s probably largely poor brand perception on my part (having seen the horrible stuff people can create with it). I lump it into the same basket as phpBB and other bloated/insecure/inaccessible crap like that.</p>
<p>It’s probably not really, but I’ll persist in my delusions until forced to learn otherwise (either by myself or others!)</p>
<p>Anyway, syndication services (Atom, RSS) rock my world and should be more broadly used even internally for things that you mightn’t think would require it. This is the conclusion I’ve come to having started putting together a new site (the one based around WordPress I was whining about) for my church and wondering how best to integrate an upcoming events calendar on the front page.</p>
<p>It remains to be seen whether or not I actually <em>do</em> it that way, but it’d be nice if syndication was already so heavily a part of WordPress’ processing that it became a trivial thing to run a parser function on any page. I’m still trying to decide whether to setup custom queries in WordPress to read future-dated posts for events + make them accessible (able to be accessed, that is; not especially applied to broad audiences, assistive technologies, etc.) prior to when they’re scheduled to appear… or whether to simply build my own app on the side that either spits out an include I’ll grab with PHP in my templates — boring — or an Atom feed that WordPress can parse, and lots of non-IE browsers (Well, prior to version 7! Can’t wait!) can do UsefulStuff™ with, and that can integrate into a Dashboard widget for Mac users and a Konfabulator widget for PC users, etc.</p>
<p>Yeah, people mightn’t use it lots but it’s a cool idea ;-) This is what doing one website for a TV network has done to me — it’s all about eye-candy and out-gimmicking the opposition!</p>
<p>Speaking of the Opposition (NineMSN, I guess) and Gimmicks, Windows Messenger 8 Beta looks like it’s shaping up into something I could actually use without complaining too loudly. They’ve pulled off the disposing-of-normal-UI-occasionally thing <em>far</em> better than Windows Media Player ever has, and everything feels as though it gels really nicely.</p>
<p>I’m a little concerned they’re trying to pull users into their own ‘portal’ thing with Spaces and various other Live.com crap, but it’s hardly as if they’re the only ones doing that. It’s ironic that we’re getting into an era of allegedly-more-open citizen-powered media that’s becoming progressively more isolated because of service providers. For example, what the heck do Yahoo! do? I don’t get it. I don’t know <em>anyone</em> that uses their Messenger service, or their blog service (Yeah! They have one! What the heck?! Discovered this last week and was suitably shocked), or their email service. Same goes for AOL (nearly… I know a handful of people that have an AIM account and supposedly use it… but it’s <em>literally</em> a handful, as in I have enough fingers to count all of them, and I don’t know whether they <em>actually</em> use it or not, not having an account myself!). And as for MSN Spaces… hmm. Well, my MSN Spaces page says “This isn’t my real blog, go elsewhere.” I flicked through a couple of other peoples today (Messenger Beta makes that pretty easy, though not significantly any better than the latest stable release) and found more than a few who were uncertain as to whether they should keep their MSN space or just go with Blogger. Every non-geek I know who blogs uses Blogger. More power to Google.</p>
<p>But I’m sure these demographics vary enormously depending on who you know: the point is, I’m not seeing any crossover, which is a little worrying. Of course, I only ever search using Google, so go fire conspiracy theories around all you like… I reckon most blog content on these services isn’t at all compelling, and doesn’t need to be. Blogs are, for the most part, mass-CC:-email substitutes that really shouldn’t be archived… and these easier to use services are probably exacerbating that problem.</p>
<p>I don’t excuse this blog from that entirely, of course, but there’s more than a little bit of content here that draws search engine traffic and is “timeless” in a sense that “my dog ate crayons for breakfast this morning and went to the vet and they said this happens all the time” could never be. But I digress, hugely (a failing of the medium, no doubt!)</p>
<p>So that’s all very interesting. Interested to hear if others know people in multiple “service provider universes” or if everyone’s friends are, for the most part, confined to a particular service (and what that service may be). If you’ve got a blog, this’d be a great time to play pingback/trackback tag instead of just commenting here… I’d love it if this could get a little viral and we could see what platforms people are using and “why”. For me, it’s mostly just that everyone I know is using a particular service. What is it for you?</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2006/02/06/wordpress-redeemed-a-little-and-a-rant-about-parallel-blog-universes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress 2 is horrible</title>
		<link>http://josh.st/2006/02/05/wordpress-2-is-horrible/</link>
		<comments>http://josh.st/2006/02/05/wordpress-2-is-horrible/#comments</comments>
		<pubDate>Sun, 05 Feb 2006 05:30:16 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[AJAX administration]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[WYSIWYG  editor]]></category>

		<guid isPermaLink="false">http://joahua.com/blog/2006/02/05/wordpress-2-is-horrible</guid>
		<description><![CDATA[Okay, I’ve tried it properly now. It sucks. Sure, it’s probably more usable for someone-who-really–should–be-using-WordPress.com-or-Blogger-or-Spaces or something, but not for anyone who’s self-hosting. Its WYSIWYG editor is doing a grave disservice to the web as a whole, the default theme, Kubrick, is a semantic thing-of-nightmares, and its AJAX administration interface fails to degrade fairly comprehensively. [...]]]></description>
			<content:encoded><![CDATA[<p>Okay, I’ve tried it properly now. It sucks. Sure, it’s probably more usable for someone-who-really–<em>should</em>–be-using-WordPress.com-or-Blogger-or-Spaces or something, but not for anyone who’s self-hosting. Its WYSIWYG editor is doing a grave disservice to the web as a whole, the default theme, Kubrick, is a semantic thing-of-nightmares, and its AJAX administration interface fails to degrade fairly comprehensively. Yuck.</p>
<p>I’m using it now because I want to put something quick and dirty together, but there’s no way I’m seriously considering changing anything else to WordPress 2.0.x, nor, in the future, will I consider building other sites around it. There’s one blog-only site (this is unusual: we’re not that groovy and Web 2.0 — RSS feeds seem to be an uphill battle!) we’re going to do this week at work: that can be my initial foray into <a href="http://textpattern.com/">TextPattern</a>.</p>
<p>From there, who knows (Who knows all). If I don’t like it/it’s not flexible enough (Fortunately, WordPress is rather flexible. I’m not <em>stuck</em> with it’s crappiness, I’d just prefer not to have to deal with it in the first place.), it’s probably back to the land of roll-your-own solutions again. There are a few decent-looking Rails-esque frameworks for PHP floating about out there at the minute, so I might try using one of those. Apparently Rails/Ruby is ridiculously slow compared to PHP, so I’d rather not use it and really like it and be trapped in this framework that’s very Web 2.0, very expendable, and very crap.</p>
<p>Can you tell I’m embittered with web (2.0) products at the minute?</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2006/02/05/wordpress-2-is-horrible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sunrise Family website</title>
		<link>http://josh.st/2006/01/30/sunrise-family-website/</link>
		<comments>http://josh.st/2006/01/30/sunrise-family-website/#comments</comments>
		<pubDate>Sun, 29 Jan 2006 13:01:32 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[AppleScript]]></category>
		<category><![CDATA[assistive technologies]]></category>
		<category><![CDATA[australia]]></category>
		<category><![CDATA[Australian Open]]></category>
		<category><![CDATA[Dave Shea]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Freq Club]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[internal Online team]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Internet Explorer/Windows XP]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[online team]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[PDA]]></category>
		<category><![CDATA[search bar]]></category>
		<category><![CDATA[Seven Store]]></category>
		<category><![CDATA[step forward]]></category>
		<category><![CDATA[Sunrise]]></category>
		<category><![CDATA[syndication services]]></category>
		<category><![CDATA[Triple M]]></category>
		<category><![CDATA[web accessibility]]></category>
		<category><![CDATA[Web Dev extension]]></category>
		<category><![CDATA[web strategy]]></category>
		<category><![CDATA[Wendy's store]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://joahua.com/blog/?p=868</guid>
		<description><![CDATA[The site This is the vaguely alluded to website of a few days ago, for Seven Network’s breakfast show (I refuse to describe any such commercial network drivel as “current affairs”!), Sunrise. The Sunrise Family is essentially an incentive/loyalty scheme vaguely akin to Triple M’s (recently-abandoned… doubtless to be re-released in nearly exactly the same [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sunrisefamily.com.au/"><img src="/blog/wp-content/2006/01/srf.jpg" alt="A screen capture of the Sunrise Family website" /></a></p>
<h3>The site</h3>
<p>This is the <a href="/blog/2006/01/27/something-unpredictable">vaguely alluded to</a> website of a few days ago, for Seven Network’s breakfast show (I refuse to describe any such commercial network drivel as “current affairs”!), <a href="http://seven.com.au/sunrise/">Sunrise</a>. The Sunrise Family is essentially an incentive/loyalty scheme vaguely akin to Triple M’s (recently-abandoned… doubtless to be re-released in nearly exactly the same form under a different brand) <a href="http://www.triplemrocks.com.au/freqclub/">Freq Club</a> and <a href="http://www.entertainmentbook.com.au/">Entertainment Book</a>–style discounts. There might be more later on, but that seems to be about it so far as what’s there right now. And, truth be told, I’m not really sure what else is coming… I’d love to replace Sunrise’s boring <a href="http://seven.com.au/sunrise/form_roswall">ROSwall form</a> with something akin to the infamous Flash <a href="http://www.flashcomguru.com/apps/letters/">Just Letters interactive fridge thingo</a>, though maybe in an add-only type way, which would link in to viewers’ existing Family login (i.e. so they don’t have to enter their name every time, etc.), but that’s just an idea of mine.</p>
<h3>The technology</h3>
<p>So, <a href="http://sunrisefamily.com.au/current/content/deals/">the deals</a>.</p>
<p>The interface is using AJAX, presently with inline onClick triggers — because, unfortunately, I’m not quite good enough to make it pull the data from the ID… though, if you view source, I’ve setup the ID’s to have two pieces of data in there. If anyone can tell me how to write an event handler that converts an ID into a string which I can then feed to an onClick handler (and, server-side, explode() using PHP) I’m still very keen to fix that “properly”. The ID’s have two data elements because the Deals interface is designed to add support for multiple states (i.e. localised offers, etc.) in the future. And they’re prefixed by <code>d_</code> because, obviously, valid identifiers can’t start with a number. D can stand for “deal” or “data”, whatever :-)</p>
<p>As for how the AJAX is pulling down data, I’m just using innerHTML, because it works in pretty much everything and is lots faster and lots simpler than “real” DOM methods, especially here. Observe the “Details” pane on the right of that page, and how there are different numbers of paragraphs of text, different types of data (lists, anchors, etc.), then consider how ridiculous it would be to use DOM scripting there. Euuuuccch. So, I’m not-quite standard but perfectly comfortable about that. I am, however, using HTML 4.01 as the doctype. There is no reason to use XHTML, and I’m not happy to use XHTML and not serve it properly. And, if I serve it properly, it’s too likely to break (parsers spit the dummy when encountering bad XHTML, because tolerance is zero) for a production site. Further, obviously, innerHTML doesn’t work when documents aren’t served/parsed as anything other than <code>text/html</code>.</p>
<p>I’d rather do absolutely awesome HTML 4.01 than valid but mediocre (and ultimately pointless, seeing as it’s not being parsed as XML even) XHTML.</p>
<p>In other nifty technology-related stuff, Yahoo!7’s partnership means (hopefully) that Seven will up the ante in terms of what technologies they’re unfurling. For us, this means taking a step forward and providing syndication services (both Atom and RSS formats) for the deals. For Seven as a whole? Well, maybe they’ll start to get rid of their once-ubiquitous table-based layouts, and (maybe) embrace more of an open broadcasting paradigm in line with their web strategy — assuming Yahoo! are directing that in any way, and/or that Seven’s online team have open minds — I don’t really know and haven’t personally dealt with anyone there, so I’ll just assume they must have a handful of cluey people on board!</p>
<p>The RSS and Atom feeds won’t be available if you’re checking it out on Monday, but it’ll likely be running by the end of the week. For Yahoo! users, this means they can add Sunrise Family Deals to their personalised page (but, seriously, who uses portals? I never understood that whole thing). For everyone else, you should be able to download a feed reader and add the feeds. I’d love to have a page telling people how to do this on the site, but imagine Yahoo! would object. So I’m saying it here: the people that matter know how to do it! (Though, I imagine, the “people that matter” — you, dear reader — aren’t particularly regular Sunrise viewers. Or, like me, never Sunrise viewers. Heh.)</p>
<p>We’ve also implemented a spot of JavaScript to fix text-selection in Internet Explorer. My layout is pretty insane in terms of the sheer quantity of absolutely positioned elements, which broke that functionality in Internet Explorer. One quick question to the WSG mailing list later, someone had provided a JavaScript fix (which we had to edit a little bit to make work properly, because we had problems with flickering elements even with cache enabled).</p>
<h3>The eye-candy</h3>
<p>I’ve implemented useless (but rather cool) eye-candy on the Deals page in the Details pane whenever a new deal is selected. A variation of the <a href="http://www.axentric.com/aside/fat/">Fade Anything Technique</a>, which is only meant to be pretty. No originality is claimed, we’ve had this technology all millennium.</p>
<h3>Accessibility</h3>
<p>Disable JavaScript and you lose the fades, and use a little more bandwidth as the entire page reloads for every item you click. In terms of non-visual user agents with JavaScript disabled, I’ve put the “Details” above the list of offers in source-order, and on every reload they only hear “Sunrise Family. Link: Skip to main content” (presuming they select the link) before getting to the actual details, so I’m fairly happy on that front.</p>
<p>Additionally, I’ve got the “header” from <a href="http://www.yahoo7.com.au/">Yahoo!7</a> last in source-order, so anyone with assistive technologies don’t have to skip over that EVERY TIME they change the page. It was a little painful to figure out, not in the least because Yahoo’s supplied universal header isn’t at all nice for sites that are built properly — i.e. with web standards and accessibility in mind — but I much prefer it this way. This is also something we had to achieve silently and without complaining, because, whilst anyone who has a clue about web accessibility will immediately see this is a good idea, marketing people would conceivably think: “But we <em>want</em> people to see our search bar more often!”. Er, no, you don’t achieve anything by pissing off users. No matter, we pulled it off without making any noise about it!</p>
<p>We’re server-side sniffing for Firefox and handing it an “Add Yahoo!7 to the Firefox Search Box” link (which, incidentally, has particularly horrid inline JavaScript — but I don’t care because the only UA it’s being served to can do something useful with it), whilst IE users get a “Make this my homepage” link in its place. Yahoo’s version (which you can see on Seven’s — pure Flash, *obligatory shudder* — <a href="http://ausopen.seven.com.au/australianopen2006/">Australian Open website</a>, though I think that version (of the header, not the website) might now be deprecated) uses JavaScript for that, but it was fairly obtrusive and, seeing as we have the ability to do that server-side, I’d much rather reduce page weight.</p>
<p>In terms of accessibility generally speaking, I’ve bundled in all the usual goodies such as a skip to main content link, as well as skip to login on the front page, base font size of 100.01%, and relative font sizing throughout… but extensive image replacement techniques mean that the headers are probably sub-optimal in terms of visibility. This one is out of my control, and everyone else in the workplace seems to love small text (even Lyn, who seems to often put on glasses to read things on a screen… go figure!) so I wasn’t going to fight too hard about it. All other text will scale pretty well, with the exception of the deals — because the layout is so tight, it’s only really possible to go up one, maybe two size steps in most browsers.</p>
<p>We’re lacking any explicit accessibility statement, and we’re also lacking access keys. Mostly because I’m convinced access keys are practically useless, and rarely bother to implement them. (On forms, there are never enough buttons for access keys and/or there’s no logical combination available, and everywhere else it sort of seems a bit pointless unless <em>everything</em> has an access key. Where do you draw the line?)</p>
<p>This site is interesting to me because, even though it’s a television audience, I still can’t make assumptions about how people will be browsing. PDA devices, for example, would struggle with our built-for-1024 layout had we done it with tables. For this site, PDA/mobile users are realistic: for example, if someone incidentally is near a Wendy’s store and remembers they might’ve seen something on the Sunrise website but can’t remember the details, they can quickly and painlessly look it up.</p>
<p>Further, the site also has to cater for people with cognitive or motor disabilities. For cognitive disabilities, one thing in our favour is that we’ve provided a short summary of each deal before a more heavy-duty fulltext item. For users with motor disabilities, the entire website should be accessible via tabbing — including the JavaScript-enabled Deals page.</p>
<p>I lost an argument regarding target=“_blank”, but <em>will</em> eventually win this point. A handful of advertisements — including those for intra-network links, such as for the Seven Store — open in new windows, which I am most certainly not a fan of. All external links, however, should have the <code>rel</code> attribute set to external. There is unfortunately no visual cue associated with this. Links I count as my biggest area of defeat in this website, which is pretty good (as in, I’d rather it just be that than something more significant such as iframe usage, enormous usability problem though new windows may present).</p>
<p>Inline JavaScript is completely unrelated to accessibility in light of the <em>way</em> this has been implemented. Admittedly, it would be advantageous to use event handlers in place of inline JavaScript (and we will be thinking that to ourselves as we look at the traffic statistics), but from an accessibility perspective it has very little impact. Standard HREF’s are defined, and caught with Javascript using <code>return false;</code> No functionality is lost. I much prefer this method to scattering iframes throughout the site! At any rate, I’m still trying to resolve this one, accessibility related or not. It’s a matter of personal pride, I suppose.</p>
<h3>The Styles and Bugs</h3>
<p>The entire design (done in-house by Dacien) is awesome (in my opinion — if I didn’t think it was, I just would have kept quiet about it), but <em>very</em> tight.</p>
<p>So tight, in fact, that I had to set outline:0; on some links to stop Firefox from breaking the layout (1 pixel difference) when a link was active (as they are when you click a deal and it’s caught by JavaScript rather than actually reloading the page — the link <em>remains</em> active), adding a 1 pixel dotted border. Cross browser support is pretty awesome — it should be good in IE back to 5 — Opera, Safari, Konqueror, and even (mostly) IE 5.2 Mac are happy. Firefox deserves special mention: it has so many little (big for this site) things wrong with it that it’s often rather painful to make work properly. In fact, of all browsers mentioned, Firefox 1.0.x (on non-Windows platforms) is the only one whose behaviour I’m definitely not happy with (mostly because I expect better from it, but also because it gets some things horribly wrong).</p>
<p>Such as, for example, the “<a href="http://sunrisefamily.com.au/current/content/meet/">Meet the Family</a>” page. It works perfectly or near-perfectly in every other browser, but certain Firefox variants on certain platforms render only the first two items in the “Sunrise Team” list(/right column, if you’ll excuse my presentational-speak) on first load… and then renders perfectly if you refresh the page. This is what I meant by my <a href="/blog/2006/01/25/predictable-inadequacy">“predictable inadequacy”</a> post of a few days ago. I’m fairly certain it’s something to do with floated list items, but possibly not.</p>
<p>Another bug is (also in Firefox — noticing a trend, anyone? No, I didn’t build for IE. I wrote about 90% of the stylesheet sitting in Firefox 1.5.x using Chris Pederick’s Web Dev extension, and both that browser and Opera operate near-perfectly) Firefox 1.0.x’s penchant for adding scrollbars where they’re not required with overflow:auto (see front page on non-Windows platforms, and the Deals page — lots of style overlap/common classes there, so this is to be expected).</p>
<p>By far the most <em>interesting</em> rendering difference I encountered building a layout this tight was between Internet Explorer/Windows XP with and without Windows Themes enabled. Yes, it does make a difference. Interface widgets shouldn’t really interfere with styles at all, IMO, but they did here. The solution basically entailed shaving off a couple of pixels where required, so I didn’t come up with something particularly innovative for it!</p>
<h3>Summary</h3>
<p>In all, I’m pretty happy with the site. Seven’s internal Online team apparently noticed/complimented our team on the absence of layout tables, which I (perhaps arrogantly) take with some degree of indifference: people shouldn’t be building sites with tables for that purpose anyway. If we are to be complemented, then it should be on the design (and, as part of that, achieving a design this ‘tight’ with CSS), or on the usability benefits realised by intelligent integration of AJAX, or the development pace (again, partially because of the flexibility CSS gives us), or maybe on lightweight, semantic code as a cost-saving mechanism.</p>
<p>Truth be told, I now believe we may have even gone a little overboard with the tables elimination. If I could do it all again, the Deals page would feature a table instead of a list, and I’d use DOM scripting to insert/delete records rather than replace the “state” part with innerHTML. The markup might gain a (very) little bit of weight, but it’d be worth it. It would, of course, remain semantically sensible and completely accessible. It’d probably be <em>more</em> semantically sensible, actually. I realised a table would work great about two days after I’d finished styling the list, and thought “I’ve put way too much effort into this to pull it now”, but felt like <a href="http://www.mezzoblue.com/archives/2005/03/31/too_far/">Dave Shea must have after building a “pseudo table”</a> without realising. At least it wasn’t that complex!</p>
<p>Anyway, I’m really interested to hear what people have to say about the site. We’re being plugged every half hour on Sunrise tomorrow morning from 6am, and will be anxiously watching the server to see what, exactly, the effect of promotion on a show with 4 million viewers daily has on bandwidth, etc. I’ve also installed an AWstats tracker to collect aggregate data (as on this site) which we’ll parse later on (assuming the horrible monster that it’s running on, Zeus, outputs normal-ish log files for me! Oh, and it doesn’t support mod_rewrite, but instead has some retarded alternative that seems like a cross between VBA and AppleScript — and fails as much as the latter did in terms of <em>actual</em> ease of use, despite trying to use human language. It’s very dumb.) to figure out how Australia is doing in terms of browsers, operating systems, screen resolutions, JavaScript support, and the like. Should be incredibly interesting stuff, and I can’t wait!</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2006/01/30/sunrise-family-website/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>The Single IE Linebreak Through [optionally transparent] Proxy Character Encoding Bug</title>
		<link>http://josh.st/2006/01/24/the-single-ie-linebreak-through-optionally-transparent-proxy-character-encoding-bug/</link>
		<comments>http://josh.st/2006/01/24/the-single-ie-linebreak-through-optionally-transparent-proxy-character-encoding-bug/#comments</comments>
		<pubDate>Tue, 24 Jan 2006 03:53:58 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://joahua.com/blog/2006/01/24/the-single-ie-linebreak-through-optionally-transparent-proxy-character-encoding-bug</guid>
		<description><![CDATA[It’s new, so far as I’m aware, and I can’t even build a decent test case for it. In one instance alone, if there’s a blank line between two elements (i.e. just for readability, doesn’t need to be like that), then certain versions of IE — and only when their traffic is being proxied through [...]]]></description>
			<content:encoded><![CDATA[<p>It’s new, so far as I’m aware, and I can’t even build a decent test case for it. In one instance alone, if there’s a blank line between two elements (i.e. just for readability, doesn’t <em>need</em> to be like that), then certain versions of IE — and only when their traffic is being proxied through certain transparent/non-transparent servers — will display a blanking/“unknown” character.</p>
<p>At first it was thought this was just because of a dud character in a file, but then we tried using PHP to echo <code>\n\r</code>, <code>\n</code>, and <code>\r</code> in the place of a manually entered return: all of which resulted in the bug persisting. The only fix I’ve got is to use an HTML comment between lines</p>
<pre>&lt;/element&gt;&lt;!--
--&gt;&lt;another element='element'&gt;</pre>
<p>Like that. Anything else, and we get a blanking character in there. Bizarre!</p>
<p>It doesn’t occur anywhere else on the site in question, and I’m not going to waste hours trying to build another un-branded test case which may or may not work! The problem affects IE only (though we didn’t do version testing), and only when traffic is going through (some) proxy servers. And only that one character.</p>
<p>It’s not an encoding problem per-se, though is obviously related to that in some sense. This is still internal-only, and it’s not being dished up with proper content-types defined in HTTP headers (because I’m still liable to change my mind as to how that should be done, and I’m not calling it until the site is about to launch/what is/isn’t required in terms of content-type–affected things is abundantly clear!), but seeing as it only has an impact when using through a proxy it’s pretty obvious it’s not JUST here. Shrug. I reluctantly deleted the linebreak and the box went away.</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2006/01/24/the-single-ie-linebreak-through-optionally-transparent-proxy-character-encoding-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Andreessen: PHP succeeding where Java isn’t (CNet News.com)</title>
		<link>http://josh.st/2005/10/21/andreessen-php-succeeding-where-java-isnt-cnet-newscom/</link>
		<comments>http://josh.st/2005/10/21/andreessen-php-succeeding-where-java-isnt-cnet-newscom/#comments</comments>
		<pubDate>Fri, 21 Oct 2005 01:06:26 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[backend tools]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[director]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Marc Andreessen]]></category>
		<category><![CDATA[Mike Milinkovich]]></category>

		<guid isPermaLink="false">http://www.joahua.com/blog/2005/10/21/andreessen-php-succeeding-where-java-isnt-cnet-newscom</guid>
		<description><![CDATA[An interesting article from CNet reporting Marc Andreessen’s (of Netscape fame, amongst other things) comments on the future of PHP and Java. Personally, I think the whole thing is overplayed. So what, we’re seeing a diversion between where the technologies are applied? Okay… PHP has the higher level closer-to-the-browser layers, and Java does the hardcore [...]]]></description>
			<content:encoded><![CDATA[<p>An <a href="http://news.com.com/Andreessen+PHP+succeeding+where+Java+isnt/2100-1012_3-5903187.html">interesting article from CNet</a> reporting Marc Andreessen’s (of Netscape fame, amongst other things) comments on the future of PHP and Java. Personally, I think the whole thing is overplayed. So what, we’re seeing a diversion between where the technologies are applied? Okay… PHP has the higher level closer-to-the-browser layers, and Java does the hardcore stuff. It is, as the article suggests, a pretty complex language, and it’s being used accordingly.</p>
<p>At the <a href="http://news.com.com/Andreessen+PHP+succeeding+where+Java+isnt+-+page+2/2100-1012_3-5903187-2.html">end of the article (second page)</a>, Andreessen is quoted as saying “I think Flash is one of the most exciting technologies out there that’s almost on the verge of great success and never quite achieving it.”</p>
<p>What on earth is his definition of success? Flash has 97% market penetration, which is higher than any <em>operating system</em> on the planet, let alone browser or scripting language. He’s decrying the peril of Java as it shifts away from prominence on the web — and who needs Java applets, anyway? Google, if you try and get into that whole thing, damn you too. They’re slow to load, and generally crap. Newer versions are looking more and more like Flash clones, with video support leading the way in this area — to where? Why, to the systems that sit behind the web. It still fits with Sun’s infamous “the network is the computer” paradigm, albeit slightly differently.</p>
<p>Me, I don’t particularly care about the backend tools. I’m a frontend person. However, if we can reduce complexity of systems closer to the delivery layer, we should — if this means choosing PHP for something over Java, so be it. PHP, however, doesn’t run on the desktop (unless you’re <a href="http://m0n0.ch/wall/">someone with BSD and too much time on your hands</a> ;-), and Java does. This, admittedly, is slightly apart from Sun’s proclaimed strategy — but it isn’t really such a bad place to be. The places this technology is/has a stronghold is the enterprise desktop. I can only see Java in this field moving in the direction of desktop apps as a gateway to the network, as that (so it seems to me) has always been one of the platform’s core advantages — it has great connectivity powers.</p>
<p>Java, for a standalone app, seems a little… lonely. It doesn’t make sense. It’s like a real compiled app, only probably more complex and slower. Once you introduce the network, it starts to make sense. I think Eclipse’s director Mike Milinkovich has a quote that surmises the article flawlessly: “Java and PHP compete at some level. Get over it.”</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2005/10/21/andreessen-php-succeeding-where-java-isnt-cnet-newscom/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>18:53 remaining</title>
		<link>http://josh.st/2005/10/16/1853-remaining/</link>
		<comments>http://josh.st/2005/10/16/1853-remaining/#comments</comments>
		<pubDate>Sun, 16 Oct 2005 04:27:24 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[School/Uni]]></category>

		<guid isPermaLink="false">http://www.joahua.com/blog/2005/10/16/1854-remaining</guid>
		<description><![CDATA[Note to self, PHP’s mktime() function breaks when you use leading zeros. Thankfully, that means I’ve got 18 hours left to cram, and not nine. Bizarre. p.s. Now’s a good time for the RSS people to come out from the trees and look at the now fixed hh:mm countdown on my site. p.p.s. The first [...]]]></description>
			<content:encoded><![CDATA[<p>Note to self, PHP’s mktime() function breaks when you use leading zeros. Thankfully, that means I’ve got 18 hours left to cram, and not nine. Bizarre.</p>
<p>p.s. Now’s a good time for the RSS people to come out from the trees and look at the now fixed hh:mm countdown on my site.<br />
p.p.s. The first post-script will be irrelevant this time tomorrow.<br />
p.p.p.s. Trackback spammers, have a heart. I haven’t got time to deal with your crap right now, and really won’t feel like it tomorrow afternoon. Just go away for a while, okay? Thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://josh.st/2005/10/16/1853-remaining/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

