Atemu

joined 4 years ago
MODERATOR OF
[–] Atemu@lemmy.ml 10 points 12 hours ago

staging rebuild cycles only happen every two weeks or so.

The reason is always that something changed and causes all dependent packages to change, requiring a rebuild of those too.

[–] Atemu@lemmy.ml 3 points 12 hours ago* (last edited 12 hours ago)

It depends on your uptime requirements.

According to Backblaze stats on similarly modern drives, you can expect about a 9% probability that at least one of those drives has died after 6 years. Assuming 1 week recovery time if any one of them dies, that'd be a 99.997% uptime.

If that's too high of a probability for needing to run a (in case of AWS potentially very costly) restore, you should invest in RAID. Otherwise, that money is better spent on more backups.

[–] Atemu@lemmy.ml 1 points 13 hours ago (1 children)

Note that you do not need any sort of redundancy to detect corruption.

Redundancy only gains you the ability to have that corruption immediately and automatically repaired.

While this sounds nice in theory, you have no use for such auto repair if you have backups handy because you can simply restore that data manually using your backups in the 2 times in your lifetime that such corruption actually occurs.
(If you do not have backups handy, you should fix that before even thinking about RAID.)

It's incredibly costly to have such redundancy at a disk level and you're almost always better off using those resources on more backups instead if data security is your primary concern.
Downtime mitigation is another story but IMHO it's hardly relevant for most home users.

[–] Atemu@lemmy.ml 1 points 13 hours ago

If you needed to spend any time "setting everything back as before", you didn't have a full backup.

[–] Atemu@lemmy.ml 1 points 13 hours ago (1 children)

RAID does not protect your data, it protects data uptime.

RAID does cannot ensure integrity (i.e bitrot protection). Its one and only purpose it to mitigate downtime.

[–] Atemu@lemmy.ml 1 points 13 hours ago (1 children)

Read perf would be the same or better if you didn't add redundancy as you'd obviously use RAID0.

RAID is never in any way something that can replace a backup. If the backup cannot be restored, you didn't have a backup in the first place. Test your backups.
If you don't trust 1 backup, you should make a second backup rather than using RAID.

The one and only thing RAID has going for it is minimising downtime. For most home use-cases though, the 3rd 9 which this would provide is hardly relevant IMHO.

[–] Atemu@lemmy.ml 1 points 2 days ago

Magnet seems to be a window management shortcut thingy like rectangle but probably worse, costs money and likely to enshittify.

It cannot influence how the macOS window manager works internally, it can only ask it to e.g. place a window in a certain location.

[–] Atemu@lemmy.ml 19 points 2 days ago (13 children)

From Windows

Low-latency VRR that works correctly

It does not feel quite right in kwin and the rather new "proper" support in Hyprland doesn't feel right either.

In hyprland you actually have to enable a special option and set a lower bound for VRR because it doesn't handle LFC with cursors, so a game running at 1fps will make your cursor jump around once per second which is totally unusable. With LFC that would typically result in at least e.g. 90Hz.

VRR in other apps works quite well though. I'm not sure how intended it is but it allows for some nice power savings on my Framework 16; when it's just a terminal refreshing a few times a second, the screen goes all the way down to 48Hz and when I actually scroll some content or move the cursor it's still buttery smooth 120Hz.

Sway feels very good w.r.t. VRR but it cannot handle cursors at all (visible or invisible): whenever you move the mouse, VRR is deactivated and you're at full refresh rate until you stop moving the cursor. It might also not be fine because I could only test a racing game due to the mouse issue and it's so light that it always ran at a constant rate, so that's not a great test as what differentiates good VRR from bad VRR is how varying refresh rate is handled of course.

Xorg VRR also never felt right; it felt super inconsistent. Xorg is also dead.

VRR is fundamental for a smooth gaming experience and power efficient laptops.

From macOS

Mouse pad scroll acceleration.

If you've ever used a modern macbook for a significant amount of time, you'll know that its touchpad is excellent. I'd actually prefer a macbook touchpad over a mouse for web browsing purposes.
On Linux however, it's a complete shitshow and the most significant difference is not hardware but software. You might think that, surely, it can't be that bad. Let me tell you: it is.

Every single application is required to implement touch pad scrolling on its own; with its own custom rules on how to interpret finger movement across the touch pad. I can't really convey how insane that is. There is no coordination whatsoever. Some applications scroll more per distance travelled, some less. Some support inertial scrolling, some don't. Some have more inertial acceleration, some less.

