HNHacker News
TopNewBestAskShowJobs

bergheim

675 karma · joined August 3, 2011

Hello. I have a non-existing website at https://thomasbergheim.com and I like emacs
submissionscomments
bergheim··on Everything that's wrong with Google Search in one image
Everything that is wrong about bullshit webpages that are SoMe optimized: I could not zoom because eyeballs so I couldn't see what was in the image.

But daaaaamn. I could see that footer all the time. Lucky I was not able to zoom.

bergheim··on Less is safer: Reducing the risk of supply chain attacks
> Obsidian has a low number of dependencies compared to other apps in our category

Whataboutism. Relative comparisons don't address absolute risk. I checked three random packages: prism pulls 22, remark pulls 51, pixijs 179! So that's 250+ transitive dependencies just from those.

> Features like Bases and Canvas were implemented from scratch instead of importing off-the-shelf libraries. This gives us full control over what runs in Obsidian.

Full control? There are still hundreds of dependencies.

> This approach keeps our dependency graph shallow with few sub-dependencies. A smaller surface area lowers the chance of a malicious update slipping through.

Really? Again, this is just one package: https://npmgraph.js.org/?q=pixijs

> The other packages help us build the app and never ship to users, e.g. esbuild or eslint.

Build tools like esbuild don't ship to users, but a compromised build tool can still inject malicious code during compilation. This is supply chain security 101.

> All dependencies are strictly version-pinned and committed with a lockfile

Version pinning is, I would hope, standard practice in any professional development team years and years ago. It prevents accidental updates but doesn't stop compromised existing versions.

> When we do dependency updates, we: > [snip]

While these practices are better than nothing, they don't fundamentally address the core issue.

> That gap acts as an early-warning window: the community and security researchers often detect malicious versions quickly

According to whom? Heartbleed, a vulnerability in a package with far more scrutiny than a typical npm module took what, 2 years to be found? The "community detection" assumption is flawed.

I'm not trying to put Obsidian down here - I sympathize, aside from implementing everything themselves, what can they do! I'm trying to point out that while their intent is good, this is a serious problem and their solution is not a solution.

Of course, it's the same in any project with dependencies. It's the same in other languages as well - if they have a convenient package manager. Like Rust and Cargo.

This problem came with the convenience of package managers and it should be fixed there, not by every application like Obsidian. I'm not sure how but maybe once a package is starting to become popular, additional security measures must be put in place for the author to be able to continue to commit to it. Signing requirements, reproducible builds, 2fa, community reputation systems, who knows.

Individual applications can't solve supply chain security through wishful thinking and version pinning.

Package managers need to solve this at the infrastructure level through measures like mandatory code signing, automated security auditing, dependency isolation, or similar system level approaches.

Obsidian's practices are reasonable given the current tooling limitations, but they don't eliminate the fundamental risks that the package managers bring to modern dependency ecosystems.

bergheim··on KDE is now my favorite desktop
This is an opinion stated as fact. KDE is mostly for dads that like a mouse oriented Windows/mac like OS but with buttons to customize.

Sway, exwm etc are for power users.

If you aren't in that category, you may not like it or may find it to be not worth the time investment in.

10/10 gatekeeping buddy.

bergheim··on Claude Code: Now in Beta in Zed
This has to be a joke.

No one ever closes emacs.

bergheim··on Zed: High-performance AI Code Editor
It's amazing. Just like you keep repeating full turbo, I hope we all go full turbo, all the time! Who needs thoughtful care in these things anyway, that's for another day! Lets goooo
bergheim··on Buffett to step down following six-decade run atop Berkshire
> They also based all their decision in facts, truth and science

What? She shut down nuclear power plants to ramp up coal and Russian dependence.

Idolizing people is rarely helpful.

bergheim··on Qwen3: Think deeper, act faster
> That would literally change the art world forever.

In what world? Some small percentage up or who knows, and _that_ revolutionized art? Not a few years ago, but now, this.

Wow.

bergheim··on Firefox Is Finally (Re)Adding Support for Web Apps
Agreed. These who would rather use a browser from an Orwellian company are not hackers. They are tools.
bergheim··on Firefox Is Finally (Re)Adding Support for Web Apps
Every time Mozilla is on here people go crazy.

And they wrote their comment using Chrome or some skin. Which they have used for a decade. Because the button on the left seemed off on Firefox compared to Chrome (always something). So fuck Firefox.

On hacker news.

Crazy.

bergheim··on Claude for Desktop
Uuuh.. so take all my data, as long as it's native?
bergheim··on New Mac Mini with M4
So that's why a tram just drove into an apple store today [1].

(4 got just minor damages, miraculously)

1: https://www.theguardian.com/world/2024/oct/29/tram-derails-a...

bergheim··on Emacs: Contextual Interfaces in Casual Calc
Creating the menu is hardly the issue. Knowing the API of the package and setting good ergonomic keybindings is.
bergheim··on I Created 175 Fonts Using Rust
In that case I encourage you to read up on da Vinci (and not some top 10 dV creations post). It is clear that there was quite a big distinction.

I can model a spacecraft that will take me to Alpha Centauri with "questionable" untested dynamics in Maya. But I am pretty far off from building it and sending it into interstellar space.

Pretty (and imaginitive) drawings though.

bergheim··on Zed, a collaborative code editor, is now open source
Elpaca [1] does not do this. I use it and it works a treat.

1: https://github.com/progfolio/elpaca

