I finally dumped the clutch on my little side project yesterday: Piranhas is a book price comparison engine for Amazon.
Piranhas makes it easy to compare prices (including shipping to your country) between different country-specific Amazon stores.
I finally dumped the clutch on my little side project yesterday: Piranhas is a book price comparison engine for Amazon.
Piranhas makes it easy to compare prices (including shipping to your country) between different country-specific Amazon stores.
The power button on my iPhone 5 recently semi-broke (it only seemed to work about half the time), so while it was being repaired I borrowed a Nokia Lumia 800 from the device lab at our office.
These are my impressions of the Lumia 800 after using it for a few weeks (why it took three weeks for my iPhone to get repaired is another story).
Hardware
Surprisingly enough the hardware itself feels very solid, despite the fact that the phone is made out of plastic (aside from the Gorilla Glass screen).
The sharp corners can feel a bit awkward while you have the phone in your pocket and the phone can be a bit slippery at times, but this is true also of the aluminium iPhone too.
The battery life seemed better than what I get on my iPhone, but I’m not sure how much of this was simply due to the fact that I used the phone less as I could do less stuff on it.
Software
The Lumia had been updated to Windows Phone 7.8 , the latest version available for the Lumia 800
While the OS seems slick in a very minimalistic way, it also suffers from some interesting bugs and bad design choices. For example, if you want apps to remember their state when you switch back to them, you must use the application switcher (i.e. hold down the back button). If you try to switch back to the app from the start screen, you lose the previous application state. Needless to say this is extremely annoying
The selection on the Marketplace (Microsoft’s app store) is fairly poor compared to what’s available for iOS and Android. This wasn’t a big issue for me as I only had to use the phone for a short while, but it is certainly something which would be extremely annoying in the long run.
Mobile Internet Explorer 9 is nowhere near as good as Safari on iOS or Chrome on Android. The lack of @font-face
support is particularly galling. IE10 on Windows Phone 8 is probably better, but I wouldn’t get my hopes too high.
Other annoyances
I couldn’t get my 3G data connection to work straight out of the box and had to download a separate ‘Network Setup’ app from the Marketplace.
The phone also was under the impression that I needed to use data roaming in my hometown. The 3G data connection wouldn’t work if data roaming was turned off in the phone settings.
The status bar iconography is mostly pretty cryptic, as you can tell by looking through this support article: What do the icons on my phone mean?
While I didn’t run into it myself, the Lumias also have a known issue where they won’t turn back on at all if the battery has completely run out.
Would I switch permanently to Windows Phone?
No.
A single purpose site: Days since GitHub hired someone
It uses the feed for the GitHub blog to figure out when GitHub last hired someone.
A simple tool based on Ricardo Tomasi’s toml.js for converting TOML to JSON in your browser.
Check it out at toml-to-json.matiaskorhonen.fi
TOML (Tom’s Obvious, Minimal Language) aims to be a minimal configuration file format that’s easy to read due to obvious semantics. TOML is designed to map unambiguously to a hash table. TOML should be easy to parse into data structures in a wide variety of languages.
My redesigned homepage
I just published a redesign of my home page, matiaskorhonen.fi
There might still be some issues, especially on mobile browsers, but overall I’m fairly happy with how it turned out.
(geek aside: It’s a static HTML site, but it’s served with Puma running on Rubinius 2)
When we run our build suites on Travis Pro the bundling step takes the most time by a wide margin (aside from the test script itself).
Inspired by this Coderwall protip by Michał Czyż, I set about attempting to cache our completed gem bundle on S3.
Update: Checkout the bundle_cache gem for an improved version of this technique
Gemfile.lock
are downloaded from S3 (if they exist)bundle install
as normal (except that the bundle is installed to ~/.bundle
). This shouldn’t take more than a few seconds if the bundle hasn’t changed.Gemfile.lock
has changedThe bundle is uploaded with public-read
permissions for easier downloading. This should not be a problem for most people and could be mitigated by using a really obscure filename, like a UUID.
us-east-1
) (and possibly a new user via IAM)travis
gem with gem install travis
travis login --auto
(from inside your project respository directory)travis encrypt AWS_S3_KEY="" AWS_S3_SECRET="" --add
(be sure to add your actual credentials inside the double quotes)bundle_cache.rb
and bundle_install.sh
files from below to the script/travis
folder.travis.yml
file to match the .travis.yml
belowBUNDLE_ARCHIVE
variable will be used as the base for the uploaded bundle’s nameAWS_S3_REGION
is optional and defaults to us-east-1
bundler_args
env.global
before_install
after_script
If you have any questions or comments, you can comment on my gist, or tweet at me on Twitter.
Sometimes OS X will flatly refuse to change the audio output to an AirPlay outlet, such as an Apple TV or Airport Express (with no visible error message).
When this happens I’ve found that killing the CoreAudio daemon (coreaudiod
) helps (OS X will automatically restart it).
Simply run this command in Terminal:
sudo pkill coreaudiod
AirPlay should work again a few moments later.
Mostly useful for ensuring that Browsers which don’t have console.log
enabled by default (i.e. Internet Explorer) don’t explode if you forget to remove a console.log
from your JavaScripts.
In OS X Mountain Lion (10.8) and Lion (10.7) to clear the DNS cache you should run:
sudo killall -HUP mDNSResponder
And not the older command that worked in Leopard (10.5) and Snow Leopard (10.6):
sudo dscacheutil -flushcache
See also: Alfred 2 Workflow: Clear OS X DNS Cache