Configuring scrolling speed (if your compositor even allows that, isn't that right Mutter?) to work well in e.g. Firefox will result in speeds that are way too quick for the dozens of chromiums you have installed and cannot reasonably configure while making it right for chromiums will make it impossible to use forwards/backwards gestures in Firefox and applications that don't implement inertial scrolling at all (of which there are many) will scroll unusably slowly.

It's actually insane and completely fucked beyond repair. This entire system needs to be fundamentally re-done.

There needs to be exactly one place that controls touch pad (and mouse for that matter) scrolling speed and intertial acceleration, configurable by the user. Any given application should simply receive "scroll up by this much" signals by the compositor with no regard for how those signals come to be. My browser should never need to interpret the way my fingers move across the touch pad.

Accel key

Command/super is just a better accel key than control. Super is almost entirely unused in Linux (and Windows for that matter). Using it for most shortcuts makes it trivially possible to make the distinction between e.g. copy and sending SIGTERM via ^C in a terminal emulator. No macOS user has ever been confused about which shortcut to use to copy stuff out of a terminal because CMD-c works like it does in any other program.

It also makes it possible to have e.g. system-wide emacs-style shortcuts (commonly prefixed with control) and regular-ass CUA shortcuts without any conflicts. C-f is one char forwards and CMD-f is search; easy.

Unified Top bar/global menu

Almost every graphical application has some sort of menu where there's a button for about, help, preferences or various other application-specific actions. In QT apps aswell as most fringe UI frameworks, it's placed in a bar below the top of each window as is usual on Windows. In GTK apps, it's wherever the fuck the developer decided to put it because who cares about consistency anyways.

For the uninitiated: On macOS there is one (1) standardised menu for applications to put and sort all of their general actions into. It is part of the system UI: almost the entire left side of the top bar is dedicated to this global menu; populated with the actions of the currently focussed application.

If you're used to each application having this sort of menu in the top of its window, having this menu inside a system UI element that is not connected to the application instead will be confusing for all of 5 seconds and then it just makes sense. It's always in that exact place and has all the general actions you can perform in this application available to you.

There is always a system-provided "Help" category that, along with showing macOS help and custom help items of the application, has a search function that allows you to search for an action in the application by name. No scouring 5 different categories with dozens of actions each to find the one you're looking for, you just simply search for the action's name and can directly execute it. It even shows you where it's located; teaching you where to find it quickly and allowing for easy discovery of related functions.

When you press a shortcut to execute some action in the app, the system UI highlights the category into which the executed action is organised; allowing you to find its name and (usually) related actions.

Speaking of shortcuts: When you expand a category, it shows the shortcut of every action right next to the name. This allows for trivial discovery of shortcuts; it says it right there next to the name of the action every time you go and use it.

This is how you design a UI that is functional, efficient, consistent and, perhaps even more importantly, accessible. Linux should take note.

[–] Atemu@lemmy.ml 2 points 2 days ago (2 children)

I'm not sure what you mean? It's a basic feature of the macOS window manager. Pressing the fullscreen button on a window does all of this.

[–] Atemu@lemmy.ml 3 points 3 days ago

While that is true for the files that make up the programs themselves and their dependencies, it's not true for any state files or caches that programs creates at runtime. You need to clean those up manually.

[–] Atemu@lemmy.ml 6 points 3 days ago (4 children)

full screen takes over a whole desktop

and creates it. It's a whole new workspace just for putting an app in fullscreen and none of the shortcuts to jump to workspace x work with it of course.

The rest of the WM can be made bearable but there's no way around that stupid design choice.

[–] Atemu@lemmy.ml 11 points 1 week ago (1 children)

Have you checked for open ports?

There's a non-zero chance that there's a long out of date apache or something running on it.

 

@brjsp thanks again for submitting the concern here. We have made some adjustments to how the SDK code is organized and packaged to allow you to build and run the app with only GPL/OSI licenses included. The sdk-internal package references in the clients now come from a new sdk-internal repository, which follows the licensing model we have historically used for all of our clients (see LICENSE_FAQ.md for more info). The sdk-internal reference only uses GPL licenses at this time. If the reference were to include Bitwarden License code in the future, we will provide a way to produce multiple build variants of the client, similar to what we do with web vault client builds.

The original sdk repository will be renamed to sdk-secrets, and retains its existing Bitwarden SDK License structure for our Secrets Manager business products. The sdk-secrets repository and packages will no longer be referenced from the client apps, since that code is not used there.

This appears at least okay on the surface. The clients' dependency on sdk-internal didn't change but that's okay now because they have licensed sdk-internal as GPL.

The sdk-secrets will remain proprietary but that's a separate product (Secrets Manager) and will apparently not be used in the regular clients. Who knows for how long though because, if you read carefully, they didn't promise that it will not be used in the future.

The fact that they had ever intended to make parts of the client proprietary without telling anyone and attempted to subvert the GPL while doing so still remains utterly unacceptable. They didn't even attempt to apologise for that.

Bitwarden has now landed itself in the category of software that I would rather move away from and cannot wholeheartedly recommend anymore. That's pretty sad.

 

cross-posted from: https://lemmy.ml/post/21519137

I recently switched from a MBP to a Framework 16 as my primary laptop and one thing I immediately noticed was that I was unable to stop kinetic scrolls in Firefox by laying my fingers onto the touchpad. It'd just slide by unimpeded. You could work around this by counter-scrolling a little rather than holding still which is how I've been coping with it but it's suboptimal to say the least.
(As are many things in the Linux touchpad experience. Linux desktop developers really ought to use a macbook for a little to get a sense for how to do this properly.)

This was caused by Firefox' use of GDK3 to implement its windowing and input needs which does not support hold gestures.

GDK4 does support them but, as I understand it, a port of Firefox to GDK4 would be a ton of work and there isn't really much desire for it as GDK4 doesn't offer many real advantages over GDK3 as Firefox doesn't use classical GTK widgets or anything and only really uses it for basic input/output primitives.

A backport to handle hold gestures in GDK3 too was attempted but, in classic GNOME fashion, it was rejected.

The implementation now somehow gets events from the touchpad directly via wayland somehow from what I could gather but if it works, it works.

You can try this out in the latest nightly builds.

 

I recently switched from a MBP to a Framework 16 as my primary laptop and one thing I immediately noticed was that I was unable to stop kinetic scrolls in Firefox by laying my fingers onto the touchpad. It'd just slide by unimpeded. You could work around this by counter-scrolling a little rather than holding still which is how I've been coping with it but it's suboptimal to say the least.
(As are many things in the Linux touchpad experience. Linux desktop developers really ought to use a macbook for a little to get a sense for how to do this properly.)

This was caused by Firefox' use of GDK3 to implement its windowing and input needs which does not support hold gestures.

GDK4 does support them but, as I understand it, a port of Firefox to GDK4 would be a ton of work and there isn't really much desire for it as GDK4 doesn't offer many real advantages over GDK3 as Firefox doesn't use classical GTK widgets or anything and only really uses it for basic input/output primitives.

A backport to handle hold gestures in GDK3 too was attempted but, in classic GNOME fashion, it was rejected.

The implementation now somehow gets events from the touchpad directly via wayland somehow from what I could gather but if it works, it works.

You can try this out in the latest nightly builds.

 

Write is a handwriting app that works on a lot of platforms including Linux which cannot be said about most handwritten note-taking applications.

More information and demo: https://github.com/styluslabs/Write/

I've used it for uni on a Linux tablet/convertible and it worked really quite well and has some nice convenient features for note-taking.

The UI looks like it's from android 4.something though ^^'

What I really appreciate about it is that its storage format are plain SVG(Z) which are extremely compatible. All you need to view your scribbles is an SVG viewer (i.e. a web browser) which basically every computer with a GUI has. Their website is in fact mostly just the output of their own app.

 

Features

  • We continue enhancing our search experience with bangs. Check the shield menu to see if a website has a corresponding bang. #3410 @frereit

  • We've upgraded the FastGPT, and Research Assistant (Fast+Expert) with the latest models to enhance performance:

    • FastGPT -> Claude 3 Haiku
    • Research Assistant, Fast -> Claude 3 Haiku
    • Research Assistant, Expert -> Claude 3 Sonnet
  • These are also available in Chat mode which allows full access to a range of models like Claude 3 Opus, GPT-4 and Mistral Large [Please note, Kagi Assistant is currently in closed beta and is exclusively accessible to subscribers of the Ultimate plan]

  • We now allow the community to see and translate the trigger phrases for widgets that utilize them, such as the weather and calculator widgets. Learn more about how to contribute translations in our help page. #2506 @cempack

Improvements and bug fixes

  • Show colour picker when searching for "colour picker" or "color picker" #3370 @httpjames
  • Clock Widget (ie, checking time in another time zone) initially shows PM instead of AM #3533 @mackid1993
  • Ultimate-exclusive bangs not working on starter plan #3551 @emarforio
  • Timer doesn't count time correctly #3436 @__rej__
  • The enter key ignores the character selection state when using Chinese IME #3606 @morningdip
  • Unable to upload items between 8mb and 16mb #3593 @cakeboss
  • Search results have no title Firefox Android #3586 @ray
  • Discussion cards #3519 @Dumb
  • News Snippet cuts off menu #3542 @xrendan
  • Show that a bang is available in the info field of a result #3410 @frereit
  • Search ignoring pre-set date filter #3417 @travior
  • Check Listen Notes API integration #3163 @matteoscopel
  • Quick answer does not display footnotes correctly #3637 @bebowilson
  • Add bang country for Indonesia #3515 @rourguic
  • Make stats subpages shareable #3452 @Value7609
  • Updating a lens' bang causes the server to crash with 502 Server Error #3601 @httpjames
  • Assistant is still capping characters to 7k #3547 @httpjames
  • AI Assistant regenerates answer on tab restore/reopen when called from bang #3569 @emarforio
  • Quick answer button slightly misaligned on mobile #3429 @sefidel
  • Stop overriding the browser’s scroll bars with custom CSS #3420 @David
  • Using the bang !fast on Firefox iOS just gives me an emtpy window #3597 @lou
  • Reddit and Hackernews backlinks only (?) work on us-central #3277 @nilsherzig
  • Bangs in Image / Video / News / Podcast / Maps Search do not redirect. #2929 @Syx
  • Lenses are not activated for research #3317 @tkataja
  • Quick answer breaks when the query contains html tags #3614 @ys256
  • Research Expert Mode "forgets" Citations #3612 @tschoesi
  • Research Assistant cannot summarize GitHub issues URLs correctly (but it can as a PDF) #3581 @yokoffing
  • Missing citations in fastgpt / quickanswer again #3625 @truethomas
  • Quick answer words end with numbers (without links to sources) #3628 @bert
  • Blocked sites showing up in "Quick Peek" results #3477 @n6h6
  • "Sorry, a problem occurred while processing your request." when using the bang "!expert" #3306 @lou
 

Announcements

Starting from March 26th, we will begin including localized sales tax for all new customers who subscribe on or after this date.

Starting from April 9th, all existing customers who qualify for sales tax/VAT will see localized sales tax/VAT added to their monthly invoice in USD, on top of their current subscription fee. This adjustment will appear on your next invoice on or after April 9th, with no immediate extra charge.

If you are paying with an alternative method via Paypal, OpenNode, or any other non-Stripe provider: You will be prompted to pick a sales tax region the next time you go to purchase credit.

If you have any questions about this change, please feel free to contact our team through Discord or at support@kagi.com. We will be building an F.A.Q. page to answer any questions about the migration process.

To clarify, it means an end-price increase for affected members (sales tax/VAT will be automatically added on top of Kagi price, if applicable in your country/state) and this is mandated by Kagi becoming large enough to have legal sales tax/VAT obligation. In addition, Kagi will have to retroactively pay for all sales tax/VAT that we did not collect in the last almost two years. We have chosen to absorb this on behalf of our customers.

Improvements and bug fixes

  • We made some changes to Kagi-specific bangs: you can access FastGPT through !fgpt and Discuss doc with !discussdoc
  • LaTeX is not displaying properly #3514 @rourguic
  • Claude 3 Opus injects random mathematical formulae #3564 @tiltowait
  • Expert research assistant fails to process request #3566 @frin
  • Research assistant messes up character spacing unpredictably #3184 @httpjames
  • Duplicate bang search suggestion #3379 @Value7609
  • Kagi Quick Answer Mismatch Between Document Number and Source Number #3549 @benoit
  • UI Bug: Chat Assistant models card has a clipboard icon #3485 @Chris
  • Maps keeps trying to get a location on every keystroke #3405 @tinkling6961
  • POST /login returns HTTP 500 Internal Server Error #3526 @pdm
  • Non-ASCII Wikipedia URL incorrectly encoded #3459 @ThreePointsShort
  • Kagi Assistant - Text Parsing Issue #3390 @martafolf
view more: next ›