Tim Perry

Senior software engineer at resin.io.
Creator of Build Focus, keen open-source contributor, and maintainer of Loglevel, Git‑Confirm and Server Components.

Federate your content just one more step, all by yourself, and making jumping ship a little less scary.

Mastodon has been quietly building popularity for a good few months now, but over the past 48 hours it’s really burst to life, leaping from 25,000 to 40,000+ users in no time at all.

This is an exciting good thing: we’ve been in desperate need of less centralized and walled social networks for a good long time now.

Moving on from Twitter though isn’t easy, as many of us have been there many years...

Because sometimes you want to know if they actually work.

Bash scripts are unloved and underappreciated. Many of us developers spend a lot of time on the command line, and a good shell script is an incredibly powerful thing to drop into & extend your existing workflow.

Shell scripting isn’t easy though. Many of the tools and techniques you might be used to aren’t nearly as effective or well-used on the command line. Testing is a good example: in most languages, there’s a clearly agreed basic a...

Promises Are So Passé at Codemotion Milan

CSS-only tabs are a fun topic, and :target is a delightfully elegant declarative approach, except for the bit where it doesn’t work. The #hash links involved jump you around the page by default, and disabling that jumping breaks :target in your CSS, due to poorly defined behaviour in the spec, and corresponding bugs in every browser.

Or so we thought. Turns out there is a way to make this work almost perfectly, despite these bugs, and get perfect CSS-only accessible linkable history-tracking tabs ...

Opening Open Source with DevOps at DevDay
Promises Are So Passé at Frontend Conference
Remove unused babel dependency
Upgrade to lodash v4
Update npm package description
"When I run apt-get upgrade on my Ubuntu 17.04 machine, sometimes it starts Dwarf Fortress by itself": https://askubuntu.com/questions/938606/dwarf-fortress-starting-during-apt-get-upgrade
Fascinating post from @stripe about their (very neat) incremental API versioning approach: https://stripe.com/blog/api-versioning
Provide a helpful warning when Docker is not installed
Add support for overlay2 in local push
Remove inconsistent (and now unneccesary) 'Tagging image as' message
Docker went from semver-ish to YY.MM versions (17.06) & broke all our version parsing 😭 Real semver en route though! https://github.com/moby/moby/issues/31842
Make Docker version comparison accept Docker's new non-semver versioning
Help users using old node versions to upgrade
Woah, webpack-dev-server now depends on one of my npm packages! https://github.com/webpack/webpack-dev-server/pull/921 Guess when this got releas… https://twitter.com/i/web/status/893112232263004160
This @npmjs account typo-squatting lots of popular npm package names, with versions that quietly steal your `env`:… https://twitter.com/i/web/status/892404399292768256
Add resin.io device domains as public suffixes
Hosting totally user-controlled web content? You should probably know about https://publicsuffix.org/learn/ (and afaict, almost nobody does)
Use Avahi for discovery when available
#React Fiber - now in Beta! http://isfiberreadyyet.com/ https://t.co/sLNLR96FfG
Today's joy: @Google have marked a @Github releases S3 host as malicious content, breaking all sorts of things 😞 https://www.google.com/transparencyreport/safebrowsing/diagnostic/#url=https://github-production-release-asset-2e65be.s3.amazonaws.com
Build unbelievably tiny #Docker images using multi-stage builds: https://resin.io/blog/multi-stage-docker-builds-for-tiny-iot-images/
Barcelona mountain biking requires climbing some fairly large hills, but the views back over the city are fantastic! https://t.co/rgrMvAvEyz
Travis typo fix
New repo: pimterry/module-structure-graph
https://fiatjaf.alhur.es/module-linker/#/javascript - turn require(x) on Github into a link to the file/module, for JS/TS/Rust/Python/everythin… https://twitter.com/i/web/status/888359674701131776
Fantastic write up on the state of the cert industry, now that @letsencrypt has really taken off: https://www.troyhunt.com/on-the-perceived-value-ev-certs-cas-phishing-lets-encrypt/ (by @troyhunt)
Fun fact: there's a LAN service discovery w3c web spec - https://www.w3.org/TR/2014/WD-discovery-api-20140220/ Less fun: it died in January 😭 - https://dvcs.w3.org/hg/dap/raw-file/tip/discovery-api/Overview.html
The results are in! After initial enthusiasm, the conclusion is no: don't hijack ctrl-f, even if it's broken. https://twitter.com/pimterry/status/880346687142756353
If ctrl/cmd+f won't work in your webapp (e.g. lazily loaded/unloaded stream of items) in a context that people want to search, you should:
High-severity remote DoS vulnerability for @NodeJS 4.x-8.x incoming. Patch&details on the 11th of July: https://groups.google.com/forum/#!topic/nodejs-sec/FG8glRVxS7Q #js #node
So #TypeScript 2.4.1 quietly breaks integrated tools like ts-node (but there's a new fixed version out) and ts-loader (nope, just broken)