- ↔
- →
to read (pdf)
- Neobrutalism components - Start making neobrutalism layouts today
- Debunking zswap and zram myths
- Building a Pipeline for Agentic Malware Analysis | Tim Blazytko
- Study of Binaries Created with Rust through Reverse Engineering - JPCERT/CC Eyes | JPCERT Coordination Center official Blog
- Letting AI Actively Manage Its Own Context | 明天的乌云
- March 26, 2026
-
🔗 r/reverseengineering r2gopclntabParser: A radare2-based Go gopclntab parser for recovering function symbols from Go binaries, including fully stripped ones. rss
submitted by /u/asherdl02
[link] [comments] -
🔗 r/Leeds Woodhouse firework rss
Does anyone living near Woodhouse know what the firework happening right now is about? It sounds like world war 3.
submitted by /u/CraftyBrie
[link] [comments] -
🔗 r/york Sarah Ferguson stripped of Freedom of City of York title rss
| submitted by /u/Kagedeah
[link] [comments]
---|--- -
🔗 r/Leeds The Empire Cafe illustration rss
I've been drawing pictures of Leeds now for like 10 years but I'm still not bored of drawing the city at night! Here's Empire Cafe on Fish Street :)
submitted by /u/zacrosso_art
[link] [comments] -
🔗 r/Yorkshire Had a grand day out today in Pickering, too early in season for the castle, museum and railway, but had lots to do and visit rss
| submitted by /u/arioandy
[link] [comments]
---|--- -
🔗 r/Leeds Leeds Photos rss
I bought a new camera in a bid to use my phone less, found I quite enjoy taking photos. I don't have much of a clue what I'm doing but took these recently.
submitted by /u/Phil-pot
[link] [comments] -
🔗 r/Leeds The street of Leeds rss
submitted by /u/Upbeatcarweee
[link] [comments] -
🔗 r/reverseengineering Latest Akamai v3 deobfuscator static reversal of dynamic per request rss
submitted by /u/alex_pushing40
[link] [comments] -
🔗 r/york Daffodils rss
I've never given much thought to the daffodils that are everywhere in York at this time of year, but is there a reason, historical or otherwise why there are so many in so many places throughout the city?
submitted by /u/Shoddy-Television530
[link] [comments] -
🔗 r/Leeds A nostalgic long read about clubbing in Leeds in the noughties - hopefully it’s of interest to some of you! rss
submitted by /u/Andyc1421
[link] [comments] -
🔗 r/york First time visiting rss
I (M22) going to York for the first time between the 30th of March and 1st of April. Is there anything I should definitely check out which I might not of heard about (I am not bringing my car with me so it will all have to be quite local)? And is there anything I should know/be aware of before I go? (Such as do I need to book tickets for the dungeons or can I pay at the entrance).
I am always open to meet new people too, so if anyone would like to join me for museums or attractions, feel free to shoot me a message.
Thank you so much for all your help!
submitted by /u/SneakingALook
[link] [comments] -
🔗 r/LocalLLaMA Mistral AI to release Voxtral TTS, a 3-billion-parameter text-to-speech model with open weights that the company says outperformed ElevenLabs Flash v2.5 in human preference tests. The model runs on about 3 GB of RAM, achieves 90-millisecond time-to-first-audio, supports nine languages. rss
| VentureBeat: Mistral AI just released a text-to-speech model it says beats ElevenLabs — and it's giving away the weights for free: https://venturebeat.com/orchestration/mistral-ai-just-released-a-text-to-speech-model-it-says-beats-elevenlabs-and Mistral AI unlisted video on YouTube: Voxtral TTS. Find your voice.: https://www.youtube.com/watch?v=_N-ZGjGSVls Mistral new 404: https://mistral.ai/news/voxtral-tts submitted by /u/Nunki08
[link] [comments]
---|--- -
🔗 r/Harrogate Shocking behaviour... rss
| They look like such nice ladies, too... submitted by /u/LurkishEmpire
[link] [comments]
---|--- -
🔗 r/york Best Margs in York? rss
I’m on the hunt. The hunt for good margaritas. I’ve only really discovered this cocktail in the last 12 months but for a few reasons I’ve drank most of the ones I’ve tried in other cities rather than my own.
When they’re good. Holy hell they’re amazing. When they’re bad, it’s beyond disappointing.
Recently I’ve tried a few places in York (where I’m born and bred) and been disappointed each time.
- Evil eye was average at best
- Fossgate social was ok, the spicy was better than the standard.
I’ve not found one in York that’s been comparable to the good ones I’ve had elsewhere yet.
An easy way I’ve found to dismiss a large cohort is if they use table salt rather than crystal salt. Let’s get the basics right please York garrrr.
So…gives me the locations of decent margs in York centre please! I’m not looking for ‘xxx might be decent’ I’d like first hand recommendations based off experience - thanks pals.
submitted by /u/robbo909
[link] [comments] -
🔗 r/wiesbaden Ramen Innenstadtnähe rss
Hallo zusammen,
Ich bin letzten Monat nach Wiesbaden gezogen und suche momentan noch einen guten Ramen-Laden am Besten in der Innenstadt. Ich habe bisher 1-2 ausprobiert, aber war noch nicht wirklich begeistert.
Habt ihr Empfehlungen?
Bonuspunkte, wenn man sich am Anfang selbst die Zutaten individuell auswählen kann anstatt nur vorgefertigter Menüs.
Danke euch!
submitted by /u/Amarku
[link] [comments] -
🔗 r/Yorkshire Caught this moment at Whitby Abbey last summer rss
| Just one of those moments where everything lined up submitted by /u/Effective_Sink_3934
[link] [comments]
---|--- -
🔗 r/Yorkshire First Puffins of 2026… RSPB Bempton Cliffs rss
| submitted by /u/aspiranthighlander
[link] [comments]
---|--- -
🔗 r/reverseengineering My DAP couldn't display Arabic text, so I reverse engineered the firmware format to fix it rss
submitted by /u/BusElectronic4225
[link] [comments] -
🔗 Rust Blog Announcing Rust 1.94.1 rss
The Rust team has published a new point release of Rust, 1.94.1. Rust is a programming language that is empowering everyone to build reliable and efficient software.
If you have a previous version of Rust installed via rustup, getting Rust 1.94.1 is as easy as:
rustup update stableIf you don't have it already, you can get
rustupfrom the appropriate page on our website.What's in 1.94.1
Rust 1.94.1 resolves three regressions that were introduced in the 1.94.0 release.
- Fix
std::thread::spawnon wasm32-wasip1-threads - Remove new methods added to
std::os::windows::fs::OpenOptionsExtThe new methods were unstable, but the trait itself is not sealed and so cannot be extended with non-default methods. - Clippy: fix ICE in
match_same_arms - Cargo: downgrade curl-sys to 0.4.83 This fixes certificate validation error for some users on some versions of FreeBSD. See this issue for more details.
And a security fix:
- Cargo: Update tar to 0.4.45 This resolves CVE-2026-33055 and CVE-2026-33056. Users of crates.io are not affected. See blog for more details.
Contributors to 1.94.1
Many people came together to create Rust 1.94.1. We couldn't have done it without all of you. Thanks!
- Fix
-
🔗 Andrew Healey's Blog Building a Runtime with QuickJS rss
Building a tiny JavaScript runtime on top of QuickJS with timers, file I/O, and an event loop.
-
🔗 Console.dev newsletter EmailMD rss
Description: Generate emails from Markdown.
What we like: Uses Markdown templates to generate email output that works across mail clients. Customizable themes and fonts. Includes common components e.g. buttons, tables, images, callouts, hero. Wraps mjml which handles the compatible conversions.
What we dislike: Built with TypeScript which makes it difficult to use from other languages.
-
🔗 Console.dev newsletter Pyodide rss
Description: Run Python in the browser.
What we like: Ports CPython to Wasm so it can run in the browser. Any pip package that has a wheel is supported. Includes a JS FFI so you can work directly with the browser (Pyodide already gets access to web APIs).
What we dislike: Wasm/browser environment is single threaded so multi-threading or multi-processing isn’t supported. Also has relatively low memory limits due to Wasm limitations.
-
🔗 Ampcode News GPT‐5.4 in Deep rss
GPT-5.4 now powers Amp's deep mode.
It's the best model in the world right now.
It's faster than GPT-5.3-Codex and still as great at coding.
But, out of the box, GPT-5.4 was too chatty. That's not what we want for
deep; it's not a pair programmer, it's supposed to go off and solve the problem.So we tuned GPT-5.4 to behave like GPT-5.3-Codex.
Once we had that, we started to use it exclusively; even for interactive tasks. We run it at very high reasoning (
deep^3) and still prefer it when we need fast interaction and fast reaction. It takes steering better than GPT-5.3-Codex.To use it: open the command palette with
Ctrl-Oand run the commandmode: use deepin the Amp CLI, or selectdeepmode in the Amp editor extension's prompt field. By default it usesdeep^2, you can switch todeep^3by hittingOpt-D.
-
- March 25, 2026
-
🔗 IDA Plugin Updates IDA Plugin Updates on 2026-03-25 rss
IDA Plugin Updates on 2026-03-25
New Releases:
- fa v1.0.11
- ghidra-chinese 20260325 - 23527117029
- qscripts QScripts v1.2.7
- scriptwatch ScriptWatch v1.0.0
Activity:
- augur
- binsync
- fa
- ghidra
- ghidra-chinese
- haruspex
- ida-domain
- 41bba9b4: Split test files (#64)
- ida-sdk
- 72a4a4b9: docs: idapython: Added docstrings to patch final python files
- PyClassInformer
- 5c110efd: Avoided an IDA crash on IDA 9.3
- python-elpida_core.py
- 4e9f8f96: Add debug logging to Discord listener for webhook diagnosis
- 2c2e08e5: Fix: allow external webhooks (Pipedream etc.) in Guest Chamber
- 2b212cee: Allow external bot/app messages in Guest Chamber (Pipedream, etc.)
- 5e54f412: Discord Guest Listener: read #guest-chamber messages into Parliament
- b89afad7: Guest Chamber: real answers, not governance verdicts
- ebe08120: Guest Chamber: route human questions through Parliament
- 82c2a452: Fix OOM: optimize _load_memory() with deque(maxlen=50), bump Fargate …
- qscripts
- rhabdomancer
- scriptwatch
- 001a814f: initial commit
-
🔗 r/Leeds Female Friends Group rss
hey all!
I'm looking for female friends based in Yorkshire to join looking a group im putting together!
20's to 40's welcome. We can create two channels for the different age groups if people prefer!
There's multiple sub sections including spaces dedicated to rants and support, meetup planning, casual chat, games, and piercings/tattoo spaces!
comment below if interested!
submitted by /u/winterberry9000
[link] [comments] -
🔗 r/york Tonight’s sun starting to set over York rss
| submitted by /u/York_shireman
[link] [comments]
---|--- -
🔗 3Blue1Brown (YouTube) The subset sum puzzle rss
Part of a series of monthly puzzlers. Stay subscribed to see the solution
-
🔗 r/york Sunday roast rss
Can anyone tell me how to book a Sunday roast at the Ackhorne?? If they even still do them.
I’m coming down from Scotland in two weeks, York is my home away from home and for the first time we are staying in til the Monday so we can experience a York Sunday roast. The ackhorne has been highly recommend but I cannot for the life of me find how to book!
submitted by /u/Heavy-Assumption-202
[link] [comments] -
🔗 r/york Big White Flash in the Sky rss
Did anyone in York see this? It happened at like ten past eight, the whole sky went white like what you'd get with sheet lightening, but there was no thunder and it doesn't match the weather.
submitted by /u/Inner_Writing7083
[link] [comments] -
🔗 Jeremy Fielding (YouTube) Inside National Geographic's Wonder Lab rss
A behind the scenes look at what happens when you add engineering to world class photography. 🎉Get the biggest Insta360 discount of the season NOW! 🎉The first 10 orders will get the X5:15% OFF (up to $100 OFF!)+ Free Mic Air: https://bit.ly/JeremyFieldingX5
If you want to join my community of makers and Tinkers consider getting a YouTube membership 👉 https://www.youtube.com/@JeremyFieldingSr/join
If you want to chip in a few bucks to support these projects and teaching videos, please visit my Patreon page or Buy Me a Coffee. 👉 https://www.patreon.com/jeremyfieldingsr 👉 https://www.buymeacoffee.com/jeremyfielding
Social media, websites, and other channel
Instagram https://www.instagram.com/jeremy_fielding/?hl=en Twitter 👉https://twitter.com/jeremy_fielding TikTok 👉https://www.tiktok.com/@jeremy_fielding0 LinkedIn 👉https://www.linkedin.com/in/jeremy-fielding-749b55250/ My websites 👉 https://www.jeremyfielding.com 👉https://www.fatherhoodengineered.com My other channel Fatherhood engineered channel 👉 https://www.youtube.com/channel/UC_jX1r7deAcCJ_fTtM9x8ZA
Notes: Anand Varma Email : aavarma@gmail.com Website https://www.varmaphoto.com/ National Geographic photo of the year 2025 https://www.nationalgeographic.com/photography/graphics/pictures-of-the-year-2025
Technical corrections
Nothing yet
-
🔗 r/wiesbaden Red shopping cart rss
Ok, wer von euch war das?
submitted by /u/Fright-Train-Rider
[link] [comments] -
🔗 r/york How do you (residents of York) find your experiences with your GP’s? rss
Just out of curiosity I wanted to know how people felt about their experiences with seeing their GP. Did you find them knowledgeable, helpful, or successful with treating your issue. Do you feel that when you become unwell that your GP is a safe place for you to get the correct treatment/ diagnosis?
submitted by /u/Comfortable_End7154
[link] [comments] -
🔗 r/Leeds Anyone moved into Casa Abbey, Kirkstall? rss
Me and my friend are supposed to move in soon (haven't signed tenancy agreement yet). We went to 2 viewings and everything looked good.
But recently saw some really bad reviews on Google etc. and wanted to know how other people's experiences have been so far
Just worried about moving and then getting a ton of problems. So far I've seen issues with plaster beetles and heating...
If there's anyone who has moved into the apartments/ 2 bed flats specifically, please share how it's been going so far!
I'm having doubts 😭
submitted by /u/mooniebao
[link] [comments] -
🔗 Locklin on science Very small engines rss
One of the interesting things to contemplate is the scale of the internal combustion engine. It’s a very human scale device; pistons the size of fists, Valves about as wide as knuckles. It’s the kind of thing a man with normal sized machine tools can make. Most internal combustion engines in the world are on […]
-
🔗 r/Yorkshire Is this AI slop? It doesn't appear to be Robin Hood's Bay, or Whitby rss
| I found this photo here and I couldn't find any streets which looked like this on google maps. I recognised the cliffs near Ravenscar, but idk I felt this was an adjusted image of New Road? Just wanted to ask the locals here. submitted by /u/askepticalbureaucrat
[link] [comments]
---|--- -
🔗 r/york Best place to go for healthy breakfast? rss
So im visiting in a few weeks, and am looking for places that do relatively healthy breakfasts in the city center. Has anyone got any suggestions of places that would fit the bill? Thanks
submitted by /u/AcrylicandWater
[link] [comments] -
🔗 r/york Finding it incredibly hard to find a part time job as a student rss
I am a second year university of york student and I have been trying to find a job since November. I got a Christmas temp job at the christmas market, got trained up, and then got told they had hired too many people and got let go. Since then I have applied to literally countless jobs on indeed, and sent emails to pubs and cafes. I have previously worked in a pub for 1.5 years before uni. I have been to 5 job interviews since around February, with 1 being greggs, 1 being a cafe, and 3 in pubs / bars. 2 of the bars just ignored me post interview and never even got back to me. I feel like ive got terrible luck and I am genuinely struggling with money.
submitted by /u/lingeringLlama07
[link] [comments] -
🔗 r/reverseengineering CounterPoint: Using Hardware Event Counters to Refute and Refine Microarchitectural Assumptions rss
submitted by /u/mttd
[link] [comments] -
🔗 r/york Looking for the artist who crafted and sold this ring 20 years ago rss
| I purchased this ring at a gorgeous shop in York ages ago, and it has held up really well for 20 years of daily wear. Does anyone recognize their "MG" stamp? submitted by /u/MeaninglessCollie
[link] [comments]
---|--- -
🔗 r/Leeds What is this place in Harehills? rss
New to Leeds. Keep walking past this “Coffee Express” in Harehills. No Google presence, no reviews, just a sign and a pitch-black doorway. Always curious and want to walk in, but it also looks rather uninviting and a low-key dodgy.
Has anyone actually been inside or knows what is this place?
submitted by /u/Active-Response9478
[link] [comments] -
🔗 r/LocalLLaMA Intel will sell a cheap GPU with 32GB VRAM next week rss
It seems Intel will release a GPU with 32 GB of VRAM on March 31, which they would sell directly for $949.
Bandwidth would be 608 GB/s (a little less than an NVIDIA 5070), and wattage would be 290W.
Probably/hopefully very good for local AI and models like Qwen 3.5 27B at 4 bit quantization.
I'm definitely rooting for Intel, as I have a big percentage of my investment in their stock.
submitted by /u/happybydefault
[link] [comments] -
🔗 Anton Zhiyanov Porting Go's io package to C rss
Creating a subset of Go that translates to C was never my end goal. I liked writing C code with Go, but without the standard library it felt pretty limited. So, the next logical step was to port Go's stdlib to C.
Of course, this isn't something I could do all at once. So I started with the standard library packages that had the fewest dependencies, and one of them was the
iopackage. This post is about how that went.io package • Slices • Multiple returns • Errors • Interfaces • Type assertion • Specialized readers • Copy • Wrapping up
The io package
iois one of the core Go packages. It introduces the concepts of readers and writers , which are also common in other programming languages.In Go, a reader is anything that can read some raw data (bytes) from a source into a slice:
type Reader interface { Read(p []byte) (n int, err error) }A writer is anything that can take some raw data from a slice and write it to a destination:
type Writer interface { Write(p []byte) (n int, err error) }The
iopackage defines many other interfaces, likeSeekerandCloser, as well as combinations likeReadWriterandWriteCloser. It also provides several functions, the most well-known beingCopy, which copies all data from a source (represented by a reader) to a destination (represented by a writer):func Copy(dst Writer, src Reader) (written int64, err error)C, of course, doesn't have interfaces. But before I get into that, I had to make several other design decisions.
Slices
In general, a slice is a linear container that holds N elements of type T. Typically, a slice is a view of some underlying data. In Go, a slice consists of a pointer to a block of allocated memory, a length (the number of elements in the slice), and a capacity (the total number of elements that can fit in the backing memory before the runtime needs to re-allocate):
type slice struct { array unsafe.Pointer len int cap int }Interfaces in the
iopackage work with fixed-length slices (readers and writers should never append to a slice), and they only use byte slices. So, the simplest way to represent this in C could be:typedef struct { uint8_t* ptr; size_t len; } Bytes;But since I needed a general-purpose slice type, I decided to do it the Go way instead:
typedef struct { void* ptr; size_t len; size_t cap; } so_Slice;Plus a bound-checking helper to access slice elements:
#define so_at(T, s, i) (*so_at_ptr(T, s, i)) #define so_at_ptr(T, s, i) ({ \ so_Slice _s_at = (s); \ size_t _i = (size_t)(i); \ if (_i >= _s_at.len) \ so_panic("index out of bounds"); \ (T*)_s_at.ptr + _i; \ })Usage example:
// go nums := make([]int, 3) nums[0] = 11 nums[1] = 22 nums[2] = 33 n1 := nums[1] // c so_Slice nums = so_make_slice(int, 3, 3); so_at(int, nums, 0) = 11; so_at(int, nums, 1) = 22; so_at(int, nums, 2) = 33; so_int n1 = so_at(int, nums, 1);So far, so good.
Multiple returns
Let's look at the
Readmethod again:Read(p []byte) (n int, err error)It returns two values: an
intand anerror. C functions can only return one value, so I needed to figure out how to handle this.The classic approach would be to pass output parameters by pointer, like
read(p, &n, &err)orn = read(p, &err). But that doesn't compose well and looks nothing like Go. Instead, I went with a result struct:typedef union { bool as_bool; so_int as_int; int64_t as_i64; so_String as_string; so_Slice as_slice; void* as_ptr; // ... other types } so_Value; typedef struct { so_Value val; so_Error err; } so_Result;The
so_Valueunion can store any primitive type, as well as strings, slices, and pointers. Theso_Resulttype combines a value with an error. So, ourReadmethod (let's assume it's just a regular function for now):func Read(p []byte) (n int, err error)Translates to:
so_Result Read(so_Slice p);And the caller can access the result like this:
so_Result res = Read(p); if (res.err) { so_panic(res.err->msg); } so_println("read", res.val.as_int, "bytes");Errors
For the error type itself, I went with a simple pointer to an immutable string:
struct so_Error_ { const char* msg; }; typedef struct so_Error_* so_Error;Plus a constructor macro:
#define errors_New(s) (&(struct so_Error_){s})I wanted to avoid heap allocations as much as possible, so decided not to support dynamic errors. Only sentinel errors are used, and they're defined at the file level like this:
so_Error io_EOF = errors_New("EOF"); so_Error io_ErrOffset = errors_New("io: invalid offset");Errors are compared by pointer identity (
==), not by string content — just like sentinel errors in Go. Anilerror is aNULLpointer. This keeps error handling cheap and straightforward.Interfaces
This was the big one. In Go, an interface is a type that specifies a set of methods. Any concrete type that implements those methods satisfies the interface — no explicit declaration needed. In C, there's no such mechanism.
For interfaces, I decided to use "fat" structs with function pointers. That way, Go's
io.Reader:type Reader interface { Read(p []byte) (n int, err error) }Becomes an
io_Readerstruct in C:typedef struct { void* self; so_Result (*Read)(void* self, so_Slice p); } io_Reader;The
selfpointer holds the concrete value, and each method becomes a function pointer that takesselfas its first argument. This is less efficient than using a static method table, especially if the interface has a lot of methods, but it's simpler. So I decided it was good enough for the first version.Now functions can work with interfaces without knowing the specific implementation:
// ReadFull reads exactly len(buf) bytes from r into buf. so_Result io_ReadFull(io_Reader r, so_Slice buf) { so_int n = 0; so_Error err = NULL; for (; n < so_len(buf) && err == NULL;) { so_Slice curBuf = so_slice(so_byte, buf, n, buf.len); so_Result res = r.Read(r.self, curBuf); err = res.err; n += res.val.as_int; } // ... } // A custom reader. typedef struct { so_Slice b; } reader; static so_Result reader_Read(void* self, so_Slice p) { // ... } int main(void) { // We'll read from a string literal. so_String str = so_str("hello world"); reader rdr = (reader){.b = so_string_bytes(str)}; // Wrap the specific reader into an interface. io_Reader r = (io_Reader){ .self = &rdr, .Read = reader_Read, }; // Read the first 4 bytes from the string into a buffer. so_Slice buf = so_make_slice(so_byte, 4, 4); // ReadFull doesn't care about the specific reader implementation - // it could read from a file, the network, or anything else. so_Result res = io_ReadFull(r, buf); }Calling a method on the interface just goes through the function pointer:
// r.Read(buf) becomes: r.Read(r.self, buf);Type assertion
Go's interface is more than just a value wrapper with a method table. It also stores type information about the value it holds:
type iface struct { tab *itab data unsafe.Pointer // specific value } type itab struct { Inter *InterfaceType // method table Type *Type // type information // ... }Since the runtime knows the exact type inside the interface, it can try to "upgrade" the interface (for example, a regular
Reader) to another interface (likeWriterTo) using a type assertion :// copyBuffer copies from src to dst using the provided buffer // until either EOF is reached on src or an error occurs. func copyBuffer(dst Writer, src Reader, buf []byte) (written int64, err error) { // If the reader has a WriteTo method, use it to do the copy. if wt, ok := src.(WriterTo); ok { // try "upgrading" to WriterTo return wt.WriteTo(dst) } // src is not a WriterTo, proceed with the default copy implementation.The last thing I wanted to do was reinvent Go's dynamic type system in C, so dropping this feature was an easy decision.
There's another kind of type assertion, though — when we unwrap the interface to get the value of a specific type:
// Does r (a Reader) hold a pointer to a value of concrete type LimitedReader? // If true, lr will get the unwrapped pointer. lr, ok := r.(*LimitedReader)And this kind of assertion is quite possible in C. All we have to do is compare function pointers:
// Are r.Read and LimitedReader_Read the same function? bool ok = (r.Read == LimitedReader_Read); if (ok) { io_LimitedReader* lr = r.self; }If two different types happened to share the same method implementation, this would break. In practice, each concrete type has its own methods, so the function pointer serves as a reliable type tag.
Specialized readers
After I decided on the interface approach, porting the actual
iotypes was pretty easy. For example,LimitedReaderwraps a reader and stops with EOF after reading N bytes:type LimitedReader struct { R Reader N int64 } func (l *LimitedReader) Read(p []byte) (int, error) { if l.N <= 0 { return 0, EOF } if int64(len(p)) > l.N { p = p[0:l.N] } n, err := l.R.Read(p) l.N -= int64(n) return n, err }The logic is straightforward: if there are no bytes left, return EOF. Otherwise, if the buffer is bigger than the remaining size, shorten it. Then, call the underlying reader, and decrease the remaining size.
Here's what the ported C code looks like:
typedef struct { io_Reader R; int64_t N; } io_LimitedReader; so_Result io_LimitedReader_Read(void* self, so_Slice p) { io_LimitedReader* l = self; if (l->N <= 0) { return (so_Result){.val.as_int = 0, .err = io_EOF}; } if ((int64_t)(so_len(p)) > l->N) { p = so_slice(so_byte, p, 0, l->N); } so_Result res = l->R.Read(l->R.self, p); so_int n = res.val.as_int; l->N -= (int64_t)(n); return (so_Result){.val.as_int = n, .err = res.err}; }A bit more verbose, but nothing special. The multiple return values, the interface call with
l.R.Read, and the slice handling are all implemented as described in previous sections.Copy
Copyis where everything comes together. Here's the simplified Go version:// Copy copies from src to dst until either // EOF is reached on src or an error occurs. func Copy(dst Writer, src Reader) (written int64, err error) { // Allocate a temporary buffer for copying. size := 32 * 1024 buf := make([]byte, size) // Copy from src to dst using the buffer. for { nr, er := src.Read(buf) if nr > 0 { nw, ew := dst.Write(buf[0:nr]) written += int64(nw) if ew != nil { err = ew break } } if er != nil { if er != EOF { err = er } break } } return written, err }In Go,
Copyallocates its buffer on the heap withmake([]byte, size). I could take a similar approach in C — makeCopytake an allocator and use it to create the buffer like this:so_Result io_Copy(mem_Allocator a, io_Writer dst, io_Reader src) { so_int size = 32 * 1024; so_Slice buf = mem_AllocSlice(so_byte, a, size, size); // ... }But since this is just a temporary buffer that only exists during the function call, I decided stack allocation was a better choice:
so_Result io_Copy(io_Writer dst, io_Reader src) { so_int size = 8 * 1024; so_Slice buf = so_make_slice(so_byte, size, size); // ... }so_make_sliceallocates memory on a stack with a bounds-checking macro that wraps C'salloca. It moves the stack pointer and gives you a chunk of memory that's automatically freed when the function returns.People often avoid using
allocabecause it can cause a stack overflow, but using a bounds-checking wrapper fixes this issue. Another common concern withallocais that it's not block-scoped — the memory stays allocated until the function exits. However, since we only allocate once, this isn't a problem.Here's the simplified C version of
Copy:so_Result io_Copy(io_Writer dst, io_Reader src) { so_int size = 8 * 1024; // smaller buffer, 8 KiB so_Slice buf = so_make_slice(so_byte, size, size); int64_t written = 0; so_Error err = NULL; for (;;) { so_Result resr = src.Read(src.self, buf); so_int nr = resr.val.as_int; if (nr > 0) { so_Result resw = dst.Write(dst.self, so_slice(so_byte, buf, 0, nr)); so_int nw = resw.val.as_int; written += (int64_t)(nw); if (resw.err != NULL) { err = resw.err; break; } } if (resr.err != NULL) { if (resr.err != io_EOF) { err = resr.err; } break; } } return (so_Result){.val.as_i64 = written, .err = err}; }Here, you can see all the parts from this post working together: a function accepting interfaces, slices passed to interface methods, a result type wrapping multiple return values, error sentinels compared by identity, and a stack-allocated buffer used for the copy.
Wrapping up
Porting Go's
iopackage to C meant solving a few problems: representing slices, handling multiple return values, modeling errors, and implementing interfaces using function pointers. None of this needed anything fancy — just structs, unions, functions, and some macros. The resulting C code is more verbose than Go, but it's structurally similar, easy enough to read, and this approach should work well for other Go packages too.The
iopackage isn't very useful on its own — it mainly defines interfaces and doesn't provide concrete implementations. So, the next two packages to port were naturallybytesandstrings— I'll talk about those in the next post.In the meantime, if you'd like to write Go that translates to C — with no runtime and manual memory management — I invite you to try Solod. The
iopackage is included, of course. -
🔗 r/reverseengineering Announcing ida-mcp 2.0: A Headless MCP Server for IDA Pro rss
submitted by /u/jtsylve
[link] [comments] -
🔗 r/york Does anyone want/need any pallets rss
| Posted on the FB free york page, and thought id also post here, incase people dont have FB 3 pallets, free to collect Tang Hall area submitted by /u/anus-cannon
[link] [comments]
---|--- -
🔗 HexRaysSA/plugin-repository commits sync repo: +1 release rss
sync repo: +1 release ## New releases - [BinSync](https://github.com/binsync/binsync): 5.13.0 -
🔗 r/Yorkshire Rolls-Royce invests £19.3m in aim to double Rotherham factory output rss
| submitted by /u/willfiresoon
[link] [comments]
---|--- -
🔗 r/york Best pubs/bars for smokers? (nice beer gardens etc) rss
Going for a meal and a few afternoon drinks to central York with my best friend soon, only thing is he's a very heavy smoker- I pick the wrong place and I don't see him much as I'm sat in,whilst he is always stood outside the front door having his next smoke!
We're both in our 40s, so no clubs or teen hangouts please. Thank you.
submitted by /u/map01302
[link] [comments] -
🔗 r/york Charging Port Cleaning rss
Hi, my steamdeck only charges at certain angles and I think the charging port needs cleaning. Can anyone recommend anywhere that can do this for me? If it were my phone I'd go anywhere but don't want to risk the deck being broken.
submitted by /u/victorianas
[link] [comments] -
🔗 r/wiesbaden Freude finden rss
Yo, ich bin Ayman, 21, und habe in der Stadt noch keinen Anschluss. Ich suche ein paar Freunde im Alter von 19 bis 29
submitted by /u/Superb_Gas7119
[link] [comments] -
🔗 r/wiesbaden No Tyrants Protest this Saturday, Schlossplatz from 1:00 to 3:00 PM rss
I will also be making a speech.
submitted by /u/ramona_rox
[link] [comments] -
🔗 r/Leeds Our Hero Nathan Newby 🫡 rss
I know it's already been spoken about, but this man is incredible. He saved many lives.
BBC News - Patient hugged armed man to prevent bomb attack at Leeds hospital - BBC News https://www.bbc.co.uk/news/articles/c9q58xq9lxzo?app-referrer=push- notification
submitted by /u/Johnbo_
[link] [comments] -
🔗 r/york Life in York? rss
I'm considering working at the university of York. If I move to York, what's it like there as compared to my hometown Milton Keynes?
submitted by /u/Beautiful_Shine_6787
[link] [comments] -
🔗 backnotprop/plannotator v0.15.2 release
Follow @plannotator on X for updates
Missed recent releases? Release | Highlights
---|---
v0.15.0 | Live AI chat in code review, plan archive browser, folder file viewer, resizable split pane, Pi full feature parity
v0.14.5 | GitLab merge request review, login page image fix, Windows install path fix
v0.14.4 | GitHub review submission, repo identifier in tab title, nested code fence parser fix, Pi paste URL wiring, file header gap fix
v0.14.3 | PR context panel, diff search in code review, OpenCode permission normalization, landing page redesign
v0.14.2 | OpenCode plan mode prompt replacement, Windows non-ASCII path fix, Pi link fix
v0.14.1 | Single submit_plan with auto-detect, viewed-file draft persistence, Bear nested tag fix
v0.14.0 | PR review via GitHub URL,/plannotator-lastfor annotating agent messages, OpenCode plan mode permissions fix, VS Code SSH proxy fix
v0.13.1 | OpenCode plan mode rewrite, Obsidian save fix
v0.13.0 | Built-in themes, annotatable plan diffs, file-scoped code review comments, Octarine integration, unified review core, Pi remote sessions
v0.12.0 | Quick annotation labels, mobile compatibility, Graphviz rendering, markdown images with lightbox, linked doc navigation in annotate mode
v0.11.4 | Git add from code review, bidirectional scroll navigation, clipboard paste for annotation images, VS Code IPC port stability
What's New in v0.15.2
v0.15.2 introduces Compound Planning, adds folder annotation, the
/plannotator-archiveslash command, and fixes Pi's plan tool scoping. 5 PRs, 1 from an external contributor.Compound Planning: Learn From Your Own Planning Patterns
Skill:
/plannotator-compoundDemo: https://x.com/plannotator/status/2036607307979886984
Compound Planning is a new skill that surfaces your own insights: what kinds of plans get denied, what feedback you give most often, how your planning has evolved over time. The goal is to consistently refine and optimize the planning that works best for you, and eventually create an automated feedback loop between your review patterns and your agent's planning behavior.
This is the first step toward a system where your agent gets better at planning for you specifically , based on your actual history of approvals, denials, and annotations.
The platform install scripts now install Plannotator's skill (just 1 for now) automatically alongside the binary.
Annotate Entire Folders
plannotator annotatenow accepts a directory path. Instead of opening a single file, it starts the annotate server with the sidebar Files tab pre- loaded, showing all markdown files in that directory. The viewer starts empty with a prompt to select a file. This lets you review and annotate an entire folder of docs, specs, or notes in one session.Works in both the Bun hook and the Pi extension.
/plannotator-archiveSlash CommandThe plan archive browser was previously only accessible via the CLI (
plannotator archive) and the Pi extension. This release adds/plannotator- archiveas a slash command for Claude Code and OpenCode, so all three runtimes can browse saved plan decisions the same way. The archive is read- only: it opens the browser, you browse your plans, and it closes when you're done.Additional Changes
- Pi plan tool scoping. The Pi extension's plan submission tool was renamed to
plannotator_submit_planand is now hidden outside of planning mode. Previously, the tool was visible globally, which could confuse the agent. The fix also properly restores the pre-plan tool set when planning ends (#387 by @dmmulroy, closing #386) - Pi AI backbone bundling. The
@plannotator/aipackage was missing from published Pi packages because it's a private workspace dependency. AI files are now copied intogenerated/ai/at build time, matching the existing pattern for shared utilities. Pi users installing from npm now get AI features in code review.
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: Run
/pluginin Claude Code, find plannotator , and click "Update now".OpenCode: Clear cache and restart:
rm -rf ~/.bun/install/cache/@plannotatorThen in
opencode.json:{ "plugin": ["@plannotator/opencode@latest"] }Pi: Install or update the extension:
pi install npm:@plannotator/pi-extension
What's Changed
- fix: Pi plan tool scoping by @dmmulroy in #387
- feat: add /plannotator-archive slash command by @backnotprop in #388
- feat: support folder annotation via plannotator annotate
by @backnotprop in #389 - feat: install skills via git sparse-checkout in platform install scripts by @backnotprop in #390
- fix(pi): bundle AI backbone into generated/ for published package by @backnotprop in 1175ef6
Community
@dmmulroy authored the Pi plan tool scoping fix (#387), which he also reported in #386. This is his third contribution to the project.
Full Changelog :
v0.15.0...v0.15.2 - Pi plan tool scoping. The Pi extension's plan submission tool was renamed to
-
🔗 r/LocalLLaMA Throwback to my proudest impulse buy ever, which has let me enjoy this hobby 10x more rss
| Can you beleive I almost bought two of them?? (oh, and they gave me 10% cashback for Prime Day) submitted by /u/gigaflops_
[link] [comments]
---|--- -
🔗 Cal Paterson "Disregard that!" attacks rss
Why you shouldn't share your context window with others
-
🔗 Mario Zechner Thoughts on slowing the fuck down rss
Thoughts on slowing the fuck down
-
🔗 Drew DeVault's blog A eulogy for Vim rss
Vim is important to me. I’m using it to write the words you’re reading right now. In fact, almost every word I have ever committed to posterity, through this blog, in my code, all of the docs I’ve written, emails I’ve sent, and more, almost all of it has passed through Vim.
My relationship with the software is intimate, almost as if it were an extra limb. I don’t think about what I’m doing when I use it. All of Vim’s modes and keybindings are deeply ingrained in my muscle memory. Using it just feels like my thoughts flowing from my head, into my fingers, into a Vim-shaped extension of my body, and out into the world. The unique and profound nature of my relationship with this software is not lost on me.

I didn’t know Bram Moolenaar. We never met, nor exchanged correspondence. But, after I moved to the Netherlands, Bram’s home country, in a strange way I felt a little bit closer to him. He passed away a couple of years after I moved here, and his funeral was held not far from where I lived at the time. When that happened, I experienced an odd kind of mourning. He was still young, and he had affected my own life profoundly. He was a stranger, and I never got to thank him.
The people he entrusted Vim to were not strangers, they knew Bram and worked with him often, and he trusted them. It’s not my place to judge their work as disrespectful to his memory, or out of line with what he would have wanted. Even knowing Bram only through Vim, I know he and I disagreed often. However, the most personal thing I know about Bram, and that many people remember about him, was his altruistic commitment to a single cause: providing education and healthcare to Ugandan children in need. So, at the very least, I know that he cared.
I won’t speculate on how he would have felt about generative AI, but I can say that GenAI is something I care about. It causes a lot of problems for a lot of people. It drives rising energy prices in poor communities, disrupts wildlife and fresh water supplies, increases pollution, and stresses global supply chains. It re-enforces the horrible, dangerous working conditions that miners in many African countries are enduring to supply rare metals like Cobalt for the billions of new chips that this boom demands. And at a moment when the climate demands immediate action to reduce our footprint on this planet, the AI boom is driving data centers to consume a full 1.5% of the world’s total energy production in order to eliminate jobs and replace them with a robot that lies.
Meanwhile, this whole circus is enabling the rising tide of fascism around the world, not only by supercharging propaganda but also by directly financially supporting fascist policies and policymakers. All this to enrich the few, centralize power, reduce competition, and underwrite an enormous bubble that, once it bursts, will ruin the lives of millions of the world’s poor and marginalized classes.
I don’t think it’s cute that someone vibe coded “battleship” in VimScript. I think it’s more important that we stop collectively pretending that we don’t understand how awful all of this is. I don’t want to use software which has slop in it. I do what I can to avoid it, and sadly even Vim now comes under scrutiny in that effort as both Vim and NeoVim are relying on LLMs to develop the software.
So this is how, a few years after Bram’s passing, I find myself in another unusual moment of mourning: mourning Vim itself. What an odd feeling.
To keep my conscience clear, and continue to enjoy the relationship I have with this amazing piece of software, I have forked Vim. You can find my fork here: Vim Classic.
The choice of which version to use as the basis for a fork was a bit difficult. The last version of Vim released during Bram’s lifetime was Vim 9.0. To me, that seems like a good starting point. But, in the end, I chose to base my fork on Vim 8.2.0148 instead. Patch 148 was the patch immediately prior to the introduction of Vim9 Script, Vim 9.0’s flagship feature.
I’m sure Bram worked hard on Vim9 script, and I want to honor that. At the same time, it was still very new when he passed away, and the job of fully realizing its potential was handed down to the current maintainers. Its absence from Vim Classic is an honest assessment that I don’t have the time or energy to try to sort out all of the work on Vim9 which followed in Bram’s footsteps, and decide what stays and what goes. It seems like a useful line to draw in the sand: Vim Classic is compatible with legacy plugins, but not the newfangled stuff.
Since forking from this base, I have backported a handful of patches, most of which address CVEs discovered after this release, but others which address minor bug fixes. I also penned a handful of original patches which bring the codebase from this time up to snuff for building it on newer toolchains. My old vimrc needed very few changes to work on this version of Vim, and all of my plugins work with the exception of fzf.vim, which I would like to fix at some point (or maybe a sympathetic reader is willing to work on backporting the necessary changes).
I plan to use this for a little while, look for sore points and rough edges, collect feedback from other users, and then tag a little release soon. Going forward, maintenance will be slow and quiet. I welcome your patches, particularly to help with maintaining the runtime scripts, stuff like making sure new language features end up in the syntax files. I’ll also gladly accept new bug fixes, and maybe even a few new features if a good case can be made for including them. Backporting small patches from Vim upstream will be considered, with extra scrutiny.
In short, I invite you to use Vim Classic, if you feel the same way as me, and to maintain it with me, contributing the patches you need to support your own use cases.
-
- March 24, 2026
-
🔗 IDA Plugin Updates IDA Plugin Updates on 2026-03-24 rss
IDA Plugin Updates on 2026-03-24
New Releases:
Activity:
- augur
- 2b6f8984: chore: update dependencies
- binsync
- e0efc65e: Bump to remove dep connection to LiteLLM
- fifam
- e9cf4a13: weather -> climate conversion
- ghidra
- ghidra-chinese
- Greffe
- HappyIDA
- haruspex
- 85e6f66e: chore: update dependencies
- ida-cyberchef
- 48b5fa31: v0.2.0
- ff93b54a: ci: install pyside6
- c3d593b0: ruff check I
- f240a18d: ruff format check
- 60f37a4e: init: more direct Qt imports
- 8a1e7eb6: ruff check
- 8a0de6d4: add linting config
- d74ddf4d: Surface invalid manual input state
- d5d1eb61: pyproject: move pyside to extras group "qt"
- cbe25c0f: remove some xfails
- ida-domain
- c1e7bdc0: docs: fix docstring_style from sphinx to google (#62)
- ida-hcli
- ida-sdk
- 1aa34408: Update ida-cmake submodule (fix bootstrap path)
- idamagicstrings
- 24c7b5b7: Removed dashes
- pharos
- playlist
- 5fabb285: de todito
- python-elpida_core.py
- rhabdomancer
- 36357d7d: chore: update dependencies
- Rikugan
- augur
-
🔗 r/Harrogate Great food suggestions rss
Hello. I'm looking for restaurant recommendations for my friend and I on Saturday evening? Something with great starters ideally, as I love a starter over a dessert! Something not too fancy. Just friends going out for good food.
Many thanks in advance ☺️
submitted by /u/Chronic_Eyeroller_
[link] [comments] -
🔗 apple/embedding-atlas v0.19.1 release
What's Changed
- CRITICAL: Mitigation for supply chain attack in litellm in #183, thanks @jamesanto
- chore: bump version to 0.19.1 by @donghaoren in #184
Full Changelog :
v0.19.0...v0.19.1 -
🔗 r/LocalLLaMA Prices finally coming down? 🥺🙏 rss
| submitted by /u/PsychologicalSock239
[link] [comments]
---|--- -
🔗 r/Yorkshire Gannets fencing… Bempton Cliffs rss
| submitted by /u/aspiranthighlander
[link] [comments]
---|--- -
🔗 r/Yorkshire Where to live in Yorkshire? rss
Hello,
My husband is from Oldham and he has been living in California and Colorado for the past 11-12 years since graduating Uni. We me in California and moved to Colorado 5 years ago. He's over our hustle culture and wants to return to England, and be closer to his family. WE just don't have help out here, not even for your occasional date night. My family is too spread out all over the US and its all places we just wouldn't live - whether that is because of high cost, weather or politics. Then I think he has just gone so long without his own support system, its important that we have that for him and our kids.
He is a British citizen, and our kids our dual. I'll be applying for the spousal visa. So we don't need to get into the immigration stuff.
Essentially we are trying to figure out where to live in Yorkshire. We don't want to go past York, as that is too far from his family in Oldham and then his sister lives in York, so we would like to be able to see her and then also be able to meet up with both sides of the family easily still.
We are looking for:
- Good schools (we have primary aged children)
- Safe communities (we want to know our kids are safe walking to and from school or that I can jog solo, or hike solo)
- Strong sense of community but not so strong that people are cold or rude
- Strong sense of English culture and history (After my husband being away for so long, that’s become important to my husband, for our kids to grow up connected to that side of their identity.)
- Budget to buy £250,000 (preferably below that, no flats)
- Budget to rent: £1,200 or less (also would prefer no flats)
- Walkable to school, grocery, and or high street. This is negotiable as we are used to driving everywhere but walking to everything is just nice.
- Close to a motorway or train, could be one or the other, so this too is negotiable if the town/city/village is walkable with lots of shops.
- Politically, we wouldn't identify either left, right or green. We just want balanced and normal.
- Religion, we aren't really religious. But we likely live by some flavor of Christianity? If anything I'd say we are more so agnostic? Like that's great if there is a god, and if there's not a god, we still just believe in being good people. So we're open to going to church, we just don't like the whole in your face productions that American churches sort of put on.
- Work/Jobs: I am flexible, I am happy doing almost anything. I have done the whole corporate and office jobs, they make me miserable. My husband has his Bachelors in Physical Education and he is currently the director of a youth soccer club. He oversees an entire age range for our region. He'd like to stay in youth sports/sports as a career but know that may not translate. So he is then open to working in some other field and would still like to coach at least one team in his free time.We know every place has its pros & cons. Just hoping for genuine recommendations from people who actually know the region.
We have asked this question in some other groups and a few suggestions we have had were:
- Todmorden, Hebden Bridge, Holmfirth, Wakefield, Barnsley and a few others.
Part of the issue is, many people will make a suggestion and not say what is good or bad. Or someone will make a suggestion of a place to avoid but just say its sh!t.
Then people have also said for our budget we won't find much but we are looking on Rightmove and we see a ton of stuff available below £250,000. Which again, coming from the states, we can't get into anything at $300,000, and if we did find something then its a fixer upper, there are HOA fees and if we don't put 20% down then we have to pay property mortgage insurance - which is separate from actual homeowners insurance, which that's becoming increasingly unaffordable and some companies are leaving the state altogether.
So we'd love to hear your suggestions and why or why not. We'd obviously like to check most our boxes but its okay if it doesn't check every once. Top two priorities would be safe community and good schools.
Thank you in advance!
submitted by /u/arg2325
[link] [comments] -
🔗 News Minimalist 🐢 Scientists move antimatter by truck for the first time + 13 more stories rss
In the last 7 days Gemini read 205818 top news stories. After removing previously covered events, there are 14 articles with a significance score over 5.5.

[5.8] Scientists successfully transport antimatter in a truck at CERN —nos.nl(Dutch) (+6)
Scientists at CERN successfully transported antimatter by truck for the first time, marking a breakthrough that enables moving these volatile particles to external laboratories for advanced precision research.
The test utilized a specialized one-ton container carrying 92 antiprotons suspended in electromagnetic fields at extreme sub-zero temperatures. This technology prevents the particles from annihilating upon contact with regular matter during transit, ensuring they remain stable despite the truck's movement.
Future trips to sites like Düsseldorf aim to investigate why matter dominates the universe. Researchers are now developing long-range power sources to support the ten-hour journeys required for international transport.
[6.2] Australia and the EU finalize comprehensive trade agreement after eight years of negotiations —rfi.fr(+56)
The European Union and Australia signed a landmark free-trade agreement Tuesday, concluding eight years of negotiations to diversify markets and secure critical mineral supplies amid rising global trade tensions.
The deal increases Australian beef exports while resolving disputes over protected geographical names like prosecco and feta. Additionally, both parties established a security partnership to enhance defense cooperation and reduce economic over-reliance on major powers like China for essential raw materials.
EU officials estimate regional exports will grow significantly, while the pact could boost Australia’s GDP by billions. The agreement addresses energy vulnerabilities and supply chain risks exacerbated by the ongoing Middle East conflict.
Highly covered news with significance over 5.5
[5.7] China now exports more cars to Europe than Europe exports to China — nordkurier.de (German) (+2)
[5.6] FCC bans sale of most wireless routers in the US over security concerns — 9to5mc.com (+19)
[6.7] New mass spectrometry prototype analyzes billions of molecules simultaneously — rockefeller.edu (+2)
[5.6] US and Indonesia sign trade deal for critical minerals and fossil fuels — usnews.com (+4)
[6.6] Lab-grown food pipe offers new hope for young patients — bbc.com (+6)
[6.0] Brazil enacts law to protect minors from harmful online content — apnews.com (+9)
[5.6] New Israeli law grants rabbinical courts power over civil disputes, raising fears of a theocratic state — ar.timesofisrael.com (Arabic) (+2)
[5.6] US judge strikes down Pentagon press coverage restrictions — npr.org (+24)
[5.5] Johnson & Johnson gains US approval for new daily psoriasis pill — statnews.com (+8)
[6.4] Lab-grown muscle propels swimming robot to record speed — news.nus.edu.sg (+2)
[5.8] Bavarian authorities shut down 373,000 darknet sites in major operation — science.orf.at (German) (+10)
[5.5] One in eight U.S. adults use GLP-1 drugs for weight loss and other health benefits — latimes.com (+6)
Thanks for reading!
— Vadim
You can create your own significance-based RSS feed with premium.
-
🔗 r/york Are bluebells out yet anywhere? rss
Does anyone know? We've had a bit of sun now (until tonight lol).
submitted by /u/Massive-Medicine5413
[link] [comments] -
🔗 r/LocalLLaMA Best model that can beat Claude opus that runs on 32MB of vram? rss
Hi everyone! I want to get in to vibe coding to make my very own ai wrapper, what are the best models that can run on 32MB of vram? I have a GeForce 256, and an intel pentium 3, i want to be able to run a model on ollama that can AT LEAST match or beat Claude opus, any recommendations?
submitted by /u/PrestigiousEmu4485
[link] [comments] -
🔗 r/Yorkshire Government announces 40 new school-based nurseries in Yorkshire to help cut childcare costs rss
The Department for Education announced yesterday that a further 331 schools across the country have been successful in applying for a share of £45 million funding to build or expand nurseries on their site.
This includes 40 schools in Yorkshire – full list available on the gov.uk website.
Local Authority | School Name
---|---
Barnsley | Brierley Church of England Voluntary Controlled Primary School
Calderdale | Trinity Academy Whitehill
Doncaster | Canon Popham CofE Primary Academy
| Castle Academy
East Riding of Yorkshire | Market Weighton Infant School
| St Mary & St Joseph Catholic Primary School - a Catholic voluntary academy
| St Mary's Catholic Primary School - a Catholic voluntary academy
Kingston upon Hull, City of | Francis Askew Primary School
| St Richard's VC Academy
Leeds | Allerton Bywater Primary School
| Blackgates Primary Academy
| Christ Church Upper Armley Church of England Primary School
| Collingham Lady Elizabeth Hastings Church of England Voluntary Aided Primary School
| Greenhill Primary School
| Holy Name Catholic Voluntary Academy
| Kippax North Primary School
| Middleton Primary School
North Yorkshire | Aiskew, Leeming Bar Church of England Primary School
| Bentham Community Primary School
| Brompton and Sawdon Community Primary School
| Brompton-on-Swale Church of England Primary School
| Brougham Street Nursery School
| Hensall Community Primary School
| Pickhill Church of England Primary School
| Settrington All Saints' Church of England Voluntary Controlled Primary School
| St Mary's Catholic Primary School - a Catholic voluntary academy
| St Peter's Catholic Primary School - a Catholic voluntary academy
| Willow Tree Community Primary School
Rotherham | Roughwood Primary School
| Thurcroft Infant School
| Woodsetts Primary School
Sheffield | Beighton Nursery Infant School
| Bradfield Dungworth Primary School
| Clifford All Saints CofE Primary School
| Hillsborough Primary School
| Pye Bank CofE Primary School
Wakefield | Carleton Park Junior and Infant School
| Crigglestone Nursery School
| Orchard Head Junior and Infant and Nursery School
York | St Aelred's Catholic Primary School - a Catholic Voluntary AcademyNew figures published yesterday show around a million parents now use the government’s funded childcare offer. But the data also reveals lower take-up in poorer communities, highlighting the need to target new places where families face the biggest barriers to accessing childcare.
School-based nurseries already play a major role in filling those gaps, making up around 35% of childcare provision in the most deprived areas, compared with 16% in the least deprived.
Find out more: https://www.gov.uk/government/news/new-school-nurseries-to- help-cut-childcare-costs-in-poorest-areas
submitted by /u/UKGovNews
[link] [comments] -
🔗 r/Leeds Hello lovely people of Leeds. I'm coming to Leeds with my wife for her 40th birthday and looking for restaurant recommendations rss
I originally booked up because I wanted to go to El Gato Negro, the Manchester restaurant is our favourite restaurant and we've been keen to go for many years. Imagine my surprise to find it closed 2 years ago!!
I'd like somewhere that would be similar, not necessarily in food but in quality and atmosphere. Ideally somewhere good for lunch as we will have our daughter with us (she's a good eater and has fancy tastes).
Any help gratefully received and much appreciated.
submitted by /u/RobFratelli
[link] [comments] -
🔗 r/LocalLLaMA [Developing situation] LiteLLM compromised rss
-
🔗 r/LocalLLaMA LM Studio may possibly be infected with sophisticated malware. rss
| NO VIRUS LM studio has stated it was a false positive and Microsoft dealt with it I'm no expert, just a tinkerer who messed with models at home, so correct me if this is a false positive, but it doesn't look that way to me. Anyone else get this? showed up 3 times when i did a full search on my main drive. I was able to delete them with windows defender, but might do a clean install or go to linux after this and do my tinkering in VMs. It seems this virus messes with updates possibly, because I had to go into commandline and change some update folder names to get windows to search for updates. Dont get why people are downvoting me. i loved this app before this and still might use it in VMs, just wanted to give fair warning is all. gosh the internet has gotten so weird. edit LM Studio responded that it was a false alarm on microslops side. Looks like we're safe. submitted by /u/mooncatx3
[link] [comments]
---|--- -
🔗 r/LocalLLaMA Created a SillyTavern extension that brings NPC's to life in any game rss
| Using SillyTavern as the backend for all the RP means it can work with almost any game, with just a small mod acting as a bridge between them. Right now I’m using Cydonia as the RP model and Qwen 3.5 0.8B as the game master. Everything is running locally. The idea is that you can take any game, download its entire wiki, and feed it into SillyTavern. Then every character has their own full lore, relationships, opinions, etc., and can respond appropriately. On top of that, every voice is automatically cloned using the game’s files and mapped to each NPC. The NPCs can also be fed as much information per turn as you want about the game world - like their current location, player stats, player HP, etc. All RP happens inside SillyTavern, and the model is never even told it’s part of a game world. Paired with a locally run RP-tuned model like Cydonia, this gives great results with low latency, as well as strong narration of physical actions. A second pass is then run over each message using a small model (currently Qwen 3.5 0.8B) with structured output. This maps responses to actual in-game actions exposed by your mod. For example, in this video I approached an NPC and only sent “ shoots at you ”. The NPC then narrated themselves shooting back at me. Qwen 3.5 reads this conversation and decides that the correct action is for the NPC to shoot back at the player. Essentially, the tiny model acts as a game master, deciding which actions should map to which functions in-game. This means the RP can flow freely without being constrained to a strict structure, which leads to much better results. In older games, this could add a lot more life even without the conversational aspect. NPCs simply reacting to your actions adds a ton of depth. Not sure why this isn’t more popular. My guess is that most people don’t realise how good highly specialised, fine-tuned RP models can be compared to base models. I was honestly blown away when I started experimenting with them while building this. submitted by /u/goodive123
[link] [comments]
---|--- -
🔗 r/LocalLLaMA Litellm 1.82.7 and 1.82.8 on PyPI are compromised, do not update! rss
We just have been compromised, thousands of peoples likely are as well, more details updated here: https://futuresearch.ai/blog/litellm-pypi-supply-chain- attack/
Update: My awesome colleague Callum McMahon, who discovered this, wrote an explainer and postmortem going into greater detail: https://futuresearch.ai/blog/no-prompt-injection-required
submitted by /u/kotrfa
[link] [comments] -
🔗 r/wiesbaden Uranium glass rss
Hello, I am visiting Wiesbaden for few days and I would like to buy some uranium glass. Are there any shops with glass or some cool antiques I can find? Thank you
submitted by /u/barborka47
[link] [comments] -
🔗 HexRaysSA/plugin-repository commits sync repo: +1 plugin, +2 releases rss
sync repo: +1 plugin, +2 releases ## New plugins - [idamagicstrings](https://github.com/joxeankoret/idamagicstrings) (1.2.0) ## New releases - [ida-cyberchef](https://github.com/HexRaysSA/ida-cyberchef): 0.2.0 -
🔗 r/Yorkshire Different moods of Whitby rss
| submitted by /u/angryestbadger
[link] [comments]
---|--- -
🔗 r/Leeds Town Hall in the Snow rss
submitted by /u/angryestbadger
[link] [comments] -
🔗 r/Yorkshire Fountains Abbey in the sun rss
| submitted by /u/angryestbadger
[link] [comments]
---|--- -
🔗 r/Yorkshire Views over Scar House rss
| submitted by /u/angryestbadger
[link] [comments]
---|--- -
🔗 r/reverseengineering Reverse Engineering a "Zombie" Smart Scale: My journey with QardioBase2 after the app vanished. rss
submitted by /u/Reversed-Engineer-01
[link] [comments] -
🔗 backnotprop/plannotator v0.15.0 release
Follow @plannotator on X for updates
Missed recent releases? Release | Highlights
---|---
v0.14.5 | GitLab merge request review, login page image fix, Windows install path fix
v0.14.4 | GitHub review submission, repo identifier in tab title, nested code fence parser fix, Pi paste URL wiring, file header gap fix
v0.14.3 | PR context panel, diff search in code review, OpenCode permission normalization, landing page redesign
v0.14.2 | OpenCode plan mode prompt replacement, Windows non-ASCII path fix, Pi link fix
v0.14.1 | Single submit_plan with auto-detect, viewed-file draft persistence, Bear nested tag fix
v0.14.0 | PR review via GitHub URL,/plannotator-lastfor annotating agent messages, OpenCode plan mode permissions fix, VS Code SSH proxy fix
v0.13.1 | OpenCode plan mode rewrite, Obsidian save fix
v0.13.0 | Built-in themes, annotatable plan diffs, file-scoped code review comments, Octarine integration, unified review core, Pi remote sessions
v0.12.0 | Quick annotation labels, mobile compatibility, Graphviz rendering, markdown images with lightbox, linked doc navigation in annotate mode
v0.11.4 | Git add from code review, bidirectional scroll navigation, clipboard paste for annotation images, VS Code IPC port stability
v0.11.3 | Expandable diff context, hierarchical folder tree, redesigned worktree controls, supply chain hardening
What's New in v0.15.0
v0.15.0 adds live AI chat to code review, the ability to browse all your previous plans, a folder-based file viewer for referencing docs (e.g. Superpowers) during annotation, and full feature parity for the Pi extension. 11 PRs, 2 from external contributors, 1 first-time.
Live AI Chat in Code Review
You can now talk to an AI directly inside the code review UI. Select lines in a diff and click "Ask AI" to get context-aware explanations about what the code does and why it changed. Or open the AI sidebar tab to ask general questions about the changeset. Responses stream in real-time with full markdown rendering.
Plannotator works with the coding tools you already have installed. On startup, it checks which tools are available on your machine — Claude Code, Codex, Pi, OpenCode — and offers them as providers. You choose which one to use and which model to use with it in Settings. That choice persists across sessions. You can switch providers at any time. The only requirement is that the tool is installed and authenticated locally; Plannotator doesn't handle login or API keys itself.
Under the hood, each tool is accessed through a provider-agnostic layer (
@plannotator/ai) that handles session lifecycle, streaming, and tool execution uniformly. Claude and Codex communicate via subprocess, Pi via RPC over JSONL/stdio, and OpenCode via HTTP + SSE. The OpenCode provider supports forked sessions, runtime permission approvals, and dynamic model discovery from connected providers.Browse All Previous Plans
You can now view every plan you've approved or denied. The
plannotator archivecommand opens a read-only browser of your plan history, with approved/denied badges and timestamps. During normal plan review, a new Archive sidebar tab gives you the same view without leaving the session, so you can reference past decisions while reviewing a new plan.This replaces the old "Other Plans" UI and removes the dead
/api/plan/historyendpoint.- #369, closing #362 reported by @andreivladmatei
Attach Folders for Reference During Review
A new Files tab in the sidebar gives you access to all markdown files in your project. Click any file to open it as a linked document with full annotation support. If you have docs, specs, or notes in directories outside the project root, add them in Settings and they show up as additional sections. Useful for power users who want their full documentation library at hand while reviewing or annotating plans.
Works in both plan mode and annotate mode. Directory sections are collapsible, and common non-content directories (node_modules, .git, dist, build, etc.) are excluded.
- #378, closing #367 requested by @andymac4182
Resizable Split Pane in Code Review
The split diff viewer now has a draggable divider between left and right panes. Drag to resize; the ratio is clamped to 20-80% and persisted via cookie storage. Double-click the handle to reset to 50/50. The implementation uses CSS custom properties that inherit into Pierre's shadow DOM, so resizing triggers zero re-renders of the diff component. The handle is hidden for add- only or delete-only files where Pierre renders a single column.
Pi Extension: Full Feature Parity
The Pi extension was missing a significant number of features that Claude Code and OpenCode users had access to. PR review, note-taking integrations (Obsidian, Bear, Octarine), plan saving with version history, editor annotations, the file browser, linked doc resolution with security checks, and the AI backbone were all absent or partially implemented. This release closes that gap entirely. Pi users now have access to every feature available on the other platforms.
The server was rewritten from a monolithic
server.tsinto a modular architecture split across domain-specific modules (serverPlan.ts,serverReview.ts,serverAnnotate.ts, plus shared handlers, reference resolution, annotations, integrations, PR support, and networking). Agenerated/directory holds shared code copied frompackages/shared/at build time, so both Bun and Pi consume the same logic for storage, drafts, file resolution, and integrations.A line-by-line parity audit then verified every endpoint, response shape, error case, and conditional across all three server types. This uncovered and fixed: missing error handling on several endpoints, a broken
detectProjectNameSyncthat silently failed, a missingpasteApiUrlin Bun's annotate server that broke short URL sharing, and stale naming inconsistencies. An automated route parity test now runs in CI to prevent drift going forward.Additional Changes
- OpenPackage manifest. Adds
openpackage.ymlfor installation viaopkg install plannotator(#368 by @TiagoJacinto) - Duplicate code review header fix (Pi). The
# Code Review Feedbackheading appeared twice when the Pi extension submitted review feedback. The wrapper no longer adds a redundant header (#370 by @dmmulroy) - Duplicate code review header fix (OpenCode). Same issue in the OpenCode plugin (#375, closing #374 reported by @nulladdict)
- Empty submit in annotate mode. The annotate UI no longer blocks submission when there are no annotations. Linked doc annotations are now counted in validation, fixing a case where annotations on linked documents couldn't be submitted (#376, closing #371 and #373 reported by @bman654)
- Sidebar resize handle fix. The left sidebar handle was visible on hover but couldn't be grabbed due to a touch area regression from v0.14.5. Fixed with asymmetric positioning that avoids covering scrollbars.
- Linked doc border styling. The border around linked documents (Obsidian files, project files, archive plans) is now thinner and more subtle — 1px at 40% opacity instead of the previous 2px solid primary.
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: Run
/pluginin Claude Code, find plannotator , and click "Update now".OpenCode: Clear cache and restart:
rm -rf ~/.bun/install/cache/@plannotatorThen in
opencode.json:{ "plugin": ["@plannotator/opencode@latest"] }Pi: Install or update the extension:
pi install npm:@plannotator/pi-extension
What's Changed
- feat(ai): AI backbone + inline chat for code review by @backnotprop in #363
- Add OpenPackage manifest by @TiagoJacinto in #368
- feat: plan archive browser by @backnotprop in #369
- fix: remove duplicate 'Code Review' header in pi extension review feedback by @dmmulroy in #370
- fix: remove duplicate 'Code Review' header in opencode plugin by @backnotprop in #375
- fix: allow empty submit and count linked doc annotations in annotate mode by @backnotprop in #376
- feat(ai): Pi provider via RPC subprocess by @backnotprop in #377
- feat: markdown file browser sidebar tab by @backnotprop in #378
- feat(ai): OpenCode provider via HTTP + SSE by @backnotprop in #379
- feat(pi): complete Pi server rewrite — modular architecture, full Bun parity, shared code extraction by @backnotprop in #382
- feat: resizable split pane for code review diff viewer by @backnotprop in #383
New Contributors
- @TiagoJacinto made their first contribution in #368
Contributors
@TiagoJacinto added the OpenPackage manifest (#368), enabling installation via
opkg. First contribution to the project.@dmmulroy fixed the duplicate code review header in the Pi extension (#370), a follow-up to his paste URL wiring work in v0.14.4.
Community members who reported issues that drove changes in this release:
- @andreivladmatei: #362 (plan archive feature request)
- @andymac4182: #367 (file browser / folder annotation request)
- @bman654: #371 and #373 (annotate mode submission bugs)
- @nulladdict: #374 (duplicate header in OpenCode review feedback)
Full Changelog :
v0.14.5...v0.15.0 -
🔗 r/Leeds Just moved from Brazil and looking for the best coffee spots! ☕️🇧🇷 rss
Hi everyone! I recently arrived in leeds and I'm still trying to find my way around. I'm looking for a cozy café where I can sit, read a bit, or just enjoy a good espresso. Any hidden gems you guys would recommend? Not a fan of the big chains, I prefer local spots! Thanks in advance. ✨
submitted by /u/Standard_Ad_2739
[link] [comments] -
🔗 sacha chua :: living an awesome life Categorizing Emacs News items by voice in Org Mode rss
I'm having fun exploring which things might actually be easier to do by voice than by typing. For example, after I wrote some code to expand yasnippets by voice, I realized that it was easier to:
- press my shortcut,
- say "okay, define interactive function",
- and then press my shortcut again,
than to:
- mentally say it,
- get the first initials,
- type in "dfi",
- and press Tab to expand.
Another area where I do this kind of mental translation for keyboard shortcuts is when I categorize dozens of Emacs-related links each week for Emacs News. I used to do this by hand. Then I wrote a function to try to guess the category based on regular expressions (
my-emacs-news-guess-categoryin emacs-news/index.org, which is large). Then I set up a menu that lets me press numbers corresponding to the most frequent categories and use tab completion for the rest. 1 is Emacs Lisp, 2 is Emacs development, 3 is Emacs configuration, 4 is appearance, 5 is navigation, and so on. It's not very efficient, but some of it has at least gotten into muscle memory, which is also part of why it's hard to change the mapping. I don't come across that many links for Emacs development or Spacemacs, and I could probably change them to something else, but… Anyway.
Figure 1: Screenshot of my menu for categorizing links I wanted to see if I could categorize links by voice instead. I might not always be able to count on being able to type a lot, and it's always fun to experiment with other modes of input. Here's a demonstration showing how Emacs can automatically open the URLs, wait for voice input, and categorize the links using a reasonably close match. The
*Messages*buffer displays the recognized output to help with debugging.Screencast with audio: categorizing links by voiceThis is how it works:
- It starts an
ffmpegrecording process. - It starts Silero voice activity detection.
- When it detects that speech has ended, it use
curlto send the WAV to an OpenAI-compatible server (in my case, Speaches with theSystran/faster-whisper-base.enmodel) for transcription, along with a prompt to try to influence the recognition. - It compares the result with the candidates using
string-distancefor an approximate match. It calls the code to move the current item to the right category, creating the category if needed.
Since this doesn't always result in the right match, I added an Undo command. I also have a Delete command for removing the current item, Scroll Up and Scroll Down, and a way to quit.
Initial thoughts
I used it to categorize lots of links in this week's Emacs News, and I think it's promising. I loved the way my hands didn't have to hover over the number keys or move between those and the characters. Using voice activity detection meant that I could just keep dictating categories instead of pressing keyboard shortcuts or using the foot pedal I recently dusted off. There's a slight delay, of course, but I think it's worth it. If this settles down and becomes a solid part of my workflow, I might even be able to knit or hand-sew while doing this step, or simply do some stretching exercises.
What about using streaming speech recognition? I've written some code to use streaming speech recognition, but the performance wasn't good enough when I tried it on my laptop (Lenovo P52 released in 2018, no configured GPU under Linux). The streaming server dropped audio segments in order to try to catch up. I'd rather have everything transcribed at the level of the model I want, even if I have to wait a little while. I also tried using the Web Speech API in Google Chrome for real-time speech transcription, but it's a little finicky. I'm happy with the performance I get from either manually queueing speech segments or using VAD and then using batch speech recognition with a model that's kept in memory (which is why I use a local server instead of a command-line tool). Come to think of it, I should try this with a higher-quality model like medium or large, just in case the latency turns out to be not that much more for this use case.
What about external voice control systems like Talon Voice or Cursorless? They seem like neat ideas and lots of people use them. I think hacking something into Emacs with full access to its internals could be lots of fun too.
A lot of people have experimented with voice input for Emacs over the years. It could be fun to pick up ideas for commands and grammars. Some examples:
- Using Python to Code by Voice - YouTube (2013)
- jgarvin/mandimus: Use speech recognition to command your computer and Emacs. · GitHub
- ErikPrantare/cursorfree.el: Edit and navigate from anywhere in the buffer · GitHub
- ~lepisma/emacs-speech-input - uses the idea of a voice cursor, uses an LLM to execute editing instructions
What about automating myself out of this loop? I've considered training a classifier or sending the list to a large language model to categorize links in order to set more reasonable defaults, but I think I'd still want manual control, since the fun is in getting a sense of all the cool things that people are tinkering around with in the Emacs community. I found that with voice control, it was easier for me to say the category than to look for the category it suggested and then say "Okay" to accept the default. If I display the suggested category in a buffer with very large text (and possibly category-specific background colours), then I can quickly glance at it or use my peripheral vision. But yeah, it's probably easier to look at a page and say "Org Mode" than to look at the page, look at the default text, see if it matches Org Mode, and then say okay if it is.
Ideas for next steps
I wonder how to line up several categories. I could probably rattle off a few without waiting for the next one to load, and just pause when I'm not sure. Maybe while there's a reasonably good match within the first 1-3 words, I'll take candidates from the front of the queue. Or I could delimit it with another easily-recognized word, like "next".
I want to make a more synchronous version of this idea so that I can have a speech-enabled drop-in replacement that I can use as my
y-or-n-pwhile still being able to typeyorn. This probably involves usingsit-forand polling to see if it's done. And then I can use that to play Twenty Questions, but also to do more serious stuff. It would also be nice to have replacements forread-stringandcompleting-read, since those block Emacs until the user enters something.I might take a side-trip into a conversational interface for M-x doctor and M-x dunnet, because why not. Naturally, it also makes sense to voice-enable agent-shell and gptel interactions.
I'd like to figure out a number- or word-based completion mechanism so that I can control Reddit link replacement as well, since I want to select from a list of links from the page. Maybe something similar to the way voicemacs adds numbers to helm and company or how flexi-choose.el works.
I'm also thinking about how I can shift seamlessly between typing and speaking, like when I want to edit a link title. Maybe I can check if I'm in the minibuffer and what kind of minibuffer I'm in, perhaps like the way Embark does.
It would be really cool to define speech commands by reusing the keymap structure that menus also use. This is how to define a menu in Emacs Lisp:
(easy-menu-define words-menu global-map "Menu for word navigation commands." '("Words" ["Forward word" forward-word] ["Backward word" backward-word]))and this is how to set just one binding:
(keymap-set-after my-menu "<drink>" '("Drink" . drink-command) 'eat)That makes sense to reuse for speech commands. I'd also like to be able to specify aliases while hiding them or collapsing them for a "What can I say" help view… Also, if keymaps work, then maybe minor modes or transient maps could work? This sort of feels like it should be the voice equivalent of a transient map.
The code so far
(defun my-emacs-news-categorize-with-voice (&optional skip-browse) (interactive (list current-prefix-arg)) (unless skip-browse (my-spookfox-browse)) (speech-input-cancel-recording) (let ((default (if (fboundp 'my-emacs-news-guess-category) (my-emacs-news-guess-category)))) (speech-input-from-list (if default (format "Category (%s): " default) "Category: ") '(("Org Mode" "Org" "Org Mode") "Other" "Emacs Lisp" "Coding" ("Emacs configuration" "Config" "Configuration") ("Appearance" "Appearance") ("Default" "Okay" "Default") "Community" "AI" "Writing" ("Reddit" "Read it" "Reddit") "Shells" "Navigation" "Fun" ("Dired" "Directory" "Dir ed") ("Mail, news, and chat" "News" "Mail" "Chat") "Multimedia" "Scroll down" "Scroll up" "Web" "Delete" "Skip" "Undo" ("Quit" "Quit" "Cancel" "All done")) (lambda (result text) (message "Recognized %s original %s" result text) (pcase result ("Undo" (undo) (my-emacs-news-categorize-with-voice t)) ("Skip" (forward-line) (my-emacs-news-categorize-with-voice)) ("Quit" (message "All done.") (speech-input-cancel-recording)) ("Reddit" (my-emacs-news-replace-reddit-link) (my-emacs-news-categorize-with-voice t)) ("Scroll down" (my-spookfox-scroll-down) (my-emacs-news-categorize-with-voice t)) ("Scroll up" (my-spookfox-scroll-up) (my-emacs-news-categorize-with-voice t)) ("Delete" (delete-line) (undo-boundary) (my-emacs-news-categorize-with-voice)) ("Default" (my-org-move-current-item-to-category (concat default ":")) (undo-boundary) (my-emacs-news-categorize-with-voice)) (_ (my-org-move-current-item-to-category (concat result ":")) (undo-boundary) (my-emacs-news-categorize-with-voice)))) t)))It uses Spookfox to control Firefox from Emacs:
(defun my-spookfox-scroll-down () (interactive) (spookfox-js-injection-eval-in-active-tab "window.scrollBy(0, document.documentElement.clientHeight);" t)) (defun my-spookfox-scroll-up () (interactive) (spookfox-js-injection-eval-in-active-tab "window.scrollBy(0, -document.documentElement.clientHeight);"))(defun my-spookfox-background-tab (url &rest args) "Open URL as a background tab." (if spookfox--connected-clients (spookfox-tabs--request (cl-first spookfox--connected-clients) "OPEN_TAB" `(:url ,url)) (browse-url url)))It also uses these functions for categorizing Org Mode items:
(defun my-org-move-current-item-to-category (category) "Move current list item under CATEGORY earlier in the list. CATEGORY can be a string or a list of the form (text indent regexp). Point should be on the next line to process, even if a new category has been inserted." (interactive (list (completing-read "Category: " (my-org-get-list-categories)))) (when category (let* ((col (current-column)) (item (point-at-bol)) (struct (org-list-struct)) (category-text (if (stringp category) category (elt category 0))) (category-indent (if (stringp category) 2 (+ 2 (elt category 1)))) (category-regexp (if (stringp category) category (elt category 2))) (end (elt (car (last struct)) 6)) (pos (point)) s) (setq s (org-remove-indentation (buffer-substring-no-properties item (org-list-get-item-end item struct)))) (save-excursion (if (string= category-text "x") (org-list-send-item item 'delete struct) (goto-char (caar struct)) (if (re-search-forward (concat "^ *- +" category-regexp) end t) (progn ;; needs a patch to ol.el to check if stringp (org-list-send-item item (point-at-bol) struct) (org-move-item-down) (org-indent-item)) (goto-char end) (org-list-insert-item (point-at-bol) struct (org-list-prevs-alist struct)) (let ((old-struct (copy-tree struct))) (org-list-set-ind (point-at-bol) struct 0) (org-list-struct-fix-bul struct (org-list-prevs-alist struct)) (org-list-struct-apply-struct struct old-struct)) (goto-char (point-at-eol)) (insert category-text) (org-list-send-item item 'end struct) (org-indent-item) (org-indent-item)) (recenter)))))) (defun my-org-guess-list-category (&optional categories) (interactive) (require 'cl-lib) (unless categories (setq categories (my-helm-org-list-categories-init-candidates))) (let* ((beg (line-beginning-position)) (end (line-end-position)) (string (buffer-substring-no-properties beg end)) (found (cl-member string categories :test (lambda (string cat-entry) (unless (string= (car cat-entry) "x") (string-match (regexp-quote (downcase (car cat-entry))) string)))))) (when (car found) (my-org-move-current-item-to-category (cdr (car found))) t)))For the
speech-inputfunctions, experimental code is at https://codeberg.org/sachac/speech-input .You can comment on Mastodon or e-mail me at sacha@sachachua.com.
-
- March 23, 2026
-
🔗 IDA Plugin Updates IDA Plugin Updates on 2026-03-23 rss
IDA Plugin Updates on 2026-03-23
New Releases:
Activity:
- binsync
- 7baac887: Add diff display when hovering over function diffs in Compare with Co…
- fifam
- 3ec7a288: add more attributes for Cities and Regions; struct_updater plugin
- ida-cyberchef
- 8bd725ba: mark JWT sign/verify as unsupported due to crypto KeyObject API
- dc22ef65: test: fix test vectors for CyberChef v10.22.1 upstream changes
- df40c4de: test: stabilize worktree test runs
- 393179f0: rebuild CyberChef bundle from updated submodule
- 4d3a9630: update CyberChef submodule to upstream v10.22.1, remove stale patch file
- 1ba3d912: Merge pull request #40 from HexRaysSA/copilot/clear-stale-previews-er…
- ca89c06d: Merge branch 'main' into copilot/clear-stale-previews-errors
- de37ac53: Merge pull request #41 from HexRaysSA/copilot/preserve-user-output-di…
- a3034963: Merge pull request #37 from HexRaysSA/copilot/centralize-cyberchef-sc…
- 93473e16: Merge pull request #42 from HexRaysSA/copilot/clear-external-input-state
- 324f2b85: test: use real execution paths in stale state tests
- dd5ec8ac: test: remove fake execution model coverage
- ccf2f853: Use real models in output panel tests
- 2e4ec2f9: Fix schema adapter test regressions
- 85cbf07a: Merge origin/main into selection fix branch
- 24828b08: test: relocate recipe panel regressions
- 24f22b78: Merge pull request #38 from HexRaysSA/copilot/add-hex-view-selection-…
- d78afe48: test: move stale state coverage out of recipe panel file
- 083b7342: Remove standalone plugin selection test file
- de2672fb: Polish shared schema adapter integration
- ida-domain
- idafridascript
- 12d7e8d0: feat(install): :sparkles: Support hcli command ins
- mcrit-plugin
- 5ad6b8c6: Merge pull request #5 from r0ny123/batch1-fixes
- pharos
- 33f84840: Merge pull request #299 from cmu-sei/update-actions
- 9ab5d69d: Update github actions
- d6a5b68a: Merge pull request #297 from cmu-sei/rm-docker-hub
- b28fb691: Merge pull request #298 from cmu-sei/push-docker-hub
- 178b05ff: Push images to docker hub
- 9b629c22: Update Docker image references in INSTALL.md
- playlist
- 0d7877b7: MC Moon Cave
- python-elpida_core.py
- recover
- binsync
-
🔗 r/wiesbaden Sie im Liliencarré rss
Hey,
heute ist mir eine hübsche Frau mit roten Strähnen im Haar und einem sympathischen Lächeln im Liliencarré entgegengekommen. Wir haben uns kurz angesehen und gelächelt.
Ich weiß nicht, ob Sie sich an den Moment erinnern wird, aber Ihr Lächeln hat mir den Tag gerettet.
Deshalb möchte ich mich mit diesen Zeilen bei Dir dafür bedanken.
Vielleicht sieht man sich ja nochmal.
Liebe Grüße von dem
Mann in der fliederfarbenen Jacke
submitted by /u/wie_throwaway
[link] [comments] -
🔗 r/reverseengineering We got Skype to log in - One major step in figuring out the popular 2000s IM client rss
submitted by /u/Gullible_Injury7023
[link] [comments] -
🔗 r/LocalLLaMA RYS II - Repeated layers with Qwen3.5 27B and some hints at a 'Universal Language' rss
| So, I've had my H100s grind for you all, and have some interesting new results AND fresh models! So, what did I find? Well because my blog article are too damn long (I know some of you are not reading the whole thing...), here is a TL;DR :- I found that LLMs seem to think in a universal language. During the middle layers, the models latent representations are more similar on the same content in Chinese and English than different content in the same language.
- I tried a bunch of different stuff, but in the end, repeating blocks in the middle of the transformer stack works the best.
- You should still read the blog: https://dnhkng.github.io/posts/rys-ii/
If you still didnt read the blog, well, I guess you can just try the models? https://huggingface.co/dnhkng/RYS-Qwen3.5-27B-FP8-S https://huggingface.co/dnhkng/RYS-Qwen3.5-27B-FP8-M https://huggingface.co/dnhkng/RYS-Qwen3.5-27B-FP8-L https://huggingface.co/dnhkng/RYS-Qwen3.5-27B-FP8-XL Wen GGUF? When someone GGUF's them I guess? When you repeat layers, you benefit a lot from fine tuning. I expect the first team to fine tune RYS-Qwen3.5-27B-FP8-XL will have a new SOTA for that size range. Lastly, Ive been chatting with TurboDerp; hopefully we can get this into a new format where you can keep the duplicated later as copies, and not use more VRAM (except for the KV cache). S tay tuned! submitted by /u/Reddactor
[link] [comments]
---|--- -
🔗 apple/embedding-atlas v0.19.0 release
New Features
- Audio data support: in the tooltip / instances view, audio data can be shown as a audio player.
What's Changed
- test: update python deps and initial pytest setup for backend folder by @donghaoren in #173
- feat: special color for 0 in counts by @domoritz in #178
- ci: update versions of ci packages by @domoritz in #176
- feat: support audio data with a audio player by @donghaoren in #179
- chore: bump version to 0.19.0 by @donghaoren in #180
- fix: valueKind function doesn't handle null values by @donghaoren in #181
Full Changelog :
v0.18.1...v0.19.0 -
🔗 r/wiesbaden Love the city rss
Wiesbaden is a really cool city ... I'm surprised and love how it's designed and the people..it's very serene and charming ..I thought first it's pretty but boring but now I'm amazed..
submitted by /u/Single_Lunch_5671
[link] [comments] -
🔗 r/york Looking for jewellers for valuations rss
Hi everyone,
I’m looking for jewellers in and around York who do valuations of pieces (and possibly do insurance reports, depending on valuations) for some pieces I’ve inherited lately after the death of some relatives
Any suggestions/experiences/thoughts are greatly appreciated
Thanks!!
submitted by /u/Space-cowboy1995
[link] [comments] -
🔗 r/reverseengineering I built an FPGA reimplementation of the 3dfx Voodoo 1 rss
submitted by /u/r_retrohacking_mod2
[link] [comments] -
🔗 r/reverseengineering TIL you can detect a UEFI bootkit from usermode by just asking it nicely rss
submitted by /u/SapDragons
[link] [comments] -
🔗 @HexRaysSA@infosec.exchange We'll be at the RSA this week! mastodon
We'll be at the RSA this week!
If you want to talk about VR, AI, malware, and what’s on the IDA roadmap, book some time with us.
👉 https://meetings-eu1.hubspot.com/chris-hernandez -
🔗 r/LocalLLaMA China's open-source dominance threatens US AI lead, US advisory body warns rss
| submitted by /u/Prolapse_to_Brolapse
[link] [comments]
---|--- -
🔗 r/reverseengineering Using local LLM and Ghidra to analyze malware (Part 2) rss
submitted by /u/moonlightelite
[link] [comments] -
🔗 r/Yorkshire Stargazing and astrophotography experiences in Yorkshire rss
Can anyone recommend some great places to spend the night (not camping, actual rooms) in the Yorkshire Dales / Peak District or North Yorkshire Moors where the skies are really dark and you can stargaze with a telescope and try some astro photography? Looking to gift an experience to my partner for his birthday. Particularly interested in guided experiences if possible at all :)
submitted by /u/Sajola_91
[link] [comments] -
🔗 sacha chua :: living an awesome life 2026-03-23 Emacs news rss
: Removed elecxzy comment-dwim, whoops.
Might be a good opportunity to set up better auto-saves, with buffer-guardian.el inspiring an update to super-save 0.5. Also, there were a couple of interesting experiments embedding Chromium (Reddit) or native macOS views in Emacs (Reddit), and one about embedding Emacs in a webpage (Reddit).
- Upcoming events (iCal file, Org):
- Emacs Berlin: Emacs-Berlin Hybrid Meetup https://emacs-berlin.org/ Wed Mar 25 1100 America/Vancouver - 1300 America/Chicago - 1400 America/Toronto - 1800 Etc/GMT - 1900 Europe/Berlin - 2330 Asia/Kolkata – Thu Mar 26 0200 Asia/Singapore
- Emacs APAC: Emacs APAC meetup (virtual) https://emacs-apac.gitlab.io/announcements/ Sat Mar 28 0130 America/Vancouver - 0330 America/Chicago - 0430 America/Toronto - 0830 Etc/GMT - 0930 Europe/Berlin - 1400 Asia/Kolkata - 1630 Asia/Singapore
- EmacsATX: Emacs Social https://www.meetup.com/emacsatx/events/313720093/ Thu Apr 2 1600 America/Vancouver - 1800 America/Chicago - 1900 America/Toronto - 2300 Etc/GMT – Fri Apr 3 0100 Europe/Berlin - 0430 Asia/Kolkata - 0700 Asia/Singapore
- M-x Research: TBA https://m-x-research.github.io/ Fri Apr 3 0800 America/Vancouver - 1000 America/Chicago - 1100 America/Toronto - 1500 Etc/GMT - 1700 Europe/Berlin - 2030 Asia/Kolkata - 2300 Asia/Singapore
- Emacs configuration:
- Emacs Lisp:
- elisp-2025/el-xeger.el (Reddit)- generate text from a regex
- [20] Working on Canvas Patch (Contd..) - 3/22/2026, 2:31:11 PM - Dyne.org TV
- Writing:
- Appearance:
- Navigation:
- Dired:
- Org Mode:
- Which org-related packages do you use?
- Taking Notes With Emacs Org Mode (It's Easy!) (15:35)
- Reading your Emacs notes on-the-go, minimally. (12:07, (Reddit)
- Srijan Choudhary: 2026-03-18-001: move Org heading title into body
- Resilient Technologies. Why Decades-Old Tools Define the ROOT of Modern Research Data Management — Workshop Documents (@lukascbossert@mastodon.social)
- Coding:
- aspiers/madolt: magit-like emacs mode for dolt · GitHub (Reddit)
- Emacs VC-mode in action (01:34)
- Projeto Omega - Cifra de Cesar (Emacs+Magit) (14:39)
- Lycomedes1814/temme-mode: A rewrite of emmet-mode for Emacs, aiming for a clean and modern codebase · GitHub (Reddit)
- Emacs Redux: surround.el: Vim-Style Pair Editing Comes to Emacs (Irreal)
- Emacs Redux: Tree-sitter Font-Lock and Indentation in Comint Buffers
- Tip about using python-indent-def-block-scale - mutliplier applied to indentation
- Einar Mostad: Use virtual environment in Emacs' Python Mode if in a project with a venv
- Monday Live Coding with Emacs. 3/16/2026 #coding #livecoding #emacs #learnc (01:16:08)
- Mail, news, and chat:
- Multimedia:
- Fun:
- AI:
- Agile & Coding: The tools of an Agentic Engineer (Reddit)
- jlouisbiz/rcd-mcp-emacs-documentation: get_documentation, list_functions_by_prefix, search_functions, rcd_elisp_function_definition
- MCP for Emacs - Improve your notes with ORG MODE 🦄 (10:27)
- agent-shell-notifications released! (Reddit)
- Jeremias-A-Queiroz/emacs-gptel-slim-tools: leverage etags for precise code fragment extraction (Reddit)
- Fritz Grabo:
acp2ollamain Emacs for fun and profit - James Dyer: Ollama Buddy - Seven Lines to Any LLM Provider
- Community:
- Shells:
- Other:
- buffer-terminator.el - safely auto terminate buffers for performance and reduced clutter [Release 1.2.1] (Reddit)
- James Cherti: buffer-guardian.el – Automatically Save Emacs Buffers Without Manual Intervention (When Buffers Lose Focus, Regularly, or After Emacs is Idle) (Reddit, Irreal)
- super-save 0.5: Modernized and Better Than Ever (Reddit)
- Much Ado About Emacs 012: kirigami, visible-mark, javelin, opml, appine, buffer-guardian, isearch-lazy-count, markdown-table-wrap, surround
- chaoswork/appine: embed native macOS views (WebKit, PDFKit etc.) directly inside Emacs windows. · GitHub (Reddit)
- emacs-os/embr.el: Emacs is the display server. Headless Chromium via CloakBrowser is the renderer. · GitHub (Reddit)
- Why fork+exec Takes 100ms on My Mac: Debugging Slow Emacs with Instruments (Reddit)
- exlee/emacs-reporter: Emacs data collector for macOS · GitHub (Reddit)
- Emacs development:
- emacs-devel:
- Re: MacOS/NS Events Processing Queue - Przemysław Kamiński - VM compacting patch in case anyone wants to try it out
- Re: Tree-sitter: Correctly parsing template-like embeddings - Yuan Fu - trade-offs for performance?
- Re: feature/igc3 44f854bad09 2/5: Avoid remote references in face cache (analogous to bug#80601) - Eli Zaretskii - challenges with igc branch
- Re: some Eglot-related options to consider for newcomers-presets - João Távora - language servers and newcomers-presets?
- (Fmakunbound): Break aliasing, if present (bug#80538)
- hideshow: Fix 'hs-hide-block-behavior' set to 'after-cursor'.
- hideshow: New minor mode 'hs-indentation-mode'. (Bug#80179)
- emacs-devel:
- New packages:
- async-http-queue: Async HTTP queue with parallel fetching (MELPA)
- consult-symbol: Consult-based symbol search with narrowing (MELPA)
- flymake-zizmor: Flymake backend for zizmor, a Github Actions static analyzer (MELPA)
- org-snitch: Project-specific org-capture and link faces (MELPA)
- org-tag-cloud: Easily maintain a tag-cloud of org-mode tags (MELPA)
- tiles: Tagged Instant Lightweight Emacs Snippets (MELPA)
Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!
You can comment on Mastodon or e-mail me at sacha@sachachua.com.
- Upcoming events (iCal file, Org):
-
🔗 r/Leeds Leeds Goes Purple! rss
Starting Friday Litter Free Leeds is having its annual event where we try to get everyone involved filling purple bags with rubbish. If you want to join follow the link and find groups and events in your area.
https://litterfreeleeds.co.uk/leeds-goes-purple
submitted by /u/nfurnoh
[link] [comments] -
🔗 r/LocalLLaMA The current state of the Chinese LLMs scene rss
This is a summary of what's going on in Chinese LLM scene based on my own research. If you find any errors, please let me know.
The Big Boys:
- ByteDance: dola-seed (aka doubao) is the current market leader in proprietary LLM. It plays a role like OpenAI. They have an Seed OSS 36B model that is a solid dense model but seems like no one is talking about it. They have a proprietary Seedance T2V model that is now the most popular video gen app for lay people.
- Alibaba - Not many people uses its properitary model Qwen Max. It is the strongest in its open weight offering especially the small models. It is also strongest in T2I and T2V scene but this is off topic.
- Tencent - Hunyuan is their proprietary model but not many people use. Their T2I, T2V effort is second to Alibaba. They are the leader in 3D mesh generation with Hunyuan 3D but this model is only open weight up to 2.1.
- Baidu - Ernie is proprietary but not many people use. Baidu is stronger in the autonomous driving scene but that's off topic here.
- Xiaomi - Mimo V2 Pro is their proprietary model while the Mimo V2 Flash 309B-A15B is their open weight model.
- Ant Group - Ling 2.5 1T is their flagship open weight model. Seems to be outperformed by Kimi K2.5, so not many people are talking about it. It introduces something called Lightning LinearAttention, does anyone know the paper describing it?
- RedNote - Flagship open weight model is dots.vlm1 which is a derivative of DeepSeek with vision. They also have a smaller vanilla MoE called dots.llm1 which is 142B-A14B. Seems like the performance of their models are not that impressive, so not many people are using it.
- Kuaishou - The lesser known domestic competitor to ByteDance in the short video space. Their focus is in coding models. Flagship is proprietary KAT-Coder-Pro-V1. They also have a 72B open weight coding model called KAT-Dev-72B-Exp. Don't know why no one is talking about it here.
- Meituan - LongCat-Flash-Chat is an open weight 562B model with dynamic MoE that activates 18.6B~31.3B. It also has a lite version that is 65B-A3B. Attention mechanism is MLA. Seems like they are the most aggressive open weight player now but they are more like the Middle Boy instead of Big.
The Side Project:
- Deepseek - a side project from an algorithmic trading firm. Current usage in China is a close second to ByteDance's doubao with half of the users. Interestingly, it is the most innovative among all Chinese LLM companies as it invented MLA,, DSA, GRPO, etc. Please let me know if there are other non-obvious tech that is used in actual product that is developed by other Chinese companies. Their business model might be similar to the Six Small Tigers but it seems to me this project is more for attracting investments to the investment arm and gaining access to President Xi.
The Six AI Small Tigers: (business models are highly similar. Release big open weight model to gain recognition and provide cheap inference service. Not sure if any of them is viable for the long term.)
- Zhipu - IPOed in HK. Current GLM-5 is a derivate of DeepSeek.
- Minimax - IPOed in HK. They have a MiniMax 2.7 proprietary model. MiniMax 2.5 is their open weight model which is a vanilla MoE 229B-A10B. So its inference cost is significantly lower than the others.
- Moonshot - Kimi open weight model which is a derivative of DeepSeek
- Stepfun - Step 3.5 flash is their open weight model that is a mixture of full attn and sliding window attention (SWA) layers at 1:3. It is 196B-A11B. Similar business model to Minimax but their model is not as good.
- Baichuan - Their Baichuan-M3 235B is a medical enhanced open weight model based on Qwen3Moe.
- 01 AI - Yi-34B is their last open weight model published in Nov 2024. They seem to focus on Enterprise AI agent system now, so they are becoming irrelevant to people here.
Government Funded:
- Beijing Academy of AI (BAAI) - most famous for its bge embedding model. Recently started to release a DeepSeek derivative called OpenSeek-Small-v1. In general, they are not an LLM focused lab.
- Shanghai AI Lab - The original team was from a big facial recognition company called Sense Time. Since their LLM project was burning too much money, Sense Time founder managed to find the Chinese government to setup Shanghai AI Lab with a lot of governmental funding for the team. Their flagship is the open weight InterLM-S1-Pro. They seem to have a bad rep at Zhihu (the Chinese quora). Not many people talk about it here. Are their models any good?
submitted by /u/Ok_Warning2146
[link] [comments] -
🔗 r/LocalLLaMA Let's take a moment to appreciate the present, when this sub is still full of human content. rss
It's going down guys, day by day.
submitted by /u/Ok-Internal9317
[link] [comments] -
🔗 r/Leeds Leeds “New Town” as part of South Bank development rss
20,000 new homes, 40% to be affordable. Whilst I applaud the intent that’s a lot of houses for what is still a relatively small footprint so not really going to be the family homes needed in big blocks of high rises.
But hey, at least they won’t be student lets, this time!
submitted by /u/zharrt
[link] [comments] -
🔗 r/Leeds First Direct Arena - Greg Davies rss
what a fantastic night we had on Sunday 😁
Greg is so damn funny, his show was on point and his warm up act, really good too.
ended up sitting in the "Gods", 3 rows from the roof of the building itself. this section should have its own postcode.
really tempted by the upcoming Prodigy and Carl Cox show, but will definitely buy tickets for a much lower tier!
dont get me started on the price's of drinks 😮💨
overall a fantastic night, and if you are a fan of Greg, the show is worth the cost.
good job there is a Spoons nearby
submitted by /u/migoodridge
[link] [comments] -
🔗 backnotprop/plannotator v0.14.5 release
Follow @plannotator on X for updates
Missed recent releases? Release | Highlights
---|---
v0.14.4 | GitHub review submission, repo identifier in tab title, nested code fence parser fix, Pi paste URL wiring, file header gap fix
v0.14.3 | PR context panel, diff search in code review, OpenCode permission normalization, landing page redesign
v0.14.2 | OpenCode plan mode prompt replacement, Windows non-ASCII path fix, Pi link fix
v0.14.1 | Single submit_plan with auto-detect, viewed-file draft persistence, Bear nested tag fix
v0.14.0 | PR review via GitHub URL,/plannotator-lastfor annotating agent messages, OpenCode plan mode permissions fix, VS Code SSH proxy fix
v0.13.1 | OpenCode plan mode rewrite, Obsidian save fix
v0.13.0 | Built-in themes, annotatable plan diffs, file-scoped code review comments, Octarine integration, unified review core, Pi remote sessions
v0.12.0 | Quick annotation labels, mobile compatibility, Graphviz rendering, markdown images with lightbox, linked doc navigation in annotate mode
v0.11.4 | Git add from code review, bidirectional scroll navigation, clipboard paste for annotation images, VS Code IPC port stability
v0.11.3 | Expandable diff context, hierarchical folder tree, redesigned worktree controls, supply chain hardening
v0.11.2 | Git worktree support in code review, VS Code editor annotations in review, Obsidian auto-save & separator settings, session discovery, smart file resolution
What's New in v0.14.5
v0.14.5 adds GitLab merge request review support, bringing Plannotator's code review UI to a second hosting platform. Two community bug fixes round out the release. 3 PRs, 2 from external contributors, 1 first-time.
GitLab Merge Request Review
Plannotator can now review GitLab merge requests alongside GitHub PRs. Pass any GitLab MR URL to the review command and it works the same way: diff viewer, annotations, feedback submission, and the new PR context panel (summary, comments, pipeline status).
The platform is auto-detected from the URL.
github.comroutes throughgh, and any URL containing/-/merge_requests/routes throughglab. Self-hosted GitLab instances are supported via the--hostnameflag.Under the hood, the existing GitHub implementation was extracted to
packages/shared/pr-github.ts, and a parallelpr-gitlab.tshandlesglabCLI interactions. The dispatch layer inpr-provider.tsroutes by platform. ThePRRefandPRMetadatatypes are now discriminated unions that carry the platform context throughout the stack.GitLab's API surface differs from GitHub's in several ways that required specific handling.
glab mr diffoutputs bare diffs without thediff --gitprefix, so the output is normalized before parsing.glabhas no--jqflag, so JSON responses are parsed in full. Review submission requires three separate API calls (note, discussions, approve) rather than GitHub's single atomic endpoint, with inline comments submitted in parallel usingPromise.allSettledfor partial failure resilience.The UI adapts to the platform: labels switch between PR/MR, icons between GitHub/GitLab, and issue number prefixes between
#and!.Annotate-Last Session Resolution After cd
/plannotator-lastsilently annotated the wrong message when a user changed directories during a Claude Code session. The command resolves the current session by matchingprocess.cwd()against Claude Code's project slug, but after acdthe CWD no longer matches the session's original directory. The result: it finds a stale session from a previous day and opens that session's last message with no warning.The fix introduces three-tier session resolution. First, it checks for PPID- based session metadata that Claude Code writes to
~/.claude/sessions/. If that's not available, it falls back to CWD-based slug matching, then to a recency heuristic. The PPID path is the most reliable because it ties directly to the running Claude Code process regardless of the shell's current directory.This is a Claude Code-only bug. Codex uses
CODEX_THREAD_ID, OpenCode and Pi use their SDK APIs, and none of them resolve sessions via CWD.Additional Changes
- Fix duplicate Code Review header in Pi extension — the Pi extension's review command handler wrapped feedback in a
# Code Review Feedbackheading, butexportReviewFeedback()already includes that heading. The duplicate is removed, and two tests verify single-heading output. By @dmmulroy in #370.
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: Run
/pluginin Claude Code, find plannotator , and click "Update now".OpenCode: Clear cache and restart:
rm -rf ~/.bun/install/cache/@plannotatorThen in
opencode.json:{ "plugin": ["@plannotator/opencode@latest"] }Pi: Install or update the extension:
pi install npm:@plannotator/pi-extension
What's Changed
- feat: GitLab merge request review support by @backnotprop in #364
- fix: annotate-last resolves wrong session after cd by @janah01 in #366
- fix: remove duplicate 'Code Review' header in pi extension review feedback by @dmmulroy in #370
New Contributors
Contributors
@janah01 identified and fixed a subtle session resolution bug in
/plannotator-lastthat caused it to silently annotate the wrong message aftercd-ing during a Claude Code session. The three-tier resolution strategy in #366 ensures the command finds the correct session regardless of the shell's current directory.@dmmulroy fixed the duplicate heading in Pi extension review feedback in #370, his second contribution after wiring the paste URL in v0.14.4.
Full Changelog :
v0.14.4...v0.14.5 - Fix duplicate Code Review header in Pi extension — the Pi extension's review command handler wrapped feedback in a
-
🔗 r/reverseengineering /r/ReverseEngineering's Weekly Questions Thread rss
To reduce the amount of noise from questions, we have disabled self-posts in favor of a unified questions thread every week. Feel free to ask any question about reverse engineering here. If your question is about how to use a specific tool, or is specific to some particular target, you will have better luck on the Reverse Engineering StackExchange. See also /r/AskReverseEngineering.
submitted by /u/AutoModerator
[link] [comments] -
🔗 r/LocalLLaMA So cursor admits that Kimi K2.5 is the best open source model rss
| Nothing speaks louder than recognition from your peers. submitted by /u/Giveawayforusa
[link] [comments]
---|--- -
🔗 r/LocalLLaMA I came from Data Engineering stuff before jumping into LLM stuff, i am surprised that many people in this space never heard Elastic/OpenSearch rss
| Jokes aside, on a technical level, Google/brave search and vector stores basically work in a very similar way. The main difference is scale. From an LLM point of view, both fall under RAG. You can even ignore embedding models entirely and just use TF-IDF or BM25. Elastic and OpenSearch (and technically Lucene) are powerhouses when it comes to this kind of retrieval. You can also enable a small BERT model as a vector embedding, around 100 MB (FP32), running in on CPU, within either Elastic or OpenSearch. If your document set is relatively small (under ~10K) and has good variance, a small BERT model can handle the task well, or you can even skip embeddings entirely. For deeper semantic similarity or closely related documents, more powerful embedding models are usually the go to. submitted by /u/Altruistic_Heat_9531
[link] [comments]
---|---
-