Hacker Newsnew | past | comments | ask | show | jobs | submit | athoscouto's commentslogin

Nice! Would love to see Azure Document Intelligence on this


I've seen chefs arguing the other way around. You have to apply more pressure when using duller knives, this means less control and less safety.


I agree, but this is more about stopping when you get hurt. I cook everyday and hurt myself only with very sharp knifes as I couldn't feel when the knife was about to cut my skin.


That's an issue of skill and technique.

For trained chefs, the sharper blade means things stay in place as expected, because the weight and motion of the blade are cutting, and not force exerted.

Related: I watch chefs use a mandolin, no freaking way I'd use it the way they do. I just do not have the skills necessary to free hand it. I will use a safety glove and/or a guard.


Agreed that you can have real individual ownership. Not only that, I think that is the only way to be really "productive".

But I think that is beside the point.

Individuals are not fungible, but team members are - or at least can be, depending on how you structure your teams.

And as your org grows, you want predictability on a team level. Skipping a bunch of reasoning steps, this means having somewhat fungible team members, to give you redundancy.

The engineering parallel here is the tradeoff between resilience and efficiency. You can make a system more reliable by adding redundancy. You make a system more efficient by removing redundancy.


I blame Agile and the like for fucking up individual ownership by treating every engineer and every task interchangeable. You can't build expertise by working on a different type of task every sprint...


Yes. See update 2 FTA for a 2019 study on go concurrency bugs. Most go devs that I know consider using higher level synchronization mechanisms the right way to go (pun intended). sync.WaitGroup and errgroup are two common used options.


I wonder how keys are assigned to rows and how the adjudicator is shared.

The author also mentions a leader adjudicator, which means there is probably some sort of coordination to pick a leader. This raises the question of how a leader is picked, and if leadership changes based on how hot a key is in a given AZ.

This blog series is a great read. Every day Marc drops excellent content and leaves room for questions, which he ends up answering on the following days. Hope more details come next.


Neat design! The coolest insight, IMO:

> We’ve learned from building and operating large-scale systems for nearly two decades that coordination and locking get in the way of scalability, latency, and reliability for systems of all sizes. In fact, avoiding unnecessary coordination is the fundamental enabler for scaling in distributed systems

I hope there is a follow-up since the points the author only glossed over are important to understanding the architecture and trade-offs. I would like to know about the cross-adjudicator coordination protocol and how the journal works.

From the information available, it seems that DSQL should be pretty fast as long as you keep writes local. Once you add active-active replication and start writing to the same key in different regions the coordination costs should slow the system down significantly (or not - but if that is the case I want to know how they managed to do it).


Nice! Two questions for me to follow up later:

- How the OS knows it can clean up an inode after a hard link is deleted? The post mentioned inodes don't see hard links

- What does it mean to have a dead/dangling soft link?


A symlink can point to anything, including a file that doesn't exist:

  [~] 0 $ mkdir tmp/demo
  [~] 0 $ cd tmp/demo
  [demo] 0 $ ln -s foo bar
  [demo] 0 $ ls -l
  total 1
  lrwxrwxrwx 1 user users 3 Nov 15 12:14 bar -> foo
  [demo] 0 $ cat bar
  cat: bar: No such file or directory
  [demo] 1 $ echo foo > foo
  [demo] 0 $ ls -l
  total 2
  lrwxrwxrwx 1 user users 3 Nov 15 12:14 bar -> foo
  -rw-r--r-- 1 user users 4 Nov 15 12:14 foo
  [demo] 0 $ cat bar
  foo
  [demo] 0 $ rm foo
  [demo] 0 $ cat bar
  cat: bar: No such file or directory
  [demo] 1 $ ls -l
  total 1
  lrwxrwxrwx 1 user users 3 Nov 15 12:14 bar -> foo
  [demo] 0 $
What you can't see because this is flat text is that in my terminal the first and last "bar -> foo" are red because ls is warning me that that link points to a file that doesn't exist.


1. This depends on the filesystem. For ext2/3/4 (and many others) there is a reference count maintained in the first inode of the file. You can usually see this count in the output of "ls -l", between the perms and ownership columns. If someone goes wrong and the count isn't decremented properly (due to a system crash while the inode is being updated) or is otherwise corrupt, the space allocated to the object may never be released when it is deleted because the count will never reach zero. This is one of the checks/fixes fsck.ext* does when run. If the count is somehow too low the content could be deallocated too early, resulting in corruption (the remaining link(s) ending up pointing to the wrong data when the inode is eventually refused). Again fsck can detect this, but only if it is not too late and things are already mislinked or some of the space relocated.

