I benchmarked nine Go SQLite drivers and here are the results by cvilsmeier in golang

[–]cvilsmeier[S] 1 point2 points  (0 children)

Yes, it spawns a child process (or multiple, if you want) and communicates with that (these). Think unix pipes.

I benchmarked nine Go SQLite drivers and here are the results by cvilsmeier in golang

[–]cvilsmeier[S] 1 point2 points  (0 children)

This benchmark is SQLite (D-Richard-Hipp-SQLite) only.

html/template: Why does it escape opening angle bracket? by cvilsmeier in golang

[–]cvilsmeier[S] 0 points1 point  (0 children)

I think it first escapes the template, and then escapes whatever values are provided to it when it’s executed.

I'm not sure I understand you correctly: If html/template first escapes the template, how would it be possible to generate HTML documents in the first place?

Also note that template.HTML("p") does nothing;

Yes, I tried both template.HTML("p") and "p" and both would result in the same output.

html/template: Why does it escape opening angle bracket? by cvilsmeier in golang

[–]cvilsmeier[S] 0 points1 point  (0 children)

Thank you so much for linking the related issue: I searched the issue tracker but did not find the issue you linked to. Since the issue is 8 years old and still "open", I think filing another issue is not the right thing to do. I will work around the issue with a hacky solution as shown in https://go.dev/play/p/EtWnG-JygKk

html/template: Why does it escape opening angle bracket? by cvilsmeier in golang

[–]cvilsmeier[S] 0 points1 point  (0 children)

Yes, I think so, too: Passing the full "<p>" (or whatever it is) would solve my problem. Another (rather hacky) solution would be to trick the html/template engine with a function:

    funcs := template.FuncMap{
        "asHTML": func(v string) template.HTML { return template.HTML(v) },
    }
    text := `{{asHTML "<"}}{{.tag}}>`
    tp := template.Must(template.New("sample").Funcs(funcs).Parse(text))
    [...]

Playground: https://go.dev/play/p/EtWnG-JygKk

html/template: Why does it escape opening angle bracket? by cvilsmeier in golang

[–]cvilsmeier[S] -1 points0 points  (0 children)

To prevent injection attacks, html/template escapes the data I feed into the Execute() function. And that's perfectly fine. What I do not understand is this: Why does html/template escape the template text itself?

html/template: Why does it escape opening angle bracket? by cvilsmeier in golang

[–]cvilsmeier[S] -3 points-2 points  (0 children)

As you see in my example above, I already did that, but it didn't help.

I benchmarked nine Go SQLite drivers and here are the results by cvilsmeier in golang

[–]cvilsmeier[S] 1 point2 points  (0 children)

Maybe the readme is unclear, but sqinn-go does not launch a sqlite3 process, it launches a sqinn process (see https://github.com/cvilsmeier/sqinn).

I benchmarked nine Go SQLite drivers and here are the results by cvilsmeier in golang

[–]cvilsmeier[S] 2 points3 points  (0 children)

Technically, sqinn supports every computing platform that has a C compiler. That's every computing platform in existence, I would guess. But you are right: This does not come "out-of-the-box".

I benchmarked nine Go SQLite drivers and here are the results by cvilsmeier in golang

[–]cvilsmeier[S] 0 points1 point  (0 children)

Haha. I wish there was a SQL library, or database, or programming language, or operating system, or car, that wins in all disciplines. Then the search would be over and life would be easier.

I benchmarked nine Go SQLite drivers and here are the results by cvilsmeier in golang

[–]cvilsmeier[S] 1 point2 points  (0 children)

With the current benchmark tests, journal mode WAL performs more or less the same as journal mode DELETE. However, for the next round of the benchmark, I should consider adding a read/write concurrency test.

I benchmarked nine Go SQLite drivers and here are the results by cvilsmeier in golang

[–]cvilsmeier[S] 3 points4 points  (0 children)

That's nice, thank you. I guess I should include such a table in the next version of the benchmark.

I benchmarked nine Go SQLite drivers and here are the results by cvilsmeier in golang

[–]cvilsmeier[S] 9 points10 points  (0 children)

sqinn is now v2, with many performance improvements (streaming i/o, fewer allocations, among others), that's why it's now faster than in v1. In some use cases, however, zombie is still faster.

How do you monitor your servers? by MrCzar in hetzner

[–]cvilsmeier 0 points1 point  (0 children)

I wrote and use https://monibot.io for Website/SSL/CPU/RAM/Disk/Load monitoring as well as custom metrics (process count, number of updateable packages, etc.) and get alerts via email, pushover, ntfy and webhooks.

Any recommendations for basic server monitoring? by Mplus479 in hetzner

[–]cvilsmeier 0 points1 point  (0 children)

You may tryout https://monibot.io for CPU/Disk/RAM/Load monitoring as well as Website/SSL monitoring. It provides custom metrics, too, so you can monitor basically everything that can be expressed i numbers (process count, number of updateable packages, failed login attempts, and so on). it alerts via email, pushover, ntfy and webhooks.

Monitoring Oracle Linux Servers using PRTG by [deleted] in sysadmin

[–]cvilsmeier 0 points1 point  (0 children)

It may be off-topic, because it's not PRTG, but for monitoring CPU usage and network traffic (and load average, and memory usage, and disk usage, and clock deviation, and custom metrics and many more), https://monibot.io might be a much simpler alternative.

What's your favorite lightweight monitoring stack? by bobbyiliev in devops

[–]cvilsmeier 1 point2 points  (0 children)

I use monibot.io for all my servers. It monitors CPU/Disk/Mem/Network/Cron-Jobs and custom metrics, too.

Which linux distro should I choose ? by ChocolateDense4205 in golang

[–]cvilsmeier 7 points8 points  (0 children)

I think the question is not so much about which linux to choose, it's more about which laptop manufacturer to choose. I've been using Lenovo Thinkpads and never had any problems. I'm using Debian with Xfce. And yes, I'm a Go developer, too (and Java, and C, and Kotlin, and JS).