From c0fe6ec515b707be6ca24004776c408602d2ae7b Mon Sep 17 00:00:00 2001 From: Wesley Moore Date: Fri, 12 Mar 2010 07:30:27 +1100 Subject: [PATCH] Initial content import --- ...-caffeine-porting-cocoa-to-cappuccino.html | 14 ++ ...-caffeine-porting-cocoa-to-cappuccino.yaml | 16 ++ content/drafts/google-chrome-for-mac.html | 3 + content/drafts/google-chrome-for-mac.yaml | 13 ++ content/drafts/haiku.html | 3 + content/drafts/haiku.yaml | 13 ++ ...lling-debian-with-gpxe-and-netboot-me.html | 16 ++ ...lling-debian-with-gpxe-and-netboot-me.yaml | 13 ++ content/drafts/iphone-gripes-reminders.html | 3 + content/drafts/iphone-gripes-reminders.yaml | 13 ++ content/drafts/perl-worst-practices.html | 1 + content/drafts/perl-worst-practices.yaml | 13 ++ content/personal/2008/05/geohashing.html | 11 + content/personal/2008/05/geohashing.yaml | 13 ++ .../2008/07/iphone-3g-one-week-in.html | 29 +++ .../2008/07/iphone-3g-one-week-in.yaml | 14 ++ content/personal/2008/09/new-theme.html | 3 + content/personal/2008/09/new-theme.yaml | 13 ++ content/personal/2008/11/cumquat-liqueur.html | 18 ++ content/personal/2008/11/cumquat-liqueur.yaml | 14 ++ content/personal/2008/11/movember.html | 11 + content/personal/2008/11/movember.yaml | 14 ++ .../2008/11/typography-enhancements.html | 8 + .../2008/11/typography-enhancements.yaml | 13 ++ .../2009/01/sensation-melbourne-nye.html | 5 + .../2009/01/sensation-melbourne-nye.yaml | 13 ++ .../2009/03/becoming-a-melbourne-cyclist.html | 24 ++ .../2009/03/becoming-a-melbourne-cyclist.yaml | 15 ++ ...general-tech-content-here-from-now-on.html | 8 + ...general-tech-content-here-from-now-on.yaml | 13 ++ .../2009/03/gmail-stickers-have-arrived.html | 1 + .../2009/03/gmail-stickers-have-arrived.yaml | 14 ++ .../moving-geeky-posts-to-binary-trance.html | 1 + .../moving-geeky-posts-to-binary-trance.yaml | 15 ++ .../2009/03/once-a-month-cooking.html | 7 + .../2009/03/once-a-month-cooking.yaml | 14 ++ .../04/greetings-from-tall-karri-country.html | 3 + .../04/greetings-from-tall-karri-country.yaml | 13 ++ .../05/rafael-bonachelas-360-degrees.html | 9 + .../05/rafael-bonachelas-360-degrees.yaml | 13 ++ content/personal/2010/01/mt-dandenong.html | 9 + content/personal/2010/01/mt-dandenong.yaml | 14 ++ .../2010/01/sensation-melbourne-2009.html | 3 + .../2010/01/sensation-melbourne-2009.yaml | 15 ++ .../technical/2008/02/seeking-app-ideas.html | 5 + .../technical/2008/02/seeking-app-ideas.yaml | 14 ++ .../2008/03/create-empty-tar-file.html | 12 + .../2008/03/create-empty-tar-file.yaml | 18 ++ .../technical/2008/03/webkit-for-keynote.html | 9 + .../technical/2008/03/webkit-for-keynote.yaml | 13 ++ ...s-silverlight-installation-experience.html | 27 +++ ...s-silverlight-installation-experience.yaml | 13 ++ ...-glob-in-variable-within-shell-script.html | 8 + ...-glob-in-variable-within-shell-script.yaml | 19 ++ .../04/mp3-decoder-libraries-compared.html | 206 ++++++++++++++++++ .../04/mp3-decoder-libraries-compared.yaml | 20 ++ ...za-style-delivery-for-technical-books.html | 13 ++ ...za-style-delivery-for-technical-books.yaml | 17 ++ ...weekly-getting-in-on-the-linux-action.html | 1 + ...weekly-getting-in-on-the-linux-action.yaml | 15 ++ .../2008/05/death-to-the-feed-uri-scheme.html | 21 ++ .../2008/05/death-to-the-feed-uri-scheme.yaml | 16 ++ ...m-completion-searching-included-files.html | 5 + ...m-completion-searching-included-files.yaml | 17 ++ .../2008/05/to-title-case-bookmarklet.html | 5 + .../2008/05/to-title-case-bookmarklet.yaml | 15 ++ .../2008/07/comment-feeds-in-wordpress.html | 2 + .../2008/07/comment-feeds-in-wordpress.yaml | 14 ++ .../07/iphone-tips-from-the-user-guide.html | 148 +++++++++++++ .../07/iphone-tips-from-the-user-guide.yaml | 13 ++ .../2008/07/iphone-vodafone-comments.html | 15 ++ .../2008/07/iphone-vodafone-comments.yaml | 15 ++ .../08/iphone-gripe-trucated-song-titles.html | 4 + .../08/iphone-gripe-trucated-song-titles.yaml | 18 ++ .../08/pondering-sent-from-my-iphone.html | 33 +++ .../08/pondering-sent-from-my-iphone.yaml | 13 ++ .../2008/09/pimping-vim-on-windows.html | 33 +++ .../2008/09/pimping-vim-on-windows.yaml | 14 ++ .../2008/09/update-expectations.html | 35 +++ .../2008/09/update-expectations.yaml | 14 ++ .../zsh-cygwin-and-insecure-directories.html | 44 ++++ .../zsh-cygwin-and-insecure-directories.yaml | 15 ++ content/technical/2008/11/iphone-case.html | 7 + content/technical/2008/11/iphone-case.yaml | 14 ++ .../2008/11/power-mac-g5-on-ebay.html | 5 + .../2008/11/power-mac-g5-on-ebay.yaml | 14 ++ .../technical/2008/11/progress-update.html | 19 ++ .../technical/2008/11/progress-update.yaml | 13 ++ ...tomatically-installed-debian-packages.html | 13 ++ ...tomatically-installed-debian-packages.yaml | 20 ++ .../the-iphone-headphones-have-a-button.html | 43 ++++ .../the-iphone-headphones-have-a-button.yaml | 17 ++ .../bash-git-completion-with-mac-ports.html | 5 + .../bash-git-completion-with-mac-ports.yaml | 16 ++ .../2009/03/consolas-on-mac-update.html | 4 + .../2009/03/consolas-on-mac-update.yaml | 16 ++ .../2009/03/debian-lenny-released.html | 3 + .../2009/03/debian-lenny-released.yaml | 16 ++ .../free-virtualisation-with-virtualbox.html | 14 ++ .../free-virtualisation-with-virtualbox.yaml | 15 ++ .../2009/03/install-consolas-mac-osx.html | 40 ++++ .../2009/03/install-consolas-mac-osx.yaml | 18 ++ ...-desktop-connection-without-installer.html | 15 ++ ...-desktop-connection-without-installer.yaml | 17 ++ .../2009/03/mlug-virtualbox-workshop.html | 1 + .../2009/03/mlug-virtualbox-workshop.yaml | 16 ++ .../2009/03/my-first-new-site-is-live.html | 5 + .../2009/03/my-first-new-site-is-live.yaml | 15 ++ ...n-rtmp-video-stream-with-flv-recorder.html | 24 ++ ...n-rtmp-video-stream-with-flv-recorder.yaml | 19 ++ ...e-side-bar-for-faster-find-in-project.html | 5 + ...e-side-bar-for-faster-find-in-project.yaml | 21 ++ ...er-a-site-with-wget-using-sitemap-xml.html | 5 + ...er-a-site-with-wget-using-sitemap-xml.yaml | 14 ++ .../2009/06/programming-fonts-recap.html | 22 ++ .../2009/06/programming-fonts-recap.yaml | 22 ++ .../2009/06/virtualbox-news-atom-feed.html | 6 + .../2009/06/virtualbox-news-atom-feed.yaml | 15 ++ ...g-nab-internet-banking-with-mechanize.html | 5 + ...g-nab-internet-banking-with-mechanize.yaml | 17 ++ .../2009/08/adaptive-shell-idea.html | 10 + .../2009/08/adaptive-shell-idea.yaml | 15 ++ ...ocal-package-management-with-gnu-stow.html | 11 + ...ocal-package-management-with-gnu-stow.yaml | 18 ++ .../2009/08/temperature-logger-project.html | 11 + .../2009/08/temperature-logger-project.yaml | 20 ++ .../technical/2009/08/the-art-of-backup.html | 81 +++++++ .../technical/2009/08/the-art-of-backup.yaml | 21 ++ .../09/font-smoothing-in-snow-leopard.html | 13 ++ .../09/font-smoothing-in-snow-leopard.yaml | 17 ++ .../clone-git-repo-on-non-standard-port.html | 7 + .../clone-git-repo-on-non-standard-port.yaml | 17 ++ .../2010/01/updated-applications.html | 14 ++ .../2010/01/updated-applications.yaml | 18 ++ .../2010/02/git-object-store-efficiency.html | 48 ++++ .../2010/02/git-object-store-efficiency.yaml | 13 ++ .../02/ipad-and-the-future-of-computing.html | 65 ++++++ .../02/ipad-and-the-future-of-computing.yaml | 15 ++ importer/rewritemap.txt | 63 ++++++ 139 files changed, 2443 insertions(+) create mode 100644 content/drafts/adding-caffeine-porting-cocoa-to-cappuccino.html create mode 100644 content/drafts/adding-caffeine-porting-cocoa-to-cappuccino.yaml create mode 100644 content/drafts/google-chrome-for-mac.html create mode 100644 content/drafts/google-chrome-for-mac.yaml create mode 100644 content/drafts/haiku.html create mode 100644 content/drafts/haiku.yaml create mode 100644 content/drafts/installing-debian-with-gpxe-and-netboot-me.html create mode 100644 content/drafts/installing-debian-with-gpxe-and-netboot-me.yaml create mode 100644 content/drafts/iphone-gripes-reminders.html create mode 100644 content/drafts/iphone-gripes-reminders.yaml create mode 100644 content/drafts/perl-worst-practices.html create mode 100644 content/drafts/perl-worst-practices.yaml create mode 100644 content/personal/2008/05/geohashing.html create mode 100644 content/personal/2008/05/geohashing.yaml create mode 100644 content/personal/2008/07/iphone-3g-one-week-in.html create mode 100644 content/personal/2008/07/iphone-3g-one-week-in.yaml create mode 100644 content/personal/2008/09/new-theme.html create mode 100644 content/personal/2008/09/new-theme.yaml create mode 100644 content/personal/2008/11/cumquat-liqueur.html create mode 100644 content/personal/2008/11/cumquat-liqueur.yaml create mode 100644 content/personal/2008/11/movember.html create mode 100644 content/personal/2008/11/movember.yaml create mode 100644 content/personal/2008/11/typography-enhancements.html create mode 100644 content/personal/2008/11/typography-enhancements.yaml create mode 100644 content/personal/2009/01/sensation-melbourne-nye.html create mode 100644 content/personal/2009/01/sensation-melbourne-nye.yaml create mode 100644 content/personal/2009/03/becoming-a-melbourne-cyclist.html create mode 100644 content/personal/2009/03/becoming-a-melbourne-cyclist.yaml create mode 100644 content/personal/2009/03/general-tech-content-here-from-now-on.html create mode 100644 content/personal/2009/03/general-tech-content-here-from-now-on.yaml create mode 100644 content/personal/2009/03/gmail-stickers-have-arrived.html create mode 100644 content/personal/2009/03/gmail-stickers-have-arrived.yaml create mode 100644 content/personal/2009/03/moving-geeky-posts-to-binary-trance.html create mode 100644 content/personal/2009/03/moving-geeky-posts-to-binary-trance.yaml create mode 100644 content/personal/2009/03/once-a-month-cooking.html create mode 100644 content/personal/2009/03/once-a-month-cooking.yaml create mode 100644 content/personal/2009/04/greetings-from-tall-karri-country.html create mode 100644 content/personal/2009/04/greetings-from-tall-karri-country.yaml create mode 100644 content/personal/2009/05/rafael-bonachelas-360-degrees.html create mode 100644 content/personal/2009/05/rafael-bonachelas-360-degrees.yaml create mode 100644 content/personal/2010/01/mt-dandenong.html create mode 100644 content/personal/2010/01/mt-dandenong.yaml create mode 100644 content/personal/2010/01/sensation-melbourne-2009.html create mode 100644 content/personal/2010/01/sensation-melbourne-2009.yaml create mode 100644 content/technical/2008/02/seeking-app-ideas.html create mode 100644 content/technical/2008/02/seeking-app-ideas.yaml create mode 100644 content/technical/2008/03/create-empty-tar-file.html create mode 100644 content/technical/2008/03/create-empty-tar-file.yaml create mode 100644 content/technical/2008/03/webkit-for-keynote.html create mode 100644 content/technical/2008/03/webkit-for-keynote.yaml create mode 100644 content/technical/2008/03/windows-silverlight-installation-experience.html create mode 100644 content/technical/2008/03/windows-silverlight-installation-experience.yaml create mode 100644 content/technical/2008/04/expand-glob-in-variable-within-shell-script.html create mode 100644 content/technical/2008/04/expand-glob-in-variable-within-shell-script.yaml create mode 100644 content/technical/2008/04/mp3-decoder-libraries-compared.html create mode 100644 content/technical/2008/04/mp3-decoder-libraries-compared.yaml create mode 100644 content/technical/2008/04/pizza-style-delivery-for-technical-books.html create mode 100644 content/technical/2008/04/pizza-style-delivery-for-technical-books.yaml create mode 100644 content/technical/2008/04/womens-weekly-getting-in-on-the-linux-action.html create mode 100644 content/technical/2008/04/womens-weekly-getting-in-on-the-linux-action.yaml create mode 100644 content/technical/2008/05/death-to-the-feed-uri-scheme.html create mode 100644 content/technical/2008/05/death-to-the-feed-uri-scheme.yaml create mode 100644 content/technical/2008/05/stop-vim-completion-searching-included-files.html create mode 100644 content/technical/2008/05/stop-vim-completion-searching-included-files.yaml create mode 100644 content/technical/2008/05/to-title-case-bookmarklet.html create mode 100644 content/technical/2008/05/to-title-case-bookmarklet.yaml create mode 100644 content/technical/2008/07/comment-feeds-in-wordpress.html create mode 100644 content/technical/2008/07/comment-feeds-in-wordpress.yaml create mode 100644 content/technical/2008/07/iphone-tips-from-the-user-guide.html create mode 100644 content/technical/2008/07/iphone-tips-from-the-user-guide.yaml create mode 100644 content/technical/2008/07/iphone-vodafone-comments.html create mode 100644 content/technical/2008/07/iphone-vodafone-comments.yaml create mode 100644 content/technical/2008/08/iphone-gripe-trucated-song-titles.html create mode 100644 content/technical/2008/08/iphone-gripe-trucated-song-titles.yaml create mode 100644 content/technical/2008/08/pondering-sent-from-my-iphone.html create mode 100644 content/technical/2008/08/pondering-sent-from-my-iphone.yaml create mode 100644 content/technical/2008/09/pimping-vim-on-windows.html create mode 100644 content/technical/2008/09/pimping-vim-on-windows.yaml create mode 100644 content/technical/2008/09/update-expectations.html create mode 100644 content/technical/2008/09/update-expectations.yaml create mode 100644 content/technical/2008/09/zsh-cygwin-and-insecure-directories.html create mode 100644 content/technical/2008/09/zsh-cygwin-and-insecure-directories.yaml create mode 100644 content/technical/2008/11/iphone-case.html create mode 100644 content/technical/2008/11/iphone-case.yaml create mode 100644 content/technical/2008/11/power-mac-g5-on-ebay.html create mode 100644 content/technical/2008/11/power-mac-g5-on-ebay.yaml create mode 100644 content/technical/2008/11/progress-update.html create mode 100644 content/technical/2008/11/progress-update.yaml create mode 100644 content/technical/2009/01/determining-non-automatically-installed-debian-packages.html create mode 100644 content/technical/2009/01/determining-non-automatically-installed-debian-packages.yaml create mode 100644 content/technical/2009/01/the-iphone-headphones-have-a-button.html create mode 100644 content/technical/2009/01/the-iphone-headphones-have-a-button.yaml create mode 100644 content/technical/2009/03/bash-git-completion-with-mac-ports.html create mode 100644 content/technical/2009/03/bash-git-completion-with-mac-ports.yaml create mode 100644 content/technical/2009/03/consolas-on-mac-update.html create mode 100644 content/technical/2009/03/consolas-on-mac-update.yaml create mode 100644 content/technical/2009/03/debian-lenny-released.html create mode 100644 content/technical/2009/03/debian-lenny-released.yaml create mode 100644 content/technical/2009/03/free-virtualisation-with-virtualbox.html create mode 100644 content/technical/2009/03/free-virtualisation-with-virtualbox.yaml create mode 100644 content/technical/2009/03/install-consolas-mac-osx.html create mode 100644 content/technical/2009/03/install-consolas-mac-osx.yaml create mode 100644 content/technical/2009/03/mac-remote-desktop-connection-without-installer.html create mode 100644 content/technical/2009/03/mac-remote-desktop-connection-without-installer.yaml create mode 100644 content/technical/2009/03/mlug-virtualbox-workshop.html create mode 100644 content/technical/2009/03/mlug-virtualbox-workshop.yaml create mode 100644 content/technical/2009/03/my-first-new-site-is-live.html create mode 100644 content/technical/2009/03/my-first-new-site-is-live.yaml create mode 100644 content/technical/2009/04/capturing-an-rtmp-video-stream-with-flv-recorder.html create mode 100644 content/technical/2009/04/capturing-an-rtmp-video-stream-with-flv-recorder.yaml create mode 100644 content/technical/2009/05/exclude-directories-from-textmate-side-bar-for-faster-find-in-project.html create mode 100644 content/technical/2009/05/exclude-directories-from-textmate-side-bar-for-faster-find-in-project.yaml create mode 100644 content/technical/2009/05/spider-a-site-with-wget-using-sitemap-xml.html create mode 100644 content/technical/2009/05/spider-a-site-with-wget-using-sitemap-xml.yaml create mode 100644 content/technical/2009/06/programming-fonts-recap.html create mode 100644 content/technical/2009/06/programming-fonts-recap.yaml create mode 100644 content/technical/2009/06/virtualbox-news-atom-feed.html create mode 100644 content/technical/2009/06/virtualbox-news-atom-feed.yaml create mode 100644 content/technical/2009/07/scraping-nab-internet-banking-with-mechanize.html create mode 100644 content/technical/2009/07/scraping-nab-internet-banking-with-mechanize.yaml create mode 100644 content/technical/2009/08/adaptive-shell-idea.html create mode 100644 content/technical/2009/08/adaptive-shell-idea.yaml create mode 100644 content/technical/2009/08/local-package-management-with-gnu-stow.html create mode 100644 content/technical/2009/08/local-package-management-with-gnu-stow.yaml create mode 100644 content/technical/2009/08/temperature-logger-project.html create mode 100644 content/technical/2009/08/temperature-logger-project.yaml create mode 100644 content/technical/2009/08/the-art-of-backup.html create mode 100644 content/technical/2009/08/the-art-of-backup.yaml create mode 100644 content/technical/2009/09/font-smoothing-in-snow-leopard.html create mode 100644 content/technical/2009/09/font-smoothing-in-snow-leopard.yaml create mode 100644 content/technical/2010/01/clone-git-repo-on-non-standard-port.html create mode 100644 content/technical/2010/01/clone-git-repo-on-non-standard-port.yaml create mode 100644 content/technical/2010/01/updated-applications.html create mode 100644 content/technical/2010/01/updated-applications.yaml create mode 100644 content/technical/2010/02/git-object-store-efficiency.html create mode 100644 content/technical/2010/02/git-object-store-efficiency.yaml create mode 100644 content/technical/2010/02/ipad-and-the-future-of-computing.html create mode 100644 content/technical/2010/02/ipad-and-the-future-of-computing.yaml create mode 100644 importer/rewritemap.txt diff --git a/content/drafts/adding-caffeine-porting-cocoa-to-cappuccino.html b/content/drafts/adding-caffeine-porting-cocoa-to-cappuccino.html new file mode 100644 index 0000000..41b0d2e --- /dev/null +++ b/content/drafts/adding-caffeine-porting-cocoa-to-cappuccino.html @@ -0,0 +1,14 @@ +Translate foundation from NS to CP +No pointers so lose the * +Local variables are not typed, so just declare then with var +No properties so convert dot notation to method calls +No synthesize but can add @accessors to ivars to create basic accessor methods +#pragma's don't work and cause syntax errors +No header files, just put it all in the j file +#import becomes @import +CGPointZero, CGRectZero -> CGMakePointZero(), CGMakeRectZero() + + +TextMate regexes to convert properties to method calls: +Find: (\s*)([^.]+)\.([^ ]+) = ([^;]+); +Replace: $1[$2 set\u$3:$4]; diff --git a/content/drafts/adding-caffeine-porting-cocoa-to-cappuccino.yaml b/content/drafts/adding-caffeine-porting-cocoa-to-cappuccino.yaml new file mode 100644 index 0000000..86403d1 --- /dev/null +++ b/content/drafts/adding-caffeine-porting-cocoa-to-cappuccino.yaml @@ -0,0 +1,16 @@ +--- +slug: adding-caffeine-porting-cocoa-to-cappuccino +permalink: http://www.wezm.net/?p=238 +kind: draft +section: technical +created_at: 2009-08-17 12:31:47 +title: "Adding Caffeine: Porting Cocoa to Cappuccino" +post_id: 238 +tags: +- cappuccino +- cocoa +- objective-c +- objective-j +categories: +- Development +status: draft diff --git a/content/drafts/google-chrome-for-mac.html b/content/drafts/google-chrome-for-mac.html new file mode 100644 index 0000000..9ea8fc5 --- /dev/null +++ b/content/drafts/google-chrome-for-mac.html @@ -0,0 +1,3 @@ +Google's web browser, Chrome, has been available as a developer preview for some time now. Recently it shifted to beta status and the polish keeps piling on. There are a lot of nice touches in the browser that have contributed to me switching away from Safari such as multi-purpose address/search bar, tab closing behaviour, performance and a supported extension mechanism. Some of these things were discussed in Rob Friesel Jr.'s a Week With Chrome and Basil Safwat's obviously tab focussed, A piece with a lot of screenshots about the close tab behaviour in Google Chrome. + +Today, whilst reading http://orderedlist.com/our-writing/resources/html-css/single-line-css/ \ No newline at end of file diff --git a/content/drafts/google-chrome-for-mac.yaml b/content/drafts/google-chrome-for-mac.yaml new file mode 100644 index 0000000..fc8300d --- /dev/null +++ b/content/drafts/google-chrome-for-mac.yaml @@ -0,0 +1,13 @@ +--- +slug: google-chrome-for-mac +permalink: http://www.wezm.net/?p=298 +kind: draft +section: personal +created_at: 0000-00-00 00:00:00 +title: Google Chrome for Mac +post_id: 298 +tags: [] + +categories: +- Miscellaneous +status: draft diff --git a/content/drafts/haiku.html b/content/drafts/haiku.html new file mode 100644 index 0000000..3749d8c --- /dev/null +++ b/content/drafts/haiku.html @@ -0,0 +1,3 @@ +On the topic of OS's nearing release, Haiku is set for an alpha release in Sep[1]: http://www.osnews.com/story/22001/Haiku_Schedules_First_Alpha_Release_for_September_9 + +If you haven't heard of Haiku its a rewrite of BeOS from scratch. The aim of the first release is compatibility with the last official release of BeOS: R5. They're a good way down that path. As far as I know many apps that were built for R5 will run on Haiku. I've been following the project for a while now. Back in uni I downloaded an installed BeOS on my PC, this was obviously before the company went out of business/was bought by Palm (I think). The bit that interests me about it is that its GUI out of the box, much like OS X and Windows. Its attributes such as compactness, GUI, open source and POSIX core makes it a great candidate for high level embedded type projects I think. Things like the digital photo frame project I've had in mind for a while. Its one drawback in my mind is that the platform's primary language is C++, which I'm not a huge fan of. However if you're into C++ it might be worth checking out. If I recall correctly large parts of the kernel are written in C++ too. \ No newline at end of file diff --git a/content/drafts/haiku.yaml b/content/drafts/haiku.yaml new file mode 100644 index 0000000..43d09c1 --- /dev/null +++ b/content/drafts/haiku.yaml @@ -0,0 +1,13 @@ +--- +slug: haiku +permalink: http://www.wezm.net/?p=240 +kind: draft +section: personal +created_at: 0000-00-00 00:00:00 +title: Haiku +post_id: 240 +tags: +- os +categories: +- Miscellaneous +status: draft diff --git a/content/drafts/installing-debian-with-gpxe-and-netboot-me.html b/content/drafts/installing-debian-with-gpxe-and-netboot-me.html new file mode 100644 index 0000000..305a2ef --- /dev/null +++ b/content/drafts/installing-debian-with-gpxe-and-netboot-me.html @@ -0,0 +1,16 @@ +WezM.net was down again this weekend. The cause this time was the the large storms in Melbourne flooding the office where the computer that hosts this site lives. The computer escaped the water but the network and Internet connection did not. + +The office is located 60km from home so fixing problems like these have to wait until office hours, hence the extended downtime. This is the second time in an many weeks that I've run into this problem so I've decided to move WezM.net to my Mini ITX server, which is more accessible out of hours as its at home. + +The ITX server flawlessly powered WezM.net from 2005 to 2007 with a personal best uptime of 407 days. I recently dug it up and had planned on running FreeBSD on it. However over the weekend I decided to take the easy way out and just go back Debian, which originally powered the server. Its a little better suited to this server due the wide availability of binary packages; compiling stuff is not fast on an 800Mhz Via C3. In case you're wondering why I'm bothering with self hosting its because I'm too stingy to pay for a VPS. + +The ITX server lacks a CDROM drive and my previous attempts to boot from USB flash drives have failed. This makes installing new OSes a bit of a challenge. I decided to try out installing Debian via netboot.me. As the name suggests, netboot.me allows you to netboot a PC via the Internet. To do so you download and burn their bootable image to CD, floppy or USB drive. I didn't use any of these though as I already had a 8Mb (yes Mb) bootable CF card with gPXE installed on it. gPXE is an open source and enhanced network bootloader. + +The installation involved the following steps: +
    +
  1. Connecting the CF card to the server (via a CF to IDE adaptor) and booting from it.
  2. +
  3. Entering the gPXE prompt via Ctrl-b. At this point gPXE had configured the network interface with DHCP.
  4. +
  5. Boot the Debian installer with the chain command: chain http://netboot.me/2013
  6. +
