RatCornu,

I’m currently finishing the ext2 implementation on my lib efs, I hope to launch the version 0.3.0 soon!

sugar_in_your_tea, (edited )

Cool! It would be cool to get read-only access at least for ext4 for macOS and Windows.

Since it’s no_std, are you planning to use this in an embedded project or something?

RatCornu,

Thanks! Actually, I decided to make this library during a OS course in which I made a microkernel (non usable but you can found it here). So currently the project is only to make this library, and I hope other projects will begin to use it if it becomes enough stable ^^

sugar_in_your_tea,

Have you looked at Redox OS? It’s a microkernel-based OS written in Rust, and I’m guessing they could use something like this. I don’t know what support they already have, but surely they don’t have every basic filesystem implemented.

That said, the GPL v3 may be problematic, depending on the project. Still cool regardless though.

RatCornu,

Thanks! Yes I look into RedoxOS and I would like to take a look deeper in it to see if the FS could be interesting to implement

sugar_in_your_tea, (edited )

Still working on my P2P Lemmy/Reddit alternative. I made the UI prettier and got CI all figured out. It’s written with Iroh and Tauri, with React on the FE.

So this week will be filling in the basic features (voting, commenting, etc). And maybe a little bit of testing NAT traversal and whatnot.

If I get super productive, I can start playing around with decentralized moderation. That’s the most interesting part of the app, and I have some POC code for it, just need to add in the data and start tuning (will probably scrape some Lemmy data 🙃). Once that’s there, I’ll be ready to share my project publicly for the first time (😧).

unabogie,
@unabogie@urbanists.social avatar

@sugar_in_your_tea @secana sounds fun. You should definitely post the repo when it's ready for contributions.

sugar_in_your_tea,

Certainly!

I still need to think about what I want in terms of licensing (it’s currently MPL 2.0), but once I figure that out, I’d love some help. Also, naming things is hard. 🙃

taladar,

For the name maybe you could do some sort of play on the expression “spread the word” since it is distributed? Probably not something you want to use verbatim though since it would be hard to search.

sugar_in_your_tea,

Yeah, I’ve been looking at variations of “handbill.” I have a name with a decent domain and everything, but it’s hard to pronounce by E. Asians and taken by another popular project.

But I have a fallback plan, so I’m gonna go with it unless I think of something better.

voklen,

This week I’m working on the backend for a little platform that I’m making for debating. Where each side can make points and reply to others people’s points, then after a point has been argued out to the bottom it either goes green to show it still stands or grey to show there’s a good counter-argument. The frontend is made with SolidJS and I’m really having fun making it so far.

robinm,
@robinm@fosstodon.org avatar

@voklen @secana This feels like an interesting idea. I tought a lot (without success) on how to make progress on complicated technical subjet where a lot of emotions and widely different incompatible designs may coexist. One such example of a complex topic is adding (or not) named arguments to Rust. Maybe your tool cool help to get some sense of all the arguments and even beeing able to take glimpse of the big picture!

voklen,

I do quite like that idea, I think I’ll have the best points from each side at the top, the ones that have been disputed at the bottom, and the ones currently in discussion in between. This will hopefully give an overview of the best arguments from both sides.

On a separate note, I was thinking of using this for more political discussions but I do like the idea of having technical subjects as well so will add them in.

robinm,
@robinm@fosstodon.org avatar

@voklen What makes it complicated if when you have a problem with 5 sub-issues, and multiples possible solutions but none of them solves all 5 sub-issues. Even worse, some being more efficicient to solve 1 or 2 sub issue while making the 4th or 5th much worth. If your idea can take care of such complicated and heated debates that would be amazing.

voklen,

That is quite a tricky situation to handle, there will be the option to suggest edits though so hopefully over time the arguments on each side will get clearer even if they were heated at the start.

taladar,

It would be great if we could use a tool like that to discuss each major political issue once and only add to the discussion if truly new arguments appear instead of going in circles with the same arguments all the time.

voklen,

That was exactly the original inspiration for this, we’ll see how well it works out.

PlexSheep,

I’m still working on a benchmark for my wordle solver. The thing itself works, but I want it to print statuses while benching.

I cannot do it. I’ve spent hours on this, even tried to make the bench async and run it in a separate Tokio task. I cannot share my bench strict over a thread, and cloning is impossible too, because of something.

Sometimes, the lifetime and ownership stuff of rust really gets annoying. C would’ve just done the stuff and be done with it. (Maybe)

secana,

I you share your code here, maybe someone can help.

PlexSheep,

The whole code is here

(It does not compile right now)

I understand why it does not work, but I don’t know how to achieve what I’m looking for.

This is the code snippet from the binary:


