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

Worth mentioning that someone else in the comments converted their large library of JPEGs to JPEG XL for exactly this reason and only realized afterwards that they lost a ton of image metadata from the EXIF tags. This probably isn't what you would assume would happen for a bulk 'lossless conversion' so if you're going to do this then make sure you're validating the metadata too (if it matters to you).

That's probably not the case. `cjxl` preserves metadata, but early on, some popular metadata extractors (exiftool, exiv2) silently ignored it.

I have no issue with EXIF here. Compressed JPEGs were reverted with zero data lost

Very confused by the article. Is memoization new to the eBPF world? Did the author only just learn about it and wanted to use it?

In reality, the article is about correctly caching a path:policy mapping while working within the limitations of eBPF and Linux filesystem semantics. If you read the article in that context rather than wondering 'what is new and interesting about memoization in eBPF?' it's a lot more interesting.

I probably would have titled this 'Calculating cache keys for filesystem paths in eBPF' or something, since that's the cool and interesting problem that was solved.


Definitely not new in eBPF or LSMs in general.

Edit: link to the SELinux kernel Access Vector Cache (AVC): https://elixir.bootlin.com/linux/v3.4.64/source/security/sel...


As someone who's used btrfs and zfs, btrfs today is still a pale imitation of what zfs was at launch. btrfs feels like people wanted to make a filesystem which had all the 'pretty neat' features of ZFS but without the tightly coupled management and benefits of ZFS (like volume management + RAID + encryption + compression all being managed through one tool).

btrfs ended up being basically a consumer version of a few of ZFS's most visible features - transparent compression, subvolumes, and copy-on-write - which then farms out the other most useful features - RAID + volume management + encryption - to the existing tooling. Makes sense for a smaller-scale project, no shade, but it definitely misses the mark if you've spent time on ZFS systems taking advantage of what ZFS has to offer (like recursive snapshots or vdevs).


I don't know the whole history of btrfs (although its primary maintainer was I think at Oracle at one point) but ZFS was definitely built from a hierarchical storage enterprise mindset.

Given different historical circumstances, it could probably have picked up more traction. But not sure what would change today even with an Oracle licensing change.


I borrowed a dyson vacuum once from a neighbour. Despite using it to vacuum my apartment after already having used my own vacuum, it filled up almost instantly with stuff my personal vacuum left in the carpet.

My current vacuum is a V15, and I like it a lot. It was expensive (and a gift), but it's very effective, has a lot of attachments to make it easier to clean upholstery/the carpet/a computer/drawers/hardwood/the window frames/whatever, comes with a wall mount that the cable connects to so you can just put it in the mount and it charges. The one issue I had seems to be a relatively well-understood issue with the electronics, which resulted in me having to spend another $100+ on a new housing - the electronics + motor + LCD screen + etc., basically the whole 'vacuum' part of the vacuum. Given how well it's treated my so far, though, I'm not too miffed.

Our last vacuum (which we still have) was a Miele, and while it was also fantastic it was far more of a pain in the ass since it's a plug-in with a bag vs. a cordless canister. The quality is similar, I think the Dyson is a bit better, but I use it exclusively because it's far easier to go get it, vacuum up a spill, and put it back. I know that's more of a comparison between canister and bag vaccums, but the fact that they're around as effective despite the dyson being a canister is I think a point in its favor.

Whether all of their stuff is as good, or only the more expensive stuff, I can't say.


Did you try a comparitivly priced professional hoover against it?


I bought a Dyson vacuum, or rather I was given one as a gift from my wife after she saw a joke twitter post about a man being happier about a new vacuum than the birth of his own kids. She gave it to me on Christmas Eve because I was about to vacuum the entire house with our old vacuum - which was also a fantastic vacuum, for the record.

My feedback:

1. It works great. I had to empty it several times because it was picking up so much more stuff than our existing vacuum did - mostly pet hair and the like.

2. It's the one with the little laser thing, which is a dumb little gimmick until you see it in action and then it's life-changing - if you're like me and find satisfaction in picking up every invisible crumb anywhere.

3. After a year and a bit, maybe less, it started misbehaving. It would suddenly turn off, then you'd have to let go of the trigger and pull it again; then it would work fine. Then it would happen a few times until it worked fine. Then it almost never worked fine. I kind of tolerated it for a while until I got fed up and googled the problem, and it was suggested to buy a new housing - the electronics plus the motor, basically the whole 'vacuum' part of the vacuum, which was only just over a hundred dollars direct from Dyson. Irritating to have to spend an extra hundred bucks to get my five hundred dollar vacuum working as expectred, but expected it to cost far more.

Would I recommend it? Not sure. It's very expensive, it works very well; it has a nice wall mount that charges it and which holds a small subset of the attachments it comes with. I'm glad I have it and I use it often.

