Giter Site home page Giter Site logo

geopjr / collision Goto Github PK

View Code? Open in Web Editor NEW
135.0 135.0 14.0 1.49 MB

Check hashes for your files - A GUI tool to generate, compare and verify MD5, SHA-1, SHA-256, SHA-512, Blake3, CRC32 & Adler32 hashes.

Home Page: https://collision.geopjr.dev

License: BSD 2-Clause "Simplified" License

Crystal 86.66% Makefile 7.69% CSS 0.36% Python 5.30%
adler32 blake3 crc32 crystal gtk gui hacktoberfest libadwaita md5 sha-1 sha-256 sha-512

collision's Introduction

collision's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

collision's Issues

Follow-up from discussion

#46 got closed just as I pressed submit:
(happy to move it there if it is unlocked)

@Jonohas
I understand you could wish to shut down debate that way, or somehow deprive us of the logic behind our actions in so doing.
So far there is no such saving grace available.

@n0toose I agree a flirt can fail and that it is no big issue.
The difference between what must be a course of engagement for that to happen and "sexual attention or advances of any kind" being "unacceptable" is that the former is impossible if the latter is implemented. That isn't interpretative.
No jurisdiction employs personal perception as harassment, because it is ungovernable. The fabric of trust and the model of society erodes at that point, and in place you have ultimate authority in wielded and unnegotiated power.
If you don't think it exists as a word with meaning, why do you suppose it is there? It is re-defined.

A vested interest means sunken cost. Represented in the merit-part of meritocracy. As far as a fruitful project goes, it is a demonstration of ability.
To offer that is worth something. To me it represents my values, and authoritarianism does not.
That this is a smaller project doesn't mean it doesn't belong to a greater ecosystem.
I like it, and I am offering my contributions on the premise of not misrepresenting its values as far as I am concerned, and we agree there.
If you want to stop caring then that is fine by me, but it doesn't answer the problem I have.

As I have gone to such extents as to actually read the text-file, it isn't even just gain of power as it shifts, but actually a responsibility. The CoC places itself atop all else in this matter.

responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct,

Armed with interpretation of the vaguest of rationales possible, with total power and no oversight, do we get any reasoning for giving it all up, retroactively?

… and will communicate reasons for moderation decisions when appropriate.

I am not proposing that someone with ulterior political motives or anti-social proclivities are likely to enter this project anytime soon. What I am saying is that this happens because it is made possible.
I don't think the text-file is good, because when you bring up what it says, it differs completely from what people say it contains.

Change the license

Consider changing the license from the AGPL to the GPL.

The AGPL is for hosted software such as web applications offered as software-as-a-service. It makes little sense for a desktop application.

Most GNOME software seem to use the GPL license.

UI Responsive enhancements

Is your feature request related to a problem? Please describe.
When you narrow a lot the Collision window, the internal area which contains the hashes become too little for a convenient readability!

Describe the solution you'd like
Below a specific width, the content area inside the window should drop the use of left and right margins, like the Calculator app (see attachment)

Is it related to GNOME Human Interface Guidelines? Please add links.
Lists should have a minimum and maximum width, in order to support adaptive scalingHIG Boxed lists

Additional context

Current layout :
image

Calculator layout (what I actually suggest to implement)

Capture.video.du.2022-12-17.23-23-26.webm

Introducing the Collision extension for Nautilus

Is your feature request related to a problem? Please describe.
I've seen many people wanting to check the hash of files with one click from the file explorer. This extension tries to fix this issue!

Describe the solution you'd like
What I would like from you is to open a new repository about a Nautilus Collision extension, in order to submit my code.

I don't want to create a repository myself because I will not be able to continue its development!
I just want to share a first version of this extension, letting more motivated people to continue this work!
Additionally, I think it'll be more accurate if it's you, the author of Collision, that hosts the source code of this new project!

I hope you will understand...

Read hash from "checksum" files

Is your feature request related to a problem? Please describe.
Many online websites offer a "checksum" file which can usually be passed into the *sum tools to check against.