<span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">let</span><span style="color:#323232;"> wl </span><span style="font-weight:bold;color:#a71d5d;">= </span><span style="color:#323232;">BuiltinWList::default();
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">let</span><span style="color:#323232;"> builder: GameBuilder<'</span><span style="font-weight:bold;color:#a71d5d;">_</span><span style="color:#323232;">, BuiltinWList> </span><span style="font-weight:bold;color:#a71d5d;">= </span><span style="color:#323232;">game::Game::builder(</span><span style="font-weight:bold;color:#a71d5d;">&</span><span style="color:#323232;">wl)
</span><span style="color:#323232;">        .</span><span style="color:#62a35c;">length</span><span style="color:#323232;">(cli.length)
</span><span style="color:#323232;">        .</span><span style="color:#62a35c;">max_steps</span><span style="color:#323232;">(cli.max_steps)
</span><span style="color:#323232;">        .</span><span style="color:#62a35c;">precompute</span><span style="color:#323232;">(cli.precompute);
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">let</span><span style="color:#323232;"> solver: AnyBuiltinSolver<'</span><span style="font-weight:bold;color:#a71d5d;">_</span><span style="color:#323232;">, BuiltinWList> </span><span style="font-weight:bold;color:#a71d5d;">=</span><span style="color:#323232;"> cli.solver.</span><span style="color:#62a35c;">to_solver</span><span style="color:#323232;">(</span><span style="font-weight:bold;color:#a71d5d;">&</span><span style="color:#323232;">wl);
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">let</span><span style="color:#323232;"> bench </span><span style="font-weight:bold;color:#a71d5d;">= </span><span style="color:#323232;">BuiltinBenchmark::build(</span><span style="font-weight:bold;color:#a71d5d;">&</span><span style="color:#323232;">wl, solver, builder, cli.threads)</span><span style="font-weight:bold;color:#a71d5d;">?</span><span style="color:#323232;">;
</span><span style="color:#323232;">    trace!(</span><span style="color:#183691;">"{bench:#?}"</span><span style="color:#323232;">);
</span><span style="color:#323232;">
</span><span style="color:#323232;">    bench.</span><span style="color:#62a35c;">start</span><span style="color:#323232;">()</span><span style="font-weight:bold;color:#a71d5d;">?</span><span style="color:#323232;">;
</span><span style="color:#323232;">
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">loop </span><span style="color:#323232;">{
</span><span style="color:#323232;">        </span><span style="color:#62a35c;">sleep_ms</span><span style="color:#323232;">(</span><span style="color:#0086b3;">1000</span><span style="color:#323232;">);
</span><span style="color:#323232;">        println!(</span><span style="color:#183691;">"</span><span style="color:#0086b3;">{}</span><span style="color:#183691;">"</span><span style="color:#323232;">, bench.</span><span style="color:#62a35c;">report</span><span style="color:#323232;">());
</span><span style="color:#323232;">        </span><span style="font-weight:bold;color:#a71d5d;">if</span><span style="color:#323232;"> bench.</span><span style="color:#62a35c;">is_finished</span><span style="color:#323232;">() {
</span><span style="color:#323232;">            </span><span style="font-weight:bold;color:#a71d5d;">break</span><span style="color:#323232;">;
</span><span style="color:#323232;">        }
</span><span style="color:#323232;">    }
</span><span style="color:#323232;">
</span><span style="color:#323232;">    </span><span style="color:#0086b3;">Ok</span><span style="color:#323232;">(())
</span><span style="color:#323232;">}
</span>

From the CI


<span style="color:#323232;">error[E0521]: borrowed data escapes outside of method
</span><span style="color:#323232;">  --> src/bench/builtin.rs:79:18
</span><span style="color:#323232;">   |
</span><span style="color:#323232;">23 |   impl<'wl, WL, SL> Benchmark<'wl, WL, SL> for BuiltinBenchmark<'wl, WL, SL>
</span><span style="color:#323232;">   |        --- lifetime `'wl` defined here
</span><span style="color:#323232;">...
</span><span style="color:#323232;">75 |       fn start(&'wl self, n: usize) -> WResult<()> {
</span><span style="color:#323232;">   |                --------- `self` is a reference that is only valid in the method body
</span><span style="color:#323232;">...
</span><span style="color:#323232;">79 |           let th = std::thread::spawn(move||{
</span><span style="color:#323232;">   |  __________________^
</span><span style="color:#323232;">80 | |             Self::bench(n, report, solver, builder)
</span><span style="color:#323232;">81 | |         });
</span><span style="color:#323232;">   | |          ^
</span><span style="color:#323232;">   | |          |
</span><span style="color:#323232;">   | |__________`self` escapes the method body here
</span><span style="color:#323232;">   |            argument requires that `'wl` must outlive `'static`
</span><span style="color:#323232;">error[E0597]: `builder` does not live long enough
</span><span style="color:#323232;">  --> src/bench/mod.rs:54:32
</span><span style="color:#323232;">   |
</span><span style="color:#323232;">21 | pub trait Benchmark<'wl, WL, SL>: Sized + Debug + Sync
</span><span style="color:#323232;">   |                     --- lifetime `'wl` defined here
</span><span style="color:#323232;">...
</span><span style="color:#323232;">51 |             .for_each_with(report.clone(), |outside_data, _i| {
</span><span style="color:#323232;">   |                                            ------------------ value captured here
</span><span style="color:#323232;">...
</span><span style="color:#323232;">54 |                     .play(&mut builder.build().expect("could not create game"))
</span><span style="color:#323232;">   |                                ^^^^^^^----------------------------------------
</span><span style="color:#323232;">   |                                |
</span><span style="color:#323232;">   |                                borrowed value does not live long enough
</span><span style="color:#323232;">   |                                argument requires that `builder` is borrowed for `'wl`
</span><span style="color:#323232;">...
</span><span style="color:#323232;">62 |     }
</span><span style="color:#323232;">   |      - `builder` dropped here while still borrowed
</span>
copacetic,

Probably a little more fine tuning on my news bot. You can see it in action here.

secana,

Cool project idea! How did you come up with it?

copacetic,

I have seen something similar on Twitter a while ago. That one shut down, so i decided to build my own.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • rust@programming.dev
  • PowerRangers
  • DreamBathrooms
  • tacticalgear
  • magazineikmin
  • vwfavf
  • Youngstown
  • ngwrru68w68
  • ethstaker
  • slotface
  • rosin
  • mdbf
  • thenastyranch
  • kavyap
  • modclub
  • provamag3
  • Durango
  • cubers
  • osvaldo12
  • GTA5RPClips
  • everett
  • khanakhh
  • InstantRegret
  • Leos
  • tester
  • normalnudes
  • cisconetworking
  • anitta
  • megavids
  • All magazines