Skip Navigation
~~Most~~ many file types are just a renamed .zip
  • There are basically two types of files. Text files and binary files.

    Most information are stored in text files so humans can easily understand it, and it's easier to find errors, review, parse. But text storage takes more space than binary files. And many complicated softwares normally need multiple text files or data files, many of them just store them together as a zip file so that it's easier to handle. Examples are .docx,.pptx, etc files in MS Office, try unzipping them and see what they contain. Zipping also has advantages of reducing file sizes.

  • YouTube has found a new way to load ads | AdGuard Blog
  • That depends on what video player you use. Of we have control of that, then sure it works. I use mpv to play things, so for radio streams or live videos I can go back/forward as long as it's cached.

    But if it's the web service, even though the browser video player has something cached, the player is still controlled by the website. And considering most of the people use chrome/chromium derivatives or YouTube app, it wouldn't be hard for them to make it so that the player itself will collaborate with whatever they want to do.

    If YouTube was a separate organization it wouldn't have been the problem it is because of how Google has been taking over all the different parts they need for advertising.

  • Just Do Nothing It Is Impossible
  • I was thinking the same.

    Normally when you see the sign you just see "nothing" or "impossible" . But only on certain angle you see "nothing is impossible" , implying something that looks impossible is not impossible just look at it from a different angle.

    Which is fun, but still people who are driving by and just see one side, or see that sign just one side from their window all the time, and are mildly depressed, might not appreciate it.

  • Density saves nature
  • This. Whenever people use "if we don't eat meat we need this much less land" I'm immediately thinking if we don't need to plant all that grass and other things then people would just make more houses on those land not grow a forest.

  • Decision time
  • Now think, patents are similar things but for with more money. And imagine if someone else had similar idea and made slightly similar website you go sue them coz you had the idea first.

  • Off-Topic Friday
  • Those topics seems a little advanced for a Linux user without cyber security knowledge though. I personally don't understand any of them lol. I know what hardening is, what CVEs are; but except for few anecdotes like the logj4, xz, etc, I don't think I'd know enough to talk about the cyber security side of linux.

    I was thinking more along the side of daily life things. Like how programmer like linux because it's easier to develop things and manage environments and cross program compatibility.

  • Off-Topic Friday
  • What would be interesting topics in Linux for you guys. I am in a Linux student club, have no experience with cyber security except the generic things, and we are looking to attract cyber security students since Linux doesn't have many students to maintain club status.

  • [Help] Is there a way to detect all structs in the current crate that implement a certain trait?
  • Thank you. Yeah, something like this would work for me as I can add in a script and run it before compiling. But it won't be a cross platform solution and windows/mac users are probably not going to be able to do anything. Maybe if I do the same thing but from build.rs it'll work. I'll try that.

  • [Help] Is there a way to detect all structs in the current crate that implement a certain trait?

    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 } } }

    10
    [Discussion] Acrobat PDF forms support

    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.

    16
    [Help] How do I word my grant application to keep my software FOSS?

    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.

    20
    GitHub - Atreyagaurav/numrng: Terminal Command to generate list of numbers from human-readable representation
    github.com GitHub - Atreyagaurav/numrng: Terminal Command to generate list of numbers from human readable representation

    Terminal Command to generate list of numbers from human readable representation - Atreyagaurav/numrng

    GitHub - Atreyagaurav/numrng: Terminal Command to generate list of numbers from human readable representation

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

    > 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.

    1
    GitHub - Atreyagaurav/numrng: Terminal Command to generate list of numbers from human-readable representation
    github.com GitHub - Atreyagaurav/numrng: Terminal Command to generate list of numbers from human readable representation

    Terminal Command to generate list of numbers from human readable representation - Atreyagaurav/numrng

    GitHub - Atreyagaurav/numrng: Terminal Command to generate list of numbers from human readable representation

    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.

    6
    GitHub - Atreyagaurav/local-mpv: Run MPV with a webserver to control from local network

    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

    3
    GitHub - Atreyagaurav/local-mpv: Run MPV with a webserver to control from local network

    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

    1
    I made a Gtk GUI to open LaTeX Beamer file, so that you can extract some pages

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

    > Basically, you can choose some slides from an opened .tex file to copy. It also has the function to see which graphics files are included in the selected files, so you know which ones to copy. > > Here is the Github link: https://github.com/Atreyagaurav/beamer-quickie > > The PDF pages are shown using the SyncTeX (if available) so that you can visually choose the slides as long as there is a single .tex source file, (might still work without synctex for simple cases). > > I've made it on Linux, so it hasn't been tested in windows. You probably will need to compile gtk on Windows if you want to make it work. So if someone is really interested let me know, I can give instructions. Even in linux you'll need to install dependencies.

    10
    InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)TH
    thevoidzero @lemmy.world
    Posts 8
    Comments 109