Describe the solution you'd like
Collision should be able to read the file, parse any hashes found and check against them if opened in the "verify file tool".

Additional context
#129

Rebrand?

The current branding has a few problems:

  • Many people have no idea what kind of "hashbrown" the name refers to, I thought it was about actual hash brownies :D
  • People think the icon is an egg or something weather related, the "food in paper bag" idea is not really getting across
  • The current icon is low contrast and needs better execution

I'm not sure what we can do about the name, I guess there's no way to avoid the drug association without completely changing the metaphor. I'd be happy to help brainstorm something else, but maybe keeping the name is fine if we make the icon something more generic and less weird for people who don't know the type of food this references.

Here's a concept for a more generic icon:

image

Since this app is already in Circle and on apps.gnome.org it'd be good to get this fixed sooner rather than later.

cc @jimmac @sophie-h

`Error target gi-crystal failed to compile`

Describe the bug
gi-crystal failed to compile because of missing dependencies that I have no idea how to install:

Error target gi-crystal failed to compile:
/nix/store/frriydwnf7v3dpayy5a6ki00qsp95iiy-binutils-2.38/bin/ld: cannot find -lgirepository-1.0 (this usually means you need to install the development package for libgirepository-1.0): No such file or directory
/nix/store/frriydwnf7v3dpayy5a6ki00qsp95iiy-binutils-2.38/bin/ld: cannot find -lglib-2.0 (this usually means you need to install the development package for libglib-2.0): No such file or directory
/nix/store/frriydwnf7v3dpayy5a6ki00qsp95iiy-binutils-2.38/bin/ld: cannot find -lgobject-2.0 (this usually means you need to install the development package for libgobject-2.0): No such file or directory
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
Error: execution of command failed with code: 1: `cc "${@}" -o /home/annaaurora/projects/Collision/lib/gi-crystal/bin/gi-crystal  -rdynamic -L/nix/store/firv3vzakvzg0qf1frxyxdjxpgsxslll-boehm-gc-8.0.6/lib -L/nix/store/cf720cm79g30in8klyd19mzbfh81xvlq-libatomic_ops-7.6.12/lib -L/nix/store/mmbj9as03r27jwa7qg0qvkdvp9xabngm-pcre-8.45/lib -L/nix/store/alvnhmybxvc251sz90zaid0l1xz907fk-libevent-2.1.12/lib -L/nix/store/585y3cdw8sv9xrl1krb2i4md21bnw1fi-libyaml-0.2.5/lib -L/nix/store/nbd9kijlxi8ppm70g1m85j7z31kbpqjx-zlib-1.2.12/lib -L/nix/store/c6wcf1ikq9l776yhcmfjrrbivc8n8paa-libxml2-2.9.14/lib -L/nix/store/mmrv9z6b5mf0b93izhizc4j0wnnb17hn-openssl-1.1.1q/lib -lxml2 -lgirepository-1.0 -lglib-2.0 -lgobject-2.0 -lyaml -lpcre -lm -lgc -lpthread -levent -lrt -ldl`

To Reproduce
Steps to reproduce the behavior:

  1. shards install

Expected behavior
Alls shards build and install.

Environment:

  • OS: NixOS
  • Install method: shards

Additional context
I have a suspiscion that this is a NixOS problem. I wanted to shards install to get the libadwaita bindings for packaging Collision for nixpkgs.

[Request]: Detect control files and automatically check for correspondence

Describe the request

Hello,

Would it be possible to implement a function that automatically detects the checksum file associated with a given file, opens it, extracts the string corresponding to the checksum and automatically compares it to the checksum file?

Let me explain:

