HNHacker News
TopNewBestAskShowJobs

rjst01

328 karma · joined April 9, 2015

submissionscomments
rjst01··on Did GitHub Copilot increase my productivity?
I've had the opposite experience - copilot will pop up a suggestion that's wildly wrong and I'll expend energy processing and discarding it.
rjst01··on The API database architecture – Stop writing HTTP-GET endpoints
Measured by LOC, a lot of code in systems i've worked on is just copying data from one type of object to another. One frustrating bug I've dealt with was due to someone copying the wrong value between two similarly-named fields, but the request went through so many layers of the system before it was processed by the buggy code that it took hours to track down.

I've spent a lot of time thinking about how to write less of this code, and I think what I want is something similar to Postgrest, but with a mechanism for some sort of hook, where I can write some code to manipulate the request/data in a type-safe way.

The closest I've seen to this was early in my career - one of my first jobs was working at a WebObjects consultancy. Because WebObjects provided the full stack from HTML templating engine to ORM - and by that time also community-driven frontend libraries - you had to write very little of this type of code.

I suspect also that some of the resistance to the Postgrest-style approach in enterprise environments comes from tighter controls around data, and requirements/expectations for stricter change control around databases. Buggy code can always be rolled back, but a botched database change could be a much bigger problem. (Of course, the fact that buggy code could corrupt or delete data almost as easily is ignored in this calculation). I still remember weeks of meetings at one employer trying to get a column added with the ultimate answer being 'no'.

rjst01··on Alternative clouds are booming as companies seek cheaper access to GPUs
Indeed, Google and Amazon have already shown an interest in designing their own silicon (TPU and Graviton). Probably Microsoft too, but I'm not aware of an example off the top of my head.

Upstarts are not easily going to be able to pursue that, so NVidia has a strong interest in supporting them.

rjst01··on Building MS-DOS 4.00 on FreeDOS [video]
> Respecting platform conventions is the sensible default

That's fair, but I'd argue an equally sensible default would be to respect the conventions of the language ecosystems you're working within, and for Java, Python, Rust, that's LF. IntelliJ provides a lot of configuration on a per-language basis but line separators for new files is a global setting for some reason.

rjst01··on Building MS-DOS 4.00 on FreeDOS [video]
Some tools - even cross-platform ones - will create CRLF files on Windows by default (looking at you JetBrains) so when working on Windows I usually like to have autocrlf set to 'input' to avoid accidentally committing CRLF files into the repository.
rjst01··on A BSD person tries Alpine Linux
Huge Alpine fanboy myself. I love that a clean install has less than ten processes and I know what they all do. The community is also very good at building packages that "just work" - the article points out ZFS, but also docker, podman, libvirt are trivially installable.

> Perhaps the package I was most surprised about was zfs. ... What that would look like after an upgrade I’d have to see, but thus far I’m impressed.

I can confirm it works smoothly. I've observed that the ZFS package is updated whenever the kernel is updated.

rjst01··on Tax consequences of WIN95 team members keeping a piece of software for testing
The IRS decided in 2002 that taxing air miles was too difficult: https://www.irs.gov/pub/irs-drop/a-02-18.pdf , but I wonder if this might change in the future if airlines continue to shift towards programs that reward dollars spent rather than miles flown + ticket class.

Some countries have specific legislation to exclude air miles.

rjst01··on Ask HN: Startup Devs -What's your biggest pain while managing cloud deployments?
We deploy our services on every merge (multiple times a day) from CI assuming the tests pass. But we don’t re-create our Kubernetes infra when we do that. I set up 3 Kubernetes clusters (staging, prod, internal apps) when I went full-time and have barely touched them other than to apply updates.

> does that cause any problems for you?

Nope. Our Kubernetes setup is just about as simple as it is possible to have a Kubernetes setup. I entertained the idea of going with something else, because we definitely don’t need all Kubernetes has to offer. But I settled on it because it’s what I know best and the overhead+risk of something new would have exceeded the cost of the unnecessary for us baggage that Kubernetes brings.

If our requirements were different or if I was making regular changes, we would be in a very different spot. But as it stands today it is just not a priority.

