Recent submissions

Comment · 2 months ago
I think Go is more commonly used in modern microservice architectures rather than in older monolithic architectures where the kind of Java code you're describing happens. Might have some impact on the level of complexity that can get out of hand.

In the Go codebases I have worked on, generics were not overused IMHO. It did allow us to get rid of some type specific helper functions and made collection based operations like sorting a lot nicer to work with.

Comment · 2 months ago
It's not weird, it's because we define wealth in terms of buying IKEA furniture that we are considered much wealthier than the past. If the affordability of handmade goods or services were the measure of wealth, then perhaps we are much poorer today. I can see how each viewpoint exhibits some contradicting insights.
Comment · 5 months ago
I think it's a little more complicated than that. In a 50 First Dates type of scenario, their ability to form certain types of memories is damaged, not non-existent. And I would argue that with enough brain damage someone like an extreme lobotomy victim may stop being considered conscious.
Comment · 5 months ago
I'm more interested in what a virtual body would entail. To me the root of this idea is around persistent state which is something that currently LLMs do not have. Imagine if somehow your brain lacked long-term memory forming capabilities and instead each day when you woke up you had to read a notebook with (markdown formatted) instructions that you wrote the day before? I wouldn't be surprised if such a person lacked in many of the dimensions we consider important for consciousness, even in less sophisticated forms of life like dogs or mice.
Comment · 5 months ago
Something I've found under discussed when it comes to artificial consciousness is how LLMs interact with the passage of time. I don't know exactly how to articulate this idea but don't see how something which takes an input, performs a calculation and stops can be considered conscious regardless of how life-like the responses end up being. I don't see context windows or the ability to reference a clock each time they are triggered as sufficient solutions. It makes me wonder what an AI system that is ON by default would look like.
Comment · 5 months ago
It's only declaration by fiat if you stop reading at the end of the title. Should authors add a qualifier like in my opinion to every statement that they make?

The essay structure you're criticizing is exactly how I was taught to write from primary school through to university. You start with a title or hook, introduce the topic and propose a thesis. That is followed up upon with supporting arguments for the primary claim.

Comment · 5 months ago
What makes you say that? Chinese EVs?
Comment · 11 months ago

  Location: Toronto, Canada
  Remote: Yes (Also open to on-site)
  Willing to relocate: Yes
  Technologies: Go, Node.js, React, Vue, TypeScript, C#, Laravel, Docker, PostgreSQL
  Resume/LinkedIn: https://www.linkedin.com/in/erikberkundrevnig/
Comment · 1 year ago
I created a small library for handling graceful shutdowns in my projects: https://github.com/eberkund/graceful

I find that I typically have a few services that I need to start-up and sometimes they have different mechanisms for start-up and shutdown. Sometimes you need to instantiate an object first, sometimes you have a context you want to cancel, other times you have a "Stop" method to call.

I designed the library to help my consolidate this all in one place with a unified API.

Comment · 1 year ago
I assisted a past company with transition from Jenkins to GitHub Actions and some of the things you mentioned also came up for us although we did not self-host. It's been a while but I'll try to comment to the best of my recollection.

I think Jenkins makes it easier to support some less than ideal patterns because of how customizable it is.

Tracking the % of test failures across builds and normalizing failing tests rather than treating even one test failure as a critical issue that blocks the build. For test coverage we had to introduce a 3rd party tool like CodeCov or Coveralls.

I have rarely found it necessary to trigger CI workflow for a past commit. Even without dispatch parameters, you can rerun failed jobs from the web UI. If you are using workflows to deploy artifacts then I found it more straightforward to separate the testing and generation of artifacts from their deployment. So instead of building a testing, building and deploying a container all in one workflow you would instead store your artifacts in a central location and then specify the tag that you wish to deploy without rebuilding.

I also found that because we were self-hosting Jenkins and additional instances to run CI are relatively affordable there was very little emphasis put on performance and efficiency so over the years this had led up to almost 1 hour builds per commit which added up when multiplied across many developers and open PRs. I found that by splitting some repos and consolidating others we could bring this down substantially.

Also I am not sure if you're aware but there are some 3rd party managed GitHub Actions providers out there which make work as a compromise for you between hosting your own and using the runners provided by GitHub.

Comment · 1 year ago
Is it possible to specify tags to use to install tools specified with the tools directive?

I tried the following but it doesn't seem to work (it installs without the tags):

  go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
Comment · 2 years ago
I would say they are similar but the focus is more on controlling everything through Git rather than IaC which leaves this ambiguous and can require updating the Git repo and then visiting a dashboard to press a button to check the repo and apply it.

Once you dig deep enough into many tech buzzwords you'll find that that different people can mean slightly different things with the same words. Some may consider special PR comments to control infrastructure operations as a form of GitOps because what would otherwise be a button in a dashboard now lives alongside the Git history in GitHub.

Comment · 2 years ago
The rest of the world also printed a lot of money. In a globalized economy inflation does remain isolated in the country that it originates in. Especially when the country has a lot of exports.

Normally the exchange rate divergence could be countered by increasing interest rates in the country with the weakening currency. But today it appears most countries are not willing to do this to the extent necessary.

Comment · 2 years ago
Try 99.99%

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton