nothings

Stars and mentions

Last 30 days, Oct 4 – Nov 2

GitHub stars0
mentions3
01234Oct 4Oct 18Nov 2
UTC days · repositories nothings owns1 repositories

Package downloads

No package download history available yet.

Top repositories

nothings’s repositories ranked by new stars, as on trending.

Loading

Contributes to

Repositories outside nothings’s account where nothings opened or reviewed pull requests in the past 365 days.

Who noticed nothings

Everyone who starred or forked nothings’s repositories since the archive began in 2011.

Notable accounts

Ordered by the stars their own repositories have received.

Biggest fans

Accounts that starred the most of these repositories.

Breakout weeks

Each repository’s best week of new stars, with the release published around it.

Mentions

3posts
Nov 30 posts
  1. "Note that our official policy is to reject all security reports which make use of AI," - this isn't sustainable. Nobody can ship modern software and ignore security reports - no matter what the source. stb#1964 t.co

    13 likes · 2 reposts · 525 views
  2. Why Writing C for the Web in 2026 Makes Sense In 2025, the average size of a WebAssembly (Wasm) binary generated from C dropped to 120 KB, making it smaller than many JavaScript libraries used for the same task. ## 1. Toolchain you can install in minutes The easiest way to start compiling C to Wasm is the wasm32-unknown-unknown target of the Rust‑based cargo tool, combined with the wasm-bindgen-cli. On a Debian‑based system run: sudo apt-get install -y clang lld cargo install wasm-bindgen-cli rustup target add wasm32-unknown-unknown clang produces the object file, lld links it, and wasm-bindgen generates the glue code that browsers understand. The entire setup finishes in under ten minutes on a typical laptop. Takeaway: Install the three commands above and you have a production‑ready C‑to‑Wasm pipeline. ## 2. A minimal “Hello, Web3” contract in C Consider a smart‑contract‑like function that returns a SHA‑256 hash of a user‑supplied string. The following C code compiles to a Wasm module that can be called from JavaScript in any Web3 dApp. ```c #include <stddef.h> #include "sha256.h" // from B-Con/crypto-algorithms // Exported function signature required by wasm-bindgen attribute((export_name("hash"))) void hash(const uint8_t *input, size_t len, uint8_t *out) { SHA256_CTX ctx; sha256_init(&ctx); sha256_update(&ctx, input, len); sha256_final(&ctx, out); } Compile with: clang --target=wasm32 -O3 -nostdlib -Wl,--no-entry -Wl,--export-all -o hash.wasm hash.c wasm-bindgen hash.wasm --out-dir pkg --target web The resulting `pkg/hash.js` can be imported in a React component or a plain HTML page. The JavaScript side looks like: import init, { hash } from "./pkg/hash.js"; await init(); const encoder = new TextEncoder(); const data = encoder.encode("Hello, Web3!"); const out = new Uint8Array(32); hash(data, data.length, out); console.log(Array.from(out).map(b=>b.toString(16).padStart(2,"0")).join("")); Running this in the browser prints the SHA‑256 hash without loading any external crypto library. **Takeaway:** With a few commands you can expose pure‑C crypto primitives to any Web3 front‑end. ## 3. Performance win: image resizing in the browser A common bottleneck in decentralized marketplaces is client‑side image processing. A C implementation of `stb_image_resize.h` can resize a 4 MP JPEG to a 300 KB thumbnail 3× faster than the equivalent JavaScript library. 1. Clone the repo: git clone nothings/stb && cd stb 2. Write a wrapper `resize.c`: #define STB_IMAGE_IMPLEMENTATION #define STB_IMAGE_RESIZE_IMPLEMENTATION #include "stb_image.h" #include "stb_image_resize.h" attribute((export_name("resize"))) int resize(const unsigned char *src, int w, int h, int comp, unsigned char *dst, int new_w, int new_h) { return stbir_resize_uint8(src, w, h, 0, dst, new_w, new_h, 0, comp); } 3. Build and bind: clang -O3 -flto -nostdlib -Wl,--no-entry -Wl,--export-all -o resize.wasm resize.c wasm-bindgen resize.wasm --out-dir pkg --target web In JavaScript: import init, { resize } from "./pkg/resize.js"; await init(); const img = await fetch("/photo.jpg").then(r=>r.arrayBuffer()); const src = new Uint8Array(img); const dst = new Uint8Array(300*300*4); resize(src, 2048, 2048, 4, dst, 300, 300); // Convert dst to Blob and display Benchmarks on a 2024‑era Intel i7 show the Wasm version completing in 45 ms versus 130 ms for `pica` (a popular JS resizer). **Takeaway:** Replace heavyweight JS image libraries with a compiled C module for noticeable latency reduction. ## 4. Deploying a C‑based Wasm module to a decentralized storage network Most Web3 projects store static assets on IPFS or Arweave. The same storage node can serve a Wasm binary alongside HTML/JS without extra configuration. ```bash # Install ipfs-cli if you don't have it npm i -g ipfs-cli # Add the compiled module and its JS glue ipfs add -r pkg # Pin the CID to ensure persistence ipfs pin add <CID> The CID returned (e.g., bafybeigdyr...) can be referenced in a smart contract's metadata field. Users fetch the module directly from the network, guaranteeing censorship resistance. Takeaway: Publish your compiled C Wasm module to IPFS with two commands and reference the CID in your dApp metadata. ## 5. Debugging without leaving the browser wasm-objdump and Chrome’s DevTools now support source‑level debugging for C code compiled with -g. After building with debug symbols: clang -g -O0 -target wasm32 -nostdlib -Wl,--no-entry -Wl,--export-all -o debug.wasm debug.c Open chrome://inspect, load the Wasm file, and set breakpoints in the original C source. The call stack shows your function names, not the mangled Wasm symbols. Takeaway: Compile with -g and use Chrome DevTools to step through C code just like native debugging. Start today by cloning the stb repository, writing the resize.c wrapper, and publishing the resulting Wasm module to IPFS. This single workflow demonstrates that C for the Web is no longer a curiosity; it is a practical tool for performance‑critical Web3 applications. --- If this was useful: I packaged a deeper version as Notion Agent Prompt Pack: Deploy LLM Agents in Minutes. This article was drafted with AI assistance.

  3. Reddit · · r/PS5_Jailbreak · u/a1mhtar · nothings/stb

    Release Playden for PS5 0.1.0 · leolobato/playden-ps5 First public release of Playden for PS5: play your Steam library's Windows games on a jailbroken PS5. Playden for PS5 Play your Steam library's Windows games on a jailbroken PS5. Playden is a launcher that runs on the PS5, adapted from Playden for macOS. You sign in to Steam with a QR code, browse your library, download games, and play them. The Windows games run through prospero-win, a port of Wine to the PS5. Each game gets its own private Windows environment and its own tile on the PS5 Home screen. > [!WARNING] > Alpha software. Playden is an early, experimental project. It signs in to your real Steam account, downloads > games with your licenses, and reads and writes your Steam Cloud saves. Read [Before you use it](#before-you-use-it). > If you are not comfortable with these risks, do not use it. ![Playden's library on the PS5: Steam games as cover art, with Installed, All, Favorites and Hidden on the side](docs/images/library.jpg) Features - Steam sign-in with a QR code. Approve the sign-in in the Steam mobile app. No password typed on the console. - Your whole Steam library. Search, sort, favorites, collections, ratings and notes, with cover art and store details. The library works offline from a cache. - Downloads from Steam. Queue games and watch progress. - Each game is its own PS5 app. It gets a tile on the Home screen, so you can start it without Playden. - A private Windows environment per game ("bottle"), so games do not share settings or files. - Steam Cloud saves. Playden checks your Cloud saves before a game starts and syncs them after it ends. If the console and the Cloud disagree, you choose which one to keep. You can turn the automatic sync off in Settings and sync by hand from the Saves tab. - Per-game settings. Graphics, frame rate, resolution, controller mapping, and how the game starts: pick any program from the game folder, edit its arguments and library overrides, or try a game Playden flagged anyway. A game's settings can be exported as a recipe ([format](docs/community-recipes.md)). - Graphics. Direct3D 8–11 through DXVK, OpenGL through Mesa's Zink, and Vulkan, all on the PS5 GPU's Vulkan driver. - Gamepad support. XInput, DirectInput, Raw Input, Windows.Gaming.Input and the Windows multimedia joystick API, with rumble. Games see the DualSense as an Xbox controller. - Mouse and keyboard. Plug a USB mouse and keyboard into the PS5, or use a controller preset: the left stick as a mouse, or the D-pad as the arrow keys. - Install to internal or external disks. Console storage, or an exFAT USB drive formatted on a Mac or PC. See the [compatibility list](COMPATIBILITY.md) for the games we have tested. Planned - Steam game updates - Other stores (GOG, Epic) - Support for game launches (Rockstar, EA, Ubisoft) - Community recipes in the preset chooser Before you use it Playden is alpha software. It is not affiliated with, endorsed by, or supported by Valve. Know these points before you sign in: - It is an unofficial Steam client. Playden talks to Steam's servers directly, the way the Steam client does. Valve does not support third-party clients. We know of no account problems from this, but the risk is yours to accept. - Your Steam session stays on the console. Playden stores a Steam sign-in token on the PS5, without encryption. On a jailbroken console, anyone with file access (for example through FTP) can read it. Signing out in Playden deletes the token from the console. - It writes to your Steam Cloud saves. Playden uploads saves after you play. A bug can overwrite good saves with older or broken ones. Back up saves you care about. When Playden shows a conflict, read it before you choose. - It needs a jailbroken console with root-level helpers. A running game can get elevated rights on the console. Run only games you trust. - Things will break. Expect games that fail to start, crashes, and the occasional console restart. Keep your console's own data backed up. Requirements - A jailbroken PS5 (for example with the WebKit autoloader). We test on firmware 13.60. Playden does not block other firmware versions, but they are untested. Please give your firmware in a test report. - These payloads loaded after each boot: - kstuff — required. Without it, every game fails with error CE-100008-9. - ShadowMountPlus 1.7-beta5fix1 — puts each game's tile on the Home screen. 1.7beta2 also works. - elfldr, the ELF loader on port 9021 — runs the root helper that gives a game access to its files. Most jailbreak loaders start it for you. - nanoDNS, if your console's DNS is set to 127.0.0.1 (as many jailbreak guides suggest) — without a local DNS server, Playden can't reach Steam. - For installing and updating Playden: an FTP server such as zftpd (port 2120), and optionally ps5-web-file-manager (port 8888). - A Steam account with Windows games. - A computer with Python 3 on the same network as the PS5, to copy Playden and the kit to it. - To build it yourself (optional): a Mac with Apple Silicon. Linux should also work, but we have not tested it yet. See [Build from source](#build-from-source). Tested with kstuff-lite 1.11, ShadowMountPlus v1.7-beta5fix1 and v1.7beta2, elfldr v0.26, zftpd 1.6.0 and ps5-web-file-manager v1.9. Other versions can work, but these are the ones we know. How it works - Playden does not run games itself. It downloads a game, prepares it, and hands it to a separate PS5 app made for that game. That app starts Wine with the game's settings. Because each game is its own app, it has its own tile on the PS5 Home screen, and it is isolated: its files, settings and crashes stay inside it. - The runtime kit is separate from Playden. The kit holds Wine for PS5, the graphics drivers, a clean Windows environment and the per-game app shell. Playden checks that the installed kit is complete before it uses it. Install Download both files from the latest [release](../../releases): - playden-ps5-0.1.0.zip: the Playden app (FAKE77031) and the console tools used below. - playden-kit-h-r6.zip: the runtime kit (hl2-fw1360-dev1), with its source list and license texts. You need Python 3 on your computer for the tools. Unzip both files, then run the commands from the folder that holds tools/. Install Playden 1. Copy the app to the console over FTP. --install creates /data/homebrew/FAKE77031 and its folders, so it also works on a console that has never had Playden (or was just reinstalled): python3 tools/console_title_deploy.py --host <PS5 IP> deploy --install FAKE77031 --backup backups/<name> Copying the FAKE77031 folder by hand with an FTP client or the web file manager also works, but then make /data/homebrew, the FAKE77031 folder and its logs and playden-data folders writable by everyone (chmod 777). Playden writes there as the app's own user, and a folder created over FTP is usually 755: Playden then stays on its splash screen and writes no logs, can't install games ("cannot create install folder"), or can't finish preparing one ("package staging and destination must support one atomic rename"). 2. Wait about 10 seconds. ShadowMountPlus adds the Playden tile to the Home screen. 3. Install the runtime kit (next section). 4. Start Playden and sign in to Steam. To update later, run the same command without --install. It copies only the changed files, keeps a backup of what it replaced, and puts those three folders' modes right if they changed. Install the runtime kit This release uses kit H r6. Upload the kit folder from playden-kit-h-r6.zip: python3 tools/console_kit_upload.py hl2-fw1360-dev1 --host <PS5 IP> --replace The upload checks every file before it switches to the new kit, and creates /data/playden/kits on a console that doesn't have it yet. Playden accepts only the kit version it was tested with. Games pick up a new kit when you press Play. The kit is built on a Linux x86-64 machine or VM from prospero-win, Wine, Mesa and DXVK. To build it yourself, see [Build the kit](CONTRIBUTING.md#build-the-kit). The scripts are a record of how we built it, not a turnkey build yet, so most people should use the release download. Build from source What you need - macOS on Apple Silicon. Linux should also work, but we have not tested it yet. - Xcode command line tools. - Homebrew packages: brew install cmake ninja pkgconf sdl2-compat llvm@18 python - About 2 GB of free disk space. - A checkout path without symbolic links (for example, not under /tmp). Get the source git clone --recursive https://github.com/leolobato/playden-ps5.git cd playden-ps5 scripts/fetch-deps.sh fetch-deps.sh downloads the prebuilt PS5 SDKs into deps/ and checks each download against the SHA-256 in dependencies.lock.json. Build the PS5 package scripts/build-lapy-helper.sh scripts/build-homebrew-ps5.sh The result is the Playden app, build/homebrew-ps5/dist/FAKE77031. Install it as in [Install Playden](#install-playden), with that folder in place of FAKE77031: python3 tools/console_title_deploy.py --host <PS5 IP> deploy --install build/homebrew-ps5/dist/FAKE77031 \ --backup build/console-backups/<name> Try it on your Mac first (optional) Playden also builds as a desktop app, which is useful to look at the interface without a console: scripts/build-homebrew.sh cmake --build --preset homebrew-host build/homebrew-host/playden-homebrew --simulation --scenario signed-out Known issues - New games can stay at Waiting for the PS5 after you quit Playden when ShadowMountPlus stops registering titles. Reload ShadowMountPlus. Until the game is registered, its Cloud saves are not synced before its first launch. - If every game hangs on its loading spinner, the ELF loader has stopped. Reload it. - Some controller games show a mouse pointer in a corner of the screen. - Playden can crash if you open a game page in the first seconds after start-up. - 32-bit games can run through an x86 translator, which is slower than native. For 32-bit OpenGL games this includes Mesa itself, so heavy ones can be slow. - After you update Playden, it can ask you to sign in to Steam again. - Steam can turn down a saved sign-in that worked before. Playden tries again the next time it starts; if it keeps happening, use Settings › Account › Sign in again: it keeps your library, favorites and settings. - Godot games (Slay the Spire 2) need --rendering-driver opengl3 in Game settings › Extra arguments. Playden picks Godot's Vulkan renderer, which did not work on this kit. - Two game settings, "120 Hz output" and "OpenGL worker thread", are not available with this kit. - When you close a game from the PS5 menu, it can stay suspended. Pressing Play again resumes it instead of starting it again. See the [compatibility list](COMPATIBILITY.md) for what we know about each game. Testing games and reporting problems Every test helps, including games that work. To report one: 1. If the game did not work, start Playden once more, so it copies the game's log. 2. Collect the logs from your computer: python3 tools/collect_logs.py --host <PS5 IP> It lists the games that have a log, the most recently run first, and asks which one to collect. The script reads only Playden's logs, never your Steam sign-in. It hides your Steam account name and SteamIDs, and writes a zip with a summary of your firmware and kit versions. 3. [Open a game test report](../../issues/new?template=test-report.yml) and attach the zip. See a [sample report](docs/sample-test-report.md) for what to fill in. For a problem that is not about one game, open a regular issue with the same zip. Built on Playden would not exist without these projects. Projects we carry patches for We keep a fork of each, with our changes on a feat/playden-ps5 branch, and send fixes upstream. | Project | What it does for Playden | | --- | --- | | prospero-win | Wine for the PS5. Runs the Windows games: memory management, a 32-bit x86 translator, display, input and audio for the console. Also builds the per-game app shell. | | ps5-homebrew-ui | The UI toolkit Playden's screens are drawn with: layout, fonts, controller focus and navigation, on OpenGL. | | ps5-opengl | OpenGL for PS5 homebrew. Draws Playden's own interface. | | ps5-native-app-boilerplate (mpereiraesaa) | Tools to build native PS5 apps and modules, used for the per-game app shell in the kit. Our fork is named prospero-foundation. | | PS5-Lapy-JB-Daemon | The root helper. Gives a game's app just enough rights to reach its own files in /data. | Used as they are | Project | What it does for Playden | | --- | --- | | ps5-native-app-boilerplate (blackbearreloaded) | Tools to build Playden as a native PS5 app, and its libc.prx. | | ps5-payload-sdk | The SDK for PS5 homebrew. | | gbe_fork | Steamworks emulator (LGPL-3.0), shipped with Playden in runtime/steamworks/, so games run without the Steam client. | Inside the runtime kit - Wine — runs Windows programs. - DXVK — turns Direct3D 8–11 into Vulkan. - PS5_Mesa and PS5_Vulkan — Mesa for the PS5: RADV, the AMD Vulkan driver, for the PS5 GPU, and Zink with WGL, which runs Windows OpenGL games on top of Vulkan. Small libraries curl, Mbed TLS, SQLite, zstd, LZMA SDK, stb, utf8proc and QR Code generator. Contributing Contributions are welcome. [CONTRIBUTING.md](CONTRIBUTING.md) explains the development setup, the tests, the console workflow, and how to change a forked dependency or a Wine patch. License Playden is licensed under the GNU General Public License v3.0 or later. See [LICENSE](LICENSE). The submodules, vendored libraries and the runtime kit keep their own licenses: see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). Steam is a trademark of Valve Corporation. PlayStation and PS5 are trademarks of Sony Interactive Entertainment. This project is not affiliated with either company.

    62 points · 17 comments
Trending awards, every completed day and week
Gold
01st place finishes
Silver
02nd place finishes
Bronze
03rd place finishes
Awarded repositories
0Owned by nothings now

No trending awards yet

None of the repositories nothings owns has finished in the top three of a completed trending day or week, by stars, forks or PR authors. See who is trending now.

A repository earns an award for finishing first, second or third in a completed trending day or week, ranked by new stars, new forks or pull request authors. Awards follow a repository through renames and transfers and count toward its current owner. Weeks run Monday to Sunday, UTC.