rjst01··on Ask HN: Startup Devs -What's your biggest pain while managing cloud deployments?
> Out of curiosity, why just the "readmeware" for those components?

Because there are so few of them. Our setup has an ingress controller and a certificate manager, and then some bookkeeping like copying the container registry credentials into every namespace

> I can't think of a single thing that requires clickops in a modern k8s setup

Absolutely agree.

> The whole process took about 8 minutes from go

How long to do the development and testing of the template, and what size is your team?

Don't get me wrong, I'm not happy about this situation. As well as the DR concern you raise, we can't quickly spin up short lived clones of our infra for testing complex changes, so we test them in our staging environment and have to block prod deploys until we're either happy with the change or decide to roll it back. At a larger org this would be a major headache but at our current size it does not matter.

rjst01··on Ask HN: Startup Devs -What's your biggest pain while managing cloud deployments?
A year ago I left my job at a 500-employee SaaS business working on the team that maintains the devops infrastructure, to found a startup. For me the biggest pain point is going from nothing to a sufficiently flexible devops setup.

There are a lot of great tools out there, but making them play well together is an exercise for the reader. There are also a lot of preference-based choices you need to make in how you want your setup to look, and what you chose will affect what tools make sense to you.

Do you go monorepo or polyrepo? If you go monorepo, how do you decide what to build and deploy on each merge? If you go polyrepo, how do you keep stuff in sync between any code you want to share?

Once a build is complete, how do you trigger a deployment? How does your CI system integrate with your deployment system, or is the answer "with some shell scripts you have to write"?

> How do you deploy resources?

For us, we have a monorepo setup with bazel. I wrote some fairly primitive scripts to scan git changes to decide what to build. We use Buildkite for CI, which triggers rollouts to kubernetes with ArgoCD. I had to do a non-trivial amount of work to tie all this together, but it's been fairly robust and has only needed a minimal amount of care and feeding.

> How do you define architecture?

Kubernetes charts for our services are in git, but there's some amount of extra stuff deployed (ingress controller, for example) that is documented in a text file

> How do you manage your environments

We don't need to deploy environments super often, so just do it manually and update documentation in the process if any variations are needed.

> observability

Datadog and sumologic.

Overall our setup doesn't come close to the setup I worked on at my last employer, but I have to balance time spent on devops infra with time spent on the product, and that setup took ~5 full time engineers to maintain.

rjst01··on EVGA power supply kills 22TB of customer storage then denies responsibility
Intel's SATA SSDs helpfully print on the label what voltages they use and the respective max current draw. Most only use 5V but I have a couple that use 5V and 12V.
rjst01··on Weird: Docker Registry returns 500 only from Vultr
We noticed this yesterday trying to release a minor bug fix. As of this morning it appears to still be broken.

It's hard to see how it could be anything other than an issue on Docker's side - we are seeing a 500 after all. I need to unblock development ASAP so for now the workaround for us has been to migrate our container registry to Azure.

rjst01··on Spark – A web micro framework for Java and Kotlin
A big advantage that Javalin and some of the other micro-frameworks have over Spring Boot have is that by picking Spring boot, you are also implicitly picking Spring's custom Java classloader and packaging, and Maven or Gradle as a build tool.

The tooling for building Spring Boot apps from other build systems like Bazel has problems, and while you can forego it and build your Spring Boot apps with Bazel's java_binary targets, you really don't want to.

Javalin by contrast is a plain boring Java dependency and you can pull it into any Java app with ease.

I do miss the better support for OpenAPI in Spring Boot though - Javalin's support is still missing a lot of functionality, but it is being very actively developed.

rjst01··on Parisians vote in favour of tripling parking costs for SUVs
SUVs are more profitable than "regular" cars. Therefore they are marketed more heavily. Consumer choice is obviously not entirely driven by marketing, but if it didn't have an impact, car companies wouldn't do it.

American automakers are obviously much further down this path, but European automakers don't have to pay for externalities either.