Suppose I open a "linux.iso" file to calculate its checksum.
Let's imagine that next to it is the file "linux.iso.sha256" or "linux.iso.sha256sum", which is not uncommon, since the two files are often downloaded from the same web page, with the two links next to each other.
It would be very useful to automatically detect whether such a file exists next to the open file. Open it, extract the result (often files contain [result sha256]\t[filename, here it would be "linux.iso"] or the reverse order [linux.iso]\t[result sha256].

In short, adding a condition of this style to the opening of a :

input_file = "linux.iso"
control_file = ""
if input_file+".sha256" exists :
    control_file = input_file+".sha256"
if input_file+".sha256sum" exists :
    control_file = input_file+".sha256sum"
if control_file != "" :
    content = read(control_file).split("\t")
    if content[0] == input_file :
        digest = content[1]
    else :
        digest = content[0]
    #when calcul input_file digest, verify if corresponding to readed digest, without others manipulations users.

Thank you for everything you can do!

Implementation Details

German Wikipedia article

In the German translation of the app, the English Wikipedia article is used:

"https://en.wikipedia.org/wiki/Comparison_of_cryptographic_hash_functions"

There is a similar comparison of Hash funcions in the German Wikipedia. However, it's not a page on it's own, but part of the page about cryptographic functions in general:

https://de.wikipedia.org/wiki/Kryptographische_Hashfunktion#%C3%9Cbersicht_von_Hashfunktionen

Should we use that instead of the English artcicle or not?

UI breaks sometimes

Describe the bug
While debugging #58 I noticed that sometimes the UI would break (spinner misaligned to the left forever)

To Reproduce
Steps to reproduce the behavior:

  1. Pass welcomer
  2. Click on the header button with the label "Open" on the left side
  3. Select a file
  4. UI might break

Expected behavior
New file gets loaded and the main view is shown

Environment (please complete the following information):

  • OS: GNOME OS
  • Install method: Flathub

Additional context
Since the spinner wasn't aligned properly, I suspect it happens during file_set.

Misalignment of texts in the check tab

Describe the bug
In the “Check” tab, if you narrow the window, in such a way the “checksum” or “file” string needs to use more lines than the other, the squares placed below them become misaligned!

To Reproduce
Steps to reproduce the behavior:

Note : This bug only occurs if you have configured a language in Collision which translates the “checksum” or “file” string into multiple words (in French, for example, see attachment)

  1. Open a file in Collision
  2. Go to the “check” tab
  3. Narrow the window, again and again, …
  4. …until you see that squares becomes misaligned

Expected behavior
Both strings should be vertically aligned, and squares behind should stay aligned!

Screenshots
image

Environment (please complete the following information):

  • OS: Arch Linux (btw)
  • Install method: AUR

Allow launching multiple instances

Is your feature request related to a problem? Please describe.
I find this app useful to check if two files are identical, right now I have to copy two hashes into a text editor and compare them there.

Describe the solution you'd like
Allow opening multiple windows of the app.

Flathub protal directory

Describe the bug
When you open an app with the Flatpak version of the App, you see the portal-location of the file and not the actual file location.

Screenshot from 2022-03-15 10-29-30

Expected behavior

To fix this, you should take a closer look at the NativeFileChooserApi spec. There is a specific method to get the actual location and not the security-portal symlink.

https://docs.gtk.org/gtk4/class.FileChooserNative.html

Environment (please complete the following information):

  • OS: Fedora Linux 35
  • Install method: Flathub

Tools view redesign

The current layout of the "tools" view is a bit convoluted, a few ideas:

  • Rename to "Verify", or something else that's more specific to what the view actually does, and a different icon e.g. test-pass-symbolicfrom devkit
  • Larger entry for the hash
  • Better flow for the layout, i.e. first the instructions, then the inputs, then the result
  • No verify button, just check automatically when either the hash or the file changes
  • More explicit confirmation whether or not the hash matches

image

[Request]: Disabling/enabling hash functions

Describe the request

... -> Settings: toggles for disabling/enabling sums.
This feature would be useful for larger files, as it would speed up the calculation process.
I also usually only need one type of hash.

Implementation Details

Display filename in hash view

Is your feature request related to a problem? Please describe.
My brain.

Describe the solution you'd like
Display the filename (or the path?) of the hashed file, so that people don't forget which file was chosen (useful especially when having to hash multiple files).

Investigate gtk logs on flatpak

Describe the bug
On flatpak there are some non-fatal errors & logs that do not appear when running outside of it.

To Reproduce
Steps to reproduce the behavior:

  1. Install Collision from flathub (or build the flatpak locally)
  2. Run it

Expected behavior
No logs should appear (unless --debug flag was passed)

Logs

(collision:2): GLib-CRITICAL **: 01:19:30.160: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(collision:2): GLib-CRITICAL **: 01:19:30.179: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(collision:2): GLib-CRITICAL **: 01:19:30.244: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(collision:2): Gtk-WARNING **: 01:19:37.687: Allocating size to AdwStatusPage 0x55651ff9e390 without calling gtk_widget_measure(). How does the code know the size to allocate?

(collision:2): Gtk-WARNING **: 01:19:48.495: Allocating size to AdwStatusPage 0x55651ff9e390 without calling gtk_widget_measure(). How does the code know the size to allocate?

Environment (please complete the following information):

  • OS: Arch Linux
  • Install method: Flathub

Additional Context
Related(?): https://gitlab.gnome.org/GNOME/gtk/-/issues/4593

[Request]: Validate appdata

Describe the request

Many GNOME apps and related applications validate their metadata and desktop files using appstreamcli or related tools.

The Collision app does not appear to be integrated with these validation tools. Utilizing these tools could help identify errors before the new release is pushed to repositories.

Implementation Details

Improve hashes view

A few things that could be improved here:

  • The hashes don't need to be in entries, since you don't need to edit them and there's a button for copying. I'd just use regular title/subtitle rows, with the hash as subtitle
  • Hashes might be easier to read if they had spaces in regular intervals, e.g. every 4 characters

image

Case sensitive

Describe the bug
When comparing a file to a correct hash and it is written in full capital letters it gives that the hash is false despite it being true

To Reproduce
Steps to reproduce the behavior:

  1. Open file
  2. Put a full capital hash

Expected behavior
A clear and concise description of what you expected to happen.
To verify as correct

Environment (please complete the following information):

  • OS: Fedora 36
  • Install method: Flathub

Misaligned checksum and file cards with translated strings

Describe the bug
Misaligned checksum and file cards when translated strings are more than one line long at the default window size.

To Reproduce
Steps to reproduce the behavior:

  • Test Collision with translations where "Checksum" or "FIle" are two lines long.

Expected behavior
That the two cards were aligned.

Screenshots
image

Environment (please complete the following information):

  • OS: Fedora Silverblue 36
  • Install method: GNOME Builder

Additional context
It is solved when the window size is increased to a size large enough for the string to fit on one line.

build error - libadwaita was not found in git

building from source giving following error :

Locked version 1.0.0+git.commit.f96452f91780b356e5c33f2e48567920b8eac5b8 for libadwaita was not found in git: https://github.com/geopjr/libadwaita.cr.git

[Request]: Don't show empty state on screenshot

Describe the request

Appdata screenshots should ideally show off the app in action while you're doing stuff, rather than the initial emtpy state. In this case something like this would be more appropriate:

image

Implementation Details

Drag N Drop

Is your feature request related to a problem? Please describe.
I opened this application to quickly do a hash gen.
I took the file, and did a DnD from the File Manager.
I noticed, it did not load 😢

Describe the solution you'd like
Support DnD to hash a file

Scrolling in tools while hovering one of them will prevent window scroll

Describe the bug
While scrolling in the tools view (without dragging the scrollbar) while your cursor is hovering one of the two tools, the window will not scroll.

To Reproduce
Steps to reproduce the behavior:

  1. Open a file
  2. Go to the verify tab
  3. Resize the window as such a scrollbar is needed
  4. Hover one of the two tools
  5. Scroll

Expected behavior
The window scrolls

Environment (please complete the following information):

  • OS: Arch Linux
  • Install method: Manually

Additional context
This is due to the use of StatusPage for each tool, probably replace it with Box + Labels.

Failed verification for Fedora 37, but should succeed

Describe the bug
When checking fedora workstation iso, the verification fails, but it should succeed. If you verify using different methods (e.g. tutorial on https://getfedora.org/en/security/ or manually checking sha256 checksum with content of the checksum file).

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://getfedora.org/en/workstation/download/
  2. Download "Fedora 37: x86_64 Live ISO"
  3. Go to https://getfedora.org/en/security/
  4. Download "Fedora 37 x86_64 (iso) CHECKSUM"
  5. Open iso file in collision
  6. Click Verify
  7. Open checksum file
  8. Failed

Expected behavior
Verification successful

Screenshots
Screenshot from 2022-11-29 15-42-05

Environment (please complete the following information):

  • OS: Pop!_OS 22.04
  • Install method: Flathub

Additional context
In terminal, using method from fedora tutorial I get also a warning:"sha256sum: WARNING: 19 lines are improperly formatted". It might be related.

Memory issues

Describe the bug
Sometimes Hashbrown crashes with no error or with Invalid memory access.

To Reproduce
Steps to reproduce the behavior:

  1. Open random files
  2. Crash

Expected behavior
Hashbrown doesn't crash and displays the hashes of the file.

Environment (please complete the following information):

  • OS: ArchLinux
  • Install method: Manually

Additional context
It appears that this doesn't happen (at least not often enough for me to reproduce) on the flatpak version. After some testing I narrowed it down to the run_cmd function. This started happening after adding SHA512 support.

If anyone gathers any kind of logs, feel free to post them below until I find a solution.

Support sources | multiple files, text

Describe the request

Hello. I suppose there is potential to cover advanced options:

note: a relevant suggestion of an addition of an option to disabling/enabling algorithms exits, so I won't duplicate that suggestion.

Suggestions:

  • Along with the existing support of the source which is illustrated by a single file, it would be advantageous to have supports for these sources: multiples files and single text string.
  • Bringing those supports would require in interface the presence of a new option –e.g. Source or View– in order to select the view accordingly to the source; File, Multiple files and Text.
    • Common to each view | ability to compute hashes
    • Common to File and Text views | presence of a field in which to insert a check sum

Implementation Details

Mobile version

Describe the solution you'd like
Hashbrown builds for mobile devices.

Additional context
As shown in #18, Hashbrown now has a responsive design, allowing it to work on tiny screens like the ones on mobile phones.

At the time of writing this however, Crystal doesn't have official builds for aarch64/whatever architectures a mobile device with Linux probably has, so this is paused until then. (This won't be enabled in metainfo until then as well).

If your device is x86_64, Hashbrown should work as expected.

Allow building in Builder

I just wanted to try and build the app locally in Builder, but looks like there's no Flatpak manifest in the repo. It'd be great to have that to make drive-by contributions and QA easier.

Sha512sum Support?

Greetings Hashbrown Dev(s),

Great little piece of software you got here! Looks very promising indeed and I really dig the name too. I'm currently using EndeavourOS Gnome 40.4 and while it is rolling release, I do tend to download their .iso every so often to test in a Boxes VM usually to help troubleshoot things for new users. Now admittedly I'm not an expert in all the different type of hash/sum/etc types so this question might be irrelevant/redundant, but to check the EndeavourOS .iso they use Sha512sum, which as far as I can tell Hashbrown doesn't offer support for it.

So I'm curious to know if it's possible to eventually include that support in a later release or if it's not something that's on the devs road-map, please let me know. If you're curious to see the EndeavourOS .iso and Sha512sum, you may find it here halfway down the page: https://endeavouros.com/latest-release/

GTK 4, libadwaita, new HIG

Hashbrown should switch to GTK 4, use libadwaita and comply with the new HIG.

Currently crystal-gobject supports only GTK 3. However there's a promising lib for gtk4 available but as the readme mentions, it's not ready yet.

There were some attempts to use libhandy (some public some local) but since GTK 4 is here, it might be better to postpone them until there's stable support (for both gtk4 and libadwaita) in Crystal.

In regards of the new HIG, the plan is to:

  • Move the from GtkStackSwitcher to AdwViewSwitcher (+ AdwViewSwitcherTitle & AdwViewSwitcherBar) with Title and Bar toggling dynamically based on window size.
  • Move to AdwApplicationWindow
  • Wrap labels and other widgets to support a wider variety of window sizes
  • Use GtkListBox + rows instead of grids & boxes
  • GtkPopoverMenu

(More items might be added to the above list)

[Bug]: Hash file check does not work in Collision

Describe the bug

Could be a bug or feature. Not sure.
Hash file check fails, tried multiple .iso or packaged image downloads of various linux distributions. Select file e.g. .iso, .img etc select sha256.sum text file. Observe it fails.

Steps To Reproduce

  1. download mint LMDE6
  2. save as sha256sum.txt
  3. save as sha256sum.txt.gpg
  4. open collision
  5. select hash tab and file downloaded in 2.
  6. select verify tab and file downloaded in 1.
  7. Verify

Fails
sha256sum.txt

Logs and/or Screenshots

Screenshot from 2024-02-18 16-16-34

Operating System

Ubuntu 23.10 AMD64, Wayland

Package

Flatpak

Troubleshooting information

When i use NEMO and perform hash verification it succeeds. To make it work open sha256sum text file with hash corresponding to your downloaded iso:
e7583d7428a36b54986d4bf29ebcc000f6959ee701c2379ca214fac6b32fe479 *lmde-4-cinnamon-32bit.iso
fb6fb4f507f1de979a8922f9e503ae0ad8109e87ea1a9a163a6b30f819971256 *lmde-4-cinnamon-64bit.iso
1116d611be80ad496bdc5a7c0444f63564539891f2176f9b134ff9630c6b91c8 *lmde-5-cinnamon-32bit.iso
8f351d30e97f3a9c3f3848fde781c7f3758abd0f8ddf120827d98a5832cfa027 *lmde-5-cinnamon-64bit.iso
*40a9988cc6edd253bff9fcab422aec1b2c81ab3aa4d34b91b08277592c5fab28 lmde-6-cinnamon-32bit.iso
96963cac1ac2ad4ba38414e618adbcdf64a6faadc33ddf53889fa3dc74d59df4 *lmde-6-cinnamon-64bit.iso

Select file and verify:

Succeeds

Additional Context

Collision: 3.7.1
I think what collision is doing is not verifying download against all hashes identified in the text file, and/or selecting the first, which doesnt match lmde-6.

What it should be doing is match the file name of downloaded file and parse the hash for the corresponding sha256 if more than one exists, as is the case for most downloaded repo image type files.

editing the sha256sum hash file to only have the following value:
40a9988cc6edd253bff9fcab422aec1b2c81ab3aa4d34b91b08277592c5fab28
also caused has verification failure so it could be a bug because I would think at least that works.

Chinese translation not work

Describe the bug
The simplified Chinese translation not work for Collision.

To Reproduce
Steps to reproduce the behavior:

  1. install from flathub
  2. start collision
  3. the app UI displayed in English

Expected behavior
Displayed in Chinese.

Environment (please complete the following information):

  • OS: Fedora Silverblue 35
  • Install method: flathub

Additional context
You can see the terminal messages of app running in four different environments bellow:
2022-03-15 18-32-23 的屏幕截图

I don't know if it relates to the same bug of Bottles and Junction.

Font size and colour options

Is your feature request related to a problem? Please describe.
It is difficult to read in dark mode. The background is light grey and the text is also grey.

Describe the solution you'd like

  1. I wish I could set the font size.
  2. I wish the contrast was higher (i.e., brighter text on darker background).

Is it related to GNOME Human Interface Guidelines? Please add links.

Additional context
image

Application freezes when opening big files

Describe the bug
When uploading a big file (2Gb or more) to Hashbrown, it freezes and requires a "Force Quit" to be closed.

To Reproduce
Steps to reproduce the behavior:

  1. Get ahold of a big file. I used Fedora Silverblue's and GNOME OS Nightly's iso files.
  2. Open the big file on Hashbrown
  3. Wait for it to freeze

Expected behavior
The app should not freeze with big files. My intended use for this app was verifying the checksums of iso files, which are typically huge.

Screenshots
image

Environment (please complete the following information):

  • OS: Fedora Silverblue 35
  • Install method: Flathub

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.