bergheim··on Quake related work logs (1996)
It was.
bergheim··on Quake related work logs (1996)
Looking at his format, I can't help but think what could have been if he had only used org-mode instead!

iD software would never have become anything of note, of course. Obsessing over his emacs config, but missing C, and so becoming the master of the C core. We would probably never have heard of anything like "long lines mode".

Growing up with the iD games, I am not so sure what I would prefer anymore. Actually I think I would have preferred the latter. Which is almost sad. A wild testament to emacs, to be sure.

(yes I know these posts predate it)

bergheim··on Llama2.c: Inference llama 2 in one file of pure C
It's been a while since I looked at some random source code and though hey this is nice. This is also how code comments should be - I could follow it all because of them. Not too many or obvious ones, and not too few. I even got a chuckle from "poor man's C argparse".

Bravo!

bergheim··on Ask HN: Do Emacs users feel as stuck without Emacs, as Vim users do with Vim?
Sure, but there are things you can do to improve this. Browserplugins and others. See for instance:

https://github.com/zachcurry/emacs-anywhere https://github.com/cknadler/vim-anywhere

bergheim··on Ask HN: What are your favorite sci-fi books?
I read Snow Crash growing up. It is a wonderful weird cyberpunk novel that (metaverse aside, unfortunately) turned out to be kind of Nostradamusly. Easy read. Higly recommended!
bergheim··on YouTuber who staged plane crash faces up to 20 years jail
This is a strange take. So what if it is more effort. I remember as a member of my cooperatives board, I was reading a lot of what-ifs. One was that if spikes of ice fell down and killed someone on the street, and it happened because of neglilence on the boards side, we would absolutely be under the gun.

The board should be responsible. You don't get to make $200m a year and just brush hundreds of lives off as a whoops.

bergheim··on Ask HN: What is the best product documentation you’ve ever seen?
The elixir docs. Much is generated from the code itself (the language "requires" it, so up to date), with very nice interlinking to functions etc.

https://elixir-lang.org/docs.html

bergheim··on Ask HN: Small scripts, hacks and automations you're proud of?
Years and years ago I wrote chrome and firefox history commands [1]. Not proud of it, but it is more useful than I thought they would be, because well, they all want you to use google, so local search sucks. Easy to integrate with rofi, emacs etc.

Sometimes on another computer I would think "what was that URL again..?" and just SSH into that computer and execute the command.

[1]: https://github.com/bergheim/dotfiles/blob/a525b216c7404a4332...

bergheim··on Steam Deck: First Anniversary
you.. carry a monitor? how is a steam deck, a keyboard and a monitor better than just having a laptop? also how does the monitor survive this, do you put in in the original box?

and if so, how big is your luggage? :)

bergheim··on Revisiting KDE
Uhm. For once, it's... totally unsupported, and nothing runs on it anymore?
bergheim··on Revisiting KDE
I LOVED KDE 3.5. Holy smokes that was a good experience for me growing up. 4 made me switch, and years later, I tried KDE 5 (last year). And eh, I really tried for two weeks. That was super annoying, and coming back to i3 just felt like finally getting air.

It was slow, things didn't work, and weird. I totally understand that people would use gnome or kde and call it a day, because it is much easier to get going with. But if you think you should invest time into your interface I would say try other things as well.

Still lots of other good things from the kde project though!

bergheim··on Revisiting KDE
Really? Bar none? Better than evil?
bergheim··on Sim Wong Hoo has died
Wow. I will always remember when I got the AWE32. I had a SB16 which was still great before that. I switched to the AWE32, and remember fighting with my computer get any audio going at all, and wanting to play Day of the Tentacle [1] with this new upgraded magic. After messing around with config.sys and autoexec.bat for hours thinking this was some kind of IRQ "LOTR issue I would defeat", I found my speaker to be just not plugged in correctly. Fixed that in shame. I then started to play DOTT in AWE.

One of my best memories growing up. RIP.

[1] https://www.youtube.com/watch?v=2BRXmgcBHBM

bergheim··on Emacs 29 is nigh
I use mu4e. As an example, the code for the subject thing is here https://github.com/bergheim/dotfiles/blob/025b8e6c9730f09fe1...
bergheim··on Emacs 29 is nigh
> Emacs had a GUI and mouse support forever on Windows.

Emacs did not invent the mouse cursor interface.

> It was “bloated and slow”.

This comes from not understanding how emacs works. Yes, it has games, no, it is not loaded until you load it. It means nothing, it does not mean bloat.

> I think we’re just missing each other here. The best features of eMacs spread to other editors.

I think we might - it's Emacs not eMacs.

> As for the scenario, I don’t see that as a hellish situation. I’ve been using vim for a while. Im actually ok at it.

Great! I love vim. In fact I used it for 15 years before switching. I would not be using emacs as my everything if evil-mode was not a thing.

> Do I regret learning it? Hell yeah. Lol. But at least I got vim mode to soothe the wound a little

Sometimes I think the same thing.. Everytime there is no vi mode I get annoyed. I try to be open to new software, but cua-mode (or default emacs keys) is not it for me.

bergheim··on Emacs 29 is nigh
That's my point. How did emacs influence this? Emacs is nothing like that. If anything, emacs has failed. Everything else is either proprietary or company/plugin based. And mouse based.

Imagine spending 8 hours a day for the rest of your life and you still want a cursor based popup telling you what you might or might not want to do instead of having muscle memory of what you do.

← PreviousPage 3 of 5Next →