HNHacker News
TopNewBestAskShowJobs

jsmeaton

3,857 karma · joined December 16, 2012

Head of Engineering at Kraken Technologies (Australia) https://kraken.tech/

Former Django core developer.

josh.smeaton@kraken.tech

submissionscomments
jsmeaton··on CircleCI Layoffs
Thanks for pointing that out. Are these large runners somewhat new? I feel like I check every few months and I hadn't seen them before.

https://docs.github.com/en/actions/using-github-hosted-runne...

4 core | 16gb RAM | 150gb SSD is the next size up which is just about what I need.

Edit: September 1 was the announcement, so I was probably due to check back in: https://github.blog/changelog/2022-09-01-github-actions-larg...

jsmeaton··on CircleCI Layoffs
When GHA has decent instance sizes I imagine they'll eat a lot of CCIs lunches. The automatic test splitting is also a god send for parallelising builds.
jsmeaton··on Sapling: A new source control system with Git-compatible client
Same here. That’s the framework we use to lint before accepting a commit.
jsmeaton··on Deliveroo is leaving Australia
Or other businesses will be able to compete in the labour market with real wages once the exploiters are no longer able to profit off desperation. We have minimum wage laws for a reason and skirting around them and claiming that the “contractors” should be thankful for their meagre share is nonsense.
jsmeaton··on Sapling: A new source control system with Git-compatible client
Does sapling support hooks like pre and post commit? My workflow leans on pre-commit (the framework) heavily and it would be hard to give that up. I’d still be keen to take this for a drive though, nice work!
jsmeaton··on Dozens of malicious PyPI packages discovered targeting developers
This is what systems like deb and rpm do - they curate a list of packages that can be installed to the system. But most people (in my experience, including myself) don’t use them because they get out of date really quickly and don’t lend themselves to things like virtual environments very well.
jsmeaton··on Python 3.11.0 final
There are some efforts going into the frontend to reduce these sizes. There's a bit of a transition between frameworks happening.
jsmeaton··on Python 3.11.0 final
I work on a reasonably large Django project (1M+ LOC) with approximately 100 developers and mostly have a reasonable time debugging. We use mypy, lots of linters (some custom flake8 plugins), and a fairly strict layered architecture[0] that's enforced with tooling[1].

Without the tooling it's a nightmare. My previous Django project with approx 500k LOC had linting and some typing and that was a mess.

[0] https://github.com/octoenergy/conventions/blob/master/patter... [1] https://github.com/seddonym/import-linter

jsmeaton··on Dotfile madness (2019)
I was thinking along the lines of ~/.data/{prog} without requiring further subdirs. The config, data, and cache would all coexist within the same directory per program

Each of the data, config, and cache envvars would all be set to ~/.data in this setup (though “data” isn’t a name I’d use)

jsmeaton··on Dotfile madness (2019)
Asked out of ignorance, but do the envvars not allow one to easily co-locate data/config/cache by setting them all to the same value?
jsmeaton··on Cloudflare Pages: Best server tech since CGI-bin?
A simple usecase I had was submitting a contact us form from a static marketing site and being able to route it somewhere.
jsmeaton··on Dear JetBrains, Don't mess with your UI
I’m glad someone else called this out.

“I imagine it’ll suck but I haven’t used it, and they’re breaking the UI for the wrong reasons”.

Such a quick transition from imagining someone doing something and then getting angry at your own imagination.

jsmeaton··on Watchman: Execute a command when something changes
The Python integration seems to be abandoned unfortunately and isn’t keeping up with the parent. No longer works with django filewatching.
jsmeaton··on Show HN: Devbox – Easy, predictable shells and containers
Looks really useful! How do you go about integrating IDEs (like vscode) with the nix shell?
jsmeaton··on RabbitMQ 3.11 Feature Preview: Super Streams
Some great points there, I’ve been hit by all of them. I particularly like the first which is to engage an expert to validate your design. There are so many kinds of deployments and configurations and knowing the best for your application isn’t at all obvious.
jsmeaton··on RabbitMQ 3.11 Feature Preview: Super Streams
I feel like "and while it does require a little tuning around performance occasionally" is doing a lot of heavy lifting there :)

Honestly though my only experience with RabbitMQ has been as a backend for Celery (background task processor for Python) and I think my real issues are mostly to do with how Celery uses RabbitMQ in a very poor default setup.