+ +After that it downloads a kernel and initrd image and boots. All directly off the Internet. Brilliant! \ No newline at end of file diff --git a/content/drafts/installing-debian-with-gpxe-and-netboot-me.yaml b/content/drafts/installing-debian-with-gpxe-and-netboot-me.yaml new file mode 100644 index 0000000..59d8f77 --- /dev/null +++ b/content/drafts/installing-debian-with-gpxe-and-netboot-me.yaml @@ -0,0 +1,13 @@ +--- +slug: installing-debian-with-gpxe-and-netboot-me +permalink: http://www.wezm.net/?p=327 +kind: draft +section: personal +created_at: 0000-00-00 00:00:00 +title: Installing Debian With gPXE and netboot.me +post_id: 327 +tags: [] + +categories: +- Miscellaneous +status: draft diff --git a/content/drafts/iphone-gripes-reminders.html b/content/drafts/iphone-gripes-reminders.html new file mode 100644 index 0000000..ecc69da --- /dev/null +++ b/content/drafts/iphone-gripes-reminders.html @@ -0,0 +1,3 @@ +Reminders aren't aggressive enough. A single buzz when on silent is not enough and makes them very easy to miss. They should behave like a phone call and persist until acknwledged. + +Lack of camera functionality: no timed photos \ No newline at end of file diff --git a/content/drafts/iphone-gripes-reminders.yaml b/content/drafts/iphone-gripes-reminders.yaml new file mode 100644 index 0000000..04bada9 --- /dev/null +++ b/content/drafts/iphone-gripes-reminders.yaml @@ -0,0 +1,13 @@ +--- +slug: iphone-gripes-reminders +permalink: http://www.wezm.net/?p=237 +kind: draft +section: technical +created_at: 2008-07-24 14:11:35 +title: "iPhone gripes: Reminders" +post_id: 237 +tags: [] + +categories: +- iPhone +status: draft diff --git a/content/drafts/perl-worst-practices.html b/content/drafts/perl-worst-practices.html new file mode 100644 index 0000000..48fd918 --- /dev/null +++ b/content/drafts/perl-worst-practices.html @@ -0,0 +1 @@ +Compare not best practice to be practice. Mention ruby embracing flexiblemess python evolution. New barewords. \ No newline at end of file diff --git a/content/drafts/perl-worst-practices.yaml b/content/drafts/perl-worst-practices.yaml new file mode 100644 index 0000000..c7e498d --- /dev/null +++ b/content/drafts/perl-worst-practices.yaml @@ -0,0 +1,13 @@ +--- +slug: perl-worst-practices +permalink: http://www.wezm.net/?p=100 +kind: draft +section: uncategorized +created_at: 0000-00-00 00:00:00 +title: Perl Worst Practices +post_id: 100 +tags: [] + +categories: +- Uncategorized +status: draft diff --git a/content/personal/2008/05/geohashing.html b/content/personal/2008/05/geohashing.html new file mode 100644 index 0000000..7961c51 --- /dev/null +++ b/content/personal/2008/05/geohashing.html @@ -0,0 +1,11 @@ +Geohashing xkcd comic + +Randall Munroe proposed the awesomely geeky idea of geohashing via the xkcd comic and blag recently. The idea basically involves using the MD5 hash of a date combined with the opening value of the Dow Jones Index for that date to derive a latitude and longitude relative to a (generally your own) location. + +However there is a problem for those of us residing in Australia (and other locations with a time zone significantly different from EST). With the Dow Jones Index operating on US time its not possible to determine a geohashed location in Australia until about 23:00 AEST for a given date. No doubt others have thought of this but I suggest we use the All Ordinaries Index instead. With that out of the way we just need some enterprising sole with some spare time to implement a version of the map based on this. + +Update: More info on geohashing in Melbourne on the Visible Procrastinations blog. + +Another Update: Using the Dow on the weekend works well though. As over the weekend everyone is more or less synced to the same index. + +Final Update: The xkcd blag has a follow up article that clarifies the behaviour for Europe, Asia and Australia. It boils down to using the previous day's Dow Jones Index. \ No newline at end of file diff --git a/content/personal/2008/05/geohashing.yaml b/content/personal/2008/05/geohashing.yaml new file mode 100644 index 0000000..d161996 --- /dev/null +++ b/content/personal/2008/05/geohashing.yaml @@ -0,0 +1,13 @@ +--- +slug: geohashing +permalink: http://www.wezm.net/2008/05/geohashing/ +kind: article +section: personal +created_at: 2008-05-22 07:34:53 +title: Geohashing +post_id: 23 +tags: [] + +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2008/07/iphone-3g-one-week-in.html b/content/personal/2008/07/iphone-3g-one-week-in.html new file mode 100644 index 0000000..900a019 --- /dev/null +++ b/content/personal/2008/07/iphone-3g-one-week-in.html @@ -0,0 +1,29 @@ +A friend asked the following today, the reply was big enough I decided to post it: + +
So Wes, you've had your iPhone for a week now - what are your initial comments? + +Pros / Cons? + +Has it changed your life? Has the battery life been crappy for you? Talk time OK?
+ +Its definitely the best phone I've had. Part of that is due to the tight integration with Mac OS X, which obviously very few companies were going to pull off. As a device its brilliant to use and full of functionality. I'm loving the apps and decent browser. The WiFi is really nice at home. The iPod part obviously works as well and better than any prior iPod. + +The on screen keyboard is pretty much as described. You have to give it time to get the hang of it and you have to trust it. If you're typing a word that would be in the English dictionary you're best to keep on typing even if the word is way off. By the time you get to pressing space its usually selected the right word, which is selected automatically upon space. Two irritations with typing though. Its less likely to get shorter word right, particularly when there's multiple valid options. There's no way that I'm aware of to get a list of possibilities and choose the one you want. Of course being a small word means its not hard to fix and if you type it correctly in the first place then it isn't a problem at all. The other minor annoyance is when you get to the last word in a sentence that is mis-typed with a correct suggestion it appears the only way to accept it is to press space (and then delete the space) or grab a full stop. + +BylineI haven't missed MMS at all, especially with a decent email client built in that can talk to Gmail via IMAP and send photos to flickr that way. +I have missed Todo functionality. I have no idea why Apple have not got this syncing. The support is there in iSync and todos sync with my old phone (Nokia 6280) just fine. I'm hoping that its one of these things that will make it eventually. There's two reasons I miss todo, one to track things to be done, the other is for reminders for things that don't have a duration (which can be put in as calendar entries). There is no way to do reminders without a duration at the moment. Having said that the calendar functionality is comprehensive. It supports multiple calendars, full editing, meeting acceptance and basically anything you can do on the desktop. + +TwinkleAnother annoyance surrounds SMS. When on silent you only get a single vibration on new message, which is easily missed. My old phone did three, which was better. Also when you get an SMS my old phone would show an envelope on the black and white standby screen. With the iPhone you have to wake it up to see if you've got a message after the display goes back off. + +The AppStore is great, some of the apps are very well done. I'm really liking Byline, Twinkle, Exposure and MoPhoTo. I'm not much of a Facebook user but the Facebook app is very well done. It just the core parts of Facebook without all the crap. Of those five, three are free, one is free by ad-supported (with a pay for version available) and the other AU$12.99. I think that's a pretty good spread for some top quality apps. Some screenshots of these apps are scattered below. + +ExposureBattery life is nothing brilliant as has been reported elsewhere. You'd probably want to change it every day. Today I watched a video podcast on the way to work, send a couple of SMSs during the day, added a calendar event, got a call from Steve, called the dentist, listened to music, read in Google Reader via the Byline app, read and updated Twitter via the Twinkle app and used the timer to cook dinner and its showing half battery. It was off the changer all last night too. + +A complaint of the old one was that the ringer and message volume was very low and easily missed. I've it plenty loud enough and its only on about three quarters. Speaking on the phone the volume is good, although I haven't tried extreme environments like a club. + +One of the best built-in apps on the whole phone is maps. Whenever you want to find something, or get the details for a business, get directions, just bring up Maps and it will sort it out. Its as good as, if not better than Google Maps on the desktop. It has the same three views too: Maps, Satellite and Hybrid. The location awareness is great and there's some basic uses of it in the apps so far, hopefully more creative uses come out. One interesting one is an app called Exposure that is a flickr client with a 'near me' function. It shows photos near your current location. Doing so at home brings ups photos of St Kilda Rd, the fountain in the gardens out the front (Pictured above). + +Maybe I'm easily sold on such things but the UI is truly beautiful and being solely finger driven is revolutionarily (on a phone). I'm a happy customer. + +FacebookMoPhoTo +
 
