Many CI systems allow you to build inside a Docker container, but creating the docker image which is used for the container can be a slow process. Various third party resources, like Docker Hub, may have rate limits, and fetching all the updates and new packages over the internet may take a while, but there are a few things you can do which will make building and testing your images faster.
With JCenter closing down folks are looking at alternative places to host their build artifacts, and AWS can easily meet that need. AWS isn’t the only platform capable of hosting Maven artifacts, any hosting provide can do it, but AWS has the ability to scale to high levels and offers a free tier which means that you can get started very cheaply and, if your libraries are really successful, you don’t need to revisit the set-up unless you want to.
Ideas for a healthier engineering environment We’ve all had good and bad work experiences, but how many of us are learning from them? Having recently left Deliveroo I decided to put together some things I thought were good engineering guidelines based on the experiences I’ve had at several companies so I could try to find a future workplace which was in-line with my ideal way of working. Don’t assume you have complete knowledge No-one is part of every conversation in a company, and very few, if any, engineers remember every fact from every conversation they have, so assuming you know all of the reasons behind someones actions is always going to lead to mistakes.
The problem with RSS and feeds I like RSS as a concept, but, where I’ve seen it used, it’s always felt like it’s missing one thing; the ability to dynamically limit the audience of some posts. This isn’t an inherent problem in RSS, but more how it’s been used as an all-or-nothing syndication method. While there are many workarounds (e.g. having separate private feeds, each of which require authentication to access), I haven’t found a solution which would seem to work well with a reasonable number of dynamically changing groups.
My first experience of Commuting into London was nearly two decades ago. It wasn’t something I’ve ever particularly enjoyed (unlike some who find it’s a great reading opportunity), but it generally did the job of getting me from where I’d chosen to live to where I’d chosen to work. After about 5 years I left that behind and setup a company and, over the next 9-ish years I was free from it.
Something I’ve seen over the (several) years I’ve been working in tech is a lack of understanding that feedback has differing levels of value. Sometimes this goes to the extremes of feedback that’s ignored because it’s come from a person or group which has consistently provided low value feedback, or groups which don’t get a lot of feedback because people think it won’t be acted on. Both of these are very bad places to be in.
The idea Currently most build systems have two sources for build dependencies; A remotely hosted source (e.g. maven central, internal build cache on a server), or a local on-disk cache, but many development groups have another potential source which doesn’t seem to be being used at the moment; other developers on the same LAN, which is why I started thinking about implementing a peer-to-peer caching system and I’m putting the idea out there for discussion.
Some of those who know me may have heard me talk about an Enterprise Password Safe product which I built and worked on from the mid-2000’s up until shortly before joining Facebook. Now I’ve left Facebook and I’ve been looking over my old repos and realised that it’s a project that could benefit from being open-sourced and so I’ve done so via a company I’ve recently acquired an interest in.
A few weeks ago I tweeted to see if anyone had put a Raspberry Pi Zero W and a PaPiRus eInk display together to make a Bitcoin Wallet. Unfortunately there were no responses, so I thought I’d see what I could do…. fortunately the answer was quite a lot… First off the warning; This setup isn’t security hardened. If you’re going to use this on an open WiFi network, or other people are going to get hold of your device, you should look at hardening the installation of Raspbian and modifying my apps to encrypt the private key for your bitcoin address.
I’ve often wondered if people who recommend importing devices which are only available in specific countries realise it’s a self-defeating practice. Companies monitor sales through channels, they don’t know where the end customers are. So if, for example, there’s a product only available in US, and you buy it from a US-based supplier, the company producing that product sees it as a US sale rather than one for the country you’re in.