forked from wezm/wezm.net
Compare commits
1 commit
master
...
cumquat-in
Author | SHA1 | Date | |
---|---|---|---|
ebd7574863 |
1039 changed files with 658 additions and 12824 deletions
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
output/*/*/*/*/*.html
|
||||||
|
output/fonts/*
|
||||||
|
tmp/*
|
||||||
|
.*.swp
|
||||||
|
output/weather.json
|
||||||
|
.sass-cache
|
1
.ruby-version
Normal file
1
.ruby-version
Normal file
|
@ -0,0 +1 @@
|
||||||
|
2.4.1
|
16
Gemfile
Normal file
16
Gemfile
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
|
gem 'rake'
|
||||||
|
gem 'mime-types'
|
||||||
|
gem 'nanoc', '~> 3.0'
|
||||||
|
gem 'bitly'
|
||||||
|
gem 'haml'
|
||||||
|
gem 'sass'
|
||||||
|
gem 'rdiscount'
|
||||||
|
gem 'rubypants'
|
||||||
|
gem 'nokogiri'
|
||||||
|
gem 'builder'
|
||||||
|
gem 'fssm'
|
||||||
|
gem 'systemu'
|
||||||
|
gem 'listen'
|
||||||
|
gem 'guard-nanoc'
|
105
Gemfile.lock
Normal file
105
Gemfile.lock
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
bitly (1.1.0)
|
||||||
|
httparty (>= 0.7.6)
|
||||||
|
multi_json (~> 1.3)
|
||||||
|
oauth2 (>= 0.5.0, < 2.0)
|
||||||
|
builder (3.2.3)
|
||||||
|
coderay (1.1.2)
|
||||||
|
colored (1.2)
|
||||||
|
cri (2.9.1)
|
||||||
|
colored (~> 1.2)
|
||||||
|
faraday (0.12.2)
|
||||||
|
multipart-post (>= 1.2, < 3)
|
||||||
|
ffi (1.9.18)
|
||||||
|
formatador (0.2.5)
|
||||||
|
fssm (0.2.10)
|
||||||
|
guard (2.14.1)
|
||||||
|
formatador (>= 0.2.4)
|
||||||
|
listen (>= 2.7, < 4.0)
|
||||||
|
lumberjack (~> 1.0)
|
||||||
|
nenv (~> 0.1)
|
||||||
|
notiffany (~> 0.0)
|
||||||
|
pry (>= 0.9.12)
|
||||||
|
shellany (~> 0.0)
|
||||||
|
thor (>= 0.18.1)
|
||||||
|
guard-nanoc (1.0.3)
|
||||||
|
guard (~> 2.8)
|
||||||
|
nanoc (~> 3.6)
|
||||||
|
haml (5.0.3)
|
||||||
|
temple (>= 0.8.0)
|
||||||
|
tilt
|
||||||
|
httparty (0.15.6)
|
||||||
|
multi_xml (>= 0.5.2)
|
||||||
|
jwt (1.5.6)
|
||||||
|
listen (3.1.5)
|
||||||
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||||
|
rb-inotify (~> 0.9, >= 0.9.7)
|
||||||
|
ruby_dep (~> 1.2)
|
||||||
|
lumberjack (1.0.12)
|
||||||
|
method_source (0.9.0)
|
||||||
|
mime-types (3.1)
|
||||||
|
mime-types-data (~> 3.2015)
|
||||||
|
mime-types-data (3.2016.0521)
|
||||||
|
mini_portile2 (2.3.0)
|
||||||
|
multi_json (1.12.2)
|
||||||
|
multi_xml (0.6.0)
|
||||||
|
multipart-post (2.0.0)
|
||||||
|
nanoc (3.8.0)
|
||||||
|
cri (~> 2.3)
|
||||||
|
nenv (0.3.0)
|
||||||
|
nokogiri (1.8.1)
|
||||||
|
mini_portile2 (~> 2.3.0)
|
||||||
|
notiffany (0.1.1)
|
||||||
|
nenv (~> 0.1)
|
||||||
|
shellany (~> 0.0)
|
||||||
|
oauth2 (1.4.0)
|
||||||
|
faraday (>= 0.8, < 0.13)
|
||||||
|
jwt (~> 1.0)
|
||||||
|
multi_json (~> 1.3)
|
||||||
|
multi_xml (~> 0.5)
|
||||||
|
rack (>= 1.2, < 3)
|
||||||
|
pry (0.11.1)
|
||||||
|
coderay (~> 1.1.0)
|
||||||
|
method_source (~> 0.9.0)
|
||||||
|
rack (2.0.3)
|
||||||
|
rake (12.1.0)
|
||||||
|
rb-fsevent (0.10.2)
|
||||||
|
rb-inotify (0.9.10)
|
||||||
|
ffi (>= 0.5.0, < 2)
|
||||||
|
rdiscount (2.2.0.1)
|
||||||
|
ruby_dep (1.5.0)
|
||||||
|
rubypants (0.6.0)
|
||||||
|
sass (3.5.1)
|
||||||
|
sass-listen (~> 4.0.0)
|
||||||
|
sass-listen (4.0.0)
|
||||||
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||||
|
rb-inotify (~> 0.9, >= 0.9.7)
|
||||||
|
shellany (0.0.1)
|
||||||
|
systemu (2.6.5)
|
||||||
|
temple (0.8.0)
|
||||||
|
thor (0.20.0)
|
||||||
|
tilt (2.0.8)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
bitly
|
||||||
|
builder
|
||||||
|
fssm
|
||||||
|
guard-nanoc
|
||||||
|
haml
|
||||||
|
listen
|
||||||
|
mime-types
|
||||||
|
nanoc (~> 3.0)
|
||||||
|
nokogiri
|
||||||
|
rake
|
||||||
|
rdiscount
|
||||||
|
rubypants
|
||||||
|
sass
|
||||||
|
systemu
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
1.15.4
|
23
README.md
23
README.md
|
@ -1,23 +0,0 @@
|
||||||
wezm.net
|
|
||||||
========
|
|
||||||
|
|
||||||
My website. Corrections for typos and other minor errors welcome via issue or
|
|
||||||
pull request.
|
|
||||||
|
|
||||||
v2
|
|
||||||
--
|
|
||||||
|
|
||||||
This is the current version of the website, built with [Zola].
|
|
||||||
|
|
||||||
v1
|
|
||||||
--
|
|
||||||
|
|
||||||
This is the original version of the website containing posts from 2008–2019. It
|
|
||||||
is built with [Nanoc].
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Copyright © 2003 – 2022 Wesley Moore. All rights reserved
|
|
||||||
|
|
||||||
[Nanoc]: https://nanoc.ws/
|
|
||||||
[Zola]: https://www.getzola.org/
|
|
12
README.mkdn
Normal file
12
README.mkdn
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
WezM.net
|
||||||
|
========
|
||||||
|
|
||||||
|
Site Structure
|
||||||
|
--------------
|
||||||
|
|
||||||
|
/articles
|
||||||
|
/technical
|
||||||
|
/category
|
||||||
|
/personal
|
||||||
|
/category
|
||||||
|
/about
|
1
Rakefile
Normal file
1
Rakefile
Normal file
|
@ -0,0 +1 @@
|
||||||
|
require 'nanoc3/tasks'
|
|
@ -10,6 +10,13 @@ compile '/weather/' do
|
||||||
filter :erb
|
filter :erb
|
||||||
end
|
end
|
||||||
|
|
||||||
|
compile %r{/personal/2017/11/cumquat-infused-vodka/} do
|
||||||
|
filter :rdiscount
|
||||||
|
layout 'article'
|
||||||
|
layout 'topphoto'
|
||||||
|
filter :rubypants
|
||||||
|
end
|
||||||
|
|
||||||
compile %r{/(?:technical|personal|)articles/(page/|)} do
|
compile %r{/(?:technical|personal|)articles/(page/|)} do
|
||||||
filter :erb
|
filter :erb
|
||||||
layout 'articles'
|
layout 'articles'
|
||||||
|
@ -21,7 +28,6 @@ compile %r(/\d{4}/.*) do
|
||||||
layout 'article'
|
layout 'article'
|
||||||
layout 'default'
|
layout 'default'
|
||||||
filter :rubypants
|
filter :rubypants
|
||||||
filter :colorize_syntax, default_colorizer: :rouge
|
|
||||||
end
|
end
|
||||||
|
|
||||||
compile %r(/about/.*) do
|
compile %r(/about/.*) do
|
||||||
|
@ -42,13 +48,8 @@ compile %r{^/(?:screen|mobile)/$} do
|
||||||
filter :sass
|
filter :sass
|
||||||
end
|
end
|
||||||
|
|
||||||
compile %r{/rouge/$} do
|
|
||||||
filter :erb
|
|
||||||
end
|
|
||||||
|
|
||||||
compile '*' do
|
compile '*' do
|
||||||
filter :rdiscount
|
filter :rdiscount
|
||||||
layout 'page'
|
|
||||||
layout 'default'
|
layout 'default'
|
||||||
filter :rubypants
|
filter :rubypants
|
||||||
end
|
end
|
||||||
|
@ -70,7 +71,7 @@ end
|
||||||
# (path.dirname + 'articles.json').to_s
|
# (path.dirname + 'articles.json').to_s
|
||||||
# end
|
# end
|
||||||
|
|
||||||
route %r{^/(?:screen|mobile|rouge)/$} do
|
route %r{^/(?:screen|mobile)/$} do
|
||||||
File.join("", "css", File.basename(item.identifier) + ".css")
|
File.join("", "css", File.basename(item.identifier) + ".css")
|
||||||
end
|
end
|
||||||
|
|
27
TODO
Normal file
27
TODO
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
Now
|
||||||
|
---
|
||||||
|
|
||||||
|
* Setup monothumb on server
|
||||||
|
* Exclude photo and photos.xml from deploy:rsync
|
||||||
|
|
||||||
|
Deployment
|
||||||
|
----------
|
||||||
|
|
||||||
|
* Move Wordpress to old. and add robots.txt
|
||||||
|
|
||||||
|
Later
|
||||||
|
-----
|
||||||
|
|
||||||
|
* Add monothumb to GitHub
|
||||||
|
* Revise About page content
|
||||||
|
* Get proper lens specs for About page
|
||||||
|
* Fully convert to HTML5
|
||||||
|
* Microdata on About/Contact pages
|
||||||
|
* Add favicon
|
||||||
|
* Add weights to sitemap
|
||||||
|
|
||||||
|
Future
|
||||||
|
------
|
||||||
|
|
||||||
|
* Make it possible to purchase the HTML
|
||||||
|
* Make a Wordpress theme out of the site
|
|
@ -24,13 +24,11 @@ enable_output_diff: false
|
||||||
# hashes; each array element represents a single data source. By default,
|
# hashes; each array element represents a single data source. By default,
|
||||||
# there is only a single data source that reads data from the “content/” and
|
# there is only a single data source that reads data from the “content/” and
|
||||||
# “layout/” directories in the site directory.
|
# “layout/” directories in the site directory.
|
||||||
string_pattern_type: legacy
|
|
||||||
data_sources:
|
data_sources:
|
||||||
-
|
-
|
||||||
# The type is the identifier of the data source. By default, this will be
|
# The type is the identifier of the data source. By default, this will be
|
||||||
# `filesystem_unified`.
|
# `filesystem_unified`.
|
||||||
type: filesystem_unified
|
type: filesystem_unified
|
||||||
identifier_type: legacy
|
|
||||||
|
|
||||||
# The path where items should be mounted (comparable to mount points in
|
# The path where items should be mounted (comparable to mount points in
|
||||||
# Unix-like systems). This is “/” by default, meaning that items will have
|
# Unix-like systems). This is “/” by default, meaning that items will have
|
||||||
|
@ -43,11 +41,11 @@ data_sources:
|
||||||
# same as the items root, but applies to layouts rather than items.
|
# same as the items root, but applies to layouts rather than items.
|
||||||
layouts_root: /
|
layouts_root: /
|
||||||
|
|
||||||
base_url: 'https://www.wezm.net'
|
base_url: 'http://www.wezm.net'
|
||||||
deploy:
|
deploy:
|
||||||
default:
|
default:
|
||||||
kind: rsync
|
kind: rsync
|
||||||
dst: "hardforze.binarytrance.com:infrastructure/volumes/www/wezm.net"
|
dst: "eforce.binarytrance.com:/usr/local/www/www.wezm.net"
|
||||||
#options: [ '-rlpgoDvz', '--delete', '--exclude=".svn"' ]
|
#options: [ '-rlpgoDvz', '--delete', '--exclude=".svn"' ]
|
||||||
options: [ '-avz' ]
|
options: [ '-avz', '--omit-dir-times', '--delete', '--exclude=".svn"' ]
|
||||||
|
|
83
content/about.html
Normal file
83
content/about.html
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
<div class="vcard">
|
||||||
|
<p>WezM.net is <span class="fn">Wesley Moore</span>’s personal home page. I
|
||||||
|
live in <span class="adr"><span class="locality">Melbourne</span> <span
|
||||||
|
class="country-name">Australia</span></span> and work as a <span
|
||||||
|
class="title">software developer</span>. Here you will find posts about <a
|
||||||
|
href="/projects/">projects</a> I'm working on, useful tips I've
|
||||||
|
discovered as well as other events from my life.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
The content is split into two sections: [Technical](/technical/articles/) and
|
||||||
|
[Personal](/personal/articles/). There is a [combined feed](/feed/) containing
|
||||||
|
all posts as well as separate ones for [technical](/technical/feed/) and
|
||||||
|
[personal](/personal/feed/) posts.
|
||||||
|
|
||||||
|
### Contact
|
||||||
|
|
||||||
|
Find me on the Internet in one of these places:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Email –
|
||||||
|
<script type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
|
||||||
|
function hiveware_enkoder(){var i,j,x,y,x=
|
||||||
|
"x=\"783d2238383538353535393537353838363538353735383837353935243f7a5c223d78" +
|
||||||
|
"3534353a35343534353538353538357a3f245e393a35663434353835363538383836353835" +
|
||||||
|
"363534383735393539353935343538353b353935363538353735323538353a353935343538" +
|
||||||
|
"35373538353835353836353738353534353435363538383835353833353935393538353735" +
|
||||||
|
"3935353536353235393533353435383537353935363537383535343534353538333538353b" +
|
||||||
|
"35383835353935383836353438373538383935383537353938333538383635343837353838" +
|
||||||
|
"37353735393539353835373539353535363532353935393538353735393833353635353835" +
|
||||||
|
"353438383538353335353837353435343534353b3535383435353564383838683934343a38" +
|
||||||
|
"3b356635323564383b35653937353835373539353b3964393b346435663937386738323535" +
|
||||||
|
"383434343564393b3566343934393934343a383a346738653837386738393936383a356438" +
|
||||||
|
"3b3464356635343435383339323837343a3439343734393464393a34673935393738343935" +
|
||||||
|
"39363b245e3d7b3f29293d6871742a6b3f323d6b3e7a306e677069766a373935387a307577" +
|
||||||
|
"647576742a6b2e342b2b3d217b3b34653534343b343b3564396639683d29293f7b3d243d6b" +
|
||||||
|
"2d3f342b7d7b2d3f77706775656372672a2927292d3f6c2a7471687d2b32363f2d6b3d6a76" +
|
||||||
|
"6970676e307a3e6b3d323f6b2a74713d6b3f406c2f2f3d2b32362d6b2e6a766970676e307a" +
|
||||||
|
"2a706b6f306a76634f753d783b27273d793b5c223d7b21213d2b6c2a764374636a65307a3f" +
|
||||||
|
"2d7b7d2b693b6874676e656c2e783c693b303d6928726f663b2978286570616373656e3233" +
|
||||||
|
"3c6a2866693b322d296928744165646f43726168632e783d6a7b292b2b6a2865646f437261" +
|
||||||
|
"68436d6f72662e676e697274533d2b793b34393d2b6a29797d29223b793d27273b666f7228" +
|
||||||
|
"693d303b693c782e6c656e6774683b692b3d3331297b666f72286a3d4d6174682e6d696e28" +
|
||||||
|
"782e6c656e6774682c692b3331293b2d2d6a3e3d693b297b792b3d782e636861724174286a" +
|
||||||
|
"293b7d7d793b\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2)" +
|
||||||
|
");}y";
|
||||||
|
while(x=eval(x));}hiveware_enkoder();
|
||||||
|
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
</li>
|
||||||
|
<li><a href="https://binarytrance.com/">Binary Trance Software</a> – My app development company
|
||||||
|
<li><a href="http://bitcannon.net/">Bit Cannon</a> – My other blog
|
||||||
|
<li><a href="http://www.flickr.com/photos/wezm/">Flickr</a></li>
|
||||||
|
<li><a href="https://github.com/wezm">GitHub</a></li>
|
||||||
|
<li><a href="https://mastodon.social/@wezm">Mastodon</a></li>
|
||||||
|
<li><a href="http://stackoverflow.com/users/38820/wes">Stack Overflow</a></li>
|
||||||
|
<li><a href="https://twitter.com/wezm">Twitter</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
Credits
|
||||||
|
-------
|
||||||
|
|
||||||
|
This site makes use of the following resources made available freely by their
|
||||||
|
authors:
|
||||||
|
|
||||||
|
* [Reset CSS][cssreset] by Eric Meyer
|
||||||
|
* [Mono icons][monoicons] by tutorial9
|
||||||
|
* [Feed icon][feedicon] by FeedIcons.com and the Mozilla Foundation
|
||||||
|
|
||||||
|
[nanoc]: http://nanoc.stoneship.org/
|
||||||
|
[markdown]: http://daringfireball.net/projects/markdown/
|
||||||
|
[nginx]: http://nginx.org/
|
||||||
|
[twitter]: http://twitter.com/wezm
|
||||||
|
[mastodon]: https://mastodon.social/@wezm
|
||||||
|
[flickr]: http://www.flickr.com/photos/wezm/
|
||||||
|
[debian]: http://www.debian.org/
|
||||||
|
[jquery]: http://jquery.com/
|
||||||
|
[sass]: http://sass-lang.com/
|
||||||
|
[cssreset]: http://meyerweb.com/eric/tools/css/reset/
|
||||||
|
[monoicons]: http://www.tutorial9.net/resources/108-mono-icons-huge-set-of-minimal-icons/
|
||||||
|
[feedicon]: http://feedicons.com/
|
|
@ -6,26 +6,26 @@ A friend asked the following today, the reply was big enough I decided to post i
|
||||||
>
|
>
|
||||||
> Has it changed your life? Has the battery life been crappy for you? Talk time OK?
|
> 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 it's 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.
|
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 it's 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 it's 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.
|
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.
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
<a href="/images/2008/07/img_0012.png" class="alignright"><img src="/images/2008/07/img_0012-200x300.png" alt="Byline" title="img_0012" width="200" height="300" class="alignnone size-medium wp-image-48" /></a>I 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.
|
<a href="/images/2008/07/img_0012.png" class="alignright"><img src="/images/2008/07/img_0012-200x300.png" alt="Byline" title="img_0012" width="200" height="300" class="alignnone size-medium wp-image-48" /></a>I 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 it's 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.
|
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.
|
||||||
|
|
||||||
<a href="/images/2008/07/img_0019.png" class="alignleft clear"><img src="/images/2008/07/img_0019-200x300.png" alt="Twinkle" title="img_0019" width="200" height="300" class="alignnone size-medium wp-image-55" /></a>Another 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.
|
<a href="/images/2008/07/img_0019.png" class="alignleft clear"><img src="/images/2008/07/img_0019-200x300.png" alt="Twinkle" title="img_0019" width="200" height="300" class="alignnone size-medium wp-image-55" /></a>Another 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 <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284946773&mt=8">Byline</a>, <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284967867&mt=8">Twinkle</a>, <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284919489&mt=8">Exposure</a> and <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284825922&mt=8">MoPhoTo</a>. I'm not much of a Facebook user but the <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284882215&mt=8">Facebook app</a> is very well done. It's 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.
|
The AppStore is great, some of the apps are very well done. I'm really liking <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284946773&mt=8">Byline</a>, <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284967867&mt=8">Twinkle</a>, <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284919489&mt=8">Exposure</a> and <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284825922&mt=8">MoPhoTo</a>. I'm not much of a Facebook user but the <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284882215&mt=8">Facebook app</a> 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.
|
||||||
|
|
||||||
<a href="/images/2008/07/img_0016.png" class="alignright clear"><img src="/images/2008/07/img_0016-200x300.png" alt="Exposure" title="img_0016" width="200" height="300" class="alignnone size-medium wp-image-52" /></a>Battery 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 it's showing half battery. It was off the changer all last night too.
|
<a href="/images/2008/07/img_0016.png" class="alignright clear"><img src="/images/2008/07/img_0016-200x300.png" alt="Exposure" title="img_0016" width="200" height="300" class="alignnone size-medium wp-image-52" /></a>Battery 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 it's only on about three quarters. Speaking on the phone the volume is good, although I haven't tried extreme environments like a club.
|
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).
|
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 revolutionary (on a phone). I'm a happy customer.
|
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.
|
||||||
|
|
||||||
<a href="/images/2008/07/img_0017.png" class="alignleft clear"><img src="/images/2008/07/img_0017-200x300.png" alt="Facebook" title="img_0017" width="200" height="300" class="alignnone size-medium wp-image-53" /></a><a href="/images/2008/07/img_0018.png" class="alignright"><img src="/images/2008/07/img_0018-200x300.png" alt="MoPhoTo" title="img_0018" width="200" height="300" class="alignnone size-medium wp-image-54" /></a>
|
<a href="/images/2008/07/img_0017.png" class="alignleft clear"><img src="/images/2008/07/img_0017-200x300.png" alt="Facebook" title="img_0017" width="200" height="300" class="alignnone size-medium wp-image-53" /></a><a href="/images/2008/07/img_0018.png" class="alignright"><img src="/images/2008/07/img_0018-200x300.png" alt="MoPhoTo" title="img_0018" width="200" height="300" class="alignnone size-medium wp-image-54" /></a>
|
||||||
<div style="clear: both;"> </div>
|
<div style="clear: both;"> </div>
|
|
@ -56,10 +56,10 @@ what I'm most interested in.
|
||||||
<figcaption>The Finished Installation</figcaption>
|
<figcaption>The Finished Installation</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
To log and upload the [weather readings][weather] I'm using the [wview][wview]
|
To log and upload the weather readings to [http://weather.wezm.net/][weather]
|
||||||
weather station software. wview is running on the Mac mini connected to our TV.
|
I'm using the [wview][wview] weather station software. wview is running on the
|
||||||
The site layout is pretty basic so I hope to come up with a cleaner design in
|
Mac mini connected to our TV. The site layout is pretty basic so I hope to come
|
||||||
the coming weeks.
|
up with a cleaner design in the coming weeks.
|
||||||
|
|
||||||
**Update:** I built a custom logging and charting solution. See the post,
|
**Update:** I built a custom logging and charting solution. See the post,
|
||||||
[Weather Station Software][software].
|
[Weather Station Software][software].
|
||||||
|
@ -67,4 +67,4 @@ the coming weeks.
|
||||||
[software]: /technical/2010/09/weather-station-software/
|
[software]: /technical/2010/09/weather-station-software/
|
||||||
[WS2355]: http://www.lacrossetechnology.com.au/shop2/product_info.php?cPath=21&products_id=93
|
[WS2355]: http://www.lacrossetechnology.com.au/shop2/product_info.php?cPath=21&products_id=93
|
||||||
[wview]: http://www.wviewweather.com/
|
[wview]: http://www.wviewweather.com/
|
||||||
[weather]: /weather/
|
[weather]: http://weather.wezm.net/
|
10
content/personal/2017/11/cumquat-infused-vodka.md
Executable file
10
content/personal/2017/11/cumquat-infused-vodka.md
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
Some 9 years after my [first attempt](/personal/2008/11/cumquat-liqueur/) at
|
||||||
|
making Cumquat liqueur my little Cumquat tree was loaded with fruit again.
|
||||||
|
|
||||||
|
The
|
||||||
|
tree is living at my parents house after I moved into an apartment and no
|
||||||
|
longer had space for it and Mum asked what to do with the fruit. The
|
||||||
|
orginal liqueur turned out fine but wasn't really to my taste so my suggestion
|
||||||
|
was to try making Cumquat infused vodka.
|
||||||
|
|
||||||
|
|
14
content/personal/2017/11/cumquat-infused-vodka.yaml
Normal file
14
content/personal/2017/11/cumquat-infused-vodka.yaml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
title: Cumquat Infused Vodka
|
||||||
|
extra: My little tree makes booze again
|
||||||
|
kind: article
|
||||||
|
section: personal
|
||||||
|
created_at: 2017-11-26 20:35:00.000000000 +10:00
|
||||||
|
keywords:
|
||||||
|
- vodka
|
||||||
|
- alcohol
|
||||||
|
- cumquat
|
||||||
|
- kumquat
|
||||||
|
photo: /images/2017/IMG_5868.jpg
|
||||||
|
photo_alt: Cumquats
|
||||||
|
short_url:
|
|
@ -1,46 +1,37 @@
|
||||||
|
Binary Trance Software
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Through my app development company [Binary Trance Software][bt] I've
|
||||||
|
built the following apps:
|
||||||
|
|
||||||
|
* [SymbolMate][symbolmate] -- Quickly find and copy symbols and Emoji
|
||||||
|
|
||||||
|
[bt]: https://binarytrance.com/
|
||||||
|
[symbolmate]: https://binarytrance.com/apps/symbolmate
|
||||||
|
|
||||||
Websites
|
Websites
|
||||||
--------
|
--------
|
||||||
|
|
||||||
Other websites I maintain are:
|
A couple of other websites I maintain are:
|
||||||
|
|
||||||
* [Read Rust][readrust] -- an aggregator of news about the [Rust programming
|
|
||||||
language][Rust].
|
|
||||||
* [Desktop Institute][desktop-institute] -- Documenting the search for a
|
|
||||||
desktop environment that combines the, "it just works", nature of [GNOME] with
|
|
||||||
the window management of [Awesome].
|
|
||||||
* [Bit Cannon][bitcannon] -- a blog that I designed and built with
|
|
||||||
[Hugo] as a bit of an experiment, the exact nature of which is still
|
|
||||||
evolving.
|
|
||||||
* [Linked List][linkedlist] -- "a semi-organized collection of knowledge
|
* [Linked List][linkedlist] -- "a semi-organized collection of knowledge
|
||||||
that I have accumulated.", created as a reference for myself but also published
|
that I have accumulated.", created as a reference for myself but also published
|
||||||
publicly in the hope it may be useful to others as well. The code ([pkb])
|
publically in the hope it may be useful to others as well. The code ([pkb])
|
||||||
is open source.
|
is open source.
|
||||||
|
* [Bit Cannon][bitcannon] -- a new blog that I designed and built with
|
||||||
|
[Hugo][hugo] as a bit of an experiment, the exact nature of which is still
|
||||||
|
evolving.
|
||||||
|
|
||||||
[Awesome]: https://awesomewm.org/
|
[bitcannon]: http://bitcannon.net
|
||||||
[bitcannon]: https://bitcannon.net/
|
[hugo]: http://gohugo.io
|
||||||
[desktop-institute]: https://desktop.institute/
|
|
||||||
[GNOME]: https://www.gnome.org/
|
|
||||||
[Hugo]: https://gohugo.io/
|
|
||||||
[readrust]: https://readrust.net/
|
|
||||||
[Rust]: https://www.rust-lang.org/
|
|
||||||
|
|
||||||
Open Source Projects
|
Open Source Projects
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
I have a collection of open-source software on [GitHub] and [Sourcehut]. Some of the
|
I have a collection of open-source software on [GitHub][github]. Some of the
|
||||||
more noteworthy projects are listed below.
|
more noteworthy projects are listed below.
|
||||||
|
|
||||||
[GitHub]: https://github.com/wezm
|
[github]: http://github.com/wezm
|
||||||
[Sourcehut]: https://git.sr.ht/~wezm/
|
|
||||||
|
|
||||||
### Read Rust
|
|
||||||
|
|
||||||
[Read Rust][readrust-git] is an aggregator of news related to the Rust programming language.
|
|
||||||
It is built with the [Cobalt] static site compiler along with some tools built
|
|
||||||
to make managing the content easier.
|
|
||||||
|
|
||||||
[readrust-git]: https://github.com/wezm/read-rust
|
|
||||||
[Cobalt]: http://cobalt-org.github.io/
|
|
||||||
|
|
||||||
### pkb
|
### pkb
|
||||||
|
|
||||||
|
@ -49,20 +40,9 @@ to quickly publish snippets of knowledge. It powers
|
||||||
[linkedlist.org][linkedlist], which is my instance of pkb.
|
[linkedlist.org][linkedlist], which is my instance of pkb.
|
||||||
|
|
||||||
[pkb]: https://github.com/wezm/pkb
|
[pkb]: https://github.com/wezm/pkb
|
||||||
[Rails]: https://rubyonrails.org/
|
[Rails]: http://rubyonrails.org
|
||||||
[linkedlist]: https://linkedlist.org/
|
[linkedlist]: https://linkedlist.org/
|
||||||
|
|
||||||
### titlecase
|
|
||||||
|
|
||||||
[titlecase] is a command line tool and Rust crate that capitalizes English text
|
|
||||||
according to [a style defined by John Gruber][titlecase-style] for post titles
|
|
||||||
on his website [Daring Fireball]. titlecase runs on Linux, macOS, FreeBSD,
|
|
||||||
NetBSD, and Windows.
|
|
||||||
|
|
||||||
[titlecase]: https://github.com/wezm/titlecase
|
|
||||||
[Daring Fireball]: https://daringfireball.net/
|
|
||||||
[titlecase-style]: https://daringfireball.net/2008/05/title_case
|
|
||||||
|
|
||||||
### OCMustache
|
### OCMustache
|
||||||
|
|
||||||
[OCMustache][ocmustache] brings the [Mustache templating language][mustache] to
|
[OCMustache][ocmustache] brings the [Mustache templating language][mustache] to
|
||||||
|
@ -73,6 +53,30 @@ Compiler][ragel] in the hope that it will help ensure fast and correct parsing.
|
||||||
[mustache]: http://mustache.github.com/
|
[mustache]: http://mustache.github.com/
|
||||||
[ragel]: http://www.complang.org/ragel/
|
[ragel]: http://www.complang.org/ragel/
|
||||||
|
|
||||||
|
### Monothumb
|
||||||
|
|
||||||
|
[monothumb] is the tool that generates the thumbnails on the [home page](/). It
|
||||||
|
retrieves thumbnails of my [recent uploads to Flickr][flickr], converts them to
|
||||||
|
greyscale and then generates a single output image with both the colour and
|
||||||
|
monochrome versions of the thumbnail. There are two version of the tool. The
|
||||||
|
original one, written in Objective-C that uses CoreImage and a second version
|
||||||
|
written in Lua. The Lua one uses my [lua-imlib2] fork.
|
||||||
|
|
||||||
|
[flickr]: http://www.flickr.com/photos/wezm/
|
||||||
|
[monothumb]: https://github.com/wezm/monothumb
|
||||||
|
[lua-imlib2]: https://github.com/wezm/lua-imlib2
|
||||||
|
|
||||||
|
### node-genx
|
||||||
|
|
||||||
|
[node-genx] is a [node.js][node] binding to the [Genx][genx] XML generation
|
||||||
|
library. It allows fast and correct XML generation from the Javascript based
|
||||||
|
node.js environment. Available for easy install via [npm].
|
||||||
|
|
||||||
|
[node-genx]: https://github.com/wezm/node-genx
|
||||||
|
[node]: http://nodejs.org/
|
||||||
|
[genx]: http://www.tbray.org/ongoing/When/200x/2004/02/20/GenxStatus
|
||||||
|
[npm]: http://npmjs.org/
|
||||||
|
|
||||||
### Weather Station
|
### Weather Station
|
||||||
|
|
||||||
I previously had a weather station at my home for keeping track of the local
|
I previously had a weather station at my home for keeping track of the local
|
||||||
|
@ -86,7 +90,7 @@ produce the [Weather page][weather].
|
||||||
[sqlite]: http://www.sqlite.org/
|
[sqlite]: http://www.sqlite.org/
|
||||||
[open2300]: http://www.lavrsen.dk/foswiki/bin/view/Open2300/WebHome
|
[open2300]: http://www.lavrsen.dk/foswiki/bin/view/Open2300/WebHome
|
||||||
[open2300fork]: http://github.com/wezm/open2300
|
[open2300fork]: http://github.com/wezm/open2300
|
||||||
[weather]: /weather/
|
[weather]: http://weather.wezm.net/
|
||||||
[json]: http://www.json.org/
|
[json]: http://www.json.org/
|
||||||
[weather-tools]: http://github.com/wezm/weather-tools
|
[weather-tools]: http://github.com/wezm/weather-tools
|
||||||
|
|
||||||
|
@ -94,10 +98,3 @@ See the following posts for more information on the weather station:
|
||||||
|
|
||||||
* [Weather Station Install](/personal/2010/09/weather-station/)
|
* [Weather Station Install](/personal/2010/09/weather-station/)
|
||||||
* [Weather Station Software Update](/technical/2010/09/weather-station-software/)
|
* [Weather Station Software Update](/technical/2010/09/weather-station-software/)
|
||||||
|
|
||||||
Old Apps
|
|
||||||
--------
|
|
||||||
|
|
||||||
* [SymbolMate][symbolmate] -- Quickly find and copy symbols and Emoji
|
|
||||||
|
|
||||||
[symbolmate]: https://binarytrance.com/apps/symbolmate
|
|
3
content/robots.txt
Normal file
3
content/robots.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
User-Agent: *
|
||||||
|
Disallow:
|
||||||
|
Sitemap: <%= @site.config[:base_url] %>/sitemap.xml
|
|
@ -1,6 +1,4 @@
|
||||||
$ans-serif: Carlito, Calibri, sans-serif
|
$ans-serif: Carlito, Calibri, sans-serif
|
||||||
$header-colour: #242424
|
|
||||||
$link-color: #36454F
|
|
||||||
|
|
||||||
body
|
body
|
||||||
font-family: $ans-serif
|
font-family: $ans-serif
|
||||||
|
@ -78,7 +76,7 @@ a
|
||||||
text-decoration: underline
|
text-decoration: underline
|
||||||
|
|
||||||
&:link, &:visited
|
&:link, &:visited
|
||||||
color: $link-color
|
color: #36454F
|
||||||
|
|
||||||
h1 a
|
h1 a
|
||||||
text-decoration: none
|
text-decoration: none
|
||||||
|
@ -87,13 +85,22 @@ h1 a
|
||||||
color: #111
|
color: #111
|
||||||
|
|
||||||
|
|
||||||
|
body.home h1 > a
|
||||||
|
-webkit-transition: border-bottom-color 500ms ease-out
|
||||||
|
transition: border-bottom-color 500ms ease-out
|
||||||
|
border-bottom: 2px solid rgba(17, 17, 17, 0.0)
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
border-bottom-color: rgba(17, 17, 17, 1.0)
|
||||||
|
|
||||||
|
|
||||||
sup
|
sup
|
||||||
vertical-align: super
|
vertical-align: super
|
||||||
font-size: 0.8em
|
font-size: 0.8em
|
||||||
|
|
||||||
|
|
||||||
pre, code, tt
|
pre, code, tt
|
||||||
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "Bitstream Vera Sans Mono", "Menlo", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace
|
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace
|
||||||
|
|
||||||
code, tt
|
code, tt
|
||||||
font-size: smaller
|
font-size: smaller
|
||||||
|
@ -128,19 +135,12 @@ img.cover-photo
|
||||||
display: block
|
display: block
|
||||||
margin: 0 auto
|
margin: 0 auto
|
||||||
|
|
||||||
img.lobsters
|
|
||||||
position: relative
|
|
||||||
top: 2px
|
|
||||||
|
|
||||||
video
|
|
||||||
max-width: 100%
|
|
||||||
|
|
||||||
body > header
|
body > header
|
||||||
font-family: $ans-serif
|
font-family: $ans-serif
|
||||||
font-size: 18px
|
font-size: 18px
|
||||||
color: white
|
color: white
|
||||||
padding: 0.5em
|
padding: 0.5em
|
||||||
background-color: $header-colour
|
background: #1C1C1C
|
||||||
|
|
||||||
a
|
a
|
||||||
-webkit-transition: border-bottom-color 500ms ease-out
|
-webkit-transition: border-bottom-color 500ms ease-out
|
||||||
|
@ -153,16 +153,16 @@ body > header
|
||||||
&:hover
|
&:hover
|
||||||
border-bottom-color: rgba(255, 255, 255, 1.0)
|
border-bottom-color: rgba(255, 255, 255, 1.0)
|
||||||
|
|
||||||
|
span
|
||||||
|
display: none
|
||||||
|
|
||||||
|
|
||||||
#menu
|
#menu
|
||||||
float: right
|
float: right
|
||||||
padding-right: 0.25em
|
padding-right: 0.25em
|
||||||
|
|
||||||
li
|
li
|
||||||
font-size: 14px
|
font-size: inherit
|
||||||
font-weight: bold
|
|
||||||
text-transform: uppercase
|
|
||||||
letter-spacing: 0.5px
|
|
||||||
|
|
||||||
|
|
||||||
#content
|
#content
|
||||||
|
@ -174,107 +174,31 @@ body > header
|
||||||
footer
|
footer
|
||||||
color: #999
|
color: #999
|
||||||
border-top: 1px solid #999
|
border-top: 1px solid #999
|
||||||
margin: 3em 20px 2em
|
margin: 20px
|
||||||
clear: both
|
clear: both
|
||||||
|
|
||||||
.copyright
|
.copyright
|
||||||
font-family: $ans-serif
|
font-family: $ans-serif
|
||||||
font-size: 14px
|
font-size: 14px
|
||||||
margin-top: 1em
|
padding-top: 1em
|
||||||
display: block
|
display: block
|
||||||
|
|
||||||
|
.column
|
||||||
|
float: left
|
||||||
|
width: 50%
|
||||||
|
margin: 0
|
||||||
|
min-width: 480px
|
||||||
|
|
||||||
.align-top
|
.align-top
|
||||||
vertical-align: top
|
vertical-align: top
|
||||||
|
|
||||||
.with-border
|
#personal div
|
||||||
border: 1px solid #D8D8D8
|
padding-right: 2em
|
||||||
|
|
||||||
.no-border
|
|
||||||
border: none
|
|
||||||
text-decoration: none
|
|
||||||
|
|
||||||
.socials
|
.column div
|
||||||
margin-top: 1em
|
padding: 0 0 0 2em
|
||||||
float: right
|
|
||||||
|
|
||||||
.social-icon
|
|
||||||
margin: 0 0.5em
|
|
||||||
|
|
||||||
.social-icon-wide
|
|
||||||
margin: 0 0.6em
|
|
||||||
|
|
||||||
.action-button
|
|
||||||
background-color: $link-color
|
|
||||||
border-radius: 0.25em
|
|
||||||
border: 2px solid $link-color
|
|
||||||
color: white
|
|
||||||
display: inline-block
|
|
||||||
font-size: 12px
|
|
||||||
font-weight: bold
|
|
||||||
margin: 0.75em 0
|
|
||||||
padding: 0.5em 1em
|
|
||||||
text-decoration: none
|
|
||||||
text-transform: uppercase
|
|
||||||
|
|
||||||
.action-button-ghost
|
|
||||||
background-color: initial
|
|
||||||
color: $link-color
|
|
||||||
|
|
||||||
.action-button-ghost:hover
|
|
||||||
background-color: $link-color
|
|
||||||
color: white
|
|
||||||
|
|
||||||
.archive-banner
|
|
||||||
padding: 0.5em 0.5em
|
|
||||||
background-color: #fffff1
|
|
||||||
font-weight: 400
|
|
||||||
border-bottom: 1px solid #eae4b9
|
|
||||||
font-size: smaller
|
|
||||||
|
|
||||||
.home
|
|
||||||
h1 > a:first-child
|
|
||||||
-webkit-transition: border-bottom-color 500ms ease-out
|
|
||||||
transition: border-bottom-color 500ms ease-out
|
|
||||||
border-bottom: 2px solid rgba(17, 17, 17, 0.0)
|
|
||||||
|
|
||||||
&:hover
|
|
||||||
border-bottom-color: rgba(17, 17, 17, 1.0)
|
|
||||||
|
|
||||||
main
|
|
||||||
display: flex
|
|
||||||
margin: 0 20px
|
|
||||||
margin: 0 auto
|
|
||||||
padding: 0 20px
|
|
||||||
max-width: 1200px
|
|
||||||
min-height: 85vh
|
|
||||||
|
|
||||||
.cli-tools
|
|
||||||
h3
|
|
||||||
margin-top: 4em
|
|
||||||
|
|
||||||
#posts
|
|
||||||
width: 100%
|
|
||||||
|
|
||||||
#projects
|
|
||||||
width: 300px
|
|
||||||
flex-shrink: 0
|
|
||||||
margin-left: 2em
|
|
||||||
|
|
||||||
ul.projects
|
|
||||||
list-style: none
|
|
||||||
margin: 0
|
|
||||||
padding-top: 1em
|
|
||||||
|
|
||||||
li
|
|
||||||
margin: 1em 0
|
|
||||||
|
|
||||||
img, svg
|
|
||||||
width: 32px
|
|
||||||
vertical-align: middle
|
|
||||||
margin-right: 0.5em
|
|
||||||
|
|
||||||
p
|
|
||||||
margin-left: calc(32px + 0.5em)
|
|
||||||
|
|
||||||
ul.articles
|
ul.articles
|
||||||
list-style: none
|
list-style: none
|
||||||
|
@ -284,6 +208,7 @@ ul.articles
|
||||||
li
|
li
|
||||||
margin: 0
|
margin: 0
|
||||||
padding-top: 1em
|
padding-top: 1em
|
||||||
|
height: 70px
|
||||||
|
|
||||||
|
|
||||||
body.articles ul.articles li
|
body.articles ul.articles li
|
||||||
|
@ -332,6 +257,50 @@ a
|
||||||
margin-left: 0
|
margin-left: 0
|
||||||
|
|
||||||
|
|
||||||
|
#flickr
|
||||||
|
clear: both
|
||||||
|
|
||||||
|
header
|
||||||
|
margin-left: 2em
|
||||||
|
|
||||||
|
h1
|
||||||
|
margin: 0
|
||||||
|
padding: 0.6em 0 0 0
|
||||||
|
|
||||||
|
ul
|
||||||
|
display: block
|
||||||
|
height: 75px
|
||||||
|
overflow: hidden
|
||||||
|
margin-top: 1em
|
||||||
|
|
||||||
|
li
|
||||||
|
float: left
|
||||||
|
overflow: hidden
|
||||||
|
margin: 0 0 0 1em
|
||||||
|
display: block
|
||||||
|
position: relative
|
||||||
|
height: 75px
|
||||||
|
width: 75px
|
||||||
|
border: 1px solid #ccc
|
||||||
|
background: url(/images/photos.jpg?20120121) no-repeat 0 -75px
|
||||||
|
|
||||||
|
&:first-child
|
||||||
|
margin-left: 2em
|
||||||
|
|
||||||
|
img
|
||||||
|
-webkit-transition: opacity 500ms ease-out
|
||||||
|
transition: opacity 500ms ease-out
|
||||||
|
position: absolute
|
||||||
|
max-width: none
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
opacity: 0
|
||||||
|
|
||||||
|
a.more
|
||||||
|
float: right
|
||||||
|
margin: 1em 2em 1em 0
|
||||||
|
|
||||||
|
|
||||||
body.articles #content nav
|
body.articles #content nav
|
||||||
padding-bottom: 1em
|
padding-bottom: 1em
|
||||||
|
|
||||||
|
@ -357,12 +326,17 @@ body.articles #content nav
|
||||||
|
|
||||||
|
|
||||||
#respond
|
#respond
|
||||||
margin: 3em 0
|
margin-top: 10px
|
||||||
|
padding: 10px
|
||||||
|
background-color: #ddd
|
||||||
clear: both
|
clear: both
|
||||||
|
|
||||||
h2
|
h2
|
||||||
margin-top: 0
|
margin-top: 0
|
||||||
|
|
||||||
|
li.short
|
||||||
|
float: right
|
||||||
|
|
||||||
#content
|
#content
|
||||||
.published
|
.published
|
||||||
font-family: $ans-serif
|
font-family: $ans-serif
|
||||||
|
@ -383,7 +357,7 @@ img.alignleft
|
||||||
margin: 5px 10px 5px 0
|
margin: 5px 10px 5px 0
|
||||||
|
|
||||||
|
|
||||||
.feed-icon
|
img.feed-icon
|
||||||
-webkit-transition: opacity 500ms ease-out
|
-webkit-transition: opacity 500ms ease-out
|
||||||
transition: opacity 500ms ease-out
|
transition: opacity 500ms ease-out
|
||||||
opacity: 1.0
|
opacity: 1.0
|
||||||
|
@ -391,9 +365,6 @@ img.alignleft
|
||||||
&:hover
|
&:hover
|
||||||
opacity: 0.75
|
opacity: 0.75
|
||||||
|
|
||||||
.feed-icon-sup
|
|
||||||
vertical-align: super
|
|
||||||
|
|
||||||
img.comment
|
img.comment
|
||||||
padding-top: 1px
|
padding-top: 1px
|
||||||
|
|
||||||
|
@ -485,12 +456,6 @@ table
|
||||||
.vcard .photo
|
.vcard .photo
|
||||||
margin: 0 1em 1em 0
|
margin: 0 1em 1em 0
|
||||||
|
|
||||||
.text-right
|
|
||||||
text-align: right
|
|
||||||
|
|
||||||
.heading-icon
|
|
||||||
height: 20px
|
|
||||||
margin-right: 0.25em
|
|
||||||
|
|
||||||
// Weather
|
// Weather
|
||||||
body.weather
|
body.weather
|
||||||
|
@ -542,7 +507,19 @@ body.weather
|
||||||
margin-top: 1em
|
margin-top: 1em
|
||||||
color: #999
|
color: #999
|
||||||
|
|
||||||
|
@media screen and (max-width: 960px)
|
||||||
|
|
||||||
|
.column
|
||||||
|
float: none
|
||||||
|
width: auto
|
||||||
|
min-width: 0
|
||||||
|
max-width: 728px
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 768px)
|
@media screen and (max-width: 768px)
|
||||||
|
#technical div, #personal div
|
||||||
|
padding: 0 1em
|
||||||
|
|
||||||
#content
|
#content
|
||||||
margin: 0 20px
|
margin: 0 20px
|
||||||
font-size: 20px
|
font-size: 20px
|
||||||
|
@ -558,26 +535,19 @@ body.weather
|
||||||
#search
|
#search
|
||||||
float: none
|
float: none
|
||||||
|
|
||||||
.home main
|
|
||||||
flex-direction: column
|
|
||||||
|
|
||||||
#projects
|
|
||||||
width: auto
|
|
||||||
margin-left: 0
|
|
||||||
margin-top: 2em
|
|
||||||
|
|
||||||
ul.projects
|
|
||||||
padding-top: 0
|
|
||||||
|
|
||||||
@media screen and (max-width: 515px)
|
@media screen and (max-width: 515px)
|
||||||
|
|
||||||
body
|
body
|
||||||
font-size: 20px
|
font-size: 20px
|
||||||
|
|
||||||
body > header
|
body > header span
|
||||||
text-align: center
|
float: right
|
||||||
|
display: inline
|
||||||
|
cursor: pointer
|
||||||
|
|
||||||
#menu
|
#menu
|
||||||
|
display: none
|
||||||
float: none
|
float: none
|
||||||
padding: 0.5em 0 0 0
|
padding: 0.5em 0 0 0
|
||||||
line-height: 2
|
line-height: 2
|
||||||
|
@ -612,8 +582,9 @@ body.weather
|
||||||
margin: 0 0 1em 1em
|
margin: 0 0 1em 1em
|
||||||
|
|
||||||
#respond
|
#respond
|
||||||
.short
|
li.short
|
||||||
margin: 0.5em 0 0 0
|
margin: 0.5em 0 0 0
|
||||||
|
float: none
|
||||||
display: block
|
display: block
|
||||||
|
|
||||||
footer
|
footer
|
|
@ -1,4 +1,4 @@
|
||||||
Ever since the now very quiet drunkenbatman hosted the <a href="http://web.archive.org/web/20090531184506/http://www.drunkenblog.com/evening_at_adler/">Evening at Adler</a> and Gus Mueller posted, "<a href="http://www.gusmueller.com/blog/archives/2005/12/25.html">How to become an independent programmer in just 1068 days</a>", its has been a goal of mine to one day live the indie Mac developer dream.
|
Ever since the now very quiet drunkenbatman hosted the <a href="http://www.drunkenblog.com/evening_at_adler/">Evening at Adler</a> and Gus Mueller posted, "<a href="http://www.gusmueller.com/blog/archives/2005/12/25.html">How to become an independent programmer in just 1068 days</a>", 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 endeavour was for a better archiver than that provided by the Finder. It was to be dead simple, taking interface cues from things like <a href="http://appzapper.com/">AppZapper</a>. I discovered a little while ago that the fine folks at Apimac had created <a href="http://www.apimac.com/compress_files/">Compress Files</a>, which implemented my ideas and more.
|
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 endeavour was for a better archiver than that provided by the Finder. It was to be dead simple, taking interface cues from things like <a href="http://appzapper.com/">AppZapper</a>. I discovered a little while ago that the fine folks at Apimac had created <a href="http://www.apimac.com/compress_files/">Compress Files</a>, which implemented my ideas and more.
|
||||||
|
|
|
@ -8,7 +8,7 @@ I did some searching and came up with two other libraries that seemed well suite
|
||||||
|
|
||||||
I built the two additional libraries with the default configuration options, except for libmad, which I added the <code>--enable-speed</code> 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.
|
I built the two additional libraries with the default configuration options, except for libmad, which I added the <code>--enable-speed</code> 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 <a href="https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man3/time.3.html">time(3)</a>) and the processor time (via <a href="https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man3/clock.3.html">clock(3)</a>) 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.
|
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 <a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/time.3.html">time(3)</a>) and the processor time (via <a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/clock.3.html">clock(3)</a>) 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.
|
||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
<h3>Environment</h3>
|
<h3>Environment</h3>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue