<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jantrid</title><link>https://www.jantrid.net/</link><description>Recent content on Jantrid</description><generator>Hugo</generator><language>en-AU</language><lastBuildDate>Sun, 21 Dec 2025 00:00:00 +1000</lastBuildDate><atom:link href="https://www.jantrid.net/feeds/posts/default/index.xml" rel="self" type="application/rss+xml"/><item><title>Native Instruments Kontrol S MK3 Firmware Update Windows Driver</title><link>https://www.jantrid.net/2025/12/21/kontrol-s-mk3-firmware-update-windows-driver/</link><pubDate>Sun, 21 Dec 2025 00:00:00 +1000</pubDate><guid>https://www.jantrid.net/2025/12/21/kontrol-s-mk3-firmware-update-windows-driver/</guid><description>&lt;p&gt;I just set up a new &lt;a href="https://www.native-instruments.com/en/products/komplete/keyboards/kontrol-s49-s61-s88/"&gt;Native Instruments Kontrol S61 MK3&lt;/a&gt; keyboard.&#10;After installing the Hardware Connection Service as outlined in the &lt;a href="https://www.native-instruments.com/en/specials/komplete/kontrol-setup/"&gt;set up instructions&lt;/a&gt;, the next thing you&amp;rsquo;ll need to do is update the firmware on the device.&#10;Unfortunately, I ran into significant problems here.&#10;The firmware updater could not detect my keyboard, displaying the message:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Please connect your KONTROL S MK3 and click RESCAN.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;The problem is that Windows couldn&amp;rsquo;t find a driver for the &amp;ldquo;KONTROL S61 MK3 DFU&amp;rdquo; device.&#10;Native Instruments provide some &lt;a href="https://support.native-instruments.com/hc/en-us/articles/16567321051805-How-Can-I-Update-the-Driver-and-Firmware-of-My-Kontrol-S88-MK3-on-Windows"&gt;troubleshooting instructions&lt;/a&gt; for this scenario, but these didn&amp;rsquo;t help either.&#10;In step 18 of that guide, when manually choosing the driver, the troubleshooting instructions tell you:&lt;/p&gt;</description></item><item><title>WhatsApp Web and Messenger Accessibility Fixes</title><link>https://www.jantrid.net/2025/12/20/whatsapp-messenger-web-accessibility-fixes/</link><pubDate>Sat, 20 Dec 2025 00:00:00 +1000</pubDate><guid>https://www.jantrid.net/2025/12/20/whatsapp-messenger-web-accessibility-fixes/</guid><description>&lt;h2 id="whatsapp"&gt;WhatsApp&lt;/h2&gt;&#10;&lt;p&gt;If you use WhatsApp on Windows, you are likely aware by now that WhatsApp have discontinued the UWP app and replaced it with an app that effectively just wraps the WhatsApp web app.&#10;Unfortunately, while the accessibility of the UWP app was quite decent, the web app has some major accessibility problems which have not yet been resolved.&#10;Fortunately, one of the nice things about the web is that it&amp;rsquo;s possible to tweak accessibility a great deal with scripting.&#10;This can only be done if you run the web app in a web browser rather than the desktop app, but since the desktop app basically just wraps the web app anyway, there&amp;rsquo;s no real disadvantage to doing this.&lt;/p&gt;</description></item><item><title>Direct UIA Access to Web Content Processes</title><link>https://www.jantrid.net/2025/03/21/uia-direct-access-web-content/</link><pubDate>Fri, 21 Mar 2025 00:00:00 +1000</pubDate><guid>https://www.jantrid.net/2025/03/21/uia-direct-access-web-content/</guid><description>&lt;p&gt;Before settling on the project to &lt;a href="https://www.jantrid.net/2022/12/22/Cache-the-World/#enter-cache-the-world"&gt;implement a full accessibility cache in Firefox&lt;/a&gt;, I investigated several other alternatives.&#10;In my last post, I discussed &lt;a href="https://www.jantrid.net/2025/03/20/async-accessibility-apis/"&gt;asynchronous accessibility APIs&lt;/a&gt;.&#10;Another alternative I considered is switching to UI Automation and having the UIA tree accessed directly in web content processes, rather than communicating via the main UI process.&#10;While this is not possible with IAccessible2 because of browser sandboxes, it could theoretically be possible with UIA because it has an intermediary Windows component called UIAutomationCore which sits between the client and the server.&#10;As an operating system component, there are less concerns with regard to allowing it in the browser sandbox.&#10;Unfortunately, this proved to be infeasible then and I think it is still infeasible now:&lt;/p&gt;</description></item><item><title>My Thoughts on Asynchronous Accessibility APIs</title><link>https://www.jantrid.net/2025/03/20/async-accessibility-apis/</link><pubDate>Thu, 20 Mar 2025 00:00:00 +1000</pubDate><guid>https://www.jantrid.net/2025/03/20/async-accessibility-apis/</guid><description>&lt;p&gt;Accessibility API queries are generally synchronous: each query blocks both the client and the server until the query completes and returns its result.&#10;This causes &lt;a href="https://www.jantrid.net/2022/12/22/Cache-the-World/"&gt;significant challenges for modern, multi-process web browsers, requiring them to cache the accessibility trees from all other processes in the main UI process&lt;/a&gt;.&#10;This raises the question: why not make accessibility APIs asynchronous?&#10;As usual, there is a theoretical/principle answer and a pragmatic answer.&lt;/p&gt;&#10;&lt;p&gt;Let&amp;rsquo;s start with theory.&#10;For a browser, synchronous accessibility APIs are a real problem.&#10;So much of the complexity in multi-process browser accessibility architecture comes back to the need to support synchronous APIs.&#10;If they were async, we might not need to maintain a cache in the main process at all, which would save us a lot of pain, complexity and performance problems.&#10;From that perspective, async APIs would be great.&#10;Async APIs would likely also help assistive technology products to avoid hangs due to queries taking a long time or apps which stop responding, which is a real source of pain for users.&lt;/p&gt;</description></item><item><title>Why UI Automation is Insufficient as an Accessibility API for the Web</title><link>https://www.jantrid.net/2025/03/19/why-uia-insufficient-web/</link><pubDate>Wed, 19 Mar 2025 00:00:00 +1000</pubDate><guid>https://www.jantrid.net/2025/03/19/why-uia-insufficient-web/</guid><description>&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/windows/win32/winauto/entry-uiauto-win32"&gt;UI Automation&lt;/a&gt; (UIA) is Microsoft&amp;rsquo;s recommended accessibility framework for Windows, replacing the earlier &lt;a href="https://learn.microsoft.com/en-us/windows/win32/winauto/microsoft-active-accessibility"&gt;Microsoft Active Accessibility&lt;/a&gt; (MSAA) framework.&#10;Despite this, to access web content, screen readers such as NVDA and JAWS continue to use &lt;a href="https://github.com/LinuxA11y/IAccessible2"&gt;IAccessible2&lt;/a&gt;, an open source API based on MSAA.&#10;This is not just because of the significant effort involved in switching to a different API, although that is certainly a factor.&#10;More importantly, it is because UIA is currently insufficient as an accessibility API for the web.&#10;Here are some of the reasons:&lt;/p&gt;</description></item><item><title>Moving a Row in Google Sheets with the Keyboard</title><link>https://www.jantrid.net/2025/02/24/moving-row-google-sheets-keyboard/</link><pubDate>Mon, 24 Feb 2025 00:00:00 +1000</pubDate><guid>https://www.jantrid.net/2025/02/24/moving-row-google-sheets-keyboard/</guid><description>&lt;p&gt;Sometimes, it is necessary to move a row up or down in a Google Sheet.&#10;For example, I might be maintaining a list of tasks ordered from highest to lowest priority and realise that a task later in the sheet is actually higher priority than earlier tasks.&#10;&lt;a href="https://support.google.com/docs/answer/54813?hl=en&amp;amp;co=GENIE.Platform%3DDesktop#zippy=%2Cmove-rows-columns-or-cells"&gt;This Google support article&lt;/a&gt; says you can do this by selecting the row and then choosing Move row up (or down) from the Edit menu.&#10;However, when I selected the cells in the row, these Move row items still didn&amp;rsquo;t appear in the Edit menu.&lt;/p&gt;</description></item><item><title>Pasting Numbers Without Punctuation or Spaces</title><link>https://www.jantrid.net/2025/02/19/pasting-numbers-without-punctuation-or-spaces/</link><pubDate>Wed, 19 Feb 2025 00:00:00 +1000</pubDate><guid>https://www.jantrid.net/2025/02/19/pasting-numbers-without-punctuation-or-spaces/</guid><description>&lt;p&gt;Everyone loves paying bills, right?&#10;One of the best parts about paying bills is surely that they usually provide all the amounts, billing codes, reference numbers, etc. with punctuation and spaces; e.g. amount $1,234, reference code 123 456-789.&#10;But banking and payment portals - sometimes even the payment portal for the organisation issuing the bill! - won&amp;rsquo;t accept spaces and punctuation!&#10;This means you can&amp;rsquo;t simply copy and paste the numbers, which is really annoying.&#10;Wouldn&amp;rsquo;t it be awesom if there were some easy, automatic way to strip out everything except numbers and the decimal point before pasting?&lt;/p&gt;</description></item><item><title>Cache the World: Turbo Charging Firefox Accessibility Performance and Maintainability</title><link>https://www.jantrid.net/2022/12/22/Cache-the-World/</link><pubDate>Thu, 22 Dec 2022 00:00:00 +1000</pubDate><guid>https://www.jantrid.net/2022/12/22/Cache-the-World/</guid><description>&lt;p&gt;The Firefox accessibility engine is responsible for providing assistive technologies like screen readers with the information they need to access web page content.&#10;For the past couple of years, the Firefox accessibility team have been working on a major re-architecture of the accessibility engine to significantly improve its speed, reliability and maintainability.&#10;We call this project &amp;ldquo;&lt;a href="https://wiki.mozilla.org/Accessibility/CacheTheWorld"&gt;Cache the World&lt;/a&gt;&amp;rdquo;.&#10;In this post, I explain the reasons for such a massive undertaking and describe how the new architecture solves these issues.&lt;/p&gt;</description></item><item><title>Making the Play/Pause Button on Earpods Skip to Next/Previous Track on Windows</title><link>https://www.jantrid.net/2022/02/03/Making-the-Play-Pause-Button-on-Earpods-Skip-to-Next-Previous-Track-on-Windows/</link><pubDate>Thu, 03 Feb 2022 00:00:00 +1000</pubDate><guid>https://www.jantrid.net/2022/02/03/Making-the-Play-Pause-Button-on-Earpods-Skip-to-Next-Previous-Track-on-Windows/</guid><description>&lt;p&gt;I recently got a new laptop: Dell XPS15 9510.&#10;While this is a pretty nice machine overall, its audio drivers are an abomination.&#10;Among other things, the Waves MaxxAudio software it ships with eventually leaks all of your system memory if you use audio constantly for hours, which is the case for screen reader users.&#10;I eventually got fed up and disabled the Waves crap, but this makes it impossible for me to use the headset mic on my Earpods.&lt;/p&gt;</description></item><item><title>Reading Recipes with Siri or Apple Watch</title><link>https://www.jantrid.net/2021/08/24/reading-recipes-with-siri-or-apple-watch/</link><pubDate>Tue, 24 Aug 2021 00:00:00 +1000</pubDate><guid>https://www.jantrid.net/2021/08/24/reading-recipes-with-siri-or-apple-watch/</guid><description>&lt;p&gt;I&amp;rsquo;m finally learning to cook some decent food, so I need to be able to read recipes.&#10;For a while, I was reading them out of Simplenote on my iPhone.&#10;However, I encountered several frustrations with this approach (and this applies to any notes or text app really):&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;When you&amp;rsquo;re not editing, Simplenote shows the note such that each line is an item for VoiceOver; i.e. you flick right to read the next line.&#10;However, if you bump the screen or perform the wrong gesture accidentally, you can easily lose your position.&#10;If the screen locks or you have to switch apps, you lose your position completely, since VoiceOver doesn&amp;rsquo;t restore focus to the last focused item in apps.&lt;/li&gt;&#10;&lt;li&gt;When editing, you can review the note line by line using the rotor.&#10;The advantage here is that the cursor doesn&amp;rsquo;t get lost when you switch apps or the screen locks.&#10;However, lines can be smaller than is ideal due to the screen size, so one recipe instruction might get split across multiple lines.&#10;Also, moving the editing cursor with VoiceOver is notoriously buggy, often getting stuck, etc.&#10;Finally, again, if you bump the screen or perform the wrong gesture, you can lose your position (or worse, accidentally type text into the document).&lt;/li&gt;&#10;&lt;li&gt;The screen lock problem could be solved by disabling auto lock, but that obviously has an impact on battery.&lt;/li&gt;&#10;&lt;li&gt;Having to repeatedly take my phone out of my pocket to read the next instruction was impractical, especially given the risk of losing my spot in the recipe.&#10;Leaving it on a bench somewhere meant I had to keep walking back to wherever my phone was located, which was similarly tedious.&#10;This might seem simple enough, but when you&amp;rsquo;re moving around a lot, using your hands for other things, getting your hands dirty, etc., it just isn&amp;rsquo;t efficient.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;I considered a couple of solutions:&lt;/p&gt;</description></item><item><title>Tab Keywords in Firefox</title><link>https://www.jantrid.net/2020/06/03/tab-keywords-in-firefox/</link><pubDate>Wed, 03 Jun 2020 00:00:00 +1000</pubDate><guid>https://www.jantrid.net/2020/06/03/tab-keywords-in-firefox/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;An awesome feature in Firefox that has existed forever is the ability to &lt;a href="https://support.mozilla.org/en-US/kb/bookmarks-firefox#w_how-to-use-keywords-with-bookmarks"&gt;assign keywords to bookmarks&lt;/a&gt;.&#10;For example, I could assign the word &amp;ldquo;bank&amp;rdquo; to take me directly to the login page for my bank.&#10;Then, all I have to do is type &amp;ldquo;bank&amp;rdquo; into the address bar and press enter, and I&amp;rsquo;m there.&lt;/p&gt;&#10;&lt;p&gt;Another awesome feature in Firefox is the ability to &lt;a href="https://support.mozilla.org/en-US/kb/address-bar-autocomplete-firefox#w_changing-results-on-the-fly"&gt;use the address bar to switch to open tabs&lt;/a&gt;.&#10;For example, if I want to switch to my Twitter tab, I can type &amp;ldquo;% twitter&amp;rdquo; into the address bar, then press down arrow and enter, and I&amp;rsquo;m there.&lt;/p&gt;</description></item><item><title>Open Source Access to Math for NVDA: The Beginning</title><link>https://www.jantrid.net/2016/07/open-source-access-to-math-for-nvda.html</link><pubDate>Wed, 06 Jul 2016 23:24:00 +1000</pubDate><guid>https://www.jantrid.net/2016/07/open-source-access-to-math-for-nvda.html</guid><description>At CSUN this year, I attended the open source math accessibility sprint co-hosted by the Shuttleworth Foundation and Benetech, where major players in the field gathered to discuss and hack on various aspects of open source math accessibility. My team, which also included Kathi Fletcher, Volker Sorge and Derek Riemer, tackled reading of mainstream math with open source tools.&lt;br /&gt;Last year, NVDA introduced support for reading and interactive navigation of math content in web browsers and in Microsoft Word and PowerPoint. To facilitate this, NVDA uses &lt;a href="http://www.dessci.com/en/products/mathplayer/"&gt;MathPlayer 4 from Design Science&lt;/a&gt;. While MathPlayer is a great, free solution that is already helping many users, it is closed source, proprietary software, which severely limits its future potential. Thus, there is a great need for a fully open source alternative.&lt;br /&gt;Some time ago, Volker Sorge implemented support for math in ChromeVox and later forked this into a separate project called &lt;a href="https://github.com/zorkow/speech-rule-engine"&gt;Speech Rule Engine&lt;/a&gt; (SRE). There were two major pieces to our task:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;SRE is a JavaScript library and NVDA is written in python, so we needed to create a "bridge" between NVDA and SRE. We did this by having NVDA run Node.js and writing code in Python and JavaScript which communicated via stdin and stdout.&lt;/li&gt;&lt;li&gt;One of the things that sets MathPlayer above other math accessibility solutions is its use of the more natural &lt;a href="https://www.dessci.com/en/reference/ies-ets/"&gt;ClearSpeak&lt;/a&gt; speech style. In contrast, MathSpeak, the speech style used by SRE and others, was designed primarily for dictation and is not well suited to efficient understanding of math, at least without a great deal of training. So, we needed to implement ClearSpeak in SRE. Because this is a massive task that would take months to complete (and this was a one day hackathon!), we chose to implement just a few ClearSpeak rules, just enough to read the quadratic equation.&lt;/li&gt;&lt;/ol&gt;Our goal for the end of the day was to present NVDA and SRE reading and interactively navigating the quadratic equation in Microsoft Word using ClearSpeak, including one pause in speech specified by ClearSpeak. (ClearSpeak uses pauses to make reading easier and to naturally communicate information about the math expression.) I'm pleased to say we were successful! Obviously, this was very much a "proof of concept" implementation and there is a great deal of further work to be done, both in NVDA and SRE. Thanks to my team for their excellent work and to Benetech and the Shuttleworth Foundation for hosting the event and inviting me!&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="Shuttleworth Funded logo" border="0" height="90" src="https://www.jantrid.net/assets/images/2016-07-06-ShuttleworthFunded.jpg" title="" width="320" /&gt;&lt;/span&gt;&lt;/div&gt;As a result of this work, I was subsequently nominated by Kathi Fletcher for a &lt;a href="https://shuttleworthfoundation.org/flashgrants/"&gt;Shuttleworth Foundation Flash Grant&lt;/a&gt;. In short, this is a small grant I can put towards a project of my choice, with the only condition being to "live openly" and share it with the world. And I figured polishing NVDA's integration with SRE was a fitting project for this grant. So, in the coming months, I plan to release an NVDA add-on package which allows users to easily install and use this solution. Thanks to Kathi for nominating me and to the Shuttleworth Foundation for supporting this! Watch this space for more details.</description></item><item><title>Woe-ARIA: aria-describedby: To Report or Not to Report?</title><link>https://www.jantrid.net/2015/12/woe-aria-aria-describedby-to-report-or.html</link><pubDate>Fri, 18 Dec 2015 21:09:00 +1000</pubDate><guid>https://www.jantrid.net/2015/12/woe-aria-aria-describedby-to-report-or.html</guid><description>&lt;h4 id="introduction"&gt;Introduction&lt;/h4&gt;In my &lt;a href="https://www.jantrid.net/2015/12/woe-aria-surprisingly-but-ridiculously.html"&gt;last post&lt;/a&gt;, I waxed lyrical about the surprising complexity of the seemingly simple aria-label/ledby. Thanks to those who took the time to read it and provide their valuable thoughts. In particular, &lt;a href="http://blog.jantrid.net/2015/12/woe-aria-surprisingly-but-ridiculously.html?showComment=1450354467035#c9035841915331404885"&gt;Steve Faulkner commented&lt;/a&gt; that he’d started working on “&lt;a href="http://thepaciellogroup.github.io/AT-browser-tests/AT.html"&gt;doc/test files suggesting what screen readers should announce from accname/description info&lt;/a&gt;“. Talk about responsive! Thanks Steve! His inclusion of description opened up another can of worms for me, so I thought I’d continue the trend and let the worms spill out right here. Thankfully, this particular can is somewhat smaller than the first one!&lt;br /&gt;&lt;h4 id="what-are-you-on-about-this-time"&gt;What are you on about this time?&lt;/h4&gt;Steve’s new document suggests that for an &lt;code&gt;a&lt;/code&gt; tag with an &lt;code&gt;href&lt;/code&gt;, screen readers should:&lt;br /&gt;&lt;blockquote&gt;Announce accname + accdescription (if present and different from acc name), ignore element content.&lt;/blockquote&gt;I don’t agree with the “ignore element content” bit in all cases; see the “Why not just use the accessible name?” section of my &lt;a href="https://www.jantrid.net/2015/12/woe-aria-surprisingly-but-ridiculously.html"&gt;label post&lt;/a&gt; for why. However, the bit of interest here is the suggestion that accDescription should be reported.&lt;br /&gt;&lt;h4 id="well-of-course-it-should-the-spec-says"&gt;Well, of course it should! The spec says!&lt;/h4&gt;The spec allows elements to be described, so &lt;a href="https://github.com/nvaccess/nvda/issues/5567#issue-119901424"&gt;many&lt;/a&gt; &lt;a href="https://github.com/nvaccess/nvda/issues/5398#issue-116052611"&gt;argue&lt;/a&gt; that it logically follows that a supporting screen reader should always read the description. I strongly disagree.&lt;br /&gt;While the label is primary information for many elements (including links), I believe the description is “secondary” information. The &lt;a href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-describedby"&gt;ARIA spec says&lt;/a&gt; that:&lt;br /&gt;&lt;blockquote&gt;a label should be concise, where a description is intended to provide more verbose information.&lt;/blockquote&gt;“More verbose information” is the key here. It is reasonable to assume that users will not always be interested in this level of verbosity. If the information was important enough to be read always, why not just stick it in the label?&lt;br /&gt;&lt;h4 id="what-on-earth-do-you-mean-by-secondary-information"&gt;What on earth do you mean by secondary information?&lt;/h4&gt;I think of descriptions rather like tooltips. A tooltip isn’t always on screen, but rather, appears only when, say, the user moves their mouse over the associated element. The information is useful, but the user doesn’t always need to see it. They only need to see it if the element is of particular interest.&lt;br /&gt;The HTML &lt;code&gt;title&lt;/code&gt; attribute is most often presented as a tooltip and… wait for it… is usually presented as the accessible description (unless there’s no name).&lt;br /&gt;&lt;h4 id="but-most-screen-reader-users-dont-use-a-mouse"&gt;But most screen reader users don’t use a mouse!&lt;/h4&gt;Quite so. But moving the mouse to an element can be generalised: some gesture that indicates the user is specifically interested in/wishes to interact with this element. When a user is just reading, they’re not doing this.&lt;br /&gt;&lt;h4 id="why-is-this-such-a-big-deal"&gt;Why is this such a big deal?&lt;/h4&gt;Imagine you’re reading an article about the changing landscape of device connectors in portable computers over the years:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code class=" hljs livecodeserver"&gt;&amp;lt;p&amp;gt;There have been many different types &lt;span class="hljs-operator"&gt;of&lt;/span&gt; connections &lt;span class="hljs-keyword"&gt;for&lt;/span&gt; peripheral devices &lt;span class="hljs-operator"&gt;in&lt;/span&gt; portable computers over &lt;span class="hljs-operator"&gt;the&lt;/span&gt; years: &amp;lt;&lt;span class="hljs-operator"&gt;a&lt;/span&gt; href=&lt;span class="hljs-string"&gt;"pcmcia"&lt;/span&gt; title=&lt;span class="hljs-string"&gt;"Personal Computer Memory Card International Association"&lt;/span&gt;&amp;gt;PCMCIA&amp;lt;/&lt;span class="hljs-operator"&gt;a&lt;/span&gt;&amp;gt;, &amp;lt;&lt;span class="hljs-operator"&gt;a&lt;/span&gt; href=&lt;span class="hljs-string"&gt;"usb"&lt;/span&gt; title=&lt;span class="hljs-string"&gt;"Universal Serial Bus"&lt;/span&gt;&amp;gt;USB&amp;lt;/&lt;span class="hljs-operator"&gt;a&lt;/span&gt;&amp;gt; &lt;span class="hljs-operator"&gt;and&lt;/span&gt; &amp;lt;&lt;span class="hljs-operator"&gt;a&lt;/span&gt; href=&lt;span class="hljs-string"&gt;"sata"&lt;/span&gt; title=&lt;span class="hljs-string"&gt;"Serial ATA"&lt;/span&gt;&amp;gt;E-SATA&amp;lt;/&lt;span class="hljs-operator"&gt;a&lt;/span&gt;&amp;gt;, just &lt;span class="hljs-built_in"&gt;to&lt;/span&gt; name &lt;span class="hljs-operator"&gt;a&lt;/span&gt; few.&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/pre&gt;(I use the title attribute here because it’s easier than aria-describedby, but the same could be done with aria-describedby.)&lt;br /&gt;Imagine you’re reading this as a flat document, either line by line or all at once. Let’s check that out with all descriptions reported:&lt;br /&gt;&lt;blockquote&gt;There have been many different types of connections for peripheral devices in portable computers over the years: link, PCMCIA, Personal Computer Memory Card International Association, link, USB, Universal Serial Bus, and link, E-SATA, Serial ATA, just to name a few.&lt;/blockquote&gt;Wow. That’s insanely verbose and not overly useful unless I’m particularly interested in the linked article. And that’s just one small sentence! If sighted users don’t have to see this all the time, why should I as a screen reader user?&lt;br /&gt;Here’s another example based loosely on an issue item in &lt;a href="https://github.com/nvaccess/nvda/issues"&gt;the NVDA GitHub issue list&lt;/a&gt;:&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code class=" hljs livecodeserver"&gt;&amp;lt;&lt;span class="hljs-operator"&gt;a&lt;/span&gt; href=&lt;span class="hljs-string"&gt;"issue/5612"&lt;/span&gt;&amp;gt;Support &lt;span class="hljs-keyword"&gt;for&lt;/span&gt; HumanWare Brailliant B &lt;span class="hljs-keyword"&gt;using&lt;/span&gt; USB HID&amp;lt;/&lt;span class="hljs-operator"&gt;a&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="hljs-operator"&gt;a&lt;/span&gt; href=&lt;span class="hljs-string"&gt;"label/Braille"&lt;/span&gt; title=&lt;span class="hljs-string"&gt;"View all Braille issues"&lt;/span&gt;&amp;gt;Braille&amp;lt;/&lt;span class="hljs-operator"&gt;a&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="hljs-operator"&gt;a&lt;/span&gt; href=&lt;span class="hljs-string"&gt;"label/enhancement"&lt;/span&gt; title=&lt;span class="hljs-string"&gt;"View all enhancement issues"&lt;/span&gt;&amp;gt;enhancement&amp;lt;/&lt;span class="hljs-operator"&gt;a&lt;/span&gt;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;&lt;span class="hljs-comment"&gt;#5612&lt;/span&gt;&lt;br /&gt;opened &amp;lt;span title=&lt;span class="hljs-string"&gt;"16 Dec. 2015, 9:49 am AEST"&lt;/span&gt;&amp;gt;&lt;span class="hljs-number"&gt;2&lt;/span&gt; days ago&amp;lt;/&lt;span class="hljs-operator"&gt;a&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span class="hljs-keyword"&gt;by&lt;/span&gt; &amp;lt;&lt;span class="hljs-operator"&gt;a&lt;/span&gt; href=&lt;span class="hljs-string"&gt;"user/jcsteh"&lt;/span&gt; title=&lt;span class="hljs-string"&gt;"View all issues opened by jcsteh"&lt;/span&gt;&amp;gt;jcsteh&amp;lt;/&lt;span class="hljs-operator"&gt;a&lt;/span&gt;&amp;gt;&lt;/code&gt;&lt;/pre&gt;Let’s read that entire item with descriptions:&lt;br /&gt;&lt;blockquote&gt;link, Support for HumanWare Brailliant B using USB HID, link, Braille, View all Braille issues, link, enhancement, View all enhancement issues, #5612 opened 2 days ago, 16 Dec. 2015, 9:49 am AEST, by jcsteh, View all issues opened by jcsteh&lt;/blockquote&gt;In what universe is that efficient?&lt;br /&gt;&lt;h4 id="slight-digression-complete-misunderstanding-of-description"&gt;Slight digression: complete misunderstanding of description&lt;/h4&gt;As an aside, GitHub’s real implementation of this is actually far worse because they incorrectly use the &lt;code&gt;aria-label&lt;/code&gt; attribute where I’ve used the &lt;code&gt;title&lt;/code&gt; attribute, so you lose the real labels altogether. You get something like this:&lt;br /&gt;&lt;blockquote&gt;link, Support for HumanWare Brailliant B using USB HID, link, View all Braille issues&lt;/blockquote&gt;which doesn’t even make sense. &lt;a href="http://blog.jantrid.net/2015/12/woe-aria-surprisingly-but-ridiculously.html?showComment=1450384489474#c5862164800424200463"&gt;David MacDonald outlined this exact issue in his comment on my label post&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;The most common mistake I’m correcting for aria-label/ledby is when it over rides the text in the element, or associated label and when that text or associated html label is important. For instance, a bit of help text on an input. They should use describedby but they don’t understand the difference between accName and accDescription.&lt;/blockquote&gt;Still, the spec is fairly clear on this point, so I guess this one is just up to evangelism.&lt;br /&gt;&lt;h4 id="so-are-you-saying-description-should-never-be-read-whats-the-point-of-it-then"&gt;So are you saying description should never be read? What’s the point of it, then?&lt;/h4&gt;Not at all. I’m saying it shouldn’t “always” be read.&lt;br /&gt;&lt;h4 id="when-then"&gt;When, then?&lt;/h4&gt;When there is “some gesture that indicates the user is specifically interested in/wishes to interact with this element”. For a screen reader, simply moving line by line through a document doesn’t satisfy this. Sure, the user is interacting with the device, but that’s because screen readers inherently require interaction; they aren’t entirely passive like sight. For me (and, surprise surprise, for NVDA), this “gesture” means something like tabbing to the link, moving to it using single letter navigation, using a command to query information about the current element, etc.&lt;br /&gt;&lt;h4 id="but-voiceover-reads-it"&gt;But VoiceOver reads it!&lt;/h4&gt;With VoiceOver, you usually move to each element individually. You don’t (at least not as often) move line by line (like you do with NVDA), where there can be several elements reported at once. With the individual element model, it makes sense to read the description because you’re dealing with a single element at a time and the user may well be interested in that specific element. And if the user really doesn’t care about it, they can always just move on to the next element early.&lt;br /&gt;&lt;h4 id="so-now-youre-saying-we-cant-have-interoperability-dude-make-up-your-mind-already"&gt;So now you’re saying we can’t have interoperability. Dude, make up your mind already!&lt;/h4&gt;Recall this from my last post:&lt;br /&gt;&lt;blockquote&gt;If we want interoperability, we need solid rules. I’m not necessarily suggesting that this be compulsory or prescriptive; different AT products have different interaction models and we also need to allow for preferences and innovation.&lt;/blockquote&gt;This is one of those “different interaction models” examples.&lt;br /&gt;&lt;a href="http://blog.jantrid.net/2015/12/woe-aria-surprisingly-but-ridiculously.html?showComment=1450363326604#c1149168726713861232"&gt;Rich Schwerdtfeger commented&lt;/a&gt; on my last post:&lt;br /&gt;&lt;blockquote&gt;The problem we have with AT vendors is that many have lobbied very hard for us to NOT dictate what they should do.&lt;/blockquote&gt;Examples like these are one reason AT vendors push back on this.&lt;br /&gt;&lt;h4 id="so-uh-what-are-we-supposed-to-do"&gt;So, uh, what are we supposed to do?&lt;/h4&gt;I’m optimistic that there’s a middle ground: guidelines which allow for reasonable interoperability without restricting AT’s ability to innovate and best suit their users’ needs. As in software development, a bit of well-considered abstraction goes a long way to ensuring future longevity.&lt;br /&gt;In this case, perhaps the guidelines could use the “secondary content” terminology I used above or something similar. They might say that for an &lt;code&gt;a&lt;/code&gt; tag with an &lt;code&gt;href&lt;/code&gt;, the name should be presented as the primary content if overridden using aria-label/ledby and the description should be treated as secondary content. This leaves it up to the AT vendor to decide exactly when this secondary content is presented based on the interaction model, while still providing some idea of how to best ensure interoperability.</description></item><item><title>Woe-ARIA: The Surprisingly but Ridiculously Complicated World of aria-label/ledby</title><link>https://www.jantrid.net/2015/12/woe-aria-surprisingly-but-ridiculously.html</link><pubDate>Thu, 17 Dec 2015 16:31:00 +1000</pubDate><guid>https://www.jantrid.net/2015/12/woe-aria-surprisingly-but-ridiculously.html</guid><description>&lt;div class="markdown-here-wrapper" data-md-url="https://www.blogger.com/blogger.g?blogID=5419412965543098028#editor/target=post;postID=7634807056568165010"&gt;&lt;h4 id="introduction" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Introduction&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;&lt;a href="http://www.w3.org/TR/wai-aria/"&gt;WAI-ARIA&lt;/a&gt; is one of the best things ever to happen to web accessibility. It paved the way to free us from a world where JavaScript and any widget that didn’t have an HTML tag equated to inaccessibility. Aside from it being deployed by authors, I’ve even managed to &lt;a href="https://github.com/nvaccess/axSGrease"&gt;majorly improve the accessibility of various websites&lt;/a&gt; using &lt;a href="http://www.greasespot.net/"&gt;Greasemonkey&lt;/a&gt; scripts. I love ARIA.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;But sometimes, I hate ARIA. Yes, you heard me. I said it. Sometimes, it drives me truly insane.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Let’s take aria-label and aria-labelledby. They’re awesome. Authors can just use them to make screen readers speak the right thing. Simple, right?&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Not at all. I wish it were that simple, but it is so, so much more complicated than that. I’ve &lt;a href="https://lists.w3.org/Archives/Public/wai-xtech/2014Feb/0032.html"&gt;had&lt;/a&gt; &lt;a href="https://github.com/nvaccess/nvda/issues/5567"&gt;a&lt;/a&gt; &lt;a href="https://github.com/nvaccess/nvda/issues/5398"&gt;ridiculous&lt;/a&gt; &lt;a href="https://github.com/nvaccess/nvda/issues/5180"&gt;number&lt;/a&gt; &lt;a href="https://github.com/nvaccess/nvda/issues/4773"&gt;of&lt;/a&gt; &lt;a href="https://github.com/nvaccess/nvda/issues/3746"&gt;discussions&lt;/a&gt;/&lt;a href="https://twitter.com/jcsteh/status/669119759670087680"&gt;arguments&lt;/a&gt; &lt;a href="https://github.com/nvaccess/nvda/issues/3852"&gt;about&lt;/a&gt; &lt;a href="https://github.com/nvaccess/nvda/issues/3551"&gt;aria-label/aria-labelledby&lt;/a&gt; &lt;a href="https://github.com/nvaccess/nvda/issues/1362"&gt;over&lt;/a&gt; &lt;a href="https://github.com/nvaccess/nvda/issues/1354"&gt;the&lt;/a&gt; &lt;a href="https://github.com/nvaccess/nvda/issues/1195"&gt;years&lt;/a&gt;. Frankly, when I hear about aria-label/ledby, it just makes me cringe and groan and, depending on the day, consider quitting my job. (Okay, perhaps that last part is a bit melodramatic.)&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;The most frustrating part is that people frequently argue that assistive technology products aren’t following the spec when their particular use case doesn’t work as expected. Others bemoan the lack of interoperability between AT products and often blame the AT vendors. But actually, the ARIA spec and guidelines don’t say (not even in terms of recommendations) anything about what ATs should do. They talk only about what browsers should expose, and herein begins a great deal of misunderstanding, argument and confusion. And when we do try to fix one seemingly obvious use case, we often break another seemingly obvious use case.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;In this epic ramble, I’ll attempt to explain just how complicated this supeficially trivial issue is, primarily so I can avoid having this argument over and over and over again. While this is specifically related to aria-label/aria-labelledby, it’s worth noting there are similar cans of worms lurking in many other aspects of ARIA. Also, I specifically discuss screen readers with a focus on NVDA in particular, but some of this should still be relevant to other AT.&lt;/div&gt;&lt;h4 id="why-not-just-use-the-accessible-name-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Why not just use the accessible name?&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Essentially, aria-label/ledby alters what a browser exposes as the “name” of an element via accessibility APIs. Furthermore, ARIA specifies when the name should be calculated from the “text” of descendant elements. So before we even get into aria-label/ledby, let’s address the question: why don’t screen raeders just use the name wherever it is present?&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;The major problem with this is that the “name” is just text. It doesn’t provide any semantic or formatting information.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Take this example:&lt;/div&gt;&lt;pre style="font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;"&gt;&lt;code style="background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;"&gt;&amp;lt;a href="foo"&amp;gt;&amp;lt;em&amp;gt;bar&amp;lt;/em&amp;gt; bas&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;A browser will expose “bar bas” as the name of the link exactly as you might expect. But that “bar bas” is just text. What about the fact that “bar” was emphasised? If we just take the name, that information is lost. In this example:&lt;/div&gt;&lt;pre style="font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;"&gt;&lt;code style="background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;"&gt;&amp;lt;a href="foo"&amp;gt;&amp;lt;img src="bar.png" alt="bar"&amp;gt; bas&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;the name is again “bar bas”. But if we just take the name, the fact that “bar” is a graphic is lost.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;These are overly simple, contrived examples, but imagine how this begins to matter once you have more complex content.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;In short, content is more than just the name.&lt;/div&gt;&lt;h4 id="just-use-it-when-aria-label-ledby-is-present-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Just use it when aria-label/ledby is present.&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Okay. So we can’t always use the name. But if aria-label/ledby is present, then we can use the name, right?&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Wrong. To disprove this, all we have to do is take a landmark:&lt;/div&gt;&lt;pre style="font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;"&gt;&lt;code style="background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;"&gt;&amp;lt;div role="navigation" aria-label="Main"&amp;gt;Lots of navigation links here&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Now, our screen reader comes along looking for content and sees there’s a name, which it happily uses as the content for the entire element. Oops. All of our navigation links just disappeared. All we have left is “Main”. (Of course, no screen reader actually does or has ever done this as far as I'm aware.)&lt;/div&gt;&lt;h4 id="that-s-just-silly-you-obviously-don-t-do-it-for-landmarks-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;That’s just silly. You obviously don’t do it for landmarks!&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Well, sure, but this raises the question: when do we use it and when don’t we? “Common sense” isn’t sufficient for people, let alone computers. We need clear, unambiguous rules. There is no document which provides any such guidance for AT, so each product has to try to come up with its own rules. And thus, the cracks in the mythical utopia of interoperability begin to emerge.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;That really sucks. But enough doom and gloom. Let’s try to come up with some rules here.&lt;/div&gt;&lt;h4 id="render-aria-label-ledby-before-the-real-content-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Render aria-label/ledby before the real content?&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Yup, this would fix the landmark case. It is bad for a case like this, though:&lt;/div&gt;&lt;pre style="font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;"&gt;&lt;code style="background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;"&gt;&amp;lt;button aria-label="Close"&amp;gt;X&amp;lt;/button&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;That “X” is meaningless semantically, so the author thoughtfully used aria-label. If we use both the name and content, we’ll get “Close X”. Yuck!&lt;/div&gt;&lt;h4 id="landmarks-are-just-special-you-can-still-use-aria-label-ledby-as-content-for-everything-else-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Landmarks are just special. You can still use aria-label/ledby as content for everything else.&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Not so much. Consider this tweet-like example:&lt;/div&gt;&lt;pre style="font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;"&gt;&lt;code style="background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;"&gt;&amp;lt;li tabindex="-1" aria-labelledby="user message time"&amp;gt;&lt;br /&gt; &amp;lt;a id="user" href="alice"&amp;gt;@Alice&amp;lt;/a&amp;gt;&lt;br /&gt; &amp;lt;a id="time" href="6min"&amp;gt;6 minutes ago&amp;lt;/a&amp;gt;&lt;br /&gt; &amp;lt;span id="message"&amp;gt;Wow. This blog is horrible: &amp;lt;a href="http://blog.jantrid.net/"&amp;gt;http://blog.jantrid.net/&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt; &amp;lt;a href="conv"&amp;gt;View conversation&amp;lt;/a&amp;gt;&lt;br /&gt; &amp;lt;button&amp;gt;Reply&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Twitter.com uses this technique, though the code is obviously nothing like this. The “li” element is the tweet. It’s focusable and you can move between tweets by pressing j and k. The aria-labelledby means you get a nice, efficient summary experience when navigating between tweets; e.g. the time gets read last, the View conversation and Reply controls are excluded, etc. But if we used the name as content, we’d lose the formatting, links in the message, and the View conversation and Reply controls. If we render the name before the content, we end up with serious duplication.&lt;/div&gt;&lt;h4 id="can-i-at-least-label-links-and-buttons-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Can I at least label links and buttons?&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Believe it or not, I actually have good news this time: yes, you can. But why links and buttons? And what else falls into this category? We need a proper rule here, remember.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;There are certain elements such as links, buttons, graphics, headings, tabs and menu items where the content is always what makes sense as the label. While it isn’t clear that it can be used for this determination, the ARIA spec includes a characteristic of “Name From: contents” which neatly categorises these controls.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Thus, we reach our first solid rule: if the ARIA characteristic “Name From: contents” applies, aria-label/ledby should completely override the content.&lt;/div&gt;&lt;h4 id="what-about-check-boxes-and-radio-buttons-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;What about check boxes and radio buttons?&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Check boxes and radio buttons don’t quite fit this rule. The problem is that the label is often (but not always) presented separately from the check box element itself, as is the case with the standard HTML input tag:&lt;/div&gt;&lt;pre style="font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;"&gt;&lt;code style="background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;"&gt;&amp;lt;input id="Cheese" type="checkbox"&amp;gt;&amp;lt;label for="cheese"&amp;gt;Cheese&amp;lt;/label&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;The equivalent using ARIA would be:&lt;/div&gt;&lt;pre style="font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;"&gt;&lt;code style="background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;"&gt;&amp;lt;div role="checkbox" aria-labelledby="cheeseLabel"&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&amp;lt;div id="cheeseLabel"&amp;gt;Cheese&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;In most cases, a screen reader will see both the check box and label elements separately. If we say the name should always be rendered for check boxes, we’ll end up with double cheese: the first instance will be the name of the check box, with the second being the label element itself. Duplication is evil, primarily because it causes excessive verbosity.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Okay, so we choose one of them. But which one?&lt;/div&gt;&lt;h4 id="ignore-the-label-element-obviously-duh-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Ignore the label element, obviously. Duh.&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Perhaps. In fact, WebKit and derivatives choose to strip out the label element altogether as far as accessibility is concerned in some cases. But what about the formatting and other semantic info?&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Let’s try this example in Google Chrome, which has its roots in WebKit:&lt;/div&gt;&lt;pre style="font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;"&gt;&lt;code style="background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;"&gt;&amp;lt;input type="checkbox" id="agree"&amp;gt;&amp;lt;label for="agree"&amp;gt;I agree to the &amp;lt;a href="terms"&amp;gt;terms and conditions&amp;lt;/a&amp;gt;&amp;lt;/label&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;The label element gets stripped out, leaving a check box and a link. If I read this in NVDA browse mode, I get:&lt;/div&gt;&lt;pre style="font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;"&gt;&lt;code style="background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;"&gt;check box not checked, I agree to the terms and conditions, link, Terms and conditions&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Ug. That’s horrible. In contrast, this is what we get in Firefox (where the label isn’t stripped):&lt;/div&gt;&lt;pre style="font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;"&gt;&lt;code style="background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;"&gt;check box not checked, I agree to the, link, Terms and conditions&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Ignoring the label element means we also lose its original position relative to other content. Particularly in tables, this can be really important, since the position of the label in the table might very much help you to understand the structure of the form or aid in navigation of the table.&lt;/div&gt;&lt;h4 id="fine-so-use-the-label-element-and-ignore-the-name-of-the-check-box-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Fine. So use the label element and ignore the name of the check box.&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Great. You just broke this example:&lt;/div&gt;&lt;pre style="font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; font-size: 1em; line-height: 1.2em; margin: 1.2em 0px;"&gt;&lt;code style="background-color: #f8f8f8; border-radius: 3px; border-radius: 3px; border: 1px solid rgb(204, 204, 204); border: 1px solid rgb(234, 234, 234); display: block ! important; display: inline; font-family: Consolas,Inconsolata,Courier,monospace; font-size: 0.85em; margin: 0px 0.15em; overflow: auto; padding: 0.5em 0.7em; padding: 0px 0.3em; white-space: pre-wrap; white-space: pre;"&gt;&amp;lt;div role="checkbox" aria-label="Muahahaha"&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="make-up-your-mind-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Make up your mind!&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;I know, right? The problem is that both of these suck.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;The solution I eventually implemented in NVDA is that for check boxes and radio buttons, if the label is invisible, we do render the name as the content for the check box. Finally, another solid rule.&lt;/div&gt;&lt;h4 id="sweet-and-this-applies-to-other-form-controls-too-yeah-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Sweet! And this applies to other form controls too, yeah?&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Alas, no. The trouble with other form controls like text boxes, list boxes, combo boxes, sliders, etc. is that their label could never be considered their “content”. Their content is the actual stuff entered into the control; e.g. the text typed into a text box.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;If the label is visible, it’s easy: we render the label element and ignore the name of the control. If it isn’t visible, currently, NVDA browse mode doesn’t present it at all.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;To solve this, we need to present the label separately. For a flat document representation such as NVDA browse mode, this is tricky, since the label isn’t the “content” of anything. I think the best solution for NVDA here is to present the name of the control as meta information, but only if the label isn’t visible. I haven’t yet implemented this.&lt;/div&gt;&lt;h4 id="rocking-can-the-label-override-the-content-for-divs-spans-and-table-cells-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Rocking. Can the label override the content for divs, spans and table cells?&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;No, because if it did, again, we’d lose formatting and semantic info. These elements in particular can contain just about any amount of anything. Do we really want to risk losing that much formatting/info? See the Twitter example above for just a taste of what we might lose.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Another problem with this is the title attribute. Remember I mentioned that aria-label/ledby just alters what the browser exposes as the “name”? The problem is that other things can be exposed as the name, too. If there is no other name, the title attribute will be used if present. I’d say it’s quite likely that the title attribute has been used on quite a lot of divs and spans in the wild, perhaps even table cells. If we replaced the content in this case, that would be… rather unfortunate.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;&lt;a href="https://github.com/nvaccess/nvda/issues/5567#issuecomment-161286094"&gt;Some have argued that for table cells, we should at least append the aria-label/ledby&lt;/a&gt;. Aside from the nasty duplication that might result, this raises a new category of use cases: those where the label should be appended to the content, not overide it. With a new category begin the same questions: what are the rules for this category? And would this make sense for all use cases? It certainly seems sketchy to me, and sketchy just isn’t okay here. Again, we need solid, unambiguous rules.&lt;/div&gt;&lt;h4 id="stop-stop-i-just-can-t-take-it-any-more-" style="font-size: 1.2em; font-weight: bold; margin: 1.3em 0px 1em; padding: 0px;"&gt;Stop! Stop! I just can’t take it any more!&lt;/h4&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;Yeah, I hear you. Welcome to my pain! But seriously, I hope this has given some insight into why this stuff is so complicated. It seems so simple when you consider a few use cases, but that simplicity starts to fall apart once you dig a little deeper. Trying to produce “common sense” behaviour for the multitude of use cases becomes extremely difficult, if not downright impossible.&lt;/div&gt;&lt;div style="margin: 0px 0px 1.2em ! important;"&gt;If we want interoperability, we need solid rules. I’m not necessarily suggesting that this be compulsory or prescriptive; different AT products have different interaction models and we also need to allow for preferences and innovation. Right now, though, there’s absolutely nothing.&lt;/div&gt;&lt;/div&gt;</description></item><item><title>Deploying a Flask Web App as a Dynamic uWSGI App with Multiple Threads</title><link>https://www.jantrid.net/2014/05/deploying-flask-web-app-as-dynamic.html</link><pubDate>Fri, 02 May 2014 21:41:00 +1000</pubDate><guid>https://www.jantrid.net/2014/05/deploying-flask-web-app-as-dynamic.html</guid><description>&lt;p&gt;I recently had to deploy a &lt;a href="http://flask.pocoo.org/"&gt;Flask&lt;/a&gt; web app for &lt;a href="http://www.hushlittlebabymusic.com/"&gt;Hush Little Baby Early Childhood Music Classes&lt;/a&gt; (shameless plug) with uWSGI. (Sidenote: Flask + SQLAlchemy + WTForms = awesome.) I ran into an extremely exasperating issue which I thought I'd document here in case anyone else runs into it.&lt;/p&gt;&lt;p&gt;Despite the fact that &lt;a href="http://uwsgi-docs.readthedocs.org/en/latest/DynamicApps.html"&gt;uWSGI recommends that you run a separate instance for each app&lt;/a&gt;, I prefer the dynamic app approach. While i certainly understand why separate instances are recommended, I think per-app instances waste resources, especially when they have a lot of common dependencies, including Python itself. I also set uWSGI to use multiple threads. Unfortunately, with Flask, this is a recipe for disaster.&lt;/p&gt;</description></item><item><title>Josh's First Meaningful "Mum"?</title><link>https://www.jantrid.net/2012/12/joshs-first-meaningful-mum.html</link><pubDate>Wed, 19 Dec 2012 11:17:00 +1000</pubDate><guid>https://www.jantrid.net/2012/12/joshs-first-meaningful-mum.html</guid><description>Josh is fairly clingy with Jen at the moment, especially at night. One evening last week, Jen, Josh and I were all lying in bed, with me cuddling Josh. We were wondering whether Josh would be happy with that this night. Soon after, Josh, who has been babbling mamama for a while now, said with total clarity, "mmmuummm." Surely that was just amusing but unintentional? He doesn't know what Mum means yet. A few seconds later, "mmmmmuuuuummmmm." Right. Even if it was unintentional, how could we resist that? Jen took him and he settled without further protest.</description></item><item><title>Our Lounge Room Entertainment Setup</title><link>https://www.jantrid.net/2012/10/our-lounge-room-entertainment-setup.html</link><pubDate>Tue, 09 Oct 2012 21:21:00 +1000</pubDate><guid>https://www.jantrid.net/2012/10/our-lounge-room-entertainment-setup.html</guid><description>&lt;h4&gt;Introduction&lt;/h4&gt;&lt;p&gt;For a while now, we've had a Samsung LCD TV, Samsung Blueray player and Palsonic PVR in our lounge room, as well as an old 2005 notebook running Windows 7 connected to the TV for watching video files, media on the web, etc. I've recently made some major enhancements to this setup. I think they're pretty cool, cost effective and don't require lots of different devices, so I thought I'd document them here.&lt;/p&gt;</description></item><item><title>Frustrations with NVDA-support</title><link>https://www.jantrid.net/2011/11/frustrations-with-nvda-support.html</link><pubDate>Tue, 22 Nov 2011 21:14:00 +1000</pubDate><guid>https://www.jantrid.net/2011/11/frustrations-with-nvda-support.html</guid><description>Because NVDA is free software, we do not have the resources to provide free, direct technical support to users. Therefore, the &lt;a href="http://lists.nvaccess.org/listinfo/nvda-support"&gt;NVDA-support email list&lt;/a&gt; was set up as "a place where users of the NVDA screen reader are able to ask questions about how to use NVDA".&lt;br /&gt;&lt;br /&gt;A common complaint about mailing lists like this is that they produce a lot of messages. Some users cannot (or do not wish to) handle this high email traffic and therefore end up unsubscribing from the list fairly quickly, thus limiting its usefulness. Instead, users contact us directly or are driven away from the project. When directed to the tracker and email lists, one user who contacted me directly complained about having to "sign up to a thousand lists".&lt;br /&gt;&lt;br /&gt;To combat this, we decided to selectively moderate the list, as full moderation is too time consuming. Users who broke (or bordered on breaking) list rules or otherwise had the potential to generate a lot of unnecessary traffic were moderated. Any post from those users that was irrelevant, unnecessary or might start such a thread was rejected.&lt;br /&gt;&lt;br /&gt;Unfortunately, several users have been unhappy with or even outright offended by this. Today in particular, I rejected a post from a user (previously moderated for an off-topic post) which, while intended to be helpful, provided an incorrect (or at least very indirect) answer which I believed would cause more questions than it answered. No accusation was made, but this user took this very personally and made it clear that he would no longer support the project in any way.&lt;br /&gt;&lt;br /&gt;Another common gripe is that users are often told to read the documentation when they ask questions. If it seems that a user hasn't even tried to read the documentation before asking a question, I do not think this is unwarranted. If they've at least tried and don't understand, this is a different matter entirely. If they don't wish to make the effort to at least try to understand the documentation, they should not expect free support.&lt;br /&gt;&lt;br /&gt;It seems I can't win. I tried to do what I thought best for the NVDA community in limiting the traffic on the list so more users would be encouraged to use it. As a result, I'm accused of being unfair, draconian and ungrateful. Therefore, I've disabled all moderation on the list and I am withdrawing from the list myself for a while. I am done with support for now.</description></item><item><title>Inexcusable Inaccessibility: APC Goalball Coverage</title><link>https://www.jantrid.net/2011/11/inexcusable-inaccessibility-apc.html</link><pubDate>Tue, 15 Nov 2011 22:37:00 +1000</pubDate><guid>https://www.jantrid.net/2011/11/inexcusable-inaccessibility-apc.html</guid><description>Australia are currently hosting the IBSA Africa Oceania Goalball Regional Championships, where both men's and women's teams are playing to qualify for the London 2012 Paralympic Games. Go Australia! :) They've provided a &lt;a href="http://www.paralympic.org.au/games-amp-events/live-stream-goalball-regional-championships/live-stream-goalball-regional-champions"&gt;live internet stream&lt;/a&gt; with commentary, which is fantastic. Unfortunately, the Flash video player they're using is completely inaccessible to screen reader users. (Technically, it uses windowless Flash, which is not accessible.) Worse, the page doesn't even play the video automatically when it opens, which means you have no choice but to use the video player controls. Allow me to emphasise the absolute, inexcusable absurdity of this situation: they are broadcasting a sport for the blind, but the broadcast is inaccessible to blind people.&lt;br /&gt;&lt;br /&gt;Digging through their code, it's not too hard to work around this. I was able to come up with &lt;a href="http://cdn.livestream.com/embed/australianparalympiccommittee?layout=4&amp;amp;height=340&amp;amp;width=560&amp;amp;autoplay=true"&gt;a link which enables auto-play&lt;/a&gt;, so at least it begins playing automatically, avoiding the need to use the video player controls. However, the average user would not have been able to do this themselves.&lt;br /&gt;&lt;br /&gt;Ideally, everything should be accessible to all users. Sometimes, for whatever reasons (valid or not), this isn't possible. When it isn't, at least consider your target audience. If, for example, a large number of them are probably going to be blind, it might just make sense to implement and test accessibility for screen reader users. The APC are using an external service to provide the stream. Regardless, they should have tested and resolved the problem somehow or, at the very least, openly provided a work around such as the one I gave above.&lt;br /&gt;&lt;br /&gt;It's worth noting that Adobe &lt;a href="http://help.adobe.com/en_US/Flash/10.0_UsingFlash/WSd60f23110762d6b883b18f10cb1fe1af6-7c47a.html#WSd"&gt;clearly document that windowless (transparent or opaque) Flash is inaccessible&lt;/a&gt;.</description></item><item><title>Making PennyTel Accessible with Greasemonkey</title><link>https://www.jantrid.net/2011/08/making-pennytel-accessible-with.html</link><pubDate>Tue, 09 Aug 2011 19:03:00 +1000</pubDate><guid>https://www.jantrid.net/2011/08/making-pennytel-accessible-with.html</guid><description>&lt;a href="http://www.pennytel.com/"&gt;PennyTel&lt;/a&gt; is an incredibly cheap VoIP provider serving Australia (among other countries) which I have been using for several years. For the most part, I am fairly happy with them, especially the price. Unfortunately, their customer portal has many accessibility problems, and despite a polite request from me quite some time ago, nothing has been done to rectify this.&#10;&lt;br /&gt;&#10;&lt;br /&gt;The biggest issue is that there are many buttons on the site which are presented using clickable graphics, but they have been marked with @alt="", indicating that the graphics are for visual presentation/layout only and suggesting to screen readers that they shouldn't be presented to the user. Obviously, this is very wrong, since these graphics are buttons which the user might wish to activate. It's bad enough that no text alternative is provided, but specifying empty text is extremely incorrect. With the current version of NVDA, this issue makes the portal practically unusable.&#10;&lt;br /&gt;&#10;&lt;br /&gt;It recently occurred to me that it might be possible to hack around this with &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/"&gt;Greasemonkey&lt;/a&gt;. In short, Greasemonkey is a Firefox add-on which allows you to "customize the way a web page displays or behaves, by using small bits of JavaScript".&#10;&lt;br /&gt;&#10;&lt;br /&gt;This turned out to be a great success. I now have a Greasemonkey script that not only gives friendly labels to many graphic buttons, but also injects ARIA to transform these graphics into buttons. In addition, there are parts of the portal which use graphics to indicate which option has been selected and the script turns these into radio buttons using ARIA. There is a navigation bar where the items are only clickable text, which the script changes into links for quicker navigation using ARIA. Finally, @alt="" is removed from all other clickable graphics which the script doesn't yet know about, which at least allows screen readers to present the graphic using their own algorithms to determine a label. Once the script is installed, this all happens transparently without any special action.&#10;&lt;br /&gt;&#10;&lt;br /&gt;This took me a few hours, though this was mostly because I had never used Greasemonkey and only had a very basic knowledge of JavaScript before. Aside from the fact that PennyTel is now quite usable for me, this is also an exciting demonstration of how accessibility improvements for a site can be "scripted" within the browser like this, independent of any particular screen reader.&#10;&lt;br /&gt;&#10;&lt;br /&gt;If you happen to have a PennyTel account and would find this useful yourself, you can &lt;a href="http://www.jantrid.net/gmScripts/PennyTelA11yFixes.user.js"&gt;grab the script&lt;/a&gt;. I'm sure there are more things I can improve, but this is sufficient to make the site quite usable.</description></item><item><title>Morning Limerick</title><link>https://www.jantrid.net/2011/07/morning-limerick.html</link><pubDate>Mon, 25 Jul 2011 08:36:00 +1000</pubDate><guid>https://www.jantrid.net/2011/07/morning-limerick.html</guid><description>There once was a guy named James Teh&lt;br /&gt;Who disliked the start of the day.&lt;br /&gt;He hated awaking,&lt;br /&gt;Was bored by fast-breaking&lt;br /&gt;And wished it would all go away.</description></item><item><title>Responsibility for Windows Application Accessibility</title><link>https://www.jantrid.net/2011/03/responsibility-for-windows-application.html</link><pubDate>Thu, 03 Mar 2011 11:17:00 +1000</pubDate><guid>https://www.jantrid.net/2011/03/responsibility-for-windows-application.html</guid><description>When an assistive technology (AT) user discovers an application that is inaccessible in some way, they will generally hold one of two parties responsible: the AT developer or the application developer.&lt;br /&gt;&lt;br /&gt;In the Apple world, the application developer is generally responsible for ensuring accessibility. Users don't tend to complain to Apple when an application is inaccessible; they complain to the application developer. More often than not, this is correct. An accessibility framework has been provided to facilitate application accessibility and Apple's assistive technologies utilise this framework, so it's up to the application to fulfil its part of the bargain.&lt;br /&gt;&lt;br /&gt;In contrast, in the Windows world, the AT developer is generally held responsible. In the past, before there were standard, fully functional accessibility frameworks, I guess this was fair to some extent because application developers had no way of making their applications accessible out-of-the-box. As a result, AT developers worked around these problems themselves through application specific scripting and hacks. However, Windows has had standard rich accessibility frameworks such as IAccessible2 and UI Automation for several years now. Therefore, this is no longer an acceptable justification. Despite this, the general expectation still seems to be that AT developers are primarily responsible. For example, we constantly receive bug reports stating that a certain application does not work with NVDA.&lt;br /&gt;&lt;br /&gt;Some might argue another reason for this situation is that application developers have previously been unable to test the accessibility of their applications because of the high cost of commercial ATs. With the availability of free ATs such as &lt;a href="http://www.nvda-project.org/"&gt;NVDA&lt;/a&gt; for several years now, this too is no longer an acceptable excuse.&lt;br /&gt;&lt;br /&gt;So why is this still the case in the Windows world? If it's simply a ghost from the past, we need to move on. Maybe it's due to a desire for competitive advantage among AT vendors, but the mission of improving accessibility and serving users as well as possible should be more important. If it's resultant to poor or incomplete support for standard accessibility frameworks, ATs need to resolve this. Inadequate or missing support for accessibility in GUI toolkits is probably part of the problem. We need to work to fix this. Perhaps it's because of a lack of documentation and common knowledge. In that case, the accessibility/AT industry needs to work to rectify this. Maybe there just needs to be more advocacy about application accessibility. Are there other reasons? I'd appreciate your thoughts.&lt;br /&gt;&lt;br /&gt;Whatever the reasons, I believe it's important that this changes. Proprietary solutions implemented for individual ATs are often suboptimal. Even if this wasn't the case, implementing such solutions in multiple ATs seems redundant and wasteful. Finally, the more applications that are accessible using standard mechanisms, the more users will benefit.</description></item><item><title>My quest for a New Mobile Phone</title><link>https://www.jantrid.net/2011/02/my-quest-for-new-mobile-phone.html</link><pubDate>Tue, 22 Feb 2011 06:39:00 +1000</pubDate><guid>https://www.jantrid.net/2011/02/my-quest-for-new-mobile-phone.html</guid><description>Disclaimer: This is primarily based on my own personal experience. Also, this all happened last year, so some of the finer details are a bit vague now.&lt;br /&gt;&lt;br /&gt;Early last year, my trusty 6 year old Nokia 6600 was finally starting to die and I decided it was past time to move on. (Amusingly, that phone even survived being accidentally dunked in a glass of wine.) My aim was to satisfy all of my portable technology needs with one device, including phone, email, web browser, audio player (standard 3.5 mm audio socket essential), synchronisable calendar, synchronisable contact manager, note taker, ebook reader and portable file storage. And so the quest began.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Making the (First) Choice&lt;/h4&gt;&lt;br /&gt;My ideal mobile platform was Android. Aside from satisfying all of my needs, it is an open, modern platform. Unfortunately, although I seriously entertained the idea, a great deal of research and playing with the Android emulator led me to realise that &lt;a href="https://www.jantrid.net/2010/10/poor-state-of-android-accessibility.html"&gt;Android's accessibility was at an unacceptably poor state&lt;/a&gt; for me.&lt;br /&gt;&lt;br /&gt;I considered the iPhone. I've written about &lt;a href="https://www.jantrid.net/2009/06/new-apple-iphone-accessible-to-blind-my.html"&gt;the iPhone's out-of-the-box accessibility to blind people&lt;/a&gt; before and have played with an iPhone several times since. Although I was pretty impressed, especially by the fact that VoiceOver comes out-of-the-box, there were two major problems with the iPhone for me. First, I dislike the closed nature of the iPhone environment, commonly known as the "walled garden" or "do things Apple's way or not at all". Aside from the principle (you all know I'm a big advocate for openness), I would be unable to play ogg vorbis (my audio format of choice) in iPod, I would have to transfer music and files with iTunes (which I detest), I couldn't use it as a portable file storage device, and I would be limited to apps that Apple permitted (unless I wanted to jailbreak). Second, I wanted a device with a physical keyboard. In the end, I decided against the iPhone.&lt;br /&gt;&lt;br /&gt;I briefly considered another Symbian Series 60 phone. However, based on past experience (both mine and others'), I didn't think I would be able to play audio and use the screen reader simultaneously, which immediately disqualified it for me, although I've since been informed that is no longer true on some newer phones. I also feel it is a dying platform. There are probably some other reasons i discounted it, but i can't remember them now. If nothing else, I wasn't entirely happy with it and wanted a change.&lt;br /&gt;&lt;br /&gt;Finally, I settled on Windows Mobile, specifically the Sony Ericsson Xperia X1, with Mobile Speak. I guess Windows Mobile is a dying platform too, but at the time, I felt it was perhaps less so and provided more functionality for me. While the operating system itself isn't open, you can develop and install apps as you please without being restricted to a single app store. There are several ogg vorbis players for Windows Mobile. I also had the option of buying Mobile Geo for navigation if I wanted to later. I was warned by someone who played with an older phone that Mobile Speak on Windows Mobile was fairly unresponsive, but unable to test this myself, I hoped that it might be better with a less resource intensive voice such as Fonix and/or a newer phone or that I'd get used to it.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Frustration, Pain and Misery&lt;/h4&gt;&lt;br /&gt;A bit less than $800 later, I got my new phone and Mobile Speak in June. I expected and accepted that it would take me some time to get used to it. I loved finally being able to access the internet from my phone and play audio through proper stereo headphones. However, despite this, the next few months were just downright painful and frequently induced rage bordering on violence. I often had the urge to throw my new phone across the room several times a day.&lt;br /&gt;&lt;br /&gt;Primarily, this was due to Mobile Speak. I found it to be hideously unresponsive, unstable, unreliable, inconsistent and otherwise buggy as all hell.&lt;ul&gt;&lt;li&gt;The unresponsiveness proved to be unacceptable for me, often taking around half a second to respond to input and events, even using Fonix. Aside from the general inefficiency this caused, this made reading text incredibly tedious, and despite the physical keyboard, typing was painful due to the slow response to backspace and cursor keys.&lt;/li&gt;&lt;li&gt;Mobile Speak crashed or froze far too often and there was no way to resurrect it without restarting the phone.&lt;/li&gt; &lt;li&gt;In Internet Explorer, working with form controls was extremely inconsistent and unreliable, especially multi-line editable text fields. Quick navigation (moving by heading, etc.) was very slow and failed to work altogether in many cases. On my phone, Google services (including Google Search, even the mobile version, of all things!) refused to render at all.&lt;/li&gt;&lt;li&gt;I encountered problems when reading email as well. Sometimes, Mobile Speak wouldn't render emails. Others, it wouldn't let me navigate to the headers of the email, which is essential if you want to download the rest of a message that hasn't been fully downloaded.&lt;/li&gt;&lt;li&gt;Reading text in Word Mobile was even slower than everywhere else, which made reading ebooks infeasible.&lt;/li&gt;&lt;li&gt;Braille display scrolling is either broken or unintuitive. On my 40 cell display, Mobile Speak only seemed to scroll half the display and I couldn't find a way to change this.&lt;/li&gt;&lt;li&gt;Definitely quite a few other bugs I can't remember all of the details about...&lt;/li&gt;&lt;/ul&gt;It's worth noting that I'm not saying that this is all entirely Mobile Speak's fault. I suspect Windows Mobile and other applications may play a part in this dodginess.&lt;br /&gt;&lt;br /&gt;I had two other major gripes with Mobile Speak.&lt;ul&gt;&lt;li&gt;Despite years of experience with screen readers, I found the Mobile Speak commands, especially the touch interface, to be tedious and difficult to learn. The touch interface is inherently slow to use because you need to wait after certain taps to avoid them being construed as double or triple taps.&lt;/li&gt;&lt;li&gt;Mobile Speak's phone number licensing model was a major annoyance for me when I went overseas for a few days. Mobile Speak allows you to use it with a SIM card with a different number for 12 hours, but you have to reinsert the original SIM card after 12 hours if you want Mobile Speak to continue functioning as a licensed copy. Also, I seem to recall that this also applied if the phone was in airplane mode.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;There were other things that irritated me about my phone and its applications.&lt;ul&gt;&lt;li&gt;I found Windows Mobile in general to be very sluggish. Even something as fundamental to a phone as dialling on the phone keypad or adjusting the volume was incredibly laggy, sometimes taking several seconds to respond to key presses.&lt;/li&gt;&lt;li&gt;Far too many apps, including Google Maps and both of the free ogg vorbis players I tried, had significant accessibility problems.&lt;/li&gt;&lt;li&gt;Windows Media doesn't have support for bookmarking, which made reading audio books infeasible. There was a paid app that provided this and other functionality i wanted, but i wasn't willing to pay for it in case I discovered it too had major accessibility problems.&lt;/li&gt;&lt;li&gt;Windows Mobile doesn't have enough levels on its volume control.&lt;/li&gt;&lt;li&gt;If the phone is switched to silent, all audio is silenced, including Mobile Speak.&lt;/li&gt;&lt;li&gt;Internet Explorer doesn't support tabbed browsing!&lt;/li&gt;&lt;li&gt;Windows Mobile only supports one Exchange Active Sync account, which meant I couldn't maintain separate personal and work calendars.&lt;/li&gt;&lt;li&gt;More...&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;The Snapping Point&lt;/h4&gt;&lt;br /&gt;In the end, after less than 6 months, I just couldn't take it any more. I tried to learn to live with it for at least a couple of years, as I'd already spent so much money on it, but it was truly unbearable. It's worth noting that a close friend of mine had a very similar experience with Windows Mobile and also gave up in equivalent disgust around the same time. It particularly angers me that I paid $315 for a piece of software as buggy as Mobile Speak. I started playing with Jen's iPhone a bit more, and finally, I gave in and got my own.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;The iPhone: Peace at Last&lt;/h4&gt;&lt;br /&gt;For reasons I mentioned above, I felt like I was going to the dark side when I made the decision to switch to the iPhone. Among other things, it's a bit hypocritical of me, given my belief in and advocacy for openness. Nevertheless, I have not looked back once since I got it. It has truly changed my life.&lt;br /&gt;&lt;br /&gt;The in-built accessibility of the iPhone is amazing. I strongly believe that accessibility should not incur an extra cost for the user and Apple have done just that. VoiceOver is very responsive. Usage is fairly intuitive. All of the in-built apps and the majority of third party apps are accessible. Once you get used to it and start to remember where things are on the screen, navigating with the touch screen becomes incredibly efficient. The support for braille displays is excellent; I can see this being very useful next time I need to give a presentation. The triple-click home feature means that I can even toggle VoiceOver on Jen's phone when needed, which has been really useful for us when she is driving and needs me to read directions.&lt;br /&gt;&lt;br /&gt;I still hate iTunes, but thankfully, I rarely have to use it. I manage music and other audio on my phone using the &lt;a href="http://yuo.be/ipod.php"&gt;iPod manager&lt;/a&gt; component for my audio player, &lt;a href="http://www.foobar2000.org/"&gt;foobar2000&lt;/a&gt;, which is excellent and even transcodes files in unsupported formats on the fly. The iPod app is great, supporting gapless playback for music and automatic bookmarks for audio books and podcasts.&lt;br /&gt;&lt;br /&gt;Other highlights:&lt;ul&gt;&lt;li&gt;Very nice email and web browsing experience.&lt;/li&gt;&lt;li&gt;Push notifications for mail, Twitter, Facebook and instant messaging.&lt;/li&gt;&lt;li&gt;Multiple calendars.&lt;/li&gt;&lt;li&gt;Skype on my phone, which is far nicer than being tied to my computer when on a Skype call.&lt;/li&gt;&lt;li&gt;Voice control, which works well most of the time.&lt;/li&gt;&lt;li&gt;Smooth reading of ebooks using iBooks.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Resultant to all of this, I find I spend far less time in front of my computer outside of work hours. Also, when I'm away from home, even on holiday for a week, I often just take my phone. Previously, I had to take my notebook almost everywhere.&lt;br /&gt;&lt;br /&gt;Like all things, the iPhone isn't perfect. I still dislike the walled garden, and I have to live with transcoded audio and can't use my iPhone as a USB storage device because of it. I am definitely slower at typing on the iPhone than I was on the numeric keypad on my old Nokia 6600, although perhaps surprisingly, I'm probably faster on the iPhone than I was on the Xperia X1. There are definitely bugs, some of which I encounter on a daily basis and are very annoying.&lt;br /&gt;&lt;br /&gt;Even so, I love the iPhone. I'm willing to make some sacrifices, and I can live with bugs that are at least consistent and easy enough to work around. On the rare occasions that VoiceOver crashes, I can easily restart it with a triple click of the Home button. I wish I'd gone for the iPhone in the first place and not wasted so much money on the Windows Mobile solution, but ah well, live and learn.</description></item><item><title>Brilliant Email</title><link>https://www.jantrid.net/2011/02/brilliant-email.html</link><pubDate>Tue, 15 Feb 2011 08:29:00 +1000</pubDate><guid>https://www.jantrid.net/2011/02/brilliant-email.html</guid><description>The following email sent to NV Access administration yesterday is an amazing mastery of politeness, eloquence, intellect and linguistic ability. I've reproduced it verbatim below, except for the obfuscation of some words for reasons that will become clear as you read. Enjoy!&lt;br /&gt;&lt;blockquote&gt;From: Dave. I lost my cookie at the disco. &amp;lt;computerguy125@****&amp;gt;&lt;br /&gt;To: admin@****&lt;br /&gt;Date: Sun, 13 Feb 2011 23:40:16 -0500&lt;br /&gt;Subject:&lt;br /&gt;&lt;br /&gt;hEY MOTHER F****R YOU SCREWED UP MY LAPTOP.  fIX YOUR SCREEN READER.  bLIND ASS MOTHER F****R.  f***ING BLINKY.  cHANGE YOUR SHORTCUT KEY SO IT DOESN'T CONFLICT WITH SYSTEM ACCESS TOO.  yOU DON'T KNOW THAT THEN LOOK IT UP.  mOTEHR F****R.&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Email services provided by the System Access Mobile Network.  Visit www.serotek.com to learn more about accessibility anywhere.&lt;/blockquote&gt;</description></item><item><title>The Poor State of Android Accessibility</title><link>https://www.jantrid.net/2010/10/poor-state-of-android-accessibility.html</link><pubDate>Thu, 28 Oct 2010 03:38:00 +1000</pubDate><guid>https://www.jantrid.net/2010/10/poor-state-of-android-accessibility.html</guid><description>The Android mobile platform really excites me. It is open (which cannot be said of the iPhone) and is incredibly successful in many respects. I would almost certainly choose an Android phone... except for the poor state of Android accessibility.&lt;br /&gt;&lt;br /&gt;Note: I will primarily discuss access for blind users here, since that is what I am most familiar with. However, some of this applies to other disabilities as well.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;In the Beginning&lt;/h4&gt;&lt;br /&gt;In the beginning, there was no accessibility whatsoever in Android. It would have made sense to design it from the start with accessibility in mind, which would have made it much easier, but as is sadly so often the case, this wasn't done. Nevertheless, many other platforms have managed to recover from this oversight, some with great success.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Eyes-Free Project&lt;/h4&gt;&lt;br /&gt;Then came the &lt;a href="http://code.google.com/p/eyes-free/"&gt;Eyes-Free Project&lt;/a&gt;, which created a suite of self-voicing applications to enable blind users to use many functions of the phone. Requiring blind users to use these special applications limits the functionality they can access and completely isolates them from the experience of other users. This is just a small step away from a device designed only for blind users. I guess this is better than nothing, but in the long-term, this is unacceptable.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Integrated Accessibility API and Services&lt;/h4&gt;&lt;br /&gt;With the release of Android 1.6 came an &lt;a href="http://developer.android.com/reference/android/view/accessibility/package-summary.html"&gt;accessibility API&lt;/a&gt; integrated into the core of Android, as well as a screen reader (Talkback) and other accessibility services. A developer outside Google also began working on a screen reader called &lt;a href="http://spielproject.info/"&gt;Spiel&lt;/a&gt;. This meant that blind users could now access standard Android applications just like everyone else.&lt;br /&gt;&lt;br /&gt;Unfortunately, the Android accessibility API is severely limited. All it can do is send events when something notable happens in the user interface. An accessibility service such as a screen reader can query these events for specific information (such as the text of an object which has been activated), but no other interaction or queries are possible. This means it isn't possible to retrieve information about other objects on the screen unless they are activated, which makes screen review impossible among other things. Even the now very dated Microsoft Active Accessibility (the core accessibility API used in Windows), with its many limitations and flaws, allows you to explore, query and interact with objects.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Inability to Globally Intercept Input&lt;/h4&gt;&lt;br /&gt;In addition, it is not possible for an accessibility service to globally intercept presses on the keyboard or touch screen. Not only does this mean that an accessibility service cannot provide keyboard/touch screen commands for screen review, silencing speech, changing settings, etc., but it also makes touch screen accessibility for blind users impossible. A blind user needs to be able to explore the touch screen without unintentionally activating controls, which can't be done unless the screen reader can provide special handling of the touch screen.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Inaccessible Web Rendering Engine&lt;/h4&gt;&lt;br /&gt;The web rendering engine used in Android is inaccessible. In fact, it's probably impossible to make it accessible at present due to Android's severely limited accessibility framework, as a user needs to be able to explore all objects on a web page. This means that the in-built web browser, email client and most other applications that display web content are inaccessible. This is totally unacceptable for a modern smart phone.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;IDEAL Apps4Android's Accessible Email Client and Web Browser&lt;/h4&gt;&lt;br /&gt;&lt;a href="http://apps4android.org/"&gt;IDEAL Apps4Android&lt;/a&gt; released both an accessible email client and web browser. The accessibility enhancements to the K9 email client (on which their application is based) have since been incorporated into K9 itself, which is fantastic. However, access to the web still requires a separate "accessible" web browser. While other developers can also integrate this web accessibility support into their applications, it is essentially a set of self-voicing scripts which need to be embedded in the application. This is rather inelegant and is very much "bolt-on accessibility" instead of accessibility being integrated into the web rendering engine itself. This isn't to criticise IDEAL: they did the best they could given the limitations of the Android accessibility API and should be commended. Nevertheless, it is an unsatisfactory situation.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;More "Accessible" Apps&lt;/h4&gt;&lt;br /&gt;There are quite a few other applications aside from those mentioned above that have been designed specifically as "accessible" applications, again isolating disabled users from the normal applications used by everyone else. Again, this isolating redundancy is largely due to Android's severely limited accessibility framework.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Solution&lt;/h4&gt;&lt;br /&gt;Unfortunately, even though Android is open source, solving this problem is rather difficult for people outside the core Android development team because it will require changes to the core of Android. The current accessibility framework needs to be significantly enhanced or perhaps even redesigned, and core applications need to take advantage of this improved framework.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Conclusion&lt;/h4&gt;&lt;br /&gt;While significant headway has been made concerning accessibility in Android 1.6 and beyond, the situation is far from satisfactory. Android is usable by blind users now, but it is certainly not optimal or straightforward. In addition, the implementation is poorly designed and inelegant. This situation is only going to get messier until this problem is solved.&lt;br /&gt;&lt;br /&gt;I find it extremely frustrating that Android accessibility is in such a poor state. It seems that Google learnt nothing from the accessibility lessons of the past. This mess could have been avoided if the accessibility framework had been carefully designed, rather than the half-done job we have now. Good, thorough design is one of the reasons that iPhone accessibility is so brilliant and "just works".</description></item><item><title>Why Can't Microsoft Build a Screen Reader into Windows?</title><link>https://www.jantrid.net/2010/09/why-cant-microsoft-build-screen-reader.html</link><pubDate>Fri, 03 Sep 2010 12:02:00 +1000</pubDate><guid>https://www.jantrid.net/2010/09/why-cant-microsoft-build-screen-reader.html</guid><description>As Windows screen reader users will know, there is no screen reader included in Windows. Instead, users requiring a screen reader must obtain and install a third party product. Yes, there is Microsoft Narrator, but even Microsoft know that this is hardly worthy of the name "screen reader". :)&lt;br /&gt;&lt;br /&gt;A few years ago, Apple revolutionised the accessibility industry by building a fully fledged screen reader, VoiceOver, right into Mac OS X. Ever since, many have asked why Microsoft can't do the same for Windows. Many are angry with Microsoft for this continued lack of built-in accessibility, some using it as support for the "why Apple is better than Microsoft" argument.&lt;br /&gt;&lt;br /&gt;Here's some food for thought. I'm not sure Microsoft could do this even if they wanted to; their hands are probably tied in a legal sense. If they did, they could very likely be sued by assistive technology vendors for anti-competitive conduct, just as they have been &lt;a href="https://www.jantrid.net/2009/06/eu-objections-to-microsofts-bundling-of.html"&gt;sued several times concerning their bundling of Internet Explorer with Windows&lt;/a&gt;. Once again, Apple don't have to be concerned with this because there wasn't an existing screen reader on Mac OS X and they don't have the dominant position in the market.&lt;br /&gt;&lt;br /&gt;I have no evidence for this argument. Perhaps I'm wrong, but history suggests that it is highly likely that I'm not.&lt;br /&gt;&lt;br /&gt;Even as one of the lead developers of NVDA, I'm first and foremost a blind user who wants the best possible access, both for myself and other blind users. As such, I would very much welcome a screen reader built into Windows. Competition is good. A built-in screen reader doesn't mean that other screen readers can't exist. If the built-in solution were good enough, then there would be no need for NVDA to exist. If it weren't, NVDA would drive accessibility to improve through innovation and competition.</description></item><item><title>Using Touch Sensitive Buttons on Modern Notebooks without Sight</title><link>https://www.jantrid.net/2010/01/using-touch-sensitive-buttons-on-modern.html</link><pubDate>Sun, 31 Jan 2010 07:43:00 +1000</pubDate><guid>https://www.jantrid.net/2010/01/using-touch-sensitive-buttons-on-modern.html</guid><description>Many (perhaps the majority of) notebook/laptop computers now have a strip of touch sensitive keys above the normal keyboard. These keys are not tactile in any way and, depending on the computer, provide such things as multimedia controls (volume, mute, play, stop, etc.), toggles for wireless radios and other special functions. I've always been concerned about how I would access such controls without any sight. Unfortunately, in my search for a new mnotebook, all of the notebooks which interested me included them, so I decided to just live with it. I bought an Acer Aspire 3935 which, among other things, has touch sensitive keys to toggle bluetooth and wifi. I began to ponder ways to place some sort of tactile marker on or near these keys so I can find them. However, it recently occurred to me that there's already a perfectly good tactile locator for these keys: the function keys on the normal keyboard, which lie immediately beneath the touch sensitive strip. For example, on my computer, the key for toggling bluetooth is just above the f11 key, so all I have to do is locate the f11 key and move my finger directly up to hit the bluetooth toggle key. This is blindingly obvious in hindsight, but well... hindsight is a wonderful thing. :) Of course, sighted assistance may be required initially to find the keys if trial and error is insufficient.</description></item><item><title>Wedding Reflections</title><link>https://www.jantrid.net/2010/01/wedding-reflections.html</link><pubDate>Mon, 25 Jan 2010 12:11:00 +1000</pubDate><guid>https://www.jantrid.net/2010/01/wedding-reflections.html</guid><description>On Saturday, 12 December 2009, Jen and I got married. :) The wedding was perfect; I could not have asked for anything more. First, my groomsmen were fantastic and I had a great time getting ready with them. The ceremony was absolutely beautiful; there were a lot of happy tears in the chapel. Although I knew all of the music and had spent time arranging and rehearsing it, this was the time for me to just open my mind and heart, to exist entirely in the moment, to truly listen to and feel its meaning. Every word of the ceremony - the celebrant's sections, the music, the reading and the vows - was sincere and deeply significant to us. The reception was very enjoyable and memorable, especially the speeches, all of which were terrific and touching.&lt;br /&gt;&lt;br /&gt;Throughout the wedding, I was quite proud and happy to be the centre of attention alongside Jen. :) I was truly humbled and awed by the love and respect for us that everyone - our family and friends - showed. And of course, the whole point of all of this was that Jen and I were publicly declaring our love for each other and intent to be together for the rest of our lives.&lt;br /&gt;&lt;br /&gt;The wedding also helped me on a personal level in ways I had not expected. I am a self-critical perfectionist by nature, sometimes to an almost self-destructive extent. I waste so much time regretting, wishing I could do things better and worrying about both the past and future that I almost miss out on the present. Nothing I do is ever good enough for me. However, the wedding was a transcendental experience and helped me to see beyond this. I have made many mistakes, I've downright failed sometimes, but I realised that my path, with all of its ups and downs, had led me to this moment and I wouldn't change it for the world. If I'd found such happiness and love and earnt the respect of so many, especially Jen :), I must have done something right overall. It has left me with a lasting, wonderous sense of clarity, relief, peace, contentment and confidence. I have a great deal to live and learn, but I am who and where I want to be. Now I just have to try to take this state of mind into the new year and beyond. :)</description></item><item><title>Honeymoon, Part 9 (unfinished)</title><link>https://www.jantrid.net/2010/01/honeymoon-part-9-unfinished.html</link><pubDate>Thu, 14 Jan 2010 06:40:00 +1000</pubDate><guid>https://www.jantrid.net/2010/01/honeymoon-part-9-unfinished.html</guid><description>Note: This post has been floating around on my computer for years, but I never did finish it. I've decided to just post it in its incomplete form; something is better than nothing. :)&#10;&lt;br /&gt;&#10;&lt;br /&gt;Jamie: The last destination of our honeymoon was Kuala Lumpur, Malaysia. Aside from breaking up our long flight back to Australia, we wanted to catch up with some of my relatives: my Uncle Jerry, Auntie Janet and Dad's cousin S.Y. Upon arriving in KL, we were picked up by my uncle and aunt, who (very generously) drove us to our hotel, also giving us a brief tour of KL on the way. KL is a city that never seems to sleep. It is incredibly well lit at night. Most shops don't close until 10pm, some even later. The city is busy with people on the streets and in shops even late on a weekday evening.&#10;&lt;br /&gt;&#10;&lt;br /&gt;The 5 star Traders Hotel where we stayed was absolutely fantastic and incredibly well priced. Located in the heart of the new city centre, it was walking distance from everything we wanted to visit.&#10;&lt;br /&gt;&#10;&lt;br /&gt;The first thing we did after emerging from our room on Tuesday morning was to find some brunch. Both Dad and Uncle Jerry recommended that we visit the food court in the Pavilion, which is a huge shopping centre. And wow, what a food court it was, sprawling across most of one level of the complex. Food in Malaysia is so damned cheap and so delicious. Among other things, we had Malaysian satay, which is just incredible and miles above the satay one gets in Australia.&#10;&lt;br /&gt;&#10;&lt;br /&gt;Later in the day, we visited KL's acquarium, located in the KL Convention Centre. Although much of the display was obviously visual and informational, but there were also three touch pools. I was able to touch a little shark, a stingray, a horse-shoe crab and a sea cucumber, all of which were fascinating. The most bizarre was definitely the last, which was just... squishy. You can literally squish it in your hand; it's a little creepy.&#10;&lt;br /&gt;&#10;&lt;br /&gt;On Wednesday, we met my aunt and uncle again, along with S.Y. I've never met S.Y. before, despite having heard a lot about her over the years, so it was nice to finally meet her. After spending a very nice hour or so chatting at the hotel, during which we had to call hotel staff to rescue Auntie Janet from the bathroom due to a broken lock :), we went to lunch at a restaurant specialising in Penang food and ate a hell of a lot of it. We were introduced to two delicious side dishes and desserts which I've never had or seen before in Australia, all of which I will miss.&#10;&lt;br /&gt;&#10;&lt;br /&gt;On a random impulse, Uncle Jerry, Jen and I decided to visit the music science section of KL's science centre. ...&#10;&lt;br /&gt;&#10;&lt;br /&gt;As I write this, I'm on the plane back to Australia. The honeymoon is over. I'm a little sad, but also glad to be coming home and looking forward to seeing everyone again. It has been a fantastic and memorable trip. We really have had the time of our lives.</description></item><item><title>Honeymoon, Part 8 (unfinished)</title><link>https://www.jantrid.net/2010/01/honeymoon-part-8-unfinished.html</link><pubDate>Thu, 14 Jan 2010 06:25:00 +1000</pubDate><guid>https://www.jantrid.net/2010/01/honeymoon-part-8-unfinished.html</guid><description>Note: This post has been floating around on my computer for years, but I never did finish it. I've decided to just post it in its incomplete form; something is better than nothing. :)&#10;&lt;br /&gt;&#10;&lt;br /&gt;Jamie: Our journey from Florence to Cork in Ireland was extremely long, boring and tedious. We left our hotel in Florence at around 6am and didn't arrive at our hotel in Cork until nearly 10pm. Our train from Florence to Rome was running late, so we were worried we'd miss our plane to Dublin, but thankfully, we made it in time. Due to icy roads, we were told it was going to be extremely difficult to get a cab to the hotel, but thankfully, we were okay there, too. These are yet another couple of proverbial travel related bullets we've dodged this trip. We also found out that the weather in Cork was uncharacteristically cold. Soon after, we started hearing endless talk about the "big freeze" on the news. :)&#10;&lt;br /&gt;&#10;&lt;br /&gt;Our hotel in Cork, The Ambassador, was a very nice hotel indeed, probably the best of the trip so far. This was quite fortuitous, as we spent a considerable amount of time there, partly because we wanted to lie around and relax a bit and also because of the icy roads and extreme cold at night. It resides on a hill, which afforded Jen a spectacular view of the city from our room.&#10;&lt;br /&gt;&#10;&lt;br /&gt;We both very much enjoyed the atmosphere of Cork. Everyone we met was extremely warm, friendly and helpful. Of course, there was an abundance of Irish pubs. On our first day, we stopped at a pub for a cup of hot port and one of hot whisky. Yum! (I love warm alcoholic beverages.)&#10;&lt;br /&gt;&#10;&lt;br /&gt;On our last day there, we took a bus to Blarney, a very small town about 15 minutes drive from Cork. Its prominent feature is Blarney Castle. ...</description></item><item><title>Honeymoon, Part 7.</title><link>https://www.jantrid.net/2010/01/honeymoon-part-7.html</link><pubDate>Wed, 13 Jan 2010 13:10:00 +1000</pubDate><guid>https://www.jantrid.net/2010/01/honeymoon-part-7.html</guid><description>&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0316.JPG" alt="" id="BLOGGER_PHOTO_ID_5426063993925550162" border="0"&gt;&#10;&lt;br /&gt;Jamie: We had a pretty quiet new year's day, having slept rather badly due to the insane, spectacular, long-lasting fireworks and other celebration the previous night.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0250.JPG" alt="" id="BLOGGER_PHOTO_ID_5426056945616037586" border="0"&gt;&lt;font style="font-style: italic;"&gt;The view out of our window just bef&lt;/font&gt;&lt;font style="font-style: italic;"&gt;ore midnight. Everyone was moving toward Piazza del Popolo to watch the fireworks - but we had a great view from the hotel.&lt;/font&gt;&#10;&lt;br /&gt;&lt;/div&gt;&#10;&lt;br /&gt;Before leaving Rome, we visited the Spanish Steps and the Trevi Fountain. We didn't walk all the way up the Spanish Steps due to major crowding, but we did walk about half way up. I was fascinated to see such a long, wide set of steps. There are no turns; it just goes straight up with landings in between. It was difficult for me to get a true sense of the Trevi Fountain, as much of it was out of my reach, but its width, its length and the volume of water cascading therein was pretty spectacular.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0273.JPG" alt="" id="BLOGGER_PHOTO_ID_5426057498298922546" border="0"&gt;&#10;&lt;br /&gt;&lt;font style="font-style: italic;"&gt;The beautiful Trevi Fountain.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;I've been researching the various places before or soon after we visited them. Associating the history with the real thing is quite fascinating.&#10;&lt;br /&gt;&#10;&lt;br /&gt;We arrived in Florence on Saturday afternoon. Over a half bottle of wine in the hotel bar, we saw a brochure for a tour company called FunInTuscany which does wine tours and Tuscan cooking classes, among other things. We'd wanted to do something like this while in Europe, but hadn't had any luck booking such before we left. Tours were either hideously over-priced or unavailable at this time of year, so we'd pretty much given up on being able to do it. We called FunInTuscany and were delighted when we discovered that we were able to book a combined wine tour and cooking class for the next day.&#10;&lt;br /&gt;&#10;&lt;br /&gt;It turned out to be probably the best day of our honeymoon. After a rocky start (we couldn't find the meeting point and were worried we'd miss the tour), we found the tour van, were introduced to our guide and began our journey. Aside from us, there were only two others on the tour.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0279.JPG" alt="" id="BLOGGER_PHOTO_ID_5426057794647143330" border="0"&gt;&#10;&lt;br /&gt;&lt;font style="font-style: italic;"&gt;In the van on the way to San Gimignano. We were excited!&#10;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&#10;&lt;br /&gt;The first leg of the journey was about a 40 minute drive. Our first stop was San Gimignano, a small, walled medieval town.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0282.JPG" alt="" id="BLOGGER_PHOTO_ID_5426057997942109874" border="0"&gt;&#10;&lt;br /&gt;&lt;font style="font-style: italic;"&gt;San Gimignano from a distance.&#10;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&#10;&lt;br /&gt;Its 13th century medieval architecture is incredibly well preserved. I was able to get a good sense of this; it just "feels" very old, with its worn, solid stone walls, cobbled streets and frequent narrow alleyways. We spent about 45 minutes there, during which we became more familiar with our guide, who was extremely warm and friendly.&#10;&lt;br /&gt;&#10;&lt;br /&gt;After leaving the town, we drove to the country villa where we were to have our cooking class. &lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0305.JPG" alt="" id="BLOGGER_PHOTO_ID_5426062743289034274" border="0"&gt;This is where the real fun began. We were introduced to our very friendly chef/instructor (and his mother, who also helped out) and a few minutes later, our lesson began.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yc4WLP6MjGk/S00-zN7tmPI/AAAAAAAAAIc/1w9X1JOi8s8/s1600-h/IMG_0302.JPG"&gt;&#10;&lt;br /&gt;&lt;/a&gt;&#10;&lt;br /&gt;&lt;font style="font-style: italic;"&gt;&#10;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&#10;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0288.JPG" alt="" id="BLOGGER_PHOTO_ID_5426059675674454914" border="0"&gt;&lt;font style="font-style: italic;"&gt;Jamie, the chef.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;/font&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0289.JPG" alt="" id="BLOGGER_PHOTO_ID_5426059955003541234" border="0"&gt;&#10;&lt;br /&gt;&lt;font style="font-style: italic;"&gt;The ingredients.&lt;/font&gt;&#10;&lt;br /&gt;&lt;/div&gt;&#10;&lt;br /&gt;First, we were taught how to make pici pasta from scratch. This was interesting, very much hands-on and much simpler than I had expected once you have the basic idea. I knew that fresh pasta was basically dough, but somehow, i hadn't imagined that making and manipulating it would be just like any other dough. Also, I've never had or heard of pici pasta before.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0291.JPG" alt="" id="BLOGGER_PHOTO_ID_5426060145326606738" border="0"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0293.JPG" alt="" id="BLOGGER_PHOTO_ID_5426060374064347730" border="0"&gt;&lt;font style="font-style: italic;"&gt;Rolling the pasta.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&#10;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0304.JPG" alt="" id="BLOGGER_PHOTO_ID_5426061070640631698" border="0"&gt;&lt;font style="font-style: italic;"&gt;Our home-made pasta.&lt;/font&gt;&#10;&lt;br /&gt;&lt;/div&gt;&#10;&lt;br /&gt;&#10;&lt;br /&gt;After this, we made two pasta sauces, one tomato-based and one cheese-based.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0294.JPG" alt="" id="BLOGGER_PHOTO_ID_5426060703850536450" border="0"&gt;&#10;&lt;br /&gt;&lt;font style="font-style: italic;"&gt;Making the sauces.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;/font&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0300.JPG" alt="" id="BLOGGER_PHOTO_ID_5426061559941252994" border="0"&gt;&lt;font style="font-style: italic;"&gt;Our master-chef teacher, Fuglio.&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;/font&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0301.JPG" alt="" id="BLOGGER_PHOTO_ID_5426061855726055554" border="0"&gt;&lt;font style="font-style: italic;"&gt;His mama.&lt;/font&gt;&#10;&lt;br /&gt;&lt;font style="font-style: italic;"&gt;&#10;&lt;br /&gt;&lt;/font&gt;We learnt that Tuscans use a hell of a lot of extra virgin olive oil in their cooking. :) We used cayenne pepper in both of the sauces, which is something we've never used ourselves before and discovered that we quite like. Subsequently, we made a salad which, among other things, includes crumbled three day old bread soaked in water!&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0298.JPG" alt="" id="BLOGGER_PHOTO_ID_5426063145467575186" border="0"&gt;&#10;&lt;br /&gt;We then made two kinds of bruschetta, as well as preparing three kinds of cheese with various accompaniments. One of the cheeses was covered in honey, sultanas, pine nuts and freshly ground nutmeg. Yum! Finally, we observed the preparation of chicken which would later be cooked in a sauce primarily consisting of orange juice.&#10;&lt;br /&gt;&lt;/div&gt;&#10;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0302.JPG" alt="" id="BLOGGER_PHOTO_ID_5426062175685679346" border="0"&gt; &lt;font style="font-style: italic;"&gt;The gorgeous table setting.&lt;/font&gt;&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;/div&gt;After quite a bit of socialising and a glass of red wine while we waited for our guide and his friend to return, we proceeded to eat. The food was delicious. In particular, the salad was divine; I've never had anything like it before. I also very much enjoyed the cheeses, particularly the one accompanied with honey, sultanas, etc.; I do like cheese, but especially like it with nice accompaniments. Each course was accompanied by a different wine. It was a long, lingering, social lunch - the best kind! Overall, I was thoroughly impressed by the fruits of our labour, though of course we had our instructors observing and making corrections as we worked. Whether we can replicate it by ourselves remains to be seen. :)&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0309.JPG" alt="" id="BLOGGER_PHOTO_ID_5426062923627883746" border="0"&gt;&#10;&lt;br /&gt;&lt;font style="font-style: italic;"&gt;Garlic and oil bruschetta. Mmm, garlic and oil...&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;/font&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0310.JPG" alt="" id="BLOGGER_PHOTO_ID_5426063379522376546" border="0"&gt;&lt;font style="font-style: italic;"&gt;Tomato bruschetta and three kinds of cheese.&lt;/font&gt;&#10;&lt;br /&gt;&#10;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-13-IMG_0311.JPG" alt="" id="BLOGGER_PHOTO_ID_5426063745317838770" border="0"&gt;&lt;font style="font-style: italic;"&gt;Our wet bread salad.&lt;/font&gt;&#10;&lt;br /&gt;&lt;/div&gt;&#10;&lt;br /&gt;Jen: So that we didn't have to remember all the recipes, our lovely chef made us a cookbook to take home.&#10;&lt;br /&gt;&#10;&lt;br /&gt;Following lunch, our guide spontaneously took us up onto a big hill on the property to have a glass of wine. The view was spectacular, and it was such a perfect, clear day. (Jamie: There's nothing quite like fresh, crisp air in the middle of the peaceful, quiet countryside.)&#10;&lt;br /&gt;&#10;&lt;br /&gt;We then went to a local winery for a little tour and some tasting. The white wine there was spectacular, so we bought a bottle to drink the next day - pretty much the only white we've had over here. (Jamie: It, along with most of the other wines, only cost 5 Euro. 5 Euro! So cheap! I wish we could have brought some home with us.) We returned back to our hotel in high spirits, and received some exciting news the next day - Jamie's sister Ro was in labour! The beautiful Siena Rose Scott was born on 5th January at about 2.15am AEST, weighing in at 7 lbs 7 oz.&#10;&lt;br /&gt;&#10;&lt;br /&gt;</description></item><item><title>Honeymoon: Random Ramblings</title><link>https://www.jantrid.net/2010/01/honeymoon-random-ramblings.html</link><pubDate>Tue, 12 Jan 2010 18:10:00 +1000</pubDate><guid>https://www.jantrid.net/2010/01/honeymoon-random-ramblings.html</guid><description>Sorry for the lack of posts. This has been due to poor internet access and perhaps a tiny bit of laziness. :) For now, here are just a few random ramblings that have been bubbling around in my head during the trip but which I neglected to mention in previous posts.&lt;br /&gt;&lt;br /&gt;I had always imagined that communicating in a country where you have little to no grasp of the native language would be somewhat visual in nature, but I don't think the full extent of that reality hit me until I actually lived it. Jen did quite a lot of pointing, other body language, reading signs and menus, etc. in order to communicate. I'm curious to know how other totally blind folks have coped without knowing the language of their destinations while traveling. Of course, one solution is to try to learn the language to at least a basic level prior to traveling; i.e. a little more than hello, goodbye, thanks, do you speak English, basic counting and a few other words. This is something I hope to have time to do before I next venture overseas.&lt;br /&gt;&lt;br /&gt;Smoking seems to be a hell of a lot more prevalent in Europe than it is in Australia. There's still quite a bit of smoking in Australia, but there just seemed to be so much more smoking in Europe, particularly in France and Italy.&lt;br /&gt;&lt;br /&gt;We encountered an ATM with a qwerty keyboard in Italy! The only use for this that I can come up with is passwords with alphanumeric characters instead of just a numeric PIN, but I suspect it isn't used this way. I can't fathom any other use for this. I'm very curious to know whether it is ever used and, if so, how.&lt;br /&gt;&lt;br /&gt;Venice's lack of land traffic really was very different and fascinating. It felt very strange (and quite pleasant) not to have to listen to busy traffic, wait for cars, cross roads, etc. The "streets" in Venice were mostly just alleyways, some of them very narrow at that.&lt;br /&gt;&lt;br /&gt;It seems that many street sidewalks in Italy are extremely narrow, in some cases virtually non-existent! This is rather frustrating for those of us who require sighted guide, which can be quite challenging on a narrow sidewalk, especially when others are trying to pass at the same time.&lt;br /&gt;&lt;br /&gt;Wine is so cheap in France and Italy! (I assume this is also the case in many other European countries.) Generally, even at a relatively good restaurant, a glass of house wine costs around €2 to €4. Furthermore, rather than being average as is often the case in Australia, the house wine was almost always good (and sometimes excellent), at least according to our palates. It was also great to see Australian wine on several wine lists during our travels.&lt;br /&gt;&lt;br /&gt;Dogs seem to be allowed and taken everywhere in Europe, even in some hotels and restaurants! We frequently saw dogs being walked in the streets throughout our travels, which is pretty cool. I wondered about issues caused by bad dog behaviour, but we never saw any problems, apart from the occasional short barking match.&lt;br /&gt;&lt;br /&gt;The pedestrian traffic in Rome was absolutely insane. On some roads, people just amble along, often standing in the middle of the road calmly having a conversation, barely moving at all when a car needs to get through. Moving through the massive crowds was slow and tedious enough on foot, let alone in a cab!&lt;br /&gt;&lt;br /&gt;The cobbled streets in Rome were certainly a different experience. We encountered cobbled streets in other parts of Europe as well, but nowhere near as many as in Rome. Some of the sidewalks in Rome were also cobbled. They just feel so different under foot and vehicles even sound different as they pass over them.</description></item><item><title>Honeymoon, Part 6: Happy New Year!</title><link>https://www.jantrid.net/2010/01/honeymoon-part-6-happy-new-year.html</link><pubDate>Fri, 01 Jan 2010 03:40:00 +1000</pubDate><guid>https://www.jantrid.net/2010/01/honeymoon-part-6-happy-new-year.html</guid><description>Happy New Year!&lt;br /&gt;&lt;br /&gt;We're just spending some time in our hotel room before we go out and celebrate Roman New Year (as I like to call it). The cool part of this is that we got to call our families at Australian New Year time. It's like two New Years in one! In a display of solidarity with the Australian revellers (or gluttony, maybe?) we have cracked open a bottle of wine and bought a bunch of chips, nuts and lollies which we've been grazing on for the last few hours. I'm going to have to summon every Chinese bone in my body (I like to think that now that I'm a Teh I have Asian heritage) to assist me in soldiering on through the thousand-course dinner we have booked for a few hours time.&lt;br /&gt;&lt;br /&gt;So yes, we're in Rome, and have been for a few days now. We're staying at the Hotel del Corso, which is right on Via del Corso, one of the main streets in the heart of Rome. The great thing about this is that we walk out the front door and straight into the city. The bad thing (especially for Jamie) is the crowds. Here is a picture of the current view from our window (about 6pm on New Year's Eve) - it's very mild right now. Usually we have to squeeze our way through massive crowds outside.&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0250.JPG" alt="" id="BLOGGER_PHOTO_ID_5421460905898018770" border="0" /&gt;&lt;br /&gt;So apart from the usual eating and drinking..&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0190.JPG" alt="" id="BLOGGER_PHOTO_ID_5421457508319883650" border="0" /&gt;&lt;span style="font-style: italic;"&gt;Us eating gelati in the middle of a European Winter night. Idiots.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;...we have been doing a bit of sightseeing and shopping. We went to the Colosseum...&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0201.JPG" alt="" id="BLOGGER_PHOTO_ID_5421458703216691330" border="0" /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;This was a couple of days ago. It was very rainy and we were cold and wet, and our tour guide was a sexist moron. If I was in the picture I would be frowning.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;and the Vatican...&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0247.JPG" alt="" id="BLOGGER_PHOTO_ID_5421460673337289714" border="0" /&gt;&lt;span style="font-style: italic;"&gt;This was today. As you can see, the weather was spectacular. We didn't have a tour guide. Much better.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;and the Monument to Vittorio Emanuele.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0194.JPG" alt="" id="BLOGGER_PHOTO_ID_5421458473578086194" border="0" /&gt;&lt;span style="font-style: italic;"&gt;"I can feel the lion's toenails!"&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;We also discovered that there are a number of Braille maps here in Rome - very cool! (Jamie: Unfortunately, I'm still struggling to read them but hey - they're cool anyway.)&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0191.JPG" alt="" id="BLOGGER_PHOTO_ID_5421457756613512370" border="0" /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0192.JPG" alt="" id="BLOGGER_PHOTO_ID_5421458007388628546" border="0" /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0193.JPG" alt="" id="BLOGGER_PHOTO_ID_5421458232008843218" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;We haven't bought much for ourselves over here (apart from the tonnes of food and alcohol we've consumed) but we did decide to treat ourselves to some leather jackets.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0216.JPG" alt="" id="BLOGGER_PHOTO_ID_5421459538018185762" border="0" /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0237.JPG" alt="" id="BLOGGER_PHOTO_ID_5421459762883219858" border="0" /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0244.JPG" alt="" id="BLOGGER_PHOTO_ID_5421460029657107154" border="0" /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"God I'm beautiful!"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;They were a bargain at 99 Euro each, and they are made of lamb's leather which I presume is better because the animal it came from is cuter than a cow.&lt;br /&gt;&lt;br /&gt;We're here for the next 2 nights, then we go to Florence for 2 days then onto Cork, Ireland. Apparently we both have ancestors from there - hopefully not the same ones...&lt;br /&gt;&lt;br /&gt;That's about all I have to say, but here are a few more pictures that we (ok, I) have taken over the last few days:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0222.JPG" alt="" id="BLOGGER_PHOTO_ID_5421460453472824242" border="0" /&gt;&lt;span style="font-style: italic;"&gt;One of the better street mimes (the guy in front of the bin, not the guy on the left...)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0202.JPG" alt="" id="BLOGGER_PHOTO_ID_5421459093670108498" border="0" /&gt;&lt;span style="font-style: italic;"&gt;Wine in a poppa! Where was this throughout my primary schooling?!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0185.JPG" alt="" id="BLOGGER_PHOTO_ID_5421457156207997026" border="0" /&gt;&lt;span style="font-style: italic;"&gt;Jamie posing surreptitiously in front of someone's apartment building in Venice.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2010-01-01-IMG_0186.JPG" alt="" id="BLOGGER_PHOTO_ID_5421457323284377346" border="0" /&gt;&lt;span style="font-style: italic;"&gt;A close up in front of the same building.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Love to you all! We're off to eat ourselves into a coma!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>Honeymoon, Part 5: Merry Christmas!</title><link>https://www.jantrid.net/2009/12/honeymoon-part-5-merry-christmas.html</link><pubDate>Sat, 26 Dec 2009 19:12:00 +1000</pubDate><guid>https://www.jantrid.net/2009/12/honeymoon-part-5-merry-christmas.html</guid><description>Jen: Merry Christmas from Venice! We have spent today eating, drinking and gently drifting along the canal in a gondola. Same old, same old, really! As usual, we have built our day around a very long lunch - about three hours today, I think - and a couple of bottles of wine. We are now in our hotel room awaiting dinner time!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2009-12-26-018.JPG" alt="" id="BLOGGER_PHOTO_ID_5419471855825336050" border="0" /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2009-12-26-019.JPG" alt="" id="BLOGGER_PHOTO_ID_5419472100262164050" border="0" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;Christmas lunch.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2009-12-26-014.JPG" alt="" id="BLOGGER_PHOTO_ID_5419472379575528546" border="0" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;The high (or low?) point of the afternoon was when I said "Should we get another bottle of wine?" and Jamie replied, "It's Christmas!" &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;We didn't just eat and drink today, though - we started out (after breakfast) by going to Piazza San Marco. Many of the shops were closed due to it being Christmas day but we still managed a look at the Basilica and the bell tower. I'm loving the calm of Venice - the total lack of cars etc is absolutely lovely, and the gentle (if a little bit smelly) lap of the canal is very peaceful.&lt;br /&gt;&lt;br /&gt;Here is a little video of our gondola ride. We have seen a lot of tourists spending their whole time in gondolas with video cameras poised - what is the point??! We only have a few seconds of footage here for you - we spent the rest of the time being a starry-eyed newlywed couple. Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object id="BLOG_video-d50b2dfaaa9ca385" class="BLOG_video_class" contentid="d50b2dfaaa9ca385" height="266" width="320"&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Jamie: P.S. We just heard and saw a guy riding past our hotel loudly singing jingle bells in Italian while ringing his bicycle bell. Hilarious!</description></item><item><title>Honeymoon, Part 4</title><link>https://www.jantrid.net/2009/12/honeymoon-part-4.html</link><pubDate>Sat, 26 Dec 2009 19:03:00 +1000</pubDate><guid>https://www.jantrid.net/2009/12/honeymoon-part-4.html</guid><description>&lt;span style="font-style: italic;"&gt;Again, blog post by Jamie and captions by Jen!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The remainder of our stay in Bordeaux was very enjoyable, although the weather was pretty dreary, drizzling almost constantly, the kind of annoying rain which doesn't really stop you from going outside but which leaves everything slightly soggy and cold.&lt;br /&gt;&lt;br /&gt;On the food front, although we very much enjoyed the rich French meals, by dinner time on Wednesday, neither Jen or I could stomach any more of it, so we randomly decided to eat at a Brazilian restaurant we encountered. This turned out to be fantastic, especially the desserts! We'll be looking out for a Brazilian restaurant when we return home.&lt;br /&gt;&lt;br /&gt;On Thursday morning, we visited Bordeaux's cathedral, which is huge! We happened to visit as the organist was practising on the pipe organ, which was a real treat. I love the sound of a true pipe organ, but rarely get to hear one live. I also got to touch some of the big angel statues, which was rather interesting.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-26-002.JPG" alt="" id="BLOGGER_PHOTO_ID_5419468320295712674" border="0" /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A poorly lit photo of Jamie checking out the angel.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;I often have trouble figuring out what statues (or parts of them) are meant to be representing, but these were large enough and carved with so much detail that I could grasp them quite easily.&lt;br /&gt;&lt;br /&gt;The overnight train ride to Venice was certainly a mixed experience. First of all, the train was running late due to bad weather conditions; we ended up arriving in Venice about two hours later than intended. We had a private sleeper cabin. The worst part was the food. The only food available (or at least as far as we were led to believe) was in the restaurant carriage. Dinner cost Eur28 per Person. Major rip off! First of all, we were both tired and the train was already running late, which meant that dinner didn't start until 9:30pm. There was only one (very curt) person serving the entire (rather full) carriage. We were given some very stale bread, which no one ate; Jen saw lots of pieces of bread with tiny nibbles taken out of them, similar to our own. The food was very average (and that's probably being kind) and service was hideously slow; we didn't get out of there until after 11, and even then, we left before dessert (pre-packaged chocolate cake) was served. Breakfast was Eur9.50 per person and was similarly crap. Airline food service receives its fair share of complaints, but this was far worse.&lt;br /&gt;&lt;br /&gt;We returned to our cabin after dinner to discover that it had been locked while we were away, so we had to find someone to unlock it. The beds were comfortable enough and both of us did manage to get a few hours of disjointed sleep, although the ride was pretty jerky. Just being able to lie down and rest made it far better than a plane trip for me and it was fantastic to have privacy.&lt;br /&gt;&lt;br /&gt;Upon arriving in Venice, we took a water taxi to our hotel.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2009-12-26-007.JPG" alt="" id="BLOGGER_PHOTO_ID_5419469821968199298" border="0" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;Much more interesting than a regular taxi!&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I knew Venice would be fascinating for me and I wasn't disappointed. The whole concept of a city (or at least a large section of it) where non-pedestrian travel occurs in the water instead of on land is just so different to anything I've experienced. Also, the constant, gentle lapping of the water is quite relaxing. Our hotel is in a terrific location, just metres away from the water and the Rialto Bridge and walking distance from everything we want.&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-26-026.JPG" alt="" id="BLOGGER_PHOTO_ID_5419469102129983954" border="0" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;Our hotel. &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;The room is quite old-looking, quaint and (according to Jen) "girly", with patterned fabric on the walls, an old-style key and other similar cuteness.&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2009-12-26-010.JPG" alt="" id="BLOGGER_PHOTO_ID_5419469350750636322" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;Our 'girly' room.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;As usual, we started our stay with a fantastic, luxuriously lingering meal. :)&lt;br /&gt;&lt;br /&gt;One more thing: just after we arrived in Venice, the following (slightly paraphrased) conversation occurred:&lt;br /&gt;Jen: (excitedly) "Oo! China Town!"&lt;br /&gt;Jamie: "Err... we've just arrived in Italy and you're excited about Chinese food?"&lt;br /&gt;Jen: "Yeah, it's because I'm a Teh now..."</description></item><item><title>Honeymoon, Part 3: Culinary Adventures</title><link>https://www.jantrid.net/2009/12/honeymoon-part-3-culinary-adventures.html</link><pubDate>Wed, 23 Dec 2009 19:32:00 +1000</pubDate><guid>https://www.jantrid.net/2009/12/honeymoon-part-3-culinary-adventures.html</guid><description>&lt;span style="font-style: italic;"&gt;Note: This blog entry has been written by Jamie, with photo captions by Jen.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On Monday, We rose at around 6am (ugh) to make the trip to Bordeaux. We decided to pack our backpacks with enough for the next two days and ditch our 20+ kg suitcases in luggage lockers at the train station... and Jen subsequently spent a considerable amount of time babbling about how relieved she was to be rid of them. :) Lugging them around has certainly been challenging, so it's nice to travel light for a few days.&lt;br /&gt;&lt;br /&gt;Upon arriving in Bordeaux, we ended up walking to our hotel, as it wasn't that long a walk and turned out to be far easier than trying to find a cab or figuring out public transport. Along the way, we grabbed a bite to eat at a place which served a set three course menu for €12.50. We've found this to be a common trend here; a lot of places serve a set menu for an incredibly good price and often even provide some small choice of dishes. We were greeted with complimentary glasses of port. Yum! We only ordered one meal, as I wasn't feeling particularly hungry due to my stupid cold, which made me sad. (Dad, I'm sure you can understand.) Amusingly enough, I ended up eating a substantial amount of Jen's anyway. The meal was delicious!&lt;br /&gt;&lt;br /&gt;Continuing our journey, we noticed that there seem to be a rather insane number of vehicles with sirens which either passed us by or made themselves heard from a distance. We've been able to hear these from our hotel as well. There seems to be at least one every 5 minutes! Even if there is some sort of police/ambulance/fire HQ nearby, they must always approach with sirens blaring. I had fears that my sleep would be terrorised by nightmares of A natural and B natural tones alternating at 60 bpm, complete with doppler effect pitch alterations. Thankfully, my fears were not realised. As it is, I'm sometimes not sure whether I'm actually hearing them from a distance or whether they're just in my head...&lt;br /&gt;&lt;br /&gt;Our accommodation here is a serviced apartment. Upon entering, we discovered a&lt;span style="font-style: italic;"&gt; &lt;/span&gt;big lounge room, but were a bit concerned when we couldn't find the bedroom. Thankfully, we discovered that the couch folds out into a rather large, comfortable bed. There is a tiny kitchenette, although it's not really large or well equipped enough to cook much. This is also the first place we've stayed that has provided free internet access, which is fantastic.&lt;br /&gt;&lt;br /&gt;We both very much like Bordeaux, probably more than Paris. It is a smaller, quieter, perhaps quaint place. Many of the buildings are very old with big wooden doors. As we walked down one street in the evening, I kept hearing these doors being closed, reminding me of movies/audio dramas of older times. It is a rather stark contrast to the modern, often automated doors that I usually encounter.&lt;br /&gt;&lt;br /&gt;On Monday evening we decided to find another restaurant offering a cheap three course set menu. This is where the adventure truly began. None of the staff spoke a word of English and there was no English menu, so we decided to... make educated guesses/order at random. We had a choice of four starters and four mains.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-001.JPG" alt="" id="BLOGGER_PHOTO_ID_5418362896929360978" border="0" /&gt;&lt;span style="font-style: italic;"&gt;The menu.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;We ensured that we ordered different dishes for each to increase the chance of satisfaction. For the starters, I ordered "Charcuterie" at random, while Jen ordered "Salade au Roquefort", knowing that "Roquefort" was some kind of cheese. For the mains, I ordered "Pave de Bouef", knowing that it was beef, and Jen ordered "Pave de Saunoiy" at random. The beef had a "Roquefort" sauce, so we knew it was some kind of cheese sauce. I raised the objection that perhaps this meant blue cheese (which I don't like much), but Jen smugly pointed out that they'd just say gorgonzola or the like in that case. I theorised that Jen's dish ("Saunoiy") was probably salmon, but Jen smugly retorted that "poisson" was the French word for fish, so it probably wasn't.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;So, the starters arrived. Mine was a rather tasty assortment of cold meats, salad, pickled vegetables and paté (I think of it as the French equivalent of antipasto).&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-005.JPG" alt="" id="BLOGGER_PHOTO_ID_5418363529493298530" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Jen's was... a blue cheese salad.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-004.JPG" alt="" id="BLOGGER_PHOTO_ID_5418363220331406258" border="0" /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Oops.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Both of us very much enjoyed our dishes, but I now knew that my beef would be smothered in a blue cheese sauce. We still didn't know what the other main would be.&lt;br /&gt;&lt;br /&gt;Eventually, the mains arrived. Mine was as expected, and after Jen scraped off most of the sauce, I quite enjoyed it, although it was a little tough in places.&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-006.JPG" alt="" id="BLOGGER_PHOTO_ID_5418363740233621106" border="0" /&gt;&lt;br /&gt;Jen's turned out to be... salmon.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yc4WLP6MjGk/SzHlUTY5QoI/AAAAAAAAACs/HriywQo2SiE/s1600-h/007.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-007.JPG" alt="" id="BLOGGER_PHOTO_ID_5418363963668251266" border="0" /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Oops again.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-008.JPG" alt="" id="BLOGGER_PHOTO_ID_5418364202783516946" border="0" /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;All of a sudden, Jamie became the smug one...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-010.JPG" alt="" id="BLOGGER_PHOTO_ID_5418365050251771330" border="0" /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;But at least he took it in good humour.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-009.JPG" alt="" id="BLOGGER_PHOTO_ID_5418364824566954946" border="0" /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Very good humour.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Amusingly, we had little trouble discerning the meaning of most of the desserts and they were both utterly delicious.&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-011.JPG" alt="" id="BLOGGER_PHOTO_ID_5418366569962279058" border="0" /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;This one had the words 'citron' and 'meringue' in the title&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-012.JPG" alt="" id="BLOGGER_PHOTO_ID_5418366968923521186" border="0" /&gt;&lt;span style="font-style: italic;"&gt;And this one had something to do with chocolate and fondant.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;All in all, the experience was hilariously enjoyable, helped along by a bottle of gorgeous local red wine.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-003.JPG" alt="" id="BLOGGER_PHOTO_ID_5418365966660341506" border="0" /&gt;&lt;span style="font-style: italic;"&gt;Thankfully, we know how to say "red wine" in French.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;Of course, now that I've had some success at guess-work interpretation of French menu items, I'll probably completely fail from now on.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-23-016.JPG" alt="" id="BLOGGER_PHOTO_ID_5418367409399038882" border="0" /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Au Revoir!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</description></item><item><title>Honeymoon, Part 2: Addendum</title><link>https://www.jantrid.net/2009/12/honeymoon-part-2-addendum.html</link><pubDate>Tue, 22 Dec 2009 01:35:00 +1000</pubDate><guid>https://www.jantrid.net/2009/12/honeymoon-part-2-addendum.html</guid><description>Jamie: Just a few things we forgot to write about in the original post.&lt;br /&gt;&lt;br /&gt;I'm truly amazed by the efficiency and usefulness of the tube in London. There seems to be no more than 5 minutes between trains and you rarely have to wait even that long. Most of the time, there was a train waiting for us. Even changing lines is not such a big drama because you don't have to wait very long for your connecting train. There was a tube station close to everything we needed, though admittedly, our time was spent pretty close to the centre of London. It seems far preferrable to driving through the awful traffic; we sat on a tour bus for over half an hour for only a few stops and most of that time was spent idling. The metro in Paris also seems to be extremely efficient, although it always seems to be crowded, even in the middle of a Sunday. I'm going to miss this when I get home to Brisbane and its half-hourly, frequently unreliable trains.&lt;br /&gt;&lt;br /&gt;In both London and Paris, I haven't encountered a single audio light. I'm told that there are some in London, but as I noted above, we spent most of our time in the centre of London and I somehow didn't encounter a single one. I find this quite perplexing. Are there really so few or are they just at obscure crossings that most people don't use? Are there any at all in Paris?&lt;br /&gt;&lt;br /&gt;Music nerd alert: Immediately following our arrival in Paris, one of the first things that caught my attention was the sound preceding announcements at the train station. Rather than the boring old major arpeggio or perfect fifth tones that so often preceed announcements, this was a minor, unresolved, slightly sinister/creepy tune that reminded us somewhat of the X Files. Other pre-announcement sounds heard in Paris were somewhat more cheery, but even so, they were still much more interesting than the norm.&lt;br /&gt;&lt;br /&gt;It's been great to have a break from computing and the like, but nevertheless, I'm finding our extremely infrequent internet access to be difficult. It's not so much the social aspect, though it's certainly nice to catch up with people at home every few days. However, more than anything, we tend to take the ability to quickly Google something for granted. Yesterday, we gave in and spent the €20 (ouch!) to get 24 hours of internet access at the hotel. As an example, this enabled us to quickly find a nearby laundromat and pharmacy, including maps. (Concierge told us that the former didn't exist and that we'd have to go quite some distance to find an open pharmacy on a Sunday. Grrr.)</description></item><item><title>Honeymoon, Part 2</title><link>https://www.jantrid.net/2009/12/honeymoon-part-2.html</link><pubDate>Mon, 21 Dec 2009 05:36:00 +1000</pubDate><guid>https://www.jantrid.net/2009/12/honeymoon-part-2.html</guid><description>Jamie: The trip to Bayswater went pretty smoothly. We caught a shuttle back to the airport and another bus to Liverpool Street Station, from where we decided to catch a cab rather than trying to lug our luggage on to the tube when we didn't really know where we were going. Our hotel (Queen's Park Hotel) was a bit old and quaint, but functional enough and spotlessly clean. The lift was a tiny, slow little box which could barely fit the two of us with our luggage. The room was smallish, though nothing on the Tune Hotel in Malaysia.&lt;br /&gt;&lt;br /&gt;Jen: In London, we got to see "We Will Rock You", "Hairspray", "The Lion King" and snow.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2009-12-21-038.JPG" alt="" id="BLOGGER_PHOTO_ID_5417404968381966802" border="0" /&gt; &lt;span style="font-style: italic;"&gt;Please ignore my bizarre facial expression and look only at the snow.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;All four were very exciting. We actually saw "Hairspray" and "The Lion King" on the same day, following a long and moderately boozy lunch at an Indian restaurant, so I fell asleep for a bit of Lion King, which I felt pretty bad about because it was a spectacular show. It was in one of the ballads, I think, and I woke up when Jamie nudged me to ask what had just happened on stage. I don't think he was particularly impressed when he realised he'd just woken me...&lt;br /&gt;&lt;br /&gt;Jamie: I found the theatre culture in London to be fascinating. It almost seems like theatre in London is as commonplace as going to the movies at home. This is evident not only in its easy availability (we purchased our tickets to Hairspray just a few hours before we saw it), but also in the enthusiastic response of the audience.&lt;br /&gt;&lt;br /&gt;Jen: After a few days in London we made the trek out to the main station and caught the Eurostar to Paris. As it turns out we're really lucky, because apparently all Eurostar trips between London and Paris have now been suspended due to problems with FIVE of them breaking down in the middle of the tunnel, resulting in people being stuck on the train, with no lights and heating, and with food all run out, for up to 16 hours. We caught the Eurostar the day before all this happened, and aren't catching it again thankfully.&lt;br /&gt;&lt;br /&gt;The weather in Paris has been cold but really nice - the novelty of snow has not worn off. Yesterday we found some lovely soft snow to walk in, as well as crunchy, slushy snow. (Jamie: Walking on the snow is quite an interesting and pleasant feeling. Sometimes, it almost just sounds and feels like gravel, but at others, it's more like walking on a fluffy, crunchy carpet.)&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-21-043.JPG" alt="" id="BLOGGER_PHOTO_ID_5417405325035649186" border="0" /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;We spent a ridiculous amount of time playing in the snow.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;We also have been trying not to slip on the ice. Special thanks to Sharon and Terry for our fur-lined boots - they are amazing!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-21-062.JPG" alt="" id="BLOGGER_PHOTO_ID_5417405875341443106" border="0" /&gt;&lt;span style="font-style: italic;"&gt;We have been rugging up a bit.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Paris is quite beautiful in parts. The area our hotel is in is pretty average looking but the hotel itself is awesome (it helps that we got another room upgrade). Yesterday, after a cliched breakfast of croissants in a dodgy little cafe:&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-21-041.JPG" alt="" id="BLOGGER_PHOTO_ID_5417405612779934162" border="0" /&gt;we caught the tube with the intention of getting off at the Eiffel Tower, but we went by Champs-Elysses station and decided to get off on a whim (OK, it's because of the Art vs Science song which starts with "The Champs-Elysses is a busy street...".) There were Christmas markets there which we spent ages at drinking mulled wine and hot chocolate with Baileys, and wandering around in the snow.&lt;br /&gt;&lt;br /&gt;We didn't make it to the Eiffel Tower (I saw it from a distance and that's enough - it looks really ugly...) and instead went to the Louvre. This was a highlight of the trip for Jamie...not. Having Jamie there was actually really awesome because it turns out that blindies get free entry into every museum and art gallery in France so we got to jump the queue and get in for free. And he didn't even die of boredom, because we got those headphone tour things so as we wandered round he could listen to all the socio-historical stuff. We did a 45 minute tour called "Masterpieces" which included Venus de Milo (the highlight for me - amazing)&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-21-047.JPG" alt="" id="BLOGGER_PHOTO_ID_5417405733434527778" border="0" /&gt; and Mona Lisa (not so breathtaking). I could have spent days there but that would have been a bit crap for Jamie. Today we found a chemist (we both have colds, unsurprisingly considering that it is below freezing!) and a laundromat (the only trip to a laundry we will need to make, thankfully.)&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-21-063.JPG" alt="" id="BLOGGER_PHOTO_ID_5417406019508958114" border="0" /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-21-064.JPG" alt="" id="BLOGGER_PHOTO_ID_5417406170254001890" border="0" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-style: italic;"&gt;Note the tasteful picture of Jennifer Lopez in the background.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; We then stepped into a gorgeous little bar/restaurant and ate and drank for 2 hours.&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-21-065.JPG" alt="" id="BLOGGER_PHOTO_ID_5417406302208302322" border="0" /&gt; &lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2009-12-21-066.JPG" alt="" id="BLOGGER_PHOTO_ID_5417407545008643842" border="0" /&gt;&lt;br /&gt;I finished with the cheese platter and will not be needing dinner tonight.&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2009-12-21-068.JPG" alt="" id="BLOGGER_PHOTO_ID_5417409144340614994" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Jamie had pannacotta, and I think he nearly cried when he got to the last spoonful. It was a magical journey for him.&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2009-12-21-069.JPG" alt="" id="BLOGGER_PHOTO_ID_5417409265498572978" border="0" /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://www.jantrid.net/assets/images/2009-12-21-070.JPG" alt="" id="BLOGGER_PHOTO_ID_5417409386830605826" border="0" /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-21-076.JPG" alt="" id="BLOGGER_PHOTO_ID_5417409678146995042" border="0" /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="https://www.jantrid.net/assets/images/2009-12-21-074.JPG" alt="" id="BLOGGER_PHOTO_ID_5417409573390819634" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;So now we are here in our hotel room packing for Bordeaux. Well, I'm blogging and Jamie is complaining about packing. We do have more photos, but can only access the ones on my iPhone at the moment. Au revoir!</description></item><item><title>Honeymoon, Part 1</title><link>https://www.jantrid.net/2009/12/honeymoon-part-1.html</link><pubDate>Wed, 16 Dec 2009 01:00:00 +1000</pubDate><guid>https://www.jantrid.net/2009/12/honeymoon-part-1.html</guid><description>Jamie: Our honeymoon has begun! :) This is the first of several posts about our experiences. They're primarily intended for interested family and friends, but I figure I may as well post them here for all to see.&lt;br /&gt;&lt;br /&gt;We're flying with Air Asia, our first intended destination being London. We had about an 11 hour stop over in Kuala Lumpur, Malaysia. First of all, the Air Asia flights have actually been far better than we were expecting. Even without the larger seats, we weren't hideously cramped, although I wouldn't want to be particularly tall. (There are some advantages to having less height. :)) We'd been told there was no in-flight entertainment at all, but it seems that there is now, although you have to pay extra for it of course. The food is fantastic, which is a refreshing change from most airline food.&lt;br /&gt;&lt;br /&gt;Anyway, we arrived at the KL low cost terminal some time after 4am on Monday. We had booked a room in the nearby, no frills Tune Hotel just to have a shower and get a few hours sleep... or so we thought. After spending forever getting through customs, we decided to walk to the hotel rather than organising a shuttle bus, as it is apparently only about 5 minutes walk. Big mistake. We made it eventually, but dragging our 20+ kg suitcases over grass, busy roads, narrow pathways and a fence proved to be quite strenuous and exasperating. :( (Jen: It didn't help that even at 4am the temperature was about 25 degrees and the humidity was absolutely disgusting.)&lt;br /&gt;&lt;br /&gt;Upon arrival, we discovered that for some reason, we didn't actually have a booking. I remember Jen going through the process, but obviously, it wasn't confirmed properly or the like; unfortunately, our error, as we couldn't find any record of the confirmation either. Worse still, they were fully booked. Terrific. We were told that a room would become available in about 4 hours for the refresher package, which allows for a 3 hour stay to freshen up. Having no other option and being exhausted and in serious need of a shower, we decided to wait.&lt;br /&gt;&lt;br /&gt;In the meantime, we went to the hotel's 24 hour cafe to grab a bite to eat. A rather random place indeed. We were going to buy a breakfast sandwich, but they didn't have any bread. We opted for Rendang noodles in the end, which turned out to be fantastic. They just used a pre-packaged frozen meal, but as we discovered, even frozen meals in Malaysia are absolutely delicious. Why can't frozen meals in Australia be that good?&lt;br /&gt;&lt;br /&gt;After several hours of waiting on a couch in the lobby, me dozing on and off, we finally got our room. And whoa, what an experience! These rooms are intended to be extremely low cost, no frills rooms for stopovers and the like and we had read about how small they were in reviews, but that didn't prepare us for the reality. There was literally barely enough room to walk around the bed! With two suitcases, climbing over the bed was the only option. Having said that, the shower was good, the bed was comfortable and there was air conditioning, so it certainly served its purpose.&lt;br /&gt;&lt;br /&gt;At about 1pm, we caught a shuttle bus back to the airport to catch our flight to London. We had the joyful experience of waiting at the departure gate listening to almost continuous, loud, extremely distorted announcements over the PA system. Arrrg! :) As I write this, we're about half way through the flight.&lt;br /&gt;&lt;br /&gt;Jen: The flight from KL to London was great - for me. I slept for about 8 hours, so time flew and I felt pretty good. Poor Jamie barely got any sleep at all, so he was pretty delirious by about 3 hours before landing. I convince him to put in some earplugs and try to get some sleep (before that he hadn't really tried because "Trying to sleep is more frustrating than not sleeping") but he did manage to doze off for a fair while. We arrived in London at about 10.20pm, collected our stuff and went to wait for our hotel shuttle in the 2 degree freezing cold, which was fairly invigorating! We were pretty excited by the time we arrived at the hotel (by sheer lastminute.com mystery deal coincidence we ended up at the Stansted Hilton) and were taking photos while waiting in line. The man at the desk offered to take it for us, and we told him we were on our honeymoon. He checked us in and said "I think you'll like this room...". Upon arriving to our room we discovered that he had upgraded us to the Presidential Suite! It has a big bed, 2 bathrooms, 2 massive plasma screen TVs, a lounge room and free wine! Is it terrible that the free wine was the most exciting part for us? Rather than going straight to bed we stayed up until 2am drinking a beautiful Chilean Cab Sav, eating room service and watching TV, until we both hit a wall and crashed. &lt;br /&gt;We've now just had a lovely breakfast and are back up in our Presidential Suite with an hour and a half until we check out and travel into Bayswater to check into the hotel we will be at for the next 3 nights. So far the honeymoon is going very well. We are taking every opportunity to introduce each other as "my husband" and "my wife". I was very excited when I got to call room service and say "Good evening, this is Jennifer Teh from room 201...". I can't believe we still have a month to go!</description></item><item><title>Skydiving</title><link>https://www.jantrid.net/2009/11/skydiving.html</link><pubDate>Mon, 30 Nov 2009 08:33:00 +1000</pubDate><guid>https://www.jantrid.net/2009/11/skydiving.html</guid><description>On Saturday, for my buck's celebration, Michael (my best man) arranged for my groomsmen and me (minus Mick, who's in Melbourne) to go skydiving. I think Michael was more nervous about doing it than I was initially. That was to change a bit later. :)&lt;br /&gt;&lt;br /&gt;I awoke at 5:35 (yuck) to get to the skydiving office by 7. Jen helped me fill in the paperwork and was horrified by some of its content, including something along the lines of "accidents can and do happen". :) Meanwhile, Matt slept in and didn't make it to the office in time, but thankfully, an arrangement was made and he was able to join us. We met our jumpmasters and were shown how to move our bodies upon exiting the plane.&lt;br /&gt;&lt;br /&gt;Soon enough, we were harnessed and taking off in the plane with our respective jumpmasters. Even being in the plane was a bit of an experience; I've never taken off in a small plane before. I was a little nervous by this stage, but it wasn't until maybe a minute or so before the jump that I truly began to get nervous. What the hell was I doing? I was told later that Michael's jumpmaster looked back at me at one point and noted in amusement to Michael that I was starting to look rather worried. :)&lt;br /&gt;&lt;br /&gt;Time to jump. Michael went first and then it was my turn. The wind swirling around me, my jumpmaster (Steve) at my back, I had my feet out of the plane, I got my body into what I hoped was the right formation... and then we were falling, belly first, the wind rushing by me with awesome speed. For a few seconds, I had a bit of a freak out. Holy crap! I'm falling! Belly first! Is this okay? For some reason, I hadn't imagined we would fall belly first, as the formation is taught upright. It makes sense in hindsight, but it just hadn't clicked. My technician mentality set in. Was my body in the correct formation? Am I doing this right? Moving my body in that state was so... different. My control freak mentality couldn't do anything about this either. Steve corrected my arms a bit and then I relaxed slightly. Wow! Incredible! The wind rushed by; it was pretty much impossible to talk, though Steve managed it somehow. Unfortunately, my ears didn't like free-fall so much. Eventually, Steve deployed the parachute. We were jerked upright and then...&lt;br /&gt;&lt;br /&gt;All was calm and still. My legs were dangling in mid air! Wow... again! But there were even bigger wows to come. After a bit of floating, Steve turned the parachute... and then we were soaring through the air. This was probably the most amazing, elating part for me, this feeling of literally flying as the wind rushed around me and then coming to a graceful stop. The fall was exhilarating, but this was incredible in a different way. Steve let me have a go at steering the parachute, which was pretty cool.&lt;br /&gt;&lt;br /&gt;Too soon, it was time to land gently on the beach. Throughout the day, I kept wishing I could do it again. We spent most of the rest of the day (about 12 hours!) celebrating in more traditional ways. :)&lt;br /&gt;&lt;br /&gt;The next day, Michael called to tell me of a headline in The day's Sydney Morning Herald: &lt;a href="http://www.smh.com.au/national/skydiver-dead-after-13th-jump-20091128-jxz5.html"&gt;Skydiver dead after 13th jump&lt;/a&gt;. Nice. Later reflection led me to think about how it would have been if things hadn't gone so well, particularly thinking about that feeling of free-fall. &amp;lt;shudder&amp;gt; Jumping out of a plane really is pretty insane. Funny that I didn't think about that so much before. I've been thinking about the experience quite a lot in the past 24 hours, both in wonder and a bit of trepidation. I think I'd still probably do it again... probably... :)&lt;br /&gt;&lt;br /&gt;It was certainly an extremely memorable experience and I'm grateful to have had the opportunity to do it. Thanks guys!</description></item><item><title>Object navigation: why is it okay for VoiceOver but not NVDA?</title><link>https://www.jantrid.net/2009/10/object-navigation-why-is-it-okay-for.html</link><pubDate>Thu, 22 Oct 2009 17:26:00 +1000</pubDate><guid>https://www.jantrid.net/2009/10/object-navigation-why-is-it-okay-for.html</guid><description>Since VoiceOver came to Mac OS X, many screen reader users have joyfully sung its praise - and there's certainly a lot to praise. Some who were previously Windows users have taken the plunge and moved to Mac OS X completely, never looking back. Others use both operating systems or perhaps dream of no longer being dependent on Windows for certain software. This is all fantastic, but as an NVDA developer, there are also aspects of this that frustrate and exasperate me.&lt;br /&gt;&lt;br /&gt;Right from the start, NVDA has used "object navigation" in order to review the user interface, particularly to provide access to elements which can't be otherwise accessed using the keyboard. In short, every element in the user interface is generally represented by an object. These objects exist in a hierarchy or tree of objects. Object navigation allows the user to explore this hierarchy by moving between objects and then descending/entering/interacting with objects of interest. For example, entering a list would allow you to see its list items. This is in contrast to the "flat review" (or "screen review") method that Windows screen readers have traditionally used for review, whereby the user can review the content of the screen in a flat fashion from top to bottom, left to right, similar to the way a simple text document would be read. While this might seem more logical at first, it's worth remembering that a sighted user doesn't necessarily read the screen in this ordered fashion. Instead, they are more likely to focus on specific elements of interest, which in some ways is more akin to object navigation. As always, both methods have advantages and disadvantages.&lt;br /&gt;&lt;br /&gt;On the Mac, there is only object navigation; there is no concept of flat review of the entire screen using the keyboard. (In the latest version of Mac OS X, you can explore the screen in this fashion using the trackpad. However, NVDA's tracking and reading of text under the mouse allows you to do something similar.) It seems that Mac users are quite happy with this approach, and yet we are constantly bombarded by NVDA users with complaints about the difficulty of object navigation and requests for flat review functionality in NVDA.&lt;br /&gt;&lt;br /&gt;So, here's my question for those of you who are either full or partial Mac converts. Why is object navigation quite acceptable on the Mac, but yet not acceptable in Windows? It sometimes seems to me that some of the same users who frequently sing the praises of VoiceOver then turn and complain about the lack of flat review in NVDA. Perhaps I'm wrong and those users who want flat review would not be comfortable using VoiceOver. Even so, it sometimes seems that people are willing to accept a different approach on a completely new platform, yet are unwilling to accept it in a newer product on an existing platform. It's certainly true that NVDA's object navigation needs to be cleaned up a bit (removing extraneous objects, etc.), but I don't think this is the whole story.&lt;br /&gt;&lt;br /&gt;ON the web, this gets even more interesting. Due to the non-linear fashion of web pages, Windows screen readers have had to provide their own "flat" representation of web pages. They then override the cursor and other keys to navigate within that representation. Aside from the technical issues associated with this, working with interactive controls on web forms requires a separate mode of interaction (named forms mode, focus mode, etc.) where the screen reader lets the user interact directly with the control by allowing cursor and other keys to pass straight through to the control. (Some screen readers can automatically switch to this mode when appropriate, but there are still two modes.) This is becoming more of a challenge with the ever growing number of web applications, where more keys are required to work with the application. Object navigation solves this problem because the cursor and other application keys are never overridden by the screen reader, so the screen reader doesn't interfere with the functionality of web applications.&lt;br /&gt;&lt;br /&gt;Again, VoiceOver uses object navigation on the web and VoiceOver users appear to be quite happy with this. NVDA currently does what other Windows screen readers do, but again, would you be happy if we abandoned this approach in favour of object navigation? It would certainly solve this web application problem once and for all. I get the impression that NVDA users would be unhappy if we changed this.&lt;br /&gt;&lt;br /&gt;I want to hear your thoughts. Comment here, Twitter or send me an email.</description></item><item><title>The Adventures of Jamie's Independence (or lack thereof): Episode 1</title><link>https://www.jantrid.net/2009/08/adventures-of-jamies-independence-or.html</link><pubDate>Fri, 07 Aug 2009 22:21:00 +1000</pubDate><guid>https://www.jantrid.net/2009/08/adventures-of-jamies-independence-or.html</guid><description>So Jen left yesterday afternoon for two weeks to attend the &lt;a href="http://www.kodaly.am.katowice.pl/index.php?ChLang=eng"&gt;International Kodály Symposium&lt;/a&gt; in Poland. This is the first time I've had to survive entirely by myself for longer than a few days without some pre-cooked meals. It's been less than a day and I've already made several blunders...&lt;br /&gt;&lt;br /&gt;I was going to cook chilli basil chicken, but due to the meat not thawing enough and after procrastinating until about 8:30pm, I decided that crumbed steak, chips and veggies would be a better idea. Of course, the crumbed steak was frozen too, but I figured that wouldn't be so bad to defrost in the microwave. Frustratingly, it refused to defrost nicely (as is far too often the case), but I finally got it to a point which was sufficient. I then rubbed some oil on the electric grill and managed to spill a decent glob of it in the sink. Bah - a bit of a pain to wash down, but no harm done. I whacked the steak on the electric grill. So far, mostly good. I probably left it to cook a bit long, but it seemed to be okay when I took it out.&lt;br /&gt;&lt;br /&gt;As I was eating, I noticed that the breadcrumbs on the steak tasted pretty crappy due to being rather soggy. That happens sometimes, I guess, so I peeled them off. But it still tasted like soggy breadcrumbs! It was only then that I looked more closely and realised that the sogginess was between... the two pieces of crumbed steak. FAIL!&lt;br /&gt;&lt;br /&gt;Thankfully, I'd cooked it (them?) long enough that the meat was fine. They're not that thick, so the thickness hadn't seemed odd to me. However, I didn't even *think* to check that their might have been two pieces and not one in the plastic bag. I suspect they had partially frozen together, but nevertheless... idiot!&lt;br /&gt;&lt;br /&gt;(By the way, it's highly likely that Jen told me there were two pieces in the one bag, but I don't remember.)&lt;br /&gt;&lt;br /&gt;I'm sure there'll be more foolishness like this in the coming weeks, so stay tuned!</description></item><item><title>Apache mod_wsgi with Trac and Bazaar</title><link>https://www.jantrid.net/2009/07/apache-modwsgi-with-trac-and-bazaar.html</link><pubDate>Tue, 28 Jul 2009 12:34:00 +1000</pubDate><guid>https://www.jantrid.net/2009/07/apache-modwsgi-with-trac-and-bazaar.html</guid><description>I recently installed the &lt;a href="http://www.modwsgi.org/"&gt;mod_wsgi&lt;/a&gt; Apache module and configured Trac and Bazaar to use it. Here are some notes that others might find useful.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Trac&lt;/h4&gt;&lt;br /&gt;The mod_wsgi documentation on &lt;a href="http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac"&gt;Integration with Trac&lt;/a&gt; provides information about many different configurations, as it should. However, much of the document discusses setting environment variables from within the script using os.environ. As the document notes, this is problematic if you want to run multiple instances of Trac within the same process. I think using SetEnv from within the Apache config is a far better approach (which is discussed towards the end of the document). This also allows you to use the same, minimal wsgi script for many instances of Trac.&lt;br /&gt;&lt;br /&gt;The document also demonstrates setting the PYTHON_EGG_CACHE environment variable via os.environ. This can only be set once per process anyway. However, if you're running in embedded mode, a more elegant way to do it is to use the &lt;a href="http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIPythonEggs"&gt;WSGIPythonEggs configuration directive&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Bazaar&lt;/h4&gt;&lt;br /&gt;The &lt;a href="http://doc.bazaar-vcs.org/latest/en/user-guide/index.html#serving-bazaar-with-fastcgi"&gt;Bazaar User Guide&lt;/a&gt; describes configuring the Bazaar http smart server with fastcgi and mod_python, but not mod_wsgi. This &lt;a href="https://lists.ubuntu.com/archives/bazaar/2008q3/047120.html"&gt;mailing list post&lt;/a&gt; describes configuring it with mod_wsgi. As above, I prefer to set the environment in the Apache configuration so I can use the same script for multiple configurations.&lt;br /&gt;&lt;br /&gt;My script is as follows:&lt;br /&gt;&lt;pre&gt;from bzrlib.transport.http import wsgi&lt;br /&gt;&lt;br /&gt;def application(environ, start_response):&lt;br /&gt; return wsgi.make_app(&lt;br /&gt; root=environ["bzr_wsgi.root"],&lt;br /&gt; prefix=environ["bzr_wsgi.prefix"],&lt;br /&gt; readonly=True,&lt;br /&gt; enable_logging=False&lt;br /&gt; )(environ, start_response)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;With this script, you can specify the root and prefix passed to the bzr smart server wsgi application using SetEnv in the Apache configuration.&lt;br /&gt;&lt;br /&gt;Here is an example configuration snippet making an entire tree useable with the bzr smart server. The prefix is set to "/", which means that the root (/) of the http host corresponds to /srv/bzr in the filesystem.&lt;br /&gt;&lt;pre&gt; WSGIScriptAliasMatch ^.*/\.bzr/smart$ /usr/local/share/wsgi/bzr.wsgi&lt;br /&gt; &amp;lt;Location /&amp;gt;&lt;br /&gt; WSGIApplicationGroup %{GLOBAL}&lt;br /&gt; SetEnv bzr_wsgi.root /srv/bzr&lt;br /&gt; SetEnv bzr_wsgi.prefix /&lt;br /&gt; &amp;lt;/Location&amp;gt;&lt;/pre&gt;&lt;br /&gt;If you have branches in shared bazaar repositories and are experiencing errors related to "server jail" or "jail break" when you try to access them, you are probably experiencing &lt;a href="https://bugs.launchpad.net/bzr/+bug/348308"&gt;bug #348308&lt;/a&gt;. See the bug report for a temporary work around.</description></item><item><title>Touch Screen Keyboard Difficulty for the Blind: A Potential Solution</title><link>https://www.jantrid.net/2009/06/touch-screen-keyboard-difficulty-for.html</link><pubDate>Tue, 23 Jun 2009 10:14:00 +1000</pubDate><guid>https://www.jantrid.net/2009/06/touch-screen-keyboard-difficulty-for.html</guid><description>There's been a lot of talk about &lt;a href="http://www.apple.com/accessibility/iphone/vision.html"&gt;VoiceOver on the iPhone 3G S&lt;/a&gt;... and so there should be. I suspect (and others seem to concur) that Apple's model for touch screen accessibility ought to be quite useable under most circumstances, but that typing on the touch screen keyboard could be rather challenging, perhaps the most challenging aspect of the interface.&lt;br /&gt;&lt;br /&gt;Thinking about this, I had a brainwave: perhaps a Braille touch screen keyboard could be a nicer solution for blind users. A Braille keyboard doesn't require you to shift your fingers horizontally or vertically, which eliminates the challenge of finding characters. Instead, you only need to raise or lower your fingers in various combinations. I'm guessing that the multi-touch touch screen should be able to detect these combinations. I can't remember how big the touch screen on the iPhone is, but I suspect it is probably large enough to allow for the fingers to be placed in Braille typing formation. I can't type as fast on a braille keyboard as I can on a QWERTY keyboard, but I'm a hell of a lot faster on a Braille keyboard than on a phone keypad. In fact, I'm wondering whether this method of input would actually be faster (assuming a proficient Braille typist) than a sighted user using the normal touch screen keyboard.&lt;br /&gt;&lt;br /&gt;Surely I'm not the first to wonder about this... or is this really a new idea?</description></item><item><title>EU Objections to Microsoft's Bundling of Internet Explorer with Windows: My Thoughts</title><link>https://www.jantrid.net/2009/06/eu-objections-to-microsofts-bundling-of.html</link><pubDate>Fri, 12 Jun 2009 09:20:00 +1000</pubDate><guid>https://www.jantrid.net/2009/06/eu-objections-to-microsofts-bundling-of.html</guid><description>In January, &lt;a href="http://www.techflash.com/EU_objects_to_Microsofts_bundling_of_IE_in_Windows37721864.html"&gt;the European Commission sent a Statement of Objections to Microsoft expressing their preliminary view that the inclusion of Internet Explorer in Windows has violated European competition law&lt;/a&gt;. Subsequently, &lt;a href="http://www.google.com/hostednews/afp/article/ALeqM5g6oKMgGvkMnA83uCkUA4oy03tgVw"&gt;Microsoft announced that Windows 7 will ship without Internet Explorer in Europe&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;First, let me emphasise a few points. I've certainly had some negative things to say about Microsoft in my time. They're certainly no angels. I'm a huge advocate of free, open technologies and software. I'm a Mozilla Firefox user and advocate it strongly over Internet Explorer. All of that said, I can't fully support this case. It's certainly true that, given the dominant position of Windows, bundling Internet Explorer with Windows has given it an advantage that no other browser could have achieved, thereby allowing it to markedly dominate the browser market. This has undoubtedly caused a great deal of damage to innovation and competition. However, as &lt;a href="http://en.wikipedia.org/wiki/United_States_Microsoft_antitrust_case#Criticisms_of_the_case"&gt;argued by Jean-Louis Gassée concerning the earlier United States case against Microsoft&lt;/a&gt;, given the increasing prominence of the internet, consumers expect to have a browser packaged with the operating system. Apple bundle Safari and many other applications with Mac OS X - one of the strongpoints of the Mac is that everything is so tightly and nicely integrated - yet no such complaint has been made about Apple. There are many other platforms that bundle a web browser also.&lt;br /&gt;&lt;br /&gt;Microsoft's domination of the desktop computer world obviously makes the impact of bundling much greater. Even so, I can't help feeling this is at least a bit unfair. It could be argued that the removal of Internet Explorer from Windows actually puts it at a disadvantage when compared to Mac OS X, which still includes Safari. Furthermore, without a bundled browser, a user can't connect to the internet to download a browser, which impedes internet usage. In the end, will Windows be the only platform which doesn't bundle a web browser?</description></item><item><title>New Apple iPhone Accessible to the Blind: My Thoughts</title><link>https://www.jantrid.net/2009/06/new-apple-iphone-accessible-to-blind-my.html</link><pubDate>Fri, 12 Jun 2009 08:54:00 +1000</pubDate><guid>https://www.jantrid.net/2009/06/new-apple-iphone-accessible-to-blind-my.html</guid><description>Apple have just announced that the soon-to-be-released &lt;a href="http://www.apple.com/iphone/iphone-3g-s/"&gt;iPhone 3G S&lt;/a&gt; will &lt;a href="http://www.apple.com/accessibility/iphone/vision.html"&gt;include the VoiceOver screen reader&lt;/a&gt;, among other accessibility enhancements. Although I'm still uncertain as to the efficiency of a touch screen interface for the blind, this is fantastic news. For the first time, an every day mobile phone/PDA will include a screen reader as part of the core product at no extra cost. Apple's inclusion of VoiceOver into Mac OS X was revolutionary news, and they've now done it again with the iPhone. I'm sometimes rather cynical towards Apple, but I am continually impressed by their commitment to incorporating out-of-the-box accessibility into their products.&lt;br /&gt;&lt;br /&gt;It's worth noting that the iPhone is not the first touch screen phone to include accessibility for the blind. A suite of self-voicing applications called &lt;a href="http://code.google.com/p/eyes-free/"&gt;Eyes-Free&lt;/a&gt; is available for &lt;a href="http://www.android.com/"&gt;Android&lt;/a&gt; which enables blind users to use many functions of the phone. While this is great to see, it's disappointing that this is what I call isolating (or isolationalist) accessibility; i.e. blind users must use a different set of applications to everyone else to access the phone and are thus isolated from the experience of other users. This appears to be a (in my opinion disappointing) trend for some sections of Google, as demonstrated in the separate, so-called "ARIA enhanced" and "accessible" versions of some of their services, wherein they often present a different interface for blind users instead of integrating accessibility right into the existing interface. I think that isolating accessibility certainly has its place - it can sometimes make for a more friendly and easier learnt interface and is the only practical option in some extremely visual scenarios - but in general, I believe it is extremely limiting and inflexible. Admittedly, a touch screen interface is inherently visual and thus presents a new set of challenges. Not only does the user interface need to be spoken or brailled, but the method of input needs significant adaptation to be used by a blind person. This is probably why the Android Eyes-Free developers chose the path they did. However, Apple have taken a better, more generic approach similar to that of most modern operating systems, allowing blind users to use the same applications as everyone else. The new iPhone incorporates accessibility into the core of the operating system and VoiceOver modifies the input method as well as reading the user interface, which allows any application to be accessible with VoiceOver, including all of the in-built applications.&lt;br /&gt;&lt;br /&gt;Experience will determine whether Apple's implementation is optimal for blind users. Regardless, they've truly raised the bar for mobile accessibility.&lt;br /&gt;&lt;br /&gt;Disclaimer: I have not had any personal experience with either VoiceOver on the iPhone 3G S or Android Eyes-Free. These thoughts are solely based on the information I have gleaned from various internet sources.</description></item><item><title>Too Lazy to be Lazy</title><link>https://www.jantrid.net/2009/05/too-lazy-to-be-lazy.html</link><pubDate>Mon, 18 May 2009 09:20:00 +1000</pubDate><guid>https://www.jantrid.net/2009/05/too-lazy-to-be-lazy.html</guid><description>For a while now, I've been thinking about writing a tool to quickly perform all sorts of little miscellaneous tasks that I'm too lazy to do manually. They aren't big enough to each justify their own application, but nor are they at all related. These tasks include:&lt;ul&gt;&lt;li&gt;Setting my computer's audio output volume to preset levels with a single keyboard shortcut&lt;/li&gt;&lt;li&gt;Killing off an application which is using too much CPU time and causing my computer to freeze or lag intolerably, thereby making killing it manually extremely difficult or tedious&lt;/li&gt;&lt;li&gt;Checking and reporting missed VoIP calls via my router&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I came up with a great name for this application: Jantrid Laziness Proliferator. Unfortunately, I'm too lazy to actually write it...</description></item><item><title>Cakewalk Sonar vs Pro Tools</title><link>https://www.jantrid.net/2009/04/cakewalk-sonar-vs-pro-tools.html</link><pubDate>Fri, 03 Apr 2009 22:11:00 +1000</pubDate><guid>https://www.jantrid.net/2009/04/cakewalk-sonar-vs-pro-tools.html</guid><description>A post on the &lt;a href="http://www.jsonar.org/"&gt;JSonar&lt;/a&gt; blog pointed me at &lt;a href="http://forum.cakewalk.com/tm.asp?m=651432&amp;mpage=1&amp;key=sonar%2Cprotools"&gt;this thread on the Cakewalk forum comparing Sonar and Pro Tools&lt;/a&gt;. I find it surprising that Sonar's poor audio scrubbing functionality (versus Pro Tools's reportedly excellent scrubbing) is not mentioned at all! I keep hearing that many good sound engineers still prefer to "use their ears" a great deal and I'd figure they would therefore use scrubbing a lot, but the opinion from Cakewalk seems to be that scrubbing isn't used by most users and thus isn't a priority. The forum thread does discuss Pro Tools's strength in sound engineering and post production and its relative lack of popularity with composers, which I guess might explain this. If Sonar's primary market is composers and the like, there might certainly be less of a demand for features such as scrubbing. This is a damned shame for me (and I suspect many other blind users), as decent scrubbing (i.e. better accuracy and the ability to play faster than 1x) would make my life a hell of a lot easier, not to mention more fun!</description></item><item><title>Today's Dose of Lame Jamie Humour</title><link>https://www.jantrid.net/2009/04/todays-dose-of-lame-jamie-humour.html</link><pubDate>Fri, 03 Apr 2009 22:04:00 +1000</pubDate><guid>https://www.jantrid.net/2009/04/todays-dose-of-lame-jamie-humour.html</guid><description>Jen: "Watch the door... it's ajar."&lt;br /&gt;Jamie: (casually, without pause) "No it's not! It's a door!"&lt;br /&gt;&lt;br /&gt;... I thought it was kinda clever, personally, but perhaps I've been awake too long...</description></item><item><title>Tired of Incompetence/Bad Service</title><link>https://www.jantrid.net/2009/04/tired-of-incompetencebad-service.html</link><pubDate>Wed, 01 Apr 2009 19:37:00 +1000</pubDate><guid>https://www.jantrid.net/2009/04/tired-of-incompetencebad-service.html</guid><description>So we're in the process of finalising the purchase of our house, which is all very exciting. However, the administrivia is quite the opposite, as illustrated in the following series of events:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A few weeks ago: Our mortgage broker sent our First Home Owners grant documents to St George, our bank. Our mortgage broker then called to confirm that they had been received.&lt;/li&gt;&lt;li&gt;A couple of weeks ago: I called NRMA (our insurance company) to ask them to raise the building insurance amount to the amount specified by the bank. (My original figure was obviously an underestimate.) They told me that this was all done, no worries.&lt;/li&gt;&lt;li&gt;Early last week: Jen sent the insurance documents to St George. She also emailed our solicitor with a request to settle a few days earlier.&lt;/li&gt;&lt;li&gt;Last Friday: No contact yet from our solicitor, so I called his office to confirm that the request was received and actioned. He's not in the office; apparently, he'll call me back on Monday morning.&lt;/li&gt;&lt;li&gt;Monday afternoon: No call from our solicitor. I called him late afternoon. I noted that he mustn't be receiving our calls and emails. He noteably neglects to mention the email, but was surprised about the call on Friday. He told me that St George apparently haven't received our insurance documents (see 1), nor our First Home Owners Grant documents (see 3).&lt;/li&gt;&lt;li&gt;Tuesday: Jen had to drive to visit our mortgage broker to sign new First Home Owners Grant documents.&lt;/li&gt;&lt;li&gt;Wednesday morning: Jen called NRMA to ask them to fax our updated insurance documents to St George. She discovered that apparently, our record states the old insurance amount instead of the updated amount (see 2). Our solicitor called me to tell me that the received fax was missing some information. Jen subsequently called NRMA and they said that the information was correct in the records but that the fax was somehow incorrectly generated.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;All is now finally sorted, but.... aaaaaaaaarrrrrrrrrrrrggggg!</description></item><item><title>Paraskavedekatriaphobia</title><link>https://www.jantrid.net/2009/03/paraskavedekatriaphobia.html</link><pubDate>Fri, 13 Mar 2009 16:01:00 +1000</pubDate><guid>https://www.jantrid.net/2009/03/paraskavedekatriaphobia.html</guid><description>The new &lt;a href="http://bazaar-vcs.org/"&gt;Bazaar&lt;/a&gt; &lt;a href="https://launchpad.net/bzr/+announcement/2181"&gt;1.13rc1 release&lt;/a&gt; is codenamed paraskavedekatriaphobia. Having no idea what the hell that was, I decided to look it up, and as usual, Wikipedia furnished me with &lt;a href="http://en.wikipedia.org/wiki/Friday_the_13th#Phobia"&gt;the answer&lt;/a&gt;: the fear of Friday the 13th. If I knew the smiley for rolling eyes, I'd be using it here...&lt;br /&gt;&lt;br /&gt;Well, you learn something new every day.</description></item><item><title>I, Lord of Olive Pits...</title><link>https://www.jantrid.net/2009/03/i-lord-of-olive-pits.html</link><pubDate>Wed, 11 Mar 2009 22:08:00 +1000</pubDate><guid>https://www.jantrid.net/2009/03/i-lord-of-olive-pits.html</guid><description>Jen and I noticed a fascinating glitch in the laws of probability recently. If we are eating something containing pitted olives - home made pizza, for example - I end up with all of the olives which mistakenly contain pits, while Jen encounters none. We're not just talking one, here. It's usually at least three or four. This has happened a few times now. To prove the point even more, after happily enjoying pizza free of olive pits (while laughing at my somewhat less peaceful pizza experience), Jen gave hungry me a piece of her pizza... and guess what I found when I ate it? Yup... more olive pits. I guess a more logical explanation might be that Jen is consciously or unconsciously doing this...&lt;br /&gt;&lt;br /&gt;Actually, this title is rather unsuitable. If I am the lord of olive pits, surely I could convince them to cower and run away or something...</description></item><item><title>Fed-up bus driver 'drove kids to police'</title><link>https://www.jantrid.net/2009/03/fed-up-bus-driver-drove-kids-to-police.html</link><pubDate>Tue, 03 Mar 2009 21:43:00 +1000</pubDate><guid>https://www.jantrid.net/2009/03/fed-up-bus-driver-drove-kids-to-police.html</guid><description>I found this quite amusing and satisfying:&lt;br /&gt;&lt;a href="http://news.ninemsn.com.au/national/757446/fed-up-bus-driver-drove-kids-to-police"&gt;Fed-up bus driver 'drove kids to police'&lt;/a&gt;</description></item><item><title>Address fields in Thunderbird message reader now accessible!</title><link>https://www.jantrid.net/2009/02/address-fields-in-thunderbird-message.html</link><pubDate>Wed, 25 Feb 2009 21:44:00 +1000</pubDate><guid>https://www.jantrid.net/2009/02/address-fields-in-thunderbird-message.html</guid><description>Until a few days ago, the From, To, Cc, etc. header fields in the Thunderbird message reader pane were inaccessible (or at least extremely painful) for those using screen readers. Using NVDA, I was sometimes able to read them with a lot of messing around, but I often found myself viewing the message source because it was so much easier to search for the header names in the raw message. In the few years that I have been using Thunderbird, this has probably been one of my biggest gripes with its accessibility. However, &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=449560"&gt;this&lt;/a&gt; has now been fixed thanks to &lt;a href="http://yuenhoe.co.cc/"&gt;Jason Lim Yuen Hoe&lt;/a&gt;, a student from a university in Singapore doing a course focused on developing for Mozilla. When I move to the header fields with tab or shift+tab, both the header name and its content is now announced instead of a whole load of nothing. It might seem trivial, but it makes my life a hell of a lot easier, and once again demonstrates the beauty of open source development. Thanks, Jason!</description></item><item><title>Quickly selecting a folder with the keyboard in Thunderbird</title><link>https://www.jantrid.net/2009/02/quickly-selecting-folder-with-keyboard.html</link><pubDate>Sat, 21 Feb 2009 10:34:00 +1000</pubDate><guid>https://www.jantrid.net/2009/02/quickly-selecting-folder-with-keyboard.html</guid><description>The folder selection tree in Mozilla Thunderbird can be a bit of a nuisance for keyboard users. You cannot jump to a folder by typing the first few letters of its name. In addition, when you move between folders with the cursor keys, Thunderbird opens the newly selected folder immediately. IF you have several accounts and many folders in some of those accounts like I do, this means that moving between folders which are quite far apart will cause Thunderbird to try to open every folder you visit on the way. This is not only slow, but also probably wasteful of bandwidth.&lt;br /&gt;&lt;br /&gt;I've just discovered a way to solve this second problem, which I'm posting in case others didn't know about it. To move between folders without opening every folder in between:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Move to the folder selection tree.&lt;/li&gt;&lt;li&gt;Press ctrl+space to deselect the current folder.&lt;/li&gt;&lt;li&gt;Rather than using the up and down arrows to find the desired folder, use ctrl+up and ctrl+down, respectively. You can of course keep your finger on the control key. Notice that Thunderbird does not open each folder.&lt;/li&gt;&lt;li&gt;When you reach the desired folder, press ctrl+space to select it. Thunderbird opens the selected folder.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;There is also the &lt;a href="http://alain.frisch.fr/soft_mozilla.html"&gt;Nostalgy&lt;/a&gt; extension, which, among other keyboard productivity enhancements, allows you to jump to a folder by typing all or part of its name. However, I use Thunderbird 3 nightlies and there have been a few compatibility issues recently. Also, Nostalgy overrides the functionality in the quick search bar and it makes the quick search menu inaccessible, so I don't use it anymore. (I should really report a bug, but I can't quite figure out what's going on.)</description></item><item><title>Blog Posts as Facebook Notes</title><link>https://www.jantrid.net/2009/02/blog-posts-as-facebook-notes.html</link><pubDate>Fri, 13 Feb 2009 23:09:00 +1000</pubDate><guid>https://www.jantrid.net/2009/02/blog-posts-as-facebook-notes.html</guid><description>I've now imported my blog into &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt;, so posts to this blog now also appear as notes on Facebook. This way, those of you who live primarily in the land of Facebook can't so easily avoid them. :) If you want to know how to do this yourself, see &lt;a href="http://randell.ph/geeky/2009/01/31/import-blog-posts-into-facebook/"&gt;this post&lt;/a&gt;.</description></item><item><title>Selling My Soul to Google</title><link>https://www.jantrid.net/2009/02/selling-my-soul-to-google.html</link><pubDate>Fri, 13 Feb 2009 22:02:00 +1000</pubDate><guid>https://www.jantrid.net/2009/02/selling-my-soul-to-google.html</guid><description>It seems I'm using Google services more and more as time goes on.&lt;br /&gt;&lt;br /&gt;First, several years ago, I started using &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt; (the search engine) and never looked back at other search engines. Like many others, I use Google search an absurdly ridiculous amount and find myself using Google and its derivatives (Googled, Googling, etc.) as verbs far too often. Then, I started using Google search to perform calculations and conversions (which I still think is a very cool feature). It's so convenient to be able to type "50 aud in usd" into Google search. I keep wishing that Google would allow me to perform quick searches of the &lt;a href="http://www.whitepages.com.au/"&gt;Australian White Pages&lt;/a&gt; so I don't have to use its annoying interface and deal with its often suboptimal search logic.&lt;br /&gt;&lt;br /&gt;Then, I experimented with using &lt;a href="http://www.google.com/calendar/"&gt;Google Calendar&lt;/a&gt;. I quite like its features, although it has some serious accessibility problems which make it rather frustrating to use, so I don't use it much now. I probably would if these were fixed, though.&lt;br /&gt;&lt;br /&gt;Last year, I got sick of the amount of email spam I was receiving. I could probably have found ways to improve it, but I got sick of maintaining it all myself. I used to love fiddling with all of this stuff, but these days, I just want essential things like email to damned well work. I then discovered the joys of the free &lt;a href="http://www.google.com/apps/intl/en/group/index.html"&gt;Google Apps Standard Edition&lt;/a&gt; and subsequently moved email hosting for jantrid.net to that. I still get the nice benefits of having my own email domain like being able to create multiple email accounts if I wish. (I've never really done this, but it's the principle!) I'll also be able to use Google Calendar on this if the accessibility improves.&lt;br /&gt;&lt;br /&gt;I've recently started using &lt;a href="http://news.google.com.au/"&gt;Google News&lt;/a&gt; on a daily basis to keep abreast of the latest news. I was previously somewhat notorious for not watching t.v. or listening to the radio very often and thus being horribly out of touch, so this is great.&lt;br /&gt;&lt;br /&gt;As anyone who has followed my previous blog incarnations can attest, I update them for a little while and then can't be bothered anymore. (Time will tell whether this will happen once again. It probably will. :)) However, i started to realise that part of the problem was that it was too much effort to post new entries with my previous blogging platforms. Again, I could have done something to improve this, but in the spirit of laziness that made me switch to Google Apps, I decided to switch to a service which hosted my blog for me and allowed me to use jantrid.net. There were a few candidates, but as you know, I ended up using &lt;a href="http://www.blogger.com/"&gt;Blogger&lt;/a&gt;, which is yet another Google service.&lt;br /&gt;&lt;br /&gt;The scary truth is that all of this really has made my life much easier and I'm not particularly inclined to change it, despite my zest for open platforms and solutions, as well as my general wariness and cynicism of large, world dominating corporations. I don't like being locked into a service running on a proprietary platform which doesn't allow me to export my data, but Google does allow data to be exported in open formats, so this isn't such a problem.&lt;br /&gt;&lt;br /&gt;Nevertheless, I have to wonder: what next? How much more of my life will involve Google in some way? What if it fell apart and died? Could I stop using it, even if I found out that it was becoming an awful, anti-competitive, privacy invading, unethical corporation which squashed all in its path to world domination? :) Okay, so that last bit might have been a bit melodramatic, but it does give one pause for thought even so.</description></item><item><title>Getting a Python Traceback without an Exception</title><link>https://www.jantrid.net/2009/02/getting-python-traceback-without.html</link><pubDate>Fri, 13 Feb 2009 21:30:00 +1000</pubDate><guid>https://www.jantrid.net/2009/02/getting-python-traceback-without.html</guid><description>Any Python programmer will be familiar with the stack traceback associated with an exception; most will be particularly familiar with a traceback being displayed for an unhandled exception. This is extremely useful in finding and resolving the issue in the code. However, for a long time now, I've often thought that it would be extremely useful to be able to get a stack traceback at any arbitrary point without needing an exception, which would aid in determining what code path was taken to get to a particular function call. I knew this was possible - Python does allow you to get at the stack frames - but I thought I might have to do a bit of work to obtain a nice traceback. Finally, figuring someone else must have wanted this, I did a bit of Googling and turned up &lt;a href="http://www.doughellmann.com/PyMOTW/traceback/"&gt;this article&lt;/a&gt;. I somehow missed print_stack(), format_stack() and extract_stack() in the traceback module. :) Sooo easy! :)</description></item><item><title>The Stupidity of Forced Password Changes</title><link>https://www.jantrid.net/2009/02/stupidity-of-forced-password-changes.html</link><pubDate>Thu, 12 Feb 2009 10:43:00 +1000</pubDate><guid>https://www.jantrid.net/2009/02/stupidity-of-forced-password-changes.html</guid><description>Changing passwords on a regular basis is supposed to increase security. If someone somehow gets hold of a password you used some time ago (perhaps they took a few months to get through their camera footage at the local wireless hotspot?), hopefully, it won't matter. &lt;a href="http://www.centrelink.gov.au/"&gt;Centrelink&lt;/a&gt; (the organisation responsible for social security services in Australia) enforces password changes after a defined period; I think it's every three months. Unfortunately, I tend to forget my new passwords when I have to change them like this. I believe I pick relatively strong passwords, but as a result, it sometimes takes me a while to memorise them. You can do silly things like changing one character, but I sometimes forget which character I changed. :) I would argue that enforcing password changes like this actually encourages insecure, stupid behaviour like writing them down, because people know they're going to forget their new password!</description></item><item><title>In praise of Darwin and the spirit of inquiry</title><link>https://www.jantrid.net/2009/02/in-praise-of-darwin-and-spirit-of.html</link><pubDate>Mon, 09 Feb 2009 08:03:00 +1000</pubDate><guid>https://www.jantrid.net/2009/02/in-praise-of-darwin-and-spirit-of.html</guid><description>This article is a rather interesting read:&lt;br /&gt;&lt;a href="http://www.timesonline.co.uk/tol/comment/columnists/guest_contributors/article5689367.ece"&gt;In praise of Darwin and the spirit of inquiry&lt;/a&gt;&lt;br /&gt;While it is centred specifically on Christianity, it strongly advocates my fervent belief that science and spirituality/religion/faith are most definitely not mutually exclusive; rather, they should support each other.</description></item><item><title>iPhone Ocarina</title><link>https://www.jantrid.net/2009/02/iphone-ocarina.html</link><pubDate>Fri, 06 Feb 2009 17:18:00 +1000</pubDate><guid>https://www.jantrid.net/2009/02/iphone-ocarina.html</guid><description>Okay. So some of you will know that I'm a bit (?) cynical of the iPhone. This is partly because it seems like yet another flashy new piece of largely closed, proprietary technology with lots of over-exaggerated hype. I've always been cynical of a lot of Apple stuff in general because of the huge number of people that see Apple as gods who can do no wrong. In truth, I think my cynicism towards the iPhone is mostly due to the fact that it has a touch screen which I can't use. Yeah, yeah, I know - I'm a sore loser. :) Anyway, despite my cynicism, even *I* was wowed reading &lt;a href="http://www.nytimes.com/2009/02/05/technology/personaltech/05pogue-email.html?_r=1"&gt;this article&lt;/a&gt; about an iPhone application called Ocarina. From the article:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Once you install and open this program, your iPhone's screen displays four colored circles of different sizes. These are the "holes" that you cover with your fingers, as you would the holes on a flute. Then you blow into the microphone hole at the bottom of the iPhone, and presto: the haunting, expressive, beautiful sound of a wind instrument comes from the iPhone speaker.&lt;br /&gt;Different combinations of fingers on those four "holes" produce the different notes of the scale. (You can change the key in Preferences--no doubt a first on a cellphone.) Tilting the phone up or down controls the vibrato.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Now *that* is pretty damned cool. I haven't actually played with it myself, but I'm sure it could keep me amused for a while... assuming I could figure out where to put my fingers. :)</description></item><item><title>Sorry, but We Only Have Toast</title><link>https://www.jantrid.net/2007/10/sorry-but-we-only-have-toast.html</link><pubDate>Fri, 05 Oct 2007 09:13:00 +1000</pubDate><guid>https://www.jantrid.net/2007/10/sorry-but-we-only-have-toast.html</guid><description>I slept terribly last night. How unusual. Anyway, I felt pretty awful and as a result, the following conversation ensued between Jen and I:&#10;&lt;br /&gt;&lt;blockquote&gt;Jamie: "&amp;lt;sighs heavily&amp;gt; I feel like a dried out turd."&#10;&lt;br /&gt;Jen: "Well I'm sorry, but we only have toast."&lt;/blockquote&gt;&#10;&lt;br /&gt;It made my morning seem so much more bearable. :)</description></item><item><title>Healthy Fruit Tingles?</title><link>https://www.jantrid.net/2006/08/healthy-fruit-tingles.html</link><pubDate>Mon, 21 Aug 2006 16:02:00 +1000</pubDate><guid>https://www.jantrid.net/2006/08/healthy-fruit-tingles.html</guid><description>I bought some new 1000 mg vitamin C tablets yesterday and discovered, much to my surprise, that they taste disturbingly like fruit tingles! I find this disturbing because a) I like fruit tingles, which therefore means I like the taste of these tablets; b) I could probably quite happily eat more of them; and c) my taste buds have to be totally demented to find a similarity between vitamin C tablets and fruit tingles. Who would have thought that tablets of any kind could taste even half decent?&#10;&lt;br /&gt;&#10;&lt;br /&gt;update: My brother informed me that they even look like fruit tingles minus the dimple in the centre. Now that I can actually taste a bit more, I can detect more of a slightly bitter aftertaste, but they still taste rather like fruit tingles.</description></item><item><title>Blind Man Assaults Child</title><link>https://www.jantrid.net/2006/07/blind-man-assaults-child.html</link><pubDate>Wed, 26 Jul 2006 10:50:00 +1000</pubDate><guid>https://www.jantrid.net/2006/07/blind-man-assaults-child.html</guid><description>&lt;blockquote&gt;&lt;strong&gt;A blind man assaulted a child on a Brisbane bus just before 9 this morning.&lt;/strong&gt;&#10;&lt;br /&gt;James Teh, a 21 year old unemployed musician, attempted to squash the boy with his rather large backpack.&#10;&lt;br /&gt;"I didn't realise the poor kid was sitting on the seat next to me," Teh told police. "I was carrying two bags and was trying to get them both into a workable position as I sat down."&#10;&lt;br /&gt;&#10;&lt;br /&gt;This is just one of many incidents of unprovoked assault by a blind person, citing their disability to excuse this unacceptable behaviour. Even if such acts are accidental as they claim, blind people seem to believe that their lack of sight is justification for their failure to see others nearby.&#10;&lt;br /&gt;"Damn blindies," a young high school music teacher commented. "You just can't trust 'em."&lt;/blockquote&gt;</description></item><item><title>Music</title><link>https://www.jantrid.net/music/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.jantrid.net/music/</guid><description>&lt;p&gt;Here is a collection of music I&amp;rsquo;ve recorded, some solo and some with others.&#10;I hope you enjoy!&lt;/p&gt;&#10;&lt;h2 id="electronight-alchemy"&gt;Electronight Alchemy&lt;/h2&gt;&#10;&lt;p&gt;An alternative duo with Michael Sheppard.&#10;You can find us on &lt;a href="https://open.spotify.com/artist/6VVNGUiM1nGLoSFI3ao0B8"&gt;Spotify&lt;/a&gt;, &lt;a href="https://music.apple.com/us/artist/electronight-alchemy/1698505981"&gt;Apple Music&lt;/a&gt;, &lt;a href="https://www.youtube.com/channel/UCErninmmVQqfZ4_qKMXHwig"&gt;YouTube&lt;/a&gt; and other streaming services.&#10;Below are some older tracks that aren&amp;rsquo;t available on streaming services.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/NthDegree/Balcony.mp3"&gt;Balcony&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/NthDegree/Limbo.mp3"&gt;Limbo&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/NthDegree/Fallen.mp3"&gt;Fallen&lt;/a&gt;: Featuring Jack Murphy on guitar.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/NthDegree/EverythingIsFine.mp3"&gt;Everything is Fine&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/NthDegree/OutOfLove.mp3"&gt;Out of Love&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/NthDegree/BreakingInside.mp3"&gt;Breaking Inside&lt;/a&gt;: Featuring vocals by Jennifer Teh.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/NthDegree/Watchers.mp3"&gt;Watchers&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/NthDegree/Temptation.mp3"&gt;Temptation&lt;/a&gt;: Featuring Jack Murphy on guitar.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/NthDegree/CruelToBeKind.mp3"&gt;Cruel to be Kind&lt;/a&gt;: Featuring vocals by Jennifer Teh.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/NthDegree/NeverBeTheSame.mp3"&gt;Never be the Same&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/NthDegree/LosingTouch.mp3"&gt;Losing touch&lt;/a&gt;: Featuring Michael Cudmore on guitar.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="solo"&gt;Solo&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/Torch.mp3"&gt;Torch&lt;/a&gt;: 3 minutes 30 of instrumental symphonic electronica meets metal meets cinematic meets… other things.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://files.jantrid.net/music/ITurnToYou.mp3"&gt;I Turn to You&lt;/a&gt;: A piano and vocal ballad.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="kids"&gt;Kids&lt;/h2&gt;&#10;&lt;p&gt;Some stuff I&amp;rsquo;ve recorded with my boys.&lt;/p&gt;</description></item></channel></rss>