thevoidzero

joined 2 years ago
[–] thevoidzero@lemmy.world 2 points 3 days ago

Tidal energy is being used in many countries. You don't have to block the canals. You can build structures in coastlines, or just put underground generators that run automatically without any dams because the water moves without the dams as well

[–] thevoidzero@lemmy.world 3 points 4 days ago

It's the "I need to give a gift" mentality people have, specifically old people. I have told Grandma/Grandpa that I don't need birthday gifts and such, but they just keep giving gift cards. Because not giving something makes them think they're bad. While companies make profit, I'd honestly like straight cash over gift cards.

[–] thevoidzero@lemmy.world 1 points 5 days ago (1 children)

If it's not we got something from virus that helped us, and chimps got something that limited them. Then it's funnily possible for a global pandemic to make our whole population stupid. Normally evolution would work out and smarter population would do better, but for us it depends on which side has nukes. So ...

[–] thevoidzero@lemmy.world 1 points 5 days ago

I think it's the case of "they're required to do that by government" or sth like that. Otherwise they would not do it, furthermore they might just have "errors" regularly that takes more money from people

[–] thevoidzero@lemmy.world 2 points 5 days ago

True, but we have to know AI is making it wayy worse. The same people who were barely getting by, are now using AI to write softwares that'll be used for years to come. And other people that don't have developer experience and aren't good themselves don't have any idea and really trust those developers because "they make things happen" like "magic". Previously they'd take a lot more time to make something work, it'd be shitty, but it'd be obvious for any developers that come after them. Now detection is hard, and the volume has increased.

[–] thevoidzero@lemmy.world 2 points 5 days ago (1 children)

I know, I have the same problem after leaving Reddit. I used to get reviews, and users for my programs when I shared it there. In lemmy I rarely get views

[–] thevoidzero@lemmy.world 7 points 6 days ago* (last edited 6 days ago) (4 children)

And then you're back to the social media, just on the other side

[–] thevoidzero@lemmy.world 2 points 6 days ago (1 children)

If you're sharing graphical elements then I prefer pdfs when you know it's final, and you want to make sure people see it how you intended, and you want it to be vector format. Similar thing if the information is some complex format/layout. People can zoom in instead of having their device messing it up.

But I agree on simple contents like documents, tables, and such

[–] thevoidzero@lemmy.world 5 points 6 days ago

Honestly if you're starting from scratch, I'd say learn rust. It's not that hard if it's your first language because you don't have to unlearn stuffs from other languages. Plus the compilation errors will really teach you what you did wrong how to fix things. And using clippy, it'll tell you how to do things better and remove redundancies.

C is easy to learn in terms of syntax, but it's hard to write correct code as the program gets more complex. Python is easy to write but doesn't teach you much. I find rust as easy to write as python, but c like speed.

[–] thevoidzero@lemmy.world 1 points 1 week ago

I think that's one of the problem with people that are only of a "finish this task cheaply for now" mind.

Having something run in 0.1 second vs 1 second is fine when a user is running it for one thing. So they consider it good or instantaneous. And later they have to do it for 1000 other things, and they don't think that saving time in that "instantaneous result" there would save so much more time. They just go "it's 1000 of these so it takes time". I've found functions that open a db file, read one entry and close it. Then that function is called for each entry they have to read later. In a preprocessing step where they know all the entries they need beforehand. And even the data tyoe to store it is nor preallocated, they just append it on every data read; again on a fixed number of entries they need.

I understand performance not being the most important thing, but I'd expect least a basic understanding of design that has unnecessary processing.

[–] thevoidzero@lemmy.world 1 points 1 week ago

I think that's true for many tools. Programming tools are the one thing that has most advancement because so many programmer are there to improve on them. And even if you don't use it, not knowing about it completely makes it a bit odd. Although most tools I have used to make flamegraph were as easy as just running the program as a argument to another program that tracks the function calls.

[–] thevoidzero@lemmy.world 5 points 1 week ago

That's how our brain works. We don't remember every detail from our walks either. Repeated actions get less cognitive power. I hate driving, but if it's going smoothly sometimes I get thus, but when the traffic is bad, people are changing lanes a lot and you have to accelerate and break frequently, then you need to be actively present.

 

Hi all,

I like programming and do a lot of hobby projects. But I don't really do web development, or android, which seems to be what most work are about.

I like making desktop applications, computational projects, etc. i also like problems where I can solve/automate tasks using programming. I have like 100 projects in GitHub now, and I love contributing to open source community. But it sometimes makes me feel like I could be using that time to do things that could make money instead of working on projects that noone will use.

I'm looking for small jobs, independent tasks I could do for minor income. But if it's in python or rust, I am open to a bit larger projects.

 

cross-posted from: https://lemmy.world/post/30361372

Hi all,

I don't know where would be the best place to post this, but I wanted some people's feedback on a DSL that I wrote for network analysis.

I am using nom for writing the lexer and parser, then using abi_stable crate for data types so that you can write plugins to the language and load them dynamically as well.

This language is made to work by loading a tree graph (network) and then call a bunch of node or network functions that work on it. There are different ways you can run functions, and use node/network attributes.

I am mostly self-taught, so it took a lot of years to get to a level where I could write something like this. I am learning a lot and having a lot of fun in the process, but I want this to develop into something that can have a practical usefulness to people. Since I am in the field of hydrology, I am making it with river networks in the mind.

To try it out, you can either download the executables for windows from the releases page, or you can compile it using cargo (for all OS; except android where GUI won't work, CLI will work in termux). I have some basic examples in the Learn By Examples section of the User Guide that you can follow.

Please let me know if you can't compile/use it as well. I have tried to make sure it has required instructions, but I could have missed something.

 

Hi all,

I don't know where would be the best place to post this, but I wanted some people's feedback on a DSL that I wrote for network analysis.

I am using nom for writing the lexer and parser, then using abi_stable crate for data types so that you can write plugins to the language and load them dynamically as well.

This language is made to work by loading a tree graph (network) and then call a bunch of node or network functions that work on it. There are different ways you can run functions, and use node/network attributes.

I am mostly self-taught, so it took a lot of years to get to a level where I could write something like this. I am learning a lot and having a lot of fun in the process, but I want this to develop into something that can have a practical usefulness to people. Since I am in the field of hydrology, I am making it with river networks in the mind.

To try it out, you can either download the executables for windows from the releases page, or you can compile it using cargo (for all OS; except android where GUI won't work, CLI will work in termux). I have some basic examples in the Learn By Examples section of the User Guide that you can follow.

Please let me know if you can't compile/use it as well. I have tried to make sure it has required instructions, but I could have missed something.

 

Hi all.

I want to develop a plugin system within my program, and I have a trait that functions defined by plugins should implement.

Currently, my code gets all the functions in a HashMap and then calls them by their name. Problem is, I have to create that hashmap myself by inserting every function myself.

I would really appreciate it if there was a way to say, suppose, all pub members of mod functions:: that implement this trait PluginFunction call register(hashmap) function. So as I add more functions as mod in functions it'll be automatically added on compile.

Pseudocode:

Files:

src/
├── attrs.rs
├── functions
│   ├── attrs.rs
│   ├── export.rs
│   └── render.rs
├── functions.rs
├── lib.rs

Basically, in mod functions I want:

impl AllFunctions{
    pub fn new() -> Self {
       let mut functions_map = HashMap::new();[[
       register_all!(crate::functions::* implementing PluginFunction, &mut functions_map);
       Self { function_map }
  }
}

Right now I'm doing:

impl AllFunctions{
    pub fn new() -> Self {
       let mut functions_map = HashMap::new();[[
       crate::functions::attrs::PrintAttr{}.register(&mut functions_map);
       crate::functions::export::ExportCSV{}.register(&mut functions_map);
       crate::functions::render::RenderText{}.register(&mut functions_map);
       // More as I add more functions
       Self { function_map }
  }
}
 

TLDR: I recently found out there is "deprecated" XFA format that acrobat still uses in their programs, and government forms have those for dynamic contents in the form that we cannot fill using other softwares. Looking for solutions.


This has been a problem since a long time. Back in 2020 I had dual boot because I needed acrobat to fill PDF forms, but after finding xournal++ program I nuked windows partition. Windows update messing up grub was one of the reason I decided to nuke windows and looking at the posts recently it's still a huge issue.

So the problem I recently encountered is that even the government issued PDF forms need acrobat reader (which is free software for PDF, but only available in windows and mac). Which I didn't think would be an issue and just filled the form in Firefox.

Turns out that was problematic as the PDF forms has fields that are automatically filled, calculated from other fields, only made available when certain checkboxes are checked, etc. and Firefox doesn't support that. Even trying to install the acrobat reader snap (which uses wine) in a VM and opening the PDF on it didn't work. The UI makes me think it's a really old version of the reader.

So without searching for other devices (and filling a PDF with my sensitive information) what solution is there? Installing windows is a hassle even in a VM, and it will use up precious SSD memory. But that's the only solution I can think of.

I also found masterpdf or something like that which the Arch wiki says has support for that, but it didn't work. It says XFA forms are converted to acro forms, and the dynamic part doesn't work. There are websites that promise to work for such forms, but I'm not going to be putting sensitive info on web apps.

 

Hi everyone,

I'm hoping there are people here who work on FOSS and have applied for grants to support their software financially. I am applying for a grant opportunity that is asking for a software from US gov agency.

My requirements:

  • I want to publish it under Open Source Licenses like GPL (not MIT) so other corps can't take this to use on their product,
  • The grant agency will get the source code, they can do whatever as long as the license is held,
  • I will develop the features they want, and request during the duration of grant,
  • I will want to continue development independently after the grant, or apply for more grants from other organizations,
  • To clarify the previous point, I do not want to give them the final product so they own it, and I can no longer do anything on the program.

So, if anyone has done similar things, please give me advice on this. Their requirement says "a web repository" should be provided at the end, so I think I can apply with the intention of giving them the software code while keeping the rights. But I don't want to make a mistake in application/contract and lost the rights to the program, I want to develop a lot further than just the features they want for their use case.

Or at least dual license to protect the Open Source Side while giving the grant organization rights to take the code for their other programs because of the money they spent.

 

This feels like it should already be a feature in a terminal. But I didn't find anything that let me do this efficiently.

I had a rust library for converting list like 1-4,8-10 into vectors, but thought I'd expand it into a command line command as well, as it is really useful when I want to run batch commands in parallel using templates.

I wanted to share it since it might be a useful simple command for many people.

 

cross-posted from: https://lemmy.world/post/17984566

Hi all,

mpv communities seem to be tiny in lemmy, so I'm sharing it here.

This is a program I made for music control from local network.

You can run it in a computer with some local media files, or youtube links or any other links yt-dlp supports. And then with the server, you can control the media player and the playlist from any devices in your local network. So that you can just show a QR code or something to house guests for parties, or have it bookmarked within family to control the music.

I wanted to make something similar to how youtube app let's you play in TV and such, but my skills were not enough to do that. So I tried a simple alternative that works with computers. In an ideal world, I could make "Play with local mpv server" option come while on other android apps, but I have zero experience in android app development and it looks complicated.

I know some other programs also give option to control media, but I wanted to give it a go with a simple implementation. Making the web-server was a tricky part. Only tutorial from the rust book was useful here as every other web server developement in rust seems to be async ones using libraries so I would have to make a complicated system to communicate with the mpv. Using the simple Tcp connection let me make a thread with mpv instance in the scope. I do need to support https and file uploads and other things, but I haven't had any luck finding a solution that works with simple Tcp connection like in the tutorial. Let me know if you know anything.

Github: https://github.com/Atreyagaurav/local-mpv

 

Hi all,

mpv communities seem to be tiny in lemmy, so I'm sharing it here.

This is a program I made for music control from local network.

You can run it in a computer with some local media files, or youtube links or any other links yt-dlp supports. And then with the server, you can control the media player and the playlist from any devices in your local network. So that you can just show a QR code or something to house guests for parties, or have it bookmarked within family to control the music.

I wanted to make something similar to how youtube app let's you play in TV and such, but my skills were not enough to do that. So I tried a simple alternative that works with computers. In an ideal world, I could make "Play with local mpv server" option come while on other android apps, but I have zero experience in android app development and it looks complicated.

I know some other programs also give option to control media, but I wanted to give it a go with a simple implementation. Making the web-server was a tricky part. Only tutorial from the rust book was useful here as every other web server developement in rust seems to be async ones using libraries so I would have to make a complicated system to communicate with the mpv. Using the simple Tcp connection let me make a thread with mpv instance in the scope. I do need to support https and file uploads and other things, but I haven't had any luck finding a solution that works with simple Tcp connection like in the tutorial. Let me know if you know anything.

Github: https://github.com/Atreyagaurav/local-mpv

view more: next ›