\ No newline at end of file diff --git a/content/personal/2008/07/iphone-3g-one-week-in.yaml b/content/personal/2008/07/iphone-3g-one-week-in.yaml new file mode 100644 index 0000000..681bbb8 --- /dev/null +++ b/content/personal/2008/07/iphone-3g-one-week-in.yaml @@ -0,0 +1,14 @@ +--- +slug: iphone-3g-one-week-in +permalink: http://www.wezm.net/2008/07/iphone-3g-one-week-in/ +kind: article +section: personal +created_at: 2008-07-21 11:41:09 +title: iPhone 3G One Week In +post_id: 50 +tags: [] + +categories: +- Miscellaneous +- iPhone +status: publish diff --git a/content/personal/2008/09/new-theme.html b/content/personal/2008/09/new-theme.html new file mode 100644 index 0000000..cbc1d11 --- /dev/null +++ b/content/personal/2008/09/new-theme.html @@ -0,0 +1,3 @@ +After a lot of scouring the net I finally stumbled upon a theme I liked at ThemeForest (affiliate link) today. Clearly I still have to customise the header image. I also installed the WPtouch plugin, which presents a version of the site optimised for iPhone and iPod touch when viewed on these devices. + +Update: My friend Sandra helped me out with fixing the logo. I think it looks great. \ No newline at end of file diff --git a/content/personal/2008/09/new-theme.yaml b/content/personal/2008/09/new-theme.yaml new file mode 100644 index 0000000..ae9a9b6 --- /dev/null +++ b/content/personal/2008/09/new-theme.yaml @@ -0,0 +1,13 @@ +--- +slug: new-theme +permalink: http://www.wezm.net/2008/09/new-theme/ +kind: article +section: personal +created_at: 2008-09-24 10:20:51 +title: New Theme +post_id: 68 +tags: [] + +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2008/11/cumquat-liqueur.html b/content/personal/2008/11/cumquat-liqueur.html new file mode 100644 index 0000000..5acc05c --- /dev/null +++ b/content/personal/2008/11/cumquat-liqueur.html @@ -0,0 +1,18 @@ +CumquatsIn August 2006 some friends of mine bought me a Cumquat tree (alternate spelling Kumquat) for my birthday. This was a great present as my balcony was in need of some vegetation and what better than a little fruit tree. Its grown a bit since then and started to bear fruit for the first time late last year. In February Amanda and I move to a new place. The tree came with us and continued to grow more fruit. + +
My New Cumquat TreeEarly in 2008 I decided to try making some liqueur with the Cumquats. Today I decided there was finally enough fruit to make the liqueur. I bought a couple of 1.5L preseving jars from Chefs Hat, a bottle of brandy and some sugar. The recipe I used called for 700g Cumquats, 700mL of brandy and 700g of sugar. + +I sterilised the jars by giving them a wash then putting then in the oven for 10 mins at 150ºC. I boiled the rubber seals for 10 mins as well. After letting the jars cool down I divided the ingredients evenly between the jars. The cumquats were added first, each one washed thoroughly and pricked with a fork several times. These were followed by the sugar and then the brandy. I'm not sure if all the sugar is supposed to dissolve. The recipe didn't say anything about it so I just left it. + +
Now the waiting begins. The jars will be sitting in a cupboard for the next six months, with a bit of a swish around once a month. Hopefully come May next year the liqueur will be ready for straining and sampling. + + + + + + +
+Cumquat Liqueur Ingredients + +Cumquat Liqueur in Jar +
diff --git a/content/personal/2008/11/cumquat-liqueur.yaml b/content/personal/2008/11/cumquat-liqueur.yaml new file mode 100644 index 0000000..b63b9e2 --- /dev/null +++ b/content/personal/2008/11/cumquat-liqueur.yaml @@ -0,0 +1,14 @@ +--- +slug: cumquat-liqueur +permalink: http://www.wezm.net/2008/11/cumquat-liqueur/ +kind: article +section: personal +created_at: 2008-11-01 05:21:17 +title: Cumquat Liqueur +post_id: 70 +tags: +- cumquat +- liqueur +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2008/11/movember.html b/content/personal/2008/11/movember.html new file mode 100644 index 0000000..28ca9f8 --- /dev/null +++ b/content/personal/2008/11/movember.html @@ -0,0 +1,11 @@ +Wes with MoFor the month of November this year I'm particpating in Movember. At the beginning of the month I started clean shaven and for the remainder of the month I'm growing and maintaining a moustache in order to raise awareness of men's health issues. In particular depression and prostate cancer. This photo to the left shows my progress after the first two weeks (yeah its hard to see, the colour blends in :-) ). + +
Some facts:
+ + +As part of participating in Movember I am seeking donations that will be passed on to the Prostate Cancer Foundation of Australia and beyondblue - the national depression initiative. The Movember Foundation is a registered charity, so all donations over $2 are tax deductible. + +To sponsor my dodgy mo (as I've named it) follow this link: http://movember.wezm.net/. \ No newline at end of file diff --git a/content/personal/2008/11/movember.yaml b/content/personal/2008/11/movember.yaml new file mode 100644 index 0000000..53055a5 --- /dev/null +++ b/content/personal/2008/11/movember.yaml @@ -0,0 +1,14 @@ +--- +slug: movember +permalink: http://www.wezm.net/2008/11/movember/ +kind: article +section: personal +created_at: 2008-11-20 22:51:48 +title: Movember +post_id: 74 +tags: +- moustache +- movember +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2008/11/typography-enhancements.html b/content/personal/2008/11/typography-enhancements.html new file mode 100644 index 0000000..3d683b5 --- /dev/null +++ b/content/personal/2008/11/typography-enhancements.html @@ -0,0 +1,8 @@ +Added a couple of WordPress plugins tonight to make the text on this blog a little prettier and hopefully more readable. First up is wp-hyphenate by KINGdesk to apply hyphenation rules. Second is wp-typogrify, which applies PHP SmartyPants (originally by John Gruber) to make "curly quotes" and proper dashes. + +Update: I disabled wp-hyphenate as it was doing strange things to my html. In one case it was changing + +<table class="top_headers"> into + +<table +lass="top_headers"> \ No newline at end of file diff --git a/content/personal/2008/11/typography-enhancements.yaml b/content/personal/2008/11/typography-enhancements.yaml new file mode 100644 index 0000000..da1f690 --- /dev/null +++ b/content/personal/2008/11/typography-enhancements.yaml @@ -0,0 +1,13 @@ +--- +slug: typography-enhancements +permalink: http://www.wezm.net/2008/11/typography-enhancements/ +kind: article +section: personal +created_at: 2008-11-05 09:08:39 +title: Typography Enhancements +post_id: 72 +tags: [] + +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2009/01/sensation-melbourne-nye.html b/content/personal/2009/01/sensation-melbourne-nye.html new file mode 100644 index 0000000..40bb54e --- /dev/null +++ b/content/personal/2009/01/sensation-melbourne-nye.html @@ -0,0 +1,5 @@ +CrowdOn new years eve I welcomed the beginning of 2009 at Sensation, the self proclaimed "worlds leading dance event". Sensation started in The Netherlands, being held at Amsterdam Arena. When I first stumbled across videos and music from the Amsterdam events several years back I was in awe of a dance party that managed to pull 40,000 people. Well based on what I saw at Tel$tra Dome I think they managed to pull off the same thing here. Seeing the stadium packed with so many people all dressed in white was truly awesome. The music did not disappoint either. However I think I had built up an expectation of more of a "performance" aspect to the event, as this didn't seem to quite meet my expectations. Nonetheless a great night was had by all. Also special thanks to Hayden for using a number of his comped Deluxe tickets to get us in for free and skip the queue. Photos and movies from the night are on Flickr. + +Leading up to Sensation the media had a field day in regard to a select minority that took a bad batch of GHB at the X-Qlusive event and ended up in hospital. Now taking GHB in the first place is stupid but the way it was reported was just reckless and inaccurate. Not only did they harp on about this minority but the Herald-Sun managed to attribute the overdoses to totally the wrong event: Christmas Kandy, which was cancelled as a result. In the days leading up to Sensation I heard a news report on TV refer to Sensation as, "controversial" and you could tell they were just waiting for a repeat of what happened at X-Qlusive. Funnily enough it seemed that everyone at Sensation was very well behaved as I didn't hear or see a single report in the following days about any drug related problems (no news is good news?). I think its a great win for the people and the rave scene that the media didn't get what they wanted. Especially considering it probably the biggest "rave" type event to ever be held in Melbourne. + +I hope to see it held again next year as I'm certainly up for going again. Who knows maybe they'll bring Sensation Black here as well. \ No newline at end of file diff --git a/content/personal/2009/01/sensation-melbourne-nye.yaml b/content/personal/2009/01/sensation-melbourne-nye.yaml new file mode 100644 index 0000000..9d91ff2 --- /dev/null +++ b/content/personal/2009/01/sensation-melbourne-nye.yaml @@ -0,0 +1,13 @@ +--- +slug: sensation-melbourne-nye +permalink: http://www.wezm.net/2009/01/sensation-melbourne-nye/ +kind: article +section: personal +created_at: 2009-01-06 04:04:32 +title: Sensation Melbourne NYE +post_id: 80 +tags: [] + +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2009/03/becoming-a-melbourne-cyclist.html b/content/personal/2009/03/becoming-a-melbourne-cyclist.html new file mode 100644 index 0000000..0fd4932 --- /dev/null +++ b/content/personal/2009/03/becoming-a-melbourne-cyclist.html @@ -0,0 +1,24 @@ +

Getting Started

+With the move to Essendon and new job in January I decided I'd try my hand (or feet) at riding to work. There's a coupe of obvious benefits. Firstly its good exercise and secondly each time I ride to and from work I save about $6 in train fares. After settling into my new job for a week and loaning my brother's now mostly unused mountain bike1 I set off one Sunday night on a trial run. I did some research online and via the Melways with my Dad to determine the route. The trial to and from work straight after each other went well so I did it for real the next day. + +Laden with a backpack containing a laptop, lunch and a change of clothes amongst other things I set out into the peak hour traffic. The traffic turned out to be quite off-putting and I wasted a bit of time trying to negotiate it. Once I'd finally crossed Mt. Alexander Rd I was able to head for the Moonee Ponds Creek Trail with relative ease. Running late I pushed myself a bit and a short distance down the trail started thinking this whole riding thing was not a great idea at all and that I'd be lucky to arrive at work at all that morning. With the rushing and heavy bag it all seemed a lot harder than the trial the night before. It probably didn't help that this was only my second bike ride of distance greater than about 200m in around 10 years. + +

Tracking My Rides

+ +I did make it to work though, albeit somewhat hot and sweaty. The trip took about 40mins. Since that first day I've done the ride another 10 or so times, refined the route and have begun working on shortening the travel time. First I got it down to 30 mins and my best so far is 28 mins something. I track each ride using a brilliant little (free) iPhone app called Trailguru (app store link). It records my ride logging the route with GPS, the duration and distance. When I arrive at my destination I stop it recording and can then upload the ride to the companion site. Each trail gets a page where there is plot of the route on Google Maps, graphs of altitude, pace and speed as well as other stats. + +Below is a sample ride to work that Trailguru recorded: +Trailguru also lets you search for trails and will show others near your own. You can also take and upload photos with the iPhone app. I haven't used that feature yet as my phone is in my bag during the ride but I'd like to get an iPhone bike mount so I can use it as a speedometer as well. You can see all my trails on my Trailguru user page. + +

Road Rage

+ +Being a cyclist isn't all fun and games though. There are of course cars to deal with. My ride shares a limited amount of time on roads and much of that has bike lanes, which is a plus. The stretches that are without a bike lane are always a little worrying though. I do my best to be a courteous road user but I'm well aware as a driver how annoying it is being stuck behind a bike, whether or not they have the right to be there. As well as keeping out of way of cars I'm also trying to be vigilant when riding beside parked cars. I can just see a door flying open right in front of me one day and causing me all sorts of grief. + +I have mostly avoided any incidents with cars so far but I did have a small bout of road rage the other morning... and it was me with the rage. It totally surprised me actually. I was waiting in the far left lane to cross Mt. Alexander Rd. As far as I know this is where I'm supposed to wait but it also happens to be a left turn lane with an arrow. As I was waiting a car came up behind and tooted me. My instant, totally instinctive reaction was to fly off the handle much to the surprise of some pedestrians. I did this as I moved onto the footpath to get out of the way. Not sure where the anger came from as it even shocked me. + +I'm trying to do three rides a week, Monday, Wednesday and Friday. That gives me a break in between while I'm getting used to it and should also still be beneficial fitness wise. However I've only managed that once so far due to after work engagements and bad weather. Time will tell how it goes but I'm enjoying it so far. + +_______________ +1 Several year old GT avalanche 2.0 for those that are into such things. \ No newline at end of file diff --git a/content/personal/2009/03/becoming-a-melbourne-cyclist.yaml b/content/personal/2009/03/becoming-a-melbourne-cyclist.yaml new file mode 100644 index 0000000..011564b --- /dev/null +++ b/content/personal/2009/03/becoming-a-melbourne-cyclist.yaml @@ -0,0 +1,15 @@ +--- +slug: becoming-a-melbourne-cyclist +permalink: http://www.wezm.net/2009/03/becoming-a-melbourne-cyclist/ +kind: article +section: personal +created_at: 2009-03-04 22:00:25 +title: Becoming a Melbourne Cyclist +post_id: 91 +tags: +- cycling +- gps +- iphone +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2009/03/general-tech-content-here-from-now-on.html b/content/personal/2009/03/general-tech-content-here-from-now-on.html new file mode 100644 index 0000000..7b454b4 --- /dev/null +++ b/content/personal/2009/03/general-tech-content-here-from-now-on.html @@ -0,0 +1,8 @@ +As mentioned on my now personal blog I've decided to post all future technical posts on this blog to separate the general posts from the geeky ones. Some example of posts from earlier this year that would be posted here instead of WezM.net from now are: + \ No newline at end of file diff --git a/content/personal/2009/03/general-tech-content-here-from-now-on.yaml b/content/personal/2009/03/general-tech-content-here-from-now-on.yaml new file mode 100644 index 0000000..15d5149 --- /dev/null +++ b/content/personal/2009/03/general-tech-content-here-from-now-on.yaml @@ -0,0 +1,13 @@ +--- +slug: general-tech-content-here-from-now-on +permalink: http://www.wezm.net/2009/03/general-tech-content-here-from-now-on/ +kind: article +section: personal +created_at: 2009-03-08 06:22:41 +title: General Tech Content Here From Now On +post_id: 6 +tags: +- meta +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2009/03/gmail-stickers-have-arrived.html b/content/personal/2009/03/gmail-stickers-have-arrived.html new file mode 100644 index 0000000..bc0dd61 --- /dev/null +++ b/content/personal/2009/03/gmail-stickers-have-arrived.html @@ -0,0 +1 @@ +Back in December there was a post on the Gmail Blog which gave instructions on how to get some stickers for the cost of postage. I thought I'd try it out so I sent them an International Reply Coupon (IRC) (something I'd never heard of before) and what do you know they showed up today. They managed to come all the way from San Francisco in an unsealed envelope too. Now to decide what to stick them to... and who to give the unicorn one to. diff --git a/content/personal/2009/03/gmail-stickers-have-arrived.yaml b/content/personal/2009/03/gmail-stickers-have-arrived.yaml new file mode 100644 index 0000000..fdcb1cd --- /dev/null +++ b/content/personal/2009/03/gmail-stickers-have-arrived.yaml @@ -0,0 +1,14 @@ +--- +slug: gmail-stickers-have-arrived +permalink: http://www.wezm.net/2009/03/gmail-stickers-have-arrived/ +kind: article +section: personal +created_at: 2009-03-12 08:27:20 +title: Gmail Stickers Have Arrived +post_id: 93 +tags: +- gmail +- stickers +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2009/03/moving-geeky-posts-to-binary-trance.html b/content/personal/2009/03/moving-geeky-posts-to-binary-trance.html new file mode 100644 index 0000000..0c8905e --- /dev/null +++ b/content/personal/2009/03/moving-geeky-posts-to-binary-trance.html @@ -0,0 +1 @@ +I read a post by Jakob Nielsen today titled, Weblog Usability: The Top Ten Design Mistakes. It was written back in 2005 but is still very relevant to today. The eighth point, "Mixing Topics", which states, "If you publish on many different topics, you're less likely to attract a loyal audience of high-value users" seemed particularly relevant given the diversity of topics in my recent posts. As a result I've decided to stop posting geeky content on this site and instead post that to my somewhat neglegted software site, Binary Trance (which needs a redesign). So if there if there is anyone out there that wants drop the personal stuff or keep getting the geeky stuff I suggest you check it out. If you're just after the feed I can save you the trip: Feed for Binary Trance Blog. diff --git a/content/personal/2009/03/moving-geeky-posts-to-binary-trance.yaml b/content/personal/2009/03/moving-geeky-posts-to-binary-trance.yaml new file mode 100644 index 0000000..24d76f0 --- /dev/null +++ b/content/personal/2009/03/moving-geeky-posts-to-binary-trance.yaml @@ -0,0 +1,15 @@ +--- +slug: moving-geeky-posts-to-binary-trance +permalink: http://www.wezm.net/2009/03/moving-geeky-posts-to-binary-trance/ +kind: article +section: personal +created_at: 2009-03-05 22:00:34 +title: Moving Geeky Posts to Binary Trance +post_id: 92 +tags: +- binary-trance +- blog +- geek +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2009/03/once-a-month-cooking.html b/content/personal/2009/03/once-a-month-cooking.html new file mode 100644 index 0000000..fe80873 --- /dev/null +++ b/content/personal/2009/03/once-a-month-cooking.html @@ -0,0 +1,7 @@ +This weekend Amanda and I embarked upon our first attempt at once a month cooking. The theory goes that you spend a weekend buying and cooking in bulk and then don't need to do it again for another month. Given we both aren't keen on cooking when we get home from work this allows the meal preparation to be simple and quick, without resorting to frozen pizzas or trips to KFC. It also has the potential to be cheaper since you can buy in bulk. + +Freezer full of foodWe selected a number of pasta dishes including typical sauces such as Bolognese but also did a lasagne and spinach and ricotta cannelloni. To add some variety we also included some double batches of massaman and Thai green curries. For snacks we baked some choc-chip cookies and choc-caramel muffins. Most of these weren't from scratch. Packet mixes, pre-made curry pastes and bottled pasta sauces were used to keep things simple also also allow the meals to be done quickly allowing us make more in a day. + +It is pretty tiring standing at the bench for hours on end so we came up with a system of one hour shifts. One of us would cook whilst the other did lighter tasks around the house, which worked well. It also avoided the problem of, "too many cooks in the kitchen...". + +The end result is a very fulll freezer as the photo on the left shows. All that should keep as in dinners and lunches for a couple of weeks. We don't have the freezer space to do a full month's worth although we have the ingredients to do the second fortnight of meals without another shopping trip. \ No newline at end of file diff --git a/content/personal/2009/03/once-a-month-cooking.yaml b/content/personal/2009/03/once-a-month-cooking.yaml new file mode 100644 index 0000000..6b7357c --- /dev/null +++ b/content/personal/2009/03/once-a-month-cooking.yaml @@ -0,0 +1,14 @@ +--- +slug: once-a-month-cooking +permalink: http://www.wezm.net/2009/03/once-a-month-cooking/ +kind: article +section: personal +created_at: 2009-03-01 00:17:49 +title: Once a Month Cooking +post_id: 86 +tags: +- cooking +- oamc +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2009/04/greetings-from-tall-karri-country.html b/content/personal/2009/04/greetings-from-tall-karri-country.html new file mode 100644 index 0000000..94310b7 --- /dev/null +++ b/content/personal/2009/04/greetings-from-tall-karri-country.html @@ -0,0 +1,3 @@ +I was sorting through some old postcards that I bought during the trip around Australia my family did in 1992. Amongst them was this particular one. Now that I'm not twelve and obsessed by tractors and earth moving equipment it seemed quite bizarre. The caption on the back reads: +
A view of a Karri tree being lifted prior to loading on to a truck at Pemberton Western Australia
+Pemberton is in the southern part of Western Australia that features the Karri forests. According to Wikipedia Karri trees can grow up to 90m tall, making them amongst the tallest trees in the world. The photo seems like such a strange image to put on a post card. Can you imagine writing home to family telling them about the beautiful Karri forests on a card that depicts them being destroyed? \ No newline at end of file diff --git a/content/personal/2009/04/greetings-from-tall-karri-country.yaml b/content/personal/2009/04/greetings-from-tall-karri-country.yaml new file mode 100644 index 0000000..f5f519b --- /dev/null +++ b/content/personal/2009/04/greetings-from-tall-karri-country.yaml @@ -0,0 +1,13 @@ +--- +slug: greetings-from-tall-karri-country +permalink: http://www.wezm.net/2009/04/greetings-from-tall-karri-country/ +kind: article +section: personal +created_at: 2009-04-05 01:42:04 +title: Greetings from Tall Karri Country +post_id: 97 +tags: [] + +categories: +- Miscellaneous +status: publish diff --git a/content/personal/2009/05/rafael-bonachelas-360-degrees.html b/content/personal/2009/05/rafael-bonachelas-360-degrees.html new file mode 100644 index 0000000..508e9dd --- /dev/null +++ b/content/personal/2009/05/rafael-bonachelas-360-degrees.html @@ -0,0 +1,9 @@ +For Manda's birthday this year I gave her tickets to Rafael Bonachela's 360°, a contemporary dance performance by the Sydney Dance Company. The performance was in the Playhouse at the Arts Centre (Melbourne). Unfortunately it didn't meet our expectations. + +Now let me preface the rest of the post with the following: We're hardly connoisseurs of the fine arts. Instead we got the bulk of our prior exposure to contemporary dance through channel Ten's So You Think You Can Dance. I'm sure the purists out there would scoff at that but we wouldn't have even entertained the idea of seeing 360° were it not for the show. + +With that out of the way let me continue by starting at the end. After the performance finished and we'd endured what seemed like several minutes of applause with much bowing and cutting of lights only for them to return again, Manda and I both said nothing to each other about it. We were both feeling underwhelmed and wanted to withhold our comments until out of ear shot of people that might not agree. + +The performance seemed to lack any coherent story. The music choices seemed inappropriate to even tell a story and the projected backdrops seemed to have no relationship with what was going on on-stage. I was left feeling that I was not on the right level to understand it and some aspects were "arty" for arts sake. For example the sand covered skull with the sand falling in reverse to slowly reveal the skull. + +Ignoring the aspects I didn't like there was still things that I did like. The skill of the dancers was most impressive. The use of light and mirrors was creative and clever. So overall the experience was a disappointment. I'm hoping that we will find another contemporary performance to see in the future that will live up to our perhaps uncultured expectations. \ No newline at end of file diff --git a/content/personal/2009/05/rafael-bonachelas-360-degrees.yaml b/content/personal/2009/05/rafael-bonachelas-360-degrees.yaml new file mode 100644 index 0000000..1ae7bea --- /dev/null +++ b/content/personal/2009/05/rafael-bonachelas-360-degrees.yaml @@ -0,0 +1,13 @@ +--- +slug: rafael-bonachelas-360-degrees +permalink: http://www.wezm.net/2009/05/rafael-bonachelas-360-degrees/ +kind: article +section: personal +created_at: 2009-05-30 05:46:04 +title: "Rafael Bonachela's 360\xC2\xB0" +post_id: 141 +tags: [] + +categories: +- Entertainment +status: publish diff --git a/content/personal/2010/01/mt-dandenong.html b/content/personal/2010/01/mt-dandenong.html new file mode 100644 index 0000000..2da9ab8 --- /dev/null +++ b/content/personal/2010/01/mt-dandenong.html @@ -0,0 +1,9 @@ +Cloudhill Last week while we were still on holidays Manda and I got a good deal on Wotif for a night at Linden Garden's Rainforest Retreat. We set off in the morning and had lunch at Cloudhill Restaurant and Gardens. After lunch we wandered around the many different areas of the garden. The hedges and geometric alignment of the gardens were very cool. + +After that it was time to check-in at Linden Gardens. Google Maps gave us a dud route that sent us down a few interesting roads but we made it in the end. Our lodging for the night was "Sanctuary Tower", a three level mini-house with great views. After an in room massage we had a nice dinner at Wild Oak Restaurant just around the corner. The food was excellent and the servings very generous. + +The accommodation was fantastic, right down to the graphic design of the web site and stationary. There were lots of inclusions and thoughtful extras. The one complaint was that the bedroom was quite light when trying to sleep given not all the windows had blinds. + +In the morning we wandered around the gardens. The rainforest plans seem to have been planted some time ago and now it has that real rainforest feel. The paths in particular stood out as they were totally green with moss. After that it was time to go, it was a short but most enjoyable stay. + +Photos of Cloudhill and Linden Gardens are on Flickr. Given the lovely weather we had I also took the opportunity to take bracketed shots to deal with the extreme range of light. I then merged them with the newly updated Bracketeer. \ No newline at end of file diff --git a/content/personal/2010/01/mt-dandenong.yaml b/content/personal/2010/01/mt-dandenong.yaml new file mode 100644 index 0000000..96af8ee --- /dev/null +++ b/content/personal/2010/01/mt-dandenong.yaml @@ -0,0 +1,14 @@ +--- +slug: mt-dandenong +permalink: http://www.wezm.net/2010/01/mt-dandenong/ +kind: article +section: personal +created_at: 2010-01-12 08:41:46 +title: Mt. Dandenong +post_id: 286 +tags: [] + +categories: +- Out and About +- Personal +status: publish diff --git a/content/personal/2010/01/sensation-melbourne-2009.html b/content/personal/2010/01/sensation-melbourne-2009.html new file mode 100644 index 0000000..b8ee029 --- /dev/null +++ b/content/personal/2010/01/sensation-melbourne-2009.html @@ -0,0 +1,3 @@ +Sensation water show The end of 2009 saw Melbourne's second Sensation held at Etihad stadium. I was fortunate enough to attend for free again and was once again impressed by the spectacle of the show and tens of thousands of people in white. The crowd seemed smaller than last year but there were still more than enough people to give a good atmosphere. + +A selection of photos from the night are on Flickr along with some movies on Vimeo. \ No newline at end of file diff --git a/content/personal/2010/01/sensation-melbourne-2009.yaml b/content/personal/2010/01/sensation-melbourne-2009.yaml new file mode 100644 index 0000000..5872aed --- /dev/null +++ b/content/personal/2010/01/sensation-melbourne-2009.yaml @@ -0,0 +1,15 @@ +--- +slug: sensation-melbourne-2009 +permalink: http://www.wezm.net/2010/01/sensation-melbourne-2009/ +kind: article +section: personal +created_at: 2010-01-10 07:22:14 +title: Sensation Melbourne 2009 +post_id: 281 +tags: +- melbourne +- nye +- sensation +categories: +- Entertainment +status: publish diff --git a/content/technical/2008/02/seeking-app-ideas.html b/content/technical/2008/02/seeking-app-ideas.html new file mode 100644 index 0000000..78e4637 --- /dev/null +++ b/content/technical/2008/02/seeking-app-ideas.html @@ -0,0 +1,5 @@ +Ever since the now very quiet drunkenbatman hosted the Evening at Adler and Gus Mueller posted, "How to become an independent programmer in just 1068 days", its has been a goal of mine to one day live the indie Mac developer dream. + +Over the years I've dabbled in Mac OS X development but have struggled to find the time in between a full time job and also having a life to be able to see something through from start to finish. I'm convinced the ideas are sound because frequently others eventually release similar products. My last endevour was for a better archiver than that provided by the Finder. It was to be dead simple, taking interface cues from things like AppZapper. I discovered a little while ago that the fine folks at Apimac had created Compress Files, which implemented my ideas and more. + +Frustrated by this lack of time I decided to do something about it (after a small helping of procrastination). Last week I successfully negotiated a reduction to 4 days per week at my day job, with the fifth day allocated to Mac development. The first day of my new job is Mon Feb 11, 2008. However I find myself with a bit of a problem, I don't have any current projects to actually work on. Heeding the advice in Gus' post for Lesson #1 I'm seeking ideas from the Mac using community for a small application that I can use to get started. So if you got an idea for a small application that you don't mind sharing feel free to post a comment and let me know, it might be just what I'm looking for. \ No newline at end of file diff --git a/content/technical/2008/02/seeking-app-ideas.yaml b/content/technical/2008/02/seeking-app-ideas.yaml new file mode 100644 index 0000000..02e9bfc --- /dev/null +++ b/content/technical/2008/02/seeking-app-ideas.yaml @@ -0,0 +1,14 @@ +--- +slug: seeking-app-ideas +permalink: http://www.wezm.net/2008/02/seeking-app-ideas/ +kind: article +section: technical +created_at: 2008-02-04 02:29:35 +title: Seeking Application Ideas +post_id: 1 +tags: [] + +categories: +- Development +- Mac +status: publish diff --git a/content/technical/2008/03/create-empty-tar-file.html b/content/technical/2008/03/create-empty-tar-file.html new file mode 100644 index 0000000..850c7ef --- /dev/null +++ b/content/technical/2008/03/create-empty-tar-file.html @@ -0,0 +1,12 @@ +Strangely enough I had the need to determine if it was possible to create a valid but empty tar file. Turns out it is. The method varies slightly depending on your flavour of tar program, here's how to do it on three of the big ones: + +BSD +tar cvf empty.tar --from-file /dev/null + +GNU (Linux) +tar cvf empty.tar --files-from /dev/null + +Solaris +tar cvf empty.tar -I /dev/null + +Now if you wondering why I would want this, here's the explanation. I work on a batch processing system that processes files delivered from other systems. In some cases its necessary to wait for a file to arrive but give up after some time. In order to give up we copy an empty file (automatically) so that the processing proceeds normally. Ordinarily this is an empty plain text file but for the system I'm working on I'm expecting a tar file, hence the need for an empty one. \ No newline at end of file diff --git a/content/technical/2008/03/create-empty-tar-file.yaml b/content/technical/2008/03/create-empty-tar-file.yaml new file mode 100644 index 0000000..21f0548 --- /dev/null +++ b/content/technical/2008/03/create-empty-tar-file.yaml @@ -0,0 +1,18 @@ +--- +slug: create-empty-tar-file +permalink: http://www.wezm.net/2008/03/create-empty-tar-file/ +kind: article +section: technical +created_at: 2008-03-27 10:28:39 +title: How to create an empty tar file +post_id: 8 +tags: +- empty +- tar +- unix +categories: +- Linux +- Mac OS X +- Tips +- UNIX +status: publish diff --git a/content/technical/2008/03/webkit-for-keynote.html b/content/technical/2008/03/webkit-for-keynote.html new file mode 100644 index 0000000..e87788b --- /dev/null +++ b/content/technical/2008/03/webkit-for-keynote.html @@ -0,0 +1,9 @@ +An interesting email passed through the webkit-dev mailing list today. In what appears to be a small glimpse into what goes on in preparation for a Stevenote, Geoffrey Garen (Apple) noted in a reply to an email from Akos Kiss (Department of Software Engineering, University of Szeged, Hungary) that one of the reasons WebKit likes to do its own thing and not depend on code it doesn't own is to be able to fix problems with very short notice. Citing the example of, "12 hours before a keynote address". + +Akos Kiss (Department of Software Engineering, University of Szeged, Hungary): +
b) JIT compilation to Java bytecode or ActionScript bytecode. + +Comment: Huge work. Currently available compiler implementations do not fit to the architecture of the JS engine.
+ +Geoffrey Garen (Apple): +
Right. We're also reluctant to rely on code that we don't own. We've seen very large performance wins from tightly integrating and customizing all the components of the web stack. We also need the freedom to fix crashes and compatibility problems on very short notice (for example, 12 hours before a keynote address).
\ No newline at end of file diff --git a/content/technical/2008/03/webkit-for-keynote.yaml b/content/technical/2008/03/webkit-for-keynote.yaml new file mode 100644 index 0000000..b45f1ef --- /dev/null +++ b/content/technical/2008/03/webkit-for-keynote.yaml @@ -0,0 +1,13 @@ +--- +slug: webkit-for-keynote +permalink: http://www.wezm.net/2008/03/webkit-for-keynote/ +kind: article +section: technical +created_at: 2008-03-05 01:11:31 +title: WebKit for Keynote +post_id: 4 +tags: [] + +categories: +- WebKit +status: publish diff --git a/content/technical/2008/03/windows-silverlight-installation-experience.html b/content/technical/2008/03/windows-silverlight-installation-experience.html new file mode 100644 index 0000000..361f986 --- /dev/null +++ b/content/technical/2008/03/windows-silverlight-installation-experience.html @@ -0,0 +1,27 @@ +I encountered a (Microsoft) site the other day that required Silverlight to be installed. Given I was using my work laptop (running Windows XP) I thought I'd give it a try. The first attempt at running the setup file I downloaded resulted in the following error message (which was opened in a browser window, not displayed by the installer): + +
The Microsoft Silverlight download was automatically extracted to a virtual drive. You should manually extract the download to a physical drive, and then run it from there. Please follow these steps to complete your installation: + + 1. Create a new folder on drive C called SilverlightTemp. + 2. Save the Silverlight download to this folder. + 3. Click Start, click Run, type cmd.exe, and then click OK. + 4. In the cmd.exe window, type cd C:\SilverlightTemp\, and then press Enter. + 5. This step depends on which version of Silverlight you are installing. + * For Silverlight 1.0 Beta: + In the cmd.exe window, type Silverlight.1.0beta.exe /X, and then press Enter. + * For Silverlight 1.1 Alpha: + 6. In the cmd.exe window, type Silverlight.1.1alpha.exe /X, and then press Enter. + 7. If you receive a User Account Control (UAC) prompt, click Continue. + 8. In the Choose Directory For Extracted Files box, type C:\SilverlightTemp, and then click OK. + 9. In the Extraction Complete box, click OK. + 10. In the cmd.exe window, type install.exe, and then press Enter. + 11. If you receive a UAC prompt, click Continue. + 12. In the cmd.exe window, type cd.. and then press Enter. + 13. In the cmd.exe window, type rmdir SilverlightTemp /S /Q, and then press Enter. + 14. In the cmd.exe window, type exit, and then press Enter.
+ +After recovering from the initial shock of the installation instructions for a very consumer oriented technology requiring use of the command line, I followed the instructions only to be shown another web based error message: + +
This installation is forbidden by system policy. Contact your system administrator for assistance.
+ +Yes, that's right I don't have administrator privileges on my work laptop. Surely the installer could have worked this out at the start of the process. \ No newline at end of file diff --git a/content/technical/2008/03/windows-silverlight-installation-experience.yaml b/content/technical/2008/03/windows-silverlight-installation-experience.yaml new file mode 100644 index 0000000..136dad0 --- /dev/null +++ b/content/technical/2008/03/windows-silverlight-installation-experience.yaml @@ -0,0 +1,13 @@ +--- +slug: windows-silverlight-installation-experience +permalink: http://www.wezm.net/2008/03/windows-silverlight-installation-experience/ +kind: article +section: technical +created_at: 2008-03-05 00:56:01 +title: Windows Silverlight Installation Experience +post_id: 3 +tags: [] + +categories: +- Windows +status: publish diff --git a/content/technical/2008/04/expand-glob-in-variable-within-shell-script.html b/content/technical/2008/04/expand-glob-in-variable-within-shell-script.html new file mode 100644 index 0000000..79db2c4 --- /dev/null +++ b/content/technical/2008/04/expand-glob-in-variable-within-shell-script.html @@ -0,0 +1,8 @@ +I had the need today to read in a list of patterns from a file, expand them and then operate upon each file all from within a shell script. Apparently there is a shell built-in for csh, but I didn't want to learn csh at that point. The eventual solution was to run an extra shell with the -c argument. + +Example: +
#!/bin/bash
+FILES=`cat patterns.txt`
+for pattern in $FILES; do
+    bash -c "ls -l ${pattern}"
+done
diff --git a/content/technical/2008/04/expand-glob-in-variable-within-shell-script.yaml b/content/technical/2008/04/expand-glob-in-variable-within-shell-script.yaml new file mode 100644 index 0000000..4760662 --- /dev/null +++ b/content/technical/2008/04/expand-glob-in-variable-within-shell-script.yaml @@ -0,0 +1,19 @@ +--- +slug: expand-glob-in-variable-within-shell-script +permalink: http://www.wezm.net/2008/04/expand-glob-in-variable-within-shell-script/ +kind: article +section: technical +created_at: 2008-04-24 07:37:14 +title: Expand glob in variable within shell script +post_id: 18 +tags: +- bash +- expand +- glob +- script +- shell +- variable +categories: +- Tips +- UNIX +status: publish diff --git a/content/technical/2008/04/mp3-decoder-libraries-compared.html b/content/technical/2008/04/mp3-decoder-libraries-compared.html new file mode 100644 index 0000000..4fe508c --- /dev/null +++ b/content/technical/2008/04/mp3-decoder-libraries-compared.html @@ -0,0 +1,206 @@ +For my current software project I have the need to decode MP3 files for the purpose of producing an audio waveform. It doesn't need to be overly accurate as the decoded samples will be displayed, not played. However it does need to be fast, as a typical use case for the application will be MP3 files of around 100Mb (full length CDs). The application is for Mac OS X, although the results of my testing below could be useful for other platforms. + +Assisted by a code sample from Apple I wrote an initial version of the decoder that would read the source MP3 file and write the raw linear PCM data out to a file. I did this using the Core Audio framework built into Mac OS X. Once the program was working I tested it against some sample files and came to the conclusion that 4 seconds to decode a 3 min track was great but over 100 seconds for a full length CD, not so great. + +I did some searching and came up with two other libraries that seemed well suited to the task of MP3 decoding, they were mpg123 (libmpg123) and MAD (libmad). mpg123 had claims of being very fast, mad claimed it was very accurate. + +