2. A dangling soft link points to nothing valid. If you try to access it in a way that would normally give you the object it points to there will be a not found error. If a new object of the destination name appears the link will start to work again but give the new content. If relative links are moved around out of step with what they point to this can cause significant confusion. This is not filesystem level corruption that fsck can/will check for.


For 1, the inode probably has a reference count that's incremented when creating a hard link and decremented when deleting one. If the count is 0, the inode can be deleted.


This is correct, for ext2 at least. See [0], bytes 26 and 27

[0] https://wiki.osdev.org/Ext2#Inode_Data_Structure


I know its required to store this count such that the filesystem would know when it can actually delete the inode, but isn't this half-way to making the inode aware of the paths pointing to it?


AFAIK between two hard links, both are equal. None is more "the real" file than the other.


You can point at softlink at any path, even one that doesn’t exist. Create a regular file, now softlink to it, delete the regular file - now your softlink is dead.


I grew up finding those glasses the most horrible thing. Even though they were always popular, they became fashionable recently when new sizes were introduced.

I somehow started to find they kind of beautiful when I worked at a company that only had pint-sized American glasses at their office. Now most cups in my house have this design. They are dirty cheap and very easy to replace.


People in Brazil do. In fact, 10°C would make most Brazilians complain that the beer is too warm


Wow, that brings back memories! foobar2000 was my go to player. I used to spend hours curating all my folders with albums and playlists. Funny how fast I switched to a streaming platform when they became widely available around here.


> foobar2000 was my go to player

It is still my go to player, it works great in Windows 10.


And it has iOS/Android versions too, which is great if you still prefer file-based players: https://www.foobar2000.org/mobile


I can recommend Blackplayer to fill that niche in a more modern (yet still simplistic) way. I don't see it mentioned much but it is regularly updated and extremely feature-dense.


It's my go-to in macOS 14.5 as well. I tolerate using Spotify as a player for it's library. A plain list is all I actually want 99% of the time.


I haven't consumed audio and video from files for a while now. Streaming has become so convenient (partly because of internet prices and availability) that I don't see myself coming back.


I hear this a lot. I find it always leaves me bemused.

The main time I want music is at times when I can't stream: for instance, when travelling, especially when on planes.

I specifically want my own music for when I don't have internet. When I do have internet, I mostly listen to digital radio.

I have no streaming accounts with anyone, except free accounts. I do not have any payment method set up on my Apple account, and I never have in the ~28 years I had the account. I don't pay for wifi or other additional connectivity, either.

I keep a local library of MP3s on my phones, and videos on my set-top computer. I use Foobar for music on my phone, and VLC for video on my STB.

It's a bit odd to me that what was hi-tech is now almost Luddite in its refusal of novelty.

I really don't see how paying subscriptions for access to stuff that I don't own is any kind of improvement.


It can be great for checking out stuff, like a membership to some club or a library. As soon as I find something I like, I need it to be locally so I can listen without tracking and possible interference by third-parties. And browsing a curated collection is calmer than searching in those apps.


Sure, but a free Spotify or Youtube account lets me do that no problem. No need to pay for anything, no need for Apple Music or whatever.


How do you even buy music these days? I know of Bandcamp but its kind of limited in the selection.


Well, anachronistic as it may seem, I buy physical media, and rip them. I know it sounds very 20th century, but it works, you really own the stuff in an irrevocable sort of way, and second-hand CDs and DVDs are really cheap these days. I fill about 75% of a 128GB SD card with MP3s.

I like paper books, too. I have many thousands of them.


How do you even buy music these days?


There are times when songs from streaming platforms go away or I get somehow reminded of one very old song from some unknown band that's still somewhere on my hard disk, that I think about going back. I love to have all my songs in one single playlist and then just have them on random. I remember having that from my saved files and then some of those very rare songs come up every now and then. It feels somewhat magical. There are a handful of songs that barely any people know, but they trigger some very nice memories.

I think soon (tm) I'll go back. Yes, streaming is convenient, but the algorithm is just unable to recommend me such rare treasures


Hey, I'm a "one giant playlist on shuffle" person too! :D


Streaming is convenient but their interface is not the greatest for curation and focus listening. Especially with their “lots of whitespace” design. There’s a reason we have list and tables in managers like itunes, calibre and file explorers. I tried adding my favorite albums to Apple Music and it quickly became untenable. Spotify is also awful for that. I have ~500 albums in my main library and various series and collection and it’s a breeze to manage, browse and listen with MPD, MOC, beets, Kid3 and the file explorer.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: