HN user

fiznool

86 karma

Software Engineer from Bristol, UK.

tomspencer.dev meet.hn/city/gb-Bristol

Posts3
Comments55
View on HN

After reading this (very entertaining) article, I think I can guess why the fuse on his machine was missing. This is exactly what I would do, if I was met with this monstrosity!

243MB for an app that allows you to write text posts and attach media? Shouldn’t this be an order of magnitude smaller?

Buy well, buy once 3 years ago

Try having kids. The amount of crap you will end up with, like it or not, will make you rethink your position in the world, and your house’s storage capabilities.

Buy well, buy once 3 years ago

My box of wires in the attic is often the butt of my wife’s jokes, but every once in a while I find that satellite coax connector I’ve been saving, or the scart cable that is the only thing standing between old vhs tapes and nostalgia.

I’m looking forward to picking up a second hand M1 Max mbp now that these new models are out. M1 is more than fast enough for me, and I’m specifically looking for a native 3 external monitor setup, without any DisplayLink shenanigans!

Not tried, but also researched thoroughly. The main difference as a ‘Merchant of Record’ is that they are effectively resellers of your product, and pay you a (majority) cut on all sales. As you mention, one of the big attractions for me is the fact they take care of local taxation laws - as a UK based seller I would be on the hook for calculating and charging VAT in all countries that I sell to, which is a massive headache / pain in the arse to get right. Much like the App Store, Paddle removes all of that, as a MoR they are your only ‘customer’ from an accountancy point of view.

Of course, one of the big drawbacks here is conceding control of a critical part of your infrastructure to another organisation. Better hope they don’t hell ban you, or you’ll be totally screwed. But that seems to be an issue with whoever you choose.

On the specific point about getting a US bank account in the EU. I’m in the UK and have used Wise [1] (née Transferwise) to set up a ‘virtual’ US bank account. You get a US account number to send to your client / plug into Stripe, and the funds are paid into the Wise account, which you can then transfer into your home currency account at your leisure. It’s worked really well for me and the fees are very reasonable.

[1] https://wise.com/

I’ve been a freelancer / consultant in the UK since 2013. Here’s the approach I took.

Initially, I stuck with the ‘permanent’ day job and start freelancing part time, in the evenings. This allowed me to focus on building a network of connections without the stress of needing to find a contract that would pay for my cost of living.

My first contract was through upwork (when it was called elance). I found a UK-based client who needed a small job doing for $25/hour. This merged into a new opportunity with the same client. 9 years on, and I’m about to go back to working for the same client once more, on a different project, at a much higher rate.

In parallel with this, as the pressure was not on to earn a living from freelancing (yet), I didn’t feel the need to fill every spare hour with billable work. Instead, I signed up to a bunch of different meetups, and volunteered to help run a couple of them. Through this I built a network of connections and opportunities, which led to _every_ other client I have worked for. I can’t stress enough how important this was for my freelancing career - visibility is everything. Tell everyone who will listen that you are a freelancer and you are open to new opportunities.

The contract market is rich and lucrative in the UK but you can’t expect to be handed opportunities via platforms. As others have mentioned, the best gigs come to those who put themselves out there. Speak to other developers at meetups and conferences, tell people you are a freelancer and eventually something will crop up.

Good luck!

The Best iPhone 4 years ago

I much prefer the SE form factor to the notched design, but the latter boasts a significantly better camera system. If they put the dual lens setup from the 12/13 in a new SE then I’d buy it in a heartbeat. Kids are only little once - capturing those moments with a better camera trumps most other things in my book.

This is probably an unpopular opinion but as a contractor, I’m not expecting to be fully integrated into a company, nor lauded for my efforts. As a contractor, I understand that I am plugging a gap at short notice, on a temporary basis. I anticipate coming in, being useful and getting paid well to do so. I then expect to leave and find something else. The flexibility, autonomy and well-remunerated nature of contracting is what appeals to me - integrating with co-workers and compliments on my work are a distant second.