Methodology

+ +I built the two additional libraries with the default configuration options, except for libmad, which I added the --enable-speed option. With the help of example code I made programs out of each that were comparable to the first version for Core Audio. I.e. MP3 file in, 16-bit Linear PCM audio samples out. + +To provide a benchmark I wrote a script that would run each of the three programs against a source MP3 file. Each program reported the elapsed time (via time(3)) and the processor time (via clock(3)) when it finished decoding. The programs were run one after another on the source file 10 times. Their PCM output was written to a new file for each invocation. + +

Environment

+ +The tests were performed on my dual 1.8Ghz Power Mac G5 with 2Gb RAM running Mac OS X 10.5.2. I didn't make any special attempt to quit all other running programs while I ran the tests but iTunes was paused and nothing was doing anything significant in the background. I also didn't do anything on the computer while the tests were running. + +

Results

+ +The results of the tests for my sample MP3s is below. The individual times were averaged over the 10 runs for each library. The standard deviation of the processor time is also included to given an indication of how consistent the decoding time was. + +

Small File

+ + + + + + + + + + + + + + + +
Size4,296,251 bytes
Bitrate160 kbps
Channels2 (Joint Stereo)
Length3:34
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
LibraryAverage Elapsed TimeAverage Processor TimeProcessor Time Std. Deviation
mpg1232.301.710.95
Core Audio4.103.630.27
mad4.804.420.02
+ +

Medium Mono File

+ + + + + + + + + + + + + + + +
Size83,091,456 bytes
Bitrate320 kbps
Channels1 (Mono)
Length34:37
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
LibraryAverage Elapsed TimeAverage Processor TimeProcessor Time Std. Deviation
mpg12311.109.400.03
mad26.9024.600.03
Core Audio33.6030.331.18
+ +

Large File

+ + + + + + + + + + + + + + + +
Size126,083,072 bytes
Bitrate224 kbps
Channels2 (Joint Stereo)
Length1:15:02
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
LibraryAverage Elapsed TimeAverage Processor TimeProcessor Time Std. Deviation
mpg12337.0032.210.19
Core Audio84.0078.340.34
mad100.1094.440.15
+ +

Large VBR File

+ + + + + + + + + + + + + + + +
Size123,028,672 bytes
Bitrate210 kbps (VBR)
Channels2 (Joint Stereo)
Length1:17:46
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
LibraryAverage Elapsed TimeAverage Processor TimeProcessor Time Std. Deviation
mpg12337.9032.960.13
Core Audio86.4080.520.18
mad104.3098.430.10
+ +
+Note: All files had a 44100 Hz sample rate. + +

Conclusion

+ +The results speak for themselves, mpg123 lives up to its claim of being high performance. In all the tests it was consistently around twice as fast - a very impressive result. Its certainly the library I'll be using. Of note it also has quite a nice API. Of the three Core Audio's has the most tedious API but it is low level and capable of quite a bit more than what I was using it for. diff --git a/content/technical/2008/04/mp3-decoder-libraries-compared.yaml b/content/technical/2008/04/mp3-decoder-libraries-compared.yaml new file mode 100644 index 0000000..edc62d0 --- /dev/null +++ b/content/technical/2008/04/mp3-decoder-libraries-compared.yaml @@ -0,0 +1,20 @@ +--- +slug: mp3-decoder-libraries-compared +permalink: http://www.wezm.net/2008/04/mp3-decoder-libraries-compared/ +kind: article +section: technical +created_at: 2008-04-16 12:22:49 +title: MP3 Decoder Libraries Compared +post_id: 11 +tags: +- benchmark +- core-audio +- decoder +- mad +- mp3 +- mpg123 +categories: +- Linux +- Mac OS X +- Programming +status: publish diff --git a/content/technical/2008/04/pizza-style-delivery-for-technical-books.html b/content/technical/2008/04/pizza-style-delivery-for-technical-books.html new file mode 100644 index 0000000..02acce4 --- /dev/null +++ b/content/technical/2008/04/pizza-style-delivery-for-technical-books.html @@ -0,0 +1,13 @@ +Recently I wanted a to quickly lookup how to do something in sed. As headed for the man page once again I wished I had a quick reference on hand, like the Perl Pocket Reference I have. In a slight diversion I did some searching to see if there was a pocket reference for sed, there is, and as a bonus it covers awk too. + +Armed with the knowledge that the sed reference exists I searched for bookshops in Melbourne to buy it from. This is where it became difficult. No one had it in stock and even if they did it would take at least a whole day to arrive if I had ordered it right then. It was here that I wished there was a delivery service for technical books that could see them delivered with the promptness and low cost of a pizza delivery. + +The need for a technical book, in particular those that are mainly reference material tends to come about with a need-it-now urgency to satisfy whatever the pressing enquiry is. Typically the desired information is available via online documentation or a simple Google search however I tend to prefer references to be in dead tree form and I don't believe I'm alone in this. + +Given the relatively huge lead time in actually getting a reference book delivered, the online documentation usually wins and the books remain unordered. For a nominal fee I think if it were possible to have a book delivered within the CBD in an hour or so from ordering many more books could be sold to satify the immedaite need for the reference. + +Now an hour is a long time to wait if you need to look something up now, but it would allow you to look up whatever it is you're after online then for the rest of the day refer to your new reference that arrived a little later. So bookstores, pizza style delivery for technical books, who's up for it? + +On a side note, its extremely lame that the Australian Borders website doesn't have the ability to search for books they stock. + +Update 16 Oct 2009: Amazon have announced same day delivery. If I was living in the US this would be awesome. \ No newline at end of file diff --git a/content/technical/2008/04/pizza-style-delivery-for-technical-books.yaml b/content/technical/2008/04/pizza-style-delivery-for-technical-books.yaml new file mode 100644 index 0000000..76ef808 --- /dev/null +++ b/content/technical/2008/04/pizza-style-delivery-for-technical-books.yaml @@ -0,0 +1,17 @@ +--- +slug: pizza-style-delivery-for-technical-books +permalink: http://www.wezm.net/2008/04/pizza-style-delivery-for-technical-books/ +kind: article +section: technical +created_at: 2008-04-06 06:37:10 +title: Pizza Style Delivery for Technical Books +post_id: 5 +tags: +- awk +- books +- delivery +- pocket-reference +- sed +categories: +- UNIX +status: publish diff --git a/content/technical/2008/04/womens-weekly-getting-in-on-the-linux-action.html b/content/technical/2008/04/womens-weekly-getting-in-on-the-linux-action.html new file mode 100644 index 0000000..f55803c --- /dev/null +++ b/content/technical/2008/04/womens-weekly-getting-in-on-the-linux-action.html @@ -0,0 +1 @@ +Women’s Weekly Tux Cake I snapped this with my my phone whilst I was shopping at Safeway last Sunday. It seems the Australian Women's Weekly are Linux fans or aren't aware that they may be infringing Larry Ewing's copyright. Who wouldn't want a Tux cake though. \ No newline at end of file diff --git a/content/technical/2008/04/womens-weekly-getting-in-on-the-linux-action.yaml b/content/technical/2008/04/womens-weekly-getting-in-on-the-linux-action.yaml new file mode 100644 index 0000000..c8b81ad --- /dev/null +++ b/content/technical/2008/04/womens-weekly-getting-in-on-the-linux-action.yaml @@ -0,0 +1,15 @@ +--- +slug: womens-weekly-getting-in-on-the-linux-action +permalink: http://www.wezm.net/2008/04/womens-weekly-getting-in-on-the-linux-action/ +kind: article +section: technical +created_at: 2008-04-15 04:01:23 +title: Women's Weekly Getting in on the Linux Action +post_id: 13 +tags: +- cake +- linux +- tux +categories: +- Linux +status: publish diff --git a/content/technical/2008/05/death-to-the-feed-uri-scheme.html b/content/technical/2008/05/death-to-the-feed-uri-scheme.html new file mode 100644 index 0000000..1232858 --- /dev/null +++ b/content/technical/2008/05/death-to-the-feed-uri-scheme.html @@ -0,0 +1,21 @@ +Can people please stop using the 'feed:' URI scheme for links to feeds on web pages. Its annoying and unnecessary. + +From what I can tell this URI scheme was proposed around Dec 2003 as an unofficial pre-draft RFC. The reasoning behind the proposal was: + +
...to provide a straightforward way for end users to subscribe to the data feed for a particular online resource while browsing the World Wide Web. The expectation is that clicking on a hyperlink that points at a "feed" URI will cause the Web browser to invoke the specified handler for the "feed" URI scheme which SHOULD provide the user with information about the data feed as well as the possess the ability to subscribe to the feed.
+ +Fast forward to 2008 and all the major browsers have support for discovery of feeds specified by the link tag and a user interface to access them. Additionally they are able to auto-detect a feed when specified with the normal http URI scheme. With the built in support the browser is able to launch the appropriate feed reader on the system, be it within the browser or an external application; thus removing the need for the URI to be specified with the 'feed:' scheme. + +It seems use of the scheme really took off around the release of Safari 2, which included RSS support. When viewing a feed in Safari it presents the URI using the 'feed:' scheme, thus making its use highly visible. + + + +I understand that using the scheme makes it easy at an operating system level to associate a particular application with the scheme but it should be entirely internal an invisible to the user. The reasons its use irks me is when adding a feed to Google Reader its necessary to copy and paste the link and then remove the 'feed:' at the start. Additionally Firefox removes the colon from http, meaning that has to be replaced too. Okay so I'm lazy but all the hassle can be avoided by simply linking to the feed with the normal 'http:' scheme. + +As an example I'll pick on the MildMannered Industries Blog solely because its the first example I could find. The link on the page1 (at the top) is feed://http://www.mildmanneredindustries.com/blog/?feed=rss2, which when copied via Copy Link Location in Firefox becomes feed://http//www.mildmanneredindustries.com/blog/?feed=rss2. + +The other issue I have stems from the terrible DNS or proxy (not sure which is to blame) setup here at work. When a request is made for a hostname or scheme that doesn't exist the browser hangs for about 2 minutes before returning an error generated by the proxy. This happens in all browsers and means that if I click in a feed: link my browser hangs for 2 minutes, which is quite frustrating. + +So my request to the wider Internet community: Please stop using 'feed:'. +________________________ +1. The related link embedded in the <head> section is correct (I.e. without 'feed:') \ No newline at end of file diff --git a/content/technical/2008/05/death-to-the-feed-uri-scheme.yaml b/content/technical/2008/05/death-to-the-feed-uri-scheme.yaml new file mode 100644 index 0000000..8cbffda --- /dev/null +++ b/content/technical/2008/05/death-to-the-feed-uri-scheme.yaml @@ -0,0 +1,16 @@ +--- +slug: death-to-the-feed-uri-scheme +permalink: http://www.wezm.net/2008/05/death-to-the-feed-uri-scheme/ +kind: article +section: technical +created_at: 2008-05-20 05:59:28 +title: Death to the 'feed:' URI Scheme +post_id: 12 +tags: +- atom +- feed +- rss +- uri-scheme +categories: +- Internet +status: publish diff --git a/content/technical/2008/05/stop-vim-completion-searching-included-files.html b/content/technical/2008/05/stop-vim-completion-searching-included-files.html new file mode 100644 index 0000000..359ffab --- /dev/null +++ b/content/technical/2008/05/stop-vim-completion-searching-included-files.html @@ -0,0 +1,5 @@ +I use vim coupled with the SuperTab plugin for my text editing and auto-completion needs. In some vim setups (E.g. Mac OS X) it is configured by default to search included files when completing words. This sounds like a useful feature but it turns out not to be. It has a habit of searching the include files of system libraries and modules, the keywords of which you rarely want. Its also quite a slow operation as it trawls through all the files. The solution is to add the following in your .vimrc file. + +set complete=.,w,b,u,t + +This is the same set of flags as the default except with the 'i' option removed. See the help for the 'complete' option for an explanation of what each flag means. \ No newline at end of file diff --git a/content/technical/2008/05/stop-vim-completion-searching-included-files.yaml b/content/technical/2008/05/stop-vim-completion-searching-included-files.yaml new file mode 100644 index 0000000..b36d54c --- /dev/null +++ b/content/technical/2008/05/stop-vim-completion-searching-included-files.yaml @@ -0,0 +1,17 @@ +--- +slug: stop-vim-completion-searching-included-files +permalink: http://www.wezm.net/2008/05/stop-vim-completion-searching-included-files/ +kind: article +section: technical +created_at: 2008-05-23 05:59:25 +title: Stop Vim Completion Searching Included Files +post_id: 25 +tags: [] + +categories: +- Linux +- Mac OS X +- Programming +- Tips +- UNIX +status: publish diff --git a/content/technical/2008/05/to-title-case-bookmarklet.html b/content/technical/2008/05/to-title-case-bookmarklet.html new file mode 100644 index 0000000..a565d86 --- /dev/null +++ b/content/technical/2008/05/to-title-case-bookmarklet.html @@ -0,0 +1,5 @@ +I've make a bookmarklet out of David Gouch's Javascript implementation of John Gruber's Title Case Perl script. + +Drag this link to your bookmarks bar: Title Case + +Seems to work ok in Firefox, IE 6 has issues. \ No newline at end of file diff --git a/content/technical/2008/05/to-title-case-bookmarklet.yaml b/content/technical/2008/05/to-title-case-bookmarklet.yaml new file mode 100644 index 0000000..100e843 --- /dev/null +++ b/content/technical/2008/05/to-title-case-bookmarklet.yaml @@ -0,0 +1,15 @@ +--- +slug: to-title-case-bookmarklet +permalink: http://www.wezm.net/2008/05/to-title-case-bookmarklet/ +kind: article +section: technical +created_at: 2008-05-27 23:29:28 +title: To Title Case Bookmarklet +post_id: 27 +tags: [] + +categories: +- Code +- Internet +- Miscellaneous +status: publish diff --git a/content/technical/2008/07/comment-feeds-in-wordpress.html b/content/technical/2008/07/comment-feeds-in-wordpress.html new file mode 100644 index 0000000..dfe33c4 --- /dev/null +++ b/content/technical/2008/07/comment-feeds-in-wordpress.html @@ -0,0 +1,2 @@ +Here's tip for something I worked out today. WordPress blogs generally have an RSS feed available for the comments on a post. This is handy for when you want to see other comments posted without having to remember to check back. The problem is many WP themes don't provide a link to the feed. The solution is to add /feed to the URL of the post, so for this post the comment feed is at: +http://www.wezm.net/2008/07/02/comment-feeds-in-wordpress/feed. \ No newline at end of file diff --git a/content/technical/2008/07/comment-feeds-in-wordpress.yaml b/content/technical/2008/07/comment-feeds-in-wordpress.yaml new file mode 100644 index 0000000..3cd241c --- /dev/null +++ b/content/technical/2008/07/comment-feeds-in-wordpress.yaml @@ -0,0 +1,14 @@ +--- +slug: comment-feeds-in-wordpress +permalink: http://www.wezm.net/2008/07/comment-feeds-in-wordpress/ +kind: article +section: technical +created_at: 2008-07-02 04:14:17 +title: Comment Feeds in WordPress +post_id: 34 +tags: [] + +categories: +- Internet +- Tips +status: publish diff --git a/content/technical/2008/07/iphone-tips-from-the-user-guide.html b/content/technical/2008/07/iphone-tips-from-the-user-guide.html new file mode 100644 index 0000000..6bd87db --- /dev/null +++ b/content/technical/2008/07/iphone-tips-from-the-user-guide.html @@ -0,0 +1,148 @@ +

I read through the 150 odd pages of the iPhone user guide looking for tips and shortcuts and for information on usage that I haven't discovered yet. The following is a collection of the things I found useful or interesting, some may be well known already but they're mainly here for my reference. However they may be useful to others as well; Particularly those who've just picked up an iPhone for the first time following the worldwide release of the iPhone 3G.

+ +

The quotes are mostly copied verbatim from the iPhone User Guide (PDF), Copyright Apple Inc. As noted at the end of this post the iPhone User Guide is also available for viewing directly on the iPhone at http://help.apple.com/iphone.

+ +

General Usage

+ +

[When scrolling] you can wait for the scrolling to come to a stop, or tap or touch anywhere on the screen to stop it immediately. Tapping or touching to stop scrolling won’t choose or activate anything on the screen. To quickly scroll to the top of a list, webpage, or email, just tap the status bar.

+

The point about tapping status bar is useful. It also mentions that in Safari tapping the status bar will reveal the address bar allowing you to search or enter a URL.

+ +

Handy tips for more efficient typing:

+
Quickly type a period and space
+
Double-tap the space bar.
+
Turn caps lock on
Enable caps lock (see “Keyboard” on page 108), then double-tap the Shift key. The Shift key turns blue, and all letters you type are uppercase. Tap the Shift key again to turn caps lock off.
+
Type letters or symbols that aren’t on the keyboard
Press and hold the related letter or symbol, then slide to choose a variation.
+ +

See a link’s destination address:

+

[In Mail, Safari] touch and hold the link. The address pops up next to your finger. You can touch and hold an image to see if it has a link.

+ +

Save a photo attachment to your Camera Roll album:

+

Press and hold the image, then tap “Save Image.”

+

Applies to images in Safari too.

+ +

Deleting messages in Mail or SMS:

+

You can also delete a message directly from the mailbox message list by swiping left or right over the message title, then tapping Delete.

+ + +

Phone

+

Jump to favorites from anywhere:

+

Double-click the Home button.

+

Requires setting to be enabled under Settings > General > Home Button.

+ +

Bring up the last number you dialed:

+

Tap Keypad, then tap Call. Tap Call again to dial the number.

+ +

Block calls and maintain Wi-Fi access to the Internet:

+

In Settings, turn on Airplane Mode, then tap Wi-Fi and turn it on.

+ +

Set iPhone to add the correct prefix when dialing from another country:

+

In Settings, tap Phone, then turn International Assist on. This lets you make calls to your home country using the numbers in your contacts and favorites, without having to add a prefix or your country code.

+ +

Safari

+

Scroll within a frame on a webpage:

+

Use two fingers to scroll within a frame on a webpage. Use one finger to scroll the entire webpage.

+ +

Submit a form:

+

Once you finish filling out a form, tap Go or Search. Most pages also have a link you can tap to submit the form.

+ +

Close the keyboard without submitting the form: Tap Done.

+ +

iPod

+

Convert a video to work with iPhone in iTunes:

+

Select the video in your iTunes library and choose Advanced > “Convert Selection for iPod/iPhone.” Then add the converted video to iPhone.

+ +

Return to the iPod browse lists:

+

Tap ← Or swipe to the right over the album cover.

+ +

You can display playback controls at any time when you’re listening to music and using another application—or even when iPhone is locked—by double-clicking the Home button.

+

Requires iPod Controls to be enabled in Settings > General > Home Button

+ +

Unlike music you can delete videos on iPhone:

+

In the videos list, swipe left or right over the video, then tap Delete.

+ +

Set a sleep timer:

+

From the Home screen choose Clock > Timer, then flick to set the number of hours and minutes. Tap When Timer Ends and choose Sleep iPod, tap Set, then tap Start to start the timer.

+ +

Photos

+

Add a photo to your Photo Library:

+

Press and hold the photo, then tap Save Image.

+ +

Maps

+

To conserve battery life, turn Locations Services off when you’re not using it. In Settings, choose General > Location Services.

+

Just speculation but this might help when location services go AWOL

+ +

Zooming out:

+

Pinch the map. Or tap the map with two fingers. Tap with two fingers again to zoom out further.

+ +

See a list of the businesses found in the search: From the Map screen, tap List.

+

I wasn't sure what the List option was for. It seems kind of out of place next to Map, Satellite and Hybrid.

+ +

Settings

+ +

Setting the double click function of the home button:

+

Choose General > Home Button to set preferences for double-clicking the Home button. You can set iPhone so that double-clicking the Home button goes to either to the Home screen, Phone Favorites, or the iPod screen.

+ +

Reset the keyboard dictionary:

+

Choose General > Reset and tap Reset Keyboard Dictionary. You add words to the keyboard dictionary by rejecting words iPhone suggests as you type. Tap a word to reject the correction and add the word to the keyboard dictionary. Resetting the keyboard dictionary erases all words you’ve added.

+ +

Reset the location warnings:

+

Choose General > Reset and tap Reset Location Warnings. Locations warnings are the requests made by applications (such as Camera and Maps) to use Location Services with those applications. iPhone stops presenting the warning for an application the second time you tap OK. Tap Reset Location Warnings to resume the warnings.

+

Its a pity this and the one above it are all or nothing.

+ +

Set iPhone to add the correct prefix when dialing from another country:

+

In Settings, tap Phone, then turn International Assist on. This lets you make calls to your home country using the numbers in your contacts and favorites, without having to add a prefix or your country code (not available in all areas).

+ +

Store

+ +

Checking for updates to App Store apps is all automatic:

+

Whenever you access the App Store, it checks for updates to applications you’ve installed. By default, the App Store also automatically checks for updates every week. The App Store icon shows the total number of application updates available. If an update is available and you access the App Store, the Updates screen appears immediately.

