https://github.com/mattsse/cargo-memex Skip to content Sign up * Why GitHub? Features - + Mobile - + Actions - + Codespaces - + Packages - + Security - + Code review - + Project management - + Integrations - + GitHub Sponsors - + Customer stories- * Team * Enterprise * Explore + Explore GitHub - Learn and contribute + Topics - + Collections - + Trending - + Learning Lab - + Open source guides - Connect with others + The ReadME Project - + Events - + Community forum - + GitHub Education - + GitHub Stars program - * Marketplace * Pricing Plans - + Compare plans - + Contact Sales - + Education - [ ] [search-key] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} mattsse / cargo-memex * Notifications * Star 90 * Fork 1 compile rust code into memes View license 90 stars 1 fork Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 1 branch 0 tags Code Clone HTTPS GitHub CLI [https://github.com/m] Use Git or checkout with SVN using the web URL. [gh repo clone mattss] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @fuwn fuwn docs(readme): remove platform limitation notice (#2) ... 64cf75b Jun 7, 2021 docs(readme): remove platform limitation notice (#2) 64cf75b Git stats * 26 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github/workflows update ci Jun 6, 2021 resources remove unused Jun 6, 2021 src feat(global): windows support Jun 7, 2021 .gitignore chore(git): ignore intellij ide files Jun 7, 2021 Cargo.toml bump version Jun 7, 2021 LICENSE-APACHE initial commit Jun 5, 2021 LICENSE-MIT initial commit Jun 5, 2021 README.md docs(readme): remove platform limitation notice (#2) Jun 7, 2021 View code cargo-memex Installation cargo install cargo-memex Usage cargo memex build tradeoffer cargo memex build --release cargo memex build ./ meme.jpg cargo memex build "https://meme.jpg" cargo memex build --subreddit dankmemes cargo memex exec meme.jpg cargo memex run Roadmap Known Limitations README.md cargo-memex github crates.io docs.rs build status Besides their size, rust binaries have a significant disadvantage: rust binaries are not memes yet. cargo-memex is a cargo subcommand that makes it easy to ditch regular rust binaries in favor of memes, which is arguably the far superior container format for rust executables. Rather than to ordinary rust binaries, cargo-memex compiles rust code directly into a meme of your liking. cargo-memex executeable rust memes thus provide a number of significant improvements over regular rust executables: Standard rust executables always look the same, which means consistently boring, e.g.: alt text. With cargo-memex they can look like this: [trade-offe] Also, normal rust executables cannot be easily posted on imageboards like tumbler, or to show off your rust skills on r/rustjerk or on slack or twitter. This also makes it possible to use imagehosting services to distribute your executables. Another limitation of rust binaries is, that debug and release executables are visually indistinguishable. cargo-memex fixes this problem by fetching a random meme from r/ rustjerk using D3vd/Meme_Api each time. If no meme could be found it falls back to the corresponding segment of: [hank] You can also request a random meme from any subreddit with the --subreddit "" option. The same problem exists for different release versions which visually always look completely identical. With cargo-memex you can compile each new release into a different meme to highlight the differences. This makes support much easier since everyone can directly see which version is installed. Installation cargo install cargo-memex Usage Compile a new cargo project into the built in rust borrow checker meme: [demo] Compile your current project into the meme above, for other built in memes see resources cargo memex build tradeoffer Compile your current project in release mode with a random meme from r/rustjerk cargo memex build --release Compile with local meme cargo memex build ./meme.jpg Use a jpeg meme on the web cargo memex build "https://meme.jpg" Use a random jpeg meme from a subreddit cargo memex build --subreddit dankmemes To execute a memex executable meme cargo memex exec meme.jpg Build then execute in one step cargo memex run Roadmap Once memes are more widely adapted as rust executables, which is expected to happen soon, support for publishing memes will be required. The recent NFT frenzy has shown that there is a high demand for NFT based solutions, and that especially memes can be very lucrative. Hence, solutions for cargo-memex are currently being investigated in order to tap this growing market. Ideally, the cargo publish subcommand should be extended by an --nft option, so that developers can directly publish a new version of their rust project as a memex NFT. Known Limitations * only jpeg supported at this point Licensed under either of these: * Apache License, Version 2.0, (LICENSE-APACHE or https:// www.apache.org/licenses/LICENSE-2.0) * MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT) * The Jpeg encoder/decoder adapter are slightly modified copies of image-rs/image which are license under MIT * The Jpeg decoder is a slightly modified copy of image-rs/ jpeg-decoder which are license under either of + MIT + Apache 2.0 About compile rust code into memes Resources Readme License View license Releases No releases published Packages 0 No packages published Contributors 2 * @mattsse mattsse Matthias Seitz * @fuwn fuwn Fuwn Languages * Rust 100.0% * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.