As an aside, if you are being compensated less than permanent employees as a contractor, then your rate is not high enough. The ‘fully loaded’ cost of a permanent employee is higher than their stated salary, due to tax, insurance, pension contributions etc - all of these need to be deducted from the contractor’s billable rate to provide an accurate comparison between the two.

Not the OP but just wanted to weigh in on the PHP point. Just because it isn’t the coolest/hottest language around, doesn’t make PHP any less suitable for a project like this. Laravel in particular has been a game changer for modern PHP-based backends and sites, and the language itself has been steadily evolving and improving. It may not get the column inches of the likes of Phoenix or Remix, but it is stable, battle hardened and fully suitable for the majority of use cases in 2022.

A consultant is independent, for example; a contractor is not. The difference is that the client tells a contractor what to do, while a consultant tells the client what they should do.

As someone who has worked as an ‘Independent’ for the past 8 years, this really resonated with me. I aspire to be a consultant, but realise now that most of the time, I’ve been a contractor. I think the lines are a little more blurred (e.g. a consultant can still advise based on a set of requirements, which usually come from the client) but it’s one of the most concise explanations of the differences between these two roles that I’ve heard.

I guess the main issue here is the lack of Google Play Services, which may mean that you can’t reliably implement certain features or reproduce conditions that your end users will face. Perhaps it doesn’t matter for a dev-only phone, but if the device doubles up as a test device, this may be where a non-Google ROM falls down. I’d be wary of using CalyxOS as a base for a dev phone, for this reason.

This was my biggest concern too, that my £300 dock would be rendered instantly obsolete. It’s nice that I could still plug these new pros into a dock with a single usb-c cable and have charging, multiple displays and usb connectivity all with one cable.

One of the nice things about a pull-based model (polling) is that you are in control of throughput. Need to process events more slowly? Increase the polling interval. It’s impossible to achieve the same thing with push-based (webhooks), you are at the mercy of the producer’s rate of webhook delivery. I had this issue a few years ago with a queue-as-a-service that sent jobs via webhook - the queue would intermittently drain extremely quickly, sending thousands of requests per second, which totally overwhelmed our poor single Heroku dyno.

One big issue with the pull-based model though is with concurrency. If you have multiple workers polling an API endpoint for new data, you need to synchronise the ‘last seen’ ID or timestamp across all workers. Otherwise, worker A and worker B might pull the same data and you could end up with duplicates. There’s no silver bullet here, either model requires work to harden against edge cases.

A few years ago I settled on a subscription to Digitally Imported [1], which is a music streaming service specialising in electronic/dance/ambient music. Most of the tracks are without lyrics which is important for me, as I can’t code to music with vocals.

Tired of listening through the browser, I found Radio for Mac [2] which allows you to play streams - DI publishes the stream address for all of its stations, so you can pipe these into Radio and hence listen to their music without needing a browser open.

Radio also has a recording feature - a stream can be recorded and saved as an mp3 file. After a few months of subscribing to DI I noticed they were simply repeating the same (few hundred) tracks on each station. So I set up my Mac to record a few stations over the course of a month, so I could listen to the tracks when offline (with Tiny player [3]). Since I was listening to the same songs over and over, I started to question whether I needed a subscription to DI any more…

[1] https://www.di.fm/ [2] http://radioformac.com/ [3] https://www.catnapgames.com/tiny-player-for-mac/

We’ve seen success in our current node.js application using pgboss [1] for job queueing. Since the primary database is Postgres, it’s nice to not introduce another dependency into the system, and take advantage of the infrastructure that we already have. The library supports most of what you’d expect from a job queue, and is crucially well maintained!

That being said, I agree with other comments that this is somewhat swimming against the tide. Redis is much more commonly used, and so if you don’t mind adding another service into the mix, I’d probably recommend going with Redis instead.

[1] https://github.com/timgit/pg-boss