+ +

Ensure all iTunes and App Store items on the phone are listed in iTunes:

+

You can use iTunes to verify that all the music, videos, applications, and other items you bought from the iTunes Wi-Fi Music Store or App Store are in your iTunes library. You might want to do this if a download was interrupted. Verify your purchases:

+
    +
  1. Make sure your computer is connected to the Internet.
  2. +
  3. In iTunes, choose Store > Check for Purchases.
  4. +
  5. Enter your iTunes Store account ID and password, then click Check.
  6. +
+

Purchases not yet on your computer are downloaded.

+ +Update: This did not entirely solve the problem I had where not all apps on the phone were appearing in iTunes. However The Apple Blog seemed to have solved it with their "Transfer Applications from iPhone to iTunes" post. + +

Troubleshooting

+ +

Restart iPhone:

+

Press and hold the Sleep/Wake button until the red slider appears. Slide your finger across the slider to turn off iPhone. To turn iPhone back on, press and hold the Sleep/Wake until the Apple logo appears.

+ +

Reset iPhone:

+

Press and hold the Sleep/Wake button and the Home button at the same time for at least ten seconds, until the Apple logo appears.

+

It isn't made clear what the difference between restart and reset is.

+ +

iPhone Doesn’t Respond

+ +
+

Mainly included this quote for this point on force quitting apps.

+ +

iPhone Is Too Warm

+

If the interior temperature of iPhone 3G exceeds normal operating temperatures, you may experience the following as it attempts to regulate its temperature:

+ +

Important: You cannot use iPhone while the temperature warning screen is displayed except to make an emergency call. If none of the above measures succeeds in lowering the internal temperature, iPhone automatically goes into a deep sleep mode until it cools. You cannot make an emergency call when iPhone is in this mode. Move iPhone to a cooler location and wait a few minutes before trying to use iPhone again.

+
+

Interesting that this calls out the iPhone 3G specifically.

+ +

Final Notes

+

The iPhone User Guide, optimized for viewing on iPhone, is available at: help.apple.com/iphone

+ +

My Notes

+

Pressing the number/symbol button and sliding to the appropriate key is a quick way of adding punctuation and single numerals.

+

Time scanning after sitting idle is a strange UI anomaly. Could be related to network time.

+

There's an interesting section on Backups and managing them in iTunes that I won't repeat here, pp. 139.

\ No newline at end of file diff --git a/content/technical/2008/07/iphone-tips-from-the-user-guide.yaml b/content/technical/2008/07/iphone-tips-from-the-user-guide.yaml new file mode 100644 index 0000000..72ab5c5 --- /dev/null +++ b/content/technical/2008/07/iphone-tips-from-the-user-guide.yaml @@ -0,0 +1,13 @@ +--- +slug: iphone-tips-from-the-user-guide +permalink: http://www.wezm.net/2008/07/iphone-tips-from-the-user-guide/ +kind: article +section: technical +created_at: 2008-07-15 06:53:23 +title: iPhone Tips From the User Guide +post_id: 49 +tags: [] + +categories: +- iPhone +status: publish diff --git a/content/technical/2008/07/iphone-vodafone-comments.html b/content/technical/2008/07/iphone-vodafone-comments.html new file mode 100644 index 0000000..718e7cc --- /dev/null +++ b/content/technical/2008/07/iphone-vodafone-comments.html @@ -0,0 +1,15 @@ +I just sent off the following to Vodafone customer enquiries. I'm not overly hopeful of a favourable response but thought it was necessary. + +
Hi, +No doubt I'm one of thousands sending an email like this but still feel it necessary. I am eagerly awaiting the launch of the iPhone in Australia. I am intending to buy one on the day of release. When it was initially announced that Vodafone and Optus would be carrying the iPhone I had it in my mind that I would take the opportunity to swap to Vodafone from Optus. I have been a constant Optus customer since getting my first mobile phone in 1999.The complete lack of communication from Vodafone has put me off though. + +In order to make an informed decision on launch day it would have been nice to have plan details available at the very least a week before. With three days remaining its now getting beyond a joke. I understand that there may be other factors at play here. However given you have an audience that have voluntarily signed up for updates it would have been pro-active and open to communicate with these people and let them know what was holding up progress or at least when to expect more information (with more certainty than "very soon"). + +At this point are you able to provide any more detail than that which is publicly available already? + +Unfortunately unless the plans eventually announced are particularly compelling I expect I will remain an Optus customer. + +Regards, +Wesley Moore
+ +Update: I never got a response and bought my iPhone from Optus. \ No newline at end of file diff --git a/content/technical/2008/07/iphone-vodafone-comments.yaml b/content/technical/2008/07/iphone-vodafone-comments.yaml new file mode 100644 index 0000000..abdbb95 --- /dev/null +++ b/content/technical/2008/07/iphone-vodafone-comments.yaml @@ -0,0 +1,15 @@ +--- +slug: iphone-vodafone-comments +permalink: http://www.wezm.net/2008/07/iphone-vodafone-comments/ +kind: article +section: technical +created_at: 2008-07-08 02:03:40 +title: Comments to Vodafone on Lack of iPhone Information +post_id: 37 +tags: +- complaint +- iphone +- vodafone +categories: +- iPhone +status: publish diff --git a/content/technical/2008/08/iphone-gripe-trucated-song-titles.html b/content/technical/2008/08/iphone-gripe-trucated-song-titles.html new file mode 100644 index 0000000..1740691 --- /dev/null +++ b/content/technical/2008/08/iphone-gripe-trucated-song-titles.html @@ -0,0 +1,4 @@ +Something that seems to be a regression on the iPhone relative to all previous iPods is that song titles get truncated. Even in the original iPod the Now Playing screen would scroll the current song title so that you could read it all when it didn't fit on screen. Later model iPods also scrolled text that was wider than the screen when browsing menus. It seems the iPhone 3G does neither of these. + +I tried the three main views: Now Playing, List view (flip side of album art in now playing screen) and the track browsing screen. All three are pictured at the end of this post (which incidently was written using the very cool iPhone WordPress app). It seems the only way to see the full track name is to rotate the iPhone into the Coverflow view where the text fits given the added width of the screen. If anyone has any better suggestions I'd love to hear them. +





\ No newline at end of file diff --git a/content/technical/2008/08/iphone-gripe-trucated-song-titles.yaml b/content/technical/2008/08/iphone-gripe-trucated-song-titles.yaml new file mode 100644 index 0000000..895c04e --- /dev/null +++ b/content/technical/2008/08/iphone-gripe-trucated-song-titles.yaml @@ -0,0 +1,18 @@ +--- +slug: iphone-gripe-trucated-song-titles +permalink: http://www.wezm.net/2008/08/iphone-gripe-trucated-song-titles/ +kind: article +section: technical +created_at: 2008-08-17 09:10:12 +title: "iPhone Gripe: Trucated Song Titles" +post_id: 62 +tags: +- gripe +- iphone +- ipod +- music +- title +- truncation +categories: +- iPhone +status: publish diff --git a/content/technical/2008/08/pondering-sent-from-my-iphone.html b/content/technical/2008/08/pondering-sent-from-my-iphone.html new file mode 100644 index 0000000..5bbfe6e --- /dev/null +++ b/content/technical/2008/08/pondering-sent-from-my-iphone.html @@ -0,0 +1,33 @@ +The first email I sent from my iPhone was:
Hello from my new 16Gb white iPhone. I was 5th in line. :-)
+Unbeknownst to me at that time, my phone had helpfully attached the default signature of, "Sent from my iPhone", at the end of the email. Later that day, in a reply to what may have been my third ever email from the phone a friend said:
> Sent from my iPhone + +thats going to get annoying soon.. heheh :-P
Not one to wish to annoy people and seeing where he was coming from I removed the signature. + +A couple of weeks later as I was typing out a reply to a different friend on my trip to work on the tram, the desire for the signature returned. The reason being including the signature tells the recipient that the message came from a small handheld device, whilst I was on the go. This may help explain why the reply is terse and why there may be typos or particularly in the iPhones case, whole word substitutions. The phone is generally pretty good at auto-correction but if you're typing away furiously its easy for mistakes to go unnoticed. So, with a genuine desire to have a signature that wasn't about big-noting the fact I owned an iPhone, I explained the situation to my friends and asked what exactly was it that they disliked about it and how could it be made better and/or less intrusive. + +I got several well reasoned responses. The first suggested replying on the go wasn't really necessary, as most things can wait. So instead of pushing out a quick, terse response, take the time to write a proper reply and proof read for mistakes. Or just wait until you've got access to a desktop computer. + +Whilst a valid comment, the emails I am replying to are personal and I'm generally using my commute to work to read and reply to them to avoid using work time for personal email. Without doing so the reply would have to wait until my lunch break or until I get home. + +The next reply was from a fellow iPhone user that had also received comments about the signature, but agreed with me that it helped explain the style of the response. He noted that he had removed it though. + +The final reply echoed the first in suggesting that if its worth sending its worth doing properly and then followed with what I was expecting all along, I'll quote that part in full: +
To answer you question "why do you hate the sig", i think its mainly because of the blatant "zomg look at me i have an iPhone!!"".. There are many better options if you MUST have a sig just to say sorry to your reader.. eg Please excuse the brevity and/or any misspellings. The fact that it is the default, so it comes from everyone and is just such a blatant advertiser just gives me the shits to be totally honest :-)
+I totally get where Hayden is coming from here. The default signature is quite blatant and in your face. + +Thinking it over I came up with the following solutions: +
    +
  1. Have a signature like Hayden suggested that is device non-specic. E.g. "Sent from my phone"
  2. +
  3. Set my name in the account settings to "Wesley Moore (Mobile)" or something along those lines.
  4. +
+ +I went with the latter as its more subtle but still conveys what I wanted. The result looks like the following (in Gmail). + + + +The first response after making that change was: +
BRILLIANT! + +love your work :-)
+ +So there you have it, a simple change that might make some of your email recipients cringe a little less. \ No newline at end of file diff --git a/content/technical/2008/08/pondering-sent-from-my-iphone.yaml b/content/technical/2008/08/pondering-sent-from-my-iphone.yaml new file mode 100644 index 0000000..ccb45e8 --- /dev/null +++ b/content/technical/2008/08/pondering-sent-from-my-iphone.yaml @@ -0,0 +1,13 @@ +--- +slug: pondering-sent-from-my-iphone +permalink: http://www.wezm.net/2008/08/pondering-sent-from-my-iphone/ +kind: article +section: technical +created_at: 2008-08-12 12:04:25 +title: Pondering "Sent from my iPhone" +post_id: 57 +tags: [] + +categories: +- iPhone +status: publish diff --git a/content/technical/2008/09/pimping-vim-on-windows.html b/content/technical/2008/09/pimping-vim-on-windows.html new file mode 100644 index 0000000..0553d00 --- /dev/null +++ b/content/technical/2008/09/pimping-vim-on-windows.html @@ -0,0 +1,33 @@ +Following Nick Kreeger's handy post on tweaking MacVim on Mac OS X I applied some of the tips to GVim under Windows to make it a little easier on the eye. The following settings are placed in your _vimrc/.vimrc file. + +First up is a change of font. With the introduction of Windows Vista Microsoft had a set of new standard fonts created. These also ship with the latest versions of Office. The Consolas monospaced font makes a good programmers font so I this as the font when running under Windows. I've also set the size to be relatively small. + +
if has("gui_win32")
+    :set guifont=Consolas:h8,ProggyTiny:h8,Luxi_Mono:h12:cANSI
+endif
Next up set the window to start tall and a little wider than normal: + +set columns=90 lines=65 + +I share my vim config with Cygwin and Windows native vim. In order to get the Windows version to pick up the UNIX plugins etc in the .vim I include the following: + +
" Make Windows use my UNIX vimfiles
+if has("win32")
+    set runtimepath=$HOME/.vim,$HOME/vimfiles,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME/vimfiles/after
+endif
+ +Turn on a custom status line which includes the file name, file type, modified and read only status, line and column numbers and the percentage through the file. + +set laststatus=2 +set statusline=%<%f\ %m%a%=%([%R%H%Y]%)\ %-19(%3l\ of\ %L,%c%)%P +set showcmd + +Along the lines of what Nick did I turned line numbers on and toned the colour down a bit: + +colorscheme koehler +hi LineNr guifg=#666666 +set number + +So what does it all like in the end? Still not as good as MacVim but not too bad (click for full size version, scaled version looks a bit average): + +Screenshot of GVim on Windows after customisation + diff --git a/content/technical/2008/09/pimping-vim-on-windows.yaml b/content/technical/2008/09/pimping-vim-on-windows.yaml new file mode 100644 index 0000000..8b7bd27 --- /dev/null +++ b/content/technical/2008/09/pimping-vim-on-windows.yaml @@ -0,0 +1,14 @@ +--- +slug: pimping-vim-on-windows +permalink: http://www.wezm.net/2008/09/pimping-vim-on-windows/ +kind: article +section: technical +created_at: 2008-09-23 10:21:38 +title: Pimping Vim on Windows +post_id: 65 +tags: [] + +categories: +- Tips +- Windows +status: publish diff --git a/content/technical/2008/09/update-expectations.html b/content/technical/2008/09/update-expectations.html new file mode 100644 index 0000000..d369e35 --- /dev/null +++ b/content/technical/2008/09/update-expectations.html @@ -0,0 +1,35 @@ +I've recently upgraded from a Power Mac G5 to a Mac Pro. Since this upgrade also includes a switch of processor architecture I've been making a point of re-downloading all the apps I use, instead of just copying them from the old Mac. I'm doing this for two reasons. Firstly it ensures the apps are all up to date1 and secondly I ran Xslimmer over a lot of apps on the G5, which removed the Intel binary from Universal apps. + +This process has made me somewhat aware of a few apps that have seen little or no updates in quite a while. For some reason I have an expectation that applications will see periodic updates, say every six months or less. This expectation seems to stem from the fact I've paid for all these apps, which seems to bring with it some expectation of updates. Whether or not this expectation is justified or not is certainly up for debate. I clearly purchased a tool at some point and it performs its job fine, so I got what I paid for. I guess the expectation comes from not wanting to think you've bought abandon-ware and that software is one of those things that tends to continually evolve. + +In some cases I think the authors of the software fuel these expectations by explicitly indicating that there will be future development or by implying there will be updates. The following are some examples of what I'm talking about: + +

Disco (Disc burning software)

+ +Disco had a very hyped public beta prior to its release but since then has remained almost untouched feature wise. Its seen three maintenance releases since 1.0, which mostly centred around bug fixes and minor tweaks. Yet the aplication's home page advertises the following: + +
There are some amazing things in the works for Disco. First and foremost, as Apple adds support for Blu-ray to their computers we intend to be right there with them. As soon as possible, Disco will support these new media technologies to the fullest. We're also planning on introducing more innovative features in the vein of Discography, Spanning and the new Disc Naming.
+ +Obviously we're still waiting for Apple to bring us Blu-ray however despite the claims of future enhancements in the last sentence there have been no significant new features since the 1.0 release over 18 months2 ago. The last maintenance release was six months ago. + +

AppZapper (Application removal tool)

+ +AppZapper is a well designed minimalist app that takes care of deleting applications and their associated support files. Whilst it works ok. There's definitely room for improvement to become comparable with some of the newer apps in this area like Forklift, which I also own. Forklift tends to find more files, such as log files, that AppZapper misses. The AppZapper home page proclaims "Free upgrades for life". This seems like a good selling point until you discover that the last time it saw an update of any kind was well over 18 months ago3. + +

Xtorrent (BitTorrent client)

+ +Xtorrent is written by the infomous Dave Watenabe (a fellow Melburnian I beleive). His combined search tool and torrent client saw frequent, if not frantic updates leading up to and beyond the 1.0 release. Followed by a feature release of version 1.1 not far off one year ago4. The kicker with this one is that when you purchase Xtorrent you can pay an extra US$15 to get Lifetime upgrades (which I did). That would be money well spent if there were frequent upgrades. + +Now I'm aware Dave can fly off the handle at times so in an attempt to avoid that I will mention that he does have a lot of apps on his hands for a single developer. I guess the main gripe here is Xtorrent can be a little flakey at times, particular when clicking the delete search button5, plus I'm led to believe it uses the open source Tranmisson BitTorrent library so there could potentially be updates just to keep Xtorrent in sync with that. + +So there you go, maybe I'm being greedy and expecting too much or maybe there's room for improvement from these app's authors, either way lets hope the apps see some love soon. + +________________________ +
    +
  1. Although this is taken care of by built-in updaters like Sparkle and derivatives in a lot of cases.
  2. +
  3. http://discoapp.com/releasenotes.html
  4. +
  5. http://www.macupdate.com/info.php/id/20306/appzapper
  6. +
  7. http://www.macupdate.com/info.php/id/22815/xtorrent
  8. +
  9. I probably should admit here that no, I haven't reported this to him. I'll get on it after this post.
  10. +