rjst01··on Parisians vote in favour of tripling parking costs for SUVs
Another factor is that car companies market SUVs heavily.
rjst01··on Parisians vote in favour of tripling parking costs for SUVs
Most eligible voters are probably not personally affected and so didn't see a need vote. A quorum would make it effectively impossible to change anything.
rjst01··on Microsoft Edge ignores user wishes, slurps tabs from Chrome without permission
Oh that's useful, thanks!
rjst01··on Microsoft Edge ignores user wishes, slurps tabs from Chrome without permission
I would be tempted to switch to edge for the sake of "super duper secure mode" [1] but they have violated my trust in so many ways that I can't bring myself to do it.

1: https://microsoftedge.github.io/edgevr/posts/Super-Duper-Sec...

rjst01··on Microsoft Edge ignores user wishes, slurps tabs from Chrome without permission
I've found myself setting up a new Windows install - sometimes VM, sometimes bare metal - every 4-8 weeks for the past 6 months and it's sooooo painful. My computer is a vehicle for getting work done - just let me use the damn thing.
rjst01··on Apple partly halts Beeper's iMessage app again, suggesting a long fight ahead
Every couple of weeks I will be added to a spam Telegram group, maybe once a month I'll get a spam or scam whatsapp.

I have had the occasional iMessage spam too but haven't seen that in years.

rjst01··on Apple partly halts Beeper's iMessage app again, suggesting a long fight ahead
Apple has on occasion done out-of-band patches for older devices to fix serious security issues, so it doesn't seem too unrealistic.
rjst01··on Untrusted Device Encryption
I've used dropbear-initramfs on both Debian and Ubuntu to remote-unlock hosts with encrypted root filesystems successfully. It'd be nice if it were better supported though.

https://www.cyberciti.biz/security/how-to-unlock-luks-using-...

rjst01··on I don't know why so many devs avoid a GUI for Git
100% agree with this. Personally I've been using SourceTree since before it was acquired by Atlassian. It's such a powerful tool because it instantly gives you a level of situational awareness that would take several commands to get from the command line.

I usually still make commits from the command line, but then review them in SourceTree before pushing. I also find it to be a much more straightforward interface for doing an interactive rebase.

Looking for a replacement has been on my to-do list for a while however, as Atlassian has kinda been letting it lagnuish.

rjst01··on An ex-Googler's guide to dev tools (2020)
I used to work on a code search tool. I have not had access to a dedicated code search tool in any of my ~5 roles since then and have not missed it.
rjst01··on Ask HN: Where do you host your own-domain email?
I love Fastmail for my personal email but the spam filtering leaves a lot to be desired.

For my startup we tried to use it but had to move because of deliverability issues.

rjst01··on Is primary OS a dealbreaker for you (when taking a new job)?
Dealbreaker? No, but strong negative signal. I have my own preferences and ways-of-working, and having to adjust these on top of all the other new things that come with a new company or team is a significant downside.

I've recently switched from daily-driving a mac to daily driving Linux on a Thinkpad, because for my startup I'm working on some Rust code that ends up being too much of a hassle to cross-compile, and the story for using GUI Linux in a VM on [edit: ARM64] macOS is not quite there yet. After 3 months I'm a lot more proficient than when I started, but I still feel so much less productive than I would be on a mac that I'm working on adding better abstractions to be able to mock out the stuff that doesn't build on macOS easily.

rjst01··on Terraform Cloud Pricing Changes Sticker Shock
At my last gig we built a bespoke version of this on top of our CI provider. Now i'm a technical co-founder in a startup and this is something I haven't quite solved yet, and this looks like exactly what we're after. Thanks!
rjst01··on Cicada – Open-source cross-platform version of GitHub Actions and Gitlab CI
It's definitely a much bigger challenge than it appears on the surface. But I think the space is due for a shake-up - the current crop of tools has been around for years now, and they all suffer from a broadly similar set of scalability and usability problems.
rjst01··on 400M PCs can't run Win 11: PIRG petitions Microsoft to extend Win 10 life
Which I purchased in 2020, at a time when it was the newest model available.
rjst01··on Microsoft seeks EU Digital Market Acts exemption for underdog apps like Edge
Eye of the beholder, sure, but I would argue that when my computer prompts me more than once not to do something that is my clearly expressed intent, that counts as aggressive.

Hell, it's less aggressive about prompting you not to run malware.

← PreviousPage 2 of 3Next →