frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Is the Detachment in the Room? – Agents, Cruelty, and Empathy

https://hailey.at/posts/3mear2n7v3k2r
1•carnevalem•12s ago•0 comments

The purpose of Continuous Integration is to fail

https://blog.nix-ci.com/post/2026-02-05_the-purpose-of-ci-is-to-fail
1•zdw•2m ago•0 comments

Apfelstrudel: Live coding music environment with AI agent chat

https://github.com/rcarmo/apfelstrudel
1•rcarmo•3m ago•0 comments

What Is Stoicism?

https://stoacentral.com/guides/what-is-stoicism
3•0xmattf•3m ago•0 comments

What happens when a neighborhood is built around a farm

https://grist.org/cities/what-happens-when-a-neighborhood-is-built-around-a-farm/
1•Brajeshwar•4m ago•0 comments

Every major galaxy is speeding away from the Milky Way, except one

https://www.livescience.com/space/cosmology/every-major-galaxy-is-speeding-away-from-the-milky-wa...
2•Brajeshwar•4m ago•0 comments

Extreme Inequality Presages the Revolt Against It

https://www.noemamag.com/extreme-inequality-presages-the-revolt-against-it/
1•Brajeshwar•4m ago•0 comments

There's no such thing as "tech" (Ten years later)

1•dtjb•5m ago•0 comments

What Really Killed Flash Player: A Six-Year Campaign of Deliberate Platform Work

https://medium.com/@aglaforge/what-really-killed-flash-player-a-six-year-campaign-of-deliberate-p...
1•jbegley•5m ago•0 comments

Ask HN: Anyone orchestrating multiple AI coding agents in parallel?

1•buildingwdavid•7m ago•0 comments

Show HN: Knowledge-Bank

https://github.com/gabrywu-public/knowledge-bank
1•gabrywu•12m ago•0 comments

Show HN: The Codeverse Hub Linux

https://github.com/TheCodeVerseHub/CodeVerseLinuxDistro
3•sinisterMage•13m ago•2 comments

Take a trip to Japan's Dododo Land, the most irritating place on Earth

https://soranews24.com/2026/02/07/take-a-trip-to-japans-dododo-land-the-most-irritating-place-on-...
2•zdw•13m ago•0 comments

British drivers over 70 to face eye tests every three years

https://www.bbc.com/news/articles/c205nxy0p31o
15•bookofjoe•14m ago•5 comments

BookTalk: A Reading Companion That Captures Your Voice

https://github.com/bramses/BookTalk
1•_bramses•15m ago•0 comments

Is AI "good" yet? – tracking HN's sentiment on AI coding

https://www.is-ai-good-yet.com/#home
2•ilyaizen•15m ago•1 comments

Show HN: Amdb – Tree-sitter based memory for AI agents (Rust)

https://github.com/BETAER-08/amdb
1•try_betaer•16m ago•0 comments

OpenClaw Partners with VirusTotal for Skill Security

https://openclaw.ai/blog/virustotal-partnership
2•anhxuan•16m ago•0 comments

Show HN: Seedance 2.0 Release

https://seedancy2.com/
2•funnycoding•17m ago•0 comments

Leisure Suit Larry's Al Lowe on model trains, funny deaths and Disney

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
1•thelok•17m ago•0 comments

Towards Self-Driving Codebases

https://cursor.com/blog/self-driving-codebases
1•edwinarbus•17m ago•0 comments

VCF West: Whirlwind Software Restoration – Guy Fedorkow [video]

https://www.youtube.com/watch?v=YLoXodz1N9A
1•stmw•18m ago•1 comments

Show HN: COGext – A minimalist, open-source system monitor for Chrome (<550KB)

https://github.com/tchoa91/cog-ext
1•tchoa91•19m ago•1 comments

FOSDEM 26 – My Hallway Track Takeaways

https://sluongng.substack.com/p/fosdem-26-my-hallway-track-takeaways
1•birdculture•19m ago•0 comments

Show HN: Env-shelf – Open-source desktop app to manage .env files

https://env-shelf.vercel.app/
1•ivanglpz•23m ago•0 comments

Show HN: Almostnode – Run Node.js, Next.js, and Express in the Browser

https://almostnode.dev/
1•PetrBrzyBrzek•23m ago•0 comments

Dell support (and hardware) is so bad, I almost sued them

https://blog.joshattic.us/posts/2026-02-07-dell-support-lawsuit
1•radeeyate•24m ago•0 comments

Project Pterodactyl: Incremental Architecture

https://www.jonmsterling.com/01K7/
1•matt_d•24m ago•0 comments

Styling: Search-Text and Other Highlight-Y Pseudo-Elements

https://css-tricks.com/how-to-style-the-new-search-text-and-other-highlight-pseudo-elements/
1•blenderob•26m ago•0 comments

Crypto firm accidentally sends $40B in Bitcoin to users

https://finance.yahoo.com/news/crypto-firm-accidentally-sends-40-055054321.html
1•CommonGuy•27m ago•0 comments
Open in hackernews

ImapGoose

https://whynothugo.nl/journal/2025/10/15/introducing-imapgoose/
120•xarvatium•3mo ago

Comments

treve•3mo ago
Looks great! Curious what the author and others use for local maildir email reading.
aboardRat4•3mo ago
mu4e, but I suspect that a local maildir is a poor choice anyway.

It's better to have a local cyrus running and connect to it by imap, with, say, gnus.

rahimnathwani•3mo ago
Well, it says its bidirectional, so perhaps you could run two instances pointed at the same local maildir, but at different IMAP servers?
aboardRat4•3mo ago
You can do the same with a local cyrus.
xarvatium•3mo ago
I use isync and notmuch! With aerc as my reader.
aboardRat4•3mo ago
Seems like a clone of https://gitlab.com/Lockywolf/imap-idle-mail-checker/
rahimnathwani•3mo ago
The README for that project mentions IDLE, but not CONDSTORE.

So what happens if you lose your connection to the server? How do you get up to date with the current state?

aboardRat4•3mo ago
mbsync does it.

It's separation of concerns, the monitor only checks that something has changed, while mbsync does the synchronisation.

rakoo•3mo ago
Except it's only imap->maildir. ImapGoose also does the reverse
klinch•3mo ago
Now I'm wondering which of these extensions and strategies are employed by mainstream mail clients like Thunderbird, Apple Mail and Outlook?

I'm currently doing remote work from a location with an instable connection. Naturally I expected mails to work well in an async fashion, but instead... everything is really janky and I'm always unsure whether actions like moving an mail to a different actually 'went through' without loosing any mails.

internet_points•3mo ago
Does this work as a replacement for the combination of mbsync/isync (doing the syncing from IMAP server to local Maildir) and imapfilter (noticing when sync should happen)?

Anyone tried it?

TheTaytay•3mo ago
To properly turn an agent like Claude Code or codex loose on my email, it seems like having it locally searchable is helpful, so I want to take a look at this.
WhyNotHugo•3mo ago
Note that while tools like Claude Code run on your host, the inference model itself runs on the service provider's servers, so any files on which you operate are uploaded to their servers for processing.
ShellackGobln7•3mo ago
Learning about IMAP - This does not support gmail because per the included checker app:

Password: 2025/10/16 15:43:03 Connecting to imap.gmail.com:993... 2025/10/16 15:43:03 Connected successfully 2025/10/16 15:43:03 Logging in as user@gmail.com... 2025/10/16 15:43:03 Logged in successfully 2025/10/16 15:43:03 Server capabilities: 2025/10/16 15:43:03 - ENABLE 2025/10/16 15:43:03 - APPENDLIMIT=35651584 2025/10/16 15:43:03 - IDLE 2025/10/16 15:43:03 - NAMESPACE 2025/10/16 15:43:03 - ID 2025/10/16 15:43:03 - XLIST 2025/10/16 15:43:03 - UIDPLUS 2025/10/16 15:43:03 - ESEARCH 2025/10/16 15:43:03 - UTF8=ACCEPT 2025/10/16 15:43:03 - CHILDREN 2025/10/16 15:43:03 - CONDSTORE 2025/10/16 15:43:03 - LIST-EXTENDED 2025/10/16 15:43:03 - LITERAL- 2025/10/16 15:43:03 - UNSELECT 2025/10/16 15:43:03 - QUOTA 2025/10/16 15:43:03 - MOVE 2025/10/16 15:43:03 - LIST-STATUS 2025/10/16 15:43:03 - SPECIAL-USE 2025/10/16 15:43:03 - IMAP4rev1 2025/10/16 15:43:03 - X-GM-EXT-1 2025/10/16 15:43:03 - COMPRESS=DEFLATE

Checking for required capabilities: UIDPLUS: SUPPORTED NOTIFY: NOT SUPPORTED CONDSTORE: SUPPORTED QRESYNC: NOT SUPPORTED

Some required capabilities are missing

WhyNotHugo•3mo ago
IIRC gmail doesn't support any capabilities from after ~2003.

In order to synchronise with this kind of server, you need to list UIDs and Flags from all mailboxes and perform a full comparison of which items changed. There's no NOTIFY, so you need to do this periodically.

This requires substantially more network and processing, and an entirely different application design. Such a design cannot immediately synchronise new entries either.

ImapGoose doesn't cover this kind of scenario, there are plenty of existing tools that can synchronise legacy servers already.

ShellackGobln7•3mo ago
Here's a nix flake for v0.2.0

{ description = "IMAP to Maildir synchronization tool";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    flake-utils.url = "github:numtide/flake-utils";
  };

  outputs = {
    self,
    nixpkgs,
    flake-utils,
  }:
    flake-utils.lib.eachDefaultSystem (
      system: let
        pkgs = nixpkgs.legacyPackages.${system};
      in {
        packages = {
          default = pkgs.buildGoModule {
            pname = "imapgoose";
            version = "0.2.0";

            src = pkgs.fetchFromSourcehut {
              owner = "~whynothugo";
              repo = "ImapGoose";
              rev = "v0.2.0";
              hash = "sha256-+LHj4scdMDBOJ0f04IEeVVZSLEJQSQSndbtHEjN6kLs=";
            };

            vendorHash = "sha256-nD2KgBWmzkTQZHwH/IaGVbhIC2zR4VYdoUTocL0cP+A=";

            subPackages = ["cmd/imapgoose" "cmd/capcheck"];

            ldflags = ["-s" "-w"];

            postInstall = ''
              install -Dm644 imapgoose.1 -t $out/share/man/man1/
              install -Dm644 imapgoose.conf.5 -t $out/share/man/man5/
              install -Dm644 LICENCE -t $out/share/licenses/imapgoose/
            '';

            meta = with pkgs.lib; {
              description = "IMAP to Maildir synchronization tool";
              homepage = "https://git.sr.ht/~whynothugo/ImapGoose";
              license = licenses.isc;
              mainProgram = "imapgoose";
            };
          };
        };

        devShells.default = pkgs.mkShell {
          buildInputs = with pkgs; [
            go
            gopls
            gotools
            golangci-lint
          ];
        };
      }
    );
}
isaachinman•3mo ago
Using CONDSTORE without an IDLE fallback rules out a lot of major providers.
WhyNotHugo•3mo ago
I think you meant "NOTIFY without an IDLE fallback".

The problem with IDLE is that you need a separate connection for each mailbox. So if you want all email in sync, you need N connections for N mailboxes. Plus separate connections to do the actual syncing, because IDLE takes makes a connection unusable for anything else. Or need to compromise in that some (most) mailboxes will be "polled" ever M minutes.

Fortunately, all of the email providers to which I have access support the required capabilities. Consider asking your service provider to upgrade; the newest standard required by ImapGoose was standardised in 2009.