+ diff --git a/content/technical/2008/09/update-expectations.yaml b/content/technical/2008/09/update-expectations.yaml new file mode 100644 index 0000000..e8ad4b1 --- /dev/null +++ b/content/technical/2008/09/update-expectations.yaml @@ -0,0 +1,14 @@ +--- +slug: update-expectations +permalink: http://www.wezm.net/2008/09/update-expectations/ +kind: article +section: technical +created_at: 2008-09-05 06:54:53 +title: Update Expectations +post_id: 63 +tags: [] + +categories: +- Mac OS X +- Software +status: publish diff --git a/content/technical/2008/09/zsh-cygwin-and-insecure-directories.html b/content/technical/2008/09/zsh-cygwin-and-insecure-directories.html new file mode 100644 index 0000000..cde808b --- /dev/null +++ b/content/technical/2008/09/zsh-cygwin-and-insecure-directories.html @@ -0,0 +1,44 @@ +In order to cope with having to use Windows at work I run Cygwin. My shell of choice is zsh. For whatever reason the Cygwin package of zsh installs with a serious of directories that the zsh completion system deems to be insecure and it makes sure you know this. Each time a new shell is opened (in my case through a Windows native rxvt terminal) I would receive the following warning: + +Ignore insecure directories and continue [ny]? + +Pressing 'y' becomes a bit tedious after a while so I decided to track down these insecure directories and fix them. + +man zshcompsys reveals the following about the security check: + +
For security reasons compinit also checks if the completion system +would use files not owned by root or by the current user, or files in +directories that are world- or group-writable or that are not owned by +root or by the current user. If such files or directories are found, +compinit will ask if the completion system should really be used. To +avoid these tests and make all files found be used without asking, use +the option -u, and to make compinit silently ignore all insecure files +and directories use the option -i. This security check is skipped +entirely when the -C option is given. + +The security check can be retried at any time by running the function +compaudit. +
+ +Running compaudit revealed the following: +% compaudit +There are insecure directories: +/usr/share/zsh/site-functions +/usr/share/zsh/4.3.4/functions +/usr/share/zsh +/usr/share/zsh/4.3.4 + +Examining the permissions on these directories showed they were all group writable. + +% ls -ld /usr/share/zsh/site-functions +drwxrwx---+ 2 wmoore mkgroup-l-d 0 Sep 4 10:54 /usr/share/zsh/site-functions + +Stripping them of the group write permission fixed the problem and made starting a new shell a little more pleasant. + +% chmod g-w /usr/share/zsh/site-functions /usr/share/zsh/4.3.4/functions /usr/share/zsh /usr/share/zsh/4.3.4 +% compaudit +% + + +Update: kylexlau provides this one line solution for correcting to permissions on each of the directories that compaudit returns: +compaudit | xargs chmod g-w \ No newline at end of file diff --git a/content/technical/2008/09/zsh-cygwin-and-insecure-directories.yaml b/content/technical/2008/09/zsh-cygwin-and-insecure-directories.yaml new file mode 100644 index 0000000..2afd94d --- /dev/null +++ b/content/technical/2008/09/zsh-cygwin-and-insecure-directories.yaml @@ -0,0 +1,15 @@ +--- +slug: zsh-cygwin-and-insecure-directories +permalink: http://www.wezm.net/2008/09/zsh-cygwin-and-insecure-directories/ +kind: article +section: technical +created_at: 2008-09-22 13:12:16 +title: zsh, Cygwin and Insecure Directories +post_id: 66 +tags: [] + +categories: +- Tips +- UNIX +- Windows +status: publish diff --git a/content/technical/2008/11/iphone-case.html b/content/technical/2008/11/iphone-case.html new file mode 100644 index 0000000..6386d26 --- /dev/null +++ b/content/technical/2008/11/iphone-case.html @@ -0,0 +1,7 @@ +Mossimo iPhone Pouch/CaseSince I got my iPhone I've been trying to find a suitable case for it. As I mentioned on Stephen's blog back in July I was looking for a pouch style case. I wanted something a thin as possible but not something that was permanently on the phone. I don't see the point of buying some thing with excellent design then wrapping it in some ugly case. I've been dropping into phone shops now and then to see what cases they've got but hadn't found anything compelling until this week. I saw that TeleChoice seemed to have what I was looking for, it also happened to be a Mossimo case. There is one problem that I didn't notice in the shop though. + +The case itself is almost exactly what I'm after: it's a vertical slip-in genuine leather pouch with a soft liner. There's one glaring fault though, which is the inclusion of a metal eyelet. The eyelet will of course get pressed against the phone and damage it over time, especially when in a moving jeans pocket or similar. I haven't yet decided what to do about. Options include removing it, putting tape or something over it or putting a little piece of tape on the phone. + + +
+Mossimo iPhone Pouch/Case
\ No newline at end of file diff --git a/content/technical/2008/11/iphone-case.yaml b/content/technical/2008/11/iphone-case.yaml new file mode 100644 index 0000000..2b4d3ca --- /dev/null +++ b/content/technical/2008/11/iphone-case.yaml @@ -0,0 +1,14 @@ +--- +slug: iphone-case +permalink: http://www.wezm.net/2008/11/iphone-case/ +kind: article +section: technical +created_at: 2008-11-21 03:32:05 +title: iPhone Case +post_id: 75 +tags: +- case +- iphone +categories: +- iPhone +status: publish diff --git a/content/technical/2008/11/power-mac-g5-on-ebay.html b/content/technical/2008/11/power-mac-g5-on-ebay.html new file mode 100644 index 0000000..2185e84 --- /dev/null +++ b/content/technical/2008/11/power-mac-g5-on-ebay.html @@ -0,0 +1,5 @@ +My trusty Power Mac G5 that was replaced by a Mac Pro earlier this year is now on eBay. If you're in Australia and you or someone you know is looking for a cheap, capable, expandable workstation send them to the auction. + + + +P.S. It pains me to have Flash on my site but its the easiest way to embed the auction. There's no AU version of the "eBay To Go" feature I used either, which is why its in US dollars. \ No newline at end of file diff --git a/content/technical/2008/11/power-mac-g5-on-ebay.yaml b/content/technical/2008/11/power-mac-g5-on-ebay.yaml new file mode 100644 index 0000000..f345209 --- /dev/null +++ b/content/technical/2008/11/power-mac-g5-on-ebay.yaml @@ -0,0 +1,14 @@ +--- +slug: power-mac-g5-on-ebay +permalink: http://www.wezm.net/2008/11/power-mac-g5-on-ebay/ +kind: article +section: technical +created_at: 2008-11-19 12:07:48 +title: Power Mac G5 on eBay +post_id: 73 +tags: [] + +categories: +- Apple +- Miscellaneous +status: publish diff --git a/content/technical/2008/11/progress-update.html b/content/technical/2008/11/progress-update.html new file mode 100644 index 0000000..1a6c88a --- /dev/null +++ b/content/technical/2008/11/progress-update.html @@ -0,0 +1,19 @@ +Its been quite some time since my original post soliciting ideas for a Mac OS X application to develop. Since then I decided to heed the advice I've read in several places and to just implement something simple that I want. That ended up being an audio file splitter. The app is currently nicknamed Chopper, which aside from the obvious cutting meaning also has a bit of meaning in Australian culture as a reference to Mark "Chopper" Read. + +In July I also changed jobs. As part of accepting the new role I asked to work a four day week, with the intention of dedicating the fifth day to Mac development. A day a week turned out to be too much but they did accept a day a fortnight, written into my contract, so I always get it. + +With that day a fortnight I've done such things as: + + +The todo list is still quite large. I will continue plugging away and one day it will be ready. In the meantime I'm aiming to post more frequent updates on this site and maybe cover some of the things that I've learnt such as unit testing Cocoa classes. \ No newline at end of file diff --git a/content/technical/2008/11/progress-update.yaml b/content/technical/2008/11/progress-update.yaml new file mode 100644 index 0000000..d9f24c6 --- /dev/null +++ b/content/technical/2008/11/progress-update.yaml @@ -0,0 +1,13 @@ +--- +slug: progress-update +permalink: http://www.wezm.net/2008/11/progress-update/ +kind: article +section: technical +created_at: 2008-11-21 00:16:35 +title: Progress Update +post_id: 102 +tags: +- chopper +categories: +- Development +status: publish diff --git a/content/technical/2009/01/determining-non-automatically-installed-debian-packages.html b/content/technical/2009/01/determining-non-automatically-installed-debian-packages.html new file mode 100644 index 0000000..cfbe787 --- /dev/null +++ b/content/technical/2009/01/determining-non-automatically-installed-debian-packages.html @@ -0,0 +1,13 @@ +Tonight I began migrating from my current VPS at vpsFarm to a new one at Crucial Paradigm. The primary driver behind this is financial. Firstly I wanted to reduce the cost of running a VPS and secondly I wanted a VPS billed in Australian dollars so I wasn't exposed to wildly varying value of the Australian dollar. Due to the recent slump in the exchange rate the vpsFarm server started costing $10 or so more a month. + +With my fresh Debian 4 VPS up and running I now wanted to install all the various packages that I had on the vpsFarm server. However I'm aware that when using aptitude to install packages it tracks which ones were included automatically as dependencies and can then clean them up if they are later on no longer needed by anything. As a result of this I didn't want to just install every package listed by `dpkg -l` on the old server. The solution I came up with was as follows. Its not particularly elegant but got the job done: + +
# On old server
+aptitude search '~i' | grep -v 'i A' > ~/installed.txt
+# scp installed.txt to new server
+# Then on new server
+aptitude search '~i' | grep -v 'i A' > ~/installed2.txt
+# Then determine which ones the new server doesn't have already
+diff installed*.txt | awk '{ print $3 }'|sort |uniq
+ +I joined the resulting list into a single line (Text > Unwrap Selection in TextMate or :%j in vim), removed a few that I didn't want then did sudo aptitude install and pasted the list of packages from TextMate. The aptitude search '~i' lists installed packages, the grep removes ones that were automatically installed and the diff finds ones that the new server doesn't already have. \ No newline at end of file diff --git a/content/technical/2009/01/determining-non-automatically-installed-debian-packages.yaml b/content/technical/2009/01/determining-non-automatically-installed-debian-packages.yaml new file mode 100644 index 0000000..9ab7c30 --- /dev/null +++ b/content/technical/2009/01/determining-non-automatically-installed-debian-packages.yaml @@ -0,0 +1,20 @@ +--- +slug: determining-non-automatically-installed-debian-packages +permalink: http://www.wezm.net/2009/01/determining-non-automatically-installed-debian-packages/ +kind: article +section: technical +created_at: 2009-01-20 13:18:54 +title: Determining Non-Automatically Installed Debian Packages +post_id: 81 +tags: +- apt +- debian +- installed +- linux +- packages +- server +- vps +categories: +- Linux +- Tips +status: publish diff --git a/content/technical/2009/01/the-iphone-headphones-have-a-button.html b/content/technical/2009/01/the-iphone-headphones-have-a-button.html new file mode 100644 index 0000000..832f5fa --- /dev/null +++ b/content/technical/2009/01/the-iphone-headphones-have-a-button.html @@ -0,0 +1,43 @@ +Before Christmas I was speaking with two colleagues and recent iPhone adopters about headphones. They were examining my Sony MDR-EX71s (white, short cable) connected to Griffin SmartTalk. I mentioned the SmartTalk gives third-party headphones a button and microphone. I was asked if you could answer calls with the button to which I said, "yes, it does all the same things as the included headphones". To which the reply was, "the included ones have a button?". Yep they certainly do. + +
The headset included with iPhone features a microphone and an integrated button that allows you to answer and end calls easily, and control audio and video playback. +Plug in the headset to listen to music or a phone call. Callers hear you through the headset microphone. Click the mic button to control music playback and answer or end calls, even when iPhone is locked.
+ +Stereo Headset with mic + +These are the functions that can be performed with the mic button: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Pause a song or videoClick the mic button once. Click again to resume playback.
Skip to the next songClick twice quickly.
Skip to the previous songClick three times quickly.
Answer an incoming callClick once.
End the current callClick once.
Decline an incoming callPress and hold for about two seconds, then let go. When you let go, two low beeps confirm you declined the call.
Switch to an incoming or on-hold call and put the current call on holdClick once. Click again to switch back to the first call.
Switch to an incoming or on-hold call and end the current callPress and hold for about two seconds, then let go. When you let go, two low beeps confirm you ended the first call.
+ diff --git a/content/technical/2009/01/the-iphone-headphones-have-a-button.yaml b/content/technical/2009/01/the-iphone-headphones-have-a-button.yaml new file mode 100644 index 0000000..7dcd6c4 --- /dev/null +++ b/content/technical/2009/01/the-iphone-headphones-have-a-button.yaml @@ -0,0 +1,17 @@ +--- +slug: the-iphone-headphones-have-a-button +permalink: http://www.wezm.net/2009/01/the-iphone-headphones-have-a-button/ +kind: article +section: technical +created_at: 2009-01-06 03:31:45 +title: The iPhone Headphones Have a Button +post_id: 78 +tags: +- button +- headphones +- headset +- iphone +- microphone +categories: +- iPhone +status: publish diff --git a/content/technical/2009/03/bash-git-completion-with-mac-ports.html b/content/technical/2009/03/bash-git-completion-with-mac-ports.html new file mode 100644 index 0000000..48533d2 --- /dev/null +++ b/content/technical/2009/03/bash-git-completion-with-mac-ports.html @@ -0,0 +1,5 @@ +Git comes with bash completion support which comes in handy for completing branch names and things like that. To get this support when installing git via Mac Ports you must add the bash_completion variant. You'll also want to install the bash_completion port. After that you need to add the following to your ~/.bashrc file:
if [ -f /opt/local/etc/bash_completion ]; then
+    . /opt/local/etc/bash_completion
+fi
+For reference I have the folloowing Git related config in my .bashrc: + \ No newline at end of file diff --git a/content/technical/2009/03/bash-git-completion-with-mac-ports.yaml b/content/technical/2009/03/bash-git-completion-with-mac-ports.yaml new file mode 100644 index 0000000..a304c0c --- /dev/null +++ b/content/technical/2009/03/bash-git-completion-with-mac-ports.yaml @@ -0,0 +1,16 @@ +--- +slug: bash-git-completion-with-mac-ports +permalink: http://www.wezm.net/2009/03/bash-git-completion-with-mac-ports/ +kind: article +section: technical +created_at: 2009-03-30 10:13:49 +title: Bash Git Completion with Mac Ports +post_id: 107 +tags: +- bash +- completion +- git +- macports +categories: +- Mac +status: publish diff --git a/content/technical/2009/03/consolas-on-mac-update.html b/content/technical/2009/03/consolas-on-mac-update.html new file mode 100644 index 0000000..606b9f5 --- /dev/null +++ b/content/technical/2009/03/consolas-on-mac-update.html @@ -0,0 +1,4 @@ +Today I followed my own directions on installing Consolas on my Mac Pro. The original directions were put together when installing it on my Mac Book. The downloaded disk image had a different volume name, as did the meta package. So the the command I used to launch the font installer was:
open "/Volumes/Open XML File Format Converter for Mac 1.0/Open XML File Format Converter for Mac 1.0.mpkg/Contents/Packages/OpenXML_all_fonts.pkg"
+ +After the installer ran I went about making it the default font in Terminal. After doing so and setting it the same as it was on my Mac Book (13pt, antialiasing on) it looked terrible on the Mac Pro. Compare the two images below. I was after the latter. +After a little bit of confusion I decided to check the font smoothing style in the Appearance preference pane (in System Preferences). Turns out it was set to Automatic (best for main display) on the Mac Pro and Medium (best for Flat Panel) on the Mac Book. Changing to Medium and relaunching Terminal had it looking identical on both machines. diff --git a/content/technical/2009/03/consolas-on-mac-update.yaml b/content/technical/2009/03/consolas-on-mac-update.yaml new file mode 100644 index 0000000..c5df685 --- /dev/null +++ b/content/technical/2009/03/consolas-on-mac-update.yaml @@ -0,0 +1,16 @@ +--- +slug: consolas-on-mac-update +permalink: http://www.wezm.net/2009/03/consolas-on-mac-update/ +kind: article +section: technical +created_at: 2009-03-30 09:56:12 +title: Consolas on Mac Update +post_id: 106 +tags: +- consolas +- font +- smoothing +- terminal +categories: +- Mac +status: publish diff --git a/content/technical/2009/03/debian-lenny-released.html b/content/technical/2009/03/debian-lenny-released.html new file mode 100644 index 0000000..28e3654 --- /dev/null +++ b/content/technical/2009/03/debian-lenny-released.html @@ -0,0 +1,3 @@ +Debian GNU/Linux 5.0 was released on Valentines day 2009, "after 22 months of constant development", according to the announcement. 22 months is still a long time between releases but its certainly an improvement over the nearly three years between 3.0 and 3.1 (sarge) and consistent with the 21 months between 3.1 and 4.0. + +As always the upgrade procedure is straightforward and worked seamlessly for me. I followed the instructions on go2linux. \ No newline at end of file diff --git a/content/technical/2009/03/debian-lenny-released.yaml b/content/technical/2009/03/debian-lenny-released.yaml new file mode 100644 index 0000000..30b6172 --- /dev/null +++ b/content/technical/2009/03/debian-lenny-released.yaml @@ -0,0 +1,16 @@ +--- +slug: debian-lenny-released +permalink: http://www.wezm.net/2009/03/debian-lenny-released/ +kind: article +section: technical +created_at: 2009-03-01 21:00:39 +title: Debian 5.0 'Lenny' Released +post_id: 90 +tags: +- debian +- etch +- lenny +- upgrade +categories: +- Linux +status: publish diff --git a/content/technical/2009/03/free-virtualisation-with-virtualbox.html b/content/technical/2009/03/free-virtualisation-with-virtualbox.html new file mode 100644 index 0000000..6c55c1b --- /dev/null +++ b/content/technical/2009/03/free-virtualisation-with-virtualbox.html @@ -0,0 +1,14 @@ +Virtualisation software has been around for a long time. This software allows you to host one or more guest operating systems on top of the one you're already running at near full speed. For example you could run Linux as a guest on Windows or OpenSolaris as a guest on Mac OS X. Some of the reasons you might wish to do this are: +There's quite a few different virtualisation software options out there but a relative newcomer is Sun Microsystems' VirtualBox. Originally developed by innotek it was acquired by Sun in February 2008. As well as being very capable in its own right VirtualBox is also free and open source. + +VirtualBox runs on Mac OS X, Linux and Windows. It can host Windows, Linux, BSD, Solaris, OS/2 and probably many more guest OS's. It features a seamless windows feature for Linux and Windows guests to integrate the guest windows into the host, is extensively controllable and configurable from the command line and has a built in RDP server so you can access the GUI of a guest remotely amongst many other features. It also includes "additions" that you install in the guest to get better integration with the host. Currently there are additions for Linux, Windows, Solaris and OS/2. + +The VirtualBox Graphical User InterfaceVirtualBox running a Debian GNU/Linux guest on Mac OS X

One particularly nifty feature if you're on a Windows PC without Administrator privileges is VirtualBox will install and run as an unprivileged user. This means if you're forced to use Windows at work you might be able to install Linux via VirtualBox and become a bit more productive.

+ +In some future posts I plan to cover some ways you can put VirtualBox to use. The first of these will cover setting up a Linux guest to mirror the deployment environment of a web application. \ No newline at end of file diff --git a/content/technical/2009/03/free-virtualisation-with-virtualbox.yaml b/content/technical/2009/03/free-virtualisation-with-virtualbox.yaml new file mode 100644 index 0000000..11eb746 --- /dev/null +++ b/content/technical/2009/03/free-virtualisation-with-virtualbox.yaml @@ -0,0 +1,15 @@ +--- +slug: free-virtualisation-with-virtualbox +permalink: http://www.wezm.net/2009/03/free-virtualisation-with-virtualbox/ +kind: article +section: technical +created_at: 2009-03-12 11:36:40 +title: Free Virtualisation With VirtualBox +post_id: 7 +tags: +- virtualbox +- virtualisation +- virtualization +categories: +- Software +status: publish diff --git a/content/technical/2009/03/install-consolas-mac-osx.html b/content/technical/2009/03/install-consolas-mac-osx.html new file mode 100644 index 0000000..a4b8e77 --- /dev/null +++ b/content/technical/2009/03/install-consolas-mac-osx.html @@ -0,0 +1,40 @@ +With the introduction of Windows Vista and Office 2007 Microsoft included some new fonts, which became the defaults in Office. Their names all start with 'C' and they are quite attractive. In particular there is a monospaced font called Consolas that is nice to use as a text editor font and Terminal font. The problem is they aren't technically free, although Microsoft does include them in a number of freely available updaters. What follows is how I went about installing the fonts on my Mac. + +
    +
  1. Download the Open XML File Format Converter for Mac from the Microsoft Mactopia download page.
  2. +
  3. Double click the disk image if it wasn't automatically mounted. You will see an Open XML File Format Converter meta package (.mpkg). This is an installer package comprised of several sub-installer packages. One of which is the fonts I was after.
  4. +
  5. Run the Open XML Fonts Installer package. Running the following in the Terminal will achieve this in a typical Mac OS X install: +open "/Volumes/Open XML File Format Converter for Mac 1.0.2/Open XML File Format Converter for Mac 1.0.2.mpkg/Contents/Packages/OpenXML_all_fonts.pkg"
  6. +
  7. Follow the prompts and you're done. You can now configure you text editor and Terminal to use Consolas.
  8. +
+ +Note: I deemed that the OpenXML_all_fonts.pkg was safe to install without fear that it will install any other rubbish using the lsbom command as follows: + +
$ lsbom -s /Volumes/Open\ XML\ File\ Format\ Converter\ for\ Mac\ 1.0.2/Open\ XML\ File\ Format\ Converter\ for\ Mac\ 1.0.2.mpkg/Contents/Packages/OpenXML_all_fonts.pkg/Contents/Archive.bom 
+.
+./Calibri Bold Italic.ttf
+./Calibri Bold.ttf
+./Calibri Italic.ttf
+./Calibri.ttf
+./Cambria Bold Italic.ttf
+./Cambria Bold.ttf
+./Cambria Italic.ttf
+./Cambria.ttf
+./Candara Bold Italic.ttf
+./Candara Bold.ttf
+./Candara Italic.ttf
+./Candara.ttf
+./Consolas Bold Italic.ttf
+./Consolas Bold.ttf
+./Consolas Italic.ttf
+./Consolas.ttf
+./Constantia Bold Italic.ttf
+./Constantia Bold.ttf
+./Constantia Italic.ttf
+./Constantia.ttf
+./Corbel Bold Italic.ttf
+./Corbel Bold.ttf
+./Corbel Italic.ttf
+./Corbel.ttf
+ +This listing shows that the package only contains fonts, nothing else. diff --git a/content/technical/2009/03/install-consolas-mac-osx.yaml b/content/technical/2009/03/install-consolas-mac-osx.yaml new file mode 100644 index 0000000..26e3ba7 --- /dev/null +++ b/content/technical/2009/03/install-consolas-mac-osx.yaml @@ -0,0 +1,18 @@ +--- +slug: install-consolas-mac-osx +permalink: http://www.wezm.net/2009/03/install-consolas-mac-osx/ +kind: article +section: technical +created_at: 2009-03-02 22:00:59 +title: Install Microsoft's Consolas Font on Mac OS X +post_id: 82 +tags: +- consolas +- fonts +- installer +- microsoft +- package +categories: +- Mac OS X +- Tips +status: publish diff --git a/content/technical/2009/03/mac-remote-desktop-connection-without-installer.html b/content/technical/2009/03/mac-remote-desktop-connection-without-installer.html new file mode 100644 index 0000000..fc71708 --- /dev/null +++ b/content/technical/2009/03/mac-remote-desktop-connection-without-installer.html @@ -0,0 +1,15 @@ +Microsoft provide a Remote Desktop Connection (RDC) client for the Mac. This is a good thing. However it is packaged as an Installer meta package, which to me seemed unnecessary, so I went digging. Viewing the Packages folder within the meta package shows that Microsoft have thoughtfully included an Office updater, error reporter and help viewer as well as the RDC client itself: +
    +
  1. Office2008_en_autoupdate.pkg
  2. +
  3. Office2008_en_errorreporting.pkg
  4. +
  5. Office2008_en_helpviewer.pkg
  6. +
  7. Remote Desktop Connection 2.pkg
  8. +
  9. Remote Desktop Connection.pkg
  10. +
