HN user

joecomotion

14 karma
Posts1
Comments14
View on HN

IIRC, Rotterdam had a massive govt. subsidy for going fully-automated, which kind of helps.

I spent 10 years between 1997 and 2009 (took a break for grad school) working on semi-automated tracking systems for ports up and down the West Coast (and other places), including one in Oakland. The recent surge in interest in intermodal container ports sure brings back memories!

My company developed niche systems for tracking container location within the terminal by instrumenting and tracking any crane/truck/etc. that could move a container. Even though longshoremen were still operating the equipment, it helped to have a real-time (and historical) picture of what happened, because planning systems were now less subject to clerical mistakes.

Here's their (sort of terrible) website: http://www.nowsol.com/

These guys pretty much own the market for the terminal-planning systems we fed: http://navis.com/

There are three integration points:

- Share from Dropbox: when composing an email, insert a link to a file already in your Dropbox.

- Save to Dropbox: when reading email, save a received attachment to your Dropbox.

- Upload to Dropbox: if you try to attach file over the 25MB attachment size limit, you're given the option to upload it to your Dropbox and link to the file on Dropbox.

The latter can break caching for some older proxies.

Also, I believe safari will ignore your caching/expires headers if you use GET params.

Handy if you're viewing a live log file and want to see what's been appended since the last time you've opened it:

(defun force-revert-buffer () (interactive) (revert-buffer t t))

(define-key global-map "\C-cr" 'force-revert-buffer)

I prefer to return as early as possible and I dislike unnecessary else clauses. And unnecessary braces. I especially hate really long functions where there's only one return but a bunch of baggage and nested conditionals along the way to pull it off. Like mullr said, only handy if your language doesn't support guards.

Most of the people who code this way that I've met don't do it b/c they're trying to be 'pure.' Most of them say it was coding standard some manager mentioned somewhere else long ago and now they just do it w/o thinking.

Yeah, variable naming standards are nice for consistency and I take it "common functions" is a euphemism for "don't cut and paste," but do you really want to dictate 'how to do iteration' in a way that's more limiting than the implementation language's idioms?