Message confirmations are off by default and turning them on caused our queues to grind to a halt. Queues being single threaded and clusters don't much help with that without using some kind of sharding plugin. It seemed like getting to a good spot required a lot of arcane knowledge that wasn't so easy to find.

"Configuring RabbitMQ to be a performant message queue for background task systems" would be an excellent blog post I would share widely!

jsmeaton··on Amazon spending $465M on season 1 of The Lord of the Rings series
Yeah, Wheel of Time was really bad. I tried so hard to like it but it had little to redeem it.
jsmeaton··on Despite best efforts .NET is still not an open platform
No, because it's no longer "just code". Bundling in assets (ML models, server keys, etc) makes it more difficult to open source something. So, while I don't agree that it should be closed source, it makes a little more sense to me why they might have gone that way.
jsmeaton··on The most satisfying checkbox
Might have missed a word there. When I want to go back 3 screens it’s a drag having to wait each time.
jsmeaton··on The most satisfying checkbox
Holding down B to exit menus in SSBU is awful! But I actually like the interaction of entering menus that uses the same pattern. I think it’s because I don’t mind the anticipation of moving forward, but hate the drag of not being allowed to go back.
jsmeaton··on Despite best efforts .NET is still not an open platform
Thanks for this, it was definitely news to me. If this is the case then it makes slightly more sense, but is still disappointing.
jsmeaton··on Despite best efforts .NET is still not an open platform
The Python extension itself is not closed source and is still maintained by the original developer that MS hired. It’s the language server that went from an OSS Microsoft project (that replaced the initial Jedi server) to the closed source LSP server.

Lock in doesn’t make sense to me. The main competition is Pycharm which has its own set of tooling.

I can somewhat understand the remote extensions being closed source considering they need to interface with a server. It makes no sense for Python.

My guess is that Pylance is also used within Visual Studio proper, and the VS product owners are pushing for closed addons.

jsmeaton··on Despite best efforts .NET is still not an open platform
The existing one was an open source Microsoft project. Then they built a new closed-source version as a replacement.

To be fair, pylance is orders of magnitude better with regards to performance. But I just don’t get what the reasoning was to make pylance closed source. It’s baffling.

jsmeaton··on The domain for the Python Requests library is expired
This was recently an issue with the celery docs site too. When the primary authors step away from the code the infra isn’t always handed over.
jsmeaton··on Useful Python decorators for data scientists
> My feeling is that redundant stuff like type hints make programmers create more bugs because they don't see the forest for the trees anymore.

Not ones that ship to production. Some developers have a terrible time trying to get through the mypy errors. But from my observations, I haven't seen any typing related errors in a very long time.

jsmeaton··on Fly.io: The reclaimer of Heroku's magic
Having a go at writing the elevator pitch myself, since I think the others I've read have been overly technical.

It's a platform as a service. It'll take your docker application (usually a web application) and run it on the internet. It'll also allow you to run it in many locations around the world transparently (using the same IP address / anycast) so that users closer to those locations will get better/lower latency.

It's a CDN for your application.

(There's more to it than this, but as far as elevator pitches go, sufficient?)

jsmeaton··on I'm all-in on server-side SQLite
Directing specific queries to a write connection (dbserver) vs directing requests to specific application servers (potentially mid-request) does seem operationally “harder” though.

I’m coming at this from the perspective of a traditional django app that has .using(“write”) when wanting to write data. Otherwise you’re replaying requests at a completely different app server.

Am I understanding this correctly?

jsmeaton··on Post-incident review on the Atlassian April 2022 outage
Soft deletes are just the first step. After some period of time you can automatically purge or manually purge. Which is what they’ve supposedly committed to doing.
jsmeaton··on Post-incident review on the Atlassian April 2022 outage
This was addressed in the write up (it’s very long, so missing it is easy). They ran the script against 30 accounts first to verify it worked, and it did, because the list of 30 ids they tested against came from a different source than the other 750ish. It’s a shitty mistake to make but I’m certain I’ve made similar ones.
jsmeaton··on Uber concedes deception, prepares for $26M ACCC spanking
Not booking .com but similar https://ia.acs.org.au/article/2022/trivago-fined--44-7m-for-...
← PreviousPage 3 of 34Next →