+Note: From what I can tell the second RDC package (the one with 2 on the end) exists to provide internationalisation, something I don't need. If you aren't an English speaker (yes I'm aware of the irony of this post being written in English) then you may not want to follow these directions. + +Further examination with the ever trusty lsbom command shows that Remote Desktop Connection.pkg contains solely the RDC client app. This means that Microsoft could potentially distribute the app simply zipped or if desired on a disk image without the Installer package. Anyway, what this means is that you can extract the Archive.pax.gz file in the package and happily skip the Installer. On a typical Mac OS X (10.5) installation (I.e. mine) with the Remote Desktop Connection disk image mounted this can be achieved by running the following terminal command: + +open /Volumes/Remote\ Desktop\ Connection/Remote\ Desktop\ Connection.mpkg/Contents/Packages/Remote\ Desktop\ Connection.pkg/Contents/Archive.pax.gz + +This should open a Finder window with your shiny new Remote Desktop Connection.app in it. You can then move it to you Applications folder if desired. \ No newline at end of file diff --git a/content/technical/2009/03/mac-remote-desktop-connection-without-installer.yaml b/content/technical/2009/03/mac-remote-desktop-connection-without-installer.yaml new file mode 100644 index 0000000..79f9782 --- /dev/null +++ b/content/technical/2009/03/mac-remote-desktop-connection-without-installer.yaml @@ -0,0 +1,17 @@ +--- +slug: mac-remote-desktop-connection-without-installer +permalink: http://www.wezm.net/2009/03/mac-remote-desktop-connection-without-installer/ +kind: article +section: technical +created_at: 2009-03-03 22:00:59 +title: Mac Remote Desktop Connection Without Installer +post_id: 84 +tags: +- installer +- microsoft +- package +- remotedesktop +categories: +- Mac OS X +- Tips +status: publish diff --git a/content/technical/2009/03/mlug-virtualbox-workshop.html b/content/technical/2009/03/mlug-virtualbox-workshop.html new file mode 100644 index 0000000..d0b1a29 --- /dev/null +++ b/content/technical/2009/03/mlug-virtualbox-workshop.html @@ -0,0 +1 @@ +If you're a Melbourne Linux user interested in getting started with VirtualBox it might be worth checking out the next Melbourne Linux Users Group meeting. They're holding a workshop on installing a guest with seamless mouse and keyboard integration. I assume the integration part means they will cover installing the VirtualBox additions on the guest. See the MLUG website for all the details. \ No newline at end of file diff --git a/content/technical/2009/03/mlug-virtualbox-workshop.yaml b/content/technical/2009/03/mlug-virtualbox-workshop.yaml new file mode 100644 index 0000000..cc78141 --- /dev/null +++ b/content/technical/2009/03/mlug-virtualbox-workshop.yaml @@ -0,0 +1,16 @@ +--- +slug: mlug-virtualbox-workshop +permalink: http://www.wezm.net/2009/03/mlug-virtualbox-workshop/ +kind: article +section: uncategorized +created_at: 2009-03-13 08:58:12 +title: MLUG VirtualBox Workshop +post_id: 10 +tags: +- linux +- melbourne +- user-group +- virtualbox +categories: +- Uncategorized +status: publish diff --git a/content/technical/2009/03/my-first-new-site-is-live.html b/content/technical/2009/03/my-first-new-site-is-live.html new file mode 100644 index 0000000..5899e81 --- /dev/null +++ b/content/technical/2009/03/my-first-new-site-is-live.html @@ -0,0 +1,5 @@ +Since starting my new job at Tricycle Developments in January I've been working on a project to repurpose the Reddit source code into a kind of community blogging platform with voting and karma. + +The result of that work went live on Thursday and after an initial hiccup with a questionably named user posting off topic content its going well so far. One of the first posts on the site is one asking for feedback on Issues, Bugs, and Requested Features. The thread has been inundated with all three of these so it looks like I still have plenty of work ahead refining the user experience. + +As well as being the first site I've worked on from start to finish (aside from personal ones) Less Wrong is also my first Python project and significant open source project. Its been great learning another programming language and putting that knowledge into practice. You can check it out the code on GitHub (pun not intended). Also if you end up looking at or using the code or Less Wrong itself and encounter any issues there is an issue tracker on Google Code where they can be logged. \ No newline at end of file diff --git a/content/technical/2009/03/my-first-new-site-is-live.yaml b/content/technical/2009/03/my-first-new-site-is-live.yaml new file mode 100644 index 0000000..f3f79df --- /dev/null +++ b/content/technical/2009/03/my-first-new-site-is-live.yaml @@ -0,0 +1,15 @@ +--- +slug: my-first-new-site-is-live +permalink: http://www.wezm.net/2009/03/my-first-new-site-is-live/ +kind: article +section: technical +created_at: 2009-03-01 22:00:02 +title: My First New Site is Live +post_id: 88 +tags: +- opensource +- python +categories: +- Programming +- Software +status: publish diff --git a/content/technical/2009/04/capturing-an-rtmp-video-stream-with-flv-recorder.html b/content/technical/2009/04/capturing-an-rtmp-video-stream-with-flv-recorder.html new file mode 100644 index 0000000..d692a0b --- /dev/null +++ b/content/technical/2009/04/capturing-an-rtmp-video-stream-with-flv-recorder.html @@ -0,0 +1,24 @@ +↓ Jump to solution + +Today I was pointed towards a video on the Today Tonight website (an Australian current affairs TV show) and told to save a copy. Our client had gained approval to use the video on their site and needed a copy for that purpose. It was a flash video and whilst I've never saved one before I knew there were various tools out there to do it. + +My first attempt was a couple of different Firefox Add-ons. None of the three I tried would tackle this video, they save the empty player and a few ads but that was all. After some Googling I jumped on a Windows virtual machine and tried out Orbit Downloader. Its use was a little convoluted but it did indeed seem to identify the RTMP stream and attempt to download it. Unfortunately I think the host was blocking it and it just sat in a loop successfully connecting, then retrying. + +flvrecorderNext up I found FLV Recorder it wasn't immediately obvious how to get it up and running but after following one of the many guides on the site I discovered that I had to tell it what network interface to listen to. I assume that it eavesdrops on the interface to detect and record the video stream, which is pretty cool. + +After the interface was selected I was on my way. I clicked the record button, loaded the webpage and started the video playing. FLV Recorder detected the video and started capturing it. As it is capturing the network traffic it's necessary to let the video play all the way through in the browser. A few minutes later and I had my video. I was able to play it back in the built-in FLV player before uploading it to YouTube. + +During my attempts I was able to determine that video itself was in Flash video format (FLV) being transferred using RTMP, which according to Wikipedia is, "a proprietary protocol developed by Adobe Systems for streaming audio, video and data over the Internet, between a Flash player and a server". It seems that the Flash player itself implements RTMP, which I think is why the Firefox Add-on's weren't able to see the network activity. + + +

Capturing an RTMP Video Stream with FLV Recorder

+ +If anyone else is in the same position as me I highly suggest you check out FLV Recorder. These are the steps I followed to save my video: +
    +
  1. Set the network interface in the FLV Recorder options to the one that you use to connect to the Internet (This is a once off setting).
  2. +
  3. Click the record button in FLV Recorder (bottom left).
  4. + +
  5. Browse to the page that has the video on it in your web browser.
  6. +
  7. Start the video playing that you want to record. FLV Recorder should start recording.
  8. +
  9. Let the video play all the way through and you're done!
  10. +
\ No newline at end of file diff --git a/content/technical/2009/04/capturing-an-rtmp-video-stream-with-flv-recorder.yaml b/content/technical/2009/04/capturing-an-rtmp-video-stream-with-flv-recorder.yaml new file mode 100644 index 0000000..7de0208 --- /dev/null +++ b/content/technical/2009/04/capturing-an-rtmp-video-stream-with-flv-recorder.yaml @@ -0,0 +1,19 @@ +--- +slug: capturing-an-rtmp-video-stream-with-flv-recorder +permalink: http://www.wezm.net/2009/04/capturing-an-rtmp-video-stream-with-flv-recorder/ +kind: article +section: technical +created_at: 2009-04-23 09:48:07 +title: Capturing an RTMP Video Stream with FLV Recorder +post_id: 108 +tags: +- capture +- flash +- flv +- recording +- rtmp +- video +- windows +categories: +- Software +status: publish diff --git a/content/technical/2009/05/exclude-directories-from-textmate-side-bar-for-faster-find-in-project.html b/content/technical/2009/05/exclude-directories-from-textmate-side-bar-for-faster-find-in-project.html new file mode 100644 index 0000000..759524b --- /dev/null +++ b/content/technical/2009/05/exclude-directories-from-textmate-side-bar-for-faster-find-in-project.html @@ -0,0 +1,5 @@ +I'm not much of a user of TextMate project files, generally preferring to just mate . in a directory. This works great until the directory or one under it contains large, irrelevant files like log files or database dumps. Its at this point you start encounter massive slow downs in the otherwise very useful 'Find in Project...' function. The slow downs turn into crashes if the files are big enough as this results in TextMate atttempting to grab vast amounts of memory. Eventually the OS tells it to, "bugger off, 1Gb is all I can give you", or something along those lines. + +A common solution, particularly when working on Rails projects is to create a shell alias that just invokes mate with the directories of interest. This works ok but given I'm working on a mix of project types (Pylons, Rails, Radiant) I wanted a solution that did the reverse: Choose everything except what I want to exclude. Informed by an answer to a question on Stack Overflow I came up with this: + +As the comments in the script note I have this in a file called 'ate' in ~/Local/bin, which is in my PATH. I can now happily go to any directory, type ate and have it ignore that list of directories. \ No newline at end of file diff --git a/content/technical/2009/05/exclude-directories-from-textmate-side-bar-for-faster-find-in-project.yaml b/content/technical/2009/05/exclude-directories-from-textmate-side-bar-for-faster-find-in-project.yaml new file mode 100644 index 0000000..cdc4a65 --- /dev/null +++ b/content/technical/2009/05/exclude-directories-from-textmate-side-bar-for-faster-find-in-project.yaml @@ -0,0 +1,21 @@ +--- +slug: exclude-directories-from-textmate-side-bar-for-faster-find-in-project +permalink: http://www.wezm.net/2009/05/exclude-directories-from-textmate-side-bar-for-faster-find-in-project/ +kind: article +section: technical +created_at: 2009-05-15 03:29:30 +title: Exclude Directories From TextMate Side Bar for Faster Find in Project +post_id: 124 +tags: +- bash +- extended +- find-in-project +- globbing +- script +- shell +- textmate +categories: +- Mac OS X +- Programming +- Tips +status: publish diff --git a/content/technical/2009/05/spider-a-site-with-wget-using-sitemap-xml.html b/content/technical/2009/05/spider-a-site-with-wget-using-sitemap-xml.html new file mode 100644 index 0000000..d87889f --- /dev/null +++ b/content/technical/2009/05/spider-a-site-with-wget-using-sitemap-xml.html @@ -0,0 +1,5 @@ +On a number of sites at work we employ a static file caching extension to do just that: create static files that are served until the cache is invalidated. One of things that will invalidate the cache is deploying a new release of the code. This means that many of the requests after deploying will need to be generated from scratch, often causing the full Rails stack to be started (via Passenger) each time. To get around this I came up with the following to use wget to spider each of the URLs listed in the sitemap.xml. This ensures each of the major pages has been cached so most requests will be cache hits. + +

wget --quiet http://www.example.com/sitemap.xml --output-document - | egrep -o "http://www\.example\.com[^<]+" | wget --spider -i - --wait 1

+ +That should all be executed on one line. There's a one second wait in there to spread out the requests a bit but you can remove it if you like. \ No newline at end of file diff --git a/content/technical/2009/05/spider-a-site-with-wget-using-sitemap-xml.yaml b/content/technical/2009/05/spider-a-site-with-wget-using-sitemap-xml.yaml new file mode 100644 index 0000000..2b0790b --- /dev/null +++ b/content/technical/2009/05/spider-a-site-with-wget-using-sitemap-xml.yaml @@ -0,0 +1,14 @@ +--- +slug: spider-a-site-with-wget-using-sitemap-xml +permalink: http://www.wezm.net/2009/05/spider-a-site-with-wget-using-sitemap-xml/ +kind: article +section: technical +created_at: 2009-05-17 06:15:49 +title: Spider a Site With wget Using sitemap.xml +post_id: 120 +tags: [] + +categories: +- Internet +- Tips +status: publish diff --git a/content/technical/2009/06/programming-fonts-recap.html b/content/technical/2009/06/programming-fonts-recap.html new file mode 100644 index 0000000..e207575 --- /dev/null +++ b/content/technical/2009/06/programming-fonts-recap.html @@ -0,0 +1,22 @@ +Dan Benjamin did a review of programming fonts and identified Inconsolata as his favourite of the ten he presented. I tried out Inconsolata after this recommendation but have gone back to Consolas. There were a few things that I didn't like about Inconsolata: It feels a bit round, it has a weird lowercase ‘t’ that ends up looking bold when the other text isn’t, the 'i' looks a bit thin and using left curly quotes all the time looks a bit strange. I also thought the tilde wasn’t defined enough, particularly in a prompt. Being freely available and not having to jump through hoops is certainly a plus though. + +A few weeks later Dan posted a follow up post about Anonymous Pro. I personally can't see what the attraction to that one is. The larger type looks with a mix of upper and lowercase letter appears like two different fonts and ends up looking a total mess to me. + +Around the same time as Dan's second post news broke that Snow Leopard will ship with a new monospaced font called Menlo that will replace the use of Monaco as the default font in applications like Terminal and Xcode. Menlo is derived from DejaVu Sans Mono which is in turn derived from Bitstream Vera Sans Mono. Jon Shea from ExpanDrive posted a comparison of Menlo to Bitstream Vera Sans Mono that shows the changes that Apple have made. From this comparison they all look quite sensible. The Vera family has been licensed in a FOSS friendly manner and is included as a system font in many Linux distributions. I've also tried Vera Mono for programming in the past but again I still like the feel of Consolas more. + +Below is a screen shot of each font (except Menlo, which isn't widely available yet Menlo screen shot supplied by eric s) in TextMate using my preferred theme, Railscasts. Note that my baseline was Consolas 13pt and I adjusted the others to approximately the same size. The code snippet used is the same as Dan used in his Anonymous Pro post. + +

Consolas

+Screenshot of Consolas in TextMate + +

Inconsolata

+Screenshot of Inconsolata in TextMate + +

Anonymous Pro

+Screenshot of Anonymous Pro in TextMate + +

Bitstream Vera Sans Mono

+Screenshot of Bitstream Vera Sans Mono in TextMate + +

Menlo

+Screenshot of Menlo in TextMate diff --git a/content/technical/2009/06/programming-fonts-recap.yaml b/content/technical/2009/06/programming-fonts-recap.yaml new file mode 100644 index 0000000..d2360e7 --- /dev/null +++ b/content/technical/2009/06/programming-fonts-recap.yaml @@ -0,0 +1,22 @@ +--- +slug: programming-fonts-recap +permalink: http://www.wezm.net/2009/06/programming-fonts-recap/ +kind: article +section: technical +created_at: 2009-06-28 22:00:57 +title: Programming Fonts Recap +post_id: 143 +tags: +- anonymous-pro +- bitstream +- consolas +- fonts +- inconsolata +- menlo +- monospace +- snow-leopard +- textmate +- vera +categories: +- Development +status: publish diff --git a/content/technical/2009/06/virtualbox-news-atom-feed.html b/content/technical/2009/06/virtualbox-news-atom-feed.html new file mode 100644 index 0000000..6a5dc4a --- /dev/null +++ b/content/technical/2009/06/virtualbox-news-atom-feed.html @@ -0,0 +1,6 @@ +A few days ago I decided I wanted a feed of the VirtualBox News page. I mainly wanted this to know when new releases are made. Whilst the application does update itself, sometimes I go a while without firing it up so seeing the release in Fever would be nice. + +After some brief Googling I didn't come across anything that was obviously designed to create feeds from Ruby (outside of Rails). So I opened up the Atom Feed spec and built the feed manually. The end result is a Ruby script and a feed (updated daily) at: http://home.wezm.net/files/virtualbox.atom. Thanks to the brilliant nokogiri this was relatively straightforward. + +My script is below: + \ No newline at end of file diff --git a/content/technical/2009/06/virtualbox-news-atom-feed.yaml b/content/technical/2009/06/virtualbox-news-atom-feed.yaml new file mode 100644 index 0000000..f5956ae --- /dev/null +++ b/content/technical/2009/06/virtualbox-news-atom-feed.yaml @@ -0,0 +1,15 @@ +--- +slug: virtualbox-news-atom-feed +permalink: http://www.wezm.net/2009/06/virtualbox-news-atom-feed/ +kind: article +section: technical +created_at: 2009-06-28 02:07:49 +title: VirtualBox News Atom Feed +post_id: 154 +tags: +- atom +- ruby +- virtualbox +categories: +- Code +status: publish diff --git a/content/technical/2009/07/scraping-nab-internet-banking-with-mechanize.html b/content/technical/2009/07/scraping-nab-internet-banking-with-mechanize.html new file mode 100644 index 0000000..cb3967d --- /dev/null +++ b/content/technical/2009/07/scraping-nab-internet-banking-with-mechanize.html @@ -0,0 +1,5 @@ +This week I wanted to write a script that would get my account balances from nab Internet Banking. These types of things are generally quite simple with Ruby and Mechanize. I got the basics of the script up and running fairly quickly but when I ran it the site always rejected my username and password. + +After a lot more time in the Safari Web Inspector I finally worked out that the site actually expects the password submitted to the login page to be 'mixed' with a key that is unique for each page load. The 'mixing' (for lack of a better description) is performed by a javascript function. After I reimplemented this function in my Ruby script I was then able to sucessfully login and retrieve my account balances. My code is supplied below for anyone else who is wanting to do something like this. + + \ No newline at end of file diff --git a/content/technical/2009/07/scraping-nab-internet-banking-with-mechanize.yaml b/content/technical/2009/07/scraping-nab-internet-banking-with-mechanize.yaml new file mode 100644 index 0000000..7034d40 --- /dev/null +++ b/content/technical/2009/07/scraping-nab-internet-banking-with-mechanize.yaml @@ -0,0 +1,17 @@ +--- +slug: scraping-nab-internet-banking-with-mechanize +permalink: http://www.wezm.net/2009/07/scraping-nab-internet-banking-with-mechanize/ +kind: article +section: technical +created_at: 2009-07-18 13:43:13 +title: Scraping NAB Internet Banking with Mechanize +post_id: 179 +tags: +- mechanize +- nab +- ruby +- scraping +categories: +- Code +- Internet +status: publish diff --git a/content/technical/2009/08/adaptive-shell-idea.html b/content/technical/2009/08/adaptive-shell-idea.html new file mode 100644 index 0000000..444d2ac --- /dev/null +++ b/content/technical/2009/08/adaptive-shell-idea.html @@ -0,0 +1,10 @@ +I had an idea today when navigating around in the shell. All my work related files are stored in ~/Work. Under that there's a folder for each project. Sometimes there are multiple variations on a project or project with a similar prefix such as: + + +When I type rad [Tab] in my shell (zsh) it kindly completes this to radi and gives a list of the other completions since there are several to choose from. I though it would be nice if the shell could learn from the choices I make. So if I generally choose radiopaedia then rad [Tab] would complete to radiopaedia but still show the list of option. + +I'm sure there are several other areas where an adaptive shell that learnt from usage patterns could be applied. \ No newline at end of file diff --git a/content/technical/2009/08/adaptive-shell-idea.yaml b/content/technical/2009/08/adaptive-shell-idea.yaml new file mode 100644 index 0000000..21309a6 --- /dev/null +++ b/content/technical/2009/08/adaptive-shell-idea.yaml @@ -0,0 +1,15 @@ +--- +slug: adaptive-shell-idea +permalink: http://www.wezm.net/2009/08/adaptive-shell-idea/ +kind: article +section: technical +created_at: 2009-08-16 22:00:06 +title: "Idea: Adaptive shell" +post_id: 178 +tags: +- adaptive +- shell +- unix +categories: +- UNIX +status: publish diff --git a/content/technical/2009/08/local-package-management-with-gnu-stow.html b/content/technical/2009/08/local-package-management-with-gnu-stow.html new file mode 100644 index 0000000..0f46327 --- /dev/null +++ b/content/technical/2009/08/local-package-management-with-gnu-stow.html @@ -0,0 +1,11 @@ +I'm a bit of a purist when it comes to installing UNIX style software. I prefer to install it via the package manager on the platform of choice (E.g. apt on Debian or Mac Ports on Mac OS X). However these repositories don't always contain the particular package you're after or may contain an outdated version. + +In situations like these where you end up building the package yourself I used to employ a system where I would install it into a subdirectory within my home directory. I did this because it doesn't overwrite a pre-existing system installed version, doesn't require root privileges and permits quick removal. To achieve this I just passed the --prefix option to the configure script before building. For example if I was building vala I might run the configure script as follows: + +
./configure --prefix=$HOME/Local/vala
+ +Following that with the typical make, make install sees the package built and installed into that directory. The problem with this approach is that for every package you build you have to add the target directory to search paths such as: PATH, LD_LIBRARY_PATH, MANPATH, PKG_CONFIG_PATH. After a while this gets a bit unwieldy. This is where GNU Stow comes in. + +Stow manages these separate target directories by creating symlinks into the parent directories. For example to build vala I would pass a prefix of $HOME/Local/stow/vala to the configure script. After vala is built and installed, change to the $HOME/Local/stow directory and run stow vala. This results in symlinks to the files in $HOME/Local/stow/vala being created in $HOME/Local, with directory structure preserved. So if vala installs files to bin and lib these files will end up under $HOME/Local/bin and $HOME/Local/lib respectively. + +Stow can also delete the symlinks to support uninstalling. The end result is that you only need to add one extra directory to each of the search paths and custom software can be built, installed and uninstalled all without messing with the standard system and root privileges. \ No newline at end of file diff --git a/content/technical/2009/08/local-package-management-with-gnu-stow.yaml b/content/technical/2009/08/local-package-management-with-gnu-stow.yaml new file mode 100644 index 0000000..b0c0141 --- /dev/null +++ b/content/technical/2009/08/local-package-management-with-gnu-stow.yaml @@ -0,0 +1,18 @@ +--- +slug: local-package-management-with-gnu-stow +permalink: http://www.wezm.net/2009/08/local-package-management-with-gnu-stow/ +kind: article +section: technical +created_at: 2009-08-16 02:59:07 +title: Local Package Management with GNU Stow +post_id: 147 +tags: +- gnu +- management +- package +- stow +categories: +- Linux +- Tips +- UNIX +status: publish diff --git a/content/technical/2009/08/temperature-logger-project.html b/content/technical/2009/08/temperature-logger-project.html new file mode 100644 index 0000000..f5a294d --- /dev/null +++ b/content/technical/2009/08/temperature-logger-project.html @@ -0,0 +1,11 @@ +For a while now I've had it in my mind to create a temperature logger. For no explainable reason I'm always curious about the temperature, particularly the extremes and strange fluctuations in one day. My idea is a basically to come up with a device that can read the inside and outside temperature and report these back to a host computer. The host would log the values in a database and make the current value and ideally the history available via a website. + +I finally got started on the project a couple of weeks back. I'm using an Arduino Nano as the bridge between the temperature sensors and the computer. Originally I was going to use (and actually purchased) the PIC based UBW but after seeing that the Arduino only cost a little more and had a full, freely available development tools for Mac OS X I switched to that. + +The temperature sensors are TI TMP275, 2-wire (SMBus) high accuracy digital temperature sensors. The largest package I could get them in was SOIC so I ordered some little adaptor PCBs from eBay. To solder them I also bought a fine soldering iron tip and solder paste from Jaycar. + +So far I have soldered the temperature sensors to their adaptor boards and got the Arduino up and running with an LCD. The next step is to wire in the sensors. When that's all working I'd like to use a simple RF transmitter/receiver pair to allow the outside sensor to be put on a separate device outside by itself and have its reading collected wirelessly. + +Some pictures of the build so far are below: + +[gallery link="file"] \ No newline at end of file diff --git a/content/technical/2009/08/temperature-logger-project.yaml b/content/technical/2009/08/temperature-logger-project.yaml new file mode 100644 index 0000000..2d7f1d1 --- /dev/null +++ b/content/technical/2009/08/temperature-logger-project.yaml @@ -0,0 +1,20 @@ +--- +slug: temperature-logger-project +permalink: http://www.wezm.net/2009/08/temperature-logger-project/ +kind: article +section: technical +created_at: 2009-08-12 11:20:13 +title: Temperature Logger Project +post_id: 198 +tags: +- arduino +- electronics +- embedded +- lcd +- sensor +- soldering +- surface-mount +- temperature +categories: +- Projects +status: publish diff --git a/content/technical/2009/08/the-art-of-backup.html b/content/technical/2009/08/the-art-of-backup.html new file mode 100644 index 0000000..749152a --- /dev/null +++ b/content/technical/2009/08/the-art-of-backup.html @@ -0,0 +1,81 @@ +

Introduction

+ +I've been meaning to write a post about backup for some time now. This morning after posting a comment on Stephen's blog about it I decided it was time to finish it off. + +My backup strategy has been evolving since around 2006 when I decided that my photos were not amply secure in case of disaster. My backup solution at the time was to periodically burn a copy to CD, which I kept in my house. The obvious limitation here is that if the house is destroyed, by fire for example, all my photos are lost. What got me thinking about this originally was there actually was a major fire in one of the apartments in the block that I lived in. I was away at the time so was fortunate it didn't spread to the other apartments. + +

Contents

+ + + +

The iPod Solution

+ +I looked in to off-site backup solutions such a burning CDs and sending them to my parents and syncing to an external drive and storing it at work. Online, "cloud" solutions were too expensive at the time for the amount of data I wanted to store. My solution in the end was to buy the biggest iPod available at the time, a fifth generation, 60Gb. This had enough room to store all my music and photos as well as some other important data. It was also always on me when I went out. I figured that if a fire or something happened when I was at home I would grab it on the way out. + +This worked reasonably well as iTunes synced the music and photos automatically. There was a manual step to sync the data though, which mean it was never as up to date. This was all fine until the iPod was stolen. Whilst I was more upset at the circumstances that led to it being taken I also didn't like the idea of someone having all of my important data. + + +

ExaVault

+ +With the iPod gone I started using ExaVault, an online service that gives you access to a certain amount of storage via rsync for a monthly fee. This worked well for smaller datasets (ie. not photos and music) but it was too expensive to consider pushing tens of gigabytes to. ExaVault was great because I could schedule the backup to run via cron and it didn't require any thought after that. + +To mitigate the risk of losing photos I setup a Time Machine drive when Mac OS X 10.5 was released and also stored a copy of my Aperture library in a vault on an external drive. I still didn't have a remote solution for them though. + + +

Amazon S3

+ +When I started a new job a coleegue mentioned that he was using Amazon S3 for backup and it was really cheap. I looked into it and found that S3 offered pricing low enough that it was financially feasible to push a copy of all my photos to the service. I considered Jungle Disk but in the end didn't go with it because I wanted a single solution that I could use on my Linux VPS as well as my Mac. I ended up using s3sync, which is basically rsync for S3. This had the added benefit of being a drop in replacement for my ExaVault setup. + +The initial upload of over 40Gb of photos to S3 took a couple of weeks I think but after that it happily ran without any drama. I also moved VPS hosts and was able to pull down configs from S3 after the old server had become inaccessible. + +Whilst I had the S3 solution in place I upgraded my Mac. I bought a second drive for the new Mac, which left me with the factory supplied drive. I use this drive as a Time Machine drive and it is big enough to keep a copy of almost everything on the main drive. The few things that aren't backed up are my Downloads folder and my Movies folder (although it does copy movies I take on my camera). + +

S3 Problems

+ +After a while I noticed that s3sync was coping a few files every time it ran, even though they hadn't changed. These files had Unicode filenames. After some research I found out that HFS+ uses decompesed character sequences in filenames. However these did not play nice with s3sync. Presumably they were stored in pre-composed format on S3 and were then seen as different when the sync was run. + +s3sync also uses a questionable method to store the attributes of the folders that it syncs. Since S3 doesn't have a concept of folders s3sync creates a file with the name of the folder and stores its attributes (permissions, owner, etc.) in it. What this ends up meaning is that s3sync is the only tool that can perform a restore. Other tools create a file with the name of a folder then try to create files in that folder but can't because the name is already taken. + + +

Moving to Backblaze

+ +To save money I moved all the services I had running on my Linux VPS to my Mac at home. Since I now only had one machine that needed backing up and I didn't need Linux compatibility I had some more options. With the S3 issues I was seeing I decided to move to Backblaze$. For US$50 per year I get unlimited, versioned, encrypted storage and decent Mac support. They also have a web interface that can be handy for grabbing files from my Mac at home when I'm at work. + +The move to Backblaze took a lot longer than I had planned. First off uploading nearly 200Gb of data was always going to take a long time but it took far longer than it needed to due to a questionable default upload limit in the Backblaze application. It wasn't until after the two month or so initial upload finsihed that I discoved the setting. So advice to anyone performing an initial upload, remove the upload limit! + +

Deleting All Data in an S3 Bucket

