Yujiri

joined 3 years ago
[–] Yujiri@lemmy.ml 1 points 2 years ago

I just read the whitepaper. I didn't understand everything, but it sounds pretty good. I'd try it out, but sadly looks like they don't have any desktop clients :/

 

I posted about this project once before, about a year ago. The basic design is more or less final, I think, and I’ve created 3 clients - terminal, GTK, and Android - that are varying degrees of usable. While it’s still missing some features, testing, and has plenty of bugs, I’m posting about it again because I’ve basically burned out on it. it started out with me and 2 friends but quickly became just me working on it, and I don’t have the stamina to invest more effort in something no one uses, with no assurance that anyone will if I keep working on it. I realized that it shouldn’t be expected for 1 person to design a good protocol and create a mature client for every platform. 1 person can get a project like this started, and if others like the sound of it, they can carry it to completion.

So, here it is. The most usable client is the terminal one, but it’s all keyboard-driven and doesn’t come with any documentation other than its README.md. I’ve used it to communicate with one other person who took a passing interest in the project and I’m satisfied enough with its maturity to add my Sufec address to my contact page. This is as far as I’m going alone; I hope you find the project worthwhile.

[–] Yujiri@lemmy.ml 1 points 2 years ago

This article seems pretty good. I too was once hyped for IPFS, but lost that hype slowly

[–] Yujiri@lemmy.ml 1 points 2 years ago (1 children)

Seems like a really bad idea to build a desktop using a toolkit that doesn't support selection, accessibility tools, non-Latin text, etc.

[–] Yujiri@lemmy.ml 1 points 2 years ago

Hey @mp3, thought I should come back and give you an update! I finally managed to do as you said with the zxing library and get it to work! In just a minute, I'll be able to commit this feature :)

[–] Yujiri@lemmy.ml 1 points 2 years ago (1 children)
[–] Yujiri@lemmy.ml 0 points 2 years ago (3 children)

Binary Eye is a scanning app. I'm not trying to make a scanning app, I'm trying to call out to one. What I'd hoped is that Android has some way to call out to "whatever the user has set as default barcode scanning app", but maybe there just isn't such an interface.

I would look at just embedding the scanning functionality into my app itself, but Binary Eye is massive! And there are dependencies on other third-party camera libraries in there, so that's not even all of it.

[–] Yujiri@lemmy.ml 1 points 2 years ago (5 children)

I can't figure out how to import zxing. Their docs refer to files with package com.google.zxing.integration.android, but I get errors saying that isn't found.

Also, this article suggests that that library requires a specific app to be installed from google play. Surely there's a way to do this without relying on that? There must be something built-in.

[–] Yujiri@lemmy.ml 1 points 2 years ago

as someone who deeply hates phones, i completely agree with this post

 

I'm making an app for a new federated messaging protocol, Sufec, which needs to be able to link a device by scanning a QR code, for multi-device support. I can't for the life of me find a way to do this anywhere on the internet. I want a solution that:

  • Doesn't depend on the image already being scanned and saved (ie. it should open a camera app, not a files app)
  • QR code should be detected by the camera app, so the user doesn't have to snap a picture, then return to the messaging app and see an error that the QR code couldn't be read
  • Doesn't depend on having any specific app installed
  • Is not deprecated
[–] Yujiri@lemmy.ml 2 points 2 years ago (1 children)

What a terrible article.

Whenever I read the claim that copyleft ideology is hypocritical because it imposes a restriction on acceptable use of the software, I pretty much just stop paying attention. The ideology of copyleft is very clear and consistent: making non-free derivatives isn't a valid freedom because it takes freedom away from others. No, just because you don't like something doesn't make it hypocritical. Compare copyleft to defensive force: everyone agrees that it's wrong to punch someone, but everyone also agrees that you can punch back against someone who punches first.

 

I have a build script like this:

	println!("cargo:rustc-link-lib=libname");

It works if a static (.a) version of the library is installed, but if only a dynamic version (.so) is installed, building fails with an error like usr/lib/gcc/x86_64-alpine-linux-musl/11.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -llibname: No such file or directory.

[–] Yujiri@lemmy.ml 1 points 2 years ago

