HNHacker News
TopNewBestAskShowJobs

robmil

335 karma · joined April 6, 2012

https://robm.me.uk r@robm.me.uk

[ my public key: https://keybase.io/robmil; my proof: https://keybase.io/robmil/sigs/x_AOtOjtMev0kghH-FH4D5BvfrDlPtKBKlRF83jdcxs ]

submissionscomments
robmil··on Varnish in Five Acts
We started off with our own toolkit for purging domains after deploys: https://github.com/robmiller/Varnish-Toolkit

But yeah, it just got a bit painful after a while.

robmil··on Varnish in Five Acts
We eventually abandoned Varnish because the purging was too far from our application logic. nginx serves static content just as fast as Varnish does, and so getting our application to write static HTML files that were redirected to via nginx was just as quick as Varnish but easier to purge when needed.
robmil··on Varnish in Five Acts
For a lot of sites, either using ESIs or including dynamic content via AJAX is a fairly simple solution that still leaves you with the benefits of caching.
robmil··on Make Your UI More Responsive with HTML5 Web Workers
I realise this is snark about the article going down, but it's actually a good point too. Not much point in optimising the client side if all your dynamic requests take a second for the server to process.
robmil··on Make Your UI More Responsive with HTML5 Web Workers
Oh, absolutely. Web workers are awesome and hopefully the future, but it seems a bit disingenuous not to mention the huge caveat that currently prevents their being adopted in a more widespread way.
robmil··on Make Your UI More Responsive with HTML5 Web Workers
Unfortunately they're not supported in IE9 or below, which this article oddly fails to mention. So a more accurate title might be "make your UI more responsive for ~60% of your users with HTML5 web workers".
robmil··on What You Should Know About Chechnya as the Boston Story Unfolds
For anyone looking to learn more about Chechnya regardless of whether it's linked to these attacks, I'd highly recommend Sebastian Smith's "Allah's Mountains: The Battle for Chechnya".

For wider reading on the region, I thoroughly enjoyed Oliver Bollough's "Let Our Fame Be Great: Journeys Among the Defiant People of the Caucasus", a nice blend of travelogue and history from the journalist who was Reuters' correspondent in the caucasus throughout the late 90s and early 2000s.

robmil··on Of Lisp Macros and Washing Machines (2011)
Not that I'd necessarily agree with it, but I think you're missing his overall point there: he's arguing that those things are time savers, but only for tasks within the domain they were designed to tackle, whereas macros allow more general and more automated solutions, saving time across all domains.
robmil··on Firefox Will Soon Block Third-Party Cookies
For those about to bemoan the breaking of things like Google Analytics: this patch only blocks third party cookies from domains that the user has never visited before. Since 99% of your visitors will have visited google.com, your Analytics should continue to function even after this update.
robmil··on Git workflow for projects with multiple developers
Some tips:

You can track and checkout a remote branch in just one command:

    git checkout -t origin/foo
If someone's working on a topic branch themselves, it might be better to rebase master rather than merging it:

    git checkout foo
    git rebase master
robmil··on Using Page Scrolling as Engagement Indicator
It should still work even if you scroll like that — the browser fires its scroll events periodically, so they'll still fire, and CrazyEgg only cares about the furthest point that you scroll to.

And thanks: I've been nursing some of their damson vodka over Christmas and it's excellent stuff!

robmil··on Using Page Scrolling as Engagement Indicator
CrazyEgg[1], the click tracking tool, has a good interface that gives you a heatmap of how far people are scrolling down your page. It's very handy.

[1]: http://www.crazyegg.com/

robmil··on Apple really needs two passwords, not one for everything
Even then, it would be better than the status quo — you'd need physical access to my phone to access my Apple account, preventing the kind of remote attacks that were made famous recently.
robmil··on Sharing my git cheat sheet
For the "create a local branch from a remote branch", a more sensible option is probably:

  git checkout -t origin/branch-name
Other things that are useful:

Push and track a branch at the same time:

  git push -u origin foo
Merge a branch and always generate a merge commit, even if a fast-forward was possible:

  git merge --no-ff foo
A condensed and useful status output:

  git status -sb
Useful `git log` options:

  --abbrev-commit
(Shows as short a commitish as possible)

  --color-words
(Show word-level diffs in the same line, rather than as two whole -/+ lines)

  --decorate
(Where a commit is also a ref (e.g. the latest commit on a branch), display that ref in the output)
robmil··on Tech conferences: what's the big idea?
The best bit is in the comments:

"Most marketing in the technology world is in the form of lies, to be impolite, even when the data is accurate. A device is revolutionary and will transform the world, and your old way of working will be replaced, and so forth. That is rarely, if ever, true, even with truly revolutionary hardware."

robmil··on This machine separates your Skittles into color groups so you don't have to
The colours are all coloured separately, so ensuring a good chance of an even mixture just involves combining equal amounts of each colour and mixing them up. Whatever amount you take, you're likely to have an even mixture of each colour.
robmil··on Hacking on Side Projects: The Pool Ball Tracker
It's already been done I'm afraid — certainly on snooker coverage in the UK, they frequently do VR demonstrations of possible alternative shots, VR views of different angles on the table, etc.
robmil··on SSH key and passwordless login basics for developers
passwd -d destroys the ability to a) log in from a console and b) to use sudo, which might well be a dealbreaker for most people. Disallowing password auth in your sshd_config is typically a better option.
robmil··on Ceefax: The early days
These restrictions fed into the website, too — hence every BBC News article having a very short lede paragraph.

