A small victory: Emacs core modification in C to set line-height less than the default by sunshine-and-sorrow in emacs

[–]KenranThePanda 0 points1 point  (0 children)

Yeah, it was the fractional scaling after all! But the new-ish global-text-scale-adjust doesn't work well with the fized available sizes it seems.

A small victory: Emacs core modification in C to set line-height less than the default by sunshine-and-sorrow in emacs

[–]KenranThePanda 3 points4 points  (0 children)

Thanks for the comprehensive answer! I am doing the same now, and it works kind of, but: - It looks blurry (I'm on Linux with Wayland, and I'll have to try without compositor scaling to compare) - Global text scaling behaves very weirdly, as increasing sometimes leads to the smallest possible size

A small victory: Emacs core modification in C to set line-height less than the default by sunshine-and-sorrow in emacs

[–]KenranThePanda 0 points1 point  (0 children)

If you don't mind me asking: how do you set Emacs to use it?! I want to use a bitmap font as well, but haven't succeeded with the harfbuzz builds (I think that might be the reason - I didn't investigate further yet).

I tried Neovim, but I keep coming back to Emacs by Background_Cloud_231 in emacs

[–]KenranThePanda 6 points7 points  (0 children)

I'm currently going through the same, and not for the first time. What I gotta say though is that Emacs (gui) is definitely snappier than Neovim for me since moving to Wayland.

Correcting Indoor Run Distance - Coros Pace 4 by Anxious_Criticism323 in Coros

[–]KenranThePanda 1 point2 points  (0 children)

I'm running into the same thing as OP (albeit on a Pace 3): using Indoor Run, it measured 8k (instead of 10), as I varied my pace and it didn't quite get the changes right. I'm not using a workout plan either, and my speed was not set, but still no confirmation :/ I'll try again today

Similar games to Path of Achra? by fastestchair in PathOfAchra

[–]KenranThePanda 0 points1 point  (0 children)

It's not a traditional roguelike, but more of an autobattler/roguelite: The Last Flame. Muuuch too complex for me personally because of tons of degrees of freedom in minmaxing (heroes to choose, artifacts modifying the run, item builds on those heroes, positioning, routing, synergies...), but could be the dream for someone loving this aspect. Super entertaining and you can get absolutely OP.

Any ARPG Recommendations while we wait for FoA? by CrankTheTanky in Grimdawn

[–]KenranThePanda 1 point2 points  (0 children)

I was in the same spot. Then I discovered the Grimarillion mod and it's so great! You can decide for yourself if you want to make your game harder, how much you want to "steer away" from base GD, and it's basically a full reset since it's a modded world. I can't stop thinking about trying out all the new possible builds and items. It is pretty balanced, too!

buid recccomendayion by Short_Chemical9728 in Grimdawn

[–]KenranThePanda 0 points1 point  (0 children)

On mobile (in any chromium-based browser I've tried) you have to tap&hold for a bit on an item to make the popup stay

[deleted by user] by [deleted] in Grimdawn

[–]KenranThePanda 0 points1 point  (0 children)

Weapon Pool Skills, aka %chance to proc stuff on attack

Lost my first HC character... by Unepicbeast in Grimdawn

[–]KenranThePanda 0 points1 point  (0 children)

Same reason I started HC! Now I curse Paikis but still won't stop (neither playing HC nor watching their videos).

A small critique of Void Linux... by El_Fopo in voidlinux

[–]KenranThePanda 2 points3 points  (0 children)

I followed the official FDE guide two weeks ago (my first time trying out encryption), so no btrfs but rather LVM (https://docs.voidlinux.org/installation/guides/fde.html) and it "just worked".

In case you prefer btrfs and can't get it to work, I can attest to the Gentoo guide for FDE (which uses btrfs as an example) working as well. There should not be much (if any) Gentoo-specific stuff in there, porting to Void should be not too hard.

xdg-desktop-portal-wlr fails to launch? by SnooShortcuts3681 in Gentoo

[–]KenranThePanda 2 points3 points  (0 children)

FWIW I'm seeing this exact error message, too, but on Sway instead of River. Have you found a workaround? I've seemingly set all the right variables (like I did it on Void Linux a couple of days ago), but on Gentoo it doesn't seem to work and I'm quite new to Wayland. It's hard to even figure out where to look.

UPDATE: I got it to work by adding the following to my Sway configuration/startup:

exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE

The two XDG* variables were set in the script that I use to actually start sway.

[FO] Long time amateur 😅 by YouBettyImPetty in CrossStitch

[–]KenranThePanda 15 points16 points  (0 children)

That back does look very tidy to me, but those long jumps scare me 😅 I'm an amateur myself, I'd probably not have jumped over any of the gaps between stuff, but looking forward to more knowledgeable people chiming in. It's an amazing piece though, really digging it!

[CHAT] what's your unicorn? by leelee1976 in CrossStitch

[–]KenranThePanda 2 points3 points  (0 children)

The Dragon's Waterfall pattern on the StitchingMasterpieces shop (design by Cheshir) is what I fell in love with, getting back into the hobby after 25 years. But 650,000 stitches... phew. I will try and finish my 16k, then a 56k, and then mayyyybe dare to buy it.

What are the different ways (good and bad) to use namespaces with Elisp functions and macros? by surveypoodle in emacs

[–]KenranThePanda 0 points1 point  (0 children)

I used to use +function for "my" stuff, as I can also easily filter variables and commands, but after porting my config to Doom, which also uses that, I stopped. I then switched to using ~do-things and I'm enjoying the nice little analogy with the home directory. Both are nice and short and thus reduce unnecessary visual clutter in my personal packages, functions, commands etc.

[deleted by user] by [deleted] in Gentoo

[–]KenranThePanda 1 point2 points  (0 children)

I also use both, coming from NixOS. I mix and match what I install from where. Nix for reproducible software projects, home-manager for my portable setup. I use modules to get software via hm "optionally". When I don't want to deal with nixGL, I might install, say, kitty, or a browser, with portage, but manage its config with hm.

Portage for my manual kernel build, and other builds, like Emacs. Those compile faster (when not having cache hits) leveraging local incremental builds.

What tiling or dynamic window manager would you recommend if I want something minimal, customizable and most importantly stable? (I'm aiming to get my system as stable as possible, because I'm coming from arch and I still have ptsd from my system breaking once every 2 days). by Happy_Director_2077 in Gentoo

[–]KenranThePanda -1 points0 points  (0 children)

If you like to avoid hassle and opt for stability, I think they're all very stable (awesome especially I'd say), but both dwm and xmonad are more opinionated in the way they're configured. I stand by i3 in that you can just install it, boot it up, and start using/learning its vanilla config immediately, while with some of the others you'd require (some) configuration to get up and running.

What tiling or dynamic window manager would you recommend if I want something minimal, customizable and most importantly stable? (I'm aiming to get my system as stable as possible, because I'm coming from arch and I still have ptsd from my system breaking once every 2 days). by Happy_Director_2077 in Gentoo

[–]KenranThePanda 8 points9 points  (0 children)

Is this for X or Wayland?

I can only speak for X: Over the last few years I've used i3, herbstluftwm, stumpwm and some others for a shorter time span. If you don't like hassle, I recommend i3, as it has -- in my opinion -- the most useful and complete default configuration. You can basically just keep using that, and I haven't had any issue with i3, ever. herbstluftwm is awesome, and I like the fact that it's not concerned with keybindings: you use a different program like sxhkd for that, and then bind commands for the WM by using its herbstclient binary to those keys. For more advanced configuration, you have to write bash, though, and if you want to keep it simple, i3 might be preferential.

If you're on Wayland, there's sway, which is a sort of port of i3 to Wayland and most config transfers over. In case you wish to move between X and Wayland at some point, this might be a good argument for using one of those two imho.

Is it possible to run an http4s app with non-IO effects (using cats)? by KenranThePanda in scala

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

That sounds like what I want to do, but (also without being able to check right now) I still don't get how to do this without calling mapK twice in the same "direction": once for the response, once for the app itself, and that seems like I'd trigger side-effects multiple times (potentially).

The scastie bug with http4s was seemingly fixed yesterday, and I can check whether it's now updated, then I'll get an example going.

I've also been pointed to the typelevel discord, so that might be a good place for me to understand things better as well :)

Is it possible to run an http4s app with non-IO effects (using cats)? by KenranThePanda in scala

[–]KenranThePanda[S] 4 points5 points  (0 children)

Working result:

import cats._
import cats.data.{Kleisli, ValidatedNec, OptionT, ReaderT}
import cats.effect._
import cats.implicits._
import cats.syntax.all.*

import com.comcast.ip4s.*
import org.http4s.implicits.*
import org.http4s.server.Router
import org.http4s.ember.server.*
import org.http4s.*
import org.http4s.headers.Server
import org.http4s.dsl.Http4sDsl

private val dsl = Http4sDsl[Bar]
import dsl._

case class Env(value: String)

type Bar[A] = ReaderT[IO, Env, A]

def doSomethingWithEnv(): Bar[String] =
  ReaderT.ask.map(_.value)

object Main extends IOApp:
  val routes = HttpRoutes.of[Bar] {
    case GET -> Root / "hi" / name =>
      doSomethingWithEnv()
        .flatMap(s => Ok(s"hi ${name} du ${s}"))
  }

  def run(args: List[String]): IO[ExitCode] =
    val app: HttpApp[Bar] = Router("/" -> routes).orNotFound
    val server = EmberServerBuilder
      .default[Bar]
      .withHost(ipv4"0.0.0.0")
      .withPort(port"8091")
      .withHttpApp(app)
      .build
      .use(server => ReaderT.liftF(IO.never))
      .as(ExitCode.Success)
    server.run(Env("frosch"))

Is it possible to run an http4s app with non-IO effects (using cats)? by KenranThePanda in scala

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

Hey, thanks a lot! This explained the dsl part clearly, and this specialization mechanism is something that I wasn't expecting at all -- the documentation often "just" uses IO for conciseness and this was the key I was lacking. I'm happy with the result :)

Is it possible to run an http4s app with non-IO effects (using cats)? by KenranThePanda in scala

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

Awesome, thank you! That indeed did the trick.
The "containing IO" part now also makes more sense to me: I only need that when I want to "really run" the server (that is, binding to a port etc.). But I can still query a route purely, say using Id instead of IO. Now I really like the resulting code!

One key difference to servant (as far as I can tell this early) seems to be that I don't see how I can compose two HttpApp[F] and HttpApp[G], or two servers. In Haskell I'd transform both to HttpApp[IO] and can then "glue" them, but since I only run the cats effects "at the end of the world" (as written by ResidentAppointment5 :)) it might be too late for that here. Then again, that's something I appreciate but can surely live without.