Yes, it's plastic, but if it were, for example, steel or aluminium then it would be too heavy to use for any length of time. As it is, it feels very sturdy and has held up physically very well, but I'm obviously also not rough with it so there's no reason it would have any issues unless it were, in fact, cheaply or poorly made.


I've had this issue a few times. Took it apart and soaked/scrubbed anything without a pcb or wires coming out of it, and it worked fine after. Eventually the filter on the motor crumbled into dust (not suitable for picking up the dust from sanding paint off indoor walls). I tried to get the right one from Dyson but I ended up just grabbing something that looked like a distant cousin of the right filter off eBay and cut it into the right shape. It stopped working again after a few months, I was going to do the cleansing ceremony again, but then I dropped it and it started working fine again.

Going on 13 years now I think.


Concussive maintenance


The newer ones suck harder.


The trigger has a deliberate defect where it has the least possible amount of material right at the weakest most leveraged part.

It's a cheap part to replace. It also means a complete disassembly! A lot of it isn't hard but there are some wires that have to snake around, and popping out certain things requires some scary use of force. It took like 3 hours to do for mine.

Also these things don't seem to be great at battery maintenance. I forget how long that took me but it didn't leave any scars, I think it was easy. Just, more expensive. Less so now that batteries are cheaper. But I have my suspicion that their float charge mode is maybe not good & injured batteries. I specifically avoided that but still had issues.

The trigger really made me mad when I finally dug it out of mine. It was such a blatantly obviously designed-to-fail system. It really makes me super distrust this company.


It supports a dark theme but then you can't see 90% of what it actually does because drop shadows on dark backgrounds just plain don't work.


I'm in favor of removing 32-bit dependencies from steam-the-application, except that you still need 32-bit libraries to run 32-bit games in Wine.

Having steam depend on those libraries directly means that when you install you get all the libraries you'll need and you won't run into issues later on when you go to run a 32-bit game and it can't load the appropriate 32-bit system libraries for you. It's annoying for sure but it simplifies the user experience dramatically (especially if you're just installing Steam directly on Ubuntu or something).


This is why Windows still ships 32bit libraries, after all these years.


While I agree with a lot of what he says (complexity and layers of abstraction impact performance), it's probably worth noting that his examples are not necessarily relevant to all software.

Does my web browser feel slow because of pointer indirection or virtual function calls? Or is it because I have to download 15 MB of Javascript to load this page, which then goes out to 35 other domains to fetch other Javascript and ads and CSS?

In the insanely tight compute loop that he's looking at all of those things definitely make a difference, but a lot of software is slow not because it's inefficiently written (which it probably is) but because it's inefficiently designed and it's doing too much.

In a game engine, where you have 16ms to do 100% of your simulation work, update all your state, and then send all the data out to be rendered, definitely this sort of thing is an issue. In an Electron app? There are a thousand other things that are wasting far more of your time and responsiveness than the misguided 'cleanliness' of your code.


Counterpoint. I have a Dell laptop from 2017 at work. I keep it around for plugging in to network equipment and that sort of thing. I've had Win 11 on it for the last few years, and it was getting unusably slow. Also, the battery, even though replaced in the last year, would only last about an hour of normal use. I had a similar belief about browsers and the web. No matter how light your OS, the browser and web experience is the bottleneck. But then a couple weeks ago, I installed Arch and IceWM with Firefox. What a difference. The thing is snappy, even in the browser. And the battery lasts all day. I was blown away.


Did the same in 2012 with hp 2510p that had windows vista pre installed on it. I could literally brew a cup of coffee and make it halfway through while this poor boy was booting up.

Bit the bullet, installed arch and dwm. I remember my initial impressions on how fast the boot went, how silent the hdd is, how the whole things works reporting just a fraction of RAM in use(right after boot).

It was the first hands-on YAGNI experience. Windows(and macos and the likes of ubuntu) loads and starts everything it has and keeps the system busy at all times in terms of cpu, disk io, network io.

Barebone linux without beefy desktop environment was like “I boot into essentials and will lazy load anything upon request”.


Exactly this. It's the design and architecture where the bloat is. Not the need for some microoptimization..


The video is exactly about design and architecture and not even slightly about microoptimization. How do you have it completely inverted?


Part of the reason a Chinese invasion of Taiwan seems more realistic is Trump being a sycophant towards any dictator who will give him the time of day, including Xi Jinping.

It's not impossible, but I feel as though if Trump decides that China is friends and Taiwan is enemies (as he seems to have done with North/South Korea lately) then Taiwanese refugees might not be as eager to move to the US as, say, Canada, Australia, or Europe.


A few years ago I decided I was going to get some fresh air by going and working on the (south-facing) deck. Put my phone and drink outside, went back to get my laptop, brought it outside.

Outside was too bright for me to see my laptop screen even at full brightness, but by the time I had it outside and had discovered that my phone had overheated so much it refused to turn on until it cooled down.

At least my drink was still cold.


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

Search: