Recent submissions

Comment · 3 months ago
I use Infuse on the Apple TV and it’s great. I’m not sure how the free version of it compares, but they have a lifetime license for it that I believe is about $100. Definitely worth it if you have a large variety of media and frequently watch on the Apple TV specifically.
Comment · 2 years ago
I see a lot of people mentioning Pydantic here, but you should take a look into TypedDict. It provides a type structure ontop of a plain dictionary, and sounds like exactly what you’d want, and is a built-in that you don’t need a dependency for.

Mypy for example can also see the types of the dictionary are supposed to be when you use it just like a normal dictionary.

Comment · 2 years ago
I once had a VPN utility that HAD to be closed with a Keyboard Interrupt in order for it to shut-off properly, so my systemd setup for it didn’t work. I ended up making bash aliases for tmux commands to run it and send the keyboard interrupt signal into it to stop it. I’m sure there was a way to do this with systemd, but tmux was easy, if a bit jank.
Comment · 3 years ago
One problem I have with switching exclusively to Yubikeys(or similar) entirely with no other 2FA option, is the lack of support in embedded browsers.

I’m not entirely sure what the support for this is like on Windows or some Linux systems, but for example on MacOS, if an application authenticates with SSO or something in an embedded browser window(one example would be like Cisco AnyConnect, but there are plenty of others. zScaler did recently update their MacOS client to authenticate inside a real full browser though so that’s nice), most every application I’ve come across uses the stripped down version of WebKit in these that doesn’t support FIDO2 or security keys at all, so I’m forced to use some other option like an authenticator app.

This is perhaps less of a problem depending on what types of auth your IDP supports, but for example with Microsoft it’s either Phone Call or SMS, their Authenticator app, or FIDO2.

Comment · 3 years ago
I’m arguing there’s not a benefit, it’s just the service I have to use for reasons outside of my control.
Comment · 3 years ago
Throughout my company’s pursuit of moving everything under the sun into AWS I have done my best to keep everything able to be migrated, we have some systems which are just, simply going to have to be completely rebuilt if we ever needed to move them off of AWS, because there is not a single component of the system that doesn’t rely on some kind of vendor lock-in system AWS provides.

I aim to keep everything I’m working on using the simplest services possible, essentially treating AWS like it’s Digital Ocean or Linode with a stupidly complex control panel. This way if we need to migrate, as long as someone can hand me a Linux VM and maybe an S3 interface we can do it.

I really just have trouble believing that everyone using Kubernetes and a bunch of infrastructure as code is truly benefiting from it. Linux sysadmin isn’t hard. Get a big server with an AMD Epyc or two and a bunch of RAM, put it in a datacenter colo, and maybe do that twice for redundancy and I almost guarantee you it can take you at least close to 9 figures revenue.

If at that point it’s not enough, congratulations you have the money to figure it out. If it’s not enough to get you to that point, perhaps you need to re-think your engineering philosophy(for example, stop putting 100 data constraints per endpoint in your python API when you have zero Postgres utilization beyond basic tables and indexes).

If you still really genuinely can’t make that setup work, then congratulations you are in the 10%(maybe) of companies that actually need everything k8s or “cloud native” solutions offer.

I would like to note that given these opinions, I do realize there are problems that need the flexibility of a platform like AWS, one that comes to mind is video game servers needing to serve very close to a high number of geographic areas for latency concerns.

Comment · 3 years ago
Are smaller plugins like this potentially an easy place for first time contributors to work in?

My Rust skills are certainly very lacking but if there is some big list of arbitrary flake8 plugins that there is a desire to have ported, that sounds like it could be a relatively easy place to get one’s feet wet.

Comment · 3 years ago
I maintain a few open source libraries and we have recently switched to Ruff from Flake8 exclusively because of the lack of pyproject.toml support.

These are relatively speaking small codebases, and the speed improvements really don’t make a difference for us, but with trying to get our own projects in line with current standards flake8’s refusal to support it was the final nail in the coffin.

I think the point was reasonable when pyproject.toml first came about and parsing it was a bit more of a Wild West, I can certainly understand the unwillingness to try and support it then. Now with Python itself having toml support in the standard library, and every other major tool standardizing on it, not to mention TOML being the de-facto config file for Rust projects. It just seems like a bizarre hill to die on to me now.