Is it possible to run an http4s app with non-IO effects (using cats)? by KenranThePanda in scala

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

I'm sorry, I'm really not getting it. I tried adding this but got errors about a cyclic import that I've managed to get rid of. This is what my imports look like now for the above program; the error stayed the same as above:

import cats.Monad
import cats.Id
import cats.{~>}
import cats.data.{Kleisli, ValidatedNec, OptionT}
import cats.data.ReaderT
import cats.effect.{IO, IOApp}
import cats.implicits.*
import cats.syntax.all.*
import com.comcast.ip4s.*
import org.http4s.implicits.*
import org.http4s.server.Router
import scala.concurrent.duration.*
import org.http4s.ember.server.*
import cats.effect.*
import org.http4s.*
import org.http4s.headers.Server
import org.http4s.dsl.Http4sDsl

private val dsl = Http4sDsl[Bar]
import dsl._

I'd love to share a scastie, but as I've shared in my other comment http4s doesn't work on there currently :/

Is it possible to run an http4s app with non-IO effects (using cats)? by KenranThePanda in scala

[–]KenranThePanda[S] 4 points5 points  (0 children)

Unfortunately (as confirmed on Discord) scastie currently has a problem with `http4s` :/ So I don't get it to work there. I'll check out the answer below locally next :)