• 0 Posts
  • 40 Comments
Joined 1 year ago
cake
Cake day: June 17th, 2023

help-circle
  • Somewhat recently I caused a failed kernel update by accident:

    Ran system update in tmux session (local session on desktop). But problem was that tmux itself got also updated, which crashed the tmux session and as a result crashed the kernel update. Only realized it upon the following reboot (which no longer worked).

    Your described solution re “live ISO, chroot, run system update once more, reboot” was also what got me out of that situation. So certainly something worth learning for “general troubleshooting” purposes re system updates.


  • Have you ever learned about the following in VIM:

    • H, M, L, 22H, …,: vertical cursor placement
    • zt, z0, zb: vertical scroll positioning
    • 0, $, gm, gM: horizontal cursor placement
    • w, e, b: word based cursor movement

    Simply holding j or k at times also works, even more so with a decently high key repeat rate.

    Of course there’s a lot more: https://vimhelp.org/motion.txt.html

    The trick is to only learn a couple new movement mappings at a time and use them during one’s workflow for a while, up until they feel ingrained. Then repeat, iteratively building up one’s movement skills in VIM.

    One can say many things about VIM, but not that learning it’s movement mappings will make your required APM (let alone mouse clicks) go up to “get stuff done”. Honestly, once a basic set of these movements has been learned, any other editor without them will feel like a drag.



  • So AFAIU, if a company had:

    • frontend
    • backend
    • desktop apps
    • mobile apps

    … and all those apps would share some smaller, self developed libraries / components with the frontend and/or backend, then the “no submodules, but one big monorepo” approach would be to just put all those apps into that monorepo as well and simply reference whatever shared code there might be via relative paths, effectively tracking “latest”, or maybe some distinct “stable version folders” (not sure if that’s a thing).

    Anyway, certainly never thought to go that far, because having an app that’s “mostly independant” from a codebase perspective be in it’s own repo seemed beneficial. But yeah, it seems to me this is a matter of scale and at some point the cost of not having everything in a monorepo would become too great.

    Thanks!




  • Regarding tauri: One and a half years ago I looked into it as a potential alternative to using electron.

    Back then I had to decide against it for my use case, because when the goal is that it’s a cross platform app, then one has to make sure that whatever “webview version” is used on all target OS, they all have to support the features one needs re one’s own app codebase. Back then I needed some “offscreen canvas” feature that chromium supported (hence electron), but which webkit2gtk (used on Linux) didn’t at the time.

    https://tauri.app/v1/references/webview-versions/

    So it’s not always easy to give a clear recommendation on using tauri over electron. One really has to get somewhat clear on what kind of “webview requirements” the resp. app will have.

    But I do hope this will (or maybe already is) less of an issue in upcoming years (things are moving fast after all).



  • I went through setting up netdata for a sraging (in progression for a production) server not too long ago.

    The netdata docs were quite clear on that fact that the default configuration is a “showcase configuration”, not a “production ready configuration”!

    It’s really meant to show off all features to new users, who then can pick what they actually want. Great thing about disabling unimportant things is that one gets a lot more “history” for the same amount of storage need, cause there are simply less data points to track. Similar with adjusting the rate which it takes data points. For instance, going down from default 1s internal to 2s basically halfs the CPU requirement, even more so if one also disables the machine learning stuff.

    The one thing I have to admit though is that “optimizing netdata configs” really isn’t that quickly done. There’s just a lot of stuff it provides, lots of docs reading to be done until one roughly gets a feel for configuring it (i.e. knowing what all could be disabled and how much of a difference it actually makes). Of course, there’s always a potential need for optimizations later on when one sees the actual server load in prod.


  • Coincidentally, I happen to have been reading into SEO more in depth this week. Specifically official SEO docs by google:

    https://developers.google.com/search/docs/fundamentals/seo-starter-guide

    To be clear, SEO isn’t about tricking search engines per se. First and foremost it’s about optimizing a given website so that the crawling and indexing of the website’s content is working well.

    It’s just that various websites have tried various “tricks” over time to mislead the crawling, indexing and ultimately the search engine ranking, just so their website comes up higher and more often than it should based on its content’s quality and relevancy.

    Tricks like:

    • keyword stuffing
    • hidden content just visible to crawlers

    Those docs linked above (that link is just part of much more docs) even mention many of those “tricks” and explicitely advise against them, as it will cause websites to be penalized in their ranking.

    Well, at least that’s what the docs say. In the end it’s an “arms race” between search engines and trickery using websites.