• 4 Posts
  • 36 Comments
Joined 1 year ago
cake
Cake day: July 8th, 2023

help-circle
  • This could actually a pretty big deal

    1. The Eclipse foundation has been making alternatives to VS Code’s “killer apps” (Docker, Python, Go, C++, SSH, Live share, etc). AKA the closed source ones exclusive to VS Code offical that make all VS Code forks a huge downgrade. The Eclipse foundation is also running the extension store that powers VS Codium.
    2. “why not just use VS Codium?” (With the killer extensions made by Eclipse)
      • VS Codium is great, but because of manpower limits, they always have to be “downstream” of VS Code. They can’t rewrite any of the core systems.
      • As someone who contributes to VS Code, and loves VS Codium, many issues I have with VS Code have been open on github for +5 years, with hundreds of comments and thumbs-ups. We can’t even sort the file explorer view by last-edited and folders-first (but we can do folders-first alphabetical). Thats been open since 2020.
      • Theia looks like it could finally be the hard fork I’ve been waiting for. A hackable editor, trying to be open source, where all my extensions work, and the community can actually make a PR, get it merged, and extensions are not excessively sandboxed.
      • Will it be that? Only time will tell, but the Eclipse foundation has a pretty good record. They’re definitely prepared for long term support.










  • The “front page” of most instances are not interesting to average people or to professionals (e.g. local gov that wants to go open source, like those switching to Mastodon).

    Part is lemmy’s hot-sort is basically broken as a ranking, another part is bad language filters, another part is that major communities here (fediverse, Linux memes, star trek memes, science memes, etc) are off-putting to out-of-group people because of so many in-group jokes. Its a hard fix.


  • As someone who uses open street maps for statistics/analysis to advocate better bike infrastructure; please contribute to open street maps not google.

    You can easily do exactly what you were saying; open up an existing road, add an attribute to it saying bike_friendly: true. Just login (on desktop), go to the part of the map you want to edit, click edit at the top and do the walkthrough. It should look like this

    Side rant: The google maps API for analyzing data is so bad it might as well not exist. Even ignoring the painful signup process AUTH tokens, cost of usage, and crappy docs; it doesn’t provide access to basically any useful information about roads. Meanwhile open street maps is so easy you don’t even need an account; just run a browser command and scrape any data you want, including downloading the entire database.


  • jeffhykin@lemm.eetoLinux@lemmy.mlNixOS for gamedev
    link
    fedilink
    arrow-up
    10
    arrow-down
    2
    ·
    edit-2
    4 months ago

    Yeah, university is almost certainly going to expect you to be able to install Unreal or Unity, which just isn’t possible AFAIK on NixOS. NixOS is very all or nothing. You can’t just remove the restrictions for one project and hack something together to hit an assignment deadline. Theres still lots of pain points with LD_PATH and 3rd party binaries.

    That said, you can use nixpkgs on non-nixos and still get reliability for Godot and other open source tools. For your case, I highly recommend dual booting, and then using nixpkgs without going full blown nixOS.


  • I think it has to do with how it can be evaluated.

    func1( 1, ()=>console.log("hi")||10 )

    In JS the second argument might be treated as both a computation and a value.

    • console.log(m.toString()) as a value (will print out ()=>console.log("hi")||10)
    • console.log(m()) as a computation

    I think CBPV forces one or the other, which helps the compiler know how to optimize it. If it were just a computation, it wouldn’t need as much overhead as a full function definition I suppose.



  • This is a bit like asking “how do you cook meat for a lot of people?” Not only does number-of-people and kind-of-meat matter a great deal, but even with that info, there’s a million different valid answers and an entire sub-field-ish of science on how to do it.

    Based on what little info there is, I’m going to guess that A B testing with groups of experimental features enabled would be best for your case.




  • I disagree slightly, but only with his level of cynicism. I agree, we see the “peak diskwasher” problem everywhere. And I agree with his conclusion. But I feel he glossed over that, well, people still need dishwashers. Growth might be impossible, but a steady and “boring” amount of profit should still be possible selling plain-ole-dishwashers. Yet … for some reason, we don’t see that.

    Instead companies throw everything into growth and we get the retarded bluetooth enabled dishwasher problem everywhere, and I’d like to know more about why.


  • I think maybe this is just a communication issue and we actually agree on the details.

    Wasi and emscriptem from the ABI link, AFAIK, are basically wrappers to impure tools; console log, file system access, sockets, etc. For my usecase, I dont want the serialized functions to have access to those interfaces.

    That aside, lets say we serilized (m: f32, x: f32, b:f32): f32 => m*x + b. Yes, there will need to be some conversion layer, like converting python floats into wasm f32 floats and converting the f32 output back to python float. And stuff like javascript not having ints, could cause some weirdness. Maybe thats the ABI you’re talking about. Since that conversion basically already exists for every language that supports wasm, I didnt really think of it as an ABI, but you might be right that techically it is an ABI.

    I suppose a real ABI would be needed if the wasm function wanted to manipulate complex types like hashmaps or arrays.

    The serialization format could just be the bytes of a wasm file stored inside of a yaml file in base64. I’m not sure if yaml or utf8 would be considered a ABI. But basically the bytes would be loaded as a wasm module, then the wasm function inside the module would become value for that yaml key. The wasm function would be auto-wrapped by the language’s default inter-op layer for wasm functions.