It’s not as if the work hasn’t been done, there are forks of flake8 with pyproject.toml support, but as far I’m aware multiple PRs with support for it have been denied.

Comment · 3 years ago
They tried to setup a meeting to go over it but no one was able to join because Teams was broken
Comment · 3 years ago
I used to be really involved in RuneScape private server development in the early to mid 2010’s. It is to this day some of the most enjoyable programming I’ve done. The challenge presented by reverse engineering an obfuscated client and building a server framework off of that works almost like a puzzle game.

There were a lot of really talented developers in the space, but unfortunately the predatory donation systems and toxic culture between different servers/projects generally caused the good developers to move away from the community(or be just outright banned from community forums for no sane reason). It’s really nice to see a project in this space building a strong community with good open source culture.

I didn’t see on the website anywhere, but I’m curious if Jagex has given them any kind of permission for distributing the copyrighted assets/client? They may not care since it is focused on very old versions that Jagex themselves don’t even have or intend to profit from ever, but it would be cool to see them actually endorse a community project like this.

Comment · 3 years ago
Comment · 3 years ago
Sorry for a late reply, I am generally using ARM based images and I have run into VERY few things that availability was a problem for. I’ve never seen anything based on Debian or Alpine not have ARM variants. The only base image I’ve really ever run into problems with was Cent, and I only had like one thing that used it which I switched over to Debian and it’s not caused any problem for me.

I can definitely see mileage varying depending on the specific things you need to run, but I wasn’t ever really concerned with it because I usually have enough control over the images I use that I can switch something to a different base if need be.

Comment · 3 years ago
I used a Framework for a while, and I’d definitely give it my vote for the best Linux laptop I’ve used(Also PopOS has the best out of the box support for most laptops in my experience).

This being said, I traded my framework out for an M1 MacBook Pro, and just use OS X now. The reality is my OS X environment is functionally identical to Linux(and this includes very heavy use of Docker, I don’t know what anyone complaining about Docker on M1 are on about) and from a hardware perspective the M1/2 MacBooks just absolutely stomp every competitor for me, this is especially true if you care about battery life.

Disclaimer: I do not daily drive a laptop, and exclusively use a laptop when traveling or otherwise am incapable of using my desktop

Comment · 4 years ago
As someone who maintains Postgres 9.2, 9.4, and 9.6 databases. No, they do not.

(It is not my will that these databases aren’t on newer versions, I would very much like them to be)

Comment · 4 years ago
A little over 2 years I came into a very similar situation, however in my situation we had none of the original developers working on it anymore.

At least from a technical perspective, the key to making this manageable is not a re-write, that’s probably the worst approach especially if you have little to no buy-in from above. From a business perspective, a re-write provides little to no benefit and will only be a large cost and time sink, so you will never get buy-in on that anyways.

The key here is slow, progressive improvement. For example, get it in source control, that’s a relatively simple task and provides an endless amount of benefit. The next step which is a bit more complicated, is get a way to run this in a local development environment.

Getting a local environment for this type of situation can certainly be tough, and you have to be prepared to accept what may be considered a “non-optimal” solution for it. Does your code have a bunch of hard coded credentials and URLs that you would accidentally hit 3rd party services or databases from local and cause problems? The answer to that is NOT to try and extract all those things, because that will take a ton of time and you have no test environment. Instead cut the container off from all internet access and add-in a proxy container to it and give it a container it can proxy through for outbound, then you can explicitly control what it can reach and what it can’t, now you can progressively fix the hard coded problems.

Basically the key is to accept that shooting for “ideal” here is a mistake, and you have to sneak the small progressive improvements alongside meeting the business goals that have been set for the team.

In my experience, if you can sneak some simpler but very impactful changes in, then demonstrate how those help deliver on things, it will be easier to get buy in. If you can point to be being able to deliver a feature weeks ahead of previous estimates and attribute it to say having a sane deployment strategy, or a local dev environment, the advantages become clearer from a business perspective. If you say “we need time to fix this” but have no data or concrete examples of how this helps the business, you won’t get buy in.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton