INeedMana

joined 11 months ago
 

This popped up in my RSS feed and I found it a good read

For some time now I've felt that D&D-like d20 mechanics is cursed to have the problem of inflation. But it was refreshing to see someone else point it out too

[–] INeedMana@piefed.zip 0 points 6 days ago* (last edited 6 days ago)

Could Mobilizon be used for that?

EDIT: for finding a date for some other thing I've been happy with how Polls in Nextcloud work. But NC might be too big for your needs. Maybe something from those would fit you?
https://github.com/manfredsteger/polly
https://awesome-selfhosted.net/tags/polls-and-events.html

[–] INeedMana@piefed.zip 6 points 1 week ago

If they could be using web UI (I'm not sure how a client would work with auth like that) then it kind of depends on how much hassle they can live with and how secure you want to be

Simplest would be to use https://doc.traefik.io/traefik/reference/routing-configuration/http/middlewares/basicauth/
You set up username and password and share those with the user. But it can be brute-forced

Something more secure but also a bit more demanding would be some kind of email otp
https://docs.goauthentik.io/add-secure-apps/flows-stages/stages/authenticator_email/
Set up authentik to send time-limited link to their email that well let them through. But they would have to authenticate every time they access

[–] INeedMana@piefed.zip 3 points 1 week ago

I think that's why wording mentions friends not a public service

[–] INeedMana@piefed.zip 2 points 1 week ago (1 children)

I'm afraid that with applications it would end up with the same situation we have now. 2-3 people per instance

For sure only local accounts should have voting rights

[–] INeedMana@piefed.zip 1 points 1 week ago

I was rather thinking about reports also having votes

[–] INeedMana@piefed.zip 5 points 1 week ago

Oh, nice find. I'm saving that

[–] INeedMana@piefed.zip 0 points 1 week ago (1 children)

AFAIK the apps are rather based on the APIs. And in general APIs usually don't require a User-Agent header as they return only data, without the html

Do you know of an app that is setting user agent?

I guess, pick one that you like and check (check code or network traffic) if it's setting user-agent header

[–] INeedMana@piefed.zip 10 points 1 week ago (10 children)

I have also been wondering about this. But

admins and mods are selected sortitionally( randomly) from people who apply

That's your point of starvation. The application

I think, instead, everyone on the instance should be a voting member. And the decisions should be taken based on some requirement on the votes

  1. person one flags a post -> that's a vote
  2. maybe add a header that this post is under review? The voting process should probably be taking some time
  3. another person flags the same post -> that's a vote
  4. someone else says it should not be flagged -> that's a vote in opposite direction
  5. ??? <- can be changed by an instance wide vote too
  6. post/comment/user is either moderated or not, depending on votes and logic from the previous vote

In order to boost participation, randomly ask an active account to cast a vote on an ongoing discussion

I think there should be some way for "backend admin" to step in and ban something. But they should only do that for spam/csam/scam/etc. Nothing else, no matter how crazy or rude the take is
(btw, maybe the instance could also normalize asking someone to reword their take if it's rude or can be interpreted badly out of context?)

[–] INeedMana@piefed.zip 2 points 1 week ago

I think the scope of the idea is the service itself, not the hosting part. So the rotation would be for those who set sidebar, not those who deploy

[–] INeedMana@piefed.zip 4 points 1 week ago

Well, now I see that I'm going to move to have sshfs instead. There are issues with spamming sftp connections for all the small files. But in general I've learned that really "done is better than perfect". Just make it work, observe, iterate

[–] INeedMana@piefed.zip 1 points 1 week ago

Personally I don't agree that MD is bad but I've seen some opinions that Org Mode is better

[–] INeedMana@piefed.zip 1 points 1 week ago

In the past I migrated my notes from Obsidian to Logseq. Both have a bit different approach, but basically the move was to modify dir/file.md to be dir__file.md

 

I've heard the system referenced a few times and it's on sale currently

So I'm wondering what it is exactly. I understand it's d6, low crunch, more or less Planescape
But I'd like to know a bit more. Anyone has played it and has some more verbose take?

 

I've heard a lot about Burning Wheel that made me interested. But is it only good for playing in the included fantasy setting?

How hard is it to hack/reskin it into some other setting?

 

NLnet grant announcement: https://github.com/Helium314/HeliBoard/issues/2226
NLnet project description: https://nlnet.nl/project/GestureTyping/

Swipe-o-Scope repository: https://codeberg.org/eclexic/swipe-o-scope

CC BY-SA 4.0 license: https://creativecommons.org/licenses/by-sa/4.0/

Article on data anonymization: https://www.science.org/doi/10.1126/sciadv.adn7053

Contact me:
My Mastodon: https://mstdn.social/@theeclecticdyslexic
My Matrix: https://matrix.to/#/@eclexic:matrix.org

Text based tutorial: https://github.com/Helium314/HeliBoard/wiki/Tutorial:-How-to-Contribute-Gesture-Data

It is recommended you install Heliboard through the F-Droid app, unless you know what you are doing!
How to install F-Droid: https://f-droid.org/en/docs/Get_F-Droid/
Heliboard on F-Droid: https://f-droid.org/en/packages/helium314.keyboard/
Heliboard on Github: https://github.com/Helium314/HeliBoard/releases

Gesture typing library links from MindTheGApps:
ARM64: https://gitlab.com/MindTheGapps/vendor_gapps/-/blob/fe250848941171fe339ca9a44bc9a42aefb0be7d/arm64/proprietary/product/lib64/libjni_latinimegoogle.so
ARM: https://gitlab.com/MindTheGapps/vendor_gapps/-/blob/fe250848941171fe339ca9a44bc9a42aefb0be7d/arm/proprietary/product/lib/libjni_latinimegoogle.so
X86_64: https://gitlab.com/MindTheGapps/vendor_gapps/-/blob/fe250848941171fe339ca9a44bc9a42aefb0be7d/x86_64/proprietary/product/lib64/libjni_latinimegoogle.so


Other ways to contribute:
Providing packaging scripts for Swipe-o-Scope:

  • for Windows
  • for macOS
  • for Flatpak. This is a big task; Swipe-o-Scope uses QT modules that are not currently supported by the KDE SDK (QTGraphs module). Swipe-o-Scope is also written using the PySide6 python library, rather than in C++. To build Swipe-o-Scope for flatpak, you are probably going to have to talk with KDE developers and the PySide6 baseapp maintainer. You will need them to update the SDK and the baseapp to support PyQTGraph. This is all in addition to needing to know a little about building flatpaks.
  • for Linux via means other than Flatpak (e.g. the AUR)

Providing input or code if you are knowledgeable about any of the following:

  • gesture typing using hand-designed algorithms... (bonus points if you have worked on a paper or product that you could help us make an open implementation of WITHOUT violating anyone's intellectual property)
  • gesture typing using neural nets and constrained compute, such as on mobile devices without TPUs... (unfortunately you may not be able to contribute here effectively until we have the data collected, organised, and released at the end of the collection period)
  • the JNI in Android... (bonus points if you have a working knowledge of the AOSP Latin IME JNI library)
  • natural language processing for next word prediction, specifically comparing the suitability of a set of candidate words against one another... (either by ngrams or any other low-compute method available to a mobile device with no internet connection)
  • building a diverse small-to-medium sized multi-lingual corpus of natural language text we could legally use to simulate context... (not stealing copyrighted content in bulk, like certain companies.)
  • making desktop apps more user-friendly... (Swipe-o-Scope doesn't currently give user feedback that would be helpful to anyone that doesn't feel comfortable in a terminal)
  • being patient while performing thorough code review and audits of rust code... (the gesture recognition library is most likely to be in rust, despite me being more experienced in other languages, as I am making a bet on it still being popular in a decade or three)

Full disclosure: out of concern for copyright issues and code quality, we will not be accepting ANY LLM generated contributions to this project. Neither in the form of code, nor corpus text. Thank you!

If you work on another on-screen keyboard, have the ability to collect data from it, and you want to add to the data set - you can contact me about some more particulars of the file format. Not all requirements of the file format are obvious and should not be assumed!

We are still in early stages, and this project is likely to continue for quite a while. It may continue well past the end date of me getting paid by the NLnet. Don't hesitate to reach out if you think you can help in some other way! We can use all the help we can get; gesture typing is a hard problem with a very high ceiling. Every little improvement matters!

Remember, even sharing this project around will be helpful at the moment. I can't be boosting this all the places I maybe should be; I have to be working on code, and this video took long enough!

I thought it might get some reach when cross-posted here

 

First I got notified about Para Bellum. Now I got pinged about a bit of short-fiction.

I think that's cool, I haven't looked into those books but IMO there haven't been much about Desert Wars in the official lore

 

I hope it's ok to ask for some feedback here. Of not, please let me know. The rules did not sound like against it

I'm very new to Rust. And while in general my coding background is ok, Rust still feels alien to me. I think I'm just still at "how to think in Rust" part of the curve.

So I would like to ask here for opinions on the following bit of code. I know that those unwrap are too optimistic for production, and I could figure out how to pass io::Error from the function all the way up to the shell. But what are other choices that I don't see?
What would you write differently? What looks like Pythonisms/C++isms? Or is missing the mark completely?

use std::{fs, io};  
use std::path::PathBuf;  
use std::convert::TryFrom;  

use clap::Parser;  
use parquet::file::reader::SerializedFileReader;  
use parquet::record;  
use csv::WriterBuilder;  

#[derive(Debug, Parser)]  
#[command(version, about, long_about = None)]  
struct Args {  
    dir: String,  
    #[arg(default_value = "0")]  
    count: usize  
}  

fn get_files_in_dir(dir: &str) -> Option<Vec<PathBuf>>  
{  
    let dir = fs::read_dir(dir);  
    if dir.is_err() {  
        return None  
    };  
    let files = dir.unwrap()  
        .map(|res| res.map(|e| e.path()))  
        .collect::<Result<Vec<_>, _>>();  
    if files.is_err() {  
        return None  
    }  
    files.ok()  
}  

fn read_parquet_dir(entries: &Vec<String>) ->  impl Iterator<Item = record::Row> {  
    entries.iter()  
        .map(|p| SerializedFileReader::try_from(p.clone()).unwrap())  
        .flat_map(|r| r.into_iter())  
        .map(|r| r.unwrap())  
}  
                            
fn main() -> Result<(), io::Error> {  
    let args = Args::parse();  
    let entries = match get_files_in_dir(&args.dir)  
    {  
        Some(entries) => entries,  
        None => return Ok(())  
    };  


    let mut wtr = WriterBuilder::new().from_writer(io::stdout());  
    for (idx, row) in read_parquet_dir(&entries.iter().map(|p| p.display().to_string()).collect()).enumerate() {  
        let values: Vec<String> = row.get_column_iter().map(|(_column, value)| value.to_string()).collect();  
        if idx == 0 {  
            wtr.serialize(row.get_column_iter().map(|(column, _value)| column.to_string()).collect::<Vec<String>>())?;  
        }  
        wtr.serialize(values)?;  
        if args.count>0 && idx+1 == args.count {  
            break;  
        }  
    }  
    
    Ok(())  
}  
 

The following is a copypaste from a Mastodon post by @frida@camp.smolnet.org that I've linked above.

The EU is working on what is in essence a new Open Source strategy for Europe, and the call for evidence is now open. This is our cue to provide feedback and input to the strategy!

If you are involved in the Open Source community in any way, if you benefit (or could benefit) in any way from Open Source, or if you're simply interested in questions about digital sovereignty, please visit https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives/16213-European-Open-Digital-Ecosystems_en for details on how to contribute.

 

The upheaval of the manasphere following the the Disian Shadow War has brought significant changes to magic, changes that aren’t quite yet understood but already being seen and felt. Magic is both familiar and different.

This has just dropped in my notifications. It just so happens I recently read some part of Astral Ways and while I haven't followed Disian plot too closely, now I'm curious what they've cooked up. Their vision of metaplanes has some potential IMO
A bit too pricy for a curiosity purchase, though

Anyone had a chance to peek inside?

 

Ancient and modern, war-torn but prosperous, Cairo is a place where ancient customs and traditions walk hand-in-hand with the modern realities of the Sixth World. It’s a place of mystical power, opportunities, and vast riches for those bold enough to claim them. Here, fortunes and lives are often won or lost based on a single decision. And in the wake of a devastating shadow war, several corporations are looking toward Cairo to fortify and further expand their newly won power and influence … or to halt their imminent demise.

Risks and Rewards is a campaign book for Shadowrun, Sixth World.

NOTE: This product includes a PDF of the book and a PDF of the Cairo map.

A bit pricy but the region does not pop up often. I'm curious, especially if they added some magical threats fitting the area.
Or something area specific for the corps to scheme over?

Or at least did better job than most of the rest of non-Americas' lore

 

I had Monaco 2 on my watchlist. Now it’s on sale and it reminded me that I never really joined a multiplayer game in the first one. Because I’m afraid that being a noob I will ruin the game for everyone. Same with Due Process. Of course that is a vicious cycle where I keep being noob but don’t join a game out of fear of doing a noob thing. Not noticing something important, not timing something right, etc

Multiplayer in itself is not a problem, I have been playing other multiplayer titles. Both as a noob and a veteran. But the heist theme feels daunting

In a way I feel Payday was kind of easier in that regard because it was geared towards that “oops, I guess we are shooting now”

Has anyone had similar feeling? I probably should “just do it"
I feel like on the first game I should warn the lobby that I’m a noob, at which point I expect half of them to leave :D

 

I had Monaco 2 on my watchlist. Now it’s on sale and it reminded me that I never really joined a multiplayer game in the first one. Because I’m afraid that being a noob I will ruin the game for everyone. Same with Due Process. Of course that is a vicious cycle where I keep being noob but don’t join a game out of fear of doing a noob thing. Not noticing something important, not timing something right, etc

Multiplayer in itself is not a problem, I have been playing other multiplayer titles. Both as a noob and a veteran. But the heist theme feels daunting

In a way I feel Payday was kind of easier in that regard because it was geared towards that “oops, I guess we are shooting now”

Has anyone had similar feeling? I probably should “just do it"
I feel like on the first game I should warn the lobby that I’m a noob, at which point I expect half of them to leave :D

view more: next ›