Local API mocking server & π¦ Rust unit test library with β© Jinja templates and πΏ Rhai scripting language.
Could be useful for:
- π¨π»βπ» local development to do not run/build other services & call external APIs
- π»π βοΈ integration tests if 3rd party API provider suck/stuck/etc
- π»ππ»ββοΈ load tests - when deployed alongside your application Apate should respond fast, so no need to take external API delays into account
- to write π¦ rust unit tests with complete in-out flow
#rust #rustlang #rhai #api #mocking #tests
https://github.com/rustrum/apate
Could be useful for:
- π¨π»βπ» local development to do not run/build other services & call external APIs
- π»π βοΈ integration tests if 3rd party API provider suck/stuck/etc
- π»ππ»ββοΈ load tests - when deployed alongside your application Apate should respond fast, so no need to take external API delays into account
- to write π¦ rust unit tests with complete in-out flow
#rust #rustlang #rhai #api #mocking #tests
https://github.com/rustrum/apate
GitHub
GitHub - rustrum/apate: API prototyping/mocking server & rust unit tests library to mimic external 3rd party API endpoints withβ¦
API prototyping/mocking server & rust unit tests library to mimic external 3rd party API endpoints with Rhai scripting capabilities - rustrum/apate
Pin / Unpin in async Rust 101 π
Hereβs the mental model to help understand Pin/Unpin:
Rust async is basically βa function that turns into a state machine.β
And that state machine lives somewhere in memory.
When you .await, the future can pause and resume later - meaning it must remember where it was and what it was holding onto.
Sometimes that βwhat it was holding ontoβ includes references into itself.
Why you usually donβt see Pin in day-to-day async Rust?
Because async fn hides it.
When you write:
let fut = my_async_fn();
that fut is an anonymous future type, and Rust/your executor will ensure itβs pinned correctly when itβs polled.
If you use tokio::spawn(fut), Tokio will pin it internally (usually by putting it on the heap).
So you only hit Pin when you:
1. build your own futures
2. store futures in structs/enums
3. want self-referential patterns
4. do low-level async runtime stuff
Hereβs the mental model to help understand Pin/Unpin:
Rust async is basically βa function that turns into a state machine.β
And that state machine lives somewhere in memory.
When you .await, the future can pause and resume later - meaning it must remember where it was and what it was holding onto.
Sometimes that βwhat it was holding ontoβ includes references into itself.
Why you usually donβt see Pin in day-to-day async Rust?
Because async fn hides it.
When you write:
let fut = my_async_fn();
that fut is an anonymous future type, and Rust/your executor will ensure itβs pinned correctly when itβs polled.
If you use tokio::spawn(fut), Tokio will pin it internally (usually by putting it on the heap).
So you only hit Pin when you:
1. build your own futures
2. store futures in structs/enums
3. want self-referential patterns
4. do low-level async runtime stuff
π WARNING: CVE-2025-20393 is rated 10.0, with no patch available.
Cisco confirmed active exploitation of an AsyncOS zero-day by a China-linked APT.
The flaw allows root-level command execution on affected email security appliances and enables attackers to establish persistence.
π Details and mitigations β https://thehackernews.com/2025/12/cisco-warns-of-active-attacks.html?m=1
Cisco confirmed active exploitation of an AsyncOS zero-day by a China-linked APT.
The flaw allows root-level command execution on affected email security appliances and enables attackers to establish persistence.
π Details and mitigations β https://thehackernews.com/2025/12/cisco-warns-of-active-attacks.html?m=1
So... Postgres is now basically a search engine?
pg_textsearch was just open sourced. It enables BM25 to search your database.... massive upgrade for key word search.
Google uses BM25 in their search engine.
if you're already on Postgres, you can now skip the whole "sync your data to Elasticsearch" stuff for search.
https://github.com/timescale/pg_textsearch
pg_textsearch was just open sourced. It enables BM25 to search your database.... massive upgrade for key word search.
Google uses BM25 in their search engine.
if you're already on Postgres, you can now skip the whole "sync your data to Elasticsearch" stuff for search.
https://github.com/timescale/pg_textsearch
GitHub
GitHub - timescale/pg_textsearch: PostgreSQL extension for BM25 relevance-ranked full-text search. Postgres OSS licensed.
PostgreSQL extension for BM25 relevance-ranked full-text search. Postgres OSS licensed. - timescale/pg_textsearch
MongoBleed is a vulnerability affecting all MongoDB versions from 2017 to... today.
The exploit is simple. It's a buffer over read bug due to compression. Here's how it works π
Clients can send compressed requests to MongoDB.
The client helpfully includes the uncompressed size of the message so the server knows exactly how much memory to allocate when decompressing.
The server allocates a memory buffer with the given space. Due to how memory management and garbage collection in programs work, this allocated memory may already contain sensitive information that was copied earlier and is considered garbage now (eg because it's unreferenced).
The exploit sends a badly-formatted BSON message. The server fails to parse it, and "helpfully" returns an error message containing the invalid message. The invalid message can be that whole 1MB block of foreign data.
The exploit is simple. It's a buffer over read bug due to compression. Here's how it works π
Clients can send compressed requests to MongoDB.
The client helpfully includes the uncompressed size of the message so the server knows exactly how much memory to allocate when decompressing.
The server allocates a memory buffer with the given space. Due to how memory management and garbage collection in programs work, this allocated memory may already contain sensitive information that was copied earlier and is considered garbage now (eg because it's unreferenced).
The exploit sends a badly-formatted BSON message. The server fails to parse it, and "helpfully" returns an error message containing the invalid message. The invalid message can be that whole 1MB block of foreign data.
Really nice video by Julia Turc explaining why Transformers are taking over CNNs in computer vision
BTW she's the author of Pix2Struct, a document AI model we also integrated in Transformers :)
Check it out: https://m.youtube.com/watch?v=KnCRTP11p5U
BTW she's the author of Pix2Struct, a document AI model we also integrated in Transformers :)
Check it out: https://m.youtube.com/watch?v=KnCRTP11p5U
YouTube
Why are Transformers replacing CNNs?
Why does a Transformer classify this cat as a cat⦠while a ResNet calls it a macaw?
In this video we break down one of the biggest shifts in computer vision: why Transformers replaced Convolutional Neural Networks (CNNs) β even though CNNs were designedβ¦
In this video we break down one of the biggest shifts in computer vision: why Transformers replaced Convolutional Neural Networks (CNNs) β even though CNNs were designedβ¦
One reason vibe coding is so addictive is that you are always almost there but not 100% there. The agent implements an amazing feature and got maybe 10% of the thing wrong, and you are like "hey I can fix this if i just prompt it for 5 more mins". And that was 5 hrs ago.
Sounds like a gambling, considering that you are paying for agent tokens and there are no guarantees for a valid result.
Sounds like a gambling, considering that you are paying for agent tokens and there are no guarantees for a valid result.
This is one of the biggest and dangerous 0day vulnerabilities in the Linux kernel ππ§π.
The vulnerability is CVE-2026-31431, nicknamed "Copy Fail," disclosed recently by Theori. It has been sitting quietly in the Linux kernel for nine years. π±
This vulnerability affects the following:
π΄ Shared servers (dev boxes, jump hosts, build servers): any user becomes root
π΄ Kubernetes and container clusters: one compromised pod escapes to the host
π΄ CI runners (GitHub Actions, GitLab, Jenkins): a malicious pull request becomes root on the runner
π΄ Cloud platforms running user code (notebooks, agent sandboxes, serverless functions): a tenant becomes host root
Mitigation: update your kernel to a build that includes mainline commit a664bf3d603d. If you cannot patch immediately, turn off the vulnerable module:
https://copy.fail
The vulnerability is CVE-2026-31431, nicknamed "Copy Fail," disclosed recently by Theori. It has been sitting quietly in the Linux kernel for nine years. π±
This vulnerability affects the following:
π΄ Shared servers (dev boxes, jump hosts, build servers): any user becomes root
π΄ Kubernetes and container clusters: one compromised pod escapes to the host
π΄ CI runners (GitHub Actions, GitLab, Jenkins): a malicious pull request becomes root on the runner
π΄ Cloud platforms running user code (notebooks, agent sandboxes, serverless functions): a tenant becomes host root
Mitigation: update your kernel to a build that includes mainline commit a664bf3d603d. If you cannot patch immediately, turn off the vulnerable module:
lsmod | grep -q '^algif_aead' && echo "algif_aead is ACTIVE loaded -> check by hand" || (echo "not loaded -> deactivate & blacklisted"; modprobe -r algif_aead 2>/dev/null; echo -e "blacklist algif_aead\ninstall algif_aead /bin/false" > /etc/modprobe.d/disable-algif_aead.conf)
https://copy.fail
Xint
Copy Fail β 732 Bytes to Root
CVE-2026-31431. 100% Reliable Linux LPE β no race, no per-distro offsets, page-cache write that bypasses on-disk file-integrity tools and crosses containers. Found by Xint Code.
This media is not supported in your browser
VIEW IN TELEGRAM
π§ This is how it felt to be a software developer before AI and StackOverflow.
α( β’Μ α β’Μ )α
α( β’Μ α β’Μ )α
C or Rust for microcontroller firmware development?
A study published by Cornell University tries to answer the question. The researchers gathered two teams of engineers working on STM32 MCU firmware. One team worked on C firmware, and the users on Rust firmware using Ariel OS RTOS.
Each team worked separately for 6 weeks, and then in tandem for four more weeks to optimize the results. Rust and C firmware ended up having similar footprints and the exact same performance (when capturing sensor data).
https://www.cnx-software.com/2026/05/06/study-compares-rust-and-c-languages-for-embedded-firmware-development
A study published by Cornell University tries to answer the question. The researchers gathered two teams of engineers working on STM32 MCU firmware. One team worked on C firmware, and the users on Rust firmware using Ariel OS RTOS.
Each team worked separately for 6 weeks, and then in tandem for four more weeks to optimize the results. Rust and C firmware ended up having similar footprints and the exact same performance (when capturing sensor data).
https://www.cnx-software.com/2026/05/06/study-compares-rust-and-c-languages-for-embedded-firmware-development
Hear me out π¨ NodeJs developers (and software) should never be trusted.
They have a kind of a culture to do not care about code, performance, package quality etc. Now it is widely exploited by hackers with supply chain attacks.
https://www.aikido.dev/blog/red-hat-npm-packages-compromised-credential-stealing-worm
They have a kind of a culture to do not care about code, performance, package quality etc. Now it is widely exploited by hackers with supply chain attacks.
https://www.aikido.dev/blog/red-hat-npm-packages-compromised-credential-stealing-worm
www.aikido.dev
Red Hat npm Packages Compromised to Spread a Credential-Stealing Worm
Multiple official @redhat-cloud-services npm packages were compromised with a credential-stealing worm derived from the open-sourced Mini Shai-Hulud malware, targeting cloud credentials, and developer tooling across CI/CD pipelines.
Good news everyone π¦
New borrow checker will be available in rust soon.
This one should make some code parts less clunky.
#rust #programming
https://blog.rust-lang.org/2026/08/04/enabling-polonius-alpha-on-nightly/
New borrow checker will be available in rust soon.
This one should make some code parts less clunky.
#rust #programming
https://blog.rust-lang.org/2026/08/04/enabling-polonius-alpha-on-nightly/
blog.rust-lang.org
Enabling the next iteration of the borrow checker on nightly | Rust Blog
Empowering everyone to build reliable and efficient software.
π€ Claude models will have invisible watermarks embedded in ALL text, and metadata attached to files.
Thanks to new EU AI Act π
#ai #claude #eu #anthropic
https://support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content
Thanks to new EU AI Act π
#ai #claude #eu #anthropic
https://support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content
This is how it feels to steal content from the internet and put your own watermark on it π
#anthropic #claude
#anthropic #claude