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.

Post on Medium
Lastly, users tend to get a bit complainey about people intercepting and saving everything they type, particularly credit card numbers, passwords and the like. So it’s important that they don’t know you’re doing this. Wink.

I don’t need to worry about covering the boring stuff like privacy and security

Woah there, ok. This is an interesting technique, but it needs some huge warnings on top!

If you’re doing this for real after Spring 2018, you have any EU users, and you’re not extremely careful, then this is illegal and subject to fines of up to 20 million euros or 4% of business turnover, whiche...

HTTPS Is Not Enough at Codemotion Milan

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, and dumping all your friends there is a high price to pay. What you need, is a way to sync between ...

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 approach to testing, and most projects have at least a few tests sprinkled around (though often not a...

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 for free.

What? Let’s back up.

What’s :target?

:target is a CSS psuedo-class that matches an element i...

Add missed parts of plan billing info types
Whoopsie-daisy, a tiny non-functional bug got into production, started reporting an errors at speed, nobody noticed… https://twitter.com/i/web/status/976761937001369602
There's a new http://npmjs.com! Nice frontpage update, but the new package pages are the real magic: https://www.npmjs.com/package/mockttp
Don't include anchor tags in docs, as it breaks the docs site
Exciting announcement: @resin_io are going to start building hardware! Introducing Project Fin, a @Raspberry_pi ca… https://twitter.com/i/web/status/976144590754508800
Just discovered that a standards-compliant UUIDs actually includes its version number in within the id itself. Chec… https://twitter.com/i/web/status/976131213512597504
Nice post from @Unsplash, looking at their approach to _gradually_ migrating a production JS codebase to… https://twitter.com/i/web/status/975463645013532673
Announcing TypeScript 2.8 RC https://blogs.msdn.microsoft.com/typescript/2018/03/15/announcing-typescript-2-8-rc/ (ooooooooh, I'm so excited about this! Conditional types!!!!!!)
More fun hardware! Today's exciting delivery: a @RAKwireless raspberry pi kit. There's a new @thethingsntwrk gatewa… https://twitter.com/i/web/status/974258030673059840
Check auth & url configuration before each script, and add shebangs
🎉🎉🎉 Etcher has reached 10,000 stars on Github! 🎉🎉🎉 https://etcher.io
Update full CLI docs with recent installation improvements too
Fix CLI prettier configuration to avoid linting errors
Create separate 'Mocking' category under Testing, and add Mockttp
Barcelona right now. Snow (well, slush) everywhere! We are not well equipped for this ☺️ https://t.co/i9O86A1pNm
Holy shit, npm 5.7.0 has a bug where running it as root will irreparably break your OS: https://github.com/npm/npm/issues/19883
I just found @DevDocs (https://devdocs.io), from an interview candidate no less. Love MDN, but the search and… https://twitter.com/i/web/status/965546065742258176
Ensure login does not wait for the browser process to close
Tweak TS & add missing deps that may cause build failures in some envs
Shiny new device to play with! It's an @LTEKelektronika FF1705: a @MultiTechSys xDot chip (i.e. LoRa LoRa LoRa) on… https://twitter.com/i/web/status/964496699896025090
My tiny new @typescriptlang module of the day: typesafe-get https://www.npmjs.com/package/typesafe-get get(obj, 'key1', 'key2') Equi… https://twitter.com/i/web/status/964446274702446592
New repo: pimterry/typesafe-get
Want to know how @resin_io builds native ARM code, at scale, at speed? We're using @packethost to get real bare met… https://twitter.com/i/web/status/964220139695759360
The @RAKwireless + @resin_io guide to setting up a @thethingsntwrk gateways is out: https://www.thethingsnetwork.org/docs/gateways/rak831/. Time… https://twitter.com/i/web/status/964138033476964352
Setting up some new automated interview tests! Unfortunately, this means I need to check them, and effectively go t… https://twitter.com/i/web/status/964135158533296128
Announcing ⭐️ Mockttp ⭐️: https://github.com/pimterry/mockttp Powerful friendly HTTP integration testing for #JavaScript. Rea… https://twitter.com/i/web/status/963795289084715014
This is a neat deprecation approach: https://githubengineering.com/crypto-removal-notice/ Kill deprecated crypto standards for only one hour, t… https://twitter.com/i/web/status/963734493688483840
Update tests to stop using various recently removed device types