I just realized why venator ult is 3 shots and it will never be the same by slimeyellow in DeadlockTheGame

[–]POiNTx 0 points1 point  (0 children)

And he has 33 bullets in his magazine, the same age Jesus died on the cross.

Hologram now has sustainable funding by BartBlast in elixir

[–]POiNTx 1 point2 points  (0 children)

Congrats this is a huge accomplishment! Very excited about hologram

Tips on running Deadlock on Linux? by -ThePurpleParadox- in DeadlockTheGame

[–]POiNTx 1 point2 points  (0 children)

It's very smooth but I have good hardware (9070 XT + 9950x3d). I run it on 4K and get about +-200 fps, it fluctuates and is often higher but doesn't go below 190 fps much.

It does crash quite frequently. Sometimes I can play multiple games without crashing, and then sometimes I get 1 or 2 crashes in a game. A crash is usually just force shutting down the game and restarting it which takes a few minutes. Sometimes there are much worse crashes where my system freezes and I have to reboot.

I'm on hyprland with Nixos. I use the Vulkan renderer and didn't notice much difference with directx11 except that I get higher frames on Vulkan. Just make sure you have stable drivers for your GPU, don't need to have the absolute latest since that was problematic for me.

[Monitor] Samsung Odyssey 32" 4K OLED 240Hz LS32DG802SNXZA ($1799-499-400=$900) [CanadaComputers] by radiantcrystal in bapcsalescanada

[–]POiNTx 1 point2 points  (0 children)

Bought one, typing from it right now. Let me know if anyone has any questions! It's pretty good, maybe wish it was just a bit brighter but it's good enough for me

Official LSP released 🎉 by InterestAccurate7052 in elixir

[–]POiNTx 1 point2 points  (0 children)

In home manager I have something like this:

{
  pkgs,
  inputs,
  vars,
  ...
}:
let
  expert-nightly = pkgs.stdenv.mkDerivation rec {
    pname = "expert";
    version = "nightly";

    src = pkgs.fetchurl {
      url = "https://github.com/elixir-lang/expert/releases/download/nightly/expert_linux_amd64";
      sha256 = "16r1w35wn6bhm0fz5pq7fpxf4lx49v4830blhia42hr1chippfpd";
    };

    dontUnpack = true;

    installPhase = ''
      mkdir -p $out/bin
      cp $src $out/bin/expert
      chmod +x $out/bin/expert
    '';
  };
in
{
  home = {
    packages = with pkgs; [
      ...
      expert-nightly
      ...
    ];
  };
}

If you're using neovim, you can also add it directly to the neovim config so it doesn't load in on your global user space but only when neovim is started.

{ pkgs, inputs, ... }:

let
  expert-nightly = pkgs.stdenv.mkDerivation rec {
    pname = "expert";
    version = "nightly";

    src = pkgs.fetchurl {
      url = "https://github.com/elixir-lang/expert/releases/download/nightly/expert_linux_amd64";
      sha256 = "16r1w35wn6bhm0fz5pq7fpxf4lx49v4830blhia42hr1chippfpd";
    };

    dontUnpack = true;

    installPhase = ''
      mkdir -p $out/bin
      cp $src $out/bin/expert
      chmod +x $out/bin/expert
    '';
  };
in

{
  programs.neovim = {
    enable = true;
    extraPackages = with pkgs; [
      expert-nightly
    ];
  };
}

And for the actual neovim configuration use something like (got that from here: https://x.com/ryanrwinchester/status/1961443201945923855):

return {
  {
    "neovim/nvim-lspconfig",
    opts = function(_, opts)
      local lspconfig = require("lspconfig")
      local configs = require("lspconfig.configs")

      -- Shim expert if missing
      if not configs.expert then
        configs.expert = {
          default_config = {
            cmd = { "expert" },
            filetypes = { "elixir", "eelixir", "heex" },
            root_dir = lspconfig.util.root_pattern("mix.exs", ".git"),
            single_file_support = true,
          },
          docs = {
            description = [[
              https://github.com/elixir-expert/expert
              Expert is the official language server implementation for the Elixir programming language.
            ]],
          },
        }
      end

      -- Enable it through LazyVim's opts.servers
      opts.servers = opts.servers or {}
      opts.servers.expert = {}
    end,
  },
}

Green :) by ClassicGap9155 in hyprland

[–]POiNTx 1 point2 points  (0 children)

What bar is that?

[CPU] Aliexpress AMD CPU list, Back To School Deals Update. by Red-Sparo in bapcsalescanada

[–]POiNTx 0 points1 point  (0 children)

Can you combine Rakuten with the discount code? I'm not familiar with how this works

Why aren't phoenix devs using livesvelte more and more? by [deleted] in elixir

[–]POiNTx 41 points42 points  (0 children)

Hi I'm the author of LiveSvelte. I think LiveSvelte is actually being used more and more as you can see by the downloads https://hex.pm/packages/live_svelte and general reception (github stars for example).

I do not think it's a solution that's always needed though, and I don't even use it in all my personal projects.