The headlines' noun-heavy wording also helped spawn the concept of "crash blossoms" — syntactically ambiguous headlines that had amusing alternate readings: http://www.crashblossoms.com/

robmil··on Confusing Crypto Blobs
Why would you even use blobs for forgot-password? Is there ever a reason to use them over a single-use, time-limited token?
robmil··on Requests for PHP
An old classic that does something similar is Snoopy: http://snoopy.sourceforge.net/

Not sure if/why Requests is any better, but it certainly seems to have better documentation which is reason enough to use it I suppose!

robmil··on Is it OK to hold credit card numbers in cookies, Santander?
That's a bit of a strawman I think — surely by the logic you're using, the existence of a profit motive would mean that the company was interested only in serving its shareholders and would ignore its consumers? There are plenty of examples of this, but it doesn't mean it's true generally of profit-making companies.
robmil··on How to Start Your Own GeoCoder in Less Than 48 Hours
Sounds interesting — it would definitely be worth a follow-up post if you do manage to get that working!
robmil··on Usability Testing in Code Review
This is a great idea. Too often code review is a hierarchical process in which a single high-up checks that coding standards are being met and nothing more — this, on the other hand, is genuinely useful.

How do you mitigate the fact that it will take an awful lot of time, though? Just by appealing to the idea that it will save time in the future?

robmil··on How to Start Your Own GeoCoder in Less Than 48 Hours
Another problem I see is that we have a snapshot of data from friday. We cannot really link our data back to any of the original OSM data. So if we want to upgrade our dataset, we have to throw everything away that we have and start a new import.

This is the biggest hurdle to overcome, in my experience. A custom data format is typically essential (most location databases arrive as CSVs or XML, which are useless for real-time querying), but imports can take forever.

It's sometimes, counterintuitively, been more worthwhile to concentrate on the performance of importing than of querying; the out-of-the-box query performance you get with (no)SQL often isn't terrible, but your import script usually starts out pretty awful.

robmil··on Enhancements to Shell and Vim Productivity
For some (entirely irrational, I'm sure) reason, the idea of constant and automatic deployment of my dotfiles across all my boxes gives me the shivers. I like that extra bit of control I get from doing it with a git repo.
robmil··on Is it OK to hold credit card numbers in cookies, Santander?
They're owned by their members (hence the name), and operate pretty much exclusively as an old-school retail bank without any of the other banking activity that tends to at least wander into ethical grey areas.
robmil··on Wordpress.com serves 70k requests/second using Nginx
They have two thousand servers total; that includes database servers, memcached servers, regular backends, and load balancers.

Peter Westwood gave a talk on WP.com's infrastructure in London in January; I've tried to find slides online but I can't, which is a shame because he went into quite a bit of detail about their nginx/HyperDB/memcached/mogileFS setup.

robmil··on Wordpress.com serves 70k requests/second using Nginx
It's called HyperDB, and they did indeed release it: http://codex.wordpress.org/HyperDB
robmil··on Boeing to add cell coverage to planes by 2013
Does anyone else think this is, well… a really hideous idea? One of the few not-terrible things about being in a plane is that it's one of the few places free from the cacophony of other people's phone calls.
← PreviousPage 2 of 3Next →