Recent submissions

Comment · 9 months ago
I recently created a static site with technical documentation using Antora. Antora uses asciidoc source that it pulls from git repositories. It has a lunr extension for search. It took some time to get familiar with the setup, but I find it very nice to work with. I use it for the documentation of a set of code libraries, and it is a really good fit for that.
Comment · 1 year ago
A good course will teach you everything on a topic in a structured way. Personally I believe there is a lot more value in well-structured material than in a bunch of responses on rather ad-hoc questions to ChatGPT. Also be aware that not everything ChatGPT answers, is correct. In the case of a decent course, one can assume that the information is correct.

I feel this is similar to asking whether there would be value in paying for a well-written book on a topic, compared to just searching and reading information online on that topic, be it official documentation, or be it third-party information from blog posts, other articles.

In my opinion, a well-written course or book will give you a much deeper knowledge in a much more efficient way than what you get from ChatGPT or from searching the internet.

Comment · 1 year ago
Email is one of the few protocols that was designed out of the box to be decentralized, that in the mean time is implemented by a lot of big tech players and that has stayed compatible for communication between accounts at one of those big tech players. And that is also the reason it won't disappear soon.

And aside from that, what the article mentioned is human error. And honestly, I do not think that other online communication protocols will eliminate human errors.

Comment · 1 year ago
A lot of big words in the summary (reimagine, crafting tools, transformative functionality, smoother workflow, push beyond typical CI/CD boundaries, empower developers, ...) and still, with that summary I have no clue what exactly this thing does.

Context: I am very familiar with several JetBrains IDEs and CI/CD in general, and a bit with GitHub Actions.

Please, can someone describe in a couple of sentences what this actually does?

Comment · 1 year ago
> There's something that seems very satisfying about loading software from tape, too.

Uhhh.. as someone who used to load software from tape on a CPC 464 ages ago, I can tell you that it was painfully slow. Nothing satisfying about it for me...

Comment · 1 year ago
As a software engineer, I insist on giving developers high-end laptops. The reason is very simple: a lot of development environments are very heavy to run, and developers should not waste time on their development tools running slowly. I also don't want developers to disable tools that are meant to keep an eye on the quality of the code. High-end laptops generally serve well for development for up to 5 years.

Developing on high-end laptops should definitely not be an excuse to deliver slow software, and in the teams I work in, we do pay attention to performance. You are right though, a lot of software is a lot slower than it should be and my opinion is that the reason is often developers that lack fairly basic knowledge about data structures, algorithms, databases, latency,... One could say that time pressure on the project could also play a role, but I strongly believe that lack of knowledge plays a much bigger role.

Now, aside from that, also keep in mind that users (or the product owner) become more and more demanding about what software can and should do (deservedly or not). The more a piece of software must do, the more complex the code becomes and the more difficult it becomes to keep it in a good state.

Lastly, in my humble opinion, the lowest range budget laptops are simply not worth buying, even for less demanding users. I think that most users on a low budget would be better off with a second-hand middle or high range laptop for the same price. (I am talking here about laptops that people expect to run Windows on, no experience with Chromebooks.)

Comment · 2 years ago
Ok, I agree, if there is enough (ad-hoc) communication within the team, you don’t need those meetings every day.
Comment · 2 years ago
I think one should not use advanced language features just because, but I also think one should not avoid using advanced language features where it is useful.

Why would the code base be worse when advanced language features are used?

Comment · 2 years ago
I don’t understand your comment: if you develop software as a team, it seems important to communicate and to know what the others in your team are working on?

Also, I really don’t see it as ‘social’ meeting, to me it’s a focused technical meeting about the work that is going on.

Comment · 2 years ago
> Because all the code I write is high quality…

That is a big claim to make…

I do follow you on the complexity of code and that good code should avoid unnecessary complexity (‘unnecessary’ being key here).

Comment · 2 years ago
When I read about people using AI to write code, it always seems to me that it would be a lot faster and less hassle if they would write the code themselves, without even considering the fact that it would give them more experience and make them better.

I have used some of those tools myself, and for the code that I could use help of an AI tool, I, again and again, receive junk: code that looks plausible but that does not compile, uses apis or libraries that do not exist and so on. In the end, it just made me waste time.

Comment · 2 years ago
> Sounds kinda cursed, but running something like Debian sid sucks because there's not many other people doing that.

I am not sure that is correct. I think it is very common for (experienced) people that run Debian to use Debian Testing or Debian Unstable on the desktop and Debian Stable on servers.

Personally, I run Debian Testing with selected packages from Unstable. I rarely have problems with that setup.

Comment · 2 years ago
I really like to work with snapshot isolation and rarely have any problems with it, but you do have to be aware what guarantees it gives and does not give.

In the example given in the article, there would not be a problem if the links on the removed node would be reset (which is cleaner imho) as then an update conflict would be triggered.

When using snapshot isolation, I sometimes implement ‘dummy’ updates (using a version field for example) on ‘root’ objects to trigger update conflicts when concurrent updates must be prevented to data linked to that same ‘root’ object. (This is similar to implementing optimistic locking using a version field on a root object.)

Comment · 2 years ago
Well… if you know the data is real, then knowing everything about that someone can seriously limit the number of people it could actually be, which makes that someone identifiable.

Like if you only know the full address, and you see that only one person lives at that address. Or you know the exact birthdate and the school that someone went to. Or the year of birth and the small shop that the person works for. And so on…

Comment · 2 years ago
For a lot of projects, I have 2 worktrees, where one is for my own work on the project, and the other one is for reviewing other people's code.

That means that I can easily do a review (I like having the code open in my IDE during a review), without having to stash my own work.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton