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

NextCloud by NextCloud GmbH, BaseX by BaseX GmbH, XWiki by XWiki SAS, Corteza by Planet Crust.


You can use your own Woodpecker instance with Codeberg. I do this at work and privately and it works great and is much faster than the free CI that Codeberg can afford.


I'm really interested in doing this - did you follow any guides or find helpful tutorials online? At the moment I'm using Codeberg's free CICD, but it's limited and I'd rather run my own.



At work, our entire website is generated with XQuery.


Amazing! What kind of company/site is it if you mind sharing?

I’m working on a similar project for an XQuery/XML based website currently


There is no place called 'Udem' in Germany. There is a place called Uden in the Netherlands. Close to it is the military Volkel Air Base. It has fighter jets and nuclear bombs. https://en.wikipedia.org/wiki/Volkel_Air_Base


It's a forgivable typo for Uedem, which is in Germany, close to the Dutch border and does indeed house the NATO Combined Air Operations Centre:

https://en.wikipedia.org/wiki/Uedem


> NATO was monitoring the Baltic States air space from ground radars and from a Gielenkirchen based AWACS several hundred kilometers back near the German/Polish border.

There is also no place called „Gielenkirchen“. It‘s likely a typo of „Geilenkirchen“, which indeed does have a NATO base. But it is also at the German/Dutch border, while the article places it at the German/Polish border.

I am questioning the rest of the article based on these findings. They are straight-forward to check before publishing.


> ...based AWACS several hundred kilometers back near the German/Polish border

This should also have triggered the 'fact checker alarm bells' because there are no NATO bases in the area of former East Germany to this day (honoring the agreement with the late Soviet Union to not station foreign NATO troops in former East Germany - e.g. the only "no NATO East expansion promise" that actually exists in writing) - and AFAIK apart from the Eurofighter Luftwaffengeschwader 73 in Rostock-Laage (also not exactly close to the Polish border) there is no presence of the German airforce in East Germany either.

Although tbf, the sentence could also be read as the Geilenkirchen-based AWACS plane operating several hundred kilometers back (from Estonia) near the German/Polish border - which I guess makes a lot more sense than moving Geilenkirchen several hundred kilometers to the east :)

In any case I agree that it's a poorly written article and should be classified as fiction until confirmed by more reliable sources.


This is stale. BaseX is an active equivalent.

https://basex.org/


Yeah, in Java…


The original article says: "The legislative package could be greenlit tomorrow in a closed-door EU working group session." That was November 12th.

On the 13th, Breyer wrote:

> Yesterday, EU gov'ts rejected changes to mandatory backdoor #ChatControl & anonymity-destroying age checks.

https://digitalcourage.social/@echo_pbreyer/1155418089245415...


Nothing greenlit in a “closed-door EU working group session” can become law. These things need to go through all phases of legislation including the approval of parliament.

So yes, if you don’t like chat control, talk to your MEPs and stop voting in populist ministers and council members/presidents.


OpenWRT runs well on Deco M5 with a custom build.

https://forum.openwrt.org/t/ipq4019-adding-support-for-tp-li...


Can confirm. Stallman, Torvalds, Orwell, Harari

https://book.sv/#2300585,644416


This week I wrote a small bash function that run ripgrep only on the files that are tracked by git:

    rgg() {
        readarray -d '' -t FILES < <(git ls-files -z)
        rg "${@}" "${FILES[@]}"
    }
It speeds up a lot on directories with many binary files and committed dot files. To search the dot files, -uu is needed, but that also tells ripgrep to search the binary files.

On repositories with hundreds of files, the git ls-files overhead a bit large.


Can you provide a concrete example where that's faster? ripgrep should generally already be approximating `git ls-files` by respecting gitignore.

Also, `-uu` tells ripgrep to not respect gitignore and to search hidden files. But ripgrep will still skip binary files. You need `-uuu` to also ignore binary files.

I tried playing with your `rgg` function. First problem occurred when I tried it on a checkout the Linux kernel:

    $ rgg APM_RESUME
    bash: /home/andrew/rust/ripgrep/target/release/rg: Argument list too long
OK, so let's just use `xargs`:

    $ git ls-files -z | time xargs -0 rg APM_RESUME
    arch/x86/kernel/apm_32.c
    473:    { APM_RESUME_DISABLED,  "Resume timer disabled" },
    include/uapi/linux/apm_bios.h
    89:#define APM_RESUME_DISABLED  0x0d

    real    0.638
    user    0.741
    sys     1.441
    maxmem  29 MB
    faults  0