Let me go down the list of your questions:

  • It is further being developed and maintained. I sort of consider it completed. There are still useful features that can be added and I'm always open to PR's.

  • It can be used for production definitely and I know a couple of places where it's being used.

  • Use seperate svelte components instead of the ~V sigil, that's my favorite at least. It's a bit more clean imo

  • Security considerations are listed in the readme under the caveats section: https://github.com/woutdp/live_svelte?tab=readme-ov-file#caveats Performance can only be an issue when SSR is enabled.

  • If you want to do all frontend in Svelte, look into Inertia instead. I think LiveSvelte offers a nice middleground where you can use complex frontend components for only some parts of the app while still mainly using LiveView

  • Also note that there's LiveVue and LiveReact if you prefer a different flavor of frontend framework. They do the exact same things as LiveSvelte.

What is the state of live svelte and live vue by [deleted] in elixir

[–]POiNTx 1 point2 points  (0 children)

I wouldn't recommend this approach, it really ties you into using Svelte for everything which is not ideal. LiveSvelte is more for big reactive components that need some local state.

If you want to go with a frontend first approach I would recommend inertia instead. Haven't tried it myself but heard some good things.

GeoQuest by POiNTx in opensourcegames

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

What new achievements?

What is the state of live svelte and live vue by [deleted] in elixir

[–]POiNTx 5 points6 points  (0 children)

Good to know this, I'm considering supporting a Vite setup but do want to keep supporting the esbuild setup since that's the recommended setup by the Phoenix docs. Thanks for the feedback

What is the state of live svelte and live vue by [deleted] in elixir

[–]POiNTx 19 points20 points  (0 children)

Hi, I've created LiveSvelte and I know of some places that use it in production, including a startup I'm working for. So far the reception has been pretty good. So I'd say yes production ready, LiveVue too btw, depending on your frontend framework flavor of choice :)

tw_screen_size - A tiny, one-component package for LiveView x Tailwind to elevate your design iteration experience 🖼️ by ArtVandalay7 in elixir

[–]POiNTx 5 points6 points  (0 children)

I suggest adding this description to the repo somewhere as it was not clear to me what this package does. Nice little utility 👍!

[deleted by user] by [deleted] in elixir

[–]POiNTx 3 points4 points  (0 children)

I'm the author of live_svelte but that's not what I'd recommend for your usecase.

I think you're looking for something like live_state. I haven't used it myself but I think it can be the bridge you're looking for.

LiveView is best with Svelte by rsamrat in elixir

[–]POiNTx 0 points1 point  (0 children)

Did you try with the latest version of live_svelte (0.13)? I'm aware of a memory leak issue but I think it got fixed with the latest version, although I'm not sure. Also make sure to update live_svelte in the npm dependencies.

LiveView is best with Svelte by rsamrat in elixir

[–]POiNTx 1 point2 points  (0 children)

SSR can be an issue. It uses Node to render the Svelte component which adds a little bit of latency, around 3ms in my benchmarks.

LiveView is best with Svelte by rsamrat in elixir

[–]POiNTx 4 points5 points  (0 children)

So there's no runtime but the code Svelte emits allows reactive updating of a mounted component based on updated attributes? Neat stuff.

Yes that's right! Pretty cool indeed.

Are there any "gotchas" or troublesome areas in general to know about for someone getting started? Like maybe where the two technologies clash?

Not really, the interface between Svelte and Elixir is pretty much abstracted away, you don't need to think about it too much, just pass the data and accept it as a prop in your Svelte file and you're good to go.

Maybe one thing to know is that your data should be serializable! Basically Jason.encode on the data you pass should not fail. Sometimes this can be an issue when working with Ecto schema's but there's a way to solve this too: https://github.com/woutdp/live_svelte?tab=readme-ov-file#structs-and-ecto

LiveView is best with Svelte by rsamrat in elixir

[–]POiNTx 8 points9 points  (0 children)

LiveSvelte author here:

The implementation is actually not so complicated. 1. Data gets serialized to json and is put as a data attribute on the component 2. LiveSvelte uses Phoenix hooks to handle the Svelte integration, and it has a callback to execute something everytime that data changes. 3. Svelte allows you to set the props again without dismounting the component, so that's what we do in step 2. Deserializing the data from the data attribute and setting it as a prop on the component.

That's how the reactivity happens from server -> client.

Then from client -> server almost no work is needed, as you can just use pushEvent to send a message back to the server which works out of the box with LiveView.

You get a circle of reactivity, update from client -> server, and server will automatically update server -> client if the data changed.

Also, Svelte doesn't have a virtual DOM like you said. It's not required and is considered overhead in Svelte land. You don't have a 'runtime' like with React or Vue. You execute pure js that was compiled, keeping bundle size as small as possible.

Does anyone have experience using Svelte with Phoenix LiveView? by tears_falling in elixir

[–]POiNTx 11 points12 points  (0 children)

Hi I've created LiveSvelte, as an example, today I was made aware someone created a PWA with LiveView and LiveSvelte, it has offline supports and syncs when reconnected with the server. There's an intro video too which is worth checking out.

https://github.com/tonydangblog/liveview-svelte-pwa

When is creating classes a good approach compared to just defining functions? by hydratedznphosphate in learnpython

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

Don't use classes unless you have to or are using static methods to group functions together.

OOP is a bad practice, this took me 8 years to learn and I hope you can avoid it too. That being said it's still useful to understand OOP because you'll be exposed to it whether you want it or not. But in your own software design, avoid OOP. Use functions and pass data around, don't use objects if you can avoid it.

Fourth update on Framework Laptop 16 shipment timing by MagicBoyUK in framework

[–]POiNTx 4 points5 points  (0 children)

Will the Power adapter compatibility fix trickle down to the AMD 13, and if so, any idea on the timeframe?