• 11 Posts
  • 368 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle









  • I used Ventoy (its still on my USB stick). Its actually a pretty cool concept. Normally without Ventoy, you would flash your Linux distribution on the USB stick. And then you can boot from it, right?

    Ventoy instead allows you to have a folder where you put an ISO without flashing it, and then you can boot from it by selecting in the menu. You just need to flash Ventoy once, as the base system, then you can put as many ISO files into that directory. I tested it and have 7 different Linux distributions (ranging from 1 GB to 4 GB variants) on the same USB stick, and I can boot any of them without flashing again. Replacing ISO is extremely easy, just delete it and copy a new one. Filenames does not matter, anything can be found.




  • Oh, you was talking about resizing. I see. Yes, Btree does not allow resizing. Trying so will snap window back to position, just as you were saying. When I read “drag”, I thought you meant placing the window. The default “Tile” or “Quarter” could be used instead if window resizing is a requirement. But off course they do not function exactly like Btree.


  • Krohnkite

    In krohnkite I can’t use btree while also keeping the tiling part. If I drag a tile while in btree in krohnkite they just snap back to their previous position.

    I use a 3 different layouts, one of them Btree. And drag and drop one window over the other will swap position of both windows. So functionally, it is working (for me) and maybe another plugin or configuration in Plasma is in the way?

    Polonium

    Closing all windows and relaunching them is from users perspective actually not too different from logging out and in again, at least from my view. From time to time I’m looking at the source in Github to see what the recent advancements are. But it seems development is on halt at the moment, with only minor changes over longer period of time.

    On KDEs side I saw some update notes specifically mentioning fixes for Polonium, which is a good sign. My hope is that development of Polonium will take off soon.


  • So yeah, exception as part of explicit function signature is a vast improvement, I completely agree

    Hmm, I’m not sure if you are being sarcastic. In my reply I didn’t meant encoding Exceptions into Type system. Is this a type and you probably meant “Error Types as part of” instead “exception as part of”?

    Honestly I don’t know how Exceptions as part of type system would even look like. Because each function call in a chain would need to have all information from previous function call, otherwise that information gets lost to the next caller. The problem is the hierarchy of function and method calls. Somewhere some objects and functions can be edited to Throw a new Exception, that is not handled through the entire chain. And for the higher function caller, there is 0% way of knowing that (through code, besides documentation off course).


  • Read my reply with a handful of sea salt. I just read tutorials and documentation a bit and did Hello World.

    Zig is pretty cool too! It can run C code directly just like C++ does (I think), kind of drop in replacement. From my reading so far, Error Handling is kind of a marriage between Go’s and Rust’s Error handling. Actually pretty cool. It has Error Types, but is kept relatively simple and doesn’t force to do all the stuff. It has Try and Catch keywords to handle errors elegantly, but don’t be fooled, this has nothing to do with Try…Catch blocks for Exceptions. Zigs Try and Catch are more like Rusts Result type handling, at least from what I read so far.

    I lean more towards Zig than Go, but it still has not reached stable 1.0 release.


  • Krohnkite

    https://github.com/anametologin/krohnkite

    https://store.kde.org/p/2144146/

    I would try a few Plasma based tiling scripts before switching to anything like Sway or i3.

    Agreed. I used tiling window managers for years before coming back to Plasma. Right now on Wayland I highly recommend giving Krohnkite a shot, its stable without any problems and has even multiple layouts to choose (and switch) from. I used Polonum before, but that one is not stable and was problematic. Krohnkite plugin (can be found in KWin Scripts > Get New… > then search for “krohnkite”, by anametologin) is pretty good in my opinion.

    The only problem with these plugins is, that they are not well documented as a standalone tiling window manager and cannot be configured as deeply. And they might interfere with other plugins or shortcut setups and so on. I knew what I wanted and I knew how to configure stuff, that’s why its easy for me. At least it can be easily disabled without replacing entire desktop environment.

    Little tip: One thing to mention, unlike Polonium, with Krohnkite one does not need to logout and login from current user session whenever settings are changed. It’s enough to disable Krohnkite in KWin Scripts, Apply, then enable and Apply again. This is basically a reload of the plugin to take any changed settings in effect.


  • You can easily install and configure a tiling window manager on any distro, so you should not switch an entire distribution and your base because of that. Unless off course you want to, but its not difficult. If you install a tiling window manager from your repository, then read the documentation how to set it up correctly and log out your current user session. Then in the login screen, you should be able to select what window manager or desktop environment you want to use.

    But be careful, lot of window managers are still not supported in Wayland and the other way, some of the new window managers are Wayland only. The usual suspects would be probably Sway or Hyprland on Wayland? There is also Qtile, but that is for people who want to configure and write Python source code, as the configuration is in Python language (BTW my favorite tiling window manager, but not for everyone). EndeavourOS used to have a Qtile spin, but they stopped that not long ago.

    But if you really must switch the distribution, then there might be a few preconfigured tiling window manager distributions:


  • My anecdotal experience is that Rust code, for example, has more calls to unwrap than I’d like. The problem here is that simply unwrapping results will crash the program on errors that could have been a user-visible error message with exceptions.

    unwrap() is explicitly not handling the error in a Result type. If you must do this, then at least use except(), to unwrap the code but with an error message if program crashes. Its the equivalent of having Exceptions and then not handling that exception. Therefore your critique is not valid here.

    One problem with Exceptions is, you never know what code your function or library calls that can produce an exception. It’s not encoded in the type system or signature of the function. So you need to pray and try catch all possible exceptions (I look at this from Pythons perspective), if you don’t want a Catch…All, which then you wouldn’t know what error this actually is. And you still don’t know where this error came from or happened in the code, how deep in the function call chain? Instead Errors as Values means its encoded in type system and you can directly see what errors the function can cause and (in Rusts case) you must handle the error, otherwise program won’t compile. You don’t need to handle anything else in this context. Compiler ensures that all possible errors are handled (again within context of our discussion). Vast improvement!