+ +An additional unexpected complexity in the move away from S3 was deleting the data in S3 after the Backblaze upload was complete. It isn't possible to just delete an S3 bucket and have all its data go with it. You have to delete all the data individually. This is where S3 as a backup service started to show its limitations. Its great if you're storing just photos or music but when you start syncing arbitrary files on a computer system you end up putting lots of little files up, some of which are quite weird. The primary example being Mac OS X Icon files, which are actually named 'Icon\r', yes that's a carriage return character in the filename. I have no idea why they are named like this but attempting to delete these files gave me all sorts of grief. + +I started deleting eveything using s3cmd and its 'deleteall' action. + +
S3CONF=/path/to/conf.yml s3cmd -s -v deleteall bucket-name
+
+-v : verbose - show files
+-s : SSL
+
+ +This ran for a couple of days before I noticed it had got stuck in an infinite loop. It was deleting the same files over and over again. It was here that I had to step in and start deleting stuff interactively. This is when I found the awkward Icon files. I tried several S3 clients for the Mac. Cyberduck ended up being the only one capable of removing them. + + + +Eventually I did get everything deleted but it seemed a lot harder than it should have been. + + +

Conclusion

+ +So that's my backup story to date. Pretty much everything is stored on two or more hard disks plus remotely on Backblaze. + +S3 is a great service but I don't think its well suited to backup, particularly if you're storing lots of small files. Using something like Jungle Disk would probably make it a lot more suitable though. + +Backup is important and can be difficult to get right as well as keep it affordable. I believe my current setup keeps my data secure barring any worldwide catastrophes, which I think is good enough. The one one remaining thing that this strategy doesn't cover is silent data corruption. Hopefully ZFS will become fully supported in Mac OS X soon and that will no longer be a problem. diff --git a/content/technical/2009/08/the-art-of-backup.yaml b/content/technical/2009/08/the-art-of-backup.yaml new file mode 100644 index 0000000..e1d7efc --- /dev/null +++ b/content/technical/2009/08/the-art-of-backup.yaml @@ -0,0 +1,21 @@ +--- +slug: the-art-of-backup +permalink: http://www.wezm.net/2009/08/the-art-of-backup/ +kind: article +section: technical +created_at: 2009-08-18 02:25:05 +title: The Art of Backup +post_id: 184 +tags: +- amazon +- backblaze +- backup +- cyberduck +- exavault +- mac +- rsync +- s3 +- s3sync +categories: +- Technical +status: publish diff --git a/content/technical/2009/09/font-smoothing-in-snow-leopard.html b/content/technical/2009/09/font-smoothing-in-snow-leopard.html new file mode 100644 index 0000000..ba07177 --- /dev/null +++ b/content/technical/2009/09/font-smoothing-in-snow-leopard.html @@ -0,0 +1,13 @@ +Apple have touted Mac OS X Snow Leopard as having no new features. Whilst there are no new big ticket features there have been plenty of tweaks and refinements. One part that got this treatment was the font smoothing options in System Preferences. In Leopard this allowed you to enable font smoothing and choose between four different levels of smoothing. In Snow Leopard there's now only a single option to enable the smoothing. + +The problem with this change is that is appears to default to the light option. As previously identified in, "Consolas on Mac Update", my preferred fixed width font Consolas doesn't look nice with the light smoothing and I prefer medium. Fortunately you can still choose the medium option but setting the preference directly via the defaults command in the Terminal: + +defaults -currentHost write -globalDomain AppleFontSmoothing -int 2 + +You will need to relaunch any running applications for the change to be picked up. You can do this either by quitting and relaunching or logging out and then back in again. + +Before: +Screen shot 2009-09-19 at 1.52.25 PM + +After: +Screen shot 2009-09-19 at 1.57.58 PM diff --git a/content/technical/2009/09/font-smoothing-in-snow-leopard.yaml b/content/technical/2009/09/font-smoothing-in-snow-leopard.yaml new file mode 100644 index 0000000..d20b1ce --- /dev/null +++ b/content/technical/2009/09/font-smoothing-in-snow-leopard.yaml @@ -0,0 +1,17 @@ +--- +slug: font-smoothing-in-snow-leopard +permalink: http://www.wezm.net/2009/09/font-smoothing-in-snow-leopard/ +kind: article +section: technical +created_at: 2009-09-19 04:02:43 +title: Font Smoothing in Snow Leopard +post_id: 246 +tags: +- consolas +- font +- smoothing +- snow-leopard +categories: +- Mac +- Tips +status: publish diff --git a/content/technical/2010/01/clone-git-repo-on-non-standard-port.html b/content/technical/2010/01/clone-git-repo-on-non-standard-port.html new file mode 100644 index 0000000..0af952c --- /dev/null +++ b/content/technical/2010/01/clone-git-repo-on-non-standard-port.html @@ -0,0 +1,7 @@ +I use an SSH tunnel to access my computer at work from home. On occasion I want to clone a git repo that is on the remote server. To do so its necessary to specify the port, which doesn't work with the conventional clone syntax. + +E.g. git clone hostname:path/to/repo. The solution is to be a little more specific: + +
+git clone ssh://localhost:2222/~username/path/to/repo
+
\ No newline at end of file diff --git a/content/technical/2010/01/clone-git-repo-on-non-standard-port.yaml b/content/technical/2010/01/clone-git-repo-on-non-standard-port.yaml new file mode 100644 index 0000000..a4922a4 --- /dev/null +++ b/content/technical/2010/01/clone-git-repo-on-non-standard-port.yaml @@ -0,0 +1,17 @@ +--- +slug: clone-git-repo-on-non-standard-port +permalink: http://www.wezm.net/2010/01/clone-git-repo-on-non-standard-port/ +kind: article +section: technical +created_at: 2010-01-13 10:21:51 +title: Clone git Repo on Non-Standard Port +post_id: 293 +tags: +- clone +- git +- port +- ssh +- tunnel +categories: +- Technical +status: publish diff --git a/content/technical/2010/01/updated-applications.html b/content/technical/2010/01/updated-applications.html new file mode 100644 index 0000000..7328137 --- /dev/null +++ b/content/technical/2010/01/updated-applications.html @@ -0,0 +1,14 @@ +Over a year ago in Update Expectations I noted three Mac applications that I had bought, which had seen little or no attention since their release. Today I noticed that one of these apps had seen a major new release. The application in question is AppZapper. The changelog on i use this notes the following: + + + +This is great news. Although it would have been nice to see some evidence the application was still alive in the 3 years between updates. + +Also worth noting is another app that I mentioned in the original post, Xtorrent has also seen some recent activity with the release of Xtorrent 2 in beta. I wonder if we'll ever see any of those amazing new features promised for Disco. \ No newline at end of file diff --git a/content/technical/2010/01/updated-applications.yaml b/content/technical/2010/01/updated-applications.yaml new file mode 100644 index 0000000..e043fb1 --- /dev/null +++ b/content/technical/2010/01/updated-applications.yaml @@ -0,0 +1,18 @@ +--- +slug: updated-applications +permalink: http://www.wezm.net/2010/01/updated-applications/ +kind: article +section: technical +created_at: 2010-01-09 07:17:24 +title: Updated Applications +post_id: 277 +tags: +- appzapper +- disco +- software +- updates +- xtorrent +categories: +- Mac OS X +- Software +status: publish diff --git a/content/technical/2010/02/git-object-store-efficiency.html b/content/technical/2010/02/git-object-store-efficiency.html new file mode 100644 index 0000000..fa37e6a --- /dev/null +++ b/content/technical/2010/02/git-object-store-efficiency.html @@ -0,0 +1,48 @@ +Hubert Feyrer posted, Musing about git's object store efficiency yesterday. In it he compared the apparent efficiency of git's object store to CVS's stacked patches. His methodology was to checkout all 963 versions of the NetBSD i386 GENERIC kernel configuration file and then sum up the space used. He comes to the following conclusion: + +
the git model requires about 37 times the space that CVS does
+ +and: +
that's not counting the overhead of 962 inodes and the related directory bookkeeping
+ +He finishes off with an acknowledgement that git has data packing features: +
I know that git offers some more efficient storage methods via "pack" files, but investigating those is left as an exercise to the reader.
+ +I generally enjoy Hubert's posts but as a daily user of git this one didn't sit right with me. I thought I'd take up the aforementioned exercise. +I retrieved the GENERIC,v rcs file1 and created a git repository2. + +I then ran a script3, which committed each revision of the file along with a single line commit message extracted from the rcs log. + +The repository then weighed in at 22,352kb4 with 3,174 files and directories5. This is where git-gc comes in. From the man page, "git-gc - Cleanup unnecessary files and optimize the local repository". After running git gc6 the size of the repository was down to 1,068kb, 1.24 times the rcs file. The file and directory count also vastly smaller at 64. + +So all in all git fares pretty well. Sure the repository is bigger than CVS and there's a few more files but its not in order Hubert suggests and its a small price to pay for all the benefits git provides. + +________________________ + +1. From ftp.netbsd.org. + +2. +
mkdir git
+cd git
+git init
+Initialized empty Git repository in /Users/wmoore/Source/NetBSD i386 GENERIC/git/.git/
+ +3. + + +4. Repository sizes detemined via: +
du -sk .
+ +5. File and directory counts determined via: +
find . | wc -l
+ +6. +
git gc
+Counting objects: 2871, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (1914/1914), done.
+Writing objects: 100% (2871/2871), done.
+Total 2871 (delta 951), reused 0 (delta 0)
+Removing duplicate objects: 100% (256/256), done.
+ +Testing performed on Mac OS X 10.6.2 with git 1.6.4.2 \ No newline at end of file diff --git a/content/technical/2010/02/git-object-store-efficiency.yaml b/content/technical/2010/02/git-object-store-efficiency.yaml new file mode 100644 index 0000000..82ac924 --- /dev/null +++ b/content/technical/2010/02/git-object-store-efficiency.yaml @@ -0,0 +1,13 @@ +--- +slug: git-object-store-efficiency +permalink: http://www.wezm.net/2010/02/git-object-store-efficiency/ +kind: article +section: technical +created_at: 2010-02-13 06:49:27 +title: git's Object Store Efficiency +post_id: 305 +tags: +- git +categories: +- Technical +status: publish diff --git a/content/technical/2010/02/ipad-and-the-future-of-computing.html b/content/technical/2010/02/ipad-and-the-future-of-computing.html new file mode 100644 index 0000000..88d0895 --- /dev/null +++ b/content/technical/2010/02/ipad-and-the-future-of-computing.html @@ -0,0 +1,65 @@ +
The iPad is the console of computers + -- mmustapic
+ + +

The iPad announcement last week created a cacophony of commentary ranging from, "Meh, its just a big iPod touch", to, "Wow, we're witnessing the future of computing". On announcement day I was firmly in the former camp. There appeared to be nothing new aside from the larger screen and a custom Apple SoC inside.

+ +

Since then I've read a lot of smart commentary on the iPad, which has swayed my opinion quite a bit.

+ +

Computing For Everyone Else

+ +

Rob Foster suggests its not the geeks that are excited about the iPad:

+ +

The darndest thing happened in the last five days and I was fortunate to be privy to it. Apple has gotten people excited about computing.

+ +

But this time, it’s not nerds or geeks and certainly not IT industry analysts. It’s everyone else.

+ +

I'm a programmer, I write software both as a profession and a hobby. On my computer I frequently use compilers, interpreters, an IDE, advanced text editors, web servers, database servers and command line tools in addition to the more common web browsers, email client, music player, video player and chat client. The iPad feels weak to me because I clearly can't do a lot of those things on it. I am of course in a minority. For everyone else a computer that just works is all they ask. Your typical computer user shouldn't have to know about drivers, viruses, file permissions, software installers.

+ +

The Console of Computing

+ +
Think of it as a video game console where you download the games. Now extend that thinking to all the applications. + -- John Debs
+ +
I realized today that we think of the iPad as a computer, when it's really a console. No outcries about the Wii being closed + -- Cory Foy
+ +

There's a class of computers that has been operating like Apple's mobile platform for decades: video game consoles. The model of computing that Apple is using for the iPad, iPhone and iPod touch is very similar to that of say Nintendo. Closed systems, software approval, single main task at a time, limited expandability, ease of use, hardware abstraction are all features of both consoles and Apple's mobile devices.

+ +

Steven Frank and Fraser Speirs suggest we're entering the future of computing with the iPad and I now think they may be right. The iPad and its successors will make computing a bit less general but a lot more approachable for the typical consumer.

+ +

All is not lost for us tinkerers though. Just like game consoles the iPad needs software too. And whilst the iPad is not self-hosting (yet) there's still a need for "real" computers and programmers to write the software.

+ +

A Dark Future?

+ +

Alex Payne is wary of the future that iPad style computing may bring:

+ +

For now, though, I remain disturbed. The future of personal computing that the iPad shows us is both seductive and dystopian. It’s not a future I want to bring into my home.

+ +

He makes a good point. If every computer out there were an iPad style device, totally locked down and under the control of its parent company there would be little room for exploration. However that's never stopped people before, just look at the efforts of the iPhone jail-breaking teams or the ongoing efforts to conquer the Xbox 360. Not only that, there's the open source movement fuelled by a desire to make everything from hardware to software totally visible and free to modify.

+ +

The products of open source projects don't have a great reputation for having a fine attention to detail or remarkable ease of use but they exist. And just by existing they ensure that there will always be things for the budding tinkerers out there to explore, modify, extend and learn from.

+ +

Single Focus Computing

+ +

Much attention has been made of the fact that its only possible to run one app at a time. Many people seem to attributing this to a limitation of the processor used in the iPad or the iPhone OS itself. Both of these are of course totally wrong. The iPad, along with the iPhone and iPod touch are quite capable of running more that one process at a time. In fact that's how email gets sent and received in the background and how your music keeps playing when you're in the Facebook app. Milind Alvares attempts to clear up some of these misconceptions in, Understanding Multi-tasking on the iPad: What is it really?.

+ +

The iPad is promoting single focus computing. It does away with the memory requirements, power use, and task management that comes along with running more than one major app at a time. Just like hiding the underlying file layout simplifies things, so does this.

+ +

As the iPhone has shown us, there's very little actual need for more than one app running at a time. As long as the experience of switching between apps is fast and state preserving it often doesn't really matter if an app is stopped and started or just switched to. There are of some widely cited exceptions to this though: Chat clients and third party music players.

+ +
iPad doubters -- remember how iPhone didn't have COPY-PASTE for 2 years? Now compare THAT to multitasking! + -- Jevgeni Kabanov
+ +

The inability to run a chat client or third party music player in the background right now does not mean that it won't be added in the future. I'm sure Apple is well aware of these use cases, just like it proved to be well aware of the need for copy-and-paste on the iPhone.

+ +

There are solutions to both these problems that don't require full graphical apps to be run in parallel. The music player problem would be solved if the iPad SDK permitted a non-graphical background process to be left running. The OS could even impose strict limitations on the system resources that the process may use. In fact this is already possible in Mac OS X1, so given iPhone OS's pedigree may already be present.

+ +

The chat client problem could be addressed in a similar fashion: A non-graphical background process with the added ability to send notifications. This is already possible with push notifications, however imagine they could be generated by the background app and perhaps also include standard user interface elements, much like third party apps in the Settings app. This way a new chat message could be displayed, with a field to allow a reply. Obviously these notifications would need to be less intrusive than they are now but it shows its possible.

+ +

Flash Must Die

+ +
RT @mashable: Apple's iPad: Will it Improve the Web? (Cashmore/CNN)- http://bit.ly/d1UgWF flash, like IE6, must die + -- Jevgeni Kabanov
+ +

From my geeky point of view Flash is a rash on the web and the quicker it just goes away the better. However I know there's a lot of people out there that are writing the iPad off due its lack of support for Flash. The thing is, if Apple sticks to its guns and doesn't include Flash on the iPad it can only help push the adoption of alternatives like the HTML5 canvas and video tags. Sure there's going to be some pain until that time but we'll all be better off at the end.

diff --git a/content/technical/2010/02/ipad-and-the-future-of-computing.yaml b/content/technical/2010/02/ipad-and-the-future-of-computing.yaml new file mode 100644 index 0000000..621ce94 --- /dev/null +++ b/content/technical/2010/02/ipad-and-the-future-of-computing.yaml @@ -0,0 +1,15 @@ +--- +slug: ipad-and-the-future-of-computing +permalink: http://www.wezm.net/2010/02/ipad-and-the-future-of-computing/ +kind: article +section: technical +created_at: 2010-02-08 08:50:06 +title: iPad and the Future of Computing +post_id: 300 +tags: +- apple +- ipad +- iphone +categories: +- Technical +status: publish diff --git a/importer/rewritemap.txt b/importer/rewritemap.txt new file mode 100644 index 0000000..8106ef3 --- /dev/null +++ b/importer/rewritemap.txt @@ -0,0 +1,63 @@ +/2008/02/seeking-app-ideas/ /technical/2008/02/seeking-app-ideas/ +/2008/03/windows-silverlight-installation-experience/ /technical/2008/03/windows-silverlight-installation-experience/ +/2008/03/webkit-for-keynote/ /technical/2008/03/webkit-for-keynote/ +/2008/03/create-empty-tar-file/ /technical/2008/03/create-empty-tar-file/ +/2008/04/pizza-style-delivery-for-technical-books/ /technical/2008/04/pizza-style-delivery-for-technical-books/ +/2008/04/womens-weekly-getting-in-on-the-linux-action/ /technical/2008/04/womens-weekly-getting-in-on-the-linux-action/ +/2008/04/mp3-decoder-libraries-compared/ /technical/2008/04/mp3-decoder-libraries-compared/ +/2008/04/expand-glob-in-variable-within-shell-script/ /technical/2008/04/expand-glob-in-variable-within-shell-script/ +/2008/05/death-to-the-feed-uri-scheme/ /technical/2008/05/death-to-the-feed-uri-scheme/ +/2008/05/geohashing/ /personal/2008/05/geohashing/ +/2008/05/stop-vim-completion-searching-included-files/ /technical/2008/05/stop-vim-completion-searching-included-files/ +/2008/05/to-title-case-bookmarklet/ /technical/2008/05/to-title-case-bookmarklet/ +/2008/07/comment-feeds-in-wordpress/ /technical/2008/07/comment-feeds-in-wordpress/ +/2008/07/iphone-vodafone-comments/ /technical/2008/07/iphone-vodafone-comments/ +/2008/07/iphone-tips-from-the-user-guide/ /technical/2008/07/iphone-tips-from-the-user-guide/ +/2008/07/iphone-3g-one-week-in/ /personal/2008/07/iphone-3g-one-week-in/ +/2008/08/pondering-sent-from-my-iphone/ /technical/2008/08/pondering-sent-from-my-iphone/ +/2008/08/iphone-gripe-trucated-song-titles/ /technical/2008/08/iphone-gripe-trucated-song-titles/ +/2008/09/update-expectations/ /technical/2008/09/update-expectations/ +/2008/09/zsh-cygwin-and-insecure-directories/ /technical/2008/09/zsh-cygwin-and-insecure-directories/ +/2008/09/pimping-vim-on-windows/ /technical/2008/09/pimping-vim-on-windows/ +/2008/09/new-theme/ /personal/2008/09/new-theme/ +/2008/11/cumquat-liqueur/ /personal/2008/11/cumquat-liqueur/ +/2008/11/typography-enhancements/ /personal/2008/11/typography-enhancements/ +/2008/11/power-mac-g5-on-ebay/ /technical/2008/11/power-mac-g5-on-ebay/ +/2008/11/movember/ /personal/2008/11/movember/ +/2008/11/progress-update/ /technical/2008/11/progress-update/ +/2008/11/iphone-case/ /technical/2008/11/iphone-case/ +/2009/01/the-iphone-headphones-have-a-button/ /technical/2009/01/the-iphone-headphones-have-a-button/ +/2009/01/sensation-melbourne-nye/ /personal/2009/01/sensation-melbourne-nye/ +/2009/01/determining-non-automatically-installed-debian-packages/ /technical/2009/01/determining-non-automatically-installed-debian-packages/ +/2009/03/once-a-month-cooking/ /personal/2009/03/once-a-month-cooking/ +/2009/03/debian-lenny-released/ /technical/2009/03/debian-lenny-released/ +/2009/03/my-first-new-site-is-live/ /technical/2009/03/my-first-new-site-is-live/ +/2009/03/install-consolas-mac-osx/ /technical/2009/03/install-consolas-mac-osx/ +/2009/03/mac-remote-desktop-connection-without-installer/ /technical/2009/03/mac-remote-desktop-connection-without-installer/ +/2009/03/becoming-a-melbourne-cyclist/ /personal/2009/03/becoming-a-melbourne-cyclist/ +/2009/03/moving-geeky-posts-to-binary-trance/ /personal/2009/03/moving-geeky-posts-to-binary-trance/ +/2009/03/general-tech-content-here-from-now-on/ /personal/2009/03/general-tech-content-here-from-now-on/ +/2009/03/gmail-stickers-have-arrived/ /personal/2009/03/gmail-stickers-have-arrived/ +/2009/03/free-virtualisation-with-virtualbox/ /technical/2009/03/free-virtualisation-with-virtualbox/ +/2009/03/mlug-virtualbox-workshop/ /uncategorized/2009/03/mlug-virtualbox-workshop/ +/2009/03/consolas-on-mac-update/ /technical/2009/03/consolas-on-mac-update/ +/2009/03/bash-git-completion-with-mac-ports/ /technical/2009/03/bash-git-completion-with-mac-ports/ +/2009/04/greetings-from-tall-karri-country/ /personal/2009/04/greetings-from-tall-karri-country/ +/2009/04/capturing-an-rtmp-video-stream-with-flv-recorder/ /technical/2009/04/capturing-an-rtmp-video-stream-with-flv-recorder/ +/2009/05/exclude-directories-from-textmate-side-bar-for-faster-find-in-project/ /technical/2009/05/exclude-directories-from-textmate-side-bar-for-faster-find-in-project/ +/2009/05/spider-a-site-with-wget-using-sitemap-xml/ /technical/2009/05/spider-a-site-with-wget-using-sitemap-xml/ +/2009/05/rafael-bonachelas-360-degrees/ /personal/2009/05/rafael-bonachelas-360-degrees/ +/2009/06/virtualbox-news-atom-feed/ /technical/2009/06/virtualbox-news-atom-feed/ +/2009/06/programming-fonts-recap/ /technical/2009/06/programming-fonts-recap/ +/2009/07/scraping-nab-internet-banking-with-mechanize/ /technical/2009/07/scraping-nab-internet-banking-with-mechanize/ +/2009/08/temperature-logger-project/ /technical/2009/08/temperature-logger-project/ +/2009/08/local-package-management-with-gnu-stow/ /technical/2009/08/local-package-management-with-gnu-stow/ +/2009/08/adaptive-shell-idea/ /technical/2009/08/adaptive-shell-idea/ +/2009/08/the-art-of-backup/ /technical/2009/08/the-art-of-backup/ +/2009/09/font-smoothing-in-snow-leopard/ /technical/2009/09/font-smoothing-in-snow-leopard/ +/2010/01/updated-applications/ /technical/2010/01/updated-applications/ +/2010/01/sensation-melbourne-2009/ /personal/2010/01/sensation-melbourne-2009/ +/2010/01/mt-dandenong/ /personal/2010/01/mt-dandenong/ +/2010/01/clone-git-repo-on-non-standard-port/ /technical/2010/01/clone-git-repo-on-non-standard-port/ +/2010/02/ipad-and-the-future-of-computing/ /technical/2010/02/ipad-and-the-future-of-computing/ +/2010/02/git-object-store-efficiency/ /technical/2010/02/git-object-store-efficiency/