Element because it's the only client that actually supports most of the protocol. Use anything else and you're the only person in the room who can't see reactions, or can't join VC, or can't join encrypted rooms, or can't see edited messages, etc

[–] Yujiri@lemmy.ml 1 points 2 years ago

The two use cases suggested:

Alice holds a digital wallet that securely manages her identity, data, and authorizations for external apps and connections. Alice uses her wallet to sign in to a new decentralized social media app. Because Alice has connected to the app with her decentralized identity, she does not need to create a profile, and all the connections, relationships, and posts she creates through the app are stored with her, in her decentralized web node. Now Alice can switch apps whenever she wants, taking her social persona with her.

  • Creating a profile takes what, 2 minutes? And you do it only once per app.
  • Connections and relationships: Okay so you want to copy your list of followers? That's nothing remotely new. Pleroma literally has that (also for blocks and mutes).
  • If you want automatic discovery of existing followers, fine, but note that already exists on some platforms via email addresses or phone numbers. All you'd need to extend it to secure, decentralized identifiers is for those platforms to have a metadata field for users to put such an identifier. Hardly revolutionary.

Bob is a music lover and hates having his personal data locked to a single vendor. It forces him to regurgitate his playlists and songs over and over again across different music apps. Thankfully there's a way out of this maze of vendor-locked silos: Bob can keep this data in his decentralized web node. This way Bob is able to grant any music app access to his settings and preferences, enabling him to take his personalized music experience wherever he chooses.

So you want to import playlists between music apps? That could only work if each song has a globally unique identifier for the playlists which is known to all the platforms. That isn't the case, and changing that would require every musician to change their workflow.

 

I'm trying to write an Android client for the Sufec protocol. This is my first time developing anything for Android (and sure hope it will be the last), and I'm having a silly amount of trouble figuring out how to store global state. Not sure if dev questions fit here but but hopefully :)

Now, I've read like 50 web pages claiming to explain how to do it, but let me clarify:

  • I am not talking about keeping state across activity restarts
  • I am not talking about saving anything to disk
  • I am talking about sharing state between activities

I read that you could do it by subclassing android.app.Application, but that it wasn't idiomatic and you should use a Context instead. Well, I don't see anything on either of those classes about storing any data on them, and tried subclassing Application but that didn't work either because the return type of getApplication() is still the base android.app.Application, so I can't access fields of my subclass.

I read some sources saying you're supposed to have to explicitly pass it between each activity with intents extras, but that looks like it only has methods for attaching primitive types or Bundles, not user-defined classes. I want to share an Account instance in memory without serializing and deserializing it into some more primitive representation every time the user changes screens.

[–] Yujiri@lemmy.ml 1 points 2 years ago

True, but I think the intention of the post is to call attention to what is likely another scandal like copilot (it launders open source code, violating the license)

 

On a community's page there is no post button if you're not subscribed, only a subscribe button which appears a post button. At first I thought it was a rule you had to be subscribed to post in a community, but after I learned that you can post on any community by going to Create Post instead and selecting the community from the dropdown, it's just a pointless annoyance.

 

I get semver: x.y.z, but in the context of distribution packages (never upstream releases), I often see versions like 5.2.1-1, what does the extra number mean?

 

I have a lot of clothes I wanna give away with as little hassle as possible, just want to drop them off and be done with it, I don't care about getting any money for it, don't own a car so it has to be very close, and I want to avoid charities with bad reputations

 

A lot of food products in the US say this. I'm curious if anyone has ever tried to get a refund for a product that wasn't defective or spoiled or anything, but merely <100% satisfying?

 

I was told that one of the core benefits of Wayland is that it prevents applications from snooping each other, such as by recording the contents of windows that don't belong to them or logging keystrokes that don't belong to them. But the program wf-recorder can record my entire screen without root! Doesn't that mean any rogue application could do the same thing?

 

cross-posted from: https://lemmy.ml/post/93192

It's not finished or anything, but I want potential vulnerabilities brought to my attention as soon as possible.

 

cross-posted from: https://lemmy.ml/post/93192

It's not finished or anything, but I want potential vulnerabilities brought to my attention as soon as possible.

view more: next ›