And compared to just `rg APM_RESUME`:

    $ time rg APM_RESUME
    arch/x86/kernel/apm_32.c
    473:    { APM_RESUME_DISABLED,  "Resume timer disabled" },

    include/uapi/linux/apm_bios.h
    89:#define APM_RESUME_DISABLED  0x0d

    real    0.097
    user    0.399
    sys     0.588
    maxmem  29 MB
    faults  0
So do you have an example where `git ls-files -z | xargs -0 rg ...` is faster than just `rg ...`?


A checkout of my repository [0] with many pdf and audio files (20GB) is slow with -u. These data files are normally ignored because 1) they are in .gitignore and 2) they are binary.

The repository contains CI files in .woodpecker. These are scripts that I'd normally expect to be searching in. Until a week ago I used -uu to do so, but that made rg take over 4 seconds for a search. Using -. brings the search time down to 24ms.

    git ls-files -z | time xargs -0 rg -w e23
    40ms

    rg -w. e23
    24ms

    rgg -w e23
    16ms

    rg -wuu e23
    2754ms
To reproduce this with the given repository, fill it with 20GB of binary files.

The -. flag makes this point moot though.

[0] https://codeberg.org/vandenoever/rehorse


Oh I see now. I now understand that you thought you couldn't convince ripgrep to search hidden files without also searching files typically ignored by gitignore. Thus, `git ls-files`.

Yes, now it makes sense. And yes, `-./--hidden` makes it moot. Thanks for following up!


I don't think this is the same thing as using gitignore.

It will only search tracked files. For that it can just use the index. I would expect the index to be faster than looking at the fs for listings.


I was extremely careful with my wording. Re-quoting, with added emphasis:

> ripgrep should generally already be approximating `git ls-files` by respecting gitignore.

See also: https://news.ycombinator.com/item?id=45629515


I'm just trying to be helpful, not call you out.

I've implemented gitignore aware file scanning before, and it was slower than git native operations when you only care about tracked files.

It's the speed that is the part I was speaking too, not the semantics.


Yes, I agree, `git ls-files` can indeed be faster than just `rg --files`. On my Chromium checkout:

    $ hyperfine --output pipe 'rg --files' 'git ls-files'
    Benchmark 1: rg --files
      Time (mean ± σ):     141.2 ms ±   7.1 ms    [User: 1134.5 ms, System: 376.3 ms]
      Range (min … max):   128.7 ms … 154.8 ms    20 runs

    Benchmark 2: git ls-files
      Time (mean ± σ):      54.9 ms ±   1.7 ms    [User: 41.7 ms, System: 13.1 ms]
      Range (min … max):    52.2 ms …  62.0 ms    54 runs

    Summary
      git ls-files ran
        2.57 ± 0.15 times faster than rg --files
But the semantics here are important, because ripgrep doesn't only try to approximate `git ls-files`. It also needs to deal with `.rgignore` and `.ignore`. And no git repository state will help there. ripgrep also supports respecting `.gitignore` even when it isn't inside a git repository.


After writing this comment, I read the man page again and found the -. flag which can be used instead of -uu.

Searching in hidden files tracked by git would be great but the overhead of querying git to list all tracked files is probably significant even in Rust.


Maybe I’m missing something, but doesn’t ripgrep ignore untracked files in git by default already?


The point is to search hidden files that are tracked by git. An example is CI scripts which are stored in places like .woodpecker, .forgejo, .gitlab-ci-yml.


One thing you might consider to make this more streamlined for you is this:

    $ printf '!.woodpecker\n!.forgejo\n!.gitlab-ci-yml\n' > .rgignore
Or whatever you need to whitelist specific hidden directories/files.

For example, ripgrep has `!/.github/` in its `.ignore` file at the root of the repository[1].

By adding the `!`, these files get whitelisted even though they are hidden. Then `rg` with no extra arguments will search them automatically while still ignoring other hidden files/directories.

[1]: https://github.com/BurntSushi/ripgrep/blob/38d630261aded3a8e...


That's a great suggestion for .rgignore and ~/.rgignore.


Is this faster than `git grep`?


No, amazingly (to me) on the repo in question, `git grep` is twice as fast as `ripgrep -w.` or the custom `rgg` function.

All are less than 100ms, so fast enough.


For architecture, there is Industry Foundation Classes (IFC). IFC is a standard for describing building. FreeCAD supports this natively. There's a tutorial here: https://yorik.uncreated.net/?blog%2F2025%2F002-nativeifc-tut...

Blender has and extension for IFC called Bonsai. https://extensions.blender.org/add-